Experiments in home computing

I like to make useful things from old computers.

kalpol.com in its present form is the reincarnation of the old jjmode web site, dating from 1995. kalpol.com was registered in 1997, and hosted by DigitalChainSaw. When they became too expensive, it was moved to ValueWeb for a while. When we finally got DSL in our neighborhood, I wanted it but to offset the cost I decided to run my own web server. When I began, I knew very little about Unix, and I figured that a project of this sort would teach me quite a bit. Needless to say, I was well in over my head, but after many belated discoveries, as of late 2001, kalpol.com was hosted on a Compaq Pentium 100 with 64MB of memory originally running Debian Linux 2.2.16 (Corel distribution). I liked that computer because it was quiet - the old Pentiums just used a heat sink, so only one fan in the power supply was running. That computer was retired and I gave it to a friend of mine after putting Windows NT on it.

[I built another server in early 2002, tinuviel, from spare parts and a steel 386 case. It originally had a Tyan motherboard with a Pentium 100 and a 10GB hard disk. The monitor I scrounged was an ancient heavy CRT that got ridiculously hot, and if you looked through the grill you could see the glowing red tube.]

The server has now been updated to a Pentium 133 (!!!) and 64MB of memory, and software upgraded to SuSE Linux v7.2
running Apache and qmail.


Tinuviel has taken a well-deserved retirement. Someone gave me an old Compaq Presario, 475mhz, and I found enough memory to get it up to 112MB. 12GB hard disk came with it. Now running SuSE Linux v7.2


The DirecTV broadband unit is going out of business, and I am forced to switch DSL service to Southwestern Bell since they're the only other provider here. I am not happy about this, but I'll manage. I am now using a dynamic IP address, with a cron script that checks hourly to see if it has changed. If so, it emails me and I make the change in my DNS server. This is not as tedious as it sounds, and the IP address doesn't change too often.


I have installed TMDA to cut down on the increasing spam problems. I have had my email address now for five or six years and even though I've been careful, the spam is rising steadily, up to about 10 messages a day (a lot, for me). TMDA seems to be working fairly well - there were a few minor snags inherent in implementing a whitelist. The most obvious one is what to do with emails sent by legitimate senders who do not look for replies (i.e., an Ebay bid confirmation email). Also, it's slightly annoying that I cannot stop spam from reaching my server at all.


The server has set a personal uptime record - 252 days! Not too shabby with the DSL going out occasionally and the dogs tripping over cables. I have also changed DNS servers to Zoneedit and set up an automatically updating script - no more manual DNS entry. MySQL and PHP are installed now as well.


The old Compaq Presario was retired in July 2004 after nearly a year of uptime and my sister took it to school. My old desktop ithilien took its place. Specs are now 750mhz, 512MB memory, and a 3Ware 7xxx controller with a four 80GB disk RAID 5 array giving me 240GB of usable storage. I have switched from SuSE to Gentoo with mixed results, and lately I have updated qmail with qmail-scanner (using ClamAV, F-Prot, Spamassassin 3.0, Vipul's Razor, and Pyzor), which so far is doing an excellent job at filtering mail. The URL blacklisting in SA 3.0 is great! One of my big goals was to have spam rejected outright at the SMTP level instead of just quarantined, and with the st patch to qmail-scanner, this was accomplished. The downside is that the amount of spam I get is causing a little server load, but nothing terrible.


Here are some more server details along with upgrades today:
AMD Athlon 750mhz now running Gentoo Linux (2.6.11)
Gigabyte GA-71XE motherboard
3ware Escalade 7xxx PATA RAID.
3 Maxtor and one Hitachi 80GB hard drives in RAID-5 array, 240GB usable. JFS file system on root partition.
Lite-on LNE100TX Ethernet card.
SiS 86C326 5598/6326 8MB VGA card.
Toshiba XM-6202B CD-ROM.
420 watt power supply.
Seven or eight fans :(

Kernel configuration for this system is very easy (all the hardware (most of which was scrounged from the parts cabinet) is supported in the 2.6 kernel), and it has been very stable with the exception of some lockups that I believe I traced to the old UPS, which was unable to carry the load during brownouts. Thus the new UPS.


While home sick this week, I made some changes and improvements. OpenSSH is installed now. The UPS has eliminated the occasional lockups - after I set it up and installed apcupsd it reported odd mini-outages occurring every morning about 8:30 for three seconds or so. No more problems now, and apcupsd also has this nice web-based status tool. Last week after an update of qmail, everything crashed and I spent a couple of days tracking the problem down to a problem with the Gentoo ebuild. That was annoying but everything is working well now.
I also installed i2c drivers, lm-sensors, and GKrellM for hardware monitoring. This Slot A Athlon runs fairly hot, and the system temperatures were approaching 130 deg. F. I scrounged a muffin fan from an old power supply and installed it in the open fan box at the front of the case and that helped a little although now the fan noise is annoying. (There are six fans in the system now.) I am dreaming about a water cooling system, half-homemade using a car radiator and automatic fan.


Massive changes taking place since last August or so, I'll try to catch up. Ithilien generates a lot of heat and noise, and I had been plannng various ways to reduce at least the heat being dumped into the house. (It was nice in the winter, but we don't have much winter here.) At the same time, I had been thinking about building a computer to run MythTV, to use as a DVR. Since that computer had to be on all the time to record shows, the obvious solution was to move the web and email server there, and leave the main file service to ithilien. So gandalf came into being, running SuSE 10.1 and built from lots of parts and some nice stuff donated by my dad:
AMD Athlon(TM) XP 1900+
eVga Nvidia GeForce 5200+
Asus A7V8X-X motherboard
1GB memory
160GB Seagate hard disk drive
Creative Labs SB Live! sound card
Samsung DVD-ROM and CD-R
Hauppage PVR-350 tuner and capture card with remote
Netgear WG311 wireless card (using Windows drivers under ndiswrapper)

Setup was quite easy using these instructions. I had to add xv_attr to get rid of the blue line problem, and add a line to start the transcoding daemon, but everything else pretty much just worked. I finally bailed out of qmail since it was being absolutely patched to death, and started using Exim. This was rather a steep learning curve but everything is working now. Ithilien is left off if not being used (and our power usage has decreased noticeably). When it's on, I can stream music from it to the MythTV box. Next up is hooking up the surround sound. The Sound Blaster Live! card in gandalf is just a placeholder until I dig up an adapter for digital sound. I bought an RCA RT2500 amp from craigslist and it works quite well with my old JBL 8216A speakers for left and right, and the JBL Northridge N24 II speakers for rear channels. I still need a subwoofer and a center speaker (saving up for a JBL EC35, seems like a good one).
I also took the old APC Back-UPS 200 with bad batteries and found replacement batteries at Fry's for it. I'm using it now just for the DSL modem and router. The router I replaced some time back with a Linksys WRT54G (I dug on the shelf at Fry's until I found a V4 at the back, behind all the V5s) running DD-WRT.

Now for the really fun part. I had enough bits left over for one more computer, which has 10.2 and MythTV installed and is in the bedroom on the TV there. I can stream video recorded on the DVR to the bedroom. It generally works OK but since all the computers except earendil and ithilien are wireless, the signal is not good with the computers being in cabinets etc. Low signal means low bandwidth and sometimes video playback in the bedroom skips. So I may just run some cable for them.

Lastly I installed Ubuntu Edgy on earendil dual-booting with XP and I quite like it. Here's the hardware specs just for reference:
AMD Athlon(tm) XP 3200+
768MB PC3200
Shuttle AN35N with nForce chipset
40GB Maxtor and 40GB Western Digital drives
eVGA Nvidia Geforce FX 5500 256MB (works well with Ubuntu Edgy with binary Nvidia drivers)
Dual layer DVD-RW drive
I'm not sure if my hardware just can't handle it, or maybe it's just the video card, but in Windows, playing F.E.A.R wasn't great. I had everything turned as low as possible before it played smoothly. I think it's probably memory + video card.


I had some problems with gandalf so I backed things up and installed Suse 10.2, and everything seems to work a little better now. While doing that I installed a DVD-RW drive, card reader, and a Turtle Beach Riviera sound card with an optical output so I can use the surround sound with digital TV once I get a digital TV card for it. I also got a Seagate 500GB external drive and I'm experimenting with automated backups using Amanda. What I'd like to do eventually is have gandalf wake up ithilien (where the big drive is, since ithilien has the most data) and then ithilien will wake up earendil and cirdan in turn and back up everyone to the external drive (or two). Lastly I upgraded earendil to Ubuntu 7.04 (Feisty Fawn), works great. I am more and more pleased with it as time goes by and it looks like it's starting to get noticed as a usable desktop distribution of Linux.


I finally got a optical cable for the Turtle Beach card. I installed the alsa tools package and fiddled with it a little and finally got it working. The sound is much better, and the amplifier automatically switches to Pro Logic mode when listening to internet radio which is nice. The hiss and hum is gone as well. The card setup was fairly simple - in Yast I added it and then started the alsamixer to turn up the line in. I had to set the output to spdif in the mixer and MythTV, but I think that was about it. No .asoundrc file was needed, I believe, but your mileage may vary.
I also got a Treo recently and plugged in my Linksys USB Bluetooth adapter more or less permanently to be able to be able to communicate with my phone. I thought for a while that I'd like to figure out how to get reverse DUN working so I can surf the net from the phone through Bluetooth in the house but on second thought that's rather silly, why bother when I am surrounded by computers.
Next up - digital TV!


New year, new server. The foray into digital television with a pcHDTV HD-5500 card ended rather quickly when gandalf couldn't handle it. I built celeborn to replace it:
Abit motherboard
AMD 4800+ dual core processor
1 GB memory (temporary, I plan to add another gig)
256MB PCI-e Nvidia video card
500MB WD hard disk

I installed the 64-bit edition of Suse 10.3, Myth TV, and moved everything else from the old server. It worked just fine, except I've lost the remote the PVR-350 had - I may try installing that card along with it just for the remote. The TV works fine, I haven't tested recording yet. Note: We ended up just getting the converter boxes. At some point I'll get Myth working on recording but at the moment we just don't watch broadcast TV (and don't have cable) enough to justify it.


Last year I ran a couple of CAT5 cables from the den to the living room and bedroom, so the server and the multimedia computer in the bedroom (the old gandalf server, with some more memory now) have the full network bandwidth. Now that Netflix instant-watching movies and Hulu are online, I wanted to watch streaming movies on the televisions. The problem was that Netflix only works with Internet Explorer in Windows, and I'm running Linux everywhere. I solved the problem in the living room by installing Virtualbox on the server and running Windows XP in a virtual machine, which works pretty well. In the bedroom, the computer is not capable of all that, so I just installed Windows on it. I ran into an unexpected problem – Nvidia video cards either are buggy or have some sort of DRM which doesn't allow you to play Netflix video through the TV-out plug if a computer monitor is not also connected. (The helpful people at Netflix put me onto this, hooray for their customer service.) This is really annoying, but I swapped the old ATI card I had in the file server (which I think is a Radeon 9200) and that worked fine. Almost immediately after this I came down with something very like the flu, and being able to watch movies from Netflix on the TV in the bedroom was pretty satisfying.

As for music, my CD collection was originally stored on ithilien, but I mostly leave it off now unless I need files. So I got an external drive case, put one of the 80 GB drives left over from another computer in it, and plugged it in to celeborn. I set up Amarok and Ampache and now can stream my music over the web at work (with downsampling, which helps a lot) or play it from any of the computers in the house. (I was able to stream using the Treo, as well – I am still trying to get it to work on the iPhone.)

I took my mother-in-law's old Dell Inspiron 8000 laptop with a broken display, and it's in the garage plugged into an old monitor and an amplifier so I can stream music out there (via Amarok, or Pandora, or Radio Paradise, or SomaFM, or anything else I like) and also use it for car manuals, forum posting, etc., without having to go into the house. I just updated it to SuSE 11.1 with Gnome, and it works just fine with a 700mhz Pentium III and 512MB of memory.

Lastly I installed OpenSuse 11.1 and KDE 4.2 on my desktop, and I really like it.

11/15/09 (more or less)

I put another 2GB of memory in the server (4GB total) and upgraded to OpenSUSE 11.2 from 10.3, which was a little nerve-racking but it went ok. I also replaced the video card since the capacitors on the old one burst and I could only run the server in text mode. The new video card works even better playing Netflix in the virtual machine, and the extra memory doesn't hurt. The UPS battery is finally dying, after nearly five years. I will have to install a new one immediately, since it won't carry the load of the server any more during power failures.


After a whole lot of drama, celeborn, while fine hardware-wise, needed some patching and reconfiguration. I had just been hosting it on dynamic IPs at my mom's for a while, then at my house, and outgoing mail was broken, and the repositories were all out of date. I did get a nice new case for it though, so it looks nice sitting on the entertainment center. The hardware is fine though, so I got a new 2TB (even saying that leaves me in awe of its capacity) drive, and installed Opensuse 12.1 on it after messing around a little with VMWare and CentOS. I was thinking of a nice virtualized setup but there's no way (that I know of) to have VGA passthrough for the local display to work, so the VMWare plan (while ESXi is really cool) was shelved and I turned to CentOS. However, I started missing the ease of setup of OpenSUSE so in the end I just installed OpenSUSE 12.1. With a minor change to compile options, djbdns still works great. I dabbled with Postfix but since I know more about Exim now (and really like the ability to use ClamAV and Spamassassin without having to wedge in amavisd or something similar) that I ended up not changing much at all. All the mail options work now, and since the drive is so huge I can stop using the external USB drive for my music and movies. My next little project is to install Asterix to use my Google Voice number at home on an IP phone. For a computer I built four years ago, which was not cutting-edge even then, it is doing great.


I feel like I lost an entry in here somewhere, but much has changed. Celeborn got a total makeover, using the AMD FX-8350 8-core processor and an MSI Sabertooth motherboard, which is a good processor but runs really hot. I had the same one in my desktop (beleriand) and had to add a water cooler to keep it from overheating when under heavy load. It's got 16GB of RAM, solid-state drives, all kinds of other technology in another attempt at virtualization. Originally, this had failed due to the passthrough issues, but I decided to just ditch all that and make it headless. The Netflix-on-Virtualbox thing was rendered totally obsolete with the advent of a Roku to handle entertainment, so all the equipment moved into a little nook as a headless server. I found a big antenna and got MythTV working with Plex for multimedia via the Roku, and other important services. I figured out how to mount the physical drives as volumes in an ESXi guest which got me a long way toward virtualization, and while it's still running as a physical server, soon it will be virtualized and I'll have a lot of other projects in play with firewalls and VLANs to assist in security.


As a somewhat later note, in May 2017 it did all get virtualized under ESXi. Great stuff. I can definitely use some more memory but it's quite solid and I added cloud backups, in addition to the local backups. I virtualized the firewall as well and added fun firewall services there. It's a little inconvenient when I have to restart the host, but not too bad. For the 2018 Winter Olympics, I set up a Pi running Kodi for streaming MythTV recordings since Plex wasn't really cutting it. Worked perfectly, only the keys on my remote keyboard were a little wonky. MythTV is still kicking along, on v0.29 now I believe. Lots of channels now with the big antenna, but really not much on and Plex is the main source these days.


Fun times with virtualization. The VMs are backed up regularly now, which is nice. I am getting somewhat annoyed with systemd due to vulnerabilities and feature creep, and decided that since it is so easy to spin up servers, I'll just make a new one. So kalpol.com is now hosted on FreeBSD, and I like it a whole lot better. It took some fiddling to keep from having two cloud backup agents, but so far so good, and I can begin firewalling off Internet-exposes services. However that means I pray fervently for autostart to work if the host goes down. OpenSUSE is still going to be present, doing some local tasks for multimedia service, but FreeBSD is the way of the future for the Internet server side.


Added a liquid cooler and 16GB of memory, to bring it up to 32GB. The radiator did not fit inside the old InWin IW-H500 case, so it's sitting on top with a couple of old processors as standoffs. But it's considerably quieter now at idle and I can really pound on the CPU without it overheating as it was prone to do. I like the FX-8350 for the price, but it does run hotter than anything else I've seen. I also found a true old Bay Networks Netgear hub from about 1998 in my pile and plugged it up to have some more blinking lights to watch.


Crashplan made me angry after they disallowed a large number of file extensions and directories from backup (very useful ones I might note, like /etc), so I ditched them and began cobbling together a new solution trying out Cloudberry and Backblaze B2. This was not working well, and I was poking around in some links and started looking at FreeNAS, since I never really explored snapshots (having always used EXT4 or even JFS for filesystems back in the day). As it happened there were two Proliant N40L microservers for sale cheap on Craigslist, so I picked them up, got 8GB of ECC RAM and a set of hard disks for one of them (the one with the caddies) and started up a SAN caradhras. I immediately liked it a whole lot better. I had tried this before, you may remember, on the old server ithilien which at the time had a whopping 240GB of hardware RAID storage, and an Athlon Slot A burning up power at 750mhz and whatever wattage all those fans used. Caradhras is slow, but cool, and only adds about 30-50 watts to the total power usage. FreeNAS is great, and has a cloud sync task I can add for Backblaze for important stuff. So I've been revamping all my files and backups and will soon ditch Crashplan altogether, good luck to them in their future of restricting backups.


While on vacation I cleaned out all thhe old datastores I had heretofore been keeping my files in, moving everything to caradhras, and then took silmaril down to take out the extra couple of disks that had been in there a while. Guess what, it didn't come back up. It took me some floundering around to figure out that the new CPU coolant pump had failed. I ended up getting a new case and motherboard (thinking that was the original problem, good for me it was cheap), running silmaril on the desktop hardware in the meantime, and after a lot of passionate cursing of my troubleshooting skills and an angry RMA to Corsair and things are back up again. In the middle of this, OpenSuse 42.3 is out of support, so I decided to spin up a Leap 15.1 instance and revamp silmaril. MythTV has been working great with the Women's World Cup recordings and the Pi with Kodi has been slowly converted over to the NAS ecaradhras as the media source.


The 50th anniversary of the moon landing called for some updates. OpenSuse 42.2 is out of support so I have been moving the email service over to the FreeBSD server, and setting up a new OpenSuse Leap 15.1 for internal media service and what not. So all the Internet-facing stuff will be consolidated, DMZed, etc., and I can control the data flow more easily.


COVID quarantine really put things to the test here. Google Fiber showed up one day last year, and I decided to sign up just to have the infrastructure installed. I also got a managed switch and started setting up VLANSs, and had some nice things going on with test Vms and policy-based routing to send traffic out one ISP or the other, just for kicks.

Then COVID laid into everything, and suddenly we were all at home and the network was getting hit pretty hard. I set up a workstation with one of my old LG G4s running Lineage as a Zoom client, and we carried on pretty well. Then I got a Ubiquiti AP to replace the tangle of bridged TP-Link routers I was using for APs, and that was super nice. The guest network has its own VLAN now, routed out one ISP, and everyone important is on the other, so I can switch ISPs just by switching wireless APs. The LG had Kodi as well for streaming to my Bluetooth headphones, but all kinds of weird wireless and Bluetooth dropouts were happening and I guess LG must use an arc transmitter or something because I dug out my old Galaxy s4 Mini and that works way, way better. I added a second Ubiquiti out on the new porch so we can take the Raspberry Pi out there and watch movies on the projection screen from the server. A VM handles the management software (and builds my Lineage images too).

I had a couple of gigabit switches and a fun old Bay Networks Netgear hub but that got to be too many things so I just got an 8-port managed switch and redid the VLANs for that. I want to still use the hub somewhere, it’s fun to watch the blinkenlights of the load meters on it.


I had purchased two N40Ls off Craigslist a while back, one of which has been a very trusty (if rather slow) NAS running FreeNAS, I purchased another one from somewhere just for its caddies, and sold the carcass again, to get all the caddies for the second N40L. I picked up a bunch of refurbished drives to kit it out and tried out replication. Works pretty well although the first one took about three days. I am pondering colocating it at a sibling’s house, on VPN, just to see if I can do it and have distributed storage.

Another sibling gave me a couple of old rackmount APC UPSs. I pried out the old batteries from one, which were just standard batteries glued in, replaced them, and it works great to upgrade the Cyberpower 1500 I had. The Cyberpower was fine, great actually, but is not rackmount so the tiny space was getting a little crowded with rectangular objects.

Plex annoyed me greatly with the hobbling of their mobile app, so I tried out Jellyfin which works just fine on my phone.

Upgraded the web server to FreeBSD 12.2 and applied some November updates, too, we’re good to go into the holidays.


At some point I redid the cabling and built a Lack Rack with fancy little casters and mounted the server and its UPS in the laundry room. It sits there nicely and hums away - I was a little worried about vibration but it seems fine. I have quite the stash of surplus used SAS drives so just swap them out as they fail, which only happened once. The Cyberpower UPS I had failed a while back, beeping about power problems, so I picked up another rackmount APC Smart-UPS off Craigslist and replaced its batteries. It took some rewiring too as terminals had corroded away but it worked and now sits in the Lack Rack. There's a desk rack now too with a rackmount amplifier I found on the side of the road, and another UPS and the desktop etc. Quite a lot going on there. Network-wise, I had gone through some shenanigans to get a reverse proxy in the cloud for email so I could get rid of my static IP. I got it to work via Haproxy finally, and it was quite nice, but Astound nee Grande still sells SMB plans with static IPs so I will likely keep on that for a while.


Not too much has changed, other than both FreeNAS servers now have solid state disks for the operating systems. Also I picked up another SmartUPS from Craigslist. After the snowpocalypse in early 2021 when we were without power for three or four days, I wondered if there was a way to run emergency power to the tankless water heater just outside the window of the "server room". I got a massive old SmartUPS 1500 and replaced the batteries (and rather more wiring than I had anticipated) so now I have some beefier power available just in case. The original UPS went to the rack on the desk where it feeds the desktop and the replicating FreeNAS server. There is quite a lot of beeping now when the power blinks
I was cleaning up firewall rules and noticed MythTV hasn't been used in a long while....Jellyfin really killed that off as well as Kodi on the Pi as we can just get live TV on the Roku now, with Jellyfin pulling it off the HDHomerun. I suppose It hasn't seen a whole lot of development and I suppose I will uninstall it at some point - real end of an era there to be sure.


The summer vacation saw the installation of Zoneminder and some security cameras. This required running cables here and there, fixing up the VLANs, and POE. Worked fine until I ran out of switch ports and also plugs for new switches, so got mad and saved up for a 16 port POE switch. This was better. The zmNinja app works great on mobile (via VPN). The network is nicely segmented now as well, and one of the wireless APs got moved out to the back shed since it was really too close to the other, and conflicted.
Heat is annoyingly still an issue, the server is in a happy little Lack Rack on wheels with some custom gumwood rails made from a dishwasher packing box in the laundry room, but it does get hot in there sometimes. Nothing terrible, but I find myself shutting off unused VMs to keep the CPU usage down. As for the Lack Rack, it is reinforced a little with the rails and a framework for the caster wheels, but it is still surprising how much weight it can hold - currently the server, a Smart-UPS 2200 and a Sherbourne 8 channel amp.


The grid icons were made by scanning a grate cover from the PQC room at Hitachi.

The background on several pages is the autoalignment screen from the MAX880 at Hitachi, one of my projects.

The "walking particle" logo is a silicon particle on a cross-section of a 4mb memory chip, taken by me on the S-900 around 1996.

The hand belongs to Lien Le, and was scanned in the PQC room (clean room, hence the glove).

The pie icons on the index page are from Selected Ambient Works Vol. II, by Aphex Twin.