Skip to content

Cargo Cult Programming

James Bach proposes a fancy word in the same thought-space as what I call “Cargo Cult Programming”. How often have you heard somebody say “My program didn’t work, but {the local guru|the Javadoc|MSDN|a Google search} told me that if I sprinkled some extra lines of random code, the problem would go away.” Then, on the next system, it turns into “I had to sprinkle these random extra lines on my last project to get it working, so I’ll pre-emptively sprinkle the same lines on this one, even though I still have no idea what they actually do.” Then the next project gets “{My co-worker|A consultant} put this magic code in a previous project, so I’ll put it in this one.”

James Bach’s Blog » Blog Archive » Sapient Testing Rules

I’m still waiting for people to pick up on my other coinage: mythomemetic, which is an adjective meaning “not informed by experience or wisdom, but rather hearsay and wishful thinking.” I’ll use it in a sentence: “The speaker peppered his talk with mythomemetic cliches such as ‘you can’t control what you can’t measure’.”

(Of course, I also like the fact that he’s taking a shot at the culture of arbitrary measurement)

Ignominiously

My spouse teaches computer science at a Rather Large University. Several years ago one of her students wrote roughly the following in the documentation for one of their assignments:

When the program receives invalid input it exits ignominiously.

Once again this evening, I found myself chuckling at the thought of a program slinking away in shame because it wasn’t good enough to handle all possible inputs.

Oh, I get it…

Dratz says You either get it or you don’t.
Feature

Sad news…

Three killed in blast at rocket site in Calif – Yahoo! News

LOS ANGELES (Reuters) – Three people were killed and three others critically injured on Thursday in an explosion at the California rocket-testing facilities operated by famed commercial spaceflight pioneer Burt Rutan, authorities said.

NASA often gets criticized for being too conservative and risk-averse, but at the same time space flight is extremely dangerous work,  and a tiny mistake can do a lot of damage.

Who Certifies the Certifiers?

This ought to get at least a few of Adam‘s goats. Sadek Drobi over at InfoQ summarizes a debate about certification for programmers where several writers advocate that programmers really should be certified in testing software.

InfoQ: Testing and Quality Control the only Certification Needed?

A new certification for software developers should not be about OOP, metaprogramming, macros, design patterns or any in depth knowledge of programming languages. Reginald Braithwaite believes that only one subject must be on the examination list: testing and quality control.

Braithwaite stresses that this is not a debate on “whether to have separate testers or whether programmers should test themselves.” He simply asserts that, judging from his experience, safety is of crucial importance for software development in commercial environment. Hence, developers’ ability to ensure that software does what it is expected to do should be the prerequisite to any software development job…

While I’m not sure that any of the certifications currently available in the software business actually add value, the underlying message deserves to be shouted:

IF YOU DON’T CARE WHETHER YOUR CODE WORKS OR NOT, GET THE HELL OUT OF THE PROFESSION!

If you don’t know how to tell whether your code works or not, it’s pretty clear you don’t care. And if you don’t understand that “works” is defined by your users, not yourself, well…

Greg, your professional Master’s degree better have lots of Quality in it, with a good dose of User-Centered Engineering.

Now you’re playing with power

InfoQ: Microsoft Research’s Accelerator: A Data-Parallel Library for .NET that Targets GPUs

Microsoft Research’s Accelerator Project exposes a .NET library for performing parallel data processing using a computer’s GPU.

Accelerator is a .NET 2.0 DLL that requires DirectX 9, included with Windows XP SP2, and a graphics card that supports Pixel Shader 2.0 or above. Graphics cards without hardware vertex processing, common on cheaper laptops, do not appear to work.

The GPU is often the most powerful processor on the bus, and it’s nice to see people using it for something other than animating pull-down menus now and again.

The Astronomy Picture of the Day makes the world a better place

http://antwrp.gsfc.nasa.gov/apod/astropix.html; Astronomy Picture for July 20, 2007

Unfortunately they don’t provide an RSS feed, but I found one at http://www.jwz.org/cheesegrater/RSS/apod.rss thanks to Jamie Zawinski.

Fred Clark on holiness

slacktivist: “God hates divorce”

I’ve had the privilege of knowing a few saints who devoted their lives to imitating and demonstrating the love of God. These people also became models of God’s holiness. I’ve also known many pious folk who devoted their lives to imitating and demonstrating the holiness of God. None of those people ever seemed to become a model of God’s love.

If you had asked me when I started this blog, I never would have expected to have a “Religion” category.

Words to Live By

One thing about the New Employer is that a lot more people have little sayings posted on their cubicle walls. Today’s gem:

If I wanted your opinion I’d read your entrails.

I can think of at least one regular reader (yes, I’m pretty sure I have one) who might want to post this in their own work space…

Quote of the Week

From Slacktivist:

I look at the works of charlatans like this and just think: Jesus H. Tapdancing Christ, people, stop taking the Lord’s name in vain.