March 31, 2003

My blog's value

According to BlogShares, my blog is currently worth $626.54.


I wonder which will do better in the long run... my blog or company stock? :-)

Posted by jzawodn at 02:37 PM

A Million Gigabytes

If you need a place to store a million gigabytes, look no further than IBM's new TotalStorage controller. "The SVC uses four 2 Gb/s FibreChannel interfaces, a 4GB cache and dual 2.4GHz Pentium 4 to manage heterogeneous hard disk storage independently of application servers." Apparently is can sustain 1Gbps of I/O.

And, of course, it runs Linux. :-)


Posted by jzawodn at 08:58 AM

March 29, 2003

ASK-21 Training

I headed down to Hollister today to work on my ASK-21 training. My goal was to get at signed off to fly it in time for this Thursday when I'll take Ray for a few flights. Jim is back in the hospital, so I got to fly with Drew.

We chatted a bit about my ASK-21 experience before heading out. I explained that I had a few hours in the glider and that my high stuff was already did. What I really needed was work on the low stuff. I knew that landing the 21 is a bit different, and I figured that I'd need some practice. With that, we pulled out to runway 24 to start flying.

He reminded me to call our my rope break procedures during takeoff. Of course that's always a good idea when flying with an instructor. (When flying with non-pilots, it's probably gonna freak out your passenger(s).)

Little did I know he had given me an important hint.

On our first flight, Drew popped the release at roughly 600 feet. I was a little surprised (I usually have a sixth sense about premature releases when flying with Jim, at least) but did what I had been trained to do. I flew the glider back into the pattern for a landing on runway 24.

Drew could tell I was a little surprised and criticized a few things I had done. Most importantly, I made a misleading radio call. Instead of calling a mid-field crosswind entry for runway 24, I called a crosswind entry for runway 24. I forgot to say mid-field. That means anyone in the pattern to land on 31 would have been looking for a glider that wasn't there.

I was rather annoyed with myself, because I knew that. I've done this before without any problems. Grr.

For our second flight, we launched from runway 24 again. I called my rope break procedures again. At roughly 1,000 feet, Drew popped the release again. Damn. I wasn't expecting that. I looked at where we were and realized I could fly a mostly normal pattern for runway 24, so I proceeded to do that. Except that I hadn't factored our altitude quite right. We ended up high on downwind, so I flew a longer downwind leg. That put us farther from the runway that we should have been, so I didn't need the spoilers on final until we were pretty close to the runway.

Drew and I talked a bit about what I had done wrong this time. I should have flown the angles. I hadn't followed my training on using angles to size my pattern instead of using altitude. There are a few things I could have done to correct it. I probably should have cracked the spoilers on downwind and burned off a few hundred feet. That would have solved the problem nicely.

So far, the only good news was that my landings were fine. I guess the back seat flying in the 2-32 last weekend helped me get a better handle on the proper flight attitude to use when touching down. So far I'd landed right on--close to the prescribed two-point landing (tail and main wheel).

For the third flight, I finally got it through my skull. I expected a rope break. When we were about 25 feet above the runway on takeoff, I called out "we still have runway left" to let him know that I'd land straight ahead if he pulled the release. And just as I said it, I realized that he was going to pull it. That sixth sense kicked in, I guess. I put my left hand on the spoilers and a second later, the rope popped out.

I popped the spoilers to get us down, but I pulled 'em a bit too far. I recovered from that and landed just fine. Drew asked me to just let it roll to the end of the runway and to keep "flying" it there. No problem.

His only complaint this time was my technique for opening the spoilers. He showed me an easier way and I got it. It made more sense than what I was doing. He also said that I was doing fine and didn't appear to have developed any of the bad habits that new pilots often do. That was reassuring, because I was feeling rather beat up at this point.

Of course, his job is to tell me what I'm doing wrong so that I can learn from him and fly better. But it seemed like I was getting too much wrong.

For our fourth flight, we launched from runway 6 (downwind on 24, if you prefer). At roughly 300 feet AGL, just as we were discussing the great selection of fields to land in, he popped the release again.

This time, I was fine. I made a radio call, turned us base to final, opened the spoilers gently, and landed just fine. Once we landed, Drew said something like "now you're getting it."

At this point, we had done just about every possible rope break scenario, so I figured we might actually have a normal fifth flight.

We did. We flew to 2,000 feet and released. Drew suggested that I attempt to find lift and then land when the time was right. I was largely unsuccessful at finding anything, but my pattern and landing were fine.

Back on the ground, Drew told me that I was okay to fly the ASK-21 on my own now. After the first 4 flights, I was confident in my ability to get back on the ground safely. He made the relevant entries in my log book and I took a break for a few minutes.

I chatted a bit with Dave (who I neglected to mention), the SGI visitor from Canada who happens to be a recently licensed glider pilot. He's in the San Jose area, and decided to find the local glider operation and hang out. I found that he'd signed up for an acro ride in the ASK-21.

A few minutes later, Mike and I went for a ride in the 21. Mike wanted to fly and likes flying from the back seat, so I was his human ballast in the front seat. We flew toward Fremont Peak and wandered around a bit. There wasn't much lift to be found, but it was a nice day. Rather clear. I commented that I should have brought my camera up. Doh!

By day's end, I had been up six times. Four of 'em were rope breaks. I was signed off to fly the 21. Mission accomplished. :-)

Posted by jzawodn at 08:58 PM

Headline of the Week

From Reuters Health comes the headline of the week: Sudden, Unexplained Death May Kill Many Adults.

Gee. Ya think that sudden, unexplained death might have similar affects on non-adults, too?

Posted by jzawodn at 08:03 PM

March 28, 2003

Sun gets a clue!

Well, I'm not sure if this is real progress or not, but at least they're not bothering with their own Linux distribution anymore.

I still wonder if Sun really gets Linux or not. When they announced the LX-50, I thought they'd finally come around. But that wasn't the first of many things I hoped to see.

Oh well.

Maybe they're just destined to become the next SGI.

Posted by jzawodn at 10:27 PM

Sunnyvale Acura Needs WiFi

I'm sitting here in the waiting area while some work is being done on my car. It'll only take about 1.5 hours, so it's not worth taking their shuttle to work and trying to find someone to bring me back here at the end of the day.

I popped open the TiBook and checked to see if AirPort could find a wireless network I might be able to leach. No dice. (Obviously, I'll be posting this a bit later.)

Considering how inexpensive it'd be, I'm sort of surprised that the dealership doesn't have 802.11b available for customers in the waiting area. This is Silicon Valley, after all. Let's show some geek pride here! :-)

I shouldn't complain, though. The service department here rocks. Plus, sitting in the waiting area with no network connection pretty much forces me to work on the book--something I've had trouble finding enough time to do this week. Too many distractions and unexpected things kept popping up.

Now if only I had bothered to install MySQL on the TiBook, I wouldn't have to keep writing "TODO: insert SQL here later" in the text.

Later: Grr. Apparently my car has decided that a leaky radiator is more fun than one that holds onto all the coolant. I'll have to arrange for another visit soon so that I can part with $700 or so. As the first major expense in the three years I've had it, that's not too bad I guess.

Now that I think about it, the radiator replacement will probably take three hours or so. Maybe I'll just force myself to sit in the waiting area then too. That should keep me relatively free of distractions so that I can get more stuff done.

Posted by jzawodn at 01:29 PM

Interviewing at Google

A friend of mine has been interviewing for a job at Google. So far the tale has proven both interesting and amusing. But the thing that strikes me most of all (of that which I'm allowed to hear about, of course) is how many interviews--or rounds of interviews have transpired so far.

I think the count is five or six so far.

I used to think that three was the norm. One or two via phone and then one or two on-site. But it seems that Google (at least in this case) is a bit more extreme than some companies. In this case it's something like 3 by phone and 3 on-site.

I may have the numbers off by a bit, but you get the idea. I wonder how much time, on average, they spend interviewing each person. It's gotta be pretty high.

Oh, wait. I remember reading about that somewhere recently... Wonder if Google can help me figure out where.

(time goes by)

I give up. Can't find it. I know it was a magazine piece. Maybe Forbes, Fortune, Wired, Fast Company... Someone like that. But I'll be damned if I can come up with the right keywords to locate it again. And I use too many browsers to try going digging through the history on each of 'em.

Anyone know which article I'm talking about?

Well, just don't think too hard about the fact that I can't find a particular piece of information about a search engine using that search engine--even though I know it's out there somewhere.

Update: That was fast. As you'll notice in the comments, Gregory Williams found the story I was remembering.

Posted by jzawodn at 12:05 AM

March 27, 2003

It's nothing, really...

An amusing tale that begins:

In March, 1999, a man living in Kandos (near Mudgee in NSW) received a bill for his as yet unused gas line stating that he owed $0.00. He ignored it and threw it away. In April he received another bill and threw that one away too.

Is over in Jim O'Halloran's weblog.

That's almost as good as the story about the guy who cashed a junk mail check and got away with it.

Posted by jzawodn at 11:53 PM


All the Inktomi folks are on campus today. I guess this is the first day of assimilation. At least there's a big party tonight to welcome them all to the collective. :-)

On a related note, someone just introduced me (passing in the hall) to a small caravan of Inktomi guys by saying "This is Jeremy. He's the one who shows up when you search for Jeremy." I responded "at least on Google I do..." Then a 5 second discussion ensued about that fact that it probably works on Inktomi now too.

As the caravan passed, someone at the end asked "are you the MySQL Jeremy?"

Hmm. I guess that in this context I am.

Posted by jzawodn at 01:12 PM

Time Evaporation

Time appears to be evaporating. I'm really at a loss to understand where it is going.

Maybe I'm stuck in some sort of twilight zone reality--you know, the kind where time accelerates when you're not looking. A cat jumps into my lap. I pet it for a few minutes. It jumps down. I look at the clock and 2.5 hours have gone by. If I didn't know any better, I'd be rather paranoid, assuming that it was a classic case of missing time and that I had been abducted by aliens as part of some grand experiment.

Or maybe it's just this damned computer. A blessing and a curse all at the same time.


I'll be so glad when this week is over. I've had better. I mean it's not like the Year of Hell episode of Star Trek Voyager, but still. There was much gruntle and little progress.

The again, maybe a temporal incursion is just what I need. Yeah, where's a Krenim Timeship when you need one? You know, the one with Red Forman on a quest to make things right again.

Or... Maybe temporal incursions are what seems to be sucking all the time away.

Nah. It's probably just dark matter. It fucks up everything.

Posted by jzawodn at 12:13 AM

March 26, 2003

Unintended Advertisement

Apparently some "sponsored matches" are bought on a parameterized basis. When a user searches for $something, the ad code constructs an ad based on a template that replaces $something where appropriate.

Sometimes, however, that can lead to unfortunate messages. Take, for example, the image on the right. (Click for a large version.) By searching Yahoo for "shit", you get a mySimon Sponsored Match that begins with "Shit on mySimon." It then goes on to extol the values of comparison shopping.


No, I wasn't searching for shit. I'm often looking for shit on-line, but rarely am I literally looking for shit. Someone noticed this at work and simply had to tell the rest of us about it (as you can imagine).

Update: Kalyan notes that "pee" and "puke" also provide some entertaining matches.

Posted by jzawodn at 05:54 PM

Parking Spaces

Damn. Apparently we've hired enough people in the last 6-9 months that it's hard to find a parking spot one those occasions when I get to work late.

I really hadn't expected to drive all over the parking lot looking. I guess this will motivate me to stick to my relatively early schedule.


It's too bad I don't have my own parking spot anymore. :-(

Posted by jzawodn at 11:34 AM

Gruntle Abounds

Driving home late last night from a meeting about an undisclosed topic at an undisclosed placed with a small group of undisclosed people, I started to realize how annoyed I am about my current work situation. Then, I got home and read about Craig's frustration. I thought, "wow, that's timely." Apparently neither one of us are terribly happy right now.

The first and only time I met Craig, we had lunch together right around the time that he was getting Deersoft rolling. Seems like just the other day. He was happy about life, excited about building his new company and their flagship product. After that lunch, I knew good things were in store for him. He was doing the right thing at the right time.

Now that he's been working for Network Associates for a while (they acquired Deersoft a while back), he's increasingly frustrated and annoyed by the environment, politics, and scale of a large organization.

I suspect that what Craig needs to do is get out of NA and take a break. A small one. During that time, he'll figure out what to attack next. He just struck me as the kind of person Silicon Valley needs--the tech entrepreneur with a passion for his idea, product, and potential customers. Working at NA really doesn't allow him to be himself. He's a round peg in a square hole. He's not doing what he'd hoped to be doing. Probably not by a long shot.

Now, you may be wondering what this has to do with me. In a way, I'm in the same boat. Roughly 4 months ago, I left the job I had been doing for 3 years to move into a different group.

The motivation for doing this was really two fold. First, having been doing mostly the same work in the same group for a while, it was time for a change of pace. New people, ideas, systems, and so on. The second motivation had to do with my own evolution. In the months and weeks leading up to the switch, I had been spending a fair amount of my time working with other groups at the company. They'd come to me for consulting, support, Q&A, and tuning advice for MySQL. In fact, I'd developed a reputation for knowing a bit about MySQL and made it clear that I enjoyed with it and wanted to continue doing so. The folks in Y! Finance were kind enough to let me do this, since it was clearly good for the company while also being good for me.

One of the people involved in convincing me to make the switch to Y! Search told me on a few occasions that the group I'd be moving into "could really use your MySQL expertise" (or something very close to that). That, along with the whole change of scenery/people/etc sealed the deal for me. A new job where I'm "recruited" partly because of the fun I have with MySQL and told there'd be lots more of it. Great.

That was the theory at least. We all know that in theory, practice and theory are the same. But in practice, they're not.

Here we are four months later. As I've looked back over the time, I've thought about the projects I've actually worked on. The other groups I've worked with. The time I've spent doing various things. In the end I realized that little has changed. I'm still using more of my "MySQL expertise" with groups other than my own. I'm still doing the same old support, consulting, troubleshooting, and tuning for other groups that I used to do. The truly MySQL-specific stuff that I've encountered in my new job hasn't been that substantial at all. Aside from the recent full-text search stuff, I really can't think of anything notable.

It's clear to me that as a whole, the company needs my passion for MySQL. And a lot of folks know this. We're using it all over the place and it's continuing to grow.. But the job I'm currently in really doesn't. The job I was doing in Finance probably made more use of it, now that I think about it.

I could get into specifics, but it really wouldn't add much to this one-sided discussion. And, given my luck, it'd just end up pissing off the wrong people anyway.

So where does this leave me? Was I the victim of a bait-and-switch routine? Or maybe the "sales pitch" I got last year was simply a best guess of what they thought they wanted and/or needed at the time? It's hard to say.


Writing about this has helped to clarify things for myself. Craig's post partly got the ball rolling, as did the undisclosed meeting.

I supposed the next step is to figure out who to talk with about this. There are a few other factors involved--very recent development, but they are more speculation at this point. I really don't know what they'll lead to. Perhaps I need to try accelerating that process, if I can.

Posted by jzawodn at 09:53 AM


I've been meaning to write about procrastination for a while now, but I've kept putting it off. Seriously.

This morning, Russell's post prompted me to finally do it. The great thing is that I don't need to do much more than refer you to his post and say "me too."

I can total sympathize with Russell, Joel, and Jim.

Not that I'm happy about it, of course. But at least I know I'm not the only one.

Posted by jzawodn at 09:09 AM

March 25, 2003 mini-rant

I've been using for a few months now. It's nice being able to download NPR programs to my iPod and listen to them later. But recently I've not been using it much and decided I ought to cancel my subscription rather than spending money for a service I really don't use enough. I figured I might sign up again someday.

I poked around on their web site and couldn't find a way to cancel my monthly membership (and the associated charge to my credit card). So I e-mailed to ask how I can cancel on-line.

You can't.

We have received your request to cancel your AudibleListener membership and are prepared to do so. For the safety of our customers, it is our policy that we get positive confirmation of the identity of our customer before performing service requests that involve a change in the financial status of an account.

What bullshit! They have no problem at all allowing me to increase my charges by using their web site. I can add subscriptions, purchase book recordings, and even MP3 players.

But now I want to send them less money per month and they suddenly start caring about "a change in the financial status of an account."

I'm now on hold waiting to speak with a human.

Screw you, You've lost a customer for life.

Posted by jzawodn at 10:57 AM

March 24, 2003

Busy doing nothing...

Wow. I just spent an entire day either in meetings, answering e-mail, or doing other people's work.

How exhausting. Hopefully tomorrow I'll be able to get some of my work done.

Posted by jzawodn at 06:43 PM

NetFlix + Porn =

Heh. Gotta love the free market. is like NetFlix but for, uh, adult entertainment.

I'm a bit disappointed that I didn't come up with the idea. It's so obvious, in hindsight.

Thanks to the cynical one for the link. :-)

Posted by jzawodn at 02:37 PM

March 23, 2003

MySQL 4.1 Alpha Builds Available

Enough folks on the MySQL mailing list have asked for 4.1 builds, that I'm providing them for Linux. They're unsupported. They're untested. I build them when the spirit moves me. I may build them nightly if there's demand. I've already automated the process, but I still kick if off by hand. (I've been doing this for ages, but I never made 'em available.)

You'll find them at:

The filenames should be pretty clear. Note that "cow" is the machine on which they're built. It's a Debian "testing" box. The binaries are configured to be unpacked in /home/mysql and run from there. That way they don't get in the way of your vendor-provided install.

Have fun.

Oh, if you want FreeBSD builds, let me know. I've got those automated too.

Posted by jzawodn at 08:07 PM

I'm Stupid

According to Russell:

ANY company/person who wants to ignore M$ is being stupid.

I'm being stupid. It's not that I want to ignore them, I simply do.

Ya know what? I'm fine with that. I really don't care what they're up to. Microsoft is largely irrelevant for me.

Posted by jzawodn at 10:37 AM

March 22, 2003

From the Back

I headed down to Hollister today with a 11:30am glider reservation. I hoped to go fly around a bit and just celebrate the fact that I now have a license. The weather in the South Bay sucked but things looked a bit better south. At least, they were supposed to be better. So I headed down around 10:15am.

The closer I got, the clearer the skies got. Once I was out from under the low (1,500 feet) overcast, I got to see the Sun and realized that it might shape up to be a pretty good day.

Part way there, it occurred to me that if there were any instructors free, I might try to get one to sit in the front seat while I worked on flying from the back seat. I figured I'd need a few days of that to get checked out, so why not start soon?

After I arrived and found a glider to use, I began the preflight only to find out that someone else needed it for a ride. Doh! There was another 2-32 on the ground, but it's one that I've never seen fly. I asked around and nobody knew if it was flyable. I had to find Drew to find out.

Drew was up with a student in 64E, so I hung out for a while, waiting for them to come down. I was hoping to either steal their ride (assuming they were done with it) or find out that the mystery glider was flyable.

It turned that the mystery glider was not flyable and they had several more flights planned. So I decided to hang out and see what developed. Surely one of the 2-32s would be back. The others (87R and 7531) were up for rides. I took some time to eat my lunch.

Eventually, Gus brought 7531 back from a Monterey Bay ride and I asked if he was done with it. He was, so I commandeered it for my solo flights. I ran into Drew again just before I was ready to launch. I asked if he had any instructors free that I could have in the front seat (hoping he might be). Instead, he suggested Russell or Gus. It turns out that Gus was free--with a minor schedule adjustment. His next ride was at 2pm, so that gave us a little over an hour to work on my back seat checkout.

Part One

First things first, I had to install the control stick and the airbrake handle in the rear seat. Having never done that before, it took a few minutes. Once that was done, we took off into the increasing wind, planning to take a 3,000 foot tow so I'd have time to get used to flying from the back set before needing to land.

The tow was interesting. The view from the back is rather different. With someone sitting in front, I don't get a very good view of the tow plane. But being closer to the wings, it's easier to notice when I'm flying level or not. And having more of the nose in front of me makes it a bit odd too.

Once off tow, I tried some medium turns and then a few steep ones. It turns out that flying from the back set isn't bad at all. (Landing proved to be a bit more challenging--as expected.) Having all that extra nose to look down makes speed control a lot easier. I more readily notice small attitude changes.

Once we got down low, the pattern looked a bit busy, so Gus suggested that we land on runway 31. That meant having a 5-10 knot crosswind. I needed more crosswind practice anyway, but hadn't planned on getting it in the back seat.

I liked the idea of landing on 31 anyway. Being over a mile long, I figured that having all that length might make things easier on my first back seat landing.

My first landing from the back set was... uhm... interesting. It wasn't bad. I had the controls the whole time. But it wasn't the most pretty sight you're likely to see.

We flew two more and I got a bit better each time. Since I needed the practice, we kept landing with the crosswind on 31. After that, Gus went to fly his ride. Drew mentioned that if I wanted to stick around, he'd fly with me later in the day. Since I wasn't in a hurry, I agreed.

Part Two

After I hung around for an hour or so, Drew told me that Russell was available to fly with me for a bit in 64E. We flew four flights off runway 24 and landed on 24 each time. Having a headwind made it quite a bit easier to land, but I was having trouble with my flare. Each time, I managed to flare a bit too high. I was working to develop a good feel for how high it looks from the back seat, but I wasn't quite getting it.

On one fight we had a mishap with the radio and my not paying close enough attention to the pattern. A Mustang was landing in front of us (to my surprise) and another glider was coming right in behind us. Oops. Lesson learned. Pay more attention when it gets crowded. The funny thing is that I've been in crowded patterns before and have never had a problem. What was different this time is that someone was with me. I had a distraction inside the cockpit--and I was distracted.

On one of the other flights, I thought I was getting better about my flare, but I managed to land the tail first. Doh!

The other two were pretty good. I was making minor adjustments and getting closer to what I needed to do. But I wasn't quite there yet.

Part Three

Russell was ready to fly with someone else, so I got the chance to do three more pattern flights. My first one was a little sloppy. Came in a bit too high and didn't adjust my glide very well. I flared a bit too late on landing. I guess I was over-compensating. But the second and third landings were pretty good. In fact, the third one was good enough that Gus didn't have to say a word and I knew it was good when we touched down. I hadn't flared too early or too late.

That was enough to convince Gus that I probably know what I'm doing from the back seat now. When signing my log book, he put a "back seat checkout -- OK for SGS 2-32" entry next to my last flight.

So... If I want to take a passenger up on a flight, s/he has the option of sitting in the front or back now.

Not bad for a day's flying.

Next up: getting checked out to fly the ASK-21 solo and/or from the back seat. And sending in my BASA application.

Posted by jzawodn at 10:18 PM

March 21, 2003

The Facts... Sort of.

In this ZDNet Australia article about MySQL, it says:

Much of the very busy Yahoo! Finance portal uses MySQL as a back-end database.

I find that statement quite remarkable because it's simply not true.

Yes, Yahoo! Finance uses MySQL as a back-end database. But much of goes a bit far. Most of the Y! Finance data is served from memory, not from MySQL. Yes, there are parts that use MySQL quite a bit, but they're not in the majority.

Posted by jzawodn at 07:24 PM

March 20, 2003

I'm a Pilot

It's official. I flew (and passed) my FAA checkride today! I'm officially a glider pilot.


Read all the details (if you care) in my flying blog.

Posted by jzawodn at 05:55 PM

The Big Day

My flight test was scheduled for 9am this morning. But last night I got a call from Drew asking if I'd be able to push that back. The weather forecast didn't look promising--rain and low clouds. So we pushed back until 1pm. I was glad to do it. It gave me an extra 3-4 hours of study time.


I spent the rest of the night brushing up all the seemingly endless facts, figures, rules, regulations, charts, checklists, and random stuff that I'm supposed to know. I tried to focus on what I expected the examiner to ask, but didn't want to skew my studying too much.

I got up this morning at 6:30am to finish studying and grab all the necessary weather info before heading down to Hollister. At 9:00am I was re-reviewing all applicable sections of FAR part 91. When 10:15am rolled around, I hopped over to the National Weather Service's Aviation Weather site to get the necessary info. I then called to talk with a weather briefer and updated my cross-country plan. The clouds over the Santa Clara Valley (and south to Hollister) were likely to be at 4,000 feet. Those over the hills near Los Banos (my destination airport) were likely at 6,000.

I drove to Hollister, arriving at roughly 12:15. I noticed that the clouds looked a bit lower than expected but there were large blue holes, so the flights ought to be good. But the cross-country plan wouldn't work because of the low clouds over the mountain.

I met up with Drew to get started. After he unlocked the supply shed, I asked if the nose wheel on glider 64E was fixed. He forgot but called Haven to come take care of it. In the meantime, I checked out the maintenance records for the glider so that I'd be able to show Dave (the FAA examiner) when the last 100-hour inspection had been performed, as well as the last annual inspection.

Then I inspected the tow rope, put a battery in the glider, and was just about to start my pre-flight when I saw someone walking over. I introduced myself and found that it was Dave. He was 30 minutes early. I had planned to re-review a few more things before he arrived, but that went out the window.

I told him I needed a good 10-15 minutes to do my pre-flight and that I'd come grab him to help with the positive control check.

I did a careful pre-flight inspection and Dave wandered over just about the time I needed him. We did the positive control check. Haven began working on the nose wheel while Dave and I walked back to the classroom to do the necessary paperwork and then he'd start with the oral test.

The Oral Test

Rather than simply quiz me, we had a conversation. He started by asking me about the weather and how it might affect us today. We talked about the 10-15 knot headwind and how it ruled out a downwind landing after a simulated rope break. (I made a mental note that he'd probably pull the rope around 400-600 AGL and expect me to land on 31.)

He then asked about my cross-country planning and the weather. We looked at the X-C profile I had done. I then suggested looking at the sectional chart to see the landmarks. He said that we should look at the sectional but for other reasons. He then asked me to find a particular airport and tell him everything I could based on what the sectional said. No problem. He then asked about glider towing in class C airspace. We then talked a bit about oxygen use.

After a bit more chatting, he said "Okay, let's go fly."

I was surprised. We hadn't been talking more than 10 minutes. 15 if you include the paperwork. I expected it to go quite a bit longer than that. He never even asked to see the weight & balance I prepared. (I asked him later and he just wanted to know that I had done it.)

The Flight Test

After a fit with the radio (I had to switch batteries), we pulled the glider out to runway 24 and prepared for launch. Dave didn't want a seatbelt briefing. He hopped in and strapped himself in. I adjusted things up front and went thru my checklist. Haven hooked us up and I had the canopy closed in short order. I explained my emergency plans in case of a rope break. I made one last scan for traffic and asked him if he saw anyone. No traffic.

Haven helped us launch. The first few hundred feet were normal. I called out my landing sites and as we climbed. I really expected him to pull the rope around 600 feet, but we just kept going. After we hit 1,000 feet, he told me to drop down to low tow when I was comfortable. Unfortunately, it was getting really bumpy. Lots of thermals.

Before we launched, I had explained that I flew mostly in the AM and had very limited thermaling experience. It showed. We got bumped around a bit and I was sloppy. But not too sloppy.

I got us down to low tow and flew half a box. He asked me to stop after I was half done. I then asked the tow plane for a 180 degree turn to avoid some clouds. After a couple more turns (and bumps), Dave asked me to tell the tow pilot to level off at 3,000 feet. We did. He then told me to release.

We could have gone much higher, so I wasn't sure what Dave was thinking. Maybe he wanted to do multiple flights?

He asked for a full forward stall. No problem. I cleared the air and performed the stall. Next was a full turning stall with a recovery in the turn. No problem.

I was expecting him to ask for slow flight and some precision turns. Instead, he said "let's see how you thermal." I chuckled, knowing that it'd probably suck, and headed toward some cumulus clouds. I found lift several times but couldn't quite center it. I kept ending up in sink.

After a few minutes of that, I noticed that our altitude was approaching 2,000 feet and we were a good 4 miles from my patter entry point. And I was on the opposite side of the airport. Not wanting to cross over the field (there were other folks taking off). I told him that my plan was to fly the long way around and fly a slightly abbreviated pattern. We were low but not low enough to worry yet.

While flying over what's normally the downwind and base legs for runway 31, I found lift. I slowed down and just flew through it. That got us a good mile or two closer with minimal altitude lost. Roughly 1 mile from my entry point, we were at 1,500 feet and I was just about to make start my landing checklist, and enter the pattern. But we hit some strong lift, so I turned and caught some of it. After one circle, I continued on into the pattern.

The wind felt like it was blowing 20 knots or so. I angled toward runway 31 and flew roughly parallel to it on my crosswind leg. Turning downwind, I announced my position and we really picked up ground speed. Before I knew it, I was making a base or almost base-to-final turn. Once on final and flying into the wind, I popped the airbrakes a bit to get us on a reasonable glide slope.

As we got closer, I made some adjustments to get us centered and aimed for the right spot. Dave hadn't said anything for the last 4-5 minutes, so I was wondering what he was thinking. I was wondering if he'd seen something he didn't like. Or maybe he'd just ask me for a second flight to get the maneuvers that we hadn't done on this flight.

Crossing the fence, our position was good--a bit off center. I centered us and adjusted our decent a bit. We touched down right on target! I've never made a zone landing that well before. As soon as he touched the ground, I was about to engage the wheelbrake so we'd stop in the designated area. Dave said, "let it roll... let's just take it back to the parking area. It's clear that you'd have stopped in time." That confused me a bit. If he wanted to park the glider, that means no more flights. I assumed I had done something wrong and had failed the test. But I had no idea what it was.

Once we stopped, I opened the canopy and he said, "it's too windy for a rope break with downwind landing today, so let's just call this your checkride." That took a few seconds to sink it.

I had passed!!!

We pulled the glider over to the tie-down area. He told me that he'd go inside to start the paperwork while I tied it up. Haven came over to congratulate me. He said something like, "Dave usually knows in the first few minutes whether he's going to pass you or not."


I went back to the classroom. He had just finished with my temporary airman certificate. He asked me to look it over and confirm that he'd copied the information correctly. He had.

We then talked for a few minutes about my (non-)thermaling and how the wind made the landing easier.

That was it. Game over. He left. I packed up, paid my bill, and headed home very happy.

Posted by jzawodn at 05:52 PM

March 19, 2003

VFR Airspace

More studying for the oral test... I always get the cloud clearances mixed up for the various air space. So I'm going to jot them here in the hopes that it'll help me to remember when the examiner asks.

Class A

Doesn't apply. No VFR flights are allowed in class A.

Class B

3 mile visibility and remain clear of clouds.

Class C

3 mile visibility and remain 500 below, 1000 above, and 2000 horizontal from clouds.

Class D

3 mile visibility and remain 500 below, 1000 above, and 2000 horizontal from clouds. (Same as class C)

Class E

Below 10,000 MSL: 3 mile visibility and remain 500 below, 1000 above, and 2000 horizontal from clouds. (Same as class C)

Above 10,000 MSL: 5 mile visibility 1000 above, 1000 below, and 1 mile horizontal from clouds.

Class G - Daytime

0 - 1,200 AGL: 1 mile visibility and clear of clouds.

1,200 AGL - 10,000 MSL: 1 mile visibility and 500 below, 1000 above, 2000 horizontal from clouds.

10,000 MSL - 14,500 MSL: 5 mile visibility, 1000 below, 1000 above, and 1 mile horizontal. (Same as class E.)

Exceptions in FAR 91.155(b) for things like National Wildlife Areas, etc..

Class G - Night

0 - 1,200 AGL: 3 mile visibility and 500 below, 1000 above, 2000 horizontal from clouds.

1,200 AGL - 10,000 MSL: 3 mile visibility and 500 below, 1000 above, 2000 horizontal from clouds.

Posted by jzawodn at 05:23 PM

My TrackBacks are Broken Fixed

Can someone ping this entry with a TrackBack? Let me know what (if any) error you get. A few folks have told me that my TB is broken and I seem to be getting way fewer TrackBacks that normal. I suspect it's related to my recent upgrade to MT 2.63 but am not sure where to begin debugging this yet.

I will have to search around a bit in the morning and see if this is some sort of known problem. Everything else went quite well with the upgrade from 2.21.


Update: I've patched MT. Let's see if that fixed it. Someone ping me again. :-)

Update #2: Duh. I pinged myself. It's fixed. Thanks to Phil's post in the MT support forum.

Posted by jzawodn at 12:28 AM

March 18, 2003

Testing Zemt

Just playing with Zemt. Ignore me. :-)

Posted by jzawodn at 11:46 PM

I will not blog about the war.

So don't expect to read anything about it here. Well, nothing beyond this.

Posted by jzawodn at 05:54 PM

March 17, 2003

Live vs. Studio Music

I find that decent live concert recordings almost always sound better, more authentic, and often more energetic than the studio tracks. Yet the live stuff is almost never heard on the radio. Why is that?

I guess it's good that I have the live versions of several albums in my collection. I really don't understand the music industry sometimes. Or maybe it's the general public I don't understand. It's not like Sony or ClearChannel are going broke...

Posted by jzawodn at 09:37 PM

Holy Cheap Fares!

I just made my flight reservations for PHPCon East 2003 on Y! Travel. A round-trip, non-stop flight from San Jose to New York was less than $300. And I even got times that were quite reasonable.


Not to arrange who I'm going to hang out with while vising NYC. Anyone live nearby and want to get together for a bit?

And, yes, it is my first time to NYC.

Posted by jzawodn at 04:12 PM

Upcoming Conference Presentations (MySQL)

I finally got off my lazy ass and wrote up abstracts for some of my upcoming talks. Here's the scoop on the MySQL Conference and the PHP Conference (both in April). I'll hit the OSCON ones in a few days (or weeks?). So far they haven't nagged me yet, but I'm sure they will. :-)

MySQL Conference -- San Jose, CA

At the 2003 MySQL Conference, I'll be giving a 2-hour talk on Thursday (April 10th) at 10am that's listed as "Using MySQL Replication in Large Scales" Here's the abstract I've submitted:

Replication provides a great mechanism for scaling MySQL beyond a single machine and even across vast distances. It can also be used to provide a "hot spare" server which can be used in the event that the primary server fails.
In this session, we'll look at how MySQL replication works and how to configure it. How is replication in MySQL 4.0 different than in the previous releases? nnn
We'll also cover common problems and solutions. Why does replication fail? How can you monitor and detect when replication fails? What's the best way to add one more new slaves to an existing replication setup? Which replication topology makes the most sense for a given application?
Finally, we'll discuss hardware and software solutions that can be combined with replication to provide load-balancing and high-availability.

Then on Saturday (April 12th) at 4pm, I'll be giving a 2-hour talk titled "Optimizing MySQL" Here's the abstract for that one.

As the load on a MySQL server increases, its performance may degrade if it has not been properly tuned to handle the load. A default installation of MySQL performs well for many applications, but it generally will not perform efficiently under stress.
In this presentation we'll discuss many of the tunable parameters in MySQL's configuration file (my.cnf), how to read MySQL's performance counters, and various optimizations which can be used to improve the performance and efficiency of MySQL servers--often with dramatic results. We'll also examine MySQL's various table types as well as hardware solutions to performance problems.

This conference is really gonna be cool. Check out the schedule to see for yourself. The only thing that bothers me is that there are other talks that I want to attend while I'm presenting. And even when I'm not, there are some tough choices. During many of the time slots, I want to attend at least two of them.

Good for the conference. Bad for me.

PHP Conference -- New York, NY

At PHPCon East 2003, I'll be giving a 75 minute talk titled "PHP & MySQL Performance Tuning" Here's that abstract.

They're they dynamic duo of LAMP. Fast, easy to use, wildly popular, and extensible. But what happens when your MySQL-backed PHP application starts to slow down? Where do you look? What tools will help identify bottlenecks? What techniques can help to avoid performance problems with PHP & MySQL?
In this session, we'll take a whirlwind tour of MySQL performance viewed thru the lens of PHP (and Apache). In doing so, we'll discuss and illustrate answers to all of those questions.

I'm looking forward to the conference and visiting NYC for the first time. That's right, I've never been there. I'll probably stay a few extra days to hang out with Derek and Kasia.

That reminds me. Flight reservations. Hotel reservations. Ugh. More stuff to do.

Oh, and I should probably alert the boss to the fact that I'll be out a bit in April. Better sooner than later.

Posted by jzawodn at 12:04 AM

March 16, 2003

Flying in the Rain

I didn't intend to fly in the rain, but that's what happened.

The weather forecasts were all wrong this weekend. It turned out nothing like what I expected. I drove down to the airport today, expecting the rain to finish around 9:30 or so. That'd give me an hour to get my remaining ground stuff done and then fly with Jim for an hour.

I arrived to find low clouds and no rain. So I began to preflight 64E only to be told that the front tire was flat (I hadn't gotten that far on the preflight checklist). So we took 87R instead.

The goal for our flight was to finish the few things that I didn't get done on yesterday's test checkride because of all the cloud dodging I had to do. The rain was off to the west and heading our way, but it looked like we had an hour or so before it arrived.

I wanted to tow to 3,500 feet, but as we got to 3,000 I noticed the clouds getting a bit too close for comfort, so I released about 20 seconds later. Jim had me practice a few stalls, slow flight turns, and then a 360 degree precision turn (45 degree bank). He wanted a 720, but we didn't have the altitude for that.

About 5 minutes after release, we hit the rain. There's a first time for everything, so today was my first glider flight in the rain.

I got us into the pattern for runway 24 and hit the landing zone just fine. The landing was a little rough due to a last second adjustment to avoid landing too soon, but it worked.

Back on the ground, Jim said "that was good... we're done." Meaning that my checkride was fine. Meaning that he doesn't need to fly with me anymore. Meaning that once we get a bit more ground work done, I can take the FAA practical test.

Wow. It's still a little hard to believe, but it's sinking in.

We then finished up some cross country planning and weather information. Then we spent some time doing paperwork. I filled out my flight test form while Jim signed off my log book. I had a problem with my flight time number and spent an hour or so with a calculator trying to find the mistake in my log book. Eventually, I did. (It's like balancing a checkbook. I hate that. I need to automate it.)

I hung out for a bit to get Jim's final signature. While there, I helped him launch with Patrick in the rain a few times and talked with Mike about his checkride experience from last June.

Posted by jzawodn at 07:52 PM

Here come the uninformed, lazy, opinionated masses...

The Fortune Magazine MySQL story I mentioned the other day (which is also being syndicated on has just been slashdotted.

Slashdot is a lot like a car accident on the highway. You know it's gonna be really bad, but somehow you can't stop yourself from looking (or reading in this case).

News flash, folks: MySQL has transactions. Yes, the ACID kind, just like Oracle and PostgreSQL. They've been there for a while now. Really. I've been using them quite happily.

It never ceases to amaze me.

The Open Source freaks can be so predictable sometimes. As expected, most folks seemed to have a 3 year old (or worse!) view of MySQL's features and limitations. And, as expected, there was a big "What about PostgreSQL?! It has more features!!!" contingent.

Reality check. It's not all about features. It's about the best tool for the job. For a lot of folks, MySQL really is that tool. Get over yourselves.

Posted by jzawodn at 07:23 PM

Would you change your blogging habits if...

Imagine you have a blog with a couple hundred folks who read it on a semi-regular basis. Some of them are your co-workers. Further imagine that you work for one of the world's best known tech brands. Finally, suppose that you know at least two of your company's vice president's read (or have read) your blog.

Would you blog differently? Shy away from criticizing your employer? Purposely avoid work-related topics?

I hope not.

You might wonder, as I have, what would happen if your company's PR folks caught on. (Maybe they have?) Would they care? Should they care? Or is it more of a "don't ask, don't tell" situation?

What if those PR folks also knew that tech journalists were reading it, hoping to get ideas for a story about your company? (That's a funny story that I really wish I could tell.)

What about shareholders? Is that part of what being a public company in the Internet age is all about? Having employees who blog about their company from the inside. It probably won't be long before someone stands up at an annual shareholder's meeting after the CEO has made some bold claims and says, "I was reading one of your employee's weblogs. She seems to think that won't work at all, and she provided very compelling evidence." How might that CEO react? Would the blogger lose her job?

What about your competitors? Surely the smart ones are reading 'em. Aren't they?

Posted by jzawodn at 06:51 PM

March 15, 2003

IronPort and SenderBase

Anyone have opinions on the mail and anti-spam work that IronPort is doing with SenderBase and such?

I hadn't heard of them before, but someone recently pointed them out.

The info on their site is a little weak on details:

IronPort SenderBase is an information service that allows email administrators to rapidly and effectively identify high volume senders of email. SenderBase uses an extensive network of over 5000 ISPs, universities and corporations to give IT administrators a global view into the volume of email sent from every domain and network.

Now we all know that "high volume senders" aren't necessarily spammers. For instance, their top four right now are:


But I do see and on the list. They're more of what I think of as spammers.

Anyway, I'm looking for more info. Anyone using their service? Bought their product?

Posted by jzawodn at 08:47 PM

Tech Hiring Rebound in the Valley

Over in Radwin's blog, he talks of a possible tech recovery with Yahoo hiring more engineers. (It does feel good to be at a company that's hiring once again.) His next entry, Resume Overload reflects the reality of tech job seekers today--there are a lot of 'em out there looking for work.

His experience aside, I've also noticed things warming up a bit. How? Recruiters. It's been a while, but recruiters have been calling (and e-mailing) again.

I've noticed a real difference between the recruiters of today and the recruiters of a couple years ago. Those who are still in business are the smart ones. They're not just reading from a list of skills and checking items off on a list. They seem to better understand their client's needs, better understand the technology, and they don't seem rushed.

Anyone else noticing this?

Posted by jzawodn at 07:50 PM

Into the Zone

I had five flights today with Jim. I drove down to the airport expecting to do more ground training because the weather was pretty shitty sounding. But when I arrived, he was preflighting a glider. So we flew.

The first flight was a test checkride in preparation for my practical test. It went better than the last one a couple weeks back. There were a lot of clouds and I didn't do a very good job of staying away from them on tow. I also let us get too far from the airport, so rather than releasing at 5,000 feet, I turned us back toward the airport until we climbed to 6,000 feet.

Once off tow, Jim asked me to perform slow flight, stalls, and a spin. Strangely, my first spin attempt failed. But I got it spinning normally on the second try. Luckily that's not a flight test requirement. The only thing I really messed up was a bit of speed control (not bad, just not up to Jim's standards) and one of my forward stalls. I inadvertently tried to use the aileron to pick up a dropped wing rather than the rudder. Oops. Damned instincts.

When we got low enough, I got us into the pattern to land on runway 24. I was really focused on hitting the landing zone this time but I managed to get us on the ground about 10-15 feet too soon. Doh!

On our second flight, we went to 2,200 feet hoping to go higher. But the clouds were in the way, so I gut it short. I got to practice a few simple things and it was time to land again. This time I nailed the zone! :-)

That was the first time I ever hit a zone landing with Jim in the back seat.

We then decided to do three more short flights so I could practice a couple more landings. The next two were uneventful. I landing on target and stopped within the allotted distance just fine.

For my last flight of the day, just as we crossed over the 100 foot hill and I said, "we're over the hill, we could turn around and go back" (in the event of a rope break), Jim pulled the release. So I made a 45 degree left 180, got us back over the runway, and landed. No problem.

Posted by jzawodn at 02:39 PM

March 14, 2003

MySQL News, Fortune Magazine, and RSS Feeds

There's a link the MySQL home page to the Fortune Magazine story about MySQL (Can an Open-Source Database Threaten Microsoft, Oracle, and IBM?). I'm quoted twice in the article. My favorite:

MySQL is to Oracle as Linux is to Windows. It will slowly but steadily creep up the food chain, just like Linux has.

I'm glad they used that one.

Kudos to Fortune, too. I've talked with a fair number of reports about MySQL over the last few years. Usually they're rather clueless about databases, Open Source, and MySQL. Not so in this case.

Speaking of the MySQL site, I contacted to ask why there's no RSS feed for their headlines. It turns out there are several. They're just not well-advertised yet.

Cool! The MySQL folks continue to rock.

Hopefully they'll become more visible soon? (Hi, Jim!)

Update: For some reason NetNewsWire doesn't like the feed(s). I've yet to try and figure out why. Hmm. I'm sure it'll get fixed quickly once we know what's wrong.

Update #2: As noted in the comments, Jim fixed the feeds. Thanks to help from an on-line validator. Also, as Harrison notes, the story is also on CNN's site.

Posted by jzawodn at 09:25 AM

March 13, 2003

More Ground Training

The weather was crappy, so instead of a test checkride, Jim and I worked on some of my remaining ground training. I wasn't planning to do book work and hadn't yet studied, so it was a bit rought at times.

We started with weather services. I needed a lot of help there.

After weather, we moved on to aircraft maintenace records.

The rest of the time was spent on sectional charts (I did okay on that) and quizzing me on FAR parts 1, 43, 61, 71, and 91. We also spent time on NTSB part 830 (accident reporting).

I still have lots to read and re-read, but this is the home stretch. It's starting to feel real.

Posted by jzawodn at 08:54 PM

March 12, 2003

Glimpse the Future?

I can't see as far into the future as I'd like. So I'd like ask the readers of my blog for some help. In reading recent news and just paying attention to tech in general, I've noticed a lot of interesting technology announcements and trends. I'm sure they're news to no one, but I just happened to think of them together for the first time, today. And it's clear that they're painting a clearer and clearer picture of the future. Or at least they're trying to.

  • McDonald's will be offering WiFi when you drop in for your 99 cent heart attack. Starbucks was first. One can only assume that others will follow suit. Who next? Bookstores? Gas stations? The waiting room of the doctor's office?
  • Intel and AMD have recently announced new CPUs. The big news? Low power--meaning longer batter life in laptops and smaller mobile devices. (I'm glad they've realized that speed isn't everything.)
  • Fuel cells are available for some laptops. Again, longer battery life.
  • Intel is pushing 802.11x in a big way, following Apple's lead.
  • Mobile phones are getting more sophisticated. Color. Cameras. Better data rates.
  • Sales of 802.11x equipment are still brisk.
  • Slowly but surely, Bluetooth is catching on too. (Thanks largely to Apple, again.)

I'm able to surmise that we'll soon (whenever that is) have devices that have Internet access more often than not. Our mobile devices will be on for much longer periods of time. This is all very good news.

But here's where it starts to get fuzzy.

What will we do with our newfound connectedness and battery life?

I don't know. Maybe we'll blog more. Maybe we'll be on IM systems even more than we already are. If only these new systems also had basic GPS capabilities, we'd have not only presence but location too. Imagine having a preference in your favorite messenger client that you could enable: Share my location with my friends. I think that'd be neat.

Does anyone make a little USB GPS dongle? Or maybe a bluetooth phone will be able to get my approximate location and share it with my computer?

Clearly there will be more applications. New ones. Stuff we're not doing today. What is it?

I'd like to know what people are thinking. What will our mobile, connected, applications of the not-too-distant future be? Is anyone building them now?

Posted by jzawodn at 11:41 PM

Twilight Zone at Work

I just had one of those Twilight Zone meetings earlier today. I walked into the meeting with some vague expectations about the content and outcome. But when I left the meeting an hour and a half later, I realized that the outcome was almost the opposite of what I expected. And I wasn't the only one who felt this way (to a degree).

Heh. The best part is that the outcome was much better than I expected.

Posted by jzawodn at 04:03 PM

WTF is Apple Smoking?

The software update manager appeared last night to tell me it wanted to install Java 1.4.1. Great. but then I noticed the little note at the bottom of the window.

Status: Not installed, restart will be required.

(Emphasis mine.)

What the fuck?!

I have to reboot my machine afater upgrading Java? What is this, Windows?! It's JAVA for god's sake!

I'm really sick of having to reboot every time Apple throws some new software my way. It sure makes Linux shine. I have a Linux box with an update of over 420 days. I use it daily. I upgrade stuff all the time (thanks to apt-get). But the only time I'd have any need to reboot is if I have to physically move the mahine or upgrade the kernel.

Now let's think about my TiBook. I can move it all I want without a reboot because it has a built-in battery. So.... what? Is the kernel written in Java now?

Can someone please explain the necessity of the reboot? I honestly don't understand.

See also: Crash Different. Mabye I should make a video too.

Posted by jzawodn at 08:19 AM

March 11, 2003

Moritz Leaves Yahoo Board

According to this Reuters story (on Y! Finance):

Yahoo Inc. (NasdaqNM:YHOO - News) on Tuesday said that the venture capital investor who was the first outside director to serve on its board had stepped down and would be replaced by a video game industry veteran. Yahoo said Michael Moritz, a partner in Sequoia Capital, was leaving the board to focus on "other business and investment opportunities." According to Sequoia Capital's Web site, Moritz serves as a director of 11 other companies.

One of those 11 other companies is Google. There is a bit of speculation that he's left Yahoo because of Google. Either there's a conflict of interest or things are ramping up there and he needs to spend more time with Google (IPO?).

I don't buy it. I think it's like this. Mike Moritz has been affiliated with Yahoo for a long time. He, David, and Jerry go back--all the way to some of Yahoo's initial funding.

Directors don't stay around forever. Eventually they move on. It's that simple, in my mind.

Heck, founders eventually move on, too. Considering how log we've been around, it's probably impressive (to an outsider) that David and Jerry are still at Yahoo and involved in the day-to-day business. As a Yahoo employee, though, it makes complete sense. To a lot of us, those two still represent Yahoo. It's hard to imagine either of them elsewhere.

Personal trivia: About a year or two ago, I actually had Mike Moritz contact me to ask some questions about a company that Sequoia was evaluating as a possible investment. It was a little odd--talking to someone that legendary and powerful. Bonus points if you can guess the company.

Posted by jzawodn at 09:30 PM

Lots of random stuff to study

There's a lot of random stuff I need to learn for my upcoming practical test--mostly for the oral test. So I'm going to force myself to study and learn it by blogging some of it.

I need to know the phonetic alphabet. So I'll type it out here. Or as much as I can without looking up what I don't know.

  • Alpha
  • Bravo
  • Charlie
  • Delta
  • Echo
  • Foxtrot
  • Gulf
  • Hotel
  • India
  • Juliet
  • Kilo
  • Lima
  • Mike
  • November
  • Oscar
  • Papa
  • Quebec
  • Romeo
  • Sierra
  • Tango
  • Uniform
  • Victor
  • Whiskey
  • X-ray
  • Yankee
  • Zulu

Okay, I missed a few and had to look 'em up: India, Mike, Oscar, Quebec, and Uniform.

If I do this about 10 more times, I should be set. But I won't bore others with that exercise. :-)

Posted by jzawodn at 08:44 PM

It really is quite simple.

In his What part of blog don't you get? post, JR explains something that folks seem to forget:

My blog, my rules.

Exactly. :-)

Posted by jzawodn at 07:40 PM

Google at ETech

This is interesting. I'm not sure what to make of it, but apparently Google is a platinum sponsor at the 2003 Emerging Technology Conference.

Hm., ADC, and Macromedia are also on the list. A few of the sponsors have speakers on the list of featured speakers. It looks like Google's Craig Silverstein is giving a keynote.

I haven't decided if I want to try and go this year. The conference will be during a very busy time for me.

Posted by jzawodn at 07:38 PM

Freedom Fries

A friend at work sent me a link to this Y! News story about changing "french fries" to "freedom fries" at the cafeteria that feeds our nation's pigs representatives.

Oh, please.

Don't these idiots have anything better to waste their time and my money on? Like the thousands of homeless people? Or the old people who can't afford medicine. Or the kids who aren't learning a damned thing in school. Or... anything else?!?!

Who elected these retards? They sure as hell don't represent my views.

Posted by jzawodn at 10:45 AM

March 10, 2003

MySQL Full-Text Search Rocks My World

People ask me about MySQL's full-text search from time to time, but I've never actually used it. I understand how it works, so I can generally provide ball-park ideas about performance and suitability for a particular purpose. But until today, I had no first hand experience.

That all changed today. My initial reaction: Wow!

In MySQL 4.0.10 (I haven't bothered to build 4.0.11 yet) it makes my life way easier.

Here's the problem I'm trying to solve, stated generally enough so that it's meaningful and doesn't give away any trade secrets.

I have a Perl script manipulating lots of short multi-word strings. Each string has an associated numeric value. There's anywhere from a few hundred thousand to 5 million of them. For each of those strings, I need to locate all the other strings that contain the first string and then do something interesting with the associated value.

For example, given the string "car rental" I need to find:

  • national car rental
  • avis car rental
  • dollar car rental
  • car rental companies

And so on.

I do not want to match "rental car" or "car rent" or "car rentals" or similar variations. Order matters. Word boundaries matter.

The simple solution is to iterate over the list of strings. For each string, scan all the other strings to look for matches. The problem is that this does not scale well at all. It's an O(n**2) solution. With a few million strings, it takes forever.

What I needed was a way to index the strings. In the "car rental" case, if I could somehow find a list of all the strings that contain the word "rental" and then examine those, it'd be way faster. It be even faster if I could find the the intersection of the set of strings that contain "car" and those that contain "rental." Then I could just check for ordering to make sure I don't find "rental car." But I didn't want to build that myself. And memory is at a premium here, so I can't attack it sloppily..

MySQL to the Rescue!

After a bit of thinking, I realized that MySQL's fulltext indexing could probably do the job a lot faster than I could. So I constructed a simple table that can hold these mysterious strings and values.

  CREATE TABLE `stuff`
    secret_num    INTEGER UNSIGNED NOT NULL,
    secret_string VARCHAR(250)     NOT NULL

Then I load all the data into the table, either directly in Perl or all at once using mysqlimport. Once it's there, I add a fulltext index to the secret_string column.

ALTER TABLE `stuff` ADD FULLTEXT (secret_string)

Then I can find the data I want much, much faster.

mysql> select * from stuff
     > where match (secret_string) against ('+"car rental"'
     > in boolean mode) order by freq asc;
|   48 | discount car rental   |
|   56 | car rental companies  |
|   81 | advantage car rental  |
|  106 | payless car rental    |
|  204 | avis car rental       |
|  206 | hertz car rental      |
|  231 | dollar car rental     |
|  267 | alamo car rental      |
|  329 | thrifty car rental    |
|  495 | budget car rental     |
|  523 | enterprise car rental |
|  960 | national car rental   |
| 1750 | car rental            |
13 rows in set (0.00 sec)

Not bad.

Of course, it's not perfect. There are three issues.

  1. MySQL has a slightly different notion of what a "word" is than my code. But I can account for that my doing a sanity check on the records that come back.
  2. MySQL doesn't index small words (length 3 or less) by default. I haven't addressed that yet. I can either rebuild MySQL to also index smaller words, or handle it in a different way. I'll worry about it on Wednesday.
  3. The original record ("car rental") appears in the results. So I have to filter it out. No big deal.

All in all, this is a lot easier and faster that having to come up with my own solution.

Oh. I should point out that this data was destined to be stored in MySQL anyway, so it's not like I have an unusual dependency on MySQL just to solve this problem.

Go forth and make good use of MySQL's full-text search engine.

Posted by jzawodn at 04:31 PM

Bush offers $300 for War

No, not really. But you can read about it over at the Onion.

I love the Onion. Too bad I don't visit more often. Anyone have an RSS feed for their headlines?

Posted by jzawodn at 12:39 PM

This is telling

I just got a Google press release in e-mail, as the result of being on the google press mailing list.

NORTH HOLLYWOOD, Calif. & MOUNTAIN VIEW, Calif. - March 10, 2003 - Walt Disney Internet Group (WDIG), and Google, developer of the largest performance-based search advertising program, today announced an agreement through which Google will provide several Disney web properties with Google's search technology and highly relevant sponsored links.

(Emphasis mine.)

So, they're not calling themselves the biggest, best, fastest, or coolest search engine anymore? Nope. Now they're the developer of the largest performance-based search advertising program.

How times change.

Posted by jzawodn at 08:04 AM

March 09, 2003

MT Upgraded

Well, the upgrade seems to have worked. Let's see if I can post this without anything blowing up.

If so, all the folks bitching about the lack of a search box on my blog will soon have one thing less to complain about. :-)

Update: It seems that TrackBack is somehow broken now. Grr. Must figure out what broke.

Update #2: Yes, there's now a search box on the right side of my main index. I need to hack on the template a bit to make it look right, but at least it works.

Posted by jzawodn at 10:35 PM

Upgrading MT

Alright, I've waited long enough. After reading the changelog, I've decided to make the jump from MT 2.21 to 2.63.

I hope this goes smoothly.

Posted by jzawodn at 10:23 PM

March 08, 2003

100th Flight

I had another two-hour ground session with Jim this morning to go over more of my required training. We talked a lot about ridge soaring, medical factors, oxygen usage, and so on. It became apparent how much I need to read up on the stuff I've had no experience with.

After our ground sessions, I had glider 64E reserved for some flying time. I checked the schedule and found that it wasn't very busy, so I planned to get a few short flights in so that I could practice landings.

Before I went up, I chatted with Jim about what we had left to do. He figured we have 4 hours more of ground training (2 more sessions) and then one session of flying, during which we'll fly another test checkride. After that, I'll be able to fly with an FAA examiner for my real checkride. (Gulp.)

I got on the schedule for a flying session next Thursday morning and then two ground sessions next weekend. Just for fun I tossed in one more solo flight session on Sunday. It can't hurt to get a little more practice in, right?

It's hard to believe that I could be flying for my license in a couple weeks. Yikes.

Anyway, on to my flights today.

I took a 3,700 foot tow for my first flight, so I could practice a few turns and get a feel for the glider. I always like to have a few extra minutes on my first flight. While circling around 3,000 feet 4 miles northeast of the airport, I head a Citabria make a few radio calls in the pattern and land. The voice on the radio sounded familiar. Then I remembered that my friend John was taking a 3-day intensive tail-dragger training course. I wasn't sure it was him, but I figured there was a good chance they decided to fly down to Hollister for a change of scenery. I head him take off and then enter the pattern again a few minutes later. This time I got on the radio and asked, "Citabria on crosswind, is that John?" It was.

Anyway, they flew several more landings and takeoffs. Meanwhile, I practiced some 360 degree turns and then headed back to land. There was no lift to be found. Well, almost no lift. As luck would have it, the smooth air became rather bumpy in the pattern. I hit zero sink and then 1-2 knot lift on downwind in the pattern. Murphy is funny that way.

For my landings, I had planned to flare over the 31 numbers and touch down abeam the "H" in HOLLISTER along the runway. Much to my surprise, I did (mostly). My first landing was a little rough, but really not bad. Much better than usual for me.

Once back on the ground, I entered the flight into my log book only to realize that was my 100th glider flight! It's hard to imagine that I've done this (in one form or another) 100 times already.

My next two flights were to 2,300 and 2,100 feet. That gave me just enough altitude to fly around for a few minutes before getting into the pattern. My next two landings weren't as good. I came in a bit low on one and a bit high on the other, but in both cases I was able to adjust and land just about on target. I had to float a bit on the low one and really jump on the brakes for the high one. But it worked. Apparently, when I really concentrate on my landings, they're not as hard as I thought.

Posted by jzawodn at 09:53 PM

March 07, 2003

A Change of Perspective

When I ran across Josh's a technology perspective entry, it really resonated with me. Allow me to quote him and then ramble for a bit.

It struck me today that the focus of my interests have changed drastically since leaving California. When you're submerged in the land of technology, it becomes etched on your mind. You live and breathe high-tech, and everything around you from the people to the local news and even the billboards are talking about the newest enterprise product from Oracle or the latest chip technology. It all has a very immediate impact -- you cringe when the Nasdaq has a bad day, and you cheer when a competitor announces declining revenues or market share. My brain was centered around technology because it was immersed in it.

It struck me because I've been thinking about that a lot lately. Not necessarily in those terms, but we're both on the same wavelength. (Maybe it's because we worked together in two jobs (Yahoo and Marathon Oil) and went to the same university.)

You might recall my longish What Should I Do With My Life? post back on Jan 1st. Over the holiday I was thinking a bit about how I've changed since coming to the valley of silicon.

Though I've stayed here, Josh and I have something in common again. In the last year or so, I've really distanced myself from the day-to-day rise and fall of tech stock prices, press releases, and the machinery that powers so much of what goes on here. (The drop in the economy has made that easier to do, but it still takes work.) And I don't work the sort of crazy hours I used to a year or so back. Many folks at Yahoo have adopted more sane working schedules and I'm glad to be one of them. Life's too short to spend it all at work.

I've also found myself growing less and less interested in the Open Source "movement" and all the pointless wastes of energy is spawns. That's all well in good while you're in college and can stay up past 3am every night, arguing on IRC or hacking on your favorite project of the week. But it's just not for me. I don't argue with religious fanatics and I'm not going to get all wrapped up in that world. (Well maybe now and then... but only on special occasions.)

In this time, I've also become a bit less bitter about living here. I used to really complain about the two things I hated more than anything: the cost of living housing and the traffic. For whatever reason, those don't bother me so much anymore.

More recently, I've been trying to figure out what caused these changes. They're clearly good and good for me. But I'd like to have an idea of where they came from. Maybe I can do something to ensure that whatever is guiding me will continue to do so.

I attribute it to three things.

Growing Up

There have been a lot of changes at work in the last year or so. A lot of folks have moved on, started families, or otherwise made important changes in their lives. To some degree or another, that's been rubbing off on me. Things have slowed down a bit. Sure, they're still crazy, but it's not like it was a few years ago. It just feels like a lot of folks (me included) have grown up a bit.

That's probably not the best way to explain it, but hopefully it's sufficient to get the point across.

Meeting New People

Ever since Jon Udell pointed me at the blog world last year and suggested I get with with the program, I've been meeting new people. I've met only a handful of you in person, but I feel like I know many more people than I did a year ago. Some leave comments regularly. Some have blogs that I read daily. Some mailed me privately and struck up conversations.

It's really amazing to think about the contacts, associations, and ideas I've been able to develop as the result of participating in the blog world. In doing so, I've exposed myself to people, ideas, and technology that I might have never come across otherwise. And I really feel like it has changed me. Like e-mail or the web itself, I really don't think this is some sort of passing fad.

Reviving an old Hobby

After a nearly 12-year break, I finally got back into flying. I've spent quite a bit of time studying, practicing, learning, and exploring. It's been a blast. When I'm up in the air, I never think about work. Ever. It's a great break. A change of scenery. There's no keyboard. No noise. It's outside. And my mental health is all the better for it.

I remember being on the phone a few months ago with one of my oldest friends. She and I have known each other long enough that she remembers when I first starting flying back in high school. In fact, I remember her coming to the airport to watch one time. When I told her that I had picked it up again and was committed to getting my license (and much more) this time, she was so happy for me. I didn't need to say any more than that. She just knew that it was good for me and I really needed to do it.

She was right. As usual.

Back to Josh

So, in response to Josh, the best I can come up with is this: Yeah. Me too.

Posted by jzawodn at 09:33 PM

Roogle is Cool

I'm impressed. Scott seems to be hacking away on Roogle his Google-inspired RSS Search Engine.

Cool stuff, Scott. And I'm not just saying that because I was in the first run. :-)

Posted by jzawodn at 08:47 PM

I passed

Yeay! It's over. I passed the test with flying colors. (I don't know why colors fly or what that means, but figured that a one-sentence entry is a bit too short.)

Posted by jzawodn at 06:06 PM

FAA Written Test: Passed

I arrived at the West Valley Flying Club in Palo Alto around 12:40pm for my written test. After a bit of setup and inspecting my stuff, the test got started right around 1:00pm.

In the first 10-20 minutes, I answered about 40 of the 60 questions had was 100% sure I had them correct. I then took a bit longer to do the next 16 questions (some of which I marked so I could go back and double-check them). Then there were about 4 that took me 30 minutes or so. All told, I was there for about 50 minutes.

Final score: 97% (missed 2 out of 60)

I tied my score from ~7 years ago when I took it in college.

Posted by jzawodn at 02:30 PM

March 06, 2003


It seems that Dan likes his Tivo.

Posted by jzawodn at 10:28 PM

TMDA Filtering via procmail?

Has anyone managed to write a procmail recipe that can effectively identify TMDA auto-replies? You know, the kind that say "To release your message for delivery, please send an empty message..."

Having never used TMDA, I don't know what's commonly customized and what I can expect to see there. I note that the header has X-Delivery-Agent: TMDA/0.62. Perhaps that's sufficient.

* ^X-Delivery-Agent: TMDA

Do folks commonly (or ever) modify their TMDA setup to get around the fact that they're more annoying than listening to Clear Channel Radio?

On a related note, I don't reply to TMDA. Ever. I don't care if you're my Mom. That is NOT the solution to spam. Sorry.

I don't want to see them or even know that they arrived. I'll simply shitcan them to /dev/null and go on with life.

Posted by jzawodn at 04:49 PM

March 05, 2003

Posting from Perl is Way Cool

I just had to try one more post to make sure my new posting script works intended. I've updated it quite a bit to, in Perl spirit, Do What I Want. And it does. And I'm quite happy.

Next step: emacs integration. Then e-mail. Then I take over the world.

Posted by jzawodn at 09:15 PM

The Code

Okay, Net::Blogger officially rocks.

I posted the previous entry using a little script that took me maybe 7 minutes to write (including the time to install Net::Blogger). If you're curious, have a look at to see how I did it.

There is so much cool stuff I can do with this.

Posted by jzawodn at 08:54 PM

Posting to MT from Perl

If this works, Net::Blogger rocks! :-)

Posted by jzawodn at 08:33 PM



Posted by jzawodn at 08:22 PM

It never ceases to amaze me...

People type the damnest things into the search box on the Yahoo! home page. Every day. There's just a lot of weird shit in the logs. Tons of it.

I have to wonder how much of it can be attributed to (1) the cat walked across the keyboard, or (2) my script to scrape Yahoo messed up, or similarly odd things.

One thing I learned today. A lot of folks used consecutive single quotes ('') as if they're the same as a double-quote ("). I don't get it. But I have to fix it. And lots of other little oddities.

And a lot of people can't spell very well (me included). But at least some search engines can handle spelling correction in a reasonable way.

Posted by jzawodn at 05:17 PM

March 04, 2003

Forged Spam Prevention

About a month ago, I brought up the issue of forged spam and responsibility, noting some ideas about how it might be prevented. Derek mentioned that it had come up before and his idea had been shot down at the time.

Well, good news. Now Derek describes how the idea is now evolving into an RFC. I'd love to see that (or something like it) implemented by the big players. It won't fix the spam problem, but it will help.

Posted by jzawodn at 08:31 PM

Crash Different

Okay, this has to be the most amusing switch parody I've ever seen. I laughed my ass off.

Thanks to Derek for the link. I'm sure it's elsewhere and I just missed it.

Posted by jzawodn at 07:49 PM

Search Engine Imitation

As seen on C|Net:

Fast Search & Transfer's has dropped the use of banner advertisements in a Web site redesign that recalls the look and feel of rival search provider Google. The redesign, unveiled Tuesday, comes amid an overall decline in the use of banner ads online, as advertisers move on to larger, more eye-catching formats as well as to the kind of simple, text-only marketing popularized by paid search listing pioneer Overture Services

Indeed. AllTheWeb is now very Google-like on their home page. Makes you wonder what the next home page will look like, doesn't it?

All in due time...

Update: People are reading too much into what I've said.

Posted by jzawodn at 02:20 PM

Kasia is evil!

Something tell's me I'll get slapped for the title of this entry. :-)

A box of cookies just arrived at work. They're from Kasia for fetching, setting up, and racking her box. It does't yet serve but probably will soon.

Anyway, the evil part is that the cookies are very, very good. So I'm likely to eat too many cookies. Some are even butterscotch chip, my all-time favorite.

Must... resist... cookies.

(pause while I move the box farther away)

The weather is getting to be quite nice again. As soon as it stays light a bit later at night (maybe another 45 minutes or so), I'll start biking to and from work again. Then I won't care so much about eating too many cookies.

Posted by jzawodn at 02:07 PM

blog template updates

I made a bunch of blog template changes earlier to finally adjust some things that have long bothered me about MoveableType. The links to individual posts from the main index are now cleaner. I always point to the entry using a clean URL, no #123 stuff on the end. And for comments I point to the entry page too (using the #comments anchor), rather than using the CGI script. This makes it faster. I still need to fix the TrackBack links. Once I've added the TrackBack detail to the entry pages, I'll stop linking to the mt-tb.cgi script.

I've added a new feature, the "top 10 posts" to the right side of the main archive as well as on the individual entry pages. I've always wanted to know which of my posts get the most traffic, so I spent the 4 minutes necessary to write that code too. (I was waiting for some stuff to finish at work.)

Yes, I do plan to upgrade from 2.21 to 2.6x sometime soon. Really. I do.

Anyway, enough blogging about blogging for now. :-)

Posted by jzawodn at 01:48 PM

No more CRTs for me

The other day I realized that the only CRT left in my apartment is my television. All my computers now have LCD displays--either laptop or desktop. I remember a few years back, longing for the day when I'd have high-res LCD displays for all my computers. That day has come and it seems rather anti-climactic.

Now I just need to do something about the lack of LCDs at work.

Yeah, right. :-)

Posted by jzawodn at 10:33 AM

March 03, 2003

The Switch Blog

Cool! Apparently there's a Switch Blog where you can read about those who have switched.

Score another one for technorati.

Posted by jzawodn at 10:33 PM

Studying Again

I haven't really had to study since my college days. And even then I didn't study much. But I have a final exam of sorts coming up this Friday: the FAA Private Pilot written test.

Most of my "spare" time for the next several days will be consumed be taking on-line practice tests, reading about weather and navigation, and going over a bunch of rules and regulations.

What fun.

The last time I took this test (back in college), I got a 96%. I don't expect to beat that score, but I hope to come close. Passing is 70% but I'd feel like an idiot if I got less than an 80% on it.

I'll be sure to post the results in my flying blog late on Friday.

Posted by jzawodn at 08:25 PM


After about three weeks of fighting with an optimization problem at work (including an interesting detour into Perl guts), we have finally prevailed. The processing didn't run out of memory and die after the first few iterations.

The solution was to re-think the algorithm yet again. Our first few attempts helped but didn't get us far enough. The most recent change, however, has kept us far enough under the memory limit to ensure that it should run to completion. I'll know for sure in the morning.

It'll be interesting to see what happens when the Perl code is converted to Java. Will it be faster or slower? Use more or less memory? How many more or fewer lines of code will it require?

Time will tell.

Posted by jzawodn at 07:43 PM

March 02, 2003

Thinking away from the keyboard

Sometimes you just have to get back to basics.

I've been having a tough time with the book recently. The writing has been really slow and painful. Tonight, I just didn't feel like sitting in front of the keybord for another long, frustrating session of slow writing.

So I got out a big notepad and my chapter 4 outline. I then planted my ass in the Lazy Boy recliner and began to write with my mechanical pencil. The next thing I know, it's an hour later. My stomach is hungry (dinner time) and I've got many pages of stuff--half of the remaining writing for this chapter is sitting in front of me, waiting to be keyed in.

This rocks!

After I eat, I'll try to pencil the rest of it out for another hour or so and then move on to the comparatively easy task of typing what I already have on paper.

I only wish I had thought of this sooner--like 2 months ago.

Thinking back, this makes sense. I got some of my best programming done in college this way.

Posted by jzawodn at 07:59 PM

Ground school and more landing practice

Another day of amazing weather. Nice temperatures, unstable air, and cumulus could popping all around--except of the student training area of course, so I couldn't partake in the fun.

Anyway, Jim and I spent two hours covering some of the ground review material before I can take the practical test. We spent a lot of time on the glider manual, aerodynamics, and glider assembly and transport. While discussing assembly, we wandered down to the area where all the privately owned glider trailers are parked to see if anyone needed help with assembly. Hands-on learning is the best kind.

Minutes later, I met Hugo and his beautiful DG-800 motor glider. He and Jim talked about the assembly a bit and then I got to help put the wings on. I was surprised by how light they were and how easily they attached. (Automatic control hookups sure are nice.)

After our ground schooling, I took glider 64E up for three flights below 3,000 feet so that I could practice my landings a bit more. Strangely, my first one was the best of the day. The next two weren't so good. I had a minor mishap with a dying radio battery on the first flight, so it was good thing I had my new handheld with me.

I left the gliderport early, before the best soaring of the day. But I had accomplished my goals. The rest of my spare time between now and Friday the 7th will be spent reviewing for the FAA written test that I'm taking on Friday afternoon.

Posted by jzawodn at 03:41 PM