loading twitter...

September 2006

Clinton++

Awesome.

Uncategorized

Comments (2)

Permalink

Mixel Pixel — Coming Up X’s (Streetlab remix)

I’m digging this entirely too much more than I should. But dammit, it’s only for sale on vinyl (the podcast version having damn intros and outros). I want my iTunes instant gratification.

Music

Comments (2)

Permalink

Personal entropy field claims another victim

My dual AMD Linux box seems to have finally died. I had rescued it not too long ago with an Ubuntu install, but this morning it disappeared from the network, nothing could be seen on the display, and rebooting it failed (the BIOS won’t even get to the point of spinning the floppy drive). This machine has had a recent history of hardware flakiness (like, it can’t power up the disks fully when starting up cold: you have to start it up so the disks start spinning, then switch off the power, then switch it back on again while the disks still have momentum).

I’ve had this computer for nearly five years, and it’s serviced me well. This was the first PC I built myself, cobbled together from parts laying around, with a new motherboard, CPUs, and memory. It’s gone through a few hard drives in the meantime.

So, the answer to this problem is likely “spend some money.” I was curious as to what the lazyweb thought was a good way to put together a Linux server system today. I’d like to run Ubuntu, mostly because I don’t want to waste time dealing with anything more complicated. The primary use for this system would be Linux development and testing.

My ideas:

  1. Buy a new Core Duo Mac Mini, and use that as my new Mac desktop. My current (G4 PPC) Mac Mini would live again as a Linux server. That’s nice, because I could use a more powerful Macintosh, but I’m not sure what special kind of pain in the ass it will be to install Linux on this. The cost would be around $800, I guess (I’ll never buy a Macintosh with less than 1GB of RAM, ever).
  2. Buy a simple Dell (dude, you’re etc. etc.) and put Linux on it. This means an additional $600, and I’ll still be stuck with my current, slow Mac Mini.
  3. Buy some other system besides Dell. Bonus points if there is no resident copy of Windoze, because I don’t want Microsoft to get a dime from me, even by proxy, if I can help it.

I don’t want to build a system from scratch. The most work I’m willing to do is plug it in, temporarily hook up a keyboard and display, and install Ubuntu. From then on it’s all SSH.

I Hate Computers
Lazyweb

Comments (0)

Permalink

epoll selector runs Azureus

With my latest checkin, I’m now able to run Azureus 2.5.0.0, unmodified, on jamvm running on Ubuntu, using the epoll selector I recently wrote.

I don’t know if it’s the performance of epoll, but it seems really fast. It’s just a simple Java interpreter, but I can barely notice the difference between it and an app running on Hotspot.

Edit: the kqueue selector works on Mac OS X. There are some odd bugs still left (like, kevent is returning events for fd’s that should have been deleted), but it is running, and running well :-)

Free Java
Hacking

Comments (0)

Permalink

The epoll saga

I’ve been working on a java.nio.channels.Selector for GNU Classpath based on the epoll event notification mechanism, which is available on the 2.6 kernels. David was kind enough to point out that on 2.4 kernels with a newer libc, the sys/epoll.h header, as well as all the epoll functions, all exist, and all do nothing except return ENOSYS.

That’s a stellar failure mode there, guys. Thanks a pantload for that.

You quickly realize that this makes writing autoconf tests for epoll completely impossible: nothing you can test for will give you a real hint at whether or not the function is, in fact, supported. Oh sure, you could run a test program that tries to open an epoll file descriptor (eeech), but that won’t help out people who are cross-compiling, will it?

Oh, well, why not just add a configure switch that lets the user disable it by hand, you ask? Yeah, that’s a swell solution. Let’s introduce more configuration options for the poor user to guess the right values for.

Sub-rant ahoy!

What’s the deal with configure help output? The convention seems to be that you write:

  • –enable-FOO if FOO is not normally enabled,
  • –disable-FOO if FOO is normally enabled.

Of course, no-one follows this bogus convention anyway, and in the help output you’ll see a line saying “–enable-FOO … (default: yes)”. It’s even better when the help output is “–disable-FOO … (default: yes)”. Does the “yes” mean it’s disabled by default, or not?

Edit, FYI: this is not a debate, I think this behavior is completely stupid, and you have not convinced me otherwise.

Edit: toned down this post. I don’t mind being harsh, and it’s partly a joke, but I don’t want you to think I regard the glibc guys that lowly. I don’t, but they do say some goofy ass things sometimes.

Hacking

Comments (4)

Permalink