Older blog entries for spicyjack (starting at number 18)

Fujitsu Lifebook S-4546

I've re-installed a 2.4 series kernel, 2.4.18. I want to see if I can get orinoco_cs working without a lot of hassle. So far, no dice. I was playing with X and the DRI drivers for the ATI video card, trying to get some speed out of OpenGL in X. I can get about 125 frames per second with glxgears, but my Matrox G400 gets about 550fps. As near as I can figure, the video chipset in the laptop is a PCI version of the ATI Rage 128 product family, X sees it as a Mach 64 derivitive. Which means no hardware accelerated X for OpenGL. I bought a SanDisk CompactFlash reader, it works fine with kernel 2.2.20 as a USB storage device. Now I don't have to pop out my 802.11b wireless card to put in my PCMCIA CF adapter to get the pictures off of my camera. I also bought a USB serial adapter on sale today at Staples, it was originally $40, I got it for $10. It was made for hooking up a Palm Pilot cable, but I plan on using it for accessing serial consoles, instead of dragging my docking brick around.


After my hard drive upgrade, I started getting SCSI bus resets. Bad news. So about 2 weeks ago, I pulled everything apart again, moved all the SCSI devices and terminators so that they were one after another on the cable, and it worked. No more bus resets :). Reason it took me so long to do it is because I used to have my computer in a space in between my desk and the wall, with a 25 pound UPS on top of it. I moved it to the other side of my desk drawer, and moved the drawer over, so now it's a lot easier to get into :)


This is my Portaboom test box. I can stuff various sound , video, and network cards in this thing, to make sure everything works with Portaboom. I've got a list of cards on my project page on Sourceforge. I just stuffed a $30 Voodoo3 3000 PCI card into it, and I'm going to give my best try on getting the drivers up and running in Linux so I can do OpenGL games and things, specifically PrBoom and maybe some Quake luvin.


This thing has the Asus P2B-D motherboard, which has the fucked up USB support. Apparently Asus designed the board with one too many resistors on the USB part of the board, so that USB doesn't work correctly. The workaround is to short a resistor on the motherboard, so that's what I did. I took a piece of 24ga hookup wire, and soldered it across the surface mount resistor. I also bought a SIIG USB CF adapter, which doesn't work in Linux. I tried that first in my newly modified USB setup, and it didn't work. After I got the SanDisk, I tried that, and it worked perfectly the first time. SIIG USB CF adapter no, SanDisk USB CF adapter yes.


I released version 0.5 of tkBoom on 25Mar2002. Most significant part of the release is that you can now load Doom PWAD files inside of tkBoom. So now you can literally load thousands of new levels in Doom. I've also cleaned up some of the dialogs, and things like OpenGL support works now if you have an OpenGL binary. I've also been busy converting all of my scripts to use hashes for holding Tk controls, instead of individual variable names for controls. Doing this has the HUGE advantage of making passing controls between dialogs/functions super simple, you just pass the reference to the hash that has all of the Tk controls in it. I've gone from upwards of 50 varable declarations to about 5 per function/dialog. I'm also adding PWAD identification and level identification to tkBoom, so when users choose external PWADs, the game can actually do the right thing when it loads the PWAD into the system. tkboom.pl the script is not 100% hash referenced, but I expect it to be done by the time 0.6 comes out.


Lots of behind the scenes stuff, I've hash referenced PCC, so all I'm passing to most sub functions/dialogs is a master config hash %z, and the parent dialog hash. It's very nice code, if I do say so myself. Right now I'm in bugfix mode, in preparation for a 0.4.5 release. 0.5.0 will see the addition of Shares, you can add external shares to PortaBoom, so that 1 server can serve Doom WADs to many clients at once. I'd like to get things running so you can mount the PortaBoom image from a server over the network, all you would need to run PortaBoom is 1 floppy. Someday. 0.6.0 will see PortaBoom go on a huge diet, my goal is to reduce the filesize of the ISO image from 50 megs compressed to 25 megs compressed or better. I'm setting up a database of information about files on a Linux system, and I'm going to go file-by-file and do an audit, so that when I'm done, I just ask the database for a list of files to use, and it generates me one, and I build my PortaBoom image from files copied from an existing live filesystem. Sounds complex, but if it works correctly, I'll be able to easily generate PortaBoom images, and they'll be as fat-free as they can be.


Confession time; I was guilty of releasing code I did not test by running it myself. I released stream-db 0.8db3 and db4, while I was personally running db2. Maybe if I was running the current version, I would have caught all the showstopper bugs. DOH! I just released 0.8db5 an hour or two ago, it's what's running on my stream now, and it's doing great.


I had my first ice skating lesson on Tuesday. I think I'm hooked. Never mind that I'm pretty much about to fall on my ass at any given time, I can't wait to actually start doing hockey type things. I fixed the license plate lights in my truck, the bulbs have both been burnt out for over 2 years now. It's good that they're fixed now, I like to give the police less reason to stop me :) I've started keeping a paper notebook with me, it's where I write down all of my ideas for projects that I'm working on; it's received a lot of use since I first picked it up, which is great. I get to draw and write just about anything in there, drawings of dialogs, program flowcharts, database diagrams. Probably one of the smartest things I've done in a while in regards to coding type things.


Temple of the Dog - it's my idea for a car MP3 player. Instead of using the 40x4 LCD display, I want to use a 5" LCD screen to display everything. I want it to be able to run games and whatnot, and even let you drop to a shell prompt for hacking on the go :). Most definitly in the planning stages, but I've already got the basics of a Perl::Tk MP3 player, all I have to do is hack it up so that it looks like I want it to look. I'm also thinking of using xdaliclock too for the track time, you can get it to count up and down, which would work great.

Fujitsu Lifebook S-4546

It doesn't look like I've mentioned it, but I stuffed an IBM 30G drive in this thing in December. It's great, I've got 8G total for Linux, 8G for Windows 2000, and about 13G left over that's still unformatted. This thing has been rock solid for me. I sent in the $179 for the extra 2 years warranty, Fujitsu has not cashed my check in yet, so I don't know if they got it before my 1 year anniversary of buying the laptop.


It got an upgrade. The main system drive, a 4G Western Digital SCSI drive started making funny noises, so I replaced it with an 18G IBM. During that whole episode, I also upgraded to Debian Woody. Folks, if you have not upgraded from Potato, I highly recommend it, it's great. I've just last weekend got everything up and running like it was before the upgrade, that includes my xglobe page, as well as my private webmail.


A server I run at my mom's house. I had Red Hat 6.1 running on this machine forever, it had 475 days of uptime before I had it rebooted, because I found out it got hacked. It got the Woody treatment too, and now it updates itself :)


I released PortaBoom 0.4.0 on 17 December 2001. It's running good. It won't run correctly on about 1 in 5 machines, usually due to that machine having a cheezy video card that won't support the framebuffer mode that I ask for when I boot the system. Most of the stuff I have in the TODO lists for both projects are features, not bugs, so that's good too.


I finally released a new version of that project too, but the same bug I wanted to get rid of by creating a new release is still there. Fuck.


Been real busy lately. REAL damn busy. It's tough to think about things like PortaBoom, but never get the time to hack on it. I traded in an old skateboard for a ice hockey helmet, I plan on taking beginner's lessons next week :)


I've been spending a lot of time lately coding PortaBoom, so I've no time to spend writing. Things with PortaBoom are going great, this project is going to be awesome when it's done.

I was trying to track down a missing '}' today in a Perl module, and I came up with a novel way to do it. My Perl module must have about 10 or so functions in it now, plus a whole bunch of control blocks scattered all throughout the file. What I did is add an extra '}' at the bottom of the file, then move it up function by function until the program complained about having one too many of them. Below that function was the culprit.

I've feature frozen PortaBoom for a 0.4.0 release, I have a list of things I need to fix before I'm happy with it. 0.4.0 will most likely be the first release I tell more than 3 people about, so I should start getting some feedback one way or another. I plan on releasing to the PrBoom mailing list on Sourceforge first, as they are hardcore Doomers anyways, and would probably appreciate what's going on the most.

Fujitsu Lifebook S-4546

Another note from Andrew Wai <andrew {at} wild.com.hk>: As far as I know DRI on some PCI based ati chipsets are supported so agpgart is not actually necessary for DRI support. The r128.o module can load without agpgart.o on my laptop but is not used, even when trying to load dri support in XF86Config, ie glxinfo reports 'direct rendering: no'.

Fujitsu Lifebook S-4546

I've been working unsuccesfully to get AGP working with this laptop.  I've said in the past that this laptop uses the Rage 128 video chipset from ATI, but myself and Andrew Wai <andrew {at} wild.com.hk> have both been unsuccessful in getting the agpgart.o module to load, which is what you need loaded before you try to load the r128.o module for the video card.  Other than that, everything is running fine with the new install.  All the packages are up to date, which is real nice.


My new project, PortaBoom. I can now play a game of Doom from the CD ROM of any computer with a fast enough Intel x86 processor (probably a Pentium or better for the larger screen resolutions) and a working CD ROM drive. I've got ISO images posted, they actually work , with sound and networking. It's all command line stuff to run the GUI right now, the GUI doesn't start automatically yet. The GUI (tkboom) is still in the infant stage, but you can use it to launch a game after the PortaBoom CD has booted. I've got a shitload of work to do before I'll be happy with it, but at least I know now it's a workable idea.

24 Oct 2001 (updated 24 Oct 2001 at 23:33 UTC) »

Fujitsu Lifebook S-4546

Forgot a file.  Here's my /etc/modules file.  This file is what Debian uses to load the modules for the system when you boot it.  Compare it to the output of lsmod, and you'll notice that there's more modules loaded than what I ask for in /etc/modules.  Reason being, is that I only ask for the final module of a set of modules, and the kernel automagically figures out what modules the requested module depends on, then loads the dependent modules prior to the one I request.  Works great, and if I'm testing out things like ALSA, all I have to do is modprobe the snd-card-intel8x0 module, and the rest of the modules it needs gets loaded automatically.  After you build a new kernel, or build ALSA, you'll need to reboot for this to work, because the kernel builds a list of dependencies at boot time.

24 Oct 2001 (updated 24 Oct 2001 at 23:25 UTC) »

Fujitsu Lifebook S-4546

We have Wood!  Woody is running very nicely on my 30G drive.  Cool thing about Woody is that most every package is only like one or two minor versions down, for example, libsdl is 1.2.0 in Woody, and the most current release is 1.2.2.  Migration was pretty easy from the old drive, however, I could not mount the Reiserfs partitions from the old drive.  I had to put the old drive back in, and then move the files to the ext2 partitions on the new drive with an external PCMCIA IDE adapter.  Here's my fstab and lsmod.  My drive is partitioned with a single 8G partition for Windows 2000, and 8G total for Debian Woody.  The rest (for right now) is unpartitioned.  Fujitsu has released a full set of Windows 2000 drivers, even the scroll button works in Windows 2000 now.  You'll have to come up with your own copy of WinDVD however :(.  I'm running the default kernel version that came with Woody (2.2.19), because I want to use VMware for another project I'm working on.  Here's my 2.2.19 kernel .config file.  Woody comes with recent ALSA (v0.9.0) drivers, but I could not get those to work using the Debian source package, so I went back to the 0.5.10 drivers, and they're working fine.  I've also got tarballs with WindowMaker and xmms themes on my server at home, which really helped me move over:

Please be nice to my bandwidth :)

Note that there is a bug with theWoody X 4.1 package, X won't start correctly if run with [g|x]dm, there's a new Debian X package out that fixes it, do an apt-get update;apt-get upgrade to download it.  You can read more about the package bug on this Debian Weekly News page.

Fujistu Lifebook S-4546

Just bought a 30G drive, it's an IBM IC25N030ATDA04-0, or a Travelstar 30GN 4200RPM Ultra-ATA hard drive, in english terms.  The drive replaces the Fujitsu drive that came with the laptop with no problems.  The machine booted right up with the new drive.  You could use a 12.5mm drive, by taking out the rubber pieces at the bottom of the drive bay, that way you could use the Fujitsu 30G drive, but I chose to go with a 9mm drive just like what came with the laptop.  I've already got Windows installed in it's own 8G partition, and now I'm giving Linux it's own 8G's of space to play with.  It's Debian Woody time.  I mean, how many other distributions say that they've got wood?  I'll post specifics of the setup at a later date.


My new project, it's a Perl/Perl::Tk launcher for Doom ports. It just got posted to Sourceforge today. I'm using prboom for testing it, but eventually I'd like to make it compatable with as many Doom ports as possible. Making a GUI Doom launcher sounds kind of stupid at first ("I just run it from the command line"), but trust me, there's a master plan at work :). Perl::Tk is a lot of fun, I've been wanting to do something like this for a long time. And prboom is a blast as well, I've got the sound and MIDI music working for it nicely, it all plays at the same time as I'm listening to MP3's with xmms. People walk by my desk at work, and always see me playing prboom now instead of working...

12 Oct 2001 (updated 12 Oct 2001 at 23:44 UTC) »


Yes, September 11th was a big day, and not in a good way.

I'm waiting on the DSL installer from Covad to install my SDSL line from Speakeasy

I've also gotten into some of the Doom (the game) ports running around the web. The one I'm using is called prBoom, it's a fork/merge of a bunch of different ports of Doom that are out there, but it's actively maintained, and of course it runs in Linux, with full sound effects and MIDI music, and a TCP/IP client/server network playing system that replaces the old IPX networking that Doom used to use. It's godly.

I'm thinking of starting up 2 projects that would be related to prBoom, one would be a version of LoopLinux that would let you pop a CD into a computer and already have things set up so you could use it as a dedicated Doom machine with a minimum of fuss. Another thing I'd like to do is write a front end to prBoom which would be like the old 'Doom Control Center' that I used to run when I played Doom on DOS. DCC basically ran the command line Doom engine, and it allowed you to load extra Doom PWAD's, specify extra command line options, and start networked games very easily, and it looked great too :)

I saw System of a Down about 2 weeks ago, it was a good show, but I'd like to see them in a longer set than the 45 or so minutes they had.

Fujitsu Lifebook S-4546

Kernel 2.4.12: here's the kernel config file, and the lsmod without the cpqpjb.o module, I've not gotten around to recompiling it for 2.4.12 yet.  Remember, if you are using ALSA, you'll need to re-install the alsa-driver package again so that all the libs get put into the new modules directory for the new kernel. Use modprobe snd-card-intel8x0; modprobe snd-pcm-oss to install the freshly compiled modules into the system, no reboot required :)

I've just figured out in the last few days that the ATI Rage 3D Mobility video chipset is basically the same thing as a Rage 128, so there's a lot of extra things in my kernel now.  If you want to get a good look at the differences between 2 kernel config files, you can use this:

diff -u original_file new_file | vim -

This will open the output of diff in vim, if you have vim set up correctly, it will do syntax highlighting, and you'll easily be able to tell what's changed.

The framebuffer is for the Rage 128, and I also turned on DRI for X 4.x for the Rage 128 video card as well.  The end goal of all this video stuff is to be able to run the MesaGL version of prBoom, a version of the original Doom game engine that was GPL'ed by id Software.


I was working on moving over the login/authentication code from the old codebase to the new one this week. It authenticates, but it does not set any PHP session variables yet.


I got a copy of Ivan Woehr's stream.pl, he's got it doing a lot of neat things that I would like to put into stream-db.pl. Some day... :)

25 Aug 2001 (updated 19 Oct 2001 at 04:49 UTC) »

I'm fighting with my ISP, Cox@Home, over internet access. They've blocked incoming ports 25 and 80, so people can't run servers. Well, I run quite a few 'servers', so this effectively screws me hard. Here's what I'm doing to get things working again:

  • Running an SSH tunnel from a server not on Cox@Home's network for port 25. So all of my mail is going to the remote server, the coming down the SSH tunnel to get to my server. This screws with a lot of stuff having to do with spam filtering, but at least it's still up.
  • Using Apache's mod_rewrite to redirect web requests. This is really fun. Basically, whenever someone goes to http://www.sunset-cliffs.org (aka naranja.sunset-cliffs.org), they automatically get redirected to http://observer.sunset-cliffs.org:88 using the following rewrite rules:
    • RewriteEngine On
    • RewriteRule ^/(.*) http://observer.sunset-cliffs.org:88/$1 [R]
    Basically what the rule does is to
    1. match any text after the server name,
    2. and save the text you match (^/(.*)).
    The second half of the rule is to send it to the remote server, with the $1 at the end meaning "retrieve the text you saved previously from #1, and put it here". The [R] tells mod_rewrite to serve up the HTTP code 302, meaning "moved temporarily". Ralf Engelschall, the guy who wrote mod_rewrite, has an entire page dedicated to mod_rewrite here: http://www.engelschall.com/pw/apache/rewriteguide/#ToC23

Yes, I'm looking for a new ISP, but it's a pain in the ass to find cheap good bandwidth.

9 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!