Recent blog entries for 4am

jamesh: If the foundation is seriously considering a preferential voting system, forget about STV and IRV and join Debian (among others) in using this Condorcet method of voting.

I am not going to let these entries deteriorate to once-a-year!

I've had quite a fun time taking over hosting and maintenance for WEBoggle, a MMOCG (medium-sized multiplayer online cube-based game). The original author, Logan Ingalls, did an excellent job of designing the DHTML client and Perl server, but had to abandon it due to hosting issues. I adopted it, and rewrote the backend in Python (with SCGI) for performance and maintainability. Now I'm struggling to deal with all the travails (mis-cacheing, browser incompatibilities, etc) to which an online game is prone. If the game's players have half as much fun with it as I have coding it, then I had twice as much fun as they did!

I had read about geocaching, but never really investigated it. During a family visit in Boulder, CO a few weeks ago, my dad introduced us all to it, and took us out to find several caches in the area. Fun! The kids now want to continue geocaching here in Waco, and according to the website there are hundreds in our area.

I still can't remember my advogato password, but I finally fetched my cookie from an old backup and changed it to expire some time next millenium.

Random observations from the last half-year, in no particular order:

  • My first annual colonoscopy was clean -- yay me!
  • Plone conference was a lot of fun, though my ZPT talk was excessively rambly and probably unhelpful. Meeting with ChrisMcDonough and the Plone folks was a blast, and my wife and I spent way too much money on good New Orleans food and souvenirs.
  • Zope 2.7 rocks, and I continue to fix bugs and add small features regularly.
  • I'm finally getting around to a major refactor/rewrite of my ZPT code, properly incorporating sub-path prefixes.
  • My sister is now into DDR. I gave her the old Playstation and PS1 DDR disc that have been collecting dust ever since I found StepMania.
  • Dirvish has finally got me doing regular, useful backups of all of my important data and configurations.
  • I almost had to use my backups when my Rackspace-hosted server started stuttering heavily on a bad sector. With a lot of help from their "fanatical support" technicians, I was able to get everything transferred to a new drive and working in less than a day.
  • I violated the "if it seems too good to be true, it probably is" rule by buying several pieces of jewelry from an ebay store at prices an order of magnitude below what I could find elsewhere. They arrived, and appear to be as-advertised, so I'm not sure what to think.

Once again, it's time for the ICFP Programming Contest. This year it looked like I'd have a totally free weekend. Mom took the youngest on an Elder Hostel trip for a week, the eldest is in Ohio with other Grandma looking at a college, and the middle kids arranged to sleep over. My wife decided to go to the casinos at Bossier City with her brother.

ChrisMcDonough, hathawsh, and I set up a CVS repository and TeamSpeak server. The problem was to optimize a series of commands to a simulated race car on ten different tracks. Friday night and Saturday we spent writing the peculiar fixed-point math library needed by the problem, and creating a simulator in PyGame. We managed to get a lightning entry in by manually driving the car around several of the tracks. Our plan was to hand-pick a set of waypoints on each track, interpolate them using cubic splines to make a smooth path, then get the car to more-or-less follow the path.

Right after the lightning submission, Grandma and Grandson returned, and Sunday was a lost cause between chemo tiredness and family obligations. In the end, we had a rather nice path editor, with draggable waypoints, etc., but no working path-follower. Our final submission was a complete set of manually driven traces :-P.

Google Puzzle Championship
They finally released the full rankings. I made 67th place out of 757 U.S. entries. W00t!

Page Templates
TAL continues to advance, mostly outside of Zope. PETAL development has been very active, and there's now a whole non-Zope web server based on SimpleTAL.

Dancing
I hope that StepMania gets ported to Linux in the not-too-distant future. PyDDR is nice, and I'd love to contribute to it sometime, but SM's look and compatibility with the zillions of songs out there can't be beat.

I took part in the Google US Puzzle Championship today. Despite some technical glitches and lack of feedback (their server seemed to be accepting answer submissions *long* after time was up) it was quite fun. I was only able to solve half of the puzzles in the time alotted. After racking my brains for the rest of the afternoon, I got all but a few of them done. I love this sort of thing.

Page Templates
There are now implementations of TAL in Java, Perl, and PHP, as well as at least three in Python. It feels good to have our design decisions and our intuition that Page Templates could be more than just another Zope component vindicated.

Health
All appears to be well on the colon front. I've finally arranged to have mild chemotherapy, just in case.

Jury Duty
This is my second time serving as a juror, and my first in a criminal case. If I am ever find myself on the wrong end of a lawsuit, I will be very glad that I live in a country that provides trial by jury.

Dancing
For those of you who haven't heard of it, or haven't tried it, Dance Dance Revolution (and variants thereof) are the most fun you can have getting a serious workout. I picked up a used Playstation, DDR Konamix, and a dance mat for a total of just under $100. After a few months during which I played an average of an hour a day, I'm now setting up a dedicated computer system with Stepmania on it, and thinking of shelling out $300 for an industrial strength metal dance pad.

Three months gone by, and not much Zope work done. Still, it has been an exciting time. I wasn't sure I wanted to write about it in a public forum like this, but perhaps my experience will be useful to someone.

Not long after my last diary entry, I went to a conference in Las Vegas. I had never been there before, and had a fantastic time, especially at the GameSpot arcade. Feeding money into slot machines is the most expensive way I've ever been bored, but blackjack was fun, mostly because of entertaining dealers. I started noticing a weird visual effect when I was outside -- anything white and sunlit was a featureless glowing blob. It was like someone cranked up the contrast and brightness on the world.

The week after I got back, I had a checkup to keep tabs on my cholesterol and blood sugar (diabetes in the family). I asked about the symptoms that started in Vegas, which also included a sore throat and tinnitus. He decided that it was probably a cold or allergy, which was probably correct apart from the visual effects.

At this same time, my wife found a house in town that would be a much better fit for us and our four kids. Over the next two months, we went through the annoying and expensive process of preparing for closing. During this period, the visual effect became more pronounced, to the point where it was happenning all of the time, and where my vision would temporarily white out almost completely if I walked a hundred yards. I also started getting brief headaches and dizziness when I stood up.

We closed at the end of October, and started moving in the first weekend of November. At this point we realized that there was something seriously wrong with me. As long as I kept my level of exertion low, I had no problem. I spent six hours stripping wallpaper without difficulty, but carrying a box upstairs made me sit and gasp for breath for five minutes. Any time I did anything that raised my pulse rate, even briskly walking a short distance, I was immediately exhausted.

First thing that Monday morning, I got a walk-in appointment at my HMO. The doctor asked me the questions you would expect -- smoke? No. drink? Rarely. exercise? Not much. family history? Diabetes, nothing else. pain in chest or arm? Nope. darkened stool? No.

He gave me an EKG, which showed nothing, and a blood count, which showed that I was dangerously anemic. The figure that seemed to impress everyone was my hemoglobin level, which is supposed to be between 14.0 and 16.0. Mine was 3.9, or about a quarter tank. Apparently one isn't expected to be walking and talking with hemoglobin that low, but since I must have been leaking blood very slowly over a long period, my body adapted somewhat.

The doc immediately had me drive to our HMO's hospital, which is half an hour South in Temple, TX. I spent almost four very boring days there getting transfused with four units of blood and a big bag o' iron dextrose (so my body could finish topping off the blood supply itself). My hands turned pink again -- I hadn't noticed until the doctor pointed it out, but my palms were pale yellow and looked really weird next to anyone else's hands.

The most likely cause of a leak is an intestinal polyp or a stomach ulcer, so the highlight of my stay was getting scoped from both ends. Turns out there was a "mass" at the top of my large intestine that I have a rather gruesome picture of. Because of its location, and because it was bleeding so slowly, I never had the tell-tale darkening of my poop. They scheduled a right hemicolectomy for me the following Thursday to remove my *ahem* colon cancer. Until that was done, I didn't know whether it had a chance to escape the colon or not.

The part of this process that I most dreaded, stupidly enough, was Wednesday afternoon, when I had to drink a whole gallon of "GoLytely" 8oz at a time to make my digestive system sparkly clean and empty. This turned out not to be as bad as I anticipated, but was still quite nasty. The next day, back to the hospital I went.

The story has a happy ending -- my surgery went swimmingly, I only had to spend four uncomfortable days recovering before I was able to go home, and the 13 lymph nodes they took from around the tumor site all tested negative. My cancer was stage 1 (i.e. "caught early"), so I'm clean. I'll be going in for checkups every three months, and get scoped again in a year (and every few years from now on), but that's all.

To sum up: I'm 34, well below screening age, and have no risk factors whatsoever (other than insufficient exercise), and even took off 50 pounds a year ago, so I'm not overweight. If you're demographically like me, getting scoped would probably be an expensive waste of your time. There is one test that would have raised a warning flag, though, and might be worthwhile to try. For $10 you can get a fecal occult blood test kit that works by just dropping a piece of paper in the toilet to see if it changes color. I haven't tried it, but if you're interested, see http://www.ezdetect.com/

Oh, we're all settled into our new house, and loving it -- and I didn't have to do any of the heavy lifting ;-)

Urgh. I really like the ICFP Programming Contest. Each year they've come up with an interesting challenge, and I've wanted to give it a go.

Unfortunately, they always hold it right before the Sylvan Annual Conference, when I'm up to my eyeballs in work.

This year' challenge kept nagging at me, and I kept having ideas I wanted to try, and I had a little breathing space, so I broke down Sunday afternoon and started coding. At 9:30 this morning I submitted it and flopped into bed. Thus the "Urgh" :-)

I have been planning for a long time to replace our creaky Red Hat 6.1 server and all of its nasty, crusty apps. I had even gotten so far as to set up a testbed server running Debian 3.0 and try out replacement SMTP, FTP, etc. apps and had the testbed acting as primary mail exchanger for all our domains (with SpamAssassin! Woohoo!).

Then a few days ago somebody bothered to 0Wn the ancient SSH on our box, set up a rootkit, and start launching attacks on other servers :-(

I couldn't just take it down, so I cleaned up what I could, ordered a new server, and I've been scrambling ever since to switch over. The past three days have involved fighting with the clueless monstrosity that is Wontwork Obstructions, just to get my DNS host IP updated. I think I finally got control over my records by faxing in a request to switch away from PGP authentication (which almost never worked). Yay, I'm so secure now. This was one of the few domains still in their slimy claws, mostly because it was already paid up through 2005. Hell with that, the registrar transfer is now in progress.

4 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!