May 29, 2013
August 1, 2012
A dumb mistake is leaving all your website unable to be customized for different languages.
The clever mistake is inventing a custom data file format which turns into a DSL implemented in XML along the way rather than using a real language built to make DSLs.
A dumb mistake is having no indirection layers that would allow you to switch your code easily from live to test mode.
The clever mistake is having three indirection layers, one in Java, one in the shell script that makes the config file, and one inside the config format itself... only one of which is used for any given item.
It's better to make the clever mistakes. But they can be immensely frustrating. I have a theory that if you have a pile of people who are both smart and experienced and also wise, you would be back to only making the dumb mistakes, but much less often, but such a pile is a rare rare thing even in great companies.
May 25, 2012
Call it my own personal sign of a tech bubble.
Among other sites I read is Hacker News, which alternates being a good site for news and an insufferable celebration of startup attitude over substance.
When Hacker News was created calling startup-minded technical people "Hackers" was still new. No longer was attribute one of a hacker the urge to make things and find out how things work, in the world of Hacker News the most important thing was trying to make anything work enough to get someone to buy it. A person who made a company whose product changed through ten superficial things was a hacker, and the guy in his basement programming model railroad controllers by twiddling their bits? Just a kook.
Recently though people have started to claim to be something else on Hacker News. Now they are hustlers. They have "good hustle" or they advertise "hustlers needed". While that may be merely a cute way to say hard worker, it has another meaning that doesn't seem accidental. A hustler will do anything to make money. Which is a pretty good way to describe the startup scene that runs past Hacker News these days.
Maybe it will mean the real hackers can have the word hacker back from the hustlers.
May 5, 2011
Characterizing people as non-linear, first-order components in software development
"The fundamental characteristics of “people” have a first-order effect on software development, not a lower-order effect. Consequently, understanding this first-order effect should become a first-order research agenda item, and not neglected as a second-order item. I suggest that this field of study become a primary area in the field “software engineering” for the next 20-50 years."
April 5, 2011
Real world data isn't like that. It's more like a cattle drive. It's wandering all over, trying to get away, breaking its leg, suddenly all showing up at the same time and trying to trample you, spooking at loud noises. It smells bad, some of it isn't going to fetch much when you get it to Chicago, it makes weird noises all the time, and frankly it's dumb as a sack of cheese.
But it's all data. Unlike the school of fish where the ringers are thrown in and can be disregarded, everything in the herd is pretty much a cow. You want to get them all to market. Only with great regret will you leave one behind... so you have to do the work of rounding up stragglers and checking brands.