This old URL hasn't been updated for a while, but I'm still putting out new stuff! Check out the shiny new domain at

Wednesday, February 18, 2009

Broken Windows Economy...

In my "inaugural thoughts" post a few weeks ago, I came up with this gem:
Pound-wise and Penny-foolish - The maxim states that one must not be "penny-wise and pound-foolish," and Obama must be the opposite of that maxim.  He must be willing to not only cut wasteful projects, but also start new projects that create jobs and replace aging, crumbling infrastructure.  The 2007 bridge collapse in Minnesota and the 2003 blackout on the East Coast show that this country's infrastructure, most of which was built between 1930 and 1960, is in dire need of repair.  As with FDR's "New Deal" during the Great Depression, funding must be directed toward replacing this infrastructure to keep citizens safe and bring America into the 21st Century properly.  As an added bonus, such government spending can help stimulate the economy by providing jobs for the working classes, rather than simple handouts.
I was recently pointed to a Wikipedia entry on the Parable of the Broken Window:
Have you ever witnessed the anger of the good shopkeeper, James Goodfellow, when his careless son happened to break a pane of glass? If you have been present at such a scene, you will most assuredly bear witness to the fact, that every one of the spectators, were there even thirty of them, by common consent apparently, offered the unfortunate owner this invariable consolation—"It is an ill wind that blows nobody good. Everybody must live, and what would become of the glaziers if panes of glass were never broken?"
Now, this form of condolence contains an entire theory, which it will be well to show up in this simple case, seeing that it is precisely the same as that which, unhappily, regulates the greater part of our economical institutions.
Suppose it cost six francs to repair the damage, and you say that the accident brings six francs to the glazier's trade—that it encourages that trade to the amount of six francs—I grant it; I have not a word to say against it; you reason justly. The glazier comes, performs his task, receives his six francs, rubs his hands, and, in his heart, blesses the careless child. All this is that which is seen.
But if, on the other hand, you come to the conclusion, as is too often the case, that it is a good thing to break windows, that it causes money to circulate, and that the encouragement of industry in general will be the result of it, you will oblige me to call out, "Stop there! Your theory is confined to that which is seen; it takes no account of that which is not seen."
It is not seen that as our shopkeeper has spent six francs upon one thing, he cannot spend them upon another. It is not seen that if he had not had a window to replace, he would, perhaps, have replaced his old shoes, or added another book to his library. In short, he would have employed his six francs in some way, which this accident has prevented.
My argument for creating jobs based on replacing crumbling infrastructure is not a broken window philosophy.  Money spent replacing the infrastructure is necessary spending.  It is the equivalent of the shopkeeper taking poor care of his shop, and then having to spend money on replacing the roof when it is revealed to be on the verge of collapse.

The state our country's infrastructure is in is absolutely shocking, and that's what led me to make that statement.  And this is the end of political/socioeconomic commentary I'm going to make on this blog.

Tuesday, February 17, 2009

My Messy Desk

As prompted by a friend (Gene, a studying architect at the New Jersey's Institute of Technology's NJ School of Architecture), I decided to pick apart my workspace.  It's nowhere near as nice, but it's got some good points.

Last year was miserable.  This photo comes from about October 2008, right around when I started this blog.
What the heck was I thinking?  No organization whatsoever, stuff piled on top of my keyboard, an Xbox controller and PSP within an arm's reach, and a generaly messy desk.  This did eventually get cleaned up, though, and I was able to fly through my classes.

This is the upgraded, 2009 model.  New room, new dorm, new desk, new laptop.
My trusty old desktop, a custom-built PC I inherited from a friend, gave up the ghost when it failed to output any video (not even a BIOS screen), so its been replaced with my old Dell Precision M60 laptop for any Windows tasks.  It also serves as a desktop, since I never move it.

A whiteboard, even a small one, is great for managing tasks.  Keep one in a highly visible location, like right over your monitor, and you'll constantly reference it.  It can be quickly and cleanly erased as tasks change.

My desktop may have died, but running the MacBook with a second monitor is absolutely awesome.  Mini-DVI to DVI adapters cost $20, a but much for a dongle, but well worth the expense.
I'm considering getting a new desktop, either an iMac or MacPro.  I love OS X too much to go back to Windows, and a Mac Mini is just too little hardware for what I need.

A coffee mug for drinks both hot and cold is a great tool to have around.  My room is excessively dry, so not drinking something for an hour usually leads to either dry mouth or a nosebleed.  The stack of papers and notebooks next to it is my to-do pile, sorted by priority.  The black Moleskine datebook on top is my main planner.
Not the greatest photo, but this is an alarm clock with radio.  Sometimes headphones aren't comfortable anymore, and sometimes there's something happening you want to hear live, like a sports event.  Also functions as my morning wakeup.

Keyboard and mouse.  Necessary tools for any computer.  The keyboard is a Microsoft Natural Keyboard 4000, coming highly recommended from blogs like Coding Horror.  There's no major learning curve to get used to it, and its damned comfortable to type on.  The mouse is a Logitech TrackMan Wheel, which is currently on special from NewEgg.

Finally, my headphones: SteelSeries 4G.  I got the pair off woot at the end of 2006 at a dirt-cheap price, and they've served me well for two solid years and a little more.  They cost ~$15 without shipping, so they've paid for themselves several times over.  As an added bonus, they have a mic that can be hidden inside one of the coconut halves.  I didn't get them specifically for the mic, but Skype conversations with it are a thousand times easier to set up (even if my friends say it makes me look like a "WoW nerd").

Not the greatest post, but a quick rundown of what's around my desk at the moment.

Thursday, February 12, 2009

Postbox (beta 7)

Recently, the DownloadSquad blog made a posting about a mail app called Postbox. Its idea is to tie into social media, with the ability to pull in Tweets, Facebook status updates, and FriendFeed postings, as well as support for POP3, IMAP, and MobileMe email.

As an email client, its perfectly acceptable. To be blunt, it's Mozilla Thunderbird with a new skin. It is based on Thunderbird, so any quirks or favorite elements you had will still be there. The notable exception, though, is that extensions are unavailable. A nice addition is the ability to view GMail messages in a threaded style similar to the web interface, but this may have been recently added to Thunderbird, which I haven't used in several years. Also nice is the ability to Google search from the interface, and a listing of all the links and embedded media in the current message.

The social media aspect, however, is terrible. You can make updates, but not receive them. Making updates is done through an arcane (and oddly-named) "Promote" dropdown button. For other features, like To-Do tasks, there is no interface for easy viewing. To-Dos can be created from emails, and then pinned to the top of the email list, but there is no central store for them.

The threaded GMail messages is an awesome feature, and one I've been waiting for in a desktop client since GMail first added them. But the half-finished social networking features are so bad to be nearly worthless.

One suggestion: A split sidebar, like on the left side, added to the right. One section should be social media updates (Facebook/Twitter/FriendFeed messages), and another to-dos. Better yet, these panes could be added to the left sidebar. Such services work best at-a-glance.

Wednesday, February 11, 2009

Adventures in coding (Part I)

In June of '08, I decided to get myself a MacBook.  As a CS student going into my second year, and most of my assignments requiring UNIX compatibility (well, NetBSD to be totally accurate), I wanted a system that would last a while, have some pretty hot hardware, be somewhat reasonably priced, and have strong support for *NIX OS's.  Granted, the MacBook isn't the cheapest laptop in the market, but for what you get, its a decent value.

One great feature is how there's an awesome terminal built right in.  It runs bash by default, and has a lot of the GNU tools (and I'm a HUGE GNU screen fan) installed either by default or with the dev tools.  Most important is its support for a SSH connection and X forwarding running on top of that.  Previous semesters saw projects that ran entirely in console mode, or were (mostly) cross-platform Java apps, while now I'm writing GLUT apps that need a screen to display on, so I'm moving outside of simple terminal use.

My preference, so far, has been vim in an SSH login.  It's easy enough to learn, and I haven't really had the time or desire to learn emacs to date.  My only issue is having to jump into pico for a Makefile, since I have vim set up to use 2 spaces instead of a tab.  Aside from some of the usual *NIX grumbles (specifically, constant use of the command line), this is a great experience.  Running inside screen, a utility I discovered only a few months ago, has seen my productivity double or triple, and allows me to do work from anywhere for either a few minutes or a few hours.  The only issue is that a wireless connection is a bit much for a SSH session, with the lag ruining the otherwise native speed of access.

As a bonus, here are my .vimrc and .screenrc files:


set background=dark
syntax on
set softtabstop=2
set shiftwidth=2
set tabstop=4
set expandtab
set nowrap
set ruler
set number
set numberwidth=4
set cursorline

hardstatus alwayslastline
hardstatus alwayslastline "%{+b kw}[ %H ] %{yK} (%n). %t  %-=%{kk} %{gk}%c.%s  %{yk}%d.%m.%Y"
startup_message off
screen -t screen1 1
screen -t screen2 2
screen -t screen3 3
screen -t screen4 4