In Search Of Greater Productivity

So I finally broke down and installed ViEmu, a VI emulator for Visual Studio. Matt has been using it for quite awhile and seems happy with it. I’ve been slowly trying to improve my Vim skillz every week, working through the cheatsheet at ViEmu above, learning 5-10 new commands every couple of weeks (yay for Shift-A, so much better than i-Right Arrow key).

I have no idea how good I’ll get at it but since I’m in Visual Studio all day long, surely my productivity will start to increase.

Financial Calamity

Our financial system is horribly broken, serving only the well-connected and well-monied interests of Wall Street. We, the American Taxpayer, gave billions of our dollars to save people who made stupid bets on gambles designed to make them millions and millions of dollars. We haven’t flinched yet but if the republic has a chance of recovering, we’re going to have to do something about it.

From Bill Moyers Journal January 8th, 2010:

“Thanks to taxpayers like you who generously bailed banking from the financial shipwreck it created for itself and for us, by the end of 2009 the industry’s compensation pool reached nearly $200 billion. And despite windfall profits, the banks will claim almost $80 billion in tax deductions. And nearly $20 billion of those deductions will go to just three institutions — Morgan Stanley, JP Morgan Chase, and Goldman Sachs.

Ah, yes — Goldman Sachs, that paragon of profit and probity — which bet big on the housing bubble and when it popped — presto! — converted itself from an investment firm into a bank so it could get your bailout money. Now consider this: in 2008, Goldman Sachs paid an effective tax rate of just one percent. I’m not making that up — one percent! — while their CEO Lloyd Blankfein pulled down over $40 million. That’s God’s work, if you can get it. And, believe me, Wall Street bankers know how to get it…”

Did you read that? Goldman Sachs paid an effective tax rate of ONE PERCENT. This is the change we have been given. Short change indeed. Why we haven’t risen up and destroyed these people, either figuratively or literally, is beyond me. They are sucking the life blood out of America and calling it God’s work.

They are doing it because we let them. You do have some choice. Let your representatives know that you will not stand for it. Better yet, take any and all money you have in major banks and move them to small community banks as part of the Move Your Money movement. I will be opening an account with American National Bank of Texas today and closing my Chase account as soon as I can. I refuse to continue to support institutions who do anything they can to disadvantage me the customer while lining their pockets with my tax money. If you do not do what is right, you will continue to suffer the painful consequences of what is wrong.

Hat Tip: Jesse. If he isn’t in your daily reading list, you are missing out on commentary exactly describing what is going on in our financial and political system.

Something Else To Do

Sometimes you do strange things on Sundays with spare time on your hands. I took a defunct blog my wife and I never bothered with and turned it into a photoblog. My current plan is to post a picture every Sunday at least with other random posts showing up as I run into things worth sharing or pictures Kat wants to add to the fray.


Apparently, my quitting Twitter didn’t cure whatever it is that has been keeping me from writing. It’s been quiet around here, quiet around my tech blog and quiet on the writing front in general. In fact, I went back and looked and I haven’t really been doing any writing since July. It’s not for lack of wanting but wanting never really gets any bits out into the interwebs. I’m hoping to turn over a new leaf in 2010 regarding writing though last year’s resolutions didn’t turn out to well really.

My New Mac Travails Part I

So at my new job, the main development machines are Macs. Previously, I knew a ton of people doing Windows development on Macs though most of the work was done in Parallels, Fusion or Bootcamp. I haven’t been on a Mac since probably sixth grade when I wrote a program I didn’t find on the internet to output Alfred E. Neuman’s face to the terminal. Suffice it to say, I’m out of touch. So I spent 2 hours yesterday just trying to get MacVim installed and bent to my will. This series (where series may be anywhere from 1 to N posts) will throw little tidbits of knowledge out into the interwebs regarding my trials and tribulations with becoming a Mac convert. This will be old hat for anyone with any Linux or Mac background but for someone coming from a purely Windows environment with only a tiny bit of self-taught Linux history, maybe it will help other total beginners.

Lesson 1 involves getting MacVim to correctly recognize Python files with pretty indenting and whatnot. I downloaded MacVim and so far have just left it in the Downloads folder which I’m sure is ridiculous but at least I know where it is. Once that was done, I spent a ton of time getting a .vimrc file set up, mostly because files starting with . on a Mac are system files and hidden by default. This page helped a lot in that regard.

Once that was done, I set about getting MacVim to deal with Python files with pretty indenting and whatnot. One thing to understand right off the bat with MacVim is that “filetype”, “plugin” and “indent” are disabled by default on installation. Before you go creating your own plugin files and indent files, it’s helpful to add “filetype plugin indent on” to your settings file and see what happens. You may not go to the trouble I did overwriting all the defaults. But that’s just how I roll.

I found this helpful post dealing with Python syntax and indenting. The key is figuring out where to put those files. When you install MacVim (or lots of other apps on the Mac), you get a folder typically named .app. You can drag this into your Applications folder and have access to it there instead of leaving things in Downloads. With MacVim, you are going to put your indent and ftplugin files in or ftplugin. Once I figured that out, I dropped the files from the link above in the correct folder and of course, everything worked like a champ.

Now if I could just remember that on a Mac keyboard, you copy and paste using the Command key instead of the control key, I’d be set up.

The Dark Side Part I

I just installed git, pulled down the latest Clojure code. Thinking about getting a github account and moving some of my Subversion code there just to play. There just aren’t enough shiny jangly things in my life.

Gardening and Software

I’m a gardener. It’s in my blood I think, something that goes back to both my grandparents who had gardens. My mom has beautiful roses in her backyard. People in my family garden. Like most pursuits, gardening gives back what you put in, oftentimes in multiples as long as the input is over a certain threshold. If you put in the absolute minimum, you can still receive great paybacks as long as you choose plants and flowers that are OK with little help in surviving. If you’re like me, you can greatly increase what you get back out of your garden by constantly improving the process, finding new ways to increase efficiency or productivity, tinkering with results, etc. Regardless of what kind of gardener you are, as long as you don’t give up, your gardens will typically survive.

However, if you stop doing the bare minimum, you will no longer receive any results at all, at least as it relates to producing flowers or vegetables. If you give up or reduce your effort below a threshold necessary to achieve a standoff with nature, nature will quickly take over and your carefully cultivated gardens will return to their natural state, one of abandon and disarray. There may still be rare successes but they are random and always under attack from weeds, drought and pests. A rose left at a country house long abandoned may continue to bloom for many years but the plant will constantly be surrounded by weeds and pests.

Software projects are not unlike gardens in this regard. Different types of projects require different levels of attention but they all must have a leader of some sort. There is often talk of self-organizing teams that turn out solid results but these teams were typically either brought together by a leader who remains engaged in some way or are comprised of individuals who express leadership in different ways within the group. If a software project does not have a leader or the leader is distracted from the needs of the project and team, the project will begin to deteriorate. Almost immediately, the entropy of nature will set in. Weeds begin to sprout up. Edges begin to deteriorate. The structure of the project erodes and dirt seeps out of the cracks. Without leadership, no project can stand up to the force of natural entropy. Once that entropy takes over, it takes an inordinate amount of work just to get the project back to a functioning state.

This is an aspect of all methodologies, but specifically Agile (big A), that is often overlooked and undersold, that of strong leadership. The literature often talks about the team, self-organizing, Gestaltic, productive. But no team survives that way without leadership though the leadership can come from within the team instead of the typical all-knowing leader. Someone (singular seems preferable though I know of teams that have 4 leaders and 1 team member that work reasonably well) has to turn on the sprinklers, pull the weeds, mulch the ground, apply small dosages of fertilizer so that the team can become more than the sum of its parts. Without that strength of will and character, the team will almost always devolve over time into an incoherent mass of movement, undirected and inefficient.