February 23rd, 2004

belize

USB mouse speed

My mouse speed randomly changes back and forth between too fast and too slow.

Microsoft Intellimouse Explorer, USB
XServer using /dev/input/mice
Linux 2.6.2-rc2

I don't know if it's a hardware or software problem. This makes me sad.
belize

static analysis / meta-level compilation

The Stanford Checker (MC) project keeps cranking out cool domain-specific analyzers.

Static analysis, and the MC project in particular, excites me.

They're now checking filesystems and automatically finding bugs like this:

http://www.ussg.iu.edu/hypermail/linux/kernel/0402.2/2339.html

Which viro confirms is a serious bug.

Look at the report's filesystem image before/after the call. How cool is that? I'd love to see the Metal code that generated that checker.
belize

code push party; load balancing; garbage collection

Everybody's meeting at the office at 10 pm for pizza and pushing weeks of new code live. Fun fun.

Somebody asked how late we'll be there. I said, "It depends on how bad your code is." :P

I worked most the day on monobal (my C# load balancer). I also reinvestigated Pound the other day, but wasn't impressed. The SSL functionality is neat, but the load balancing isn't. For example, if a backend node is found dead, the client gets a 503 error... rather than the load balancer using a new node? I read that in the manpage. Could that be? Or does it differentiate between TCP failures and HTTP response timeouts. Monobal doesn't handle HTTP response timeouts (yet?) because I've never had a problem with that.

I think I'll be copying Pound's config file format, though, at least for the simple load balancing method. (Monobal lets you select between load balancing policies...)

Mono currently uses the Boehm GC, but I don't trust it. At least not for 24/7 usage allocating and losing pointers to tons of small objects without big GC interruptions. So, I made monobal use freelists for its rapidly created/discarded objects so I make the GC work less.

I'm getting anxious about actually testing monobal in production... I keep finding something else to improve first, but I'm about done I think. If/when it proves itself in production I want to start polishing it up (make the generic round-robin policies/etc) and give it a website.