Archive for July 2011

All my computer does anymore is fold proteins

The last month has been fairly painful for me. My leg currently sits wrapped in several layers of gauze with an immobilizer surrounding it all to keep me from moving it. This is because of the surgery I recently went through to repair a torn meniscus. For the last few days it has felt like there is hot lava pouring out of my leg through the incisions and my arms feel like they’re going to fall off from walking on crutches. But the worst (I think) is now over. I’m very thankful to say everything feels like it’s healing properly, I’m just waiting for the doctor to see it tomorrow and tell me exactly how long I’ll be like this.

Due to the fact that I cannot at all bend my left knee, it gets very painful to sit at my computer for more than about fifteen minutes at a time. About all that I’ve done on my computer recently is watch my computer bust out Folding@Home workunits and mess around with Google+.  I’ve also decided to move on from xmonad in search of something a little more casual. I’ve since fallen in love with Fluxbox & conky. I like the more casual approach to computing. It almost feels more fun. It almost feels more natural to size and place windows all over the desktop, as opposed to the tiling I’ve done over the last few months.

Aside from all of that, I’ve been thinking I want to get back into programming. I don’t really want to learn something new, just expand my current knowledge. I figure let’s go back to the basics, my first real interest in programming was with C++. I already have a great grasp over the basics and a decent understanding up to pointers and object oriented programming, so why not go for broke? I want to master C++ by the time I recover from this injury.

I’d like to ask you, reader, what are your favorite C++ programming resources? I would like to do some touch-ups to my basic skill set and then delve into more advanced articles and examples. Do you have any recommendations for projects, articles, chat rooms, anything? Does anyone have some words of wisdom for staying on track with projects? I’ve noticed in the past many times I would start off a project great and just burn-out or lose interest. How do you combat that?

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