blogstrapping

That Makes Five Programming Articles at TR

As of this weekend, since I have started writing articles for TechRepublic's Programming and Development column, TR has published five of my programming articles, at a rate of about two per month. TechRepublic gets twice as many articles for the Open Source column from me, and twice as many as that for the IT Security column, as part of my regular gig writing TechRepublic articles. There are certainly times that I wish the balance were different -- that, perhaps, I wrote four articles per month for each of the three columns, rather than eight for one, four for another, and two of the last. On the other hand, writing eight a month is probably a de facto requirement to keep my name on the top of the IT Security column, which might be a little more of a professional boost for me than if I'm "just another name".

Regardless, I am pretty pleased to get to write about my thoughts regarding programming for actual money, even if it is not a lot of money. So far, the articles in the P&D column appear to have been well-received. They include:

This article starts with a dead-simple Hello World example in Ruby, then progresses through four more examples, each of them using more of the language, as a means of demonstrating and an opportunity for explaining some basic features of the language.

This article points out that doing helps with learning, and offers some ideas for how to find small projects and automation tasks to pursue so that the nascent programmer can gradually build development skill and experience.

This article sparked a little bit of controversy, as I had thought it might. It is a less than perfectly flattering view of C++, mostly from the outside, and what makes it succeed (or not) in terms of popularity. My immediately previous blogstrapping entry, C++ Skepticism, Not Hating was a response to someone else's lengthy disagreement with my Skeptic's history.

This article explains the basics of writing filter programs in the Bourne shell, Perl, and Ruby. It serves in some ways as a follow-up to Learn by doing, which suggests writing small filter utilities on a Unix-like system as a way to practice the basics of the programming craft in a quick, easy, simple, and useful way.

Note that the titles listed here may not exactly match up to the titles on TechRepublic. The latter are subject to editorial alteration, and I tend to like to link to them via titles I like rather than those the editors like.

In the long run, I would like a nontrivial part of my contribution to the P&D column to serve as a set of useful ideas, guidelines, and simple tutorials for the programming autodidact to use to improve his or her coding (and other software development) skills. I will probably write a couple more articles relating specifically to different approaches to early programming practice that were mentioned in the Learn by doing article.

Another article that I have submitted, but has not yet been published as of this writing, presents some basics of the Io language as a way to introduce programmers to prototype-based object oriented programming. JavaScript, as the article mentions, is a more popularly used prototype-based language, though many people who actually use JavaScript semi-regularly never really make use of the prototype-based object model to any notable degree.

I'm considering whether to write articles about subjects like Blowfish encryption and decryption with Io, or OpenPGP encryption, decryption, and signing with Ruby, for the P&D column or the IT Security column. I could even conceivably write such articles for the Open Source column, though that seems like the least suitable of the three at this time.

Blogstrapping has been live about as long as I have been writing for TechRepublic's P&D column. As of this entry, I have three times as many pieces of writing here as in TR's P&D column, and some of them could even have been written differently to be suitable for publication at TR. I guess I have more to write about programming than TechRepublic will pay me to write.