Older blog entries for heschong (starting at number 6)

I started to type a ten thousand word essay on why every machine I've seen in the last month running Windows makes me cry, curse, and curl up into a ball, but then I realized the redundancy of that effort. If you've ever used Microsoft Windows (any version), then just imagine your worst day with it, and then mentally transfer that image to your screen for a similar effect.

I spent the last week in San Francisco, but neglected to tell anyone except for my friend Andy (since I was crashing in his house). If there was a tourist attraction we missed, I must have been asleep. Andy gave us a tour of the (mostly empty) Intershop offices downtown, and we led ourselves around to various spots of interest. I was happy to pick up some decent music at Amoeba, including albums from IQU, Cornelius, and Science Park, all for $6 or less. And if you haven't seen Ghost World, travel to a theater showing it immediately. It's a nice reminder that movies don't have to suck so badly (ahem, Mr. Burton) during the summer.

A completely new version of Pecos has been a few days away from release for the last month, but I've been too busy actually using it to package it up. Amongst the "exciting" new features are: objects are stored in two tables rather than one (now one for the object itself and the other for the properties); faster sorting on object lists (thanks to letting SQL sort on the appropriate values), object caching via PEAR's Cache classes (although in informal benchmarks this seems to actually produce worse results), plus the usual array of bugfixes, etc. Of course, I still haven't seen a single message to any of the mailing lists, which is a little surprising because I would think that the idea of persistent objects in PHP (no matter how rudimentary), coupled to a vaguely useful web-based object (or "content") manager, would be useful to more people than myself. Maybe it's my utter lack of documentation, or maybe the consistently broken demo site (removing the management object makes it hard to manage the other objects). Who knows.

At least there have been a few new releases of TWIG in the past few weeks (with no thanks to me, I don't even know if I count as a developer any more) to keep the dogs at bay.

After banging my head against some REALLY BORING code last night (only difficult because it was mind- numbingly repetative), I decided to write an ENAML Parser in PHP. It's not 100% compatible with the spec, but it should allow me to connect some services together. Of course, WDDX serves my needs just fine at this point. If I get some spare time, I might make Stutter connect to say2 so I can get rid of the kludgy SQL backend.

It's become apparent to me that when geeks have babies, they start acting like they are on crack ALL the time rather than just part of the time. One of the fellows who works for me had his infant's website up before she was 48 hours old!

Nicole got me addicted to Tropico, but I seem to be getting ousted by religious uprisings on a fairly regular basis. Evidently the people want more from their lives than just a strong economy.

When the Blake Babies reunited recently, I was pretty excited. I even traveled to Atlanta to see them in concert! I was even more excited when they released their recent album, the aptly titled God Bless the Blake Babies.

When the Go-Go's reunited recently, I was pretty excited. I even traveled to Atlanta to see them in concert! I was even more excited when they released their recent album, the aptly titled God Bless the Go-Go's.

And to think that the only CD I have left in my old car is the Lemonheads album where there are songs with backup vocals by Juliana Hatfield (on several tracks) and Belinda Carlisle (on one track).

Naturally, this has nothing to do with software.

Stutter's first scalability test was Tuesday night, when Ipecac Records hosted a moderated chat with Greg Werckman. Over 200 people showed up, with over 150 online at the same time during one point in the chat. My blazingly-fast PII-400 Mhz handled the load reasonably well, once I upped the concurrent connection limit in MySQL from the default of 100 to a more comfortable 300. This was a mix of streaming and meta-refresh browsers (Macs are the only ones that require meta-refresh tags, because of weird connection handling).

P.S. If you live in the bay area, you can catch the Blake Babies tommorrow night at the GMA. You must be age 6 or older.

I finally got around to working on Stutter last night. I ended up spending about 8 hours straight converting it to work with PHP's shared memory functions.

For anyone who tries to use the shmop fu with PHP, be forewarned that if you shmop_write() a string called "foobar" and then shmop_write() to the same block another string called "bar" with a 0 offset, the resulting block will be "barbar" (which was not apparent from the documentation). In addition, when you shmop_read() from that shared memory block, the result will be a string padded to the size you have specified in the read operation. A liberal use of trim() and pad() are the apparent solution.

Of course, today I accidentally slept in until noon, almost making myself late for a meeting. Typical.

I added an incredible amount of flexibility to the template functions in Pecos today. Template designers can now set properties, call methods, etc, on objects. In fact, the new capabilities are such that templates could theoretically be thought of as a (very) primitive scripting language. If I get all excited and add control structures, I might have something useful. More useful than DTML anyway.

Christ, since I've returned from work today, I've apparently escalated to about 30 SPH (sneezes per hour). If my calculations are correct, I've drained approximately 12 gallons of mucous out of my head today, with no end in sight. I've taken various types of cold medicine over the last few days (Nyquil Cold and Tylenol Allergy, an armful of vitamins, etc.) just to see if any would help. None have.

If anyone is in the mood for a great pop album to listen to when your sunroof is open, pick up Tahiti 80's Puzzle.

So I have a choice. Speed, simplicity, or power. Why do they have to be exclusive? Maybe I should learn Python?

Since I have several work-related deadlines looming, I had decided to go to work today. Now that it's almost 6:00pm, and I still haven't made it into the office (which is, I am ashamed to say, directly across the street from my apartment), I'm considering taking the day off. Looks like I have another hour or so before my girlfriend gets home and I have to start looking like I've been doing something productive.

I've realized why I am marginally proficient at web application programming. It's because I can digest the small chunks that it doles out to me. <click>(program starts, program stops). <click> (program starts, program stops). My short attention span fits in nicely with this model. Perhaps one is the result of the other.

I love/hate OS X. It's so fast/slow, and all the apps are incredibly stable/flakey.

Last week, Nicole asked me to take two days off to go to a bed and breakfast in Butler. Butler is the town that the TVA bought in the 30s for the express purpose of turning it into a big lake. They picked up all the houses and moved them elsewhere, but the people who live there still point out into the lake at the place that their old homestead used to be. It's slightly spooky.

So I agreed to go, and I set about trying to figure out a way to work from my laptop with no Internet connectivity. I discovered that getting Apache, PHP and MySQL installed and working under OS X was fairly simple, and so I moved my entire development environment onto my laptop. Is this a good idea? Probably not.

Of course, I did all of this for no reason. Between the peace and quiet of the inn and a strange attack of allergy/cold symptoms, I never even cracked the lid of my notebook open. Instead, I took a few naps, finished reading the Rudy Rucker *ware books, and played with a swarm of domesticated carp.

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!