Category Archives: For Fun

Panorama’s With Hugin

This past weekend I went home to Vermont for a few days, to relax and decompress from my busy life on co-op. While there, I did some things that I love, hiking and photography. Now that I have my new camera and tri-pod, I can do things I was unable to before. On Friday I hiked Mt. Cardigan in the White Mountains, and on the top, I took a 360 degree panorama, hoping to use Hugin to stitch it all back into one large image. When I returned to my computer, I installed Hugin, and dove right in, stepping through each tab, selecting control points, optimizing, adjusting the exposure and finally, stitching. I ran into two errors on my Xubuntu 8.10 (i386) laptop, first, the enfuse application was not installed automatically (due to a package move), and second, when I installed enfuse, the panorama turned out all curvy, like a sideways ‘s’. To install enfuse, I downloaded the jaunty .deb package from here and used dpkg to install it. After tinkering for a while with settings to try and reduce the curvature, I tried returning to the first tab, which was an assistant of sorts, to see if it would help me. I clicked on the align and stitch buttons, and sure enough,a preview window of the panorama appeared, as straight as an arrow! Now that I got the process down, I’ve been taking a number of panorama’s (full 360s or partials) and put them on my Flickr.



Why Better is Not Always Best

There has been a long debate on Windows versus Linux, Mac versus Windows, Apples versus Oranges, etc… I’m going to add my two cents to the fray, but in a way that looks at how each OS plays its role.

Windows: This is the dominant OS, it may not follow industry standards, but regardless is the norm. It has a horrid reputation for security as it is still trying to support legacy applications. It is also buggy, and a pain to develop on, however, the .NET framework is a step in the right direction. Windows made a rise when it was able to make computing both affordable, and simple, it wasn’t perfect, but it was good enough for its users.

Mac: Apple started out lost, using the shotgun approach to selling computers, many different models with very slight differences. However, once Steve Jobs trimmed down the breadth of choices and OS X came out, they had finally hit the sweet spot, selling powerful, easy to use software on high quality hardware. They are in the best position to take the lead, if they can lower their price points, as they will never be able to compete with a $200 computer from Dell. I’d suggest they release some very low end netbooks and cheap desktops to gain market share in both the education sector and as a computer for the ‘basic user’, those who only checks their email and surfs the web.

Linux: An oddball to say the least, it has been mostly community developed since its inception. Very popular with servers and more computer literate users, it still has very little market share. While there may be evidence to support it being the ‘best’ operating system, best is inherently subjective, Linux is made by technically savvy users for themselves, it is just now being looked at from a average user standpoint. While I prefer Linux, I also would consider myself a pretty technically skilled user, therefore enjoy the challenges of getting my system running perfectly, and the customizations it exposes. Linux has a long way to go before it will be considered viable for the average user, as most of the development is to make it better for the current userbase, not the one that doesn’t use it.

Well, now that I’m sure I’ve angered a number of people (please comment, I do like reading responses), I will end this post having put in my two cents, but very eager to see how the next few years change the playing field.

Peace and chow,


Happy Holidays

Just taking a quick break from my holiday festivity preparations to wish everyone a happy holiday season, regardless of what that is, or what that means to you. I will hopefully will be posting some news about my projects, and other exciting technical ventures soon, so hang tight.

Peace and chow,


My Minimalist Firefox Configuration

After installing the new beta of Firefox 3.1, I spent some time tinkering with it to get as much screen real estate as possible, using keyboard shortcuts instead of buttons. Here is a screen shot of my browser in full-screen mode (hit F11 to access). I also wrote a script to automatically update the install.rdf files in extensions so they’ll work in the new beta. As you can see, I was able to:

  • Remove the scroll-bars
  • Remove the menu bar
  • Remove the address bar and all the buttons

Which left just the button status bar (which is easy to remove from the view menu) and the tab bar which auto hides unless you mouse over it. To remove these unneeded UI elements, I followed the following steps:

  1. To remove the scroll-bars, open %FIREFOXHOME%/chrome/classic.jar and navigate to /skin/classic/global/, then edit the file scrollbars.css, replacing:
    scrollbar {
    -moz-appearance: scrollbartrack-horizontal;
    -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
    cursor: default;
    background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
    -moz-appearance: scrollbartrack-vertical;

    scrollbar {
    display: none;
    -moz-appearance: none;
    Then save those changes and re-jar the file.
  2. To remove the bars at the top, simply right click on the blank space on the menu bar and uncheck all the options.
  3. To remove the menu bar, you’ll need to install this extension which will make the menu bar hide (which you can toggle with the alt key)

Now you should have a minimalist Firefox setup for maximum viewing pleasure. Some important keyboard shortcuts are listed below:

  • <CTRL>-T – Open a new tab
  • <CTRL>-L – Navigate to a URL
  • <CTRL>-<TAB> – Switch between tabs
  • <CTRL>-W – Close a tab
  • <CTRL>-<SHIFT>-T – Open a recently closed tab
  • <ALT>-<HOME> – Go home
  • <ALT>-<RIGHTARROW> – Go forward
  • <ALT>-<LEFTARROW> – Go back
  • <ESC> – Stop a page from reloading
  • F5 or <CTRL>-R – Reload a page

Hope you find this useful, if you have comments or other setups you like, feel free to comment below.

Peace and chow,


FANG Version 0.1 Released!

I spent my birthday yesterday polishing up FANG for it’s initial release to the public, after adding some error handling so it would fail more gracefully and adding the ability to parse in files and save the current state of the system to a file for later retrieval. I also did away with the rather hideous use of the process dictionary and moved to an auto balanced tree structure for storing the data.

Over break, I’m hoping to add enough other features to warrant a 0.2 release, which I’d like to have support for soft-processes (ala Erlang), multi-node support and transactional shared memory (using Mnesia). I would also like to add permissions and process jailing for the soft-processes to allow for running untrusted code in a sandbox of sorts.

I’ve started a very simple (and ugly) site to put my progress and releases. You can check it out here and please comment with suggestions or other features you’d think would be a valuable addition. Good luck on everyone’s finals and projects! Have a wonderful break!

Peace and chow,