I started this blog in October 2007 and have written hundreds of posts with a few that I'm particularly proud of and/or that have been particularly well received. Besides my own blog posts, I read many blog posts each week (particularly if highlighted on JavaWorld, Java.net, or DZone). Over the many years I have been reading software development blogs, I have read many useful and informative blogs and written a few that I like to think fit in the same category. However, five blog posts stick out in my memory as so effective that I wish I had written them; I briefly reference and describe those five here and explain the reasons I wish I had written them.
All of these posts share at least one common trait: they are linked to and referenced from my blog multiple times.
I Couldn't Have Said It Better Myself
I was contemplating writing a blog post about too much simplicity not being a good thing (similar to my post about flexibility being turned from good to bad when applied in excess) when I ran across the post Simplicity is Complicated. As I read this post, I realized that there wasn't much more I could add to this, so I didn't try. Of all the posts on my list, this may be the one I most literally wish I had written.
Bucking the Trend with Substance and Being Correct
Today, EJB's 101 Damnations probably seems like nothing too new. At the time of its publication, however, it was one of those contrarian viewpoints I enjoy so much for challenging the establishment when a challenge is merited. The problem with some contrarian blog posts is that they lack substance behind the assertion that "such-and-such sucks." The "EJB's 101 Damnations" is full of detailed explanations that poke holes in the early problematic EJB specifications. EJB has come a long way, partly due to articles like this one (and also due to external forces such as the Spring Framework).
Changing the Industry
The blog post Ajax: A New Approach to Web Applications had exactly that effect: it ushered in a massive change in how many web applications were and are developed. Many developers have since claimed that they were using the same set of technologies or similar sets of technologies to do the same type of thing before this, but what Jesse James Garrett did with this post was to coin a catchy term and outline the basics and concepts of the approach in a manner that was readily accessibly to the masses. I wish I had written a post like this for purely selfish reasons: it would be something to have this type of effect on our industry. Garrett never claimed to have made up the approach of using existing technologies in such a way to make a more dynamic user experience. Indeed, he even cites two already existing examples (Google search engine's Suggest feature and Google Maps) right off from the start. He and his colleagues simply coined a term and wrote this introductory post that sped up the rate of adoption dramatically.
Tom Kyte's post Free Things I Use... is excellent because it pointed me to some products that have made my life much easier since then. He lists many tools he uses that are generally of interest to software developers and database administrators. I have seen similar posts by other authors since then, but this was the first one like this that I recall reading and being a beneficiary of. It's nice to have investment in reading of a particular blog post pay for itself many times over and my time reading this post several years ago has paid for itself over and over and over since then.
These are the types of posts I like to attempt to write most often. These are also the types of posts that motivated me to write that more software developers should write blogs. I have been aided countless times by blog posts and forum threads explaining why I was seeing a strange and unseemly exception or error message or unexplainable behavior. The one post that comes to mind, though, when thinking of a specific, focused post that has made a major difference in my understanding is Common E4X Pitfalls. When I was first learning and using Flex and E4X, I visited this post frequently. This is the type of post that truly epitomizes how software developers can help one another. While most of the information in this post is available in other sources, it's value includes the organization of it all in one location in a concise but thorough presentation. I often don't need blog posts that tell me how to do something (because of the many great how-tos and books already out there) as much as I need something warning me about what not to do or warning me about tricky, less advertised corners. Common E4X Pitfalls does just that for E4X.
There are, of course, hundreds of really good blog posts and thousands of good blog posts out there. There is no way that any developer can read even all of the "good" blog posts. Do you have a favorite blog post that you wish you had written or that you repeatedly reference or have bookmarked, or have even printed out to post near you? I'd love to learn about blog posts that have had this type of effect on fellow developers.