In this post, I’m going to discuss the status of my Haskell-oriented Mathematics Honours thesis, as well as the new Desktop Environment I’m using.
On Monday night (OK, about 2:30 AM Tuesday morning :p ) I finally finished the draft of my Honours Thesis, entitled “Graph-Theoretic Analysis of the Relationships in Discrete Data”. As part of this thesis, I wrote the Graphalyze library to assist programmers analyse discrete data using graph theory, as well as the SourceGraph programme to analyse Haskell source code. I also did a talk on this: the slides I used are available here.
I’m going to make a full, proper (and revised) announcement of the latest versions of the software after I submit the final version on Monday. However, I’d really appreciate any Haskellers reading this (indeed, anyone at all) to glance over my draft, especially in Section 3 where I talk about Haskell: my supervisor can check the mathematics side of things, but he’s a C programmer and the only thing he knows about Haskell are 1) it’s the same as Scheme (he thinks) and 2) I’m obsessed with it :p.
There are a few changes I’m going to make to it still: I want to fix a couple of extra bugs in the code that I’ve found (I noticed whilst writing the draft that somehow the root, leaf and singleton node finding functions were all identical, due to overzealous copy-pasting :s ), and I’m going to replace the XMonad example in the appendix with the analysis of the actual code I wrote.
Speaking of XMonad, up until yesterday I’ve been using it within Xfce (for which I’ve done up a wiki guide). However, I’ve become aware recently of the Lightweight X11 Desktop Environment or LXDE. I was using Xfce because I wanted the convenience of a DE without the bloat of Gnome or KDE (which I personally can’t stand anyway). Well, Xfce is a wallowing pig compared to LXDE: I was amazed when LXDE loaded almost instantly on first boot! It mightn’t have anywhere near feature list of Xfce, but to be honest I wasn’t using most of them anyway.
I installed LXDE from the official Gentoo overlay (available via [p]layman). At the moment I’m only using the released versions, though after I finish this post I might upgrade to the live versions (hey, I’m already using live XMonad, Emacs and beta Xfce, so why not? :p ). I’ll do a wiki article on using XMonad within it on the Haskell wiki in the next day or so (the configuration of which I’ve been hashing out with sereven on #xmonad). However, since LXDE is basically a bunch of apps all thrown together that are fully available seperately (unlike the other DEs), it’s relatively straightforward to replace the default WM – Openbox – with XMonad).
There are a couple of things that are still annoying me with LXDE though, but I’m hoping that they’ll soon be fixed:
- Multi-head support: despite having probably the best XRandr GUI around, other parts of LXDE aren’t multi-head aware. In particular, the panel stretches across all screens, so to restrict it to one screen I’ve had to remove quite a few items and keep it on the left rather than centred like I had Xfce’s panel.
- Quality of plugins: this is probably more of a time issue more than anything else, but I found Xfce’s GUI monitoring panel plugins more informative.
- Menu logouts: for some reason, clicking “logout” from the panel menu just restarts the menu (which does Bad Things (TM) for systray-dependent apps like nm-applet and amsn). I can’t seem to get it using lxsession-logout, which is quite nice (but I normally use XMonad to logout anyway, so it’s not that big a deal).
- No session management: I’ve become almost dependent upon Xfce’s session support remembering all the apps I had open previously: with it, I haven’t bothered with getting suspend or hibernation working, since everything I wanted was already opened. However, it seems that LXDE’s session management utility is broken, and the lxsession-lite version only works for starting apps, not remembering them. I’ve heard that smproxy from Xorg can alleviate this.
- The terminal: probably another time issue, but lxterm isn’t very configurable and has a very small memory. I’m sticking with Xfce’s Terminal for now.
- PCManFM: This is almost the one component that LXDE can’t do without. I don’t really have any complaints with it per-se, I’ve just got to get used to it instead of Thunar, though I wish there was a way I could disable Desktop icons but still let it set the wallpaper.
Most of these issues are probably just due to the newness of the project. Nevertheless, most of these are either bearable or have workable alternatives. As it stands, I’m sold: I installed LXDE thinking it would be a good backup DE/WM (in case I ever b0rk Xfce), but instead it’s become my main DE!