Every Language War Ever

This is an oldie, but I just came across a link to it, via dzone:

A programmer can write unmaintainable code in any language. Let’s compare a carefully prepared code snippet from my favorite language with a horrifically bad snippet from your favorite language written by a drunken monkey.

Click here for the whole thing.

The Dilbert Blog: Night of the Living Ant

Via The Dilbert Blog:

One of the perks of being a big-time celebrity cartoonist involves using a vacuum cleaner to get rid of ants in the kitchen. Before I made it big, purchase I couldn’t afford a vacuum cleaner. I had to shout at the ants to scare them away. In retrospect, try I don’t think ants have ears, sovaldi because yelling never worked. Sometimes I had to keep my snacks in a wooden bowl floating in the bathtub. Eventually, when the ant army built up to the point where they could lift me in my sleep – but before they could get me down the ant hole – I would give notice on my apartment and find another.

Reference

Bad UI: Non-Obvious Dialog Buttons

Here’s a terrible dialog I deal with on a regular basis.
Bad UI
I see it quite a bit, and it confuses me every time.

It’s part of the software that came with one of our Scantron OMR scanners. When you run forms through the scanner, the scanner sends a stream of comma-delimited data back to the software, which writes each line to disk as it arrives. Kind of a cool setup.

But when you’re re-scanning something, or appending to an existing scan job, this dialog comes up. I can’t for the life of me figure out why the buttons aren’t labeled Append to File, Overwrite File, and Cancel.

Sadly, this is somewhat typical of Windows applications (this is not an “I hate Windoze” remark; it’s just an observation I’ve made over the years). You really have to pay attention to the dialog to figure out what to do. Apple says that button captions should be actions (like Don’t Save, Delete, Modify, etc.), and I tend to agree. It makes the decision easier for the user.

Things That Bug Me

1) The guy on 283 with the DON’T TELL ME WHAT KIND OF DAY TO HAVE bumper sticker that flips me off every time he sees me. And he’s adamant about it, too. When he flips me off, he purses his lips and his face looks like he’s barely containing his rage. I have no idea what that’s about. I think the dude needs to think about switching to decaf or something.

2) The tetanus shot I got this evening. Hurts like a boogie. My whole right arm is stiff and sore.

3) Visual Basic. I just tried it. And it’s nasty. Ewww. How do people use that thing?

4) The fact that the pharmacist and cashier at Eckerd’s totally and completely ignored me when I tried to fill the prescription for my new allergy medicine tonight. The pharmacist wasn’t Chuck, and that was the problem. Chuck takes care of us. This guy didn’t. After 15 minutes of the two of them making eye contact with me and rapidly looking away, I left. Jen asked me why I didn’t say anything, but they obviously knew I was there. Dweebs.

5) Speaking of allergy medicine, the fact that I need a prescription now. Not because my allergies have gotten worse or changed in any way, but because the stupid government won’t let me buy more than one or two boxed of my beloved Actifed knockoff at a time. I’m sure this policy will bring all the meth labs to a grinding halt in production, but in the meantime, it’s really become a hassle to get my medicine. So the doctor gave me a prescription for Zirtec instead.

6) Hippies.

7) My left foot. It’s kinda bugging me tonight. It was okay for a long time, but it’s been acting up lately. I actually soaked it tonight. I haven’t had to do that for a while.

8) How iChat always open up the enclosing folder when someone sends me a file. Where do I turn that off? That’s so irritating!

9) The fact that I can’t figure out how to do ChordPro parsing and rendering in REALbasic. I’m sure it can be done, and I think it’s probably pretty easy, but every time I try, I can’t get my head around the problem. I should probably try it sometime when it’s not late at night and I’m all tired.

10) Report cards. Report cards bug me. All report cards bug me.

11) People who describe a 1% tax increase as a 20% tax increase. It’s disingenuous.

12) That my REALbasic subscription ran out, and that I can’t really justify renewing until I can compile Universal Binaries. Note to RS guys who read this site: it’s nothing personal; that’s just my biggest need right now. I know you guys are working on it as hard as you can, and I appreciate it, and I’m not threatening to drop RB for Cocoa/Java/.NET or anything.

13) People who threaten to drop RB for Cocoa/Java/.NET when they don’t get what they want from a new release.

14) That I can’t decide on a good desktop picture right now. That’s really bugging me.

15) Volkswagens.

Blogging The Bible

This is very interesting reading. Slate writer David Plotz, who describes himself as never a terribly observant Jew, is reading through the Bible and posting his thoughts and reactions online:

So, what can I possibly do? My goal is pretty simple. I want to find out what happens when an ignorant person actually reads the book on which his religion is based. I think I’m in the same position as many other lazy but faithful people (Christians, Jews, Moslems, Hindus). I love Judaism; I love (most of) the lessons it has taught me about how to live in the world; and yet I realized I am fundamentally ignorant about its foundation, its essential document. So, what will happen if I approach my Bible empty, unmediated by teachers or rabbis or parents? What will delight and horrify me? How will the Bible relate to the religion I practice, and the lessons I thought I learned in synagogue and Hebrew School?

His insights, without the benefit of commentaries and interpretations, are quite fascinating:

Until reading this, I never knew why, when Jews bless our sons on Shabbat, we bless them in the name of Ephraim and Manasseh. It turns out we are following Jacob’s instructions: “By you shall Israel invoke blessings, saying: God make you like Ephraim and Manasseh.”… The religious practices Genesis describes are animal sacrifices, altar-building, idol-burying–things that have absolutely nothing to do with my life in 2006. This blessing is the first moment that the Torah intersects with my actual religious life–where its instructions are still living and followed (by me).

So far, he’s plowed through Genesis (“Maybe it was unfair for me to call Lot’s daughters Judea’s Hilton sisters.”) and has reached Exodus 12 (“How stupid is that Pharaoh?”). I eagerly await the rest of his writing. I’m hooked.

Top 5 Things I’m Digging About RB 2005/2006

There’s been an awful lot of griping on the NUG over the past few months. Now, I understand that everyone’s entitled to an opinion, but some of it has gone waaaaay over the top. In that spirit, I present the Top 5 Things I’m Digging About RB 2005/2006. Just to be clear, I started using RB2005 exclusively from the moment it was available, and I’m currently using RB2006r2 full-time. I use REALbasic for my job every day, so I’m not just dabbling here. Anyway, here’s the list.

  1. The tabbed interface
  2. I know it’s not for everyone, but I’m digging it. Admittedly, when I first saw Geoff’s demo at REAL World 2004, I was horrified. About five minutes later, I got it. Now I can’t go back to RB 5.x. It’s too awkward.

  3. Container Controls
  4. When they were first available, I was stoked. Then I lost interest, because I didn’t really have a need for them. Then I found a great way to use them, and I was again stoked.

  5. Computed Properties
  6. For some reason, I just get a kick out of controls having a “Right As Integer” or “Bottom As Integer” property. Of course, there are useful applications as well.

  7. HTMLViewer
  8. Yes, it definitely has some issues, and yes, I’d love to be able to print from it, but dang, it sure has made Tangelo prettier and more functional.

  9. New Language Reference
  10. Wicked fast, and eminently hackable, not that I condone such behavior, because I don’t.

Dissecting A Bear

I’ve neglected to mention that I’ve written an article for REALbasic Developer. The editor and publisher, Marc Zeedar, attended my Kodiak session at REAL World a couple months back, and recently asked me if I’d be interested in writing one of the magazine’s Postmortem features on my baby bear. Naturally, I jumped at the chance.

If you don’t subscribe, now’s a good time to do so, unless you don’t actually program in REALbasic, in which case you should just plan to buy the next issue.

Here’s a brief excerpt from article, and I hope Marc doesn’t mind my quoting it here:

But Assessment Tools left me with an additional problem: now I had student data spread across three systems instead of two. The following week, I went to Dave and said, “I think we should build our own system and pull the plug on one of the others.” He thought it was an idea worth pursuing, since it seemed it would solve several problems at once: the server crashes, data consolidation, and faculty acceptance. Since this wasn’t a decision to be made lightly, we approached Dave’s boss, the Assistant Superintendent, and she agreed to talk to the Superintendent to get his thoughts on the matter. He said we could do it, with the understanding that if we failed, he would do nasty things to us.

Rhino Protest

RhinoReuters: A South Korean man upset at not being able to find a job protested his plight by climbing into a zoo pen with a pair of rhinoceroses.

Well, that just sounds super-productive. I’m sure it will help him find a new and better job right away. Lots of high-paying companies are probably in the market for a new desperate idiot.