New books!

I bought a couple books today. I picked up Managing Humans and Real World Haskell.

Managing Humans really needed a better editor. Maybe I’m not in the manager mindframe enough to understand it, but it jerked around and contradicted itself.

I’m hoping the Haskell book isn’t as disappointing. I’ve been wanting to understand functional programming for a long time, but never got around to picking up a book that explained how to model real programs that rely on input from the outside world.

Comments

What the hell, autoconf?

There’s a new autoconf out, autoconf-2.63.  It continues autoconf’s fine tradition of having the suckiest release schedule and quality of the GNU toolkit.  You would think that they would increment the major number whenever they release a non-backwards compatible release, but they don’t for shear preversity.  I guess 2.63 just rolls off the tongue, and I can’t blame them.  The ridiculousness of having to test for different versions of your platform configuration tool boggles me.  I’m at a loss for words at how much the autoconf maintainers have failed their core mission.

I’m not even going to go into their choice of m4 as the file format.  That probably made sense at the time. But that the thing is implemented in sh is just stupid.  

Really, what the autoconf maintainers should do is what the make maintainers never had the guts to do.  Realize that their software is making the world a worse place, pick a worthy successor, and never update their project again.  In my perfect world, autoconf is allowed to commit hari-kari.  Meanwhile, automake is lined up against a wall and shot at dawn.

On the plus side, this might be the chance for everyone to finally move to a sane build tool like waf or cmake.

Comments (1)

there but for the grace of god…

I’m so glad I’m not an Apple Release Engineer today. Four major releases today. iPhone 3G, iPhone Firmware 2.0, MobileMe, and iTunes 7.7.

It’s a huge task to synchronize all those releases and it eats up company resources like crazy. You have to have enough people to focus on each task separately.

MobileMe still isn’t working right. They’ve been extending the maintenance downtime further and further.

They have my sympathies.

Comments

goodbye Carbon and good riddence

From the documentation for GetProcessInformation()

You need to specify values for the processInfoLength, processName, and processAppSpec fields of the process information structure. Specify the length of the process information structure in the processInfoLength field. If you do not want information returned in the processName and processAppSpec fields, specify NULL for these fields. Otherwise, allocate at least 32 bytes of storage for the string pointed to by the processName field and, in the processAppSpec field, specify a pointer to an FSSpec structure.

no joke

Rollover Carbon, rock on OOP.

Comments (1)

Blurmate

This is pretty cool. A way to set the opacity on your Textmate window.

I’m usually against this sort of transparency-everywhere mentality; it reminds me of the Enlightenment window manager for Linux.

But this works really nicely.

Comments

History of AppleScript’s Development

I thought this paper was pretty interesting, since AppleScript is my favorite language to hate. An interesting, but failed experiment. I entirely support its aims though. The problem of how to replace command line pipes in a GUI environment is still an interesting one.

Comments

ZSH bundle and scripts for Textmate

I found this today and it’s too useful to not link to.

  1. A bundle for editing zsh scripts
  2. A terminal command for going to the directory the front textmate document resides in

Comments (1)

bugtracker recommendations

Panic is looking for a bugtracker.

I’ve used Mantis to good effect. You can check out how Ardour uses it here.

Comments

Defactoring

You’ve read Refactoring. You’ve seen Prefactoring on the bookstore’s shelf. Well, after you’ve fact’d it all up, it’s time for Defactoring.

My new book, which introduces such techniques as overriding your framework’s core eventloop and running dynamic_cast<> on each widget that passes through to see if it’s the widget you’re looking for.

Comments (1)

Red Sweater Blog – It Should Be Free

Red Sweater Blog – It Should Be Free

I don’t care if someone charges for an app or not. But one thing that has always puzzled me is why there are so many free (as in beer) applications for the mac that aren’t also open source. If you’re giving your application away for free, why not show the source too?

My only guess is that the default-to-open-source attitude isn’t as in-grained in the mac world as is it elsewhere.

Comments (2)

« Previous entries Next Page » Next Page »