Hi, I'm Fuzzwah.

This site is a dumping ground for things I find interesting. If you're looking for content I've personally generated you might want to head directly to one of my other sites:

Hi, I'm Fuzzwah.

The Elements of Computing Systems

The site contains all the software tools and project materials necessary to build a general-purpose computer system from the ground up. We also provide a set of lectures designed to support a typical course on the subject.

Ubuntu Dynamic MOTD

I'm just finishing off moving all my web sites and related things from one VPS host to another. The new host had customized the message of the day on the Ubuntu 12.04 LTS image which I had installed. It had helpful links to support and what not, things that are only actually helpful the first time I logged in.

As I went through the process of removing all this I had to learn about the update-motd system, since I quickly found that the solution wasn't a simple:

$ sudo echo "" > /etc/motd

So I cooked up a bash script to spit out some information about the system every time I log into the server. The output looks like this:

!-- image ubuntu-dynamic-motd_1.png --!

Create or edit update-motd's 00-header file.

$ sudo vi /etc/update-motd.d/00-header

And here's the source of the bash script:


[ -r /etc/lsb-release ] && . /etc/lsb-release

if [ -z "$DISTRIB_DESCRIPTION" ] && [ -x /usr/bin/lsb_release ]; then  
 # Fall back to using the very slow lsb_release utility  
 DISTRIB_DESCRIPTION=$(lsb_release -s -d)  

UPTIME=`uptime | awk '{if ($4 == "day," || $4 == "days,") print $3, $4, $5; else print $3}' | awk -F: '{print $1, "hrs", $2, "mins"}' | sed 's/,//g'`

LOADAVG=`uptime | awk '{if ($4 == "day," || $4 == "days,") print $10, $11, $12; else print $8, $9, $10}'`

PROCCOUNT=`ps -l | wc -l`  
 IP=$(/sbin/ifconfig eth0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}')

echo -e "  
 ==============: System Info :===================  
 Hostname: `hostname`  
 Address: $IP  
 Kernel: `uname -r`  
 Uptime: $UPTIME  
 Load Avgs: $LOADAVG  
 Processes: $PROCCOUNT  
 ==============: Memory Info :===================  
 Total: `cat /proc/meminfo | grep MemTotal | awk {'print $2'}` kB  
 Free: `cat /proc/meminfo | grep MemFree | awk {'print $2'}` kB  
 Lowest: `cat /proc/meminfo | grep LowFree | awk {'print $2'}` kB  
 ===============: Disk Info :===================="  
 df -h

Fukushima radiation: none dead, none sick

Heard much about Fukushima lately? You know, the disaster that spread deadly contamination across Japan and spelt the end for the nuclear industry.You should have, because recent authoritative reports have reached a remarkable conclusion about a supposedly "deadly" disaster. No one died, nor is likely to die, according to the most comprehensive assessments since the Fukushima nuclear plant was hit by a massive earthquake and tsunami in March 2011.

The Banality of Don't Be Evil

The section on "repressive autocracies" describes, disapprovingly, various repressive surveillance measures: legislation to insert back doors into software to enable spying on citizens, monitoring of social networks and the collection of intelligence on entire populations. All of these are already in widespread use in the United States. In fact, some of those measures -- like the push to require every social-network profile to be linked to a real name -- were spearheaded by Google itself.

Best free courses and lectures

Not every teacher is a great teacher. Not every course is a great course. So, this list is my effort to help you separate the winners from the losers.This list of the best academic podcasts and webcasts is a work-in-progress. As I discover new courses and lectures, I add to the list. Your comments and suggestions are always welcome. Also, please let me know if you find errors or a broken link. You can contact me by leaving a comment at the end of the page. Newcomers can get up to speed by reading Getting started.For a description of my criteria for choosing a course or lecture for this list, click here. Remember: these are my opinions only. For other possible courses, check out the links to the right and the courses listed here.

University of Oxford Podcasts

This free site features public lectures, teaching material, interviews with leading academics, information about applying to the University, and much more.All the material is arranged within a series of related talks or lectures and may be in audio, video or document format.

Astronaut Chris Hadfield Photos

Chris Hadfield is a Canadian astronaut who was the first Canadian to walk in space. A former Royal Canadian Air Force fighter pilot, Hadfield has flown two space shuttle missions, STS-74 in 1995 and STS-100 in 2001, and served as capsule communicator for both Space Shuttle and International Space Station (ISS) expeditions. On 19 December 2012, Hadfield launched in the Soyuz TMA-07M flight for a long duration stay on board the ISS as part of Expedition 35. He arrived at the station on 21 December, as scheduled, and became the first Canadian to command the ISS when the crew of Expedition 34 departed. On 12 May 2013 he turned over command of the ISS, and safely returned home aboard the Soyuz spacecraft on 13 May. He received significant media exposure during his time on the ISS, and ended his time on the station by paying tribute to David Bowie with a rendition of "Space Oddity".