Archive for July, 2002


Back from OSCON

I had some time Friday morning, so I hopped a shuttle to the zoo. I didn’t have a lot of time to spend at there, since I knew that I needed to get back to the hotel before noon to check out and make it to the airport on time. I somehow missed the bus going back, though, and ended up sitting outside for over an hour waiting for the next one. This might have been irritating were it not for the gorgeous weather and the realization that this is the first time in memory — certainly in the past two weeks — that I’ve just sat and calmly done nothing. It was nice to have some introspective time and relax. Met a nice guy from China, we talked for a while. He spent a summer in Minnesota once, so is the first person I’ve talked to who isn’t afraid of our weather. :-)

The bus ride has convinced me to return to San Diego someday. This is a beautiful area and there’s much that I’d like to see. If OSCON is held here again, maybe I can convince Kiara and the kid to come out with me. She would have been so bored here with me in a conference all day and sometimes at night.

The bus was another opportunity to slow down, look around at the city. There were people on the bus just reading the paper. I wanted to shake them and scream, “Look around, you fool! You’re missing out!” Back home, I read a lot on the bus, maybe three hours a day. But I never read when I’m going through new territory, I love to look around to see what’s around me. And I never read while passing over the Mississippi River, which I do at least twice a day. This is something that I learned from the father of a high school friend, who for decades drove across town and across the river every day on his way to work. No matter how often he saw the river, he told me, it was still a very special moment. Since then I’ve spent a lot of time living quite close to the river, and I still approach it with that same reverence.

Perhaps I need these small moments of peace because I’ve had to deal with such foolishness. Checking out of the hotel, I discovered that they expected me to pick up the $1000+ tab. I had been under the impression that my employer had taken care of this with a purchase order over a month ago when the reservations were made. The hotel clerk brandished his best condescending smile and showed me the list of people whose employers had paid their way, highlighting in yellow where my name wasn’t. Ah. Thank you for clearing that up, Mr. Smarmy.

Thank god for cell phones. I called our office manager, who had made the reservations. While I was off at the zoo, he did some digging and discovered that although the hotel reservations people had told him quite clearly that they accept POs, and he had faxed a copy to the number they provided, the hotel accountants do not accept POs. So I ended up having to put the whole damn thing on my credit card and will have to expedite the reimbursement when I return to work on Monday. I work for the State, for god’s sake, this won’t be easy. Our office manager is on top of things, though, so I have some hope.

So thanks, Sheraton. Except for this one major gaff, your service was superlative. Too bad that this fuckup so badly colors the experience. What gets me — no, galls me — is that in this whole intervening month, no one bothered to notify us that the PO wouldn’t be accepted. So yes, Mr. Smarmy, it is your fault.

I’ve been sleeping poorly all week. Up ’til 2am most nights, up until 4 Friday night. And waking up before my already-too-early alarm went off. This cannot be good. It was when I found myself struggling to explain in email how different web browsers have implemented layers and that scripting them in non-DOM browsers is a pain in the ass that I realized that it was 4am and I was not making sense and may have even been wrong. Tired, exhausted, but unable to sleep. I eventually drifted off for a few hours before I woke up around 8am. Without an alarm clock.

Maybe this is another reason that I don’t travel much. Here I thought that it was because I do the same damn stuff away from home that I do at home: sit in coffeehouses and avoid people. :-) Or maybe that’s why I can’t sleep.

My father-in-law was hoping that I’d go out to the cabin this weekend to celebrate birthdays (in a bizarre quirk of fate, he, my brother-in-law and I all have the same birthday). I cannot imagine anything that I’d like less when I finally get home than to drive across the state. Besides, after I take a good, long nap, I’d like to spend Saturday evening with my family.

Turns out that my dad had an emergency appendectomy sometime last week, and it wasn’t the routine surgical procedure that it often is. I say “sometime last week” because when I found out about this last night, no one seemed to sure what had happened. My dad didn’t really tell anyone until shortly before he was released from the hospital. <sigh style=’frustrated angry’ />.

But I made it to the airport and got home.

It was 108F in Phoenix (40+ C). I had hoped again to step outside to see what 108 degrees felt like: I have been told numerous times that hot heat like that in the desert Southwest isn’t anything like the humid heat here in Minnesota. But airport security is such now that there’s no way I would have time to make it outside then back in through security in time for the flight. Next time.

One thing became immediately apparent: I was no longer surrounded by geeks. On the airplane I was reading Mastering Regular Expressions and kept expecting to be able to lean over and comment on the book. But no, then I’d be “that crazy guy who sat next to me on the flight home.” I was among people who couldn’t care less what a regular expression is, never mind how to optimize one for an NFA engine. Sigh.

Today I got my chance. I had the book with me at a coffeeshop over lunch, and the guy behind me in line asked, “Is that the new edition?” Impressive. The book’s only been out a week. He mentioned that he was hoping to find a DFA that supported subexpressions, and we talked about it briefly while I finished my espresso. I’m just getting into the chapter on regex engines, so this is quite interesting to me but I couldn’t really comment. What should not go without mention is that this is one of the same guys who started talking to me when I was carrying around the a few months ago and feeling quite antisocial.

The book, by the way, is terrific. If you want to really, really understand regular expressions, read this book. In it, Friedl delves into mind-blowing territory, carefully walking the reader through an introduction to regex, a tour of regex flavors and metacharacters (including an illuminating section on Unicode), then gets into the details of different regex engines and how to optimiize for each one. New to this edition is a treatment on regular expressions in Java and .NET, as well as (of course) Perl. Well worth the read.

Once I made it home, I decided to take the weekend off from computers. So it’s taken me a while to post this. Instead I hung out wiith Kiara, did the birthday dinner thing, and painted the hallway down to the basement. I’ve discovered one more thing that I hate doing: painting. Kiara painted the whole basement while I was gone, but wisely held off on the staircase (her balance never being good, it’s even worse in her pregnancy). She is rightfully proud of her work in the basement, but then she’s very results-oriented. I’m not. She can look at a job well done and feel good about it. I look at the hallway and think, “God, I hope I never have to do that again.”

To work, then, much too much to do. I’m going to have to start digesting all the materials and notes I brought back from OSCON.



If you can view Quicktime movies: Switch Different.


OSCON Thursday notes

One of the cool things about being here is hearing people say stuff like, “That’s available in the very, very latest version of MySQL, the version on Monty’s laptop,” gesturing to Monty, who’s sitting in the back of the room.

Sam WIlliams has a nice write-up of the Lessig & Stallman keynotes, including coverage of the press conference.


Bioinformatics Keynotes

I woke up early after all, so I decided to catch the keynotes, after all. The first one includes a crash course in bioinformatics. This is cool stuff. Bioinformatics projects use a lot of open source / free software. glib, Perl, lots more Perl, MySQL, GD. And their data are open, all their code is open, BSD style license. “Just open up your data and your code, that’s what being a scientist is all about.”

Wish list for open source community: keep doing what you’re doing. If you’re bored with what you’re doing now, we’re hiring. and we have better beer in the UK. :-D

With regard to Perl: yes they use it a lot. He complains about exceptions, and rightfully so. and objects. so much of that is being cleaned up in Perl 6, for what it’s worth. They code Perl as if it were Java. I know a Java programmer who does that. Heh.

Wish: Perl, Java, Python source level integration.

Q: coding standards with all these noon-programmers? A: Can’t really impose that, what you have to do is build a community that shares ideas and practices.

OK, new guy. I won’t record most of what he said, you can read it elsewhere I’m sure. One good note (paraphrased): The reason I’m in bioinformatics is that I really think that we should understand what we’re doing before we start tweaking the human genome.

The infant digestive system does not process proteins like the adult. So soy formula may be especially problematic — i.e. potentially fatal food allergies — especially with genetically modified soy. the first human tests of genetically modified soy could be on 10 million babies at once. Ya reading this, Kiara? I’m beginning to understand the breast-feeding nazis.


OS X Customization

Marc Liyanage, the man who’s done so many of us a huge favor by publishing useful things like MySQL and PHP builds for Mac OS X, has put together a list of “utility tips, application settings and other tweaks that I find indispensable or that make my Mac OS X experience even more pleasant than it already is.” Thank you, sir, many times over.


More Wednesday OSCON Roundup

There are so many sessions here that I could go to. I could easily have chosen an entirely different set or two and still been happy with where I went. Hopefully I’ll be able to keep coming to these things.

Today I went to a two Perl sessions, an explanation of Perl 6 and an overview of starting the transition in our programming from Perl 5 to Perl 6. (In case you didn’t know, Perl is being overhauled, rewritten from the ground up.) Whew.

Some of the changes are explained elsewhere and elsewhere, but here’s one thing that really caught my attention: Perl’s getting a switch, one of the neatest implementations I’ve seen. It won’t be called switch, it’s given. I could give you code examples and walk you through it, but I think I’ll just point you to the appropriate Exegesis page. This will be nice.

When I took that horrible Java class a couple years back (you know, the one where I learned the entire term’s content on my own in the first two weeks and sat bored for the rest of the term and swore off programming classes because there’s no way they’ll go fast enough for me), the textbook we used wasn’t too keen on switches. I think they’re a very useful construct, thankyouverymuch.

A point that Damian and Larry kept trying to get across is that Perl 6 is being designed to make it easy to write natural, cleaner, DWIMier code. Having worked through the Apocalypses (Larry’s revelations about the language design) and the Exegeses (Damian’s explanations of the Apocalypses), I’ve been excited about some of the changes, though a bit leary of what it may entail. I’ve figured all along that Perl 6 would be like learning a whole new language, and in a lot of cases that will be true, but I don’t think the transition will be that dramatic or painful. Especially since it’s possible to start doing some of the cool stuff now, thanks to clever CPAN modules.

One thing that will be dramatic is the regular expression syntax. Man oh man, are they doing a job on that. Apocalypse 5 is all about regex, and is absolutely dizzying. It took me a long, long time to work through it all. Damian’s comment: “The regex syntax had become so complicated that the only thing we could do was set it free . . . then hunt it down and kill it.” Then, “To hell with the rest of the world who’s followed Perl 5 regex syntax. they will follow again.” Heh.

(Ooh, that reminds me, I have an article to write that involves regular expressions. Maybe I can get to that sometime soonish.)

Then this evening I went to “Whose Code Is It, Anyway,” sort of a “Whose Line” for geeks. Perl geeks, I think mostly. Hilarious.

Something I forgot to mention earlier: Larry Lessig does a kick-ass job with his slides. I’ve been paying close attention to how people use slides in their presentations, and I’ve found that what I like the most is something that I do not do: many carefully planned slides, each wiith a single point to be made. Go through the slides quickly. Some of Lessig’s slides had only one word or image. He kept coming back to a refrain of four to six slides, with little riffs on his theme. Mark-Jason Dominus and Damian Conway do the same sort of thing, although they might slowly build a slide that has more than one bullet point on it. Geoffrey Young’s the same. They use color or highlighting to call attention to a particular bit of code, fading to grey the parts we shouldn’t focus on. In contrast, Matt Sergeant does what I do, and in fact has a public speaking style very similar to mine: not quite so many slides, black text on white background (maybe with a border), bulleted points. Part of that is the tool he wrote and uses, AxPoint, which creates PDFs from an XML source document. The tool was written, though, for how he uses slides in his presenting. I think that the slides really influence the presentation style, so in any future training session or presentations that I do, I’m going to start playing around with different techniques.

Damn. This may mean that I have to learn to use PowerPoint. Nah. I’ll do it with XHTML.

This is not to say that Matt Sergeant’s presentation (“Why SOAP Sucks, Why SOAP Rocks”, similar to the presentation of the same title from last year) was boring. I liked it, I learned something, it gave me food for thought, and I was glad to finally see Matt. Just a point of comparison.

OK, one more session, I went to the rescheduled Jabber session, which made me happy since I’m leaving Friday before the convention ends so would have been unable to attend this session in its original time slot. Turns out that iChat, the chat client that Apple’s shipping with Jaguar, uses the Jabber protocol for local area network connections. Rendezvous for discovery, Jabber for communication. Apple hasn’t publicized this or made any official acknowledgement, but there it is. I doubt that iChat will support Jabber networks at first (I can’t imagine the politics with their work with AOL), but there is hope.

it still seems that almost every conversation I get into here is with someone who works in higher education. What’s up with that? I should ask O’Reilly what the percentage really is. So lots of higher ed, lots of Macs. No wonder I’m liking it here.


Wednesday OSCON roundup

Tim O’Reilly reminds me a lot of Jeremy Raths. You probably don’t know Jeremy, and if you do you probably don’t know who Tim O’Reilly is, but the connection’s there.

Went to the keynotes today, of course. Lawrence Lessig gave a good speech dealing with the message he’s been trying to get out there for a couple years now: quoting JC Watts on his experiences in Washington, “If you’re explaining, you’re losing.” On what organizations like Disney, RIAA, MPAA, etc. are doing to copyright and our ability to innovate and build on the past — we never been more controlled — 6 years later we are still explaining. We are losing. The debate is still framed in these corporations’ terms, and they are re-architecting “cyberspace” to destroy creativity and innovation. Lessig’s been ragging on the techies and the open source community for a long time now, this is his next to last speech. Kinda of a shame, but he needs to move on. And we need to start listening and doing something about it.

If you haven’t read what he’s written, do. I will loan you his books if you’d like, although I now have to reread his latest. This is not just an American problem. OK it is, but “we” are exporting the problem, because we aren’t resisting it. Our freedom to create is being eroded actively attacked and we do nothing.

It wasn’t until he was about halfway through his speech that I saw the brilliance of the juxtaposition of both Lessig and Richard Stallman as keynotes. I’d never connected their messages until today. When it comes to “digital rights management” and the battle over copyright, we are fighting for our freedom, which is what RMS has been doing all along.

I won’t get too deeply into RMS’s speech. Same message he’s had all along, you can find it at FSF. And read Free As In Freedom, his biography.

I had forgotten until this morning that my excitement about OSCON wasn’t just about the training. That was a selling point and made it easier to justify out-of-state travel with my cash-strapped employer, and since this is certainly the best training around for me it’s well worth it and I’m learning a lot. But it’s not the only reason I wanted to come here. I got email yesterday from a coworker wishing me “chance to meet interesting people, hear some great presentations, learn some new things, be challenged and have a sense of being re-energized.”

Re-energized. Yeah. I’m not here just because I use open source software like Perl, PHP, Apache, MySQL and want to know how to do so better. I’m also here because I believe in open source and free-as-in-freedom software. I believe in the idea. It’s a political as well as a technical thing for me. Part of what’s really cool about projects like Mozilla, Jabber, GNU/Linux, Apache is not just that they are solid, free-as-in-beer software, but that they are free, open frameworks that let developers build and share really cool tools that they need. Look at how many really cool things are being built on top of Mozilla. Look at all the really amazing things that people are building with Jabber. Or GNU/Linux. I am here, and Lessig’s and RMS’s points today resonate strongly with me, because we still have the freedom to do so. This freedom is in danger.

So yeah, it’s energizing to be here, especially now that I’ve remember that this is part of why I came. Last week was from hell, so to take the time to engage these ideas, to “network” with people working on lots of cool stuff…this is wonderful.

OK. more random notes.

One strange thing. In a water- and electricity-strapped state like California, I’m surprised that the hotel doesn’t have a program for re-using towels. Some hotels suggest that guests leave their towel on the floor if they need it replaced, hanging if they want to continue using it. I certainly don’t need a fresh towel every day, it’s wasteful: it takes a lot of water, chemicals, and energy to clean all these towels every day. So it irks me to find that my towels are replaced every day. I suppose that I could decline to have the room cleaned. Still.

I’m having trouble following all the blogs. Best list I’ve found is Aaron Swartz’s, if you’re curious. Fortunately Mozilla lets you bookmark a group of tabs, so I can open all the OSCON blogs at once. At least all the ones I know about.

Still haven’t set up blosxom, not sure I will. I thought that it’d help with live blogging of conference sessions and keynotes, but I’ve found that if I start taking notes I lose track of some key elements. Fortunately Aaron’s a helluva typist (seriously! I’m sitting next to him right now and he’s amazing), so if you want to know what Lessig or RMS said this morning, you can go there. I’m sure that Technetcast will have audio, too. And some MP3’s are posted at Must look into how he’s doing this, esd piped to lame. Hm.

Went though and talked with some vendors. Sun’s here with their little Cobalt cube, which looks cool but I am so not a hardware guy. Did talk with someone from I was looking for a MacOS X build, but the CDs aren’t here now but will be later. I’ll need to get X (as in XFree86) installed first anyway. Or maybe it’ll be on the CD… We talked a while about organizations switching to OpenOffice. I’ve been hoping to do this at MnSCU, although it would more than likely be StarOffice, but I don’t ever expect that we will. People couldn’t handle switching from WordPerfect to Word, I don’t expect that switching to OpenOffice would go down too well. Sheesh. The person I talked to suggested hitting their lists, where they have a lot of people with experience in making the switch in their organization. She also said that large companies are starting to switch, so the “no one of consequence is doing this” argument is going away.

My interest in making the switch is twofold:

  1. Good fiscal management. It’s free. There will be retraining costs, though, so I’m not sure what sort of ROI you really get here. ‘Course, there’s retraining for MS Office updates, too.
  2. Web content management system. I’ve talked about this before and will again. Because it’s native file format is XML, OpenOffice can be integrated into some sort of CMS, allowing people to use now-familiar word processor to create and edit content.
  3. I have to admit this: I think it’s cool. OpenOffice is good software. Try it.

Guess that’s threefold.

I haven’t been doing a lot in the evenings. Last night I was at the Internet Quiz Show, tonight I’ll prolly be at Whose Source Is It Anyway? None of this leaves a lot of time to go explore the area. I’m gonna have to do a lot on Thursday night.

Note to self, and to Stacy if you’re reading: look at CVS and SourceCast. And Subversion.

I just got email from my brother that reminds me: today’s my birthday! I turn 31 today. Whaddya know. I always forget that stuff.


OSCON random notes

Picked up copies of Perl & LWP and Mastering Regular Expressions. Books here are cheap, as you’d expect. I’ve been waiting for these two, but somehow held off until I got here before buying them. Yay for me.

T-shirts are being given only to early bird registrants. I tried to register early, but the bureaucracy intervened to ensure that that particular taxpayer-dollar-saving avenue would be avoided. Damn. So I have to wait ’til Thursday to see about buying a shirt.

Good rule of thumb: in public restrooms, incoming traffic has right of way.

I need to take another serious look at URI munging. Especially for session IDs, I’ve put this off too long.

I’m going to go out on a limb here and admit something I wasn’t sure I would. When I got here at OSCON, I felt both in my element and out of my league. Yes, I was surrounded by geeks with similar interests and passions as mine, but so many are “alpha geeks,” far more experienced and knowledgeable than I. These are people whose work I have long admired. I felt vaguely overawed. Outclassed, in a way, like I was some lowly mortal stumbling around where I didn’t belong. That feeling changed, as I expected it to. Having talked with a few people (a very few, remember, I am not an outgoing man), having attended the tutorials, I just settled down and got over it. I’m here to learn, and I’m gonna learn from the best. How cool is that.


Migrating to Apache 2.0

Sadly, this session was a bust. I think I’m gonna ditch it in favor of Mark-Jason Dominus’s Perl Program Repair Shop and Red Flags. I’ve wanted to see him speak for a long time, and was tempted to attend this session anyway, but since I’ve been looking at upgrading to Apache 2 as soon as both mod_perl and PHP are stable, I thought I’d see what was up in the Apache session. There wasn’t a whole lot new mentioned, or things that I couldn’t easily find out elsewhere, though. So I skipped out.

I did glean a few useful things, though:

  • If you’re just running standard modules and aren’t using deprecated directives, you can pretty much build it and go. Very little new is involved in the migration. Covalent has a Perl script that you can use to convert the httpd.conf to Apache 2.0. Not perfect, but nice.
  • PATH_INFO is not available by default, which breaks a lot of PHP code. Use AcceptPathInfo On to make it available.
  • mod_perl and PHP are not yet ready on Apache 2. I knew this, but have been uncomfortable about the silence from the PHP folk on the matter.
  • It may someday be possible to run more than one SSL server per IP, e.g. for each virtual host. But not yet, and don’t hold your breath. Browser support isn’t expected until server support is there, and it’s not yet.
  • I am very excited about running different virtual hosts as different users. But that’s not ready yet, either.
  • mod_gzip has become mod_deflate in 2.0.
  • More upgrading information is on the Apache site.


Transition to mod_perl handlers

Geoffrey Young’s mod_perl session was good. For the first half-hour or so, I was worried that perhaps the session was a mistake, since I wasn’t learning a whole lot new. Not too much after that (9:41, actually) I realized that he was spinning into some new and interesting territory. The remainder of the session was a dizzying tour. Wow. He just blew through stuff, holding true to Mark-Jason Dominus’s Conference Presentation Judo recommendation to just speed right along at a clip faster than 75-80% of your audience would prefer. This makes it hard to take notes but that’s okay. What I had hoped to get out of this thing was a more general grounding in mod_perl, and to carry away a few techniques and concepts, cool ideas I can look into using right away and that will help guide future study and development. Bingo, that’s what happened.

Next »