Saturday, June 14, 2014

Toggle Between Two and Four Spaces in Vim

To my fellow Vim users:

" Toggle between two and four spaces
let g:spaces = 2

function! TabToggle()
  if g:spaces == 2
    let g:spaces = 4
  else
    let g:spaces = 2
  endif
  echo "Switching to " . g:spaces . " spaces."
  let &tabstop     = g:spaces
  let &shiftwidth  = g:spaces
  let &softtabstop = g:spaces
endfunction

nmap <leader>t :call TabToggle()

Put that in your .vimrc and benefit.

Sunday, June 08, 2014

Everything Driven Development

I see a lot of parallels with web development in the 2010s and financial services in the 1970s.  Both will be remembered as explosive, volatile industries with huge margins, questionable reputations, and colorful personalities.  Every innovation seems to have market-shifting implications:  Every new product, every trade, and every buyout has the potential to change everything.  Knowing the underlying reality of the industry is, as it was then, a guessing game.  For every Supply and Demand, there was a corresponding Stagflation, Bretton Woods, or Trickle-Down.

Like the early days of financial services, there is lively debate in the web development world over which methods and techniques are fundamentally correct.  Now, as then, it's hard to know which truisms will exist even a few years from now given the pace of change.  Once (https://martinfowler.com/articles/is-tdd-dead/) again (http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html), the web development community is awash in argument with no resolution in sight:  Heavily paraphrased, "should we do it this way or that way?"

My theory: _Everything_ works in our current environment.  We're early enough to the party that we don't yet know what all these innovations are even for.

In the 1970's, interest rates topped 20%.  A host of new financial products sprang up from the combination of good market conditions and new technology: Bond coupons, mutual funds, and real estate derivatives, and others.  Without too many exceptions, these products still exist, and people still invest in them as well a host of other products developed in the 80s, 90s, and 2000s.  Some of these ideas turned out to be more valuable than others.  However, instead of disrupting at every turn, businesses carved new niches as the industry grew.

Test Driven Development works because everything works.  Feature Driven Development works because everything works.  Our industry is growing, and these are all niches that will go on to employ people and create value.  Some techniques will turn out to be more popular than others, but there's rarely a reason to abandon one in favor of another.

I suspect that the reality of our industry will turn out to be just as messy as any other industry.  For now, there's a rising tide, and it's lifting all our ships.

Sunday, June 01, 2014

Top 5 Consumerism Wins

Here are the best five things I've purchased on the Internet (non-referral links so you know I'm telling the truth):

Odormute.  Magically good odor neutralizer.  Far superior to febreeze, and much cheaper.

503TORCH.  Small, cheap, effective butane lighter.  You need a butane lighter.

Zojirushi Travel Mug.  Nondescript travel mug that doesn't leak, ever.

Makita Vacuum.  Replaced my old vacuum, roomba, and broom.

Good Grips Tea Ball.  Makes tea.  Tea is awesome.