Posts tagged ‘linux’

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

How to view an MRI using ArchLinux

In my previous post I mentioned a knee injury and that I would like to be able to view my own MRI images on my desktop. After some googling and experimentation, I have done it.

To start off with, I’m going to mention that the images provided to me were in the DICOM format. It also appears there is a windows executable on the cd, possibly for viewing the images natively, but I didn’t check into that much so your mileage may vary if you choose that route. I managed to find a hardware¬†accelerated¬†OpenGL MRI viewer, however, it reads images in the NIfTI image format, so I had to convert. I used a program called dcm2nii to convert everything. It features a command line interface, as well as a GUI, I personally used the GUI with no issues.

After the conversion, I found myself with about 15 different images of varying resolution, angle and depth. Not being a doctor, I really had no idea what to look for in terms of diagnosing the injury. That really wasn’t my goal though. My goal was simply to see the inside of my knee, finding the injury myself would be a plus. On that hand, I think I may have found the spot on the meniscus that was torn, just bragging points if I got it right I suppose. Either way, it was still very cool to have a 3D image of my knee which I could freely move around, rotate or pull individual frames from. I highly recommend looking at your own MRIs if you have any. Just for the coolness factor of looking inside your own body.

The website which acted as a portal to all the MRI information I needed is on Chris Rorden’s web page. There are links to all of the software I mentioned as well as additional software and image format information. None of the programs I used are in the Arch Repositories or AUR, so I may package them at some point if there is a demand.

Chris Rorden’s Home

On the hunt for some MRI visualization software

In a very unfortunate turn of events two nights ago, I managed to tear my meniscus (bucket-handle on the lateral). After meeting with my orthopedic, he recommended an MRI to get a better idea of whether or not I will require surgery to repair it, I’ll be going in for that later on tonight. I also understand that the imaging center will give me a CD containing the images for me to bring to the doctor. I fully intend on at least viewing the images myself as opposed to the two weeks until my follow-up appointment.

Now I’m on the search for some way to visualize this data on my computer. I really have no knowledge on actual MRI data formats, so that will be my research project for today. What I would like to know, is there any great MRI visualization software for Arch? How can I view these images on my computer as a 3D model as opposed to the 2D slices I see sometimes?

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
Kernel26-ck Howto (Includes BFS)