OSCON 2003 Day One

by chromatic

Related link: http://conferences.oreillynet.com/pub/w/23/oscon_grid.html#monday

Since I live a few miles west of Portland, I took the href="http://www.tri-met.org/">MAX light rail downtown. The eastbound stop
is several blocks north of the hotel, so we hiked to the hotel. I'd never been
to this Mariott before — it's a great location. It's right by the
riverfront, with lots of good restaurants and shops within walking

Speaker registration was upstairs in a huge, comfortable room. Last year's
speaker room was tiny and cramped. This year is much better.

Unfortunately, the network was having trouble and the ever-pleasant Vee
couldn't register us. I still had my badge for last year, so I was fine.
Allison Randal was behind me, so Vee made her a temporary badge.

Most of the talks were downstairs, one floor down from the lobby. They'd
already started. As we stepped off the elevator, Suzanne Axtell cornered us.
She pointed me to the press room, where I (finally) met Timothy Lord, from
Slashdot. (I used to work with Timothy and Jeff Bates when I wrote for

After dashing out that day's Linux newsletter, I sneaked into Damian's
"Inside ~damian/bin/" talk. I'd caught the very tail end at YAPC::NA and I
wanted to see the beginning. I'd missed the first part, Damian's
vi customizations. He was just responding to a comment that
vim could do this or that.

As I reported in my YAPC::NA entry, the point of the talk was "Find
something you can automate to save you time and do it!" I picked up three
great tips. First, Damian recommends not setting your PATH on one
line in your shell customization file. Instead, he recommends something like

export PATH=$PATH:~/bin

(Excuse the bash-isms; Damian uses tcsh.) The benefits are twofold.
First, it's easier to read. Second, it's easier to modify. If I want to
change the order of path items, I can just swap the appropriate lines.

The next trick was putting my shell aliases in a separate file,
.aliases. My .bashrc just sources this file. This
allows me to use the following alias to edit or to add aliases:

alias realias="vim ~/.aliases; source ~/.aliases"

This is really handy, allowing me to tweak my aliases in the same process.
Sure, I'm only saving two commands, but saving two commands makes me work that
much more quickly.

The final trick is cdd, an alias that changes to a directory
and immediately lists the files in the directory:

alias cdd='cd $l; ls'

It only saves a couple of characters, but it saves a couple of characters.
Damian went through some much larger customizations; it's a talk well-worth

During a break, I caught a few minutes of Michael G. Schwern's and Norman
Nunley's "What Works in Software Development". The point of this talk is that
it's possible to improve your development environment even if you're the only
person interested in making a change. These guys have loads of good ideas,
from eating lunch with the vegetarian or vegan on your team to being the person
who solves little problems. There are a lot of really impractical books on
software development, but I suspect these guys have a useful book in them.
We'll see.

I was pleased to note that several of my co-workers were in this talk.
There's been a lot of discussion lately in my group about improving our
software and software development. Within the O'Reilly Network, we're trying
to do ambitiuos things without huge amounts of resources. It's important to
know how to work effectively and efficiently. More on that later.

I had lunch with Allison, Damian, and Nat Torkington. Damian was
demonstrating a super-secret module he'll explain Friday. It's pretty amazing.
Schwern showed up and I demonstrated my slide presentation software. On the
train, I realized that if it worked as planned, I'd probably have concurrent
access issues, so I revised the annotation-saving strategy over lunch. That
took about five minutes -- test-driven development is very nice.

After lunch, Schwern and I presented the three-hour, 130 slide
"Introduction to Perl Testing". This is basically the same talk we gave last
year, with a little more theory, a little more wisdom, and some revisions of
confusing parts. The room was packed and the audience was smart. (Really
— everyone followed along the explanation of mocking functions. That's a
very smart audience.)

I'm happy to report that my presentation software ( href="http://wgz.org/chromatic/jellybean/">Jellybean WikiAnnotate) worked
flawlessly. I ran it from my laptop, published my IP address, and let everyone
follow along with the slides. Unfortunately, the network went crazy about
two-thirds of the way through the talk.

If you're giving a presentation, make sure you have at least one local copy
of your slides. If I'd served these off of a remote site, I'd have been in
trouble. (Jellybean worked very well, but I had raw HTML slides to use if

After the talk, the Perl 6 design team met up and went out for supper. (I
finally had the chance to meet Dan Sugalski's wife and kids. They do exist. I
think that means I've met the spouses and children of everyone on the Perl 6
team that has a spouse and children.) It turns out that Mrs. Wall is also a
fan of Neal Stephenson, Terry Pratchett, and Neil Gaiman. We briefly talked
about Larry's impending State of the Onion talk. London.pm will be happy.

Someone suggested ice cream at that point, so we wandered around downtown
for a while, picking up small groups of people, until we'd taken over the
waterfront. Since it was edging past dark, I took my leave and went home.
Ahh, network access again. The OSCON
was jumping, though. What a useful tool!

Day two is another day of tutorials, with OSCAMP and a couple of BOFs that need my attention. See you tomorrow!