I think that I shall never see A graph more lovely than a tree. A tree whose crucial property Is loop-free connectivity. A tree which must be sure to span. So packets can reach every LAN. First the Root must be selected By ID it is elected. Least cost paths from Root are traced In the tree these paths are placed. A mesh is made by folks like me Then bridges find a spanning tree.
from R. Perlman: An Algorithm for Distributed Computation of a Spanning Tree in an Extended LAN (PDF)
On that note: I passed my computer networks + mobile computing exam today … only two more exams and the diploma thesis left. Yay! 🙂
Just a quick heads-up to everyone who has been sending me suggestions for delicious2safari: Version 2.0 is in the works (list of planned features here), to be released before the end of this year. Thanks for your patience (and apologies if I didn’t answer your email personally, all of your suggestions have been noted).
This is our new student lab, in beta-testing since Friday. The machines run Windows XP and Ubuntu Linux.
Installation of Ubuntu is fully-automated through Debian installer preseeding. Its partitioner is replaced with a custom udeb that provides formatting for the Linux partitions, while preserving the complex partitioning scheme that Windows/Norton Ghost needs.
Updates and patches get distributed using a custom toolkit written in Python (originally designed by Fabi for RedHat-based systems). It consists of an NFS mount with directories for different classes of machines, and a script (run by cron or on-demand) that checks for new updates to the machine classes a system belongs to. Updates are represented by numbered symbolic links to files, tars, text files with package names to be installed through apt, debs, patches and shell scripts. The on-demand updating and other administrative tasks are initiated through SSH Forced Commands. The postinstall process is also done using the same system, through rc-style numbered scripts.
Each machine has a separate installation partition, containing a netboot kernel, initrd, and the machines’s boot loader (Grub) installed into its boot sector along with the associated configuration files. The installation partition is distributed by Norton Ghost (which is used by the Windows guys anyway to distribute their images), and has the “bootable” flag set. This enables Ghost to install Windows and reboot it multiple times by simply removing the flag and restoring it after installation is complete. By providing a Grub configuration file that will boot into the installation kernel with appropriate kernel parameters for preseeding, any machine running Linux can be re-installed at any time by simply mounting the installation partition and copying the special installation configuration over the normal menu.lst (of course it will have to be reset before the installation reboots for the first time, or we’ll end up in an endless cycle of base installs).
I’ll probably have more to say on this later, but here’s a random collection of “lessons learned” while setting up this lab:
- FAI and other 3rd party tools are not the only solution, plain Debian installer preseeding works too — or even better than FAI in Ubuntu’s case.
- Expert recipes for use with partman in Debian installer are unable to deal with complex partitioning setups. We use our own tiny udeb to accomplish this, and radically eliminate partman from the installation process.
- Debconf does not export DEBIAN_FRONTEND, so when using “noninteractive” as the frontend, make sure the variable is set to “noninteractive” before running anything that might use debconf (such as installing packages). Otherwise some postinstall scripts fail miserably.
- NIS password changes are broken in pam_unix in every version whose source code I’ve seen so far. I’ve modified 0.76 to make it work, but it’s hardly a good solution (otoh NIS isn’t either, and there’s a chance we won’t have to use it much longer).
- Python rocks 🙂
A while ago I posted a response to a discussion on the Mac User Groups volunteer mailing list about spyware. Opinions in the discussion ranged from claims that Macs are not in danger at all, to end-of-the-world scenarios. There was also a lot of confusion about the different types of malware that are out there. By now, my posting is all over the web, so I guess I can put it on my website as well 😉
After a great WWDC, turning in my “Studienarbeit” (first thesis) right after I got back, and being slightly sick for a week, I am back among the living, I guess 🙂
There’s still a huge backlog of emails and an even longer todo list. I’m sorry if you haven’t gotten a reply yet, I’m working on that. I also haven’t uploaded any more WWDC pictures (I will, I know some of you are waiting for them), and I haven’t had much time to try out some of the interesting stuff I learned at WWDC yet either. Working on that one, too 😉
And one more thing I didn’t think would happen just yet: A line for the ladies’ room on a technical conference (and that wasn’t the line after the keynote speech where there are lots of media reps and other non-tech people). Admittedly, it wasn’t a very long line compared to the one at the men’s room, but still 😉
The Moscone Center being decorated for WWDC:
There is also some cool sunset pictures in today’s gallery 🙂
I arrived in San Francisco last night. Some photos can be found here. Unfortunately, I slept through the middle of that beautiful sunset, and NWA also didn’t do a very good job keeping their windows clean. Otherwise, the flights with KLM and NWA were really quite enjoyable. In particular on the Airbus A330, which features a personal entertainment system where you can even play games against the other passengers. It also has laptop power in half of the economy seats 🙂
Seems some other people weren’t that lucky …
Update: Guess that makes four 😉
Total volume of music on my computer: 10 GB
The last CD I bought: I guess that must have been a used copy of “Joyride” by Roxette (yeah, laugh at me, I’m still a big fan of Roxette and that was the last album I only had on tape *g*).
Song playing right now: The Road to Mandalay by Robbie Williams
Five songs I am listening to a lot:
- Music by John Miles – do I have to say anything about this song?
- Happy by Sister Hazel – “… I’m happy but that ain’t good enough for you …”
- Pourquoi Pleueres-Tu? by Nemrud Dag – a very simple, beautiful song, just an accoustic guitar and fantastic vocals
- Love Tropicana – the theme song of the anime series “Jungle wa itsumo Hare nochi Gu”. Funny and crazy, just as the series itself 🙂
- Dust in the Wind by Kansas – still beautiful …