<< July 2008 >>
Sun Mon Tue Wed Thu Fri Sat
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2

Latest photos:


Change Congress
GeoURL ATOM RSS

Advogato entry 134

RUP

I give you "real ultimate power", in original ninja flavor, and now with space robot goodness. Do you have stairs in your house? (Yeah, I know it's old, but I hadn't seen the "real ultimate power" cross-over before.)

Stuff

With any luck, the Eclipse will be back together by the end of Saturday, for a day of racing at US41 Dragway with a friend from back home. All my machines are running either Fedora Core 0.95 or what will probably become FC1 next week, and I'm about ready to reconfigure my router to also be a bridge for my external network, so I can actually centrallize my IDS collection. I may even try and find some time this weekend to pop the wireless PCI card I've been promising Erica I'd get running for a few weeks now into it's final home. (For some reason, she's not so fond of leeching off our neighbor's wireless service.)

( advogato ) Oct. 31, 2003 1:31:00 PM #

Advogato entry 133

Quips

I love Ditherati. This is one of the best quotes I've heard from a Microsoft representative in a long time: Our ability to innovate is predicated on our ability to own the platform. Ditherati's joke about how this explains why Microsoft's programmers are incapable of working on non-Windows platforms misses the point. This quote both implies that Microsoft's corporate policy is exactly what we've known it to be for years, but also hits on one of the most important things open source and free software bring to the table, even if the middle manager making that statement didn't realize it: without complete access to a platform, it's tough to do anything truly innovative with it, because you'll always be constrained by the original design of the product.

Reading

My laptop battery decided to no longer hold a charge for some reason, which has left me with little to do on the train. So, I dove into the stack of books I've had on my shelf but haven't had an opportunity to read. (The laptop has since been fixed, but now I'm on a roll.)

The first book I went back to was The Cluetrain Manifesto (Locke, Levine, Searls, Weinberger). If you're reading this diary on Advogato, then the contents of this book are pretty old hat to you; in fact, when it came out, their "let the employees speak" approach was pretty standard-issue for a lot of technology companies (Red Hat springs immediately to mind, but there were plenty of others). That being said, I've been spending a lot of time lately on a hobby that has very little to do with computing, and I'm finding more and more that average small businesses are taking their advice, whether they know it or not. A small automotive performance parts company in California produces a low-cost exhaust system for the car I drive, and while it's nothing all that special above what other people offer, they're always present in our little online communities, answering questions, explaining shipping delays, accepting feedback, and speaking authentically to us. Dozens of other, similar vendors are doing the same thing. The community feels as though these folks are "one of them", and in turn, takes their business to them. The vendors, in turn, are required to act ethically with their customers, because bad dealings will be aired in public. I'd seen this kind of thing play out with technology companies before, but I didn't expect to see it so soon in non-technical markets. I guess they were right. :-)

The next book was one I'd really wanted to get to: Geeks (Katz). Say what you will about Jon Katz (and most of Slashdot's readership does), but he did a wonderful job of capturing growing up as a geek through the eyes of Jesse and Eric. There's so much in that book that I can relate to my own experience; from just deciding to pick up and move after discovering that they were imminently hirable, to realizing that the cubicles they moved to weren't exactly what they were looking for, and a lot of little stories in-between. On the other hand, there's a few things that gave me pause; I turn 29 in a couple of months, and I'm spending a lot of time thinking about a major change of career. I've spent 10 years "in the industry", and built up a lifestyle that relies on the resources I have available as a result. I didn't realize within a year of doing this, like Jesse from this book, what a soul-sucking kind of work it can be, if you're living in a cubicle all the time, because I wasn't; I got here gradually, starting off in a high-paced company that I owned. It's like cooking a frog. I find myself envying this fellow, because he had the foresight to see what was ahead of him; I've always played life by ear, and planning seemed to take the fun out of things. My thanks to Jon Katz and Jesse for giving me quite a bit to think about.

Next on the list was a recommendation from my better half: God's Debris (Adams). Scott Adams describes his book as a "thought experiment", and goes on to say that you should read it, and discuss it with a friend over coffee. I'd agree; it's a fairly light read, and just about anyone should be able to grasp it. If you're a philosophy major, you'll be pretty bored; he's really taken a number of concepts that you're introduced to early on in philosophy (the nature of existance, omnipotence and paradox, etc), and puts it together in an easily-digested format. There's a small story on the "outskirts" of the primary discussion, which I found cute; just like his garbageman character from Dilbert, you find that the delivery guy is the next great thinker.

Finally, what I'm currently working on: Silicon Snake Oil: Second Thoughts on the Information Highway (Stoll). This was written back in 1995, and I have to keep reminding myself of that as I read it. I loved Stoll's first book, Cuckoo's Egg, which detailed the true story of tracking international hackers and spies in the early days of the Internet, so I grabbed this one when I saw it at the local discount book store. While looking for links for this write-up, I came across a review for the book that hits the nail on the head: Silicon Snake Oil could represent a first attempt to compile a database on every negative aspect that could possibly be attributed to cyberspace. In 1995, I'm sure this book was a reasonable statement of the times; today, nearly all of his underlying presumptions have been proven wrong. Commerce is thriving online today; broadband is nearly ubiquitous, and even the homeless have access to the Internet today; the editorial process has found a way to work in a chaotic publishing environment; computing speeds, capacities, and interfaces have reached the point of real usefulness. I could go on for a long time; his predictions were, at best, off the mark, and at their worst, the rantings of a luddite unable to accept the idea that society's notion of community evolves over time, as a reaction to invention and circumstance. I'll finish the book, but I don't suspect my opinion will change much by the end; I'm pretty disappointed in this one.

Automotive

The car is still on jackstands. I keep bumping into tools I don't have; in this case, a special tool needed to remove the crank sprocket from the crankshaft. I think I have everything else necessary to complete the balance shaft elimination and get the new timing belt, pulleys, and accessory belts back on the car; hopefully, the weather will hold up so I can make the last autocross of the year with JSCC.

Wired

I'm currently trying to get an 802.11g (mmm, 54Mbps) wireless network going at home; while the Netgear WG511 PCMCIA card worked right out of the box on Erica's laptop, getting mine working on my Linux laptop is not nearly so easy (and I haven't even started working on installing the SMC SMC2802W PCI card in what will eventually be my wireless router). Here's a tip, if you're looking at wireless right now: go 802.11b, preferably with the Orinoco chipset, and save yourself a lot of hassles. ;-) At least there are early drivers in development for the ISL38xx-based (Prism) cards; I made the mistake of initially picking up Linksys hardware, and found quickly that Broadcom (makers of the chipset driving that hardware) has no interest whatsoever in releasing specs for their hardware. Oh well, back to the store it went, and an email to Linksys letting them know that I wouldn't be considering their products in the future.

Other

Not much. No hacking at all, except on my car. I've been watching a ton of commits go by for SubWiki, and haven't had a chance to take a look at them yet; gstein has been patching lately like a man possessed. ;-) Work is the usual: cubicles, mind-numbing meetings, a general lack of challenge, and politics on a large scale. I've discovered just how right-wing one of my friends is through his blog, and while I respectfully disagree with the venom he's spitting at various politicos, I love the photography he's been doing lately; very good stuff.

That's about it. Honest, I'll try and update a little more often so I don't have to blat out huge entries like this.

( advogato ) Sept. 24, 2003 10:54:00 AM #

Advogato entry 132

SEC and SCO?

I've heard a lot of people suggesting that the SEC should suspend trading of SCO shares based on the speculative press releases they've been pumping out; usually, such a suggestion is countered with a claim that the SEC doesn't bother with such things. The SEC would probably disagree, however (they maintain a complete list of recent trading suspensions as well). If the business of SCO pumping up their stock price with claims about their ownership of Linux bothers you, may I suggest filing a complaint?

Car stuff

We had another DSM meet over the weekend; a smaller turnout, but thanks to Albert, we should have some decent video from the cruise into the city. We got broken up after the cruise through lower Wacker, but a few of us finally ended up at Goose Island Brewery for foodstuffs and car geekery.

( advogato ) Aug. 25, 2003 10:22:00 AM #

Advogato entry 131

CSS 2.1

Thanks for the clarification of some of the intent of CSS 2.1, sab39. I've skimmed through some of the introductory material for the draft spec, and it's pretty clear that they've learned quite a bit in the five years since the CSS 2 specification was announced.

Web photo galleries

After further inspection, gallery.py is a little too crude for my purposes, although it could probably be altered to do what I want: generate a static website that looks something like Gallery. I'd use Gallery, but it does far more than necessary; I just want something that will generate a nicely-indexed, navigable set of webpages, based on a set of images and a few descriptions. I'll probably whack away at the Python version first before plodding off on my own.

( advogato ) Aug. 20, 2003 7:05:00 PM #

Advogato entry 130

SCO

In response to SCO's latest blatherings, I simply say: "Fuck you." (Oh look, he said a bad word.) Too bad I don't run AIX and Dynix (although I've used AIX more than I'd have liked in the past); while they spend thousands on legal teams, I'd be cheerfully filing discovery motions with the court and requests to delay until the IBM case is settled, on my own time, with very little money invested. Here's hoping that the folks that SCO tries to extort are in a position to do so.

CSS

I made local copies of the CSS 2 and XHTML 1.0 standards on my laptop a while back, and have been in the process of trying to come up with a facelift for my website that not only validates as proper CSS and HTML, but follows the spirit of how it's supposed to be done a little more closely, while both retaining usability in non-graphical browsers (which comes easily) and looking mostly similar in the current crop of graphical browsers (which is proving much more difficult). The hard part is finding the parts of the standards that each browser doesn't implement; for example, any Mozilla 1.4-based browser only supports a small fraction of CSS 2's generated content standard (don't bother doing anything with counters, such as numbering section headings or paragraphs; it just won't work). I find it interesting that the working draft for CSS 2.1 is nearly done, and the draft for CSS 3 is progressing, but (very) current browsers still don't support all of the current standard yet. Hmm.

The plan is to redo the weblog using pyblosxom (I have jdub's website to thank for the reference to this cute little piece of software), and either syndicate my Advogato diary there, merge it in with local content, or something along those lines. (Haven't quite thought it through yet, obviously.) Since picking up my new camera, I've been snapping pictures like a madman, so I'll probably use something like gallery.py to at least make them a little bit browsable. And, once that's all done, I'll probably jump back into working on SubWiki, since I really need something like a Wiki to get all the stuff I have going on organized, and what better way to see how something you've worked on works than to eat your own dogfood?

Portal

No work at all. Doh. I should probably at least bundle it up a little bit and announce it as being available; maybe a few people poking at it and generating bugs and ideas might get me motivated enough to start banging on it seriously again.

Car stuff

Little updates: I competed in another autocross a couple of weekends ago, and improved my time for that course by another second and a half. A fellow I know who does good DSM head work finally has a website for his company; if you have engine work you need done in Chicago, give Mitch a call. A friend of mine back home finally decided on a car: a black 1997 Eagle Talon TSi AWD, which means he's now joined the DSM flock as well. Big DSM meet this weekend; if you're in the Chicago area, bring your DSM, go for a cruise, eat some foodstuffs, and talk about cars. The timing belt change/balance shaft removal/new pulley set work will be happening next weekend, here's hoping I don't screw it up too badly.

( advogato ) Aug. 20, 2003 11:04:00 AM #

Advogato entry 129

Ow.

Sunburns on the tops of one's feet are bad, m'kay? We camped at the Indiana Dunes this past weekend, and a day in the sun without sunblock on my feet turned into a pretty nasty sunburn. Despite the burn (and the incredible heat and humidity both nights), it was great to get away from anything with wires for a while. And our dog, 42, had a blast illegally swimming in Lake Michigan. :-)

( advogato ) Aug. 18, 2003 7:49:00 PM #

Advogato entry 128

It's been 37 days since my last confession...

Okay, so I've been a little lax in updating my diary. The remainder of my trip last month was pretty much as expected; I got a chance to drop in on a few friends back in Brandon, relaxed for a week at Mom's house, and had a good time in Wisconsin on the way back at the Dells. One of the highlights was driving through Ontario and spending the night off of Lake of the Woods in Kenora; it's a shame we didn't have more time to spend up there. I made the entire trip without a speeding ticket; this is quite possibly a personal first for me. ;-)

Link Soup

First, John Gilmore is at it again. And again. He even has a very nice button for you to wear on your next flight. And somewhere along the line, I came across this article by Rick Moen about why Linux development likely won't fork, but why it's good that it can.

And, I'm out of time. More later.

( advogato ) Aug. 18, 2003 1:26:00 PM #

Advogato entry 127

On the road...

I'm writing this from a hotel room in Winnipeg, Manitoba, Canada. The Internet service came for free with the room, and unlike my last experience, this service doesn't suck. The room came with a very stripped-down Compaq PC (no hard drive, two RealTek NICs, and a cheap 15" IBM monitor), which, when booted, loads a Linux kernel from the network, and boots up into a minimal X configuration with Netscape 4.8. The second NIC in the machine is apparently to relay DHCP services to a laptop or other user-supplied machine, but the system keeps locking up solid the second I connect a live interface to it. They use Wine for displaying Microsoft Office documents, and have a few common plugins in place which makes the service mostly usable. The lack of a slightly more modern browser is a little disturbing, but I'd suspect they have plans to move to Mozilla in time. You can browse the filesystem with the browser, and it's basically busybox, X, netscape, and the minimum necessary to make the machine function. I'm fairly impressed, it's a damn sight better than that crappy LodgeNet offering. Now if they only made xterm and ssh available, I'd be a happy, happy guy.

The trip...

After being unsuccessful in finding a hotel room where we planned on stopping, we just drove to Minneapolis/St. Paul and grabbed a room there. I'm running on about five hours of sleep, since we didn't actually get into the room until about 3:30 in the morning. Today's drive was a helluva lot easier, although there was a small delay at the border; they seem to be hand-verifying citizenship and searching vehicles a lot more than last year.

( advogato ) July 12, 2003 10:20:00 PM #

Advogato entry 126

System Swapping

Since I hit the road for my vacation on Friday, I realized that I'd better get the machine slated to replace my failing "do-all" server (SMTP/IMAP, DNS, web, source repository, etc) in place. I'd already loaded up Red Hat 9 on it, which left the job of upgrading a bunch of packages that I "care about", and getting the configurations and data migrated over from the old system. Took most of last night, but I think everything is basically up and running on the new system at this point; the big gotchas were PhpWiki (which is incredibly sensitive to PHP, bdb/gdbm, and glibc versions, for some odd reason; I really need to get that software replaced with something that sucks less) and just shuttling that godawful amount of data between the two machines (the old machine is being replaced because it dies under any significant amount of PCI workload, and transferring home directories, mailboxes, and web content from disk to network definitely qualifies).

The new machine, despite having a single processor (the old system was a dual-500MHz PIII HP Netserver, the new machine is a single-800MHz PIII system from Penguin Computing), feels MUCH snappier than the old. I'm guessing that the PCI issues I was having with the old machine were causing more problems than I knew about. I'm just glad I don't have to worry about the machine dying while I'm in Canada, unable to fix or reboot it; I've got a backup mail server, and I'll be increasing the queue retention time on it before the trip, but I'd rather not have to use it if I don't have to. ;-)

Packing

While I was yelling at my screen, Erica was busy packing up a lot of our stuff for the upcoming trip. I don't know what I'd do without her; if it had been me, I'd just grab every piece of clothing I own, mash it into a bag, and hit the road, forgetting a million things (little stuff, like toothpaste, or underwear). Tonight, we drop off 42 (our dog) with her parents, and try to get a good night's sleep before we hit the road tomorrow night.

Pyblosxom

Thanks to jdub putting it to use on 88mph, I've pulled this down and started looking it over. Nice idea (I'd never seen the original blosxom before either), I'm impressed with how they've essentially built a content management system, but kept it simple. I'm very seriously converting my personal website over to this, since I've been living in the land of Python quite a bit lately, and I'm just sick of dealing with PHP's quirks. It might also be just what the doctor ordered for Erica's wiki (which would allow me to finally get rid of PhpWiki); the wiki and moin contributed formatters would let her continue to use the syntax she's accustomed to, and there's a little CGI script for creating new entries (which could be modified to handle creating new categories as well). It's definitely on my list for when I get back to town.

Automotive

Did a quickie oil change before the trip; I was planning on doing it the same time I did the timing belt change, balance shaft elimination, and installation of the new bling-bling pulley set, but since that hasn't happened yet, and I'm overdue, I figured I'd better do it before I put 3000 miles on the car with a road trip. ;-) When I get back, hopefully I can schedule a weekend to do it; the weather just hasn't been agreeing the last few weeks.

Linux, Video, and Autocross

With the new camera in hand, Erica managed to capture a few videos of me driving at the last autocross event I attended, which gave me a quick glimpse at the state of video editing under Linux these days. My goal was to find a way to splice four videos together, and edit out a few frames; the source videos were from my camera, in MOV files. I'm a little disappointed with what I found; Kino appeared to do what I wanted, but it segfaults semi-randomly, and can't seem to actually load any video formats I throw at it; I managed to accomplish the first task (splice the four together) with a combination of mplayer and avimerge, but I still want to edit out some overlapping frames. A lot of this is probably due to my own lack of knowledge when it comes to video formats and standards, but I really thought a simple task like this would be easier. Suggestions on Linux software for doing this sort of thing (and introductory documents on the subject) are welcome. :-)

( advogato ) July 10, 2003 8:50:00 AM #

Advogato entry 125

Expensive Weekend

This weekend, we picked up a new toy for my better half: a new Toshiba Satellite laptop from the local CompUSA. 2.2GHz, 512MB memory, 60GB hard drive, CD-RW/DVD-R, 32M Radeon video card, 15" display, and a pretty good set of speakers. What a weird experience; I'm so used to the idea of building my own machines (or having machines built to my specifications) when dealing with desktops and servers, that the idea of just walking into a store and buying a system without at least taking it apart first seems...odd. Yes, I'm a control freak, why do you ask?

Pictures!

As a part of the little shopping trip above, I managed to find a digital camera I've had my eye on for a while at a very good price; it's a Nikon Coolpix 2000, 2 megapixel (1600x1200+ resolution), with a 16MB compact flash card by default. It handles 20-second movies pretty well, although that's not really what I bought it for (although, 14 seconds is all I need for a 1/4-mile track run). I'd actually been looking at the 2500 model, but the only difference (besides $100) was the little flippy camera thingy. Feh.

Portal

So I'm back to cleaning stuff up documentation-wise, and I had a mental "ah-hah!" on the train this morning regarding inter-object calls, which will no doubt result in a flurry of typing on the train home. Python rocks. Every time I think I've reached an impasse, I always find that there's a way to do what I want (in this case, call object methods as though they were functions, with a modified "self").

Work

Still busy. I'm the backup admin for a "business-critical" (insert any other frightening phrase here, such as "highly visible", "management-intensive", etc.) project/environment, and the primary is out this week, so I suspect my time will be spent doing a lot of juggling of business teams until he gets back. Gah. I never thought I'd hear myself say it, but I did: I miss working in small startups. Crazy deadlines included.

Play

I finally made another trip to the track, and while my 60' times were dramatically improved, my 1/4-mile times were only a tenth better than before, mostly due to the incredibly hot weather and the lousy gas I was running. Hopefully, the next time out will be a little more encouraging. A local performance shop held a BBQ on Sunday, and I spent most of the day chatting with a fellow DSM enthusiast (and professional engine builder) that I'd met at an autocross event a month or so ago. There are more parallels between an engine builder and a programmer than you'd think; the best of both are passionate about their work, opinionated, and have a sense of style about "how it should be done" that those outside the field just can't grasp. The pride he takes in his work is almost infectious, and it's the same kind of feeling I get from anyone who is passionate about technology. Every field has its geeks.

( advogato ) June 30, 2003 9:17:00 AM #

Advogato entry 124

A month later...

So much for keeping my blog up-to-date. Of course, tracking my time is a condition of my job, and I don't even manage to do that on a regular basis, so a diary is probably a lost cause. ;-)

Work

Lots of it. One major project has been keeping me in vendor presentation meetings pretty much solidly for the last two weeks (which, of course, means no useful work has been completed in that time), and I'm the primary point of contact on two projects where it feels like I'm herding cats and generally getting in the way more than I'm contributing in a useful manner. Then there's all the backburner stuff; reexamining how we do system patchlevel auditing across all 200+ systems, making a little headway in examining all the hardware that was ordered for the QA lab project that keeps getting pushed back, and a bunch of other little things. 6 months. I've been here six months, and I'm already falling behind. Not a good sign.

Play: Geek

The harddrive on my AisleRiot computer...er...I mean, my laptop finally gave up the ghost. Not bad for an old 10GB IBM drive that's been beaten up pretty badly. I found a pretty good (for a strange definition of good) price on a 60GB replacement on PriceWatch (from GoGoCity, specifically); $73, no shipping. It's in, and the laptop is cheerfully running Red Hat 9; as I suspected, it was a huge performance improvement, and RH9 in general is performing a lot better than 8 (which is what I was running previously).

I've done no work whatsoever on Portal. It's bugging me that I put that much effort into it and haven't polished it up enough to release yet; hopefully having the laptop working again will provide a little impetus.

Play: Non-geek

I've been countering my work stress with play stress. I spent the last two weekends and most of the weeknights pulling the transmission out of my car and installing a new race clutch and aluminum flywheel. It's so nice to be able to drive the car around again, although every other stop for the last two days has included a quick clutch position adjustment. Another hundred miles or so of break-in, and I can take it to the track again and see if all this work (and blood; I can't believe how cut and bruised I ended up) made a noticable difference. Next up: timing belt change and balance shaft elimination (mmm, more engine vibration).

Miscellany

Road trip next month. I'm heading up to central Canada for my niece's wedding, so I'll be passing through some of my old stomping grounds to see what I've been missing while out here in Chicago. To everyone I usually drop in unexpectedly on: this is your one-month warning. ;-)

Am I the only one who wishes text entry boxes in Mozilla could be implemented by Vim? I keep hitting SHIFT-V to select text, and it's just not working like I expect...;-)

That's enough for now, time for lunch.

( advogato ) June 10, 2003 10:14:00 AM #

Advogato entry 123

Tired, so very...very...tired...

I've been unbelievably busy over the past few weeks, so here's a quick update. Work has definitely picked up, I'm now lead SA on three major projects (the third landed today), all suffering the typical scope creep that everyone loves in mid-project. I've settled into the work environment at this point, with five months under my belt, but I'm still meeting people and figuring out the dynamics between departments. Weird stuff, I'm definitely not accustomed (nor entirely comfortable with) "big-company politics"; I miss working in a smaller environment.

Portal

When we left off, our brave Python adventurer was thinking he'd push a 0.1 release out for a general beating. So much for planning. I haven't touched it in about two weeks now, although I started working up some high-level documentation a couple of days ago on how the whole system fits together, so people aren't stuck scratching their heads wondering what the hell all that code does. ;-)

Car and Driver

So I finally made it to an Autocross event on Sunday, hosted by a local car club. Having never driven like that before, I was pretty impressed with how quickly I picked up on it; it's an incredible rush, and you learn an incredible amount about how your car handles in just a day of driving. The new catback exhaust is also on the car, which definitely made a difference at the top end (and just plain sounds cool), with the downpipe and high-flow cat on the way. Mmm, faster.

We (Erica and I) also managed to get a 1" body lift and new 31x10.5" tires installed on her Jeep Wrangler; we're both sore from the work, but it was worth it. It's like a completely different vehicle; you need to reach at least an extra two or three inches just to get in, and there's a distinctive low moan as you drive down the road from the tires. We still have a little work to do (swap the steering stabilizer and install a set of sway bar quick-disconnects), but it's already pretty obvious that it will handle a lot better when she takes it through a mud trail.

( advogato ) May 6, 2003 1:39:00 PM #

Advogato entry 122

Portal

Haven't had much of a chance to work on this the last few weeks, but I'm almost ready to just call it "0.1" and roll a release to see if there's any interest. There's a lot more work to be done to shore up inter-object communication arbitration, but the gist of the model is there, I think.

Car stuff

We're organizing a DSM meet; if you're in the Chicago area (or will be in town the night of March 28, 2003) and drive a Mitsubishi Eclipse (1990-1999), an Eagle Talon, or a Plymouth Laser (maybe even a Mitsubishi Lancer Evolution or Galant VR-4 for you four-door people; basically, any car with a DSM drivetrain is welcome), you're welcome to come along and cruise with us. There ought to be a huge turnout; flyers have apparently been circulating, and with the help of a few other organizers, I've slapped together a basic website so that people can see where it is we're going. Should be fun, as long as everyone behaves like adults.

Gotta run, more later when I have more time.

( advogato ) March 12, 2003 1:44:00 PM #

Advogato entry 121

Portal

Still going strong. The core of the server hasn't changed much at all since the last update (with most of the work going into the example library as a means of giving the engine a workout), so of course I spent a bit of today thinking through a few dramatic changes to object representation. ;-) I'm pretty happy with how things are progressing; assuming this new idea pans out, I've probably just delayed a 0.1 release by quite a bit, but if not, I'll may package it up in a couple of weeks and call it a first cut.

Car

The tires should arrive today, and the new wheels (ADR/RS Limited Concept Pro 17"x7") are slated to arrive on Monday, which means a trip to Roadmaster Tire that night. :-) It'll be nice to drive around without the donut again.

Work

Starting to pick up quite a bit. I'm still getting my bearings on the major project that's been assigned to me, but people have been pretty helpful so far. The work environment is very cool; people are laid-back, work gets done in an orderly fashion, and things are generally thought through at a level I'm not used to seeing in the smaller outfits I've worked at before. The commute is becoming a pretty livable routine, but I'm still not comfortable with the downtown atmosphere; I've started categorizing the people down here that do nothing but irritate me...I'm going to rant a little (a lot), so you may want to skip the rest of this diary.

First, there are the people who have an inflated sense of self-importance and act like the world will end if they don't reach their destination RIGHT NOW. These people will obliviously shove someone out of their way as they power-walk down the sidewalk and proceed a good six feet out into the street to see if anyone is coming and they can cut across, regardless of right-of-way. When they realize that they can't, they just stand there with a multitude of their equally daft peers, blocking the view of drivers trying to see around the corner (to avoid running into the pedestrians to do have the right of way). If you're looking for me in Chicago, I'm the guy standing on the sidewalk, waiting for the signal to change as a crowd pushes past me into oncoming traffic. I'll be easy to spot.

Then there's the people who stand directly in front of the door I'm trying to enter as an attempt to sell me on something. "Spare change?", "Help the homeless today?", "StreetWise?", "Getcher Red Eye!", etc. I'm going to get a t-shirt with large, unmistakable print with, "No, I do not want [select all that apply]" on it, with a list including "streetwise", "to give you any money", and a host of others. Oh, and if anyone from the Chicago Tribune is reading this, you'll never get one red cent from me ever again, thanks to the neanderthals you have handing out your "Red Eye" publication in front of the train station who practically whack you with the paper as you walk past.

In the same vein as the above, but in a category all their own, are the people who ask me for money/spare change/"sumtin' fo' a hot meal?". I walked into McDonalds today (the upscale, fine dining experience I was craving), and was greeted at the door encouraging me to "help the homeless on my way out". After getting past him, I then had to deal with the fellow at the condiments bar asking if I had any spare change. Having finished my meal, I left with the parting words of "didja save any change for me?" from the first guy at the door. Not that ranting into the Internet is going to help things at all, and I'm probably going to be called some mighty fine things as a result, but GET A !@&*ING JOB! I see "Help Wanted" signs everywhere I go, doing all manner of unskilled work on a part time basis, so lack of training or skills is no excuse. Pick up a few part time jobs (been there, done that, nearly had my house foreclosed on), and find some way to contribute to the society that you're asking to take care of you.

I come from a small town, and maybe that's why these things bother me so much, but the worst traits in people seem to be magnified downtown (at least, where I'm working and walking every day). There's nobody taking their time as they walk down the street (the smell from the sewers does a pretty good job of helping people along), people are focused directly on their destination and block out those around them, even people just lost and asking for directions (I was probably the first person out of hundreds who stopped to help a pair of folks who were obviously from out of town trying to find a particular landmark the other day), and the idea of having a conversation with someone at a crosswalk is just absurd (they'll either not hear you because they're already half-way across the oncoming traffic, or they'll think you're going to mug them/ask them for spare change/try to sell them the Word of God). It's a little disappointing to see that some of the best traits of individuals can't scale to large crowds.

( advogato ) Jan. 15, 2003 1:51:00 PM #

Advogato entry 120

Portal

This thing is growing by leaps and bounds. In the span of the last few days, I've implemented a fairly complete event handler, added a first cut at LP-style "advisory" garbage collection, and completely de-coupled the dependancy on telnet connections and "interactive users" from the object engine (leaving that work to the kernel object, where it should have been all along), which paves the way for reimplementing the kernel to do something completely different: HTTP services, one-off execution, etc. The sample library is taking shape quickly now that I have most of the object-to-object call tracking working correctly and a working event registry; the sample library is going to try and be a faithful (from a player's perspective, anyway) reproduction of the 2.4.5 LPmud mudlib, since that ought to exercise most of what I'm trying to accomplish with the object engine itself, and I have a fondness for nostalgia.

What's really cool is how fast this has come together. I've been working on it for about three weeks now; the first week was a flurry of coding and thinking, and the last two weeks have been "commuter coding" (half an hour on the train in the morning and the evening, plus any time in the evening or during the day I can squeeze in). Even so, I'm probably going to bundle up a "poke fun at it" release fairly soon, once I've fixed up a couple of bugs and implement a little more of the sample library for people to get a feel for what's possible with this (and so I can, too).

The biggest piece of functionality missing right now is the ability to update an object (or at least new instantiations of it's class) after the source for it has been modified. This whole time, I've basically been assuming that Python's reload builtin would do the trick; here's hoping I was right (considering runtime mutability of the environment was one of the main things I wanted from this project). ;-) The biggest misfeature right now that I need to address is the event handler; the object engine itself needs one, but doesn't provide a framework to build one around, making the current implementation of the kernel's backend loop (and object removal, when we have to walk the event list) a bit messy. That shouldn't be too hard to clear up, though. (Update: I just implemented object reloading, the reload function did exactly what I'd hoped. Woo!)

Work

Haven't had a whole lot to do besides some simple scripting tasks that noone's has the time or motivation (I assume) to take on; since I started right at the beginning of the holidays, everyone was taking vacation time, and not a whole lot of projects were moving forward. Starting next week, I'm scheduled for a ton of "getting up to speed" meetings, which should give me a better idea of how my role is going to fill out at this company.

But right now, it's all about the paycheck I just received. There's nothing quite so satisfying as knowing that every bill you have has been paid. :-)

Car

I just get the front tires replaced, and during a bit of snow, I slip into a curb and bend one of my rear rims to the point that the tire doesn't meet strongly enough to hold air anymore. :-P It's my own damn fault, but I'm still ticked off. Hopefully I'll have a chance this weekend to see if the rim is can be "massaged" back into shape well enough to hold air; it only needs to last until this spring, when I'll probably just break down and get new wheels and tires all around.

Misc

Picked up a mild case of food poisoning from what I assume was the chinese dinner I had two days ago. Gah, what a horrible way to spend a couple of days. Then I find out that a friend of mine has started up a blog of his own, where he complains a few days back about getting...food poisoning. Small world? ;-)

Panhandling meets the Internet?

jfleck: Thanks for the link. I'm not sure whether to laugh at the audacity of it, cry at the fact that the panhandling I put up with every morning walking to work has now followed me online, or worry that this isn't just a scam to get someone to send them some money, and that I'm just a cynical old bastard for thinking it might be.

( advogato ) Jan. 3, 2003 11:20:00 PM #

Advogato entry 119

This is a long one; a lot has happened since the last update.

Work

The offer arrived, and I accepted. As of tomorrow, I end a 54-week unemployment (setting aside occasional consulting work in the interim) and start work as a Senior Systems Administrator with the Chicago Board of Trade. Tomorrow will be purely orientation with Human Resources and a bunch of other new hires, and Tuesday should start the real acclimation. I just wanna play with the E15k...:-)

Desktop

Proving once again that I find stability boring, I jumped into the Red Hat Rawhide GNOME RPMs after taking a look at the latest GARNOME. Yay, transparent panels. ;-) On a more serious note, a few little quirks that were annoying me are fixed (Rawhide currently sports a mixture of 2.1.3, 2.1.4, and 2.1.5 GNOME packages), although I'm now having some trouble with icon theming for Nautilus (all objects, unless they have a specific Nautilus handler or a custom icon, are being displayed with the default blank-page icon).

Portal

This is the working name of a little side project I've been playing with, in an attempt to really dig into Python in more than a superficial manner. At this point, despite doing very little, it's probably one of the heavier users of python's restricted execution environment (which, I might add, I've had very little luck tracking down usage examples for at all, beyond the most basic uses of rexec and Bastion). The basic gist of the project is in the spirit of an LPmud (see LDMud, MudOS, and DGD for example implementations), but using Python as the embedded language rather than LPC (actually, the server itself is also implemented in Python). No, I'm not interested in writing a MUD (although that will prove to be a good basic proof of concept); the idea is to build a general object environment that can run relatively untrusted code (obviously, this is heavily dependant on the implementation of Python's restricted execution mode), much like the LPmud environment. Think in terms of a lightweight application server, and you have a good general idea.

The basics are in place at this point; clear communication channels between the "server" (kernel) and the contained environment ("mudlib", for lack of better terminology) are enshrined in a pair of objects that marshal access back and forth. I need to flesh out the kernel interface quite a bit, but the basics are there. The last remaining piece before it's ready to show off is communication between mudlib objects; Python doesn't provide easy methods for access control between objects, assuming that all code running is essentially trusted, which isn't true in this kind of application. So all object-to-object communication will be marshalled through the kernel object, which will "cleanse" what gets passed back and forth, using the equivilent of Bastion objects for everything; using this mechanism, I should be able to implement private and static members pretty easily.

Car

Since I'm going to be commuting again, driving on a spare tire just won't do. Two new front tires now adorn my car (rated higher than what I had previously; it's always nice to upgrade), and the stalling problem I was having with boost levels over 10 psi has been fixed with new spark plugs. After extensive road testing ;-) I'd say the car is more than ready for daily commuting again.

SubWiki, etc.

Haven't had much time to work on SubWiki lately. I saw that gstein did a little bit of obvious cleanup of some stuff I checked in that should have been done before I checked it in. ;-) Hopefully, once I start taking the train to work, I'll have a little time in the morning and evening to get back to playing with it (although the Portal project has been sucking up a lot of my free hacking time, if only because it's been a whole lot of fun reexamining LPC-related stuff again). I fired off a few more patches for Subversion related to the SWIG bindings, and even had a chance to pop off a simple autoconf patch for Galeon. Whee!

That's it for now. Time for bed; going to be a busy day tomorrow.

( advogato ) Dec. 15, 2002 8:28:00 PM #

Advogato entry 118

Reloading

After a couple of days of reloading and getting the machine the way I want it, my last Windows machine is now my primary Linux desktop. I'm pretty happy with the results so far, although I've been pretty busy updating a few of the apps I use regularly (specifically, GAIM and Evolution). A few observations: Evolution is slow compared to performance on the laptop; I need to find out if that's just the difference in builds between the Ximian version (loaded on the laptop) and the unofficial version katzj put together at Red Hat, or if there's something significant I've done differently. Also, while I never noticed it on the laptop, memory usage of gnome-terminal is completely unacceptable; when my terminal emulator fills more resident memory than my web browser (mozilla), there's a problem. I'm temporarily back to xterm until I have a chance to look into this a little more (I may just stay here, if only for the sane cut-n-paste; what's with this shift-ctrl-c/shift-ctrl-v crap?).

Subversion/SubWiki

New machine, new installation of Subversion and SubWiki, since I'll probably be doing development here now anyway. In the process, I've put together a few RPMs of Python 1.5.2, SWIG 1.3.16, and neon 0.23.5 for Red Hat 8.0; feel free to grab them if you find them handy (the python 1.5.2 RPMs will happily live side-by-side with python 2.2, and the SWIG RPM is built against python 2.2; you'll need another copy of SWIG installed somewhere if you want compatibility with 1.5.2).

Credit and Fraud

Just because you're paranoid, doesn't mean you won't become the victim of identity theft. I was turned down for credit recently, and I took advantage of the opportunity to get a copy of my credit report from a couple of our fine credit reporting agencies. It turns out that the reason I was turned down was a delinquent credit line that was taken out in my name, with bills being delivered to a Milwaukee, WI address. It was taken out jointly in my name and the name of a Sharon Boos (who I've googled down to an address and phone number in WI). After a little bit of phone tag, I've managed to contact the company that granted the credit, and they indicated that they had another fraud report ongoing right now involving the same woman; they were very appreciative of the address and phone number. ;-) It looks like all that I'll have to do at this point is sign an affidavit that the account was opened without my knowledge, and everything should be cleared up without much intervention on my part, but that doesn't make me any less angry about it. At this point, I have no idea if this woman was a victim of fraud as well, or if she was involved. Lesson learned: you are helpless to prevent this kind of crap, regardless of how anal you are about not providing key information to people. My faith in my fellow man just took a significant hit: what offences I used to chalk up to ignorance or stupidity, I will now very likely chalk up to malice. Bah.

( advogato ) Nov. 22, 2002 3:19:00 PM #

Advogato entry 117

SubWiki

Coming along nicely. WikiWords are now recursively indexed (SubWiki, being built on Subversion, has a full directory tree in which to play; subdirectories make for a cool way of providing categorization of pages), in preparation for work on ReverseLinks/BackLinks. That's one of the last big things I'm needing out of it; the rest of the work I have planned falls under "fit and polish".

Subversion

Submitted a patch to fix a problem with the SWIG bindings turned up in the SubWiki indexing work. SWIG is cool. SWIG does cool things. SWIG gives me nightmares. ;-)

Work

The interview went very well; I'm hoping to hear something back from them this week. Interesting environment; they've definitely got a cool culture around there, and unlike most of the dot-bombs I've been surveying lately, they really have their act together in terms of policies/best-practices and staffing (three shifts rather than burn-out levels of pager duty). Shouldn't be too surprised; as the recruiter put it, "When other people have outages, they have a little bit of downtime. When we have an outage, we're in the Tribune." Two data centers in-house, and some new toys to play with as they migrate off their old Tandem-based trading backend. Very different environment for me, but the technology is all the same stuff I'm used to, so hopefully they'll find me to be a good fit.

Windows

That's it, I'm done. I've been on a Linux desktop for the last 5 years, but I've always kept around at least one machine somewhere as a Windows-only system, which inevitably ends up taking the brunt of my daily computer usage (at home; at work, I've successfully fended off Windows encroachment for a very long time). But over the last few days, I've been doing a little audit of my home computer usage, and I've found a few interesting tidbits: all of the games that I play have Linux counterparts (or ought to run well under Wine), GnuCash is proving to be a serious contender as a replacement for Quicken, and nearly all my other desktop functions moved to my Linux laptop a long time ago. Add to that the fact that my choices of video and sound cards are actually better-supported under Linux than Windows (when's the last time you heard that claim?), and that's it, I'm done. Tomorrow, the machine I'm typing this diary entry on becomes a Linux desktop. It's about damn time I ate my own dogfood again.

Miscellany

More playing around with Jython. I have half a mind to convert over my current PHP website to a combination of Tomcat/Jython and gstein's ezt templating system.

rblcheck has been receiving some unexpected attention lately; a new user decided to take it upon themselves to figure out what was needed to get it building under Win32, and the result was sufficient prodding to get me to release a Windows binary along with the autoconf magic needed to build it checked into CVS. It's been fun seeing actual traffic on the rblcheck mailing list lately; I'd rather thought that rblcheck had reached that "mature" stage of life where people didn't really talk about it much anymore. ;-)

I had started a long and terribly politically-incorrect rant about this piece of work, but I'm going to resist the urge to actually post it. I gave myself a couple of days to think about it, and while I still find myself disgusted that the Linux Documentation Project sponsors such a thing (what on earth does someone's issue with someone else's behavior have to do with Linux?), it's not worth spitting venom over. To the authors: I will continue to behave exactly as I do. The fact that you have breasts makes no difference to me when I'm going over a technical issue, and your attempt to make me feel bad for not considering your gender when discussing a topic is outrageous. I'm not interested in helping anyone get involved with Linux, whether they're women or men, if they don't have a sufficient level of interest themselves, and don't have the time or energy to devote to learning how this community works (I had to adjust when I started getting involved with free software, and had to develop a thicker skin; you can too). Go ahead, call me a sexist pig. And I'll continue to ask why your gender should matter to me.

"On the Internet, nobody knows you're a dog." Unless the dog demands special treatment or asks that the community change for them.

( advogato ) Nov. 19, 2002 8:56:00 PM #

Advogato entry 116

Jython

This is one of the coolest abuses of the Java environment I've seen in a long time. Words cannot describe the joy that is writing something like this:
import javax.servlet.http as http
class FooBar(http.HttpServlet):
  def doGet(self, request, response):
    response.contentType = "text/html"
    print response.outputStream, "<h1>Foobar!</h1>"
...rather than something like this:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class FooBar extends HttpServlet
{
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
    throws IOException, ServletException
  {
    response.setContentType("text/html");
    response.getOutputStream().println("<h1>Foobar!</h1>");    
  }
}
Overall, I'm impressed with how well most of the Python I've thrown at it runs; obviously, things like asyncore aren't implemented due to the pre-NIO lack of asynchronous stream management, and there are a few gotchas between CPython and Jython, but no real show-stoppers. Well, I take that back; SWIG extensions built for CPython won't work under Jython, which was originally what got me extremely excited about the idea; I was hoping to add a servlet handler to SubWiki to compliment the command line and CGI handlers, but being unable to import the Subversion SWIG bindings pretty much put an end to that idea. :-P Maybe once someone has a chance to revisit the JNI Subversion interface, this will be worth looking at again.

The biggest win I'm seeing is the smooth mapping of the Java APIs to Python; accessing a variable of a class instance directly is automatically mapped to Java getXXX/setXXX accessor functions, Java's strict typing is nowhere to be seen, and most Java types are mapped to their Python counterparts "correctly" (with a jarray module being added so you can manipulate Java arrays directly). While you'd never want to adopt this over CPython for day-to-day uses, using it under Tomcat for servlet development is a huge win over the clunkiness and poor performance of CGI, and the productivity gain (YMMV, of course) of writing servlets in Python instead of Java is immesurable. One missing piece is a Python replacement for JSPs, but honestly, I think I'd rather use something like gstein's ezt anyway.

PLEAC

What a good idea! It's a shame that it doesn't look like they've had much in the way of progress over the last few months (except for the addition of some Common Lisp code today). I'll have to scrape up some code for a few of the languages I'm familiar with and send it along.

Work

Finally heard back from a lead I'd spoken to a few weeks back about a lead Solaris administration position with a trading firm downtown, and it sounds like they still want to talk to me, but the hiring manager hadn't been able to free up his schedule for interviews. From the sounds of things, I ought to be doing a face-to-face with them sometime next week.

Voting

I had originally written a very lengthy rant about the uninformed voting (well, mainly non-voting) populace that I've come into contact with over the last little while, the disgustingly negative media circus that was put on by all of the major party candidates, the complete lack of acknowledgement of third-party candidates by the mainstream press (good or bad), and the general bad taste I have in my mouth after this whole thing. But instead, I just hit delete. Anyone reading this diary has already seen it before somewhere else, probably written more eloquently than I could. But hey, I've got this great little sticker that says I voted.

Car

Front tire is flat because of a gash on the sidewall, so I'm looking for a good deal on a couple of replacement tires (the other front one is pretty much bald). I also need to get out there and put the timing belt and spark plug wire covers back on before it gets too chilly outside (that's just what I need, snow and moisture collecting in the lower timing belt covers or in the valve cover around the spark plug wires).

( advogato ) Nov. 5, 2002 11:26:00 PM #

Advogato entry 115

New Router

The new router is in place, and doing it's thing beautifully, even with the conversion from ipchains to iptables. As a side note, I highly recommend the book Linux Firewalls by Robert Ziegler if you're having to do any significant amount of work with Netfilter. The first edition of his book is exactly how multiple editions should work: the first book is solely about ipchains configuration, while the second is solely about iptables, making both very useful bookshelf additions. You know, I think I've raved about this book in my diary before; no matter, it's still an excellent text.

SubWiki

After fighting with it a little bit more, list formatting is now working in a manner which pleases me, and the inability to find a page reports a 404 now instead of a Python traceback, so there's only a few more things I need before I start switching people over to it. ;-) Next on the list will probably need to be '[text|url]' parsing, since I and my better half are pretty addicted to it, along with a few other common TextFormattingRules extensions. I'm specifically avoiding doing anything with BackLinks, even though it's on my "I really want that" feature list, since I want to talk to gstein about it first to find out what he's got planned in that respect. Finally, little side things: a command for giving a revision history (I'm sure there's code in ViewCVS/ViewSVN that can be borrowed for the task), a command for rolling back a page, etc. I can do all that through svn, but it would be nice to not have to depend on that to get stuff done.

Subversion

Note to self: making a suggestion that people like pretty much puts you on the hook for implementing it. ;-) We'll see what kind of time I can throw at adding cloning properties this afternoon.

Googlism

Well, since everyone else is doing it, edward marshall is printed as #1951.

( advogato ) Nov. 1, 2002 10:11:00 AM #

Advogato entry 114

Machine reloading

*yawn* It's now a little past midnight, and I'm pretty close to finishing up the preparations for swapping out my failing Pentium 133MHz router for a far more solid 1U PIII 800MHz. I can't believe I'm finally replacing that old machine; it's held up (in various incarnations) remarkably well for quite a few years, having originally served as my primary desktop many moons ago. It, along with a similarly low-powered machine, will probably be repurposed for the OS-of-the-week (I've been wanting a machine to poke around with OpenBSD on, and I really need to get Debian installed somewhere so I can start messing around with deb packaging). I've been having a hard time with the idea of throwing this much hardware at a router, but the ipchains (now iptables) rulesets are starting to get a wee bit more complicated, it's running squid (poorly, currently, but the new box looks to be quite up to the task), and I'm going to be running a couple of VPN connections from the machine in the next few weeks, so I guess it's about time.

The other one...

The 1U machine (insert blatant plug for Penguin Computing here) came with a brother, so I'll be tackling that one next as a replacement for the dual 400MHz HP Netserver LPr that currently suffers from more than it's fair share of PCI problems (due in no small part to a shoddy PCI riser card). If I can get the PCI problems resolved on that box once the new one is in place, it'll make for a very nice database server.

Naming conventions

All of this has lead me to reconsider my naming scheme. I've been borrowing from a particular Greek myth ("labyrinth", "minotaur", "talus", "minos", "gatekeeper", "daedalus", etc...you get the idea), but as with all things aesthetic, I get bored easily. ;-) So, I'm tossing around ideas for new names for everything, since damn near everything seems like it's getting reloaded this week. Current theme ideas include Tolkien references, Hitchikers' Guide to the Galaxy (our dog is named "42", so I may have already abdicated this one to the pets ;-), major geographical landmarks, and a host of others, but I can't help but feel that they've all been done to death. Must sleep on it.

WikiWikiWeb 'til you cain't Wiki no mo'

The award for "cutest use of a revision control system" goes to gstein for SubWiki, a WikiWikiWeb written in Python, using Subversion as the page repository. It's not exactly feature-complete, but it's a very good starting point. I need to sink my teeth into this thing so I can stop installing PHPWiki all over the place (my better half already has one for personal use and one installed at her work).

Job Front

Had a promising initial contact and HR-level interview with a trading firm downtown regarding a lead Solaris administration role last week; now I'm just waiting for a follow-up. Gah. Sounds like an interesting position in a high-transaction environment, which would get me back into a solid infrastructure role again, but I was really hoping I could find something that wasn't downtown. Mind you, at this point, I'll take whatever I can get. (Again with the plug: if you're looking for someone with a solid background building and maintaining highly-available, highly-visible environments running just every modern flavor of UNIX and a variety of network gear, system software, and programming environments, drop me a line.)

Personal

Getting bogged down, although having a project again (see above about reloading damn near every machine I own) is definitely helping. Unfortunately, it's just about crunch time; if one of the positions I'm working on doesn't pan out very soon, I'll probably be asking if you want paper or plastic. Bah. Time to stop thinking about it and go to bed.

( advogato ) Oct. 22, 2002 11:48:00 PM #

Advogato entry 113

Red Hat 8.0 and rpmbuild

So, building RPMs under 8.0 is a little different than before. First, "rpm -ba ..." is no longer an option; you have to run rpmbuild directly. Not too surprising, should have seen that one coming. Second, "%_unpackaged_files_terminate_build" now defaults to 1, which means files that a build just skipped before now cause a fatal error (which I found out trying to build an updated Apache...DOH!). Here's a reference for anyone else wondering about the options for stuff like this. Who knew rpm.org was being updated? *grin*

Red Hat 8.0 and Subversion

Builds pretty much right out of the box, with very few surprises. The catch, of course, is that Red Hat decided to not package up apr and apr-util (I don't blame them, they're quite a moving target; here's looking forward to 1.0), which affects mod_dav_svn pretty severely. You can do one of two things:
1. Snag the apr and apr-util from the 2.0.40 (plus patches) version of Apache that Red Hat ships, and build subversion against that.
2. Just go ahead and build your own updated 2.0.43 RPMs, and rebuild all the module SRPMS you use against the new server.
PHP is rebuilding as I write this. ;-) A quick note to save anyone else some time; 2.0.43 builds without a hitch, but you'll need to drop httpd-2.0.36-cnfdir.patch since it made it into the upstream version, and you'll need to hack up the OpenSSL version check patch to match the 2.0.43 check (I'm sure there's a good reason why Red Hat delivered an out-of-date OpenSSL, but I'm clueless about it). Oh, I also added /usr/lib/httpd/build/instdso.sh to the -devel manifest, since you're really going to want that if you try building any third-party modules via apxs. I've got an SRPM sitting here if anyone wants it; drop me a line if you do.

Subversion and XML/XSLT

Mmmmm, I had no idea that svn had a mode for dumping raw XML with an XSLT stylesheet. The stylesheet from svn.collab.net works flawlessly in both Moz and IE 6, and looks a damn sight better than the plain 'ol HTML output (and, the added bonus that if you're not up on your DAV programming, writing a simple XML parser for the output is a snap).

Cocoon

Had a few minutes to kill at the bookstore tonight, so I flipped through a copy of the recently-released book about Cocoon from New Riders (Cocoon: Building XML Applications by Carsten Ziegeler and Matthew Langham). Having never had a chance to take a look at Cocoon before, I'm quite impressed; they've assembled a very nice website publication framework. I really need to get it installed on my little Tomcat playground here and see what I can make it do. Not to mention all the other projects up on xml.apache.org and jakarta.apache.org. (Why do I feel this incessant need to stay on top of every new toy that hits the 'net?)

Miscellaneous personal stuff

Not too much new on the job front; I'm playing phone tag with the director of education at a local-area college regarding an opening for a instructor (teaching an evening class on Red Hat Linux), and doing the waiting game on a few recruiters for full-time positions. <div class="shameless plug">I'm available for on-site systems integration, management, programming, or training in the Chicagoland area, or for telecommuting programming work elsewhere, either on a full-time or corp-to-corp contracting basis. Go ahead, send me an offer. You know you want to. :-)</div>

I have to admit, I'm pretty excited about the idea of doing an evening class; I've been wanting to start investigating a career change toward teaching, and this would give me a perfect opportunity to make sure that it's really something I want to do before investing a large chunk of my life into it (since I never completed my final year of University, coming up on ten years ago, I have an incredible amount of catching-up to do; the level I've focused on teaching at would need me to get my M.Sc at the very least, as real-world experience has very little to do with academics *grin*).

Still having incredible trouble sleeping; I haven't gone to bed before 3:00 am for nearly three weeks now. It's the same pattern every night: go to bed at a reasonable hour, then spend an hour tossing and turning while my mind races around the million things I need to get done, the bills that are starting to pile up, and our "drop-dead" date where I end up working at whatever job is available (retail, etc). So, I get up, and go work on something until I'm so exhausted that I can't see the screen clearly anymore, which pretty much guarantees that I'll fall asleep the moment my head hits the pillow (tonight's job: new Apache and PHP RPMs, with rev. 3348 of Subversion and a rebuilt mod_jk). Gah.

Ye ghods, I wish I could just go outside and work on the car instead of worring about this stuff. Things are so simple when it's just bolts and grease. Too bad the parts I want cost more than I'll be able to spare until at least next summer. Ah well, at least I know I'll be able to fairly easily hit 12 seconds in the 1/4 mile next year if I can build up the car according to plan. Going fast is addictive. :-)

( advogato ) Oct. 11, 2002 1:17:00 AM #

Advogato entry 112

Language Learning

A few people asked me recently about my seeming obsession with trying to at least get a cursory grasp of every programming language I come into contact with, and how I go about the process of learning them. It always seemed like a pretty personal, informal process, until I thought about it a little more; I actually have a simple, but fairly formal, approach to learning a new programming langauge to the point where I can do semi-useful things with it (or at least feel comfortable enough to be able to figure out how). So, I decided to document it a little bit and put up a webpage about the effort.

The basic gist of it is "doing homework". (No, really! ;-) For my purposes, that assignment is to recreate a throw-back to the good 'ol days: build a very basic multi-user environment that you can telnet into and interact with other connected users. Nothing fancy, just group and private messaging, see who's connected, and unauthenticated logging in and out. It seems to me that you give a language a pretty good workout by the time you've completed this task; you need to learn basic syntax and the magic to build and/or execute the code (obviously), you usually have to figure out whatever kind of library or extension API scheme is in use (usually networking isn't a core component of a language), learn how to handle objects and threading if applicable and useful, absorb how file I/O is managed (logging, for example), and any number of other things depending on the language and how well it lends itself to this kind of problem.

I'm at the point where I can usually complete the task in a few days, given enough time to work on it and a few trips to the bookstore with my laptop (let's face it, there haven't been any real language design "breakthroughs" in a while, so it's mostly just a matter of wrapping your head around the new syntax). I believe my favorite for this problem so far is Tcl, if only because of how easy it makes serialized, event-driven I/O. Perl, Python, and Ruby seemed roughly equivilent, and C, C++, Java, and C# are a pain in the ass (IMHO, YMMV). (No, not all of those are up on the page yet; I have to re-create them from memory, since it's been a while since I went through the exercise with any of them.) I'm not putting these up to win any style awards; frankly, the code for each example is...well...ugly. But it served the purpose: introduce the language quickly. Hmm, which reminds me, I should see if I still have my Guile implementation lying around somewhere...Scheme/Lisp is actually different enough in structure to be interesting for a project like this.

Mono

As a result of my little language project, I decided to get Mono installed to take a whack at trying it in C#. I'm impressed, not by the language (syntactically, I don't see much divergence from Java), but by the maturity of the Mono project iteself. The whole package (which is surprisingly light-weight) installed without a hitch, and it seems to have no difficulty with the code I've thrown at it so far. Nice work, guys. Now, if only "using System.Net.Sockets.EventDriven;" worked...:-) (Astute readers will note that this is a C# issue, not a Mono issue; they may even notice the smiley at the end of the line.)

More PHP

Doh. Having written the crufty mess that is my resume presenter, you'd think I'd have been more careful about relying on $argv containing parameters passed to the script. Nope. Problem fixed, parameters are now named and read via $_GET. Thank goodness for mailing list archives; I'd have spent a very long time trying to figure out why that wasn't working anymore.

The good 'ol days

Anyone else miss writing things in LPC, or am I the only old throwback around here who remembers such things? Geez, what a fun language and development environment. All this new dynamic jay-two-double-E-ifed whizbang-oriented frobnitz-driven wondersplat-dot-net, makes my head hurt. Bah. I'm going to bed. ;-)

( advogato ) Oct. 1, 2002 11:33:00 PM #

Advogato entry 111

AWStats

Finally got around to generating nightly statistics on the websites I host; in the past, I've usually used Analog or Webalizer, but a friend of mine mentioned AWStats when I was in the process of setting up his new election website (if you live in Brandon, go, uh, vote, 'n stuff), so I decided to take a look. Not too shabby, has a nice sane set of defaults out of the box, and seems to lend itself well to doing processing for multiple virtual hosts. I'll have to see how it looks after a few months of logs have been ground by it.

SquirrelMail and register_globals

Yay! They've finally pushed out a release that plays well with PHP's new register_globals default (when enabled, it creates global variables named after parameters passed via the HTTP request; it doesn't take a very crafty person to think of exploits related to that). The new default is off (good), but a LOT of software out there relies on the old behavior, even though the safer means of accessing this data has been around for a while. That was the last piece of PHP-driven software I needed to get converted so I could disable register_globals once and for all, which I've finally done.

( advogato ) Sept. 27, 2002 10:21:00 AM #

Advogato entry 110

PhpWiki

Argh. After pulling out a little more hair, I now have my other half's Wiki back online. It seems that the PhpWiki developers decided to ob_start("ob_gzhandler") any time it was detected (with the laudable goal of compressing everything sent via the wiki). The problem is, most modern browsers don't support it correctly. Both IE and Mozilla were ignoring the Content-Encoding header that Apache was delivering, and tried to display the random gobbledy-gook that is a gzip-compressed stream. *sigh* A quick application of /* */ around the body of compress_output() in lib/Request.php was just what the doctor ordered.

The amusing part is that I had no idea the problem existed until Erica tried to access it from her place of employment; it seems that Squid was performing the necessary magic to make all of our internal browsers happy. Whee!

Ditherati

I was greatly amused by today's Ditherati quote (original CNN article), where Jim Brock of Yahoo! essentially apologizes for the substandard programming work they've been doing up until now. It reminded me of an article from Paul Graham called Beating the Averages (all about his work with ViaWeb, which was later acquired by Yahoo! and turned into their shopping portal), where he discusses how doing all of their development in Lisp gave them a serious competitive advantage.

I'm so confused now, I don't know who to believe! ;-)

( advogato ) Sept. 19, 2002 10:33:00 AM #

Advogato entry 109

Still here...

I'm still around, even though I've been a little too quiet lately. Life has taken a few interesting turns lately, which has resulted in very little energy for updating the diary. I'll be better from now on. Honest.

What's down?

Tomcat is dead again, bah. I'm having no end of trouble getting it to actually fire up; it's failing with an obscure exception. Likely another case of PEBKAC (problem exists between keyboard and chair). On top of that, a recent glibc upgrade appears to have b0rked jabberd (or, more specifically, the AIM transport; I really need to start lobbying my friends to start running Jabber natively). On the upside, I've cut over completely to Apache 2.0. I can't imagine ever switching back to 1.3 after playing with this version.

Hosting

I'm hosting a friend's website for his election campaign (no link just yet, I'm not sure if he wants it made public until he's done setting it up). Sounds like he's a pretty strong candidate for the position in comparison to the competition. Hope he wins. :-)

Work, or lack thereof...

I have been without a full-time employer for 292 days now, not counting the occasional consulting work I've been able to find in the interim. Money is getting very tight these days; yay stress. I continue to be amazed at the change in the job market from just a couple of years ago. (Shameless plug: Anyone looking for a jack-of-all-trades fellow who can manage high-availability/high-visibility UNIX environments, read and occasionally write in a hodge-podge of programming languages, and put up with requirements that change daily without strangling too many nearby developers? I'm your guy. Have your people call my people, we'll do lunch. :-)

Random ramblings

It's 2:30 in the morning in my neck of the woods, and I've been seeing this hour come and go quite a bit lately. I've always thrived on a little bit of stress, and this is the usual result; late nights doing anything until I can fall asleep quickly. ;-) I've noticed that I don't take to the weird hours like I used to; yet another sign that I'm not a kid anymore. I've been polishing the resume a bit lately, and I have nearly a decade of honest experience in this industry behind me now; a few of you old-timers reading this might laugh, but that sounds like a lot longer than it felt. Today, I have friends running for public office, educating at the post-secondary level, and operating successful companies, but it doesn't seem like very long ago that I was talking with neighbors in residence about what we'd be doing four years from now (then?) when we graduated. Back then, geekishly asking a cute music major to dance and making a complete fool of yourself; today, wives and ex-wives, long-term plans, and wondering what ever happened to that cute music major (or if she even remembers your name ;-).

Yikes. I just re-read that; you'd think I was 80 from the way it sounded, but I'm only barely approaching 30. Hmm, I wonder what I'll be remembering a decade from now?

( advogato ) Sept. 17, 2002 1:13:00 AM #

Advogato entry 108

XSLT/XPATH

Whew. After a couple of days of making myself use XSLT to parse a simple XML database into something useful for my home page, I think I finally have a reasonable handle on both XSLT and XPATH (although I do have a headache now; why they're specified separately, I'll never know...one would seem to be an academic curiosity without the other). Unfortunately, the version of PHP bundled with Red Hat Linux doesn't have support for XSLT; oh well, xsltproc from the libxslt package does the job just fine for now, until I can get PHP rebuilt. (Hmmm, maybe now is a good time to just bite the bullet and cut over completely to Apache 2 while I'm at it.)

Tomcat

In another fit of energy, I finally got Tomcat installed in a semi-production form, and I converted over the netlogic website (as-yet unreleased) from PHP to JSP (it was really just some simple templating, so the conversion was easy and served to demonstrate that yes, I did in fact get the Tomcat working). If you work with this stuff and use an RPM-based system of some kind, you really want to see the JPackage project; they've done a spiffy job of packaging up almost everything the Jakarta Apache project has put together (except, unfortunately, mod_jk). Definitely a time-saver trying to get all the dependancies right.

Non-Geek

More modifications to the car, and I've been getting a serious itch to get out to the track and get some quarter-mile times. New business cards ordered, which reflect the fact that I have a registered corporation name now; just need to get the damn logo done (which means I'll probably be digging back into SVG; it's funny, every time I want to learn a new "thing", I find a good non-trivial project to do with said thing, and make myself accomplish it...seems to work for me, anyway). Other than that, still trying to market myself in the local area, and watching the declining bank balance; isn't being a free agent fun? ;-)

( advogato ) July 26, 2002 3:18:00 PM #

Advogato entry 107

Exhausted...

Just finished a two-day job on-site for an ex-employer helping them move their data center and a good deal of other gear to their new facility down the road. Sore legs and backs help determine the difference between systems administration and programming, methinks. ;-)

In lieu of my daily fee for the first day of work, I managed to acquire some rather nice hardware that they needed to clear out; a full 42U Compaq 19" rack with several shelves and keyboard drawer/keyboard+trackball, an 8-port Compaq KVM, two of the 1U 800MHz systems from Penguin Computing that I lovingly cared for when I used to work at this employer, and a dead (but RMA-able) rack-mount LCD display. I have no idea how I'm going to get this monster up the stairs to the office, but it'll be nice to not have my rackmount APC 2200 UPS lying on the floor anymore. Hmm. Now I just need a Cisco Catalyst 2900 from somewhere, to replace these annoying little Netgear switches with...

Episode II

Finally saw it. Better than Episode I by immeasurable amounts. Everyone keeps asking me whether I liked Spiderman or Attack of the Clones more; that's like asking if I like downhill skiing better than the flavor of peanut butter.

Automotive

I have the Eclipse shop manual on order, and I'm planning on picking up the Symborski shifter bushing kit to stiffen up the currently overly-loose shifting. Need to find someone with a short-shifter installed to see what I think of it; not sure if it'll result in enough of a difference to be worth it. My better half has been researching a lift kit for her Jeep Wrangler, and the height of the lift has changed recently from 2.5" to 4", with 35" tires. Should be fun figuring out how best to injure myself while installing this with her. ;-)

Heh. Who knew I'd ever start turning into a car geek?
( advogato ) May 31, 2002 10:14:00 PM #

Advogato entry 106

On the road...

Quick update from Butte, Montana, via LodgeNet service at an area Best Western. My tip for the day: if you find yourself at a hotel which offers LodgeNet service, save your money, unless the ability to hook up your laptop/travelling system of choice is available; a crappy IR keyboard coupled with a stripped-down product offering (no traffic on ports other than 80 or 443 permitted, no non-HTTP protocol support such as a basic telnet or ssh client, an unchangable and huge font for displaying everything, and no Java support in the browser, meaning on ability to compensate for the lack of telnet support). Not that I'm surprised that a more technical user would find the service grating, but I thought they might make a somewhat better effort, considering how well-integrated the other services are (Nintendo 64 service, access to your hotel room account, etc).

Car...

Despite a small glitch resulting from the last-minute modifications I made to the Eclipse just before departing on this vacation (one hose not tightened properly), the car has performed admirably on several different terrains (wide-open roads in North Dakota, Saskatchewan, and Alberta; winding mountain roads in Alberta, British Columbia, and Montana). I'm quite pleased with my new toy. :-)

More later, when I'm at a terminal that doesn't make me retype everything three times before it gets it right...
( advogato ) May 19, 2002 10:39:00 PM #

Advogato entry 105

Car

Got the car. A white 1999 Mitsubishi Eclipse GSX, 5-speed manual, sunroof, surrounded by power accessories, and a wing on the back that nicely frames the car I just passed at an ungodly speed.

No hacking today. <div style="simpson">Can't talk, driving.</div>
( advogato ) April 18, 2002 3:30:00 PM #

Advogato entry 104

Hacking

Realized that I didn't know of any handy command-line XML-RPC clients, and decided to do something about it. I've written an extremely simple XML-RPC library interface (right now, it consists merely of a methodCall() function, which returns an XML-RPC response). In the process, I've decided to delve further into libcurl and libxml. Handy little libraries; libcurl definitely makes it easy to deal with HTTP transactions (including automatic http_proxy and family support by default), and libxml has made handling the XML responses trivial. I'm hoping this will make a handy little command-line utility when it's done; what can I say, I won't be happy until I can do everything I need to with /bin/sh. ;-)

Life

There's been an incredible series of good events happening around me lately; Erica finished her MCSA yesterday; I just found out that, despite being self-employed, my credit is good enough for the car I've been wanting for quite a while now; I've just successfully billed three separate contracts, with a fourth that should be closing soon; once the car is purchased, we'll probably be taking a road trip back to Canada to visit Mom (yes, I'll be stopping in Brandon for a day, for the folks back home who read this); and Erica might have a shot at a permanent position at one of the companies I just finished working for. Life is busy as hell, and I'm happier than I've been in a long time.
( advogato ) April 17, 2002 10:57:00 PM #

Advogato entry 103

Note to self:

Start writing Advogato diaries in XHTML 1.1 so it doesn't skew my home page's conformance. ;-)
( advogato ) April 5, 2002 3:44:00 PM #

Advogato entry 102

PHP and "toy coding"
whytheluckystiff and lindsey mentioned recently that they had a feeling that developing in PHP is like "toy coding". PHP has always seemed to me to be the premier rapid prototyping language for the web; there is enough structure there for anyone to quickly deploy a working model or mock-up, but enough flexibility to be able to crank out something without worrying too much about formalities.
That being said, being the premier rapid prototyping language is sort of like being the best silly putty around; it might do a fine job of constructing a miniature, or even a simple working model, but you'd never build the world's largest buildings with it. The right tool for the right job. (Footnote: apparently, tools aren't as important as location when it comes to construction...)
More XML-RPC play
Looks like gary has rolled the diary.getDates() patch into the live Advogato, and so my home page (written in PHP, see above about the tool for the job ;-) now has proper datestamps on each entry I'm displaying. Still haven't added caching, but now that timestamps are available, I can do a more intelligent job of it.
O'Reilly mania
I'm now the new owner of a ton of new (to me) O'Reilly books on Java and others in a recent blowout of older inventory by MicroCenter; I've seen the same titles selling cheaply at Barnes and Noble and Borders, but MC is selling them for $2.99 and $3.99 each. A quick check of the O'Reilly website tells me that they're coming out with new editions of most of them, which is why people are getting rid of the older editions. Works for me. :-)
( advogato ) April 4, 2002 10:53:00 PM #

Advogato entry 101

LVS
I