A productive first day of my holiday

Today was a day for doing computer-related things. I’ve had a brief play with Gnome 3 and Unity (again), and still found both of them getting in my way a lot more than I’m used to. I will persevere though, because I figure that eventually I’ll end up using one or the other, and could actually do with knowing about both.

I also took advantage of having my very fast work laptop with me and built a few virtual machines as part of a personal project that I’ll write about in more detail at some point soon. Suffice to say, using the Macbook Pro was remarkably painless, and it really does offer a viable Unix development environment, especially when working with Virtualbox (which I work with a lot). I’m also 75% towards getting Unity and Gnome 3 running virtually (both have fairly steep graphics requirements), and I’m hopeful I’ll be able to build something that other people could use before the end of my Easter break.

Apart from that I’ve done very little, but have plans for the next two days so should be out and about a bit more.

Life on the bleeding edge

I love new things.

I still get that thrill when I buy a new piece of hardware or download a new piece of software.

I still run the latest version of Ubuntu on my laptop and my netbook, and generally upgrade to the next release whilst it is still in beta.

The only drawback with this is that I occasionally run into the sort of bugs that new software is well known for. It’s been a while since I’ve come across a show-stopper, but there have been occasions where running bleeding edge software has hampered my productivity somewhat.

I’ve also recently come to the revelation that whilst I love new software, I’m also very keen on making my desktop look and feel the same no matter what operating system I’m using. Which is why it’s often very difficult to tell what version of Linux I’m running, as I tend to have a very minimalistic looking desktop that is probably quite close to how it looked in 2005 (and also quite close to how Debian 6 looks today). I also tend to use the same wallpaper on all my computers (regardless of OS) which can also muddy the water a bit.

What I seem to be moving towards now is running the latest released software at home, and dual booting between something stable and something experimental at work (where I do need to keep up with the bleeding edge of whatever I’m working on, which at time of writing is Mac OS X and Ubuntu). This ensures that I have a stable platform to use for email, writing documents etc, but that I also have the latest builds of Ubuntu and Mac OS X running on real hardware so I can iron out any potential support issues early on. I also have at least 10 virtual machines that I use regularly, and I wonder how I ever got by without Virtualbox (actually the computer graveyard in our spare room offers some clues).

What kicked of this train of thought was Ubuntu 11.04, which ships with a new default desktop called Unity. I’ve had a play with it, and don’t hate it as much as I thought I would, although I’m glad I can still make a fresh install look exactly like my existing desktop in under 5 minutes. It does seem like a further step towards the UI of Mac OS X, but as someone who has always preferred that to Windows then I don’t mind that at all. I’m still not sold on dark themes, but as I’ve said many times, these things can be changed easily.

So yes, another version of Ubuntu that I can work with and will upgrade to on my home machine. I might also spend some more time with Unity to see if it’s something that I can one day grow to love. Of course, I also wouldn’t say no to a new Mac once Lion is out, but I do get to use quite powerful Macs at work at present, which does scratch the OS X itch for now.

New ways of doing old things

This weekend I decided to try and use different tools to perform my usual computer-based tasks.

Yesterday, I tried to do everything in Mac OS X (Leopard), and also tested out Thunderbird 3. I reckon I could live with a Mac as my only computer, and the only thing that bugged me was the speed (my Mac is somewhat ancient now). I especially liked iCal, and how it integrates perfectly with the Google calendars that map out my whole life, and I love the way OS X renders fonts and colours. Thunderbird 3 was a nice surprise, and I love the way it integrates with Gmail. Maybe I’ll consider switching back to Thunderbird the next time Evolution does something to annoy me.

Today I’ve been using the daily build of Chromium on my netbook. It’s seriously faster than Firefox, and I’m finding that I can do pretty much everything I need to do without a plethora of extensions. This might be one to keep I think.

I’m also having monitor envy. Or possibly screen resolution envy. I think I may be nearly ready to consider spending my day looking at something larger than a laptop screen.

Setting up a quick and easy virtual web server

I did a fair bit of work on this about a year ago, and then never got round to writing it up. What I was trying to achieve was to have a minimal virtual server running in VirtualBox, which could been seen from the outside world and would appear to all extent and purposes to be a real physical machine.

Start off by creating a new VM. I went with a totally stripped down installation of Ubuntu (from the alternative CD), adding just openssh-server and apache2 to the default install. I called it Ubuntu Minimal (the name will become important later).

Boot up the new VM, and then on the host machine enter the following commands (replacing the name of the VM with what you decided to call yours):

VBoxManage setextradata "Ubuntu Minimal" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2222
VBoxManage setextradata "Ubuntu Minimal" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22
VBoxManage setextradata "Ubuntu Minimal" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP
VBoxManage setextradata "Ubuntu Minimal" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache2/HostPort" 8008
VBoxManage setextradata "Ubuntu Minimal" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache2/GuestPort" 80
VBoxManage setextradata "Ubuntu Minimal" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache2/Protocol" TCP

Power down the VM, start it up again, and then you should be able to ssh into it on port 2222 and pull up apache’s “it works!” page by browsing to http://localhost:8008. At that point you can install web apps and do whatever else you want with the server.

It doesn’t take up a great deal of memory, so you could probably have a couple of these running on most computers without any obvious performance degradation.

A brief life update

This week I’ve largely been:

  • Listening to the new albums by The Flaming Lips, Atlas Sound, Charlotte Hatherley and Broadcast (all of which I’m really enjoying)
  • Updating my main workstation to Ubuntu 9.10
  • Learning about Google Wave
  • Trying to juggle various work tasks (and not dropping anything hopefully).

Oh, and I still hate this time of year. Even though we had no annoying begging children this year, there is still the firework-hating dog to deal with.

A few words on Operating Systems

To me, Windows 7 doesn’t seem much of an improvement on Vista. What is does do is return to making me think that the look and feel was modelled on a child’s toy. With XP it was Fisher Price, with Vista it was some flashy Japanese toy that looked good but no-one played with. And with 7 it is Lego. Just look at the dock and tell me I’m not right.

What with Snow Leopard being underwhelming, and Windows 7 not exactly making me want to switch back, I think Ubuntu 9.10 has me totally sold in the Autumn 2009 OS wars.

But there again, I’m ever so slightly biased.

The Art of Community

I’ve written about this before, but after reading the whole book this weekend I thought it was worth another mention.

It’s a book about communities, written by Jono Bacon (Ubuntu’s Community Manager). What I like about it is that it gives a great insight on what it is like to be part of a community where creative people work together to make something great, but where the reward is not financial. I think anyone who is involved in any sort of voluntary activity would get something out of it, and I’m certainly looking at my own community involvement in a new light as a result of reading it.

The Art of Community is available to buy (or to download for free) from http://www.artofcommunityonline.org/.

Sensible window sizes on Dell’s version of Ubuntu

I love my Dell Mini, but there are a couple of “features” added by Dell that drive me mad. One of these is called Maximus. It’s an application that tells any window that opens on the desktop to open full-screen. It’s particularly annoying with applications I’ve added myself (like Empathy), as the default applications seem preconfigured to ignore it. I’ve had a poke around in gconf-editor (install it with sudo apt-get install gconf-editor if it doesn’t exist already), and the key that needs editing is called /apps/maximus/exclude_class (see below for details):

Screenshot

It’s basically a list of applications that open with the same window size they closed with rather than open in full-screen.

Double click on the key, and you should get the following dialogue:

Screenshot-Edit Key

Click on the plus button, and add whatever applications you need as shown below:

Screenshot-Add New List Entry

Then click on OK. Next time you open the applications in question they should honour your desired window size.

Exploring Suse Studio

I’ve had an account on http://susestudio.com/ for a few weeks now, but have only really had a couple of chances to play with it. The basic idea behind the site is that anyone should be able to create a customised Linux distribution that perfectly suits their needs (providing those needs involve openSUSE 11.1 or SUSE Linux Enterprise 10 or 11). Normally I do this sort of work on Ubuntu, using Ubuntu Customisation Kit, as detailed in a previous post. This suits me, because I use Ubuntu in a production environment and it makes things easy. But I was interested in how this new software would work for someone who had never used openSUSE for more than a few minutes.

Ubuntu Customisation Kit does everything on the host machine, and only uses the Internet to pull new/updated packages in. This is light on bandwidth for tweaks, but heavier if you’re making major changes. Suse Studio does things the opposite way round, in that all the building and updating is done on the web, and you then download the finished .iso image. It’s slightly heavier on bandwidth overall, but did allow me to do a lot of the build work from my netbook in the foyer of a hotel in London, as all you need is a web browser and a net connection.

I ended up building three different versions of openSUSE, to suit three specific needs I occasionally have:

  1. Gnome, with a web browser (firefox), a terminal (gnome-terminal), dropbox preinstalled, and a couple of work-specific scripts for mounting drives and backing up data. This is a configuration we use at work for data recovery (currently based on Ubuntu 8.04). This was painless to set up, came in at 348Mb, and worked well.
  2. A showcase for KDE4. I’m not a big fan of KDE, but it’s always useful to have a VM kicking around to show people what it is like. This was on the same level of detail as the Gnome one, and came in at 350mb. I think I might actually be able to use this to get things done, as it takes away a lot of the un-instinctive KDE apps whilst leaving the very pretty and functional base.
  3. An image containing the applications I use every day, which would act as a basis for reinstalling my home or work laptop (both currently running Ubuntu 9.04). This contains Firefox, Thunderbird, OpenOffice.org, Empathy, Rhythmbox, Gedit and gnome-terminal, and was still only 484mb (300Mb less than the version of Ubuntu I install from usually).

So yes, all three experiments worked, and while I’ve not tried to use them to get things done yet, I have successfully installed all three as virtual machines and they seem to work as expected.

I think most people could use Suse Studio, and it acts as a good way to learn the basics of how a distribution is put together. I very much expect to see the code base from this project move in interesting directions in the next few months, and I’d be surprised if we don’t see similar projects getting off the ground soon.