Photoshop : Tool And Workflow Visualizations

"A problem well stated is a problem half solved."

                                        -Charles F. Kettering

One of the day to day challenges of tool/workflow development is resolving the needs and wants of diverse disciplines.  That gap can be particularly wide on complex and ambitious projects.  Many times the requests from one department will appear to conflict with what another may be asking for. 

A practical and direct way to address this is with Photoshop wireframes.  Words can be imprecise; pictures and numbers however tend to be concrete.  Photoshop->conversationw/Design->Photoshop->conversationw/Engineers, in my experience has worked as an effective means to iterate.

This process is a great aid in moving the needle forward on plans sidetracked by abstration and ambiguity.  And at times these visualizations will also serve as an ad hoc contract for the tools to implement or workflow to be setup.

Vim : Modal Text Editor

This post over at Hacker News: Vim the Six Billion Dollar Editor reminded me of just how much I love Vim.  If your day to day involves text-slinging, Vim is a bionic weapon that'll return the investment in understanding it many times over.      

It's modal nature is somewhat astonishing at first : Why would a text editor have a mode that does not input text?  The reason becomes a bit more clear when you consider that about half the time of an average text editing session is spent tumbling to and from characters/words.  And by separating those two modes, Vim effectively doubles the available keystroke space.

Originally, I struggled with a number of false starts with picking up Vim.  Persistance paid off.  And the resources that helped me most were:

  • The built in vimtutor or the browser based openvim .
  • The videos at are a gentle, practical introduction to Vim's day to day use.  These videos got me to the critical point of applying Vim idioms to my real world projects.
  • Beautiful wallpaper by Ted Naleid. (My personal variant is attached.)

I also recommend finding a nice .vimrc :

(The jj macro to switch modes will be kinder on your fingers than having to reach for the escape key.)

Vim is ~20 years old, yet IMHO manages to feel ahead of the curve.

Impromptu : Live Coding

Impromptu is a live coding environment utilizing Scheme(a dialect of Lisp) and is a fantastic environment for prototyping.  Developed by Andrew Sorensen, how Impromptu access and controls your Mac is beautiful and elegant.  

And before discovering the advances in Javascript and HTML5, it was my favorite technical sandbox.  Here's a small OpenGL program I wrote while learning matrices to implement ArcBall rotation: