I just discovered a really cool new feature in Fiesty. It is called command-not-found, and it displays the package the command is in if you try to run a program that is not installed. If the program is provided by more than one package it gives a list of packages that provide the command.
On Tuesday I said a warm goodbye to Slackware 11, and installed Ubuntu on my laptop. Having not used Ubuntu in two years, I decided to give it a quick review.
The livecd booted without any problems, and soon I found myself in GNOME. I was pleasantly surprised by the hardware detection capabilities of the Ubuntu stock kernel - it found my wireless card, my SD reader, and something even configured my funny case buttons that control the volume, etc. The install process went just as smoothly. The installer asked some very basic questions and I had Ubuntu on my hard drive in no time.
Upon rebooting I discovered that the /etc/apt/sources.list did not need modifying by hand to get universe and multiverse packages, and all the special codecs, java, and flash could be installed by simply going to Applications->Add/Remove... . Installing the nVidia binary graphics drivers was just as easy, they got installed automatically when went to System->Preferences->Desktop Effects (which also gave me a shiny cube to play about with).
Another thing I like about GNOME is the funny little power graph it can draw, displaying the laptop's power use over time when I run on battery.
Despite the mostly positive experience, there is still plenty of room for improvement on Ubuntu's behalf. After installing the binary nVidia driver the text no longer fits into gdm's text boxes. I have so far sustained one X crash, which seems to have been brought down by a screen saver, and two GNOME crashes, which I think can be blamed on applets in the gnome-panel misbehaving.
Another quirk about Ubuntu I do not like is the lack of header files in normal packages. If I install a library I expect to be able compile things against it. Instead Ubuntu installed me a C compiler, but did not include any C library headers. How that can be considered as "useful" I can not say.
Also, by default the network interface names are not deterministic. This can cause problems when you have scripts that rely on eth0 being the wired interface and eth1 being the wireless interface for instance. To work around that, a simple udev modification is needed:
First create a file called /etc/udev/rules.d/10-ifaddresses.rulesThen add the following lines into it, replacing my MAC addresses with the ones in your cards (obtainable from ifconfig):
KERNEL=="eth*", SYSFS{address}=="00:12:3f:e9:1f:dc", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="00:13:ce:50:32:32", NAME="eth1"
There is no good reason this file can not be auto-generated by Ubuntu, so I consider having to do that myself to be a flaw in Ubuntu.
Finally, there is no good GNOME/Ubuntu GUI for setting up a NAT between two interfaces. iptables commands to achieve the effect are not complex, but still require a text editor and a rough idea of what you are doing. There is also no standard place for such a script to go that I could find, so I ended up using /etc/init.d/firewall, which is by my guess the Debian equivalent place of Slackware's /etc/rc.d/rc.firewall .
The book is not very typical of sci-fi works out there. Its main purpose is to draw a comparison between a Utopian anarchist society and a capitalist society. It does so by picking up a character to follow (a physicist named Shevek), and placing the him into both societies, observing both the reactions of the character to the society and of the society to the character. In doing so, the book makes some interesting points and observations, which make the book worth reading. I can not say I agree with all the points expressed in the book, but they are all expressed well enough to understand the messages the book tries to convey.
Only four stars because she could have developed the storyline a bit more.