Thursday, December 25, 2008

Coffee Roaster

Just received my christmas gift, and it's the gift that keeps giving.

Monday, December 22, 2008

Lovely art from a co-worker

Found this on the whiteboard next to my desk this morning...



... aww thanks.

Wednesday, December 10, 2008

My first fvwm module

I've been using FVWM for some time now, but have never tried writing any kind of modules to extend it. Yesterday I tried it out, and I've got my first working FVWM module.



I wrote the module in Perl, and you can view there source here. Basically what it does is capture window focus events, and will set the transparency of the window to whatever is set in a configuration file
pblair@laptop:~$ cat ~/.fvwm/fvwmPeteTrans.cfg
XTerm:0.60
The above config will set all xterminals to 60% opacity when the focus moves away from it, but will return it to complete opacity once focus returns to it.

You can add as many types of applications (one per line). For instance, Firefox has
$ xprop | grep CLASS
WM_CLASS(STRING) = "Navigator", "Firefox"
So you could either place "Navigator" or "Firefox" at the left of the colon.

To install the module, place it somewhere where the .fvwmrc ModulePath will find it, then place it into the StartFunction section:

AddToFunc StartFunction
+ I Module FvwmPeteTransFocus
+ I FvwmButtons
P.S. You need "xcompmgr" and "transset" installed. And be sure to change the absolute pathnames within the module to the respective locations on your system.

Tuesday, December 09, 2008

Guerilla Refactoring

In the world of software development, refactoring is the process of updating code (usually for the better). But the problem may exist where management sees the existing application as "good enough" and doesn't want to allocate any budget towards fixing what in their eyes "aint broke".

Enter guerilla refactoring.

I must admit that I fall victim to this. I find lots of things at work that could be expanded upon, or made better, which would drastically increase the use of the package, make it more robust, or simply more elegant and orthogonal. I ensure that it doesn't eat into my work time, and the end product is usually something that I will directly benefit from, but hopefully also something that will make someone else's life better/easier/simpler.

P.S. I recommend this podcast from NPR.

Long time no see

It's been about a year and a half since my last entry. I had lost complete interest in blogging and any self self congratulations that come with the territory.

But I'm starting to feel like I have more to share again, and I hope to see more posts here in the near future.