Oh, Crap

Published at 12:57 on 28 January 2012

My expensive Unicomp keyboard has been acting up as of recently. For a few hours this afternoon I thought I had fixed it simply by reseating a loose connector inside the keyboard itself. Now it’s acting up again.

I’m going to try replacing the one electrolytic capacitor in the thing, even though it looks OK, just on the off chance it is infested with capacitor plague. But at this stage I’m decidedly pessimistic about its prognosis. Everything else on the thing is a surface-mount component, and the most likely culprit is the single proprietary IC on the logic board.

Meaning that it’s probably replacement time.

Update: Yup, definitely replacement time. Just tried replacing the capacitor, and the quirky behavior remains.

Learning Cocoa is Slow

Published at 16:54 on 5 January 2012

(For the non-geeks, Cocoa is the user interface library on the Macintosh. It’s what lets you write programs that use the familiar windows, menus, alerts, and whatnot that a typical Mac program has.)

Part of it is learning a new language (and not precisely a nice, clean one: Objective-C is almost as crufty as C++), part of it is that the innards of the Mac just seem counterintuitive to me.

On the former issue, there are actually alternatives to Objective-C, including as of recently C#, a language which is far more modern and easy to use. Unfortunately, most of those are open-source projects as opposed to things with Apple’s explicit sanction and blessing, and as I’ve said before, shoddy documentation is the Achilles’ heel of open-source software.

Which raises the latter issue: the documentation and design of Xcode seems to be based on an assumption that both Xcode and Cocoa are intuitive. It documentation keeps talking about how Xcode makes everything easy and logical. For me at least, it certainly is not.

However, slow as the process of fighting with Xcode is, at least Xcode and Objective-C are fairly comprehensively documented by Apple. I hate to think of how much more difficult trying to learn Cocoa in C# would be.

My Irony Meter Exploded

Published at 14:36 on 22 December 2011

… when reading a Craigslist job posting titled “PHP Programmer & Fine-Code Connoisseur // $110,000 (Seattle)”. PHP is a textbook example of the hazards of someone who has insufficiently studied language design designing a language. No genuine “fine-code connoisseur” would want to touch PHP with a 10-foot pole.

The unrealistic salary indicates that it’s a pretty transparent example of a sleazy recruiter trolling for résumés. PHP jobs tend to pay less than those using most other platforms, precisely because anyone with enough smarts to be a good programmer doesn’t want to touch the language.

Can XP be as Rigid as the Waterfall Model?

Published at 11:39 on 28 September 2011

I think that, ironically enough, it can.

I interviewed at some anonymous company that was big on XP (aka “Extreme Programming”): pair programming, test-driven development, etc. One thing I will say is that they did a very good job if interviewing, giving candidates an actual opportunity to try the techniques they use out.

And one thing that struck me about test-driven development was that it makes it very difficult to write code in a bottom-up fashion. The basic response was something along the lines of “you just don’t do that.” Lovely. A powerful and productive technique that you “just don’t do” because the methodology you have required people to adhere to does not allow for it.

And what if programmers sometimes come up with better ideas on their own? Sorry, no can do, either. Pair programming doesn’t allow for alone time.

“Sorry, we’d like to incorporate that feature change, but we’ve frozen the feature set because the software is now in alpha test. We just can’t do that.” Funny how the supposed diametric opposite of the traditional waterfall model ends up sounding so much like it.

The problem here is one of taking rules too seriously. Any set of rules — it fundamentally does not matter which ones. You cannot fix such a problem merely by choosing the right set of fixed rules, no matter how enlightened the motivation behind the choice of them might happen to be.

If you can’t make exceptions for exceptional cases, you’re going to end up sometimes forcing people to act like stupid robots, doing something suboptimally because that’s the only way The Rules allow for it to be done.

Unproductive Social Parasitism

Published at 10:50 on 23 September 2011

Really, can there be any other succinct summary of the highly dubious practice of cybersquatting (or “domain investing” if you’re a fan of the Newspeak of the pro-cybersquatter crowd)?

If you don’t need an Internet domain name yourself, simply don’t buy it and it will be available for purchase by someone who does. Buying a domain just because you think someone else might want to buy it later and be willing to pay an inflated price contributes absolutely nothing to society. In fact, it harms others, by complicating the process of obtaining a domain and compelling them to pay more than they otherwise would have.

Sure, it’s legal, but it’s neither ethical or socially useful.

Safari Javascript Sucks

Published at 13:43 on 16 September 2011

I’ve known about it for some time, of course, but my recent move to WordPress has driven it home yet again. The WordPress screen to create and edit blog posts makes heavy usage of Javascript. It also hangs about 50% of the time one hits the “Publish” or “Update” buttons when using Safari. I have yet to have it hang on me when using Firefox, and of couse (after being burned by Safari during my first few attempts), I use Firefox much more often than Safari to post here.

Really, this has to be one of those “what’s their problem, anyway?” moments. Safari has had an absolutely lousy Javascript engine (by far the worst one of any major browser) for years.

It’s a pity, as it’s otherwise a very nice browser.

Some Notes on the Transition

Published at 17:15 on 13 September 2011

  • I decided to pay money to host the blog myself, because that option allowed me to avoid Google/Blogger’s creepy terms of use while also avoiding WordPress’ broken CMS (which the hosting site WordPress.COM forces you to use) for hosting the old entries.
  • Regarding those old entries, I eventually gave up on trying to import them into the new blog software. It’s too much of a headache to do with WordPress (which perverts imported HTML in strange and unpredictable ways).
  • Regarding the blog software, I settled on WordPress, because it’s a popular platform, and of the popular platforms it can run on the least expensive hosting services.
  • My main motivation for the transition was to join the modern world and have my blog available for syndication with RSS.

And We’re Up at Last

Published at 16:31 on 13 September 2011

It was a process fraught with difficulties, both in converting the old blog to a new format (something I essentially gave up on), and in getting this blog hosted (there were a number of hiccups in the process, you should have been seeing this message on Saturday). And there’s still a fair amount of configuring to do.

Ah, well. The main part of the deed is done at last.