There are days when groups of people manage to reach levels of utter absurdtity that you don't actually notice how absurd things are until well past the point that things should have stopped. The transition from A to B, and B to C, make sense, but by the time you're done you're at ZZ9pluralZAlpha wondering what the hell is going on. Worse yet, you realize that it's both too late to stop and the other people involved don't even want to.
Alas Simon's already got the grumpy curmudgeon spot (damn you, Simon! I wanted that spot!) which then leaves mockery. Or encouragement. That's OK, I can do either (or both), it's just more work. The question then is at what point anyone actually notices...
I decided it was time to go install SSL support in the webserver, what with the extra stuff that's now available on it. So, lacking RPMs for it, I dig out an old-ish version of mod_ssl (I'm only running Apache 1.3.22, which the latest version of mod_ssl doesn't support), get it configured with some trouble, then go install it. Simple, right?
mod_ssl is definitely not designed with after-the-fact installation in mind. There's rather an amazing amount of gook that it sticks in httpd.conf, and I'm not feeling like trying to figure out what at the moment. So it's sitting, built and installed, but not running. Bleah.
The necessity for upgrades always seems to happen when there are a half-dozen other high-priority things going on. Luckily the updated version of SpamAssassin and Vipul's Razor were a breeze to install.
I finally moved over the mailing lists that sidhe.org hosts from majordomo to mailman. Yeah, it's python, but honestly I just don't care. Majordomo's old and crusty, and ate one of my lists, so it was time to replace it. (Rebuilding a subscriber list from mail logs is many things, but fun isn't one of them) Now they're new and shiny and hopefully there's better bounce management and such with this one. Wonder what the next thing to get redone on the server is...
We also found a cool probe thermometer, cheap. $4.99, and it was ours, which is great. Yeah, it's last year's design (it's an iThermometer! Complete with transparent colored plastic) but I really don't care. Now all I need is a good candy thermometer.
Finally I got mail that some of the books I'd ordered from Sasuga have finally gotten in. They weren't kidding when they said it might take a while--I ordered them back in april. Still, who cares, at least part of the order's in. I hope it shows before I have to leave for seattle. With my luck, it'll get here an hour after I leave, which'd be about right.
Well, I actually knocked some things off of yesterday's todo list. Got the latest version of PHP installed, got WebDAV installed, and managed to make it so that I can actually publish calendars that other iCal users can subscribe to, as well as getting a webby front-end to the stored calendars. (Which was the driving force behind the PHP install, as I don't have much other use for it. Perhaps other folks using the server will. Who knows...)
Got that lovely sense of accomplishment because of it.
And, since this new version of Kung-Long's got a nifty 'insert iTunes track' feature, I figure I have to use it at least once. Probably only once, but since I really like the group who's CD is currently in rotation, I figure a link can't hurt. Find them and buy their music, they're damned good.
Rhubarb from the album "Deep Water Dropoff" by Sine
Setting up WebDAV was easier than I thought. Quick download, compile, and then follow the instructions and now I have a place to publish calendars. Not a huge deal for me, as it's just coordinating my schedule on the laptop here with Karen's iMac downstairs (when it's booted into OS X and has a working network connection) but this could be useful for other folks, both locally and friends all over, if I set things up properly. Have to give things a bit of a go...
That feels better. Having a list of stuff to do is always good, even if none of it gets finished... :)
So, I'm trying to install Jagwyre on the old PowerMac I keep headless in the server closet for other people to use to test Parrot stuff on. No big deal, the thing's running OS X 10.1.something, so the 10.2 upgrade should be just a matter of whizzing through, right?
Of course, I do know better. Something will go wrong. And, of course, it did. That wasn't a problem. The problem was that I couldn't find out what the heck was actually wrong!
This machine's short on disk space, it's only got a 3.7G drive on it and it was full up from the OS 9, OS X, Dev Tools, and Fink install. There was only about 800M free on the thing, and the base upgrade wants 1.3G free. No big deal, right? I'll just deselect the bits I don't want. Not like I need any printer drivers or asian fonts on this thing, as it has no printer attached and runs headless most of the time.
No dice. Installer starts, throws up a helpful error message "There was an error. Please restart" (or something very close to it, and that's it. No logs, no extra info, no "press here for some clue as to what went wrong", nothing. Isn't that just special?
Every working programmer should have to do time on the front lines of phone support. All of them. Especially the ones that think they're too good for phone support. I am so fscking tired of software that's profoundly useless whenever anything goes wrong. If you know enough to know that something went wrong, you had damn well better have enough information to say something. What didn't work? Why not? At least where in the program did it go wrong?
You, as the programmer, know. You have to--you had to check something to see if it failed. And if you don't know what the heck something is doing, you at least know what it's stopping you from doing. (If you don't know that, what the heck are you doing checking for the error, then? Or, for that matter, writing code at all?) Make that information available somewhere, even if it's not glaringly obvious. Doesn't matter if it's any use to the average end user, it'll at least be some use to the poor sap who has to try and figure out why things failed. Which ought to be you on occasion.
(And, for the record, the problem was that I deselected some things for installation, which while a perfectly valid option according to the installer, made the install fail. Why the installer cheerfully let me choose bad options and then not tell me is a matter for another rant)
Important note. When DSL is out, check cable first to see if the cats have disconnected it. (Then wonder why you didn't fix it right the last time)
They came through. The MA unemployment division is woefully understaffed for the volume of claims, in large part because it seems like the feds dropped a huge wad of new people on them with no warning or time to get ready. (18 months of 6 day work weeks and 13 hour days doesn't get you a productive workforce) Well, I did finally talk to a person, and she got things cleared up. Yay!
Now all I have to do is keep up to date.
Today's my "climb the ladder of people" day. I've already tried my adjuster (again) and her super (again). I'm going to try the super one more time, then it's time to start working up from there. I hate having to do this, but I've passed the point where I can wait, and it pisses me off that after repeated calls (all long-distance for me) nobody's bothered to call back in over three and a half months.
Well, now I know what it's like to run out of time getting things in order. I thought I'd be able to find enough freelance stuff to make ends meet, with unemployment helping stretch things out until then. Well, I've not gotten one damn cent out of unemployment, and the job prospects I had lined up have all fallen through. This is bad, very bad.
So, it's resume and job hunt time, hoping that I can manage things well enough to still work on Parrot. I'd hate to have to pass on the torch before the design was finished, but I'm not going to jeopardize it with potentially tainted IP, if it comes down to that.
My CV is up for reading, if anyone's interested.
I've been unemployed since the end of July, when the perl foundation grant ran out. This is OK, I've been using the time and savings to try and go the consulting/training route. That's not been successful, though, which is bad. So I'm back in the job market, and trying to get a job, eating being good and all.
All this'd be fine--I have some savings (though I owe taxes) and unemployment insurance is supposed to help fill the gaps, right?
My claim's been referred to an adjuster since July 3rd. I have not, to date (and after about 30 calls), actually talked to my adjuster. No callbacks either, of course. This is not good.
Well, it turns out that the consulting job I thought was going to pan out and hold me over for a while isn't happening. (Well, OK, it might happen. I can't count on that) That means I need to get my resume polished up and go job hunting while there's still a little money in the bank. Unfortunately I loathe job hunting. And doubly unfortunate is that it probably means I have to find someone willing to do the Parrot design work, since I just won't have time. Yech.
Turns out that, not only does Diablo II run just fine under Jaguar, it runs faster. Cool! It managed to keep at least 20 FPS with the frame rate display and the full-screen map showing. Granted, in 256 color software-only display with all the quality settings cranked down to nothing, but still that's better than it did under 10.1.5.
It's amazing how much the graphics card makes a difference. This laptop's a 600MHz G3, but it has an utterly crappy card with crappy drivers. My old HP laptop ran at 450MHz with a PIII, but it had a slightly nicer graphics card with good drivers that used them, and it was only slightly worse than this. (Okay, with the frame display and map going it averaged around 18 FPS, but it was better with the frame display off)
I can't wait for better card drivers, if there ever will be any. I can hope, at least...
One of my big problems is not working when I've got a whole mass of things to do. You'd think this would be a reasonably good thing--you have a lot to do, and you do a lot. Unfortunately it doesn't work that way.
The more different things I have to do at once, the more I end up thrashing, wasting time flipping from one thing to another, not actually getting anything done for real. And with so much to do I feel obligated to try and do something all the time. That leaves me at the computer constantly, always trying to get something done, but the more I do that, the less I actually get done. This Is Bad. I end up working constantly while not actually getting anything of use done and, worse yet, I end up being really cranky to everyone around. That's no good.
So I've dug out the old Diablo II expansion CD. I think it's time to see how this thing behaves under Jaguar...
Well, my computer's memory, at least. There seems to be a leak in either XDarwin or some of the x widget libraries I use. Playing freeciv leads to an ever-increasing memory footprint, and ever-decreasing disk space, as the X server and OS X's window server process get bigger and bigger and bigger....
One of the things I really like about this iBook is its CD-R drive. (Or maybe its a CD-RW, I dunno. Never checked) It's cool to be able to go burn CDs and pop them in other machines, or the CD player, and have them work.
One of the things I find mildly distressing, though, is the complete lack of small transportable storage options. Yeah, I can burn a CD, but that's overkill for when I just need to move a few dozen kilobytes around. And none of the other machines I have handy to the mac on the network do floppies at all. (One has just a CD drive, the other has a zip drive and a CD drive) It just seems like a huge waste.
MacOSXHints to the rescue. If you jump through the right hoops, Jaguar will burn multisession CDs. So now when I need to throw a little bit on a CD I can, and then later reuse the CD for the next small chunk of data. Much less wasteful, which is a Good Thing.
Today's been almost entirely taken up by e-mail and phone calls. Bletch. That's a great way to make a day feel useless. Yes, I know I've gotten a lot done, since I have to talk to people (or, in the case of the MA dept of labor and employment, at least try) to make things happen, but it feels like I've been mostly spinning my wheels.
Ah, well, at least the contract stuff's getting nailed down (though not fast enough), the conference bits are settled in, and most of the outstanding e-mail I had to respond to's been answered.
I've been digging around inside the guts of perl 5 the past day or so. Ann was looking for a way to get the real size of data structures in perl. This isn't the first, or the fiftieth, time that anyone's asked for it, but it's the first time I've much cared, so I figured I'd go give it a shot. I've been feeling rusty, twiddling words and ideas around, and it's nice to just dig into a good chunk of XS for a change.
This, of course, turns out to be more difficult than I'd originally thought. But, then, what isn't? :)
Scalars are reasonably straightforward, mostly, if you're aware of the tricks perl plays under the hood. (Scalars are different sizes in some cases depending on whether you've built perl with purify support) Things get interesting with some of the odder SV types, and there's always the question of whether some of the ancillary support structs count or not. (Do you count the size of the magic structs?)
Arrays and hashes, though...
Perl plays lots of games with arrays and hashes for speed, and because of it the code's pretty hairy in spots. And poorly documented, of course, which is why it takes so long to figure out that xof_off, for example, isn't used anywhere. And figuring out which bits count as the real array and which don't, is also fun. Not that you necessarily need to know that to get the used array size, but if you want to figure out how much actual memory the array's got allocated to it, rather than actually in use, well... Not rocket science, but the half-dozen levels of macros in the source doesn't help.
But, still, it's mostly done. At least the simple bits. Doing full data structures is the interesting bit, since that means tracking both what we need to check as well as what we've already seen. This could get rather expensive as memory goes but, well, there's not much for it if you want to do it right.
Mozilla ate all my bookmarks. Again. This is getting damned annoying.
It tops off last week, where majordomo ate one of my mailing lists. Luckily a low-volume list, but now I have to recreate the mailing list membership from my mail logs. Bleah. Majordomo is history because of this. I think I'm going to end up going with Mailman. Yeah, it's Python, but I really don't care--I just want the damn list to work. Besides, when Parrot's functional I can always transition over then. :)
Or a cautionary thing? Or just a thing? According to Need to Know, I'm now Dan "Stakhanovite of Perl" Sugalski
Well, I finally found myself in need of a FAX machine. Or at least in need of FAX capabilities. Up until now I've been using the local Staples, but that gets really old really quick, and it feels a touch unprofessional on top of it.
This iBook can send faxes out, and receive them if I hook it up to the phone, which is good enough. (No point in yet another line into the house for a real FAX setup, and I think we've run out of slots on the punchdown block outside anyway :) The one thing I'm lacking is a way to get hardcopy into the machine to send out.
So, given that the cash flow is optimistically good, I trotted down to Best Buy, scoped out the scanners, and picked up a Microtek ScanMaker 4800. It's a nice scanner, USB, with a slide adapter, and mostly Mac compatible. I say mostly because it's all OS 9 stuff, which plays adequately but not great with OS X. I can't scan with OS X apps, but I can with Photoshop LE 5.0, so it'll do. (Yeah, I have to boot into OS 9 to use the OCR app, but until I start scanning the Dunsaney for Project Gutenberg, I don't know that it much matters)
Toys are good. Hopefully OS X drivers and such will come out for it soon. They're listed as Beta on microtek's website, but we all know how often some websites get updated...
I was, briefly, at O'Reilly's OS X conference this week. I was giving a tutorial on CamelBones but for a variety of reasons I couldn't stay for any more of the conference. Kind of a pity, as I really wanted to touch base with many of the Apple folks there. Ah, well, maybe next time.