Enrico Zini: First pratical lesson
Small index of commands useful for combining in pipelines:
- ls - list directory contents
- cp - copy files and directories
- mv - move (rename) files
- rm - remove files or directories
- find - search for files in a directory hierarchy
- cat - concatenate files and print on the standard output
- more - file perusal filter for crt viewing
- less - opposite of more (quit with 'q')
- cd - Change the current directory to DIR. (use "help cd" instead of "man cd")
- mkdir - make directories
- rmdir - remove empty directories
Problems found during the lesson:
- grep, egrep, fgrep, rgrep - print lines matching a pattern
- tail - output the last part of files
- head - output the first part of files
- sort - sort lines of text files
- uniq - report or omit repeated lines
- sed - stream editor
- wc - print the number of newlines, words, and bytes in files
Lots of bugs to report when I come home: from here it'll take ages, and lots of money on the hotel internet connection, and some are Ubuntu-specific so I'd need to do everything online with Malone. As usual, teaching is one of the best ways to find bugs. I propose an Etch training session a month before release. Other things to do:
You set the system default locale to Amharic, and the gdm login will be in Amharic input mode. We didn't find out how to switch it back to input roman characters. Right click on the input field to set the input method doesn't work. Since usernames are not in Amharic, you're locked out.
So you CTRL+ALT+F1, login and try dpkg-reconfigure locales. On Ubuntu Dapper, it does not work anymore.
So you dig and dig and dig and finally find that you can force a locale in /etc/default/gdm (but not in /etc/gdm/locale.conf, nor in /etc/gdm/gdm.conf).
Then the internet works for a bit and you look up how to reconfigure locales in Ubuntu. Turns out you have to use localeconf, which is not installed by default, is not in universe and thus not on the CDs, and needs to be downloaded from the Internet.
The Ubuntu wiki is all on https, which defeats any attempt of proxy caching.
An Internet proxy needs to be configured 3 times: in Gnome, in Firefox and in Synaptic (well, apt). This is especially tricky when you forgot to setup the proxy in Synaptic and seemingly unrelated applications fail, like the Ubuntu language selector, which internally invokes the package manager to download missing langpacks.
Some short descriptions in the NAME section of manpages are hard to understand, or wrong. Noted on apt-get, apt-cache and less. Top prize goes to apt-cache:
NAME apt-cache - APT package handling utility -- cache manipulator DESCRIPTION [...] apt-cache does not manipulate the state of the system but does provide operations to search and generate interesting output from the package metadata. [...]So apt-cache is a manipulator that doesn't manipulate. A possible improvement can be "query the APT package cache".The language selector in Ubuntu Breezy doesn't really exit and keeps the package database locked. This seems to be fixed in Dapper, and probably had been fixed in some Breezy update. System updates here are a problem: my Dapper (with some Universe things in it) wanted to download more than 120Mb of data, and the Uni network was giving me 14Kbps. It's been a nice opportunity to teach about fuser -uva and kill.
dict, squid and many other packages from 'main' are not on the normal Ubuntu CDs: is there an easy way to build a CD with them? Or do Ubuntu CDs with extra packages already exist? I'll have to find out.
cupsys has documentation outside of /usr/share/doc, in /usr/share/cups/doc-root.
man works on all commands, except cd, which is an internal shell command and thus needs help instead of man. I should remember to ponder about autogenerating manpages from help output.
Is there an index-like manpage with a list of the core Unix commands and their short descriptions? It there's not, it's easy to generate:
#!/bin/sh DIR=$ 1:-"/bin" ( find $DIR while read FILE do if [ -x $FILE ] && ! [ -d $FILE ] then LANG=C COLUMNS=2000 man basename $FILE \ grep ^SYNOPSIS -B 100 grep ^NAME -A 100 \ tail -n +2 head -n +2 \ grep -v '^[ \t]*$' fi done ) sort uniq sed 's/^ \+//'Try running it on /bin and /sbin: it's great!. Also, since it doesn't redirect stderr, it nicely exposes a number of manpage problems.


ThinkPad X40s are hot.
So, thanks to my parents’ immense help, I now have a hugely nice studio apartment:

To this:
It’s not called the Halfway House for nothing.
It’s been just a couple days over two weeks, and I’m doing awesome. Loving every minute, or close to it. I love the freedom of being out on my own, love having my own schedule, love dealing with getting my own food, even don’t mind doing my own laundry. Not to say I don’t love my friends and family too. But still.
Unpacking was fun. Apparently the person I’m subletting from played a tap-dancing stormtrooper in a student-written Star Wars musical. And there were… fun things left in the closet. And I couldn’t resist, if just a little.
It was beautiful for the first couple days of being down here, but lately it’s been not as good - muggy, hazy, too hot, etc. Though today was better than the last couple. Here’s Boston from Cambridge, two weeks ago:
My house isn’t air-conditioned, but the Media Lab is — so it works out okay since I spend the middle part of my day there anyhow. I’ve been thinking about getting a window AC unit, but the trouble with relying solely on bike, public transport, and foot to get around is that it’s a pain in the ass to move around large objects.
I love the Debian scene down here too. There are some great people, and since the rest of my college class doesn’t arrive until August, I’ve mostly been hanging out with them. There’s this bizarre feeling of connection with other Debian people. Not to mention I’d already met some of them when I was down in April.
Last Friday I went out and biked around Boston with Boston’s
And afterward there was an
They were pretty damn nice, if I don’t say so myself. The weather held up as decent, and although the ferry out from Boston costs money, the inter-island shuttle is free for moochers who want to cruise from island to island around the harbor. The islands weren’t even that crowded, which was surprising considering their proximity to Boston and abundance of pretty nice beaches.
Of course, come August it will probably become impossible for me to hang out with Debian people 5/7 days a week. So, gotta stock up… y’know, before they kick me out and stop feeding me awesome vegetarian food…