Michael J. Radwin

Tales of a software engineer who keeps kosher and hates the web.

Monthly Archives May 2003

Logfile analyzers

I’ve just started using The Webalizer to do logfile analysis for radwin.org and hebcal.com.

Back in 1998 when I first started hosting my own domain name, I wanted to see where people were coming from and what they were viewing, so I set up the wwwstat script as a cron job to generate statistics.

I’ve never really liked the reports it gives, so last month I downloaded Analog, which claims to be “the most popular logfile analyser in the world.” It has every feature you could possibly imagine including graphs and charts, search referrer statistics, and even 31 different language output options. Perhaps because it’s so feature-rich, it is very difficult to compile and configure. I never got around to fixing my cron jobs to use it, in part because I couldn’t figure out how to send it data from stdin.

Last night Dave Jeske asked about log statistics for his blog (since I’m hosting on my site for the time being) and I told him the URL to the crappy wwwstat page that I generate daily from cron. I warned him that my ISP rotates logfiles daily, so the page never shows more than the past 24 hours of statistics.

He pointed out that webalizer has a slick -p option that lets you preserve state so you can run it multiple times and it incrementally adjusts the statistics. Neat.

So I downloaded the source code, ran ./configure --prefix=/home/mradwin/local --with-etcdir=/home/mradwin/local/etc and make all install and I was up and running in 15 minutes!

It’s not as slick as Analog, but I don’t care. It does exactly what I want, and nothing more.

Thanks for the tip, Dave. Enjoy your new stats URL.

Dave Jeske: Linux on the Desktop

linux-penguin.jpg Dave Jeske, one the many brilliant Yahoo! alumni I know, is new to the blogging world. Here’s his second entry:

Linux on the Desktop is a long way off, here’s why. I’m a UNIX developer and proud of it. I love the stability, scriptability, and remote administration capabilities of UNIX. I’ve built everything from small scale scripts to large web-applications running on hundreds of machines. However, I’ve never run UNIX/X as… [unsolicitedDave]

I’m looking forward to reading more from him.

What Every Software Engineer Should Know About Patents

patent-leather-shoes.jpg Ariel Rogson from Marger Johnson & McCollom spoke at last night’s Los Angeles ACM meeting on software patents.

Here’s a brief outline of the main topics he covered:

  • What is a patent?
  • Patents vs. Copyright
  • 4 Requirements for a patent
  • Is software patentable?
  • Should I bother with a patent?
  • “Patent Pending”
  • Audience for the text of patent
  • Components of patent application
  • “Enablement” requirement
  • Deadlines for patenting
  • Prior Art
  • Provisional Patents
  • Financial Costs
  • How to draft a patent specification
  • Include source code in your application?
  • Open Source vs. Patents
  • Infringement
  • Defenses against infringement
  • Advice for managers

I already knew a whole bunch of this stuff since I’ve been through the process before and I’ve taken an Intellectual Property class at UCLA.

Something new I learned about was the “prior use” defense against infringement. Apparently it was created in 1999 but has yet to be tested in a court of law, in large part because there are some highly technical limitations associated with its use.

The way I understand it, the prior use defense may apply if you reduced to practice the invention at least one year before the filing date, AND you were using it commercially before the filing date. But apparently it’s tricky to use.

Rogson said that the more common defenses against infringement were either invalidity or non-infringement.

With invalidity, you argue that the examiner failed to consider some prior art that would have prevented the patent from issuing. The difficulty with this defense ist that the defendent has the burden of proof to show that the patent is invalid since a patent is presumed valid if it has issued.

A non-infringement defense argues that the patent is not infringed upon because the defendant is simply doing something different from what the patent describes.

Using passive voice for moral neutrality

It drives me crazy when I read a headline that says “3 die in bombing” and it turns out that one of the three people was the suicide bomber himself.

Instead, how about “2 killed,” or better yet, “2 murdered?”

The press often writes headlines in a way that imply that the suicide bomber just happened to be there and accidentally got killed like everyone else. But his death is not morally equivalent to the victims of the bombing. He is a murderer.

Murderers don’t deserve to get counted. They’re not victims; they’re criminals.

By using the passive voice, newspapers claim that they’re being objective. But really, what’s so subjective about condeming murder? There are moral absolutes in this world.

Investment advice

I’ve gotten about 5 or 6 copies of this spam message today:

Date: Mon, 5 May 2003 20:28:48 -0700

From: Administrator <Admin@CorporateKiller.com>

To: <admin@r...>

Subject: Corporate Killer COOL


you must invest money in http://www.corporatekiller.com/

This good!!!

Very good!

Admin of


After such a persuasive argument, I’d be intersted in making an investment. Corporate Killer, I’ve got my checkbook ready!

Another tech industry recovery indicator?

I wrote back in March about the fact that Yahoo! is hiring and wondered aloud if that means that the tech economy is starting to recover.

I just got an email from a headhunter looking to hire a Senior Software Engineer in Menlo Park, CA.

We are seeking an experienced software engineer to build web based applications and backend services. The ideal candidate combines expertise in object oriented software development using C++ and Perl along with a strong background in web based technologies like XML, XSLT, etc.

Hey, if headhunters are starting to make cold-calls (or cold-emails), I guess this is a good sign…

Intermediate Beard

P5020142.jpg I’m growing a beard.

It’s in that funny intermediate state where it doesn’t look quite like a beard yet. I’m past the “scratchy” stage (that was earlier in the week) but not yet in the “actual beard” stage either. It will take a few more weeks to fill in completely.

I’m growing a beard because we are counting the Omer now, and since it’s a time in calendar that’s considered partial mourning, haircuts are avoided.

Perhaps I’ll buy a beard trimmer next week. It should arrive just in time for Lag B’Omer when it’s OK to have a trim (and probably around the time when my beard starts to get into the “unkempt” stage).