It recently occurred to me that I’m dumb. I certainly don’t mean this in any pejorative sense (after all, that would be abrasive to the ego), but rather I would suggest it as regards a behavioral pattern that I tend to follow. Roughly, said pattern goes like this:
- Identify problem
- On the grounds of theoretical purity, construct needlessly complicated solution.
- Implement solution.
For instance, a few days ago I wanted to put together a small rails application. There was nothing earth shattering in this; I simply wanted to get a quick prototype up and running. So I update my gems, do a quick `rails prototype/` command, and boot up the empty app. It fails.
Ok, so I do the natural thing; I google the error message or whatnot; I search for a few minutes. Well, it has something to do with Snow Leopard, that much becomes clear. This begs the question: does any bug ever not have something to do with Snow Leopard? But I won’t adress that here. Anyhow, there is an obscure solution, under which I’d have to edit manually my rails installation — something like that, anyway. But I’m not going to do that. I try some earlier versions of rails and it’s dependancies — they fail for some other reasons.
I’m sure that I could have figured it out, had I dug around for a while. I might have, with work, discovered the vagaries behind why the same programs, with the same (nominally) installed dependancies exhibited opposite behaviors on different machines. But no, by next month I’d probably just have a new and similar problem. So I do just what any irrational fellow ought to; I decide to install a virtual Arch distro (my favorite) with VMware fusion, mount the machine as a disk via ssh, and develop from there. At least in Arch, I will know exactly what is installed, where it is, and how it ought to be working. Basically, I eliminate the free variable of imprecise ignorance regarding everything that’s on the machine, and whether I’ve hacked it up manually. Of course, god forbid that I give up TextMate and actually code directly on a linux machine. Emacs is awesome for my more lispy projects, but I like TM for rails.
To be clear, the blame here is almost entirely on me. However, given the recent announcement of the iPad, I feel that it’s become the custom to lay down some hate. So here goes: Apple, you ought to implement a decent package management scheme. Some inconsistency with something I had installed (or worse, you put there) was messing things up. Sure, one might say that I use pacman (or yum, or insert-reader-favorite) as a crutch, and I’m fine with that. In particular, said management helps prevent people like me — overly exuberant installers and occasional hackers of who-knows-what – from messing up systems.
So on the one hand, I get what I want. Things tend to work on Arch, and updating is only a `pacman -Syu` away. On the other hand — yeah, I’m dumb.
2 Comments
I’m not sure how a package management solution solves your particular problem. If you crave such a thing probably best to ditch OS X and go to GNU/Linux. Textmate isn’t all that. If you know Lisp why on earth are you not on GNU/Linux using Emacs?
I’m not entirely sure either — but my reasoning boils down to this: lacking pm creates another free variable.
For whatever reason, this kind of problem never occurs on my linux machines, where I install (almost) everything via pacman. There, I can always know exactly what software I have set up, and where it is… not so much on OSX. Maybe if I cleaned my system and tried out Homebrew, things would be better. Maybe not. Apple has its own pre-installed versions of various things (certainly ruby, and maybe rails), and perhaps I’m paranoid, but I’m never entirely confident that changes to $PATH eliminate them from the equation (hard-coded execution paths, or whatnot).
And I agree that TextMate is far from the best editor — is is good for rails, though. Btw, thanks for commenting — I don’t get a lot of that here.