Archive for the ‘Rants’ category

Unobtrusive Metaprogramming Considered Harmful

February 9th, 2010

Diego_Velazquez

Sean O’Halpin did a very nice job with his Unobtrusive Metaprogramming rant/presentation that has been making rounds particularly in the Rails community.  Sean’s suggestions seem thought out, and the ideas he gives for the maturing rails community are sound.  That said, I can see a bunch of folks taking Sean’s thinking as dogma (ala Edgar Dikjstra’s famous letter “Goto Considered Harmful”). I understand the futility of my efforts, but cannot help my urge to fight creativity-bashing dogmatic thinking.
Talks such as Sean’s are about how to be polite.  And for sure politeness is a nice thing to be around. “Politeness is the art of choosing among your thoughts”, wrote Madame de Stael. So while a programmer should certainly choose carefully among the thoughts they offer the rest of the world, should we really care? No, and in fact, I would argue that new languages like Ruby and Go have grown out of the desire of programmers to have power restored to their hands, maybe at the expense of some politeness.
I’m talking here about the difference between Convention and Protocol. Convention helps people get along, if they want to. Protocol prescribes pre-arranged actions and consequences. Woe to those who violate protocol. The protocol of programming has become deep. Don’t use goto, don’t use private data, don’t use globals, don’t monkey patch, don’t put more than one class into a file, don’t return except from the end of a function, yada yada yada. Now I understand protocol is a great way, albeit Maoist, to get along, but convention is really a better choice for many programmers.
The fact that your patient gets well does not prove that your diagnosis was correct.  ~Samuel J. Meltzer.
Many will point out that function calls really did improve the general quality of software from the the spaghetti-coded goto-strewn mess that preceded it. Likewise, it is also true that I see goto often and productively used in device drivers and OS kernels where conciseness and complex control are inevitable. And there lies the rub. Bruised fingers do not argue for outlawing hammers. Though a pneumatic nailer is a nice thing too. I once had a land-lady that insisted the workers replacing her roof use hammers. I understand her feeling.
Sometimes to do great work you need to have full control. Craftsmanship requires being so close to the workpiece that great skill can be distinguished from the damn near inevitable errors. The error has to be as likely as success to expose the skill, and the art. Folks choose Ruby so that they can monkey patch. If that’s a bad thing, maybe Java is a better choice for the project at hand? The agility of a tool like Ruby brings the possibility of getting cut by one’s own knife. And you know, that just might be a good thing.

Sean O’Halpin did a very nice job with his Unobtrusive Metaprogramming rant/presentation that has been making rounds particularly in the Rails community.  Sean’s suggestions seem thought out, and the ideas he gives to the maturing rails community are sound.  That said, I can see a bunch of folks taking Sean’s thinking as dogma (ala Edgar Dikjstra’s famous letter “Goto Considered Harmful”). I understand the futility of my efforts, but cannot help my urge to fight creativity-bashing dogmatic thinking.

» Read more: Unobtrusive Metaprogramming Considered Harmful

The Blue LED of Death

September 11th, 2009

Blue_LED

Recently I bought a nifty little USB charger for my iPod touch and mobile phone.  You can build these things, but I was in a rush, and Radio Shanty had them on sale. I was so pleased at how tiny my vacation bag was without my enormous collection of wall warts.

» Read more: The Blue LED of Death

Apollo 11: And They took Velcro?

July 23rd, 2009

Apollo-Moon-Mission

Last year at a family gathering, someone from the younger generation commented that they had no idea why NASA was still in the business of shooting people into space. They felt like the money was sorely needed for things like the next generation of renewable fuel, for example.

My father was there, a sixty-something electronic engineer who worked on Apollo. He said many important things came out of the space program. Naturally he was asked how exactly our society benefited from the Apollo program.  He replied that important inventions, like Velcro, had come from the space program. Velcro?

» Read more: Apollo 11: And They took Velcro?

Internet Luddites Attack!

July 9th, 2009

self-illumination

Recently I read “The Internet devalues everything it touches..“  While I wantedto dismiss the premise of the article out of hand, I think this will be a popular opinion.  It is also worthy of study.  After all, it is easy to get caught up in the idea that everything Internet is always better.

Looking at the continuing development of IBDTs [Internet-based disruptive business technologies] and their relative low cost of development and nearly free distribution, it is easy to see that once they become widely used and implemented, we will see a massive reduction in the costs of doing business.

We will know when this scenario has occurred, or is occurring because we will see the signs: a strong and continuing deflationary trend. We will see a continual erosion in the value of products and services.

In simple terms, the Internet devalues everything it touches. Anything that can be digitized. I’m using the term “devalues” in a strictly materialistic definition and not in a cultural “values” sense.  And I’m using the term “Internet” to denote a class of distributed technologies and applications.

» Read more: Internet Luddites Attack!

What Happened to the Name?

July 2nd, 2009

cotton-gin

When I started this blog, it was named The Cotton Gin.  I liked the name, and I liked the metaphor.  I still do.  So why would I change the blog’s name to the most boring thing possible: “John Conti’s Software Journal?”  Blame my favorite company Google.

You see, when I looked at the Google Analytics data for this blog, I saw a bunch of searches for information on, you guessed it, cotton gins, the kind Eli Whitney invented.  Google was putting more stock in the H1 and title tag at the top of every one of my pages, as opposed to all the other content, which never mentioned Eli Whitney (until now).

Sigh.  I buckled to the pressure.  It seemed like no service at all to those school kids working on social studies reports to end up here.  Well, I’ve changed my mind (or lost it).  I’ve decided to ignore Google.  After all, one of the most prominent ads Google placed on my pages is for tires.  So Google search and ads can’t be all that smart. SEO is one thing, following a dumb machine’s dumb ideas, is well…