Archive for June, 2004

Sold Out!!

Tuesday, June 22nd, 2004

I was going to see Dodgeball! at 7:30, and the 7:30 showing was sold out. This is on a Tuesday night in Spokane Washington. What the Heck!


A Movie in Spokane Sold Out? On a Tuesday night on a nice summer day?????


Well, I got tickets for the 9:45 showing.. I have always wondered about using online movie ticket websites like Fandango or MovieTickets.com. But two things keep me from doing that:

  • Movies are never sold out in Spokane(1)
  • I don’t want to pay extra to order movie tickets online.



(1) – Except for Tuesday nights at 7:30 and on Opening Nights of a movie like Lord of the Rings

Yet Another Project Idea

Tuesday, June 22nd, 2004

I was talking to Nick on IRC today, he has been having some problems with his gzip inflate filter.

I thought, why not make an ‘Apache Filter Debugger’. The idea is to make a nice Gtk2+ GUI that fakes a request and all structures used by Apache. It would allow you to set all parts of a request, then specify the input, and a filter chain to run the content through. After each step you can view the before and after in a multipanel screen, making it easy to see what came in and out. Just a pipe dream right now, but it could save people hours debuging on filter modules in Apache 2.

In other news, ApacheCon 2004 has openned with a Call for Participation. I am thinking about 3 possible sessions. First up ‘XML/XSL and Apache Modules’. I was thinking I could focus on mod_transform and mod_svn_view for this session. My second idea is ‘The 2.1/2.2 AAA Framework’ where I could take an indepth look at mod_authn_dbi, and possibly authentication caching. My final possible session would be about ‘Mass Virtual Hosting in Apache 2.0′. For this I could combine the work of mod_vhost_dbi, mod_dbi_pool and mod_hwshare. I do not know which sessions I want to submit to ApacheCon yet. I think I will write a small outline for each, then decide which ones to go forward on.

The Bandwidth Problem

Sunday, June 20th, 2004

Most shared hosting systems want some sort of system to prevent a few hosts from using all the available bandwidth. I have been rather disappointed by my choices.


For Apache 1.3.XX there are many options:

  • mod_throttle (Semi-Public Domain License) – Shared Mem based (good!). Active Development.
  • mod_bandwidth (Apache License) – File Based in /tmp (BAD). Inactive Development.
  • mod_bwshare (Artistic License) – Shared Memory based (good!). Inactive Development.
  • OS Based: Netfilter – Linux (GPL License) – In Kernel (good!). Active Development. (1)
  • OS Based: FreeBSD – ALTQ (BSD License) – In Kernel (good!). Active Development. (1)

For Apache 2.0.XX:

  • mod_bwshare (Artistic License) – Shared Memory based (good!). Inactive Development.
  • OS Based: Netfilter – Linux (GPL License) – In Kernel (good!). Active Development. (1)
  • OS Based: FreeBSD – ALTQ (BSD License) – In Kernel (good!). Active Development. (1)

(1) Not easy todo filtering based on filetype/vhost/http specific things.

Ah. Only mod_bwshare for Apache 2.0. And its not actively supported by its author for Apache 2.0. Not a good situation at all. It seems to *work* with Apache 2, but I do not like modules that have been abandoned by their authors.


Personaly, I would prefer an OS level bandwidth shapping, but these do not allow the type of configurations that most shared hosting companies want.

Commit-bits for Apache

Friday, June 18th, 2004

I received an Invitation of Commit Access from the HTTP Server Project from the HTTPd PMC earlier today.


I hope to push for a 2.2 release soon. Having features in 2.1.0 sit there for 2 years is worthless and hurts development. More to come on this.

Evil Viri

Friday, June 18th, 2004

Today I went to fix a friends computer. I was told they were unable to install Norton Internet Security 2004. So I started the installer, thinking my magic touch would make it work. Nope, get an ‘error has occured’ without any details on what the hell just happened.

<side-rant>Can’t programers just put a string describtion of an error? Why would you ever tell a user “Error 105″. K. Thanks, THATS REAL HELPFUL. I believe Brice had this issue several days ago. It is just plain annoying!</side-rant>



I thought, hey, I will just open the registry, see what is being run on startup, and Kill it! Great Idea! I open regedit and then it would close without an error about 2 seconds later.

At this point, I knew this wasn’t your average backyard virus.

I Started sniffing around the system32 directory, noticed a file named ‘cool.exe’. Say goodbye ‘cool.exe’. Nuked that, but now I knew what the virus looked like. A 68Kb file modified on June 4th. Hah, it stood no chance now, I found it in 3 other places using the magical Windows XP search tool, one of them I couldn’t remove because windows said it was in use.

<side-rant>I hate NTFS. Learn about how any Unix File System works, and this is never a problem!</side-rant>

A little rename and then reboot action and it was clean.


So, I got Norton to install. The installer took forever. I think about 30 minutes. I read some of Slashdot. Also saw that Paul Johnson was beheaded. Crap. Norton Internet Security shouldn’t take that long to install! It is not that big! Gimmie a Break!

I ran Nortons LiveUpdate, since the virus signatures were over a year old. No dice. LiveUpdate cant contact the Symantec Servers. I try to go to their website, but it gets the extremely helpful Internet Explorer can’t find it in DNS error. Thats Odd, because Google works fine. Looked around for a few minutes, and found the virus had change the HOSTS file to make liveupdate.symantec.com resolve to 127.0.0.1. Evil. In the hosts file it also had the hostnames for every other major Anti-Virus. Pure Evil.

After fixing up LiveUpdate, and running a scan, it only found 15 other viri. All in All, a good days work.

But more interesting is the evolution of computer viri. They have evolved to fight the Anti-Virus Products, just like in the real world, evolution can lead to attacks on the Human Immune System. The serious issue is that Computer Viri are not a product of evolution, but rather of human ingenuity. This is much scarrier to me, because while humans might not survive nature in the long run, in the short term our ingenuity is dangerous to some net citizens

Multiple APIs aren’t cool

Thursday, June 17th, 2004

I spent time today porting some software from Linux to FreeBSD.



Someone thought it would be cool to use GUIDs. Of course, the FreeBSD implmentation is completely different from the Linux implmentation. Some people complain about Microsoft changing their API.


I would settle for the Open Source Operating systems having a more unified API. For example, why are there two different replacements for poll? (Linux: sys_epoll FreeBSD: kqueue)


Geez. Been a long time since I last posted. Maybe I should post more often.