July 29, 2004

Clear Plastic Raincoats

The eBay API BoF tonight was dominated by a guy who sells clear plastic raincoats via eBay. It's always funny when one person basically dominates a discussion with tons of questions, but it's even more amusing when it's someone selling clear plastic raincoats.

Do the guy a favor--go buy a clear plastic raincoat on eBay.

Posted by jzawodn at 09:58 PM

RSS Scaling BoF @ OSCON Tonight: 8-9pm

If you had ideas about the previously noted RSS Scaling Problem and are at OSCON now, stop by Douglas Fir to chat about it. Here's the session blurb:

With RSS usage growing like mad, does having every client pull their own copy still make sense? Might it make more sense for some centralized services to aggregate the data? Or maybe a push system? PubSub? Other ideas?
Let's toss some ideas around.

Or see the session page.

Posted by jzawodn at 02:02 PM

July 28, 2004

Dan Gillmor on Open Source Journalism

I'm in Dan Gillmor's session at OSCON and these are my unedited notes.

Journalism's new world: networks everywhere, anyone can publish, good tools for doing so. Who are the news makers of the future?

Digital cameras and even tiny video cameras are everywhere. It's harder to keep secrets and even easier to share them.

SARS first got publicity via phone messaging. The government tried to kill it, but couldn't.

Moving from lecture mode to a conversation or seminar.

"My readers know more than I do." It's true for all journalists. It's not scary. It's an opportunity.

Bloggers helped get Trent Lott's segregation ideals back into the public.

When the shuttle broke up on re-entry, an image popped up on a weblog showing debris coming back to earth. The mainstream media never carried it.

We now have distributed fact checking.

Lots of users helping each other via weblogs. "I need help with this..." and a bunch of folks swoop in to help.

Smart Mobs is an important book here.

NASA asked the public for pictures of the shuttle accident.

The Command Post is an example of self-assembling journalism--distributed journalism. Dan likes Kuro5hin.

Convention Bloggers site launched recently.

Wikipedia is an amazing work--an on-lnie, user written encyclopedia.

9/11 timeline, starting in 1979, on the Center for Cooperative Research.

New types of spin and influence. Bloggers attack via google links.


Q: Print journalism vs. video/movies/TV.

A: We're moving toward more visual communications--have been for a long, long time. Now anyone can do it with inexpensive gear. Print won't go away (he hopes).

"Most corporate web sites seem to have been written by bad turing machines mated with PR and Marketing folks."

Dan praises Microsoft's weblogs.

...other stuff I can't keep up with...

Posted by jzawodn at 12:11 PM

OSCON is Crowded

The attendance numbers are reportedly quite good, and I'm starting to believe them. I tried going to 3 different sessions during the first morning session today and they were all standing room only. I couldn't even get in the door.


Luckily I have a few other things to keep me busy. However, for the sessions I'm really interested in, I'll have to get there extra early.

Posted by jzawodn at 10:49 AM

July 26, 2004

RSS Scaling Problems: How Can We Help?

Okay, I'm in Portland for OSCON and catching up on a very big backlog of stuff.

Mark Fletcher, in RSS Scaling Issues, brings up an issue that I've been worrying about (but not talking about) for quite some time now.

Centralized services like Bloglines avoid this problem because we only fetch a feed once regardless of how many subscribers we have to it. Desktop aggregators can't do that, of course, and end up generating huge amounts of traffic to sites like Infoworld. There are various things that a desktop aggregator can do to mitigate the load, like using the HTTP last-modified header and supporting gzip compression. But the aggregator still has to query the server, so there will always be a load issue.
Because Bloglines has a vested interest in increasing RSS (in the generic sense) adoption, we're looking at ways we can help. We are working on a couple of projects right now, and we're of course open to suggestions.

I've had very brief discussions about this with a few folks at work. Since we're clearly interested in seeing RSS grow, I wonder if we can't help somehow. And I wonder if we shouldn't be talking with Mark and others (who?) about this.

Thoughts and ideas out there?

Update: RSS Scaling BoF Session at OSCON, Thursday at 8pm.

Posted by jzawodn at 07:39 PM

The Jews vs. The Drug Dealer

What follows is a true story sent to me (and a few other friends) by a friend who we'll refer to as Bob. Only names have been changed. I laughed my ass off while reading it. You may or may not, since you do not know Bob. But I couldn't let the story remain in obscurity.

"Bob" and "Sam" recently had this adventure.

Here's how it happened:

Yesterday afternoon my friend Sam comes into my office and tells me that his car was stolen. I ask him where he was when it was taken. He tells me that he was visiting a client of his in one of the worse neighborhoods of Hartford (he's a social worker for the state department of mental retardation).

I realize that I used to live not so far from there and that I own a couple of buildings within a one mile radius. I call some of my boys who live in that hood and I put the word out to look for his car. In the mean time, I drive him to the police station and he reports the car as being stolen.

A little bit later I get some feedback from my peeps and they tell me that they saw a drug dealer who goes by the name "Bones" driving the car. I make a few further inquiries and I find out the cellular phone number of this guy.

My friend starts calling him every 30 seconds. "Bones" ain't picking up. Finally, I decide to call him. He picks up and the following dialogue transpires:

Bones: Who dis?

Me: That doesn't matter Bones...

Bones: Who dis?

Me: I'm the guy who was trained by the IDF who's going to get my friend's car back.

Bones: What's da IDF?

Me: That means that I was trained to take down terrorists and other scum bags, many of whom are a hundred times smarter than you. And, unfortunately for you, I owe my friend Sam some favors.

Bones: Oh Shit. (Hangs up)

So I spend the next few minutes trying to get in touch with him and I keep getting his voice mail. I got sick of him dodging my calls pretty quickly so I did a reverse lookup on his phone number. It doesn't give me his name, but it does tell me that he's running off of Omnipoint Communications (AKA T-Mobile) and I find that their nearest center is in Bloomfield, CT, not too far from the place in Hartford where the car was stolen.

I go to the T-Mobile web page and find the instructions for programming voice mail, I call into his phone again and find that he is still dodging my calls. Anyway, I press the * key and it asks for my password; I enter the last four digits of his phone number. That drops me into his main menu. From there I reprogrammed his voicemail password and listened to his messages (he had 15 and his mailbox was already full).

After doing this, I changed his message to, "If you're trying to reach Bones, you should know that he is a car thief and he is being watched." After doing this, I decided to really get his attention, I had written down the names and phone numbers of his "clients" and started calling them. The calls went something like this:

Al: Hello?

Me: I'm looking for Bones.

Al: Who dis?

Me: I'm the guy who has been listening to Bones's voicemail. You buy drugs from him and I can forward that voicemail to thousands of people if you don't get in touch with Bones and tell him to return the car he stole.

Al: I don't know Bones.

Me: Then why are you leaving him voicemessages, asking for drugs? Maybe I need a second and a third and a hundredth opinion in the matter. Have Bones call me soon, or else lots of people will be hearing the message that you left for him.

(Hang up)

Within a few minutes Bones was trying to call my friend. He was exploding:

Bones: Why are you messing my shit up like this?

Sam: You stole my car you (expletive deleted)! Bring it back NOW or things will get a lot worse.

The two continued screaming at each other. Bones was upset because he couldn't do business and my friend was upset because he wanted his car. In the mean time, I was calling information and telling them, "I found a cellular phone with thus and such a number and it is a T-Mobile phone. I was wondering if you could tell me to whom I could mail it?" I got the guys info., but wanted to save it for later, in case I needed to intimidate him further (I would).

After all of this, they set a place where they would meet. It was on the corner of Sumner and Asylum, not the best neighborhood in Hartford. It was mostly crack houses and such. However, it was close enough to the business district and some other important institutions that there would be enough traffic to esnure SOME safety.

We drive by the first time and the car isn't there. Granted, I drove by quickly because I didn't want to be spotted as a mark, but we were really certain that it wasn't there.

I call up Bones and the conversation goes:

Me: Hey Boney, you lied to me. I don't like it when people lie to me.

Bones: Who dis?

Me: I'm the guy who hacked your voicemail Boney and you're making me mad. Things are going to be getting worse really quickly Boney.

Bones: I didn't like to you, I was there!

Me: I saw the corner Boney, you lied to me. Now you've got me driving around, wasting my gas, I've killed people for less Boney.

Bones: Don't give me that!

Me: Don't tell me what to give you Boney, or should I say Tyrene?

Bones: What?

Me: Yeah, I know where you live too Boney. I'll blow up your whole block if I have to.

Bones: I don't have a block.

Me: Then I'll blow up your whole head Boney.

Bones: (Hangs up)

We drive past the corner a second time and there's still nothing. I call up Bones again.

Me: Bones stop lying to me. It's making me very upset. I don't like it when people talking on Motorola cellular phones on T-Mobile Networks being run off of an antenna in Bloomfield lie to me.

Bones: You're going to get your shit! Quit calling me!

Me: Hey Boney, just get yourself over here or things are going to get really bad really quickly. I'm getting really upset.

Bones: (Hangs up)

So we go around the block again and check the corner and (shockingly) the car still isn't there. I try to call Bones and he isn't taking my calls. I try a few more times (unsuccessfully) and then I borrow my friend's phone. This time he picks up:

Bones: Why have you got your boy after me? You're gonna get your car. (He sounded really really frightened at this point)

Me: It's me again Boney. I'm tired of your lies...

Bones: (Interupting) I'LL GET YOU THE CAR!!!

Me: I don't believe you anymore Boney, and now I've got to take other steps.

Bones: (Hangs up)

We decide to go home, because we figure that he's playing us and that we'd do better to leave the matter to the police. I'm about to drop him off at his place, when I decide to call him once more:

Me: Boney, I just wanted to let you know that you're in for big trouble.


Now I realize that he's really left the car there and has left the scene. We drive back quickly and find that Bones has left the car with its headlights on and it is blasting rap music while the engine idled.

My friend quickly checked the car, got in and drove home. I realized that Bones was not entirely stupid. He knew exactly how to leave a car in order to make people think that it belonged to a gangster so that they would leave it alone.

I reprogrammed his voicemail so that he could use it again, and then called him up:

Me: Bones, I just wanted to thank you for doing the honorable thing at last. (It was already about 10:30PM) Your voicemail is back to normal.

Bones: Fuck You. (Hangs up)

My friend calls the cops to report that he found the car, and the cops can't believe that a couple of Jews went into the worst neighborhoods of Hartford and managed to shake down a drug dealer.

Posted by jzawodn at 02:55 PM

July 20, 2004

Questions about Blogging Time and Effort

I've been answering a lot of questions about blogging recently at work. It no longer surprises me to find out that a lot of folks there read this stuff. But sometimes the questions do.

Today's was the first one I had to think about bit because I'd just never considered it before:

Which takes more time, your blog or you linkblog?

Clearly it takes more time to write long posts here than it does to run my custom little command-line tool for adding random funny stuff to my linkblog. But both are really the result of my day to day wanderings on the web, e-mail, and so on.

I still think my main blog takes more time, but I never really thought about what goes into the linkblog. It's not as trivial as one might think.

Posted by jzawodn at 11:07 PM

Heading to Pasadena, then Portland

Either late Wednesday or very early Thursday, I'm heading down to Pasadena to spend some time at Overture Services (which is part of Yahoo) on Thursday to talk about MySQL and stuff.

I'll be driving down there, towing my glider and all my flying gear. I'm going to fly Friday and Saturday at Great Western Soaring (their web site is pretty bad, but it's a great place to fly, I'm told), based at Crystal airport.

The terrain in the area looks interesting. I just have to be careful to stay out of the restricted area around Edwards Air Force Base. I wonder if fighter jets could even figure out how to chase a glider? Best not to find out. :-)

I'll head back to San Jose on Saturday night and then hop a plane on Sunday to Portland for OSCON, where I'll be all next week. Then it's back to work for a few days. On Thursday the 5th of August, I'll be giving a brief talk and on a panel (yeah, they spelled my name wrong) at the SES conference (more on that later). Then I'll head to lake Tahoe for a day or two of flying gliders out of Truckee airport. That was supposed to be Thursday - Saturday, but SES came up at the last minute.

Busy times ahead.

Posted by jzawodn at 09:35 PM

July 19, 2004

Geeks and the Sun

Heard today at work, as I arrived to a meeting late:

"Hey, you got some sun this weekend."

"I get sun every weekend."

It was only later that I realized how un-computer-geeky I've been this summer. I've spent every weekend I can outside and away from the computer. And, if the day is going well, I'm often 3,000 - 9,000 feet in the air. Sometimes more.

It's good to have a hobby that gets me out of the house.

As Scoble just said, "That's OK, it's July. Go out and get some sunshine!"

Agreed. I think I'd go nuts if I wasn't flying every weekend. Even those days where I struggle for hours, trying to gain enough altitude to get home--they're better than sitting indoors with the laptop.

Posted by jzawodn at 11:20 PM

July 18, 2004

Choosing a New Cellular Phone Carrier: Verizon Wireless


I was a reasonably happy Sprint PCS customer for the last 2.5 years or so. But ever since I moved into my new place, I've become more of a disgruntled customer. The wireless signal in my house sucks. I get one "bar" of signal strength and calls typically drop, if they work at all. And the coverage at work seems to have gone downhill too. Even on the 4th floor where my current office is, I get lots of dead areas.

While I was in Nevada back in late May, my phone was on Analog Roam the whole time. That's not a big deal. I expected analog-only coverage in the middle of nowhere. But I couldn't make a single call! Meanwhile, some of the other guys I flew with were able to make calls. They were using Verizon.

With the advent of number portability, I've been toying with the idea of switching cellular carriers. It seems that Verizon is currently the best game in town for my needs. The signal strength at work and home is considerably better too.

A Web Site Visit

After checking out the Verizon Wireless web site, I was quite happy. It's much easier to browse their phone selection than it is on the Sprint PCS site. They let me sort by features that matter. Sprint doesn't do that. And, better yet, many of Verizon's phones are tri-band phones--that means they'll fall back to analog coverage just like my current phone. That's pretty important for me. Not only is the cell phone a nice convenience nowadays, analog coverage is an absolute necessity in many of the places I fly my glider.

The only real negative is that they have no bluetooth enabled phones. So I'll need to get a cable for my Powerbook. :-(

Like all cell phone carriers, some parts of their service offerings are quite difficult to decipher. In the case of Verizon, the calling plans are fairly straightforward. However, the data plans and add-on services make no sense to me. After trying to decipher their abstract names for the options they offer, I decided to visit my local Verizon Wireless store. It happens to be over in Cupertino.

A Store Visit

I spent a few minutes chatting with one of the sale droids about my desire to switch. I was a little concerned by how the discussion began.

Him: "How many lines do you have with your current carrier?"

Me: "Lines? This is a wireless phone. I have no lines."

But we moved on from there. He confirmed that my number was, indeed, portable and then I tried to get two questions answered. This is where things spiraled down into a deep, dark, stinky hole.

I wanted to know if they had a service that would allow me to plug my phone into my computer and get an IP connection that's faster than standard dial-up. I also wanted to know if they had a usage-based plan for it instead of a flat rate. I don't expect to use the service a lot, but it'd be really nice to have when I actually need it.

He explained that I could either buy their data service, which comes in various rates per month and doesn't use up my minutes, or I could use up my minutes and make an old-school dial-up connection to the ISP of my choice.

I was rather puzzled by this omission. Surely there are others who'd like the high speed service available on-demand and are willing to pay by the megabyte (or whatever) without paying a monthly fee on the off chance that they use the service.

He got me on the phone with their local expert on the service. What followed was a 45 minute discussion during which this "expert" spent half of the time trying "understand my needs" and also up-selling me to either a Blackberry or their unlimited data plat (at a whopping $80/month!). Needless to say, I was not impressed.

The guy simply didn't want to answer my question directly. Instead he asked all sorts of questions about my usage, the kind of e-mail I receive and send, and so on. It was blatantly obvious that he wanted to figure out how to sell me something expensive and use what I had told him to justify the sales push.

Soemtimes I really hate salesmen. Actually, I hate them most of the time.

He didn't understand what SSH is and was generally being difficult. But I eventually did manage to get the information out of him I needed: there is no plan for someone like me. So I'd just use my minutes and play the analog-style dial-up game.

Coverage Maps

Before leaving the store, I asked the sales droid if they had more detailed coverage maps available. I wanted to see what coverage in northwest Ohio is like and wanted to see where the digital/analog breakdown was in western Nevada. Really, I wanted to get a feel for how likely it was that my phone would work if I land my glider on a dry lake somewhere.

He pulled up a cool mapping application on the store computer. You could find locations by address, zip code, GPS coordinates, or landmark name. The map depicted color coded areas that represented the various service areas. We could pan around, zoom in/out, and so on. It was like using Yahoo! Maps or MapQuest.

It blows my mind that they don't make that application available to the public on their web site. Verizon has a very big network and decent coverage. It would have made my research easier a lot earlier on in the process.


Given their good digital and analog coverage as well as the good experience that friends have reported, I'm planning to switch to Verizon Wireless in a few weeks (probably after OSCON in Portland. I just need to decide on a phone and choose between the National SingleRate plan and the America's Choice plan.

Anyone have Verizon stories? Reason for or against using them?

I'm not really gonna hold this sales guy against them. All phone companies are evil, so I might as well use the one that comes closest to providing what I need.

Anyone have a favorite or most hated Verizon phone? I'm not looking for anything fancy. A decent tri-mode flip phone with long battery life and a cable that can hook up to a Powerbook (and maybe my Thinkpad). Camera is optional. Color display is optional.

Update: Since other carriers have come up, I'll mention this. I've had Cingular before and was quite unhappy with 'em. I tried switching to AT&T only to be told I had to pay a $1,000 deposit. They claimed my credit wasn't good enough. They were nuts.

Posted by jzawodn at 05:50 PM

July 17, 2004

Oddpost, DHTML, and off-line Web Applications

As you may have guessed, I didn't know much about Oddpost until recently. But since they're now part of the collective, I had the opportunity to meet with a few of the Oddpost folks on Friday.

Aside from the getting an idea of how all their server-side stuff works (it's a classic example of "do the simplest thing that could possibly work" and I love that aspect of it), which was the real point of the meeting, I got to actually see the product first hand. And I left the meeting in amazement at what they were able to do using only a web browser and a lot of fancy DHTML wizardry. I mean, this thing looked and mostly acted like a real, native desktop application.

Really. A few times I caught myself thinking it was a "fat" client, only to look at the title bar and realize it was an IE window. But other than that, it was hard to tell at time. It's really that good.

The only downside to this I can see is that as the gap between "desktop" and "web based" applications closes, users won't understand the difference. The Oddpost client, for example, feels like a fancy mail and RSS application. But take it offline (such as cross-country flight) and suddenly it does a lot less that one might expect. Knowing that it's a web-based system with most of the data stored on the server, this comes as no shock to most anyone reading this. But to average folks like my Mom, well... that's probably a whole different story.

This makes me wonder how we're going to bridge the gap or if that gap will become irrelevant as the odds of having an Internet connection in any random location continue to increase.

Posted by jzawodn at 09:23 PM

July 15, 2004

Rating iTunes Tracks from the Keyboard

I may be a moron, but I can't seem to find a way to assign a rating to the currently playing track using the keyboard. The only way seems to involve the mouse and bringing up the track's info window, clicking to the "Options" tab, and so on.

There's no way I'm going to rate more than a handful of tracks using such a slow and tedious method. But until I do, the "Party Shuffle" feature produces far less than optimal playlists.

I want something as easy as the thumbs-up and thumbs-down buttons on a Tivo. I hope that's not too much to ask for.

Hints, anyone? I've asked the all-knowing search engines for help and have come up dry so far.

Posted by jzawodn at 04:55 PM

Making mysql a bit more shell-like

I use the mysql command-line client a lot. It acts like a mini-shell that makes it easy to send commands or queries to a MySQL server and view the results. However, its navigational facilities aren't terribly shell-like.

To change to a particular database, you must use the "USE" command:

mysql> use test
Database changed

To get a list of databases, you must use the "SHOW DATABASES" command:

mysql> show databases;
| Database   |
| Tribute911 |
| mysql      |
| test       |
3 rows in set (0.07 sec)

To get a list of tables within a database, you'd typically use the "SHOW TABLES" command after having USEd that database:

mysql> use test
Database changed

mysql> show tables;
| Tables_in_test |
| BODY_SIDE      |
| Filer          |
| aatest         |
| blah           |
| http_auth      |
| passwd         |
| t1             |
| t2             |
| test           |
9 rows in set (0.07 sec)

Often times I'll forget that I'm at a "mysql>" command prompt, type "ls" or "cd", and just expect it to know what I want.

Today I fixed that bug. As of now, my copy of the client understands the "cd" and "ls" commands. The patch is available (against the latest 4.0 BitKeeper tree) and has been sent to the developers for possible inclusion.

Here it is in action:

mysql> ls
| Database   |
| Tribute911 |
| mysql      |
| test       |
3 rows in set (0.07 sec)

mysql> cd mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> ls
| Tables_in_mysql |
| columns_priv    |
| db              |
| func            |
| host            |
| tables_priv     |
| user            |
6 rows in set (0.07 sec)

I like it. :-)

Update: In the comments, Russell asks about setting the prompt to contain the current database name. Of course you can do that!

mysql> prompt mysql (\d)>
PROMPT set to 'mysql (\d)> '
mysql ((none))> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql (mysql)>

That was added quite a while ago.

Posted by jzawodn at 01:11 PM

How We Decide To Do What We Do

Do you ever really think about how we decide to do what we do?

I don't mean choosing between the low-carb and regular bagel. I mean the bigger things in life--the ones that are supposed to matter: careers, where to live, hobbies, who do date, etc.

I've been thinking about that quite a bit recently. In fact, I suspect I've been thinking about it more than I realize and for a much longer time, but that's really not the point--if there is a point at all.

If my own life is any example, I think that we make those decisions in a manner that's rather different than the way we describe doing it to those who might ask. Many times when I've made those kinds of decisions, I didn't really weigh the pros and cons or consider the impact to this and that. I just waited a while, thought about it off and on, maybe collected a bit more info (or not) and then... just knew. If you'd asked me to explain it, I'd just make up something that sounds sane and normal. But in reality it's a process I don't really understand. And for the most part that's okay because I've been pretty happy with my decisions so far.

I suspect that motivation has a lot to do with it. I also think that if my own life is any guide, we're not very good at figuring out (or at least thinking about) our own motivations for the decisions we make. Sometimes they're hard to see because you need to look at patterns--patterns in your own life that repeat over long periods of time and in slightly different ways. And we're just not as good at long term self-analysis as we think we are.

As an example, I remember in college thinking how funny it was that I knew people who switched their major. And many of them did it more than once. I just couldn't imagine not knowing what you wanted to do!

For me it was always obvious. There was no question. I always liked computers and wanted to work with computers for a living--ever since I got my hands on one. (In retrospect, that was a lot less specific that I thought at the time because computers are everywhere now.) But if you asked me why, I didn't really know. I just knew.

Over time and with the help of a couple very insightful friends, I've come to realize that certain things are true about me--or more specifically are what matter to me more than whether or not I'm working with computers everyday. Not only did it take a long time to realize and understand that, it took a long time to accept and admit it.

So what does matter or motivate me?

It's hard to describe, but when I try these are the ideas that come to mind:

  • being a part of something I believe is important--something that matters to me (yes, I know that's a bit of circular logic)
  • working with (or being around) smart and interesting people who also care about those things

When I see a good chance to do some or all of those things, I'd like to think that I'll take that chance most of the time.

Then again, if my own life is not a good example, this is all about me. And you're wondering what kind of a freak I am. It wouldn't be the first time. :-)

Anyway, what are those "things" I speak of? As far as I can tell, they're something in this jumble:

  • connections and relationships
  • new connections
  • ideas, big and small
  • change
  • seeing changes as the result of the connections among people and ideas
  • influencing or helping that change in even a small way to make things better

Learning a lot about computers, programming, and networking provided me with ideas and connections. It's about taking ideas and turning them into concrete processes and then improving them even more. And then there's writing, which I've done in the form of a monthly magazine column and a book. And when you combine writing in a semi-public way with computers and networking... The online world provides even more connections, and thanks to e-mail and weblogs, relationships and a way of influencing that change. Not to mention ideas.

Looking at it that way makes a lot more sense all of the sudden.

How does flying, one of my other passions, fit into this? I don't know. I do know that it's a heck of a challenge, a lot of fun, and helps me to meet some very cool people. And it also forces me to think about the world in a very different way--constantly re-evaluating the situation I'm in.

Hmm. Put that way, maybe it does fit in better than I thought...

What got me thinking about this again and writing about it today? I blame a combination of recent events and watching 4 episodes of The West Wing (all praise Netflix) in one night.

More on those recent events when the time is right. I'm still digesting some of them.

The mere act of writing this up has helped to clarify my thinking (or lack of thinking) quite a bit. As for clicking the "post" button... why not?

Posted by jzawodn at 01:54 AM

July 14, 2004

New York Times Public RSS Feeds Launched

This is most excellent. If you look at the bottom of just about any New York Times page or story, you'll see the little orange XML icon. They're in the RSS game for real now.

Oh, and there's a special My Yahoo page that makes it easy to add the feeds to you My Yahoo RSS module too.

Congrats to the NYTimes.com folks for the new feeds and thanks for mentioning My Yahoo on your RSS page.

Now, about that annoying registration system... One step at a time, I guess?

Posted by jzawodn at 02:11 PM

July 13, 2004

OSCON Tutorial Hacking

O'Reilly really wants the slides or material for the MySQL Performance Workshop session that I'm doing at OSCON in a few weeks.

I'll give you one guess. See if you can figure out what I'm doing tonight...

Good guess!

I'm gonna start with plain text and worry about what (if any) "presentation software" I want to use later. I'm really tempted to just have them print an outline as the handout. All I really need is a whiteboard and a few markers. For some reason, I have no trouble talking about MySQL in a semi-intelligent manner for hours on end if you stick me in front of a room full of people and give me a few markers and a whiteboard.

But the mental stress involved in actually assembling a presentation drives me nuts. And I procrastinate. A lot. Besides, how am I supposed really to know what will truly be useful to the folks in the room until I get into that room and talk with them a bit?

Anyway, enough stalling...

Posted by jzawodn at 09:27 PM

My Weblog Comment Policy

For quite a while now, I've been removing occasional comments from my weblog. Not just spammers. If someone violates my weblog comment policy, I nuke their comment(s). It's that simple.

Until now, I hadn't published my policy. Instead, I forgot about Rule #1 (People Are Stupid) and figured that common sense would rule the day.


So, here are the rules--things you should not do when posting a comment on my weblog. And since it is my weblog and not yours, you don't have a lot of say in the matter, do you?


  1. post off-topic. If you're not sure what the topic is, you probably shouldn't be commenting.
  2. engage in personal attacks.
  3. provide a fake e-mail address. If you don't want to leave an address, leave it blank.
  4. provide a URL to a non-weblog. If you don't have a weblog or don't want to link to it, leave it blank too.
  5. spam. Yes, this is redundant with #1 most of the time, but I figured I ought to be explicit.

I'll update this post from time to time as rules change. I'll also link it from the comment form so that nobody can claim ignorance.

Violation of this policy may mean any of the following:

  • I will remove your comments.
  • I will block your attempts to comment in the future.
  • I will contact your Internet Service Provider.
  • I will randomly screw with your mind.

To the 99% of you that never needed to read this in the first place, thanks for putting up with this post.

Posted by jzawodn at 02:07 PM

July 12, 2004

Transparent RSS Feed Upgrades?

When comparing requests for my RSS 0.91 and RSS 2.0 feeds, I've noticed that the 2.0 feed is fetched more often than the 0.91 feed. It's roughly 45% versus 55% right now. Both Bloglines and My Yahoo seem to prefer the 2.0 feed, which greatly amplifies the distribution of my 2.0 feed in a way that Apache log mining does not account for unless I look for the readership info they both leave behind.

Every news reader I know of handles 0.91 and 2.0 equally well. So this got me to wondering... What would happen if I stuck in a server-side HTTP redirect such that anyone asking for my 0.91 feed would instead get my full-content 2.0 feed?

Would anything break? Would it lead to any nasty surprises?

I'm not particularly anxious do this. I'm just kind of curious to know what would happen if I did.

Posted by jzawodn at 09:10 PM

RSS Feed for Michael Moore's Weblog

It's great that Michael Moore has a weblog but it has no RSS feed!

That sucks.

I see that there is a scraped feed but it doesn't include full text, just headline/date/etc.

That also sucks.

Does anyone know of a better scraped feed? If not, I suppose I'll have to write my own (unless someone with more free time beats me too it). But it just seems dumb that anyone should have to write an RSS scraper for a weblog.

Even more dumb (or Moore dumb?) is having to do it a second time because the first one isn't too helpful!

Update: Thanks to the fast hacking of Jonas Galvez, I'm now hosting a full content Atom feed of Michael Moore's weblog (hope he doesn't mind) here: http://jeremy.zawodny.com/feeds/moore.xml. Jonas rocks!

The feed will be updated frequently. Let's just hope Moore keeps at the blogging.

Posted by jzawodn at 06:11 PM

Yahoo Oddpost Link Roundup

A few folks have asked me about this, and since they don't really tell us anything around here, I'll point you to some of the blog speculation, news, and whatnot.

And, of course, you can Search Technorati or Search Feedster for "yahoo oddpost" to get way more than you probably wanted.

Now you know what I know (and quite likely more than I know) about what's going on.

Aren't blogs fun?

All of this kinda makes me wish I had dug out my Windows laptop to actually try their software before the assimilation began. It sounds interesting based on the accounts I've read so far, but I'd like to see so first hand.

Posted by jzawodn at 05:45 PM

July 09, 2004

Browsing the Web? Not Anymore

I can't remember the last time I actually browsed the Web. You know, just sort of aimlessly following links in the hopes of encountering something unique or interesting. (I'm also glad that idea of calling it "surfing" seems to have become less popular.)

Between the few sites I visit daily to get things done, links that come in via e-mail, and the various weblogs and news feeds I guess I'm spending enough time in my browser already.

It's a far cry from 1998. Or even 2001.

Posted by jzawodn at 02:37 PM

July 08, 2004

Database Abstraction Layers Must Die!

Beware of men preaching of false hope.

Take, for example, the way some folks feel like they need a database abstraction layer in their applications. Rasmus has long argued against them, and I've agreed with his reasoning and conclusion. (Because it's correct!)

I was reminded of this when I recently read "rant, by request...", in which the author argues against the Smarty PHP template system. Why? Because PHP is itself a templating system. Adding another layer increases complexity, degrades performance, and generally doesn't really improve things.

So why do folks do it? Because PHP is also a programming language and they feel the need to "dumb it down" or insulate themselves (or others) from the "complexity" of PHP.

In that same article, I find myself strongly disagreeing with something else the author says:

Pick any book on PHP from a shelf in your local bookstore, and look how result rows from a MySQL database are printed. (MySQL is of course the DBMS used in those books, which should already give you a clue about how bad the book is.) The mysql_-functions are used all over the place in the presentation layer.

So, only bad books discuss MySQL in their examples? Let's look past that obvious bashing, and continue...

Here, in these forums, we have learned people to not use those mysql_-functions directly, but use a database abstraction layer instead. This makes coding simpler (no need to know all those functions for the various DBMS's) and when they decide to use another DBMS instead of MySQL (and they undoubtedly will at some point), the conversion will be painless.

The fact that he generally pisses on MySQL isn't what bugs me, though it doesn't help. What bothers me is the double-standard. He's advocating "raw" PHP instead of more "abstract" templating languages because they're bigger, slower, more complicated. But when it comes to the database side of things, he's suddenly arguing for the bigger, fatter, slower abstractions again?

This makes no sense for several reasons. Let's look at them.

The Portability Fallacy

The author uses an argument I hear all the time: If you use a good abstraction layer, it'll be easy to move from $this_database to $other_database down the road.

That's bullshit. It's never easy.

In any non-trivial database backed application, nobody thinks of switching databases as an easy matter. Thinking that "the conversion will be painless" is a fantasy.

Good engineers try to select the best tools for the job and then do everything they can to take advantage of their tool's unique and most powerful features. In the database world, that means specific hints, indexing, data types, and even table structure decisions. If you truly limit yourself to the subset of features that is common across all major RDBMSes, you're doing yourself and your clients a huge disservice.

That's no different from saying "I'm doing to limit myself to the subset of PHP that's the same in Perl and C, because I might want to switch languages one day and 'painlessly' port my code."

That just doesn't happen.

The cost of switching databases after an application is developed and deployed is quite high. You have possible schema and index changes, syntax changes, optimization and tuning work to re-do, hints to adjust or remove, and so on. Changing mysql_foo() to oracle_foo() is really the least of your problems. You're gonna touch most, if not all, of your SQL--or you'll at least need to verify it.

That doesn't sound "painless" to me.

Good Programming vs. "Neutral" APIs

The author is also clearly unhappy with the alternative, having mysql_foo() and mysql_bar() functions all over the application. Well, I may be nuts here, but I never have that problem. I use a revolutionary new programming technique. Instead of littering my code with those calls, I put my core data access layer into a library--a separate piece of reusable code that I can include in various parts of my application and... reuse!

That means if I ever decide to make major changes to the way my application interacts with the database (persistent connections, replication awareness, load balancing, different error handling), I'm able to do so without searching every damned file in my code base for mysql_* functions that I need to tweak.

I never thought this was rocket science, but apparently it has eluded him. Somehow he manages to see the benefit of separating presentation from logic, but never considered separating the data access layer from the data processing layer.

Some things never cease to amaze me--and make me very sad at the same time.

Posted by jzawodn at 09:35 AM

The Weblog Effect

A summary of things I've recently noticed happening to me, as the direct result of having a weblog.

  • Coworkers say things to me like "you can't blog this, but..." and "No way. If I tell you, it'll probably show up on your blog!"
  • After introducing myself to a group of people (say, before giving a 1.5 hour "introduction to MySQL" type of talk), one of the folks in the audience also chimes in "and he has a popular weblog."
  • Random e-mail from journalists: "Hey, I read that piece you wrote about foo. Can we talk on the phone later today?"
  • Werid e-mail from people I've never heard of asking the strangest things. Often, I'm a convenient lightening rod for disgruntled Yahoo users. That's always fun. Except when it's not, which is most of the time.

But I'm sure I'm not the only one.

Posted by jzawodn at 12:16 AM

July 06, 2004

Real Estate Investment Resources?

As the result of an on-going discussion among some friends, I'm looking for some good real estate investment resources (residential, not commercial). Namely, I'd like to find any or all of the following:

  • Books
  • Magazines
  • Web sites
  • A local REI (Real Estate Investment) club
  • Someone local who's been at it a while
  • Bloggers who have written or still to write about it

Nothing may come of this, but I've gone past the "idle curiosity" phase and am moving into the "gather information" phase.

Any leads?

Does anyone reading this happen to dabble in the real estate market and want to chat or exchange a bit of e-mail? Anyone local? I'd gladly buy you dinner in exchange for a bit of your experience.

Some initial web searches and rummaging around have uncovered an assload (technical term) of sites that seem to have been designed to sleazy SEO companies in a not so futile effort to abuse PageRank. Needless to say, they are not helpful.

Posted by jzawodn at 10:47 PM

The "Brad Bug" in My Yahoo! RSS Module

A bunch of folks have asked about this, so I'm posting it as a public service...

If you've recently noticed "Brad DeLong's Semi-Daily Journal (2004)" randomly appearing in place of other feeds in your My Yahoo RSS module, you're not alone. There's a bug there. And we know about it. You subscriptions have not been changed, corrupted, or anything like that.

I do kinda wonder if Brad will get a bunch more subscribers as a result. :-)

Posted by jzawodn at 10:02 PM

Having a Backup Career Plan

It's odd. I don't know if it's the field of work I'm in or not, but a high percentage of folks that I know reasonably well all seem to have what I call a "backup career plan" in mind.

Some of them are actively working on their plan--going back to school part or full-time, getting additional training, etc. Others haven't made any concrete moves yet but seem to talk about it more and more.

There's this [usually] unspoken sense that they don't want to still be doing this when they're 40.

Are my techie friends unusual in this respect? Or is this fairly widespread?

And before you ask, yes. I'm one of them. I have a backup career plan too. This year I hope to get my commercial pilot license. Then in a year or two I hope to become a certified flight instructor (at least for gliders--don't know about power planes quite yet, but that training should pick up in the fall too).

I don't know if I'd ever try to make it my "day job" but I really do enjoy it and figure that if I ever do get really sick of this stuff, it'd be nice to have something else interesting and fun to fall back on.

If I was really dying to get out, I'd be an instructor already. :-)

Posted by jzawodn at 08:09 PM

Clarifying Yahoo's RSS Refresh and Ping Server

I'm a bit confused by what Jarrett is claiming about Yahoo's RSS stuff:

George has discovered the hidden cost of Yahoo’s embrace of RSS. It only refreshes the RSS feeds it allows you to put on your My Yahoo! page if the source of the feed pings Yahoo’s ping server. (Details in George’s post, from Yahoo! tech support, or on their page for publishers.)

Well, that's simply not true. The word "only" is what makes it false. The pinger simply accelerates the refresh process. There's no conspiracy here.

In reading the note that George got back from Yahoo's Customer Care, I was pleasantly surprised at how they accurately described the crawler refresh. But I must have missed the part about sites being required to ping Yahoo.

Can someone else enlighten me?

If we need to adjust the documentation or clarify things with the CC group, that's easy enough to do. But I first need to understand how someone could come to that conclusion in the first place.

Dave Winer calls this "Yahoo's first attempt at a gated community built around RSS" which I find equally confusing. Maybe the gates are made of one-way glass? I don't see them. Please help me see them.

Posted by jzawodn at 10:40 AM

July 04, 2004

July 4th Panoche Run

It's a good thing the Blipmap/spot were unavailable for 21Z this morning. Otherwise I wouldn't have attempted flying Panoche. Only upon arriving home tonight did I see the predicted 6,300 BL Top and 5,300 Hcrit on the Panoche Blipspot.

I launched a bit after 1pm and took a higher tow just in case EL1 wasn't working. It wasn't. So I hung a right and followed the edge of the valley, planning to end up on the south side of the airstrip where I hoped to find a decent thermal in the hills. Half way there, I got sick of flying thru 6-8 knots down and cut across.

I spent the next hour and a quarter between 4,000 and 5,000 feet and finding occasional thermals that'd get me above 6,000. Each time, I'd use that altitude to venture off in a different direction in search of better lift. I'd get shot down and try again.

Eventually, I tried going east and got shot down. At about 4,000 I decided there was no way to make it back to Hollister. I just wanted to gain enough altitude to call a tow plane and say "if you don't hear from me in 30 minutes, come get me."I made one more pass, this time a bit farther south, to look for lift before heading in to land and calling HGC.


I hit an 8-10 knot thermal that ultimately took me to 7,200 feet. At that point, I had Bikle in glide but Hollister was a 32:1 glide away. I decided this was my exit for the day and turned toward Bikle. I kept a good eye on the my glide and sink rate along the way. Things improved as I cruised along. I arrived at 4,000 feet over Bikle, having encountered virtually no sink along the way. The GPS said Hollister was in glide (23:1) and it looked right, so I kept going.

20 minutes later, I was entering the pattern for runway 24 at about 2,300 feet.

Total time: 2.2 hours.

Posted by jzawodn at 09:54 PM

July 03, 2004

Old Food

I've been cleaning a lot recently, mainly to get rid of stuff that I no longer need (like a ton of books). Today I ran across some old canned food in my kitchen.

Two cans of pineapple chunks. I searched the can for an expiration date and then noticed the top:

Best Used By: Feb 2002

Needless to say, they're gone now.

I think that is a personal record. I doubt there's any older food left in my kitchen.

At least I hope not.

Posted by jzawodn at 04:14 PM

July 01, 2004

Jonathon Schwartz: One Way Blogger

I was really happy to read the news about Jonathon Schwartz (President and COO of Sun Microsystems) starting his weblog. The thought of getting semi-filtered thoughts from a high-level executive in an more open way is refreshing.

But then I actually read his first post and tried to evaluate his weblog based on what he said:

What's a blog? It's basically an on-line journal - a whitespace - that updates from the top (most recent posts appear first) into which I can offer perspectives, opinions, and insights, and I can link to others and their views, etc. Others can link to me and send me feedback, creating a massively connected community and open dialog.

Weird. I expected him to write "post feedback" instead of "send me feeback" but now I see why. There's no commenting allowed on his weblog. What, we're all supposed to mail privately? How is that "massively connected" and "open"?

Third, to get unfiltered feedback from the community. If you want to reach me, I'm "jonathan.i.schwartz at sun.com". I promise to read it all, but please don't count on responses (I'm a bit deluged already).

Yup, that's right. Just email him. He gets the unfiltered feedback, but we don't.

Okay, so maybe I can write something on my weblog (like this post) and you'll see the Trackback link on his post?


No trackbacks either.

Mr. Schwartz, please don't treat your weblog like Java. In a truly open community, we comment on each other's posts, cross-link, and honor Trackback requests.

Blogging is a two way street. What you have feels like half a weblog. Please, go all the way.

I guess I should post this and then e-mail him a note to say "read this post" or something. Grr.

See Also:

Posted by jzawodn at 05:49 PM

A Case of the Fridays

I'm really not sure why, but today just feels like a Friday. Maybe it's the upcoming holiday weekend. Maybe it's the Krispy Kreme doughnuts that appeared a little while ago. Maybe it's the fact that I'm hopelessly tired and it feels like it's been a long week?

I really don't know. But I think I have a case of the fridays.

It could be worse, I guess. A case of the mondays would really suck.

Hmm. If I took off tomorrow, I could have a case of the saturdays and that's always a good thing.

Posted by jzawodn at 11:27 AM