Posts tagged ‘speed’

Thoughts after a few months of xmonad

To be honest, when I first installed xmonad, I didn’t think I would like it. I felt it had too high of a learning curve and wouldn’t be worth my initial investment. I was quite wrong, I think my search for the “perfect window-manager” may be over, at least for now.

Xmonad is a dynamic tiling window manager. It’s basic job is to manage placement of your windows, however, it can be extended to incorporate many other features such as virtual desktops, transparency and panels. By default Xmonad comes with a very minimal install, you will have no window decorations or status bars. Most users will require some level of customization to reach the desired level of functionality.

Xmonad is configured using a haskell configuration file, which you will recompile and then reload (on-the-fly, no logout required). Rinse & repeat as necessary. I’ve personally always been a bit afraid of haskell’s syntax, and still don’t really understand any of it, but I’ve figured enough out to properly configure my setup. I spent the better part of a few weekends deep in the documentation for xmonad and pulling different bits from any other xmonad.hs file I could find online. Many times this resulted in a non-working configuration, but sure enough I figured it out. Right now my configuration is working, is somewhat documented and (I think) has a decent framework to add extra functionality later on.

Most users would also like to have a panel, or even a place for status icons to sit. Following the minimalistic approach, Xmonad does not include these features in it’s core. When there is a will, there’s a way though. Xmobar is the software I am using to provide a system panel. Trayer is the software I use to provide a status icon area. Both pieces of software are very well documented, and in my experience, very easy to integrate with your Xmonad configuration

As far as performance and stability, I don’t recall having any issues whatsoever. Even at the times when my system is under a full load, xmonad still performs quickly and reliably. I also don’t think xmonad has ever actually crashed on me, except for a few botched config files of my own doing. It definitely puts your mind at ease when you feel like the system is rock solid beneath you.

Going back to the extra functionality, I haven’t found anything more I could want. Sure, I spent a week or two adding all the bells & whistles to mess around. And sure enough, I’d end up removing them to clear some of the clutter. I’ve decided to take a bare-bones approach to window-management from now on.

Xmonad Desktop July 2011

Xmonad Desktop July 2011

Xmonad Homepage
Xmobar Homepage
My xmonad.hs
My xmobarrc

A quick introduction to PDNSD

A few months ago, back while getting ArchLinux set up on my main system, I stumbled across a very nice piece of software. It is a DNS server proxy which will cache it’s results for near instant DNS lookups after the first. The software I am speaking of is pdnsd. The arch wiki has a very detailed guide to installing and configuring the software, a link is provided at the bottom.

After using this software for some time, I can say it seems to make my internet access a little snappier. Of course actual download speeds aren’t effected, but once a site is in the DNS cache I can sometimes get almost a quarter of a second quicker on the DNS lookup. It just makes the internet feel a little more responsive and leaves me overall feeling pleased with it’s performance.

One thing I do have to mention. I use network manager to access my wireless network and I had pdnsd set up properly for a while, but network manager was setup to use whatever dhcp provided. The issue wasn’t totally apparent at first, but all remaining bits of lag in Firefox seemed to disappear after I changed that setting.

Is there anyone else who regularly uses pdnsd, or another dns cache system? I’ve tried a few others without satisfactory results as with pdnsd so any feedback would be interesting to hear.

pdnsd homepage
Arch wiki – pdnsd

Thoughts on BFS

The CPU governor is a piece of software in the kernel which splits up your processors speed into time-based slices and then distributes these slices to the processes running on your system. In reality things are much more complicated than that, but an in-depth knowledge of their function is not required.

The BFS, or Brain Fuck Scheduler, is an alternative to the CPU governor included by the linux kernel by default. It is currently available as a set of patches to the linux kernel, or possibly as a pre-compiled kernel for your architecture/distribution. I haven’t had much luck installing the kernel packages. My first issue was with getting the proper packages installed, which took slightly longer than it should have due to a simple type that took me all day to catch. The next issue I ran into was with upgrades, it just didn’t seem to work properly. I kept running into circular dependencies and version mismatches and such. The main packages giving me issues would have been ‘nvidia-ck-k8′ and the VirtualBox ck-k8 kernel modules.

For the week or so that everything worked though, it was wonderful. BFS seemed to virtually eliminate lag. I was finally able to go tab-crazy in firefox, play minecraft and run a folding@home client without any noticeable lag. BFS does its job very, very well right out of the box. I felt no need to tweak anything at all.

In the end it was continued issues with the nvidia driver upgrades that caused me to go back to the stock kernel packages and thus the stock CPU governor. The difference is hardly noticeable as long as I keep the folding@home client closed and keep the number of tabs down in firefox.

I’ll probably be trying out the packages again in another week or two, just to see how things are coming along. I’d really enjoy using this cpu governor as my default. You probably will too, go give it a try!

Download patches & other files
BFS Introduction
BFS FAQ’s
Kernel26-ck Howto (Includes BFS)