Friday, August 24, 2007

Delight at my new-old recycled laptop

I don't like to contribute too much to all the pollution that getting new hardware contributes too. There's lots of perfectly good old hardware being given away or sold at low prices in second hand stores and online auction sites.

A couple of months ago I got a Dell latitude C610 laptop from a place down the road from me that restores and sells old laptops. With only 20 gigs of HD space, and 256 megs of ram it's not anything close to what you'd buy new. However it seems to do ok.

I also like to use older hardware for developing software - because it's like 'eating my own dogfood' in a way. If I see the performance problems that the slow computers experience - then I can fix them up. All too often I see websites that perform slowly on old machines, or don't fit important information on their small resolution screens.

My franken box

The laptop is so nice, that I've mostly retired my old duron 850mhz desktop machine... which I've had since 1997 or so. Well, some parts I have had since then - it's changed power supplies, motherboards, cpus, hard drives, network cards, sound cards, memory and video cards. Over time I've been upgrading parts of it as I found new parts. When people throw away their old graphics card, I replaced my old graphics card with a better one. The same with all the other parts. I don't think any of the parts in it are from the original 1997 machine any more, but I still think of it as the same franken-machine.

This is the first time since 1997 that I have stopped using that hardware as my main machine. I still have my original home directories though :) I'm also using the mouse from that machine, and a few usb parts... so I guess the franken-box continues! My franken monster of a machine lives on :) I wonder if 20 years from now I'll still be using parts of that original machine configuration - with files from that original DebIan 1.3 install?

Ubuntu failed to install for some reason - so I stuck with Debian. With Debian installed, everything on the laptop is working. I can even suspend to disk, or ram. The on board sound isn't the best, but that's ok. Even the function keys work for adjusting the volume, and changing the LCD brightness/contrast. It doesn't have built in wireless, but came with a usb wireless adapter. I have a few old pmcia wireless adapters lying around too that I could use (and did when I was in europe last). I never use modems these days, so I'm not sure if the on board modem works. The video card works quite well, with even basic opengl hardware acceleration seeming to work fine. All without the hassle of using a binary driver - the open source video driver works fine.

Using my old desktop machine over the network - from my slow laptop.

Firefox is a memory hog, sometimes using up more memory than is even installed in my laptop(256 MiB). So I run firefox now from my old desktop machine over the network.

Just running firefox from another machine has made this laptop *heaps* more usable.

btw, it's easy to run X programs from another machine. Just ssh -X host, the -X enables X11 forwarding. It's a tiny bit more laggy over the network - but definitely better than using all that swap.

I only started doing this a couple of days ago. The downside is that I need to sync a couple of directories on my old desktop with my laptop. The .mozilla directory, and my file download directory. So when I save files with the browser running off my laptop I can access them easily from my laptop. A couple of scripts accomplish this easily. A next step is to automate this in the background. So I don't have to manually run the scripts. I think a watch type script which runs on my old desktop would work fine - or a file event using cron. Although I think just mounting my laptop home directory from the desktop box could be optimal - with maybe the firefox cache dir being mounted on my desktop box(or I could just make the disk cache at 0, and increase the firefox memory cache).

Another problem with running firefox over the network is sound. Sound doesn't seem to automatically work from firefox when running it over the network. I haven't figured this one out yet - but probably some sort of sound network daemon is needed. I don't think firefox supports network sound by itself. I'll have to investigate network sound...

Another downside is that I need my desktop machine on whilst I use my laptop. This obviously uses up more power :( Maybe even being worse for the environment than just buying a newer, more efficient laptop. However I only use it during my work day - when my requirements for the computer are higher. So it goes to sleep at night, or when ever I leave the studio. It also has the HD going to sleep, and it often runs in low power mode.

Network boot would be nice... so I could somehow just get that machine to boot from my laptop... as long as I can get a connection to the network. I haven't found anything that'll allow me to do this from a wireless connection yet. Maybe if linux was running on my router I could do it. Get my router to network boot my desktop box. In the mean time I can just get off my bum and walk over to it.

I still use my old desktop box for backing up stuff, and will probably use it for any programming that requires lots of disk space. It's also handy for testing out load balancing for web apps, and other programming tasks.

I plan to upgrade the ram on this laptop at some point... but at the moment 512MB costs around $200AUD. A tiny bit less than what I bought the laptop for. Probably worth it though.

linux 2.6.23 is looking to be a big improvement for desktop use.

I'd like to try the swap prefetch linux mods... as well as the memory compression linux mod. I think they'd speed this machine up. It's looking like linux 2.6.23 will have a few desktop fixes that help a lot - the CFS scheduler and swap prefetch.

However I think the compressed cache work has stalled since the last bit of work done on it for the google summer of code - http://linuxcompressed.sourceforge.net/ There's some interesting research, including benchmarks there for the compressed cache. It makes perfect sense a compressed cache would be faster since hitting the HD is really slow, and compression/decompression is really quick on modern CPUs. There's only a patch for 2.6.21 so I haven't tried it out.

Here's some benchmarks someone made which measures responsiveness by window moving for the new linux kernel...

vanilla 2.6.22.5:
terminal window visible: real time was 59 seconds.
terminal window covered: real time was 32 seconds.
terminal window shaded: real time was 135 seconds.
terminal window iconified: real time was 160 seconds.

2.6.22.5 with latest CFS patch applied:
terminal window visible: real time was 27 seconds.
terminal window covered: real time was 13 seconds.
terminal window shaded: real time was 21 seconds.
terminal window iconified: real time was 21 seconds.

compare to CK's -
2.6.22-ck1:
terminal window visible: real time was 25 seconds.
terminal window covered: real time was 13 seconds.
terminal window shaded: real time was 22 seconds.
terminal window iconified: real time was 22 seconds.

As you can see the 2.22.5 with latest CFS patch seems to be quite a lot more responsive than the vanilla kernel. I've got a feeling it's going to be as big a performance jump as the move from linux 2.2 to 2.4. Well I hope so anyway :)

2 comments:

Paul Boddie said...

If you have a private network, it's quite workable to set your slow laptop up to query for X session providers using XDMCP, and to configure your newer machine to be such a provider. Then you've got a thin client where most of the processing happens on a faster server (or client in X terminology). All you need on the laptop is a very basic installation with X running.

places-to-visit.info said...

For file synchronisation consider unison (http://www.cis.upenn.edu/~bcpierce/unison/)

For booting - next to me is an i586 running about 120 MHz with 48 MB of RAM. It's booted over network from LTSP server (http://www.ltsp.org).

Cd residing in drive serves as source of boot record but, for newer bioses, it's possible to boot only from net without cd or floppy.