Haskell, Uni

Graph Theoretic Analysis of Relationships within Discrete Data

The title of this post is that of my Mathematics Honours Thesis, the final version of which I submitted (in triplicate!) this morning! 😀

Continue reading


Getting Real World Haskell Down Under

Are you an Australian and want to order yourself a copy of Real World Haskell? More importantly, want to do so relatively cheaply?

Most bookstores seem to be selling pre-orders of RWH from $80 to $90, which doesn’t seem fair when comparing this to the Amazon US price of US$40 (even though you can read it for free online!).

However, I’ve just managed to find an online bookstore that’s selling pre-orders for $55, which is much closer to the Amazon price!

Delivery is free, and there’s no GST (because it appears that they’re actually based in New Zealand). Also, it looks like if someone refers you to that page, you can get an extra $10 off. If you’d like a referal, leave a comment or ask me on #haskell on Freenode.

Note: no, I’m not doing any affiliate program or the like to get money off you buying it… Fishpond’s affiliate program requires the purchaser to buy $100 worth to give me $10 credit… which would probably expire in 30 days anyway 😦

Gentoo, Haskell, XMonad


I’ve been following the XMonad project recently. For those of you who don’t know what XMonad is, I recommend you have a browse through the home page and it’s Wikipedia article. I’ve been planning on playing with XMonad for a while, though my initial plans were to wait till I bought myself a new über box to use in conjunction with my laptop. However, I decided to delay purchasing a new computer (because I couldn’t decide which CPU to get, not due to lack of cash) but couldn’t delay using XMonad any further.

Square that X!

One problem I’ve always had with all the XMonad screenshots I’d seen was that to my mind, dzen and xmobar look rather ugly to me, though this could be due to everyone loving dark colours for their setup. Personally, I much prefer a live graphical image of the various meters, etc. that I have residing on my panels.

Since I heard that KDE 4.0 was going to be released soon (this was around the 9th of January when I started this), I thought I’d do one better than Spencer Janssen’s usage of kicker with XMonad and actually use the full KDE environment with XMonad replacing kwin. After all, if it’s possible to integrate XMonad into Gnome, doing it with KDE should be possible. However, I got sick of waiting for the release date and decided to install version 3.5.8 instead.

Whilst I prefer KDE to Gnome, in the end I couldn’t stand using KDE either. So I decided to go back to using Xfce 4.4, which I’ve been using since one of its betas. I quite like Xfce: for a Desktop Environment, it’s rather responsive and fast. My only complaints is that sometimes it’s too simplistic: so to change an autostart application I have to manually edit the file rather than using the GUI; and some Gnome-oriented apps keep dumbing down. So I decided to combine Xfce with XMonad to form X2Monad (though it turns out gour on #gentoo-haskell has been doing this for a while already without telling anyone).

So why use a DE?

First of all, why not? :p Sure, most people use XMonad in a very minimalistic-environment. However, I’ve become used to having an overall set of applications that integrate nicely, with a consistent manner for configuration (including setting the theme, etc.). Furthermore, I quite like the Xfce panels and the plugins for them (more so than kicker & co.).

Secondly, I’ve found that DEs have better menus and have them by default. Whilst I don’t use the menu often, it is often useful to get an idea of what’s installed and what the name of a particular program you have is (I’ve done this before where I installed something, decided I didn’t like it but couldn’t remember what it was called to uninstall it).

Finally, I want to use a DE with XMonad because I can… that’s the beauty of FLOSS! Especially when you bring in Gentoo’s USE-flags, etc.

How to setup Xfce and XMonad to play nicely together.