Why I Switched Back from Arch to Ubuntu

While I've had a great deal of fun using Arch Linux I've decided to go back to Ubuntu. The biggest reason why? All the recent changes to Linux to create Ubuntu Karmic and the changes being proposed for Ubuntu Lucid. While what can be customize in Arch is fantastic and the wiki, tutorials and community are incredibly helpful, somethings are just too involved to build and too enticing to avoid. But in Ubuntu these things are getting integrated into the default distro so that anyone can use them.

Day of Conky

The Day of Ubuntu wallpaper is a beautiful and subtle transitioning wallpaper that makes your desktop scene of a tree in a field change with the passing of time. To complement this effect I've written a conky configuration that changes colour along with it.

Gnome-panel Transparency Without Shadow

Enabling desktop effects in Ubuntu can be a beautiful thing but it's default handling of window shadows with another effect I like to have which is to make my panel transparent. While I like having my windows make shadows (it makes them look more 3D), I hate it when my transparent panel casts one too.

Missing GPG Key?

Today I was installing Ubuntu on my new laptop (my Compaq F700 was sadly destroyed by extensive hardware failure for no apparent reason; the motherboard, hard drive and possibly everything else is all gone. It's been replaced by a shiny new Asus K60). I missed grabbing the GPG key for a new source I was installing. Rather than go track that down I found a more general solution for any missing GPG key.

Installing XPCE Prolog in Ubuntu

One of my current coding projects at UBC right now is designing a program to help someone play the board game Clue (aka. Cluedo). I can't give away any of the implementation details because part of our grade will depend on how well our program helps us play against the other teams, but I just wanted to share how I got XPCE (the graphical user interface library for Prolog) to work under Ubuntu as it doesn't by default. I did find some help online but it took me a while to understand what this guy meant when he explained the fix. Hopefully I can clear up how to do it.

Guide to Setting Up the Perfect Karmic Desktop

Mostly for my own benefit I'm going to describe the process I go through to setup my desktop on a new install of Ubuntu 9.10 (Karmic Koala). The benefit for myself is that if anything goes horribly wrong, a reinstall becomes incredibly easy as everything I've done is written down in one place.

Functional Programming Languages, Code Readability and Multi-core Processors

Two of my computer science courses this year have to do with learning functional programming languages. The other day (actually about a month ago, this post has taken me a while to write as I've got plenty of school work to do and that's taken precedence) one of my professors mentioned that first year computer science courses were now teaching Scheme instead of the Java I learned at the time. More and more I come across mentions of Functional Programming Languages (FPLs) and how they're the next big thing. But why? And what makes them so different from the Java and C++ and other imperative programming languages (IPLs) that I've learned?

Robots Learning and Moving Smoothly

Just wanted to talk about a couple really cool robots. First off, ASIMO. Honda's brainchild is smart little fella. He sees in 3D, can judge distances, direction and speed of multiple moving objects. He can recognize voices, faces and hand gestures, objects and terrain. He talks and he learns.

Favorite Blogs

I love my Google Reader. I follow quite a few blogs and there's no way I would be able to keep track of them all (and stay sane) without it. I thought I'd share some of my favorites today and get you edu-ma-cated.

Lucid Dreams

Today's post is a slight departure from the usual computer related blogging. I found a tutorial on how to improve your chances of having a lucid dream which sounded like a bunch of fun. These are really cool dreams in which you're aware that you're dreaming. You can then take control of your dream and change things to what you want them to be. Awesome eh?

Phase of the Moon Bug

There are some software bugs that involve conditions so strange and complicated no one can understands their causes. Their bug reports usual say 'depends on this, this, that and the phase of the moon'. While they have a cute name they are anything but to solve. What have been cute are bugs that really do depend on the phase of the moon!

When you're done with that, check out these other unusual software bugs.

Fotoxx and kornelix

First off, I have to give a shout out to kornelix, sole developer of the fantastic image editing program fotoxx and other projects. Not only has he developed a light weight, easy to use and amazingly powerful photo editing application, but he's incredibly easy to get a hold of for bug reports and feature requests. And even faster at implementing those changes.

Arch Quickest in Publish to Package

I've been relatively busy lately, planning my trip and hanging out with all the friends I won't see during my month away, and I've fallen behind on the blogging. I apologize, but I'm not sorry =)

Just thought I'd post an interesting link today showing just how fantastic Arch Linux is. Because of it's rolling release model, Arch is always trying to hold in its repositories the newest release of any piece of software. Open Source Watershed has some numbers now on just how fast Arch is kept up to date in comparison to other distros, especially those that don't follow a rolling release.

Swiftweasel and Add-on Collections

I decided to move over to Swiftweasel for the majority of my web browsing needs. The performance boost given by the processor optimizations isn't very big but I'll try anything if it makes my system faster =P (Side Note: I chose Swiftweasel over Swiftfox because it's AUR package was up to date, while Swiftfox was still based on 3.0. They are essentially the same thing.)

Resizing Openbox Windows

Alt + Right Click resizes window! (At least in Openbox, I don't know about other window managers) This ground breaking revelation was shown to me by iggykoopa. Many thank yous, my man!


If you don't use it already, you've probably at least heard of the Firefox extension: Greasemonkey. Its a powerful tool that lets you use JavaScript to change the way webpages display.

Writeback Journalling

ext3 and ext4 have 3 ways of journalling data: writeback, ordered and journal modes. By default most distros use ordered. However in most cases writeback mode will give faster performance. So I'll show you how to switch over. Check out a more detailed explanation of these journalling options.

Firefox 3.5 Extensions

A few of my extensions are incompatible with the newest version of Firefox. So when I upgraded they got axed. Thankfully some have now returned or have been worked around.

Custom Kernel Update

So I've started the research phase of creating my own kernel. Going to do this nice and slow and try and get it right, the first time around. My goals are:
  • Built in hardware support (eliminates need for initramfs during boot)
  • Optimise for my hardware (and cut out everything else)

Germany, booting and Firefox 3.5

So, I'm pretty much all set for my trip to Germany at the end of the month. Yes, I'm going to spend nearly a month over seas! I'm so excited. The first couple weeks I'll be in Heidleberg brushing up on my German at the did deutsch-institut. The institut hooked me up with a (hopefully friendly) family for room and board while I study. After that, its off on my own for a couple weeks, exploring Germany. The flight is booked and today I just bought a handy travel guide: Let's Go Germany (on a budget). Flipping through it at Chapters, there's a ton of information on where to go, where to stay, what to do and how to save money. Cause travelling isn't cheap. And I'm on a student's budget. Still I think I'll be prepared by takeoff.


Found an interesting post in the Arch Forums on how to auto-login and start X on boot. I wouldn't suggest using this by default (I've only used it to time my preload tests). Depending on where you keep your computer and whether it's a laptop (like mine) that you take out in public, it can be quite a security risk, allowing anyone who can push your power button access to all your files.

Tag Cloud

Found a really easy tutorial on how to implement a Tag Cloud widget in Blogger.

Clouds display, in a very intuitive way, which subjects the writer is most passionate about. In my case: How tos, Linux and Performance. No need for a long list of bracketed numbers. Its all much cleaner and clearer with a cloud.

Bash aliases and functions

Aliases are a great thing to put into your ~/.bashrc or ~/.bash_aliases file to speed up your use of the command line and functions are even better. So I'm going to share a few that I've collected and created.

HPET problems

I have a Compaq Presario F700 laptop. I love it. The only issue I've run into with it, that's hard ware related, is a weird tendency for the boot process to stutter while under battery power. When not plugged in and booting there are several points where it freezes and I have to press a key to get it to continue booting. This happened both while running Ubuntu 8.10 and 9.04 and Arch, each with the latest kernel at the time. So I'm pretty sure it isn't software related.

Opera with some Firefox extensions

Opera is an amazing web browser that's long been overshadowed by Firefox. I've been switching back and forth between the two for ages now and can never seem to make up my mind. Its mostly been a contest between Firefox's extensions and Opera's speed. I've always felt that Opera was slightly faster but Firefox's extensions made up for it with increased functionality. Today's post is about mimicking the functionality of some of Firefox's extensions in Opera.

Lightweight Login

I have a fascination with lightweight software. To me they just make sense. Why use a flashier application if all the needed functionality exists in a less resource intensive program?


I love writing tutorials. But lately I've been thinking. Sure, its great how a tutorial shows another person how to do some cool trick you've just figured out, but its not really teaching them how to do tricks of their own.


Preload is an daemon that monitors which programs you use most often. And when the system is idle it loads them into memory, speeding up their startup times when you do run them.

atime, relatime and noatime

Most filesystems take note of the last time a file was accessed, this is known as atime. The downside of always knowing when the file was last accessed is that even if you don't change any of the data within the file, the disk still has to write the new atime information. Atime updates are a terrible waste of time. It turns read-only operations into writes just to keep atime up to date. So with the release of the 2.6.20 Linux kernel relatime was introduced. relatime only updates whenever the file data is changed. Atime was still default until the recent release of the 2.6.30 kernel where relatime became the default.

Transformers 2 and Merging

I saw Transformers: Revenge of the Fallen on opening night. It was pretty not bad. CG was amazing as expected, plenty of explosions and action and Megan Fox was hotter than ever. A few things I didn't like about the movie though (Warning: spoilers):

Kernel Hooks

Arch Linux is really great for easily changing system settings, even more so than most Linux distros. One thing I've been playing around with recently is trimming the size of my initramfs to speed up my boot process. Its not that its slow (~20secs to desktop) just that its there and I love to tweak things =P

New Blog!

This is my 2nd blog. The first was fun but based on too restrictive a subject matter. There are sooo many blogs already devoted to Linux tutorials out there. So I've created: We Are All Robots, a blog about anything I damned well please! Well almost anything, I'm a computer geek learning more and more about computers every day. A large part of my posts will obviously be about technology and my personal experiences with it. And I'll probably still write tutorials, because its fun to teach people something cool you've just discovered. And I'll probably write mostly about Linux, because its so freaking cool! So pretty much this is the same blog as the first but with a better name =P