Monthly Archives: February 2013


configure generates .infig.status: error: cannot find input file:

I ran into this today.  When running configure, “.infig.status: error: cannot find input file:” error was generated:

bash-3.2$ ./configure
checking for a BSD-compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… /bin/mkdir -p
checking for gawk… gawk
checking whether make sets $(MAKE)… yes
checking for g++… g++
checking for C++ compiler default output file name… a.out
checking whether the C++ compiler works… yes
checking whether we are cross compiling… no
checking for suffix of executables…
checking for suffix of object files… o
checking whether we are using the GNU C++ compiler… yes
checking whether g++ accepts -g… yes
checking for style of include used by make… GNU
checking dependency style of g++… gcc3
configure: creating ./config.status
.infig.status: error: cannot find input file:


This appears to be caused by by having DOS style line endings in the configure script.

You should be able to use the dos2unix command or alternatively, the tr command:

$ tr -d “\15\32″ < configure >
$ mv configure


What causes this?  Most likely you have DOS style line endings in your and/or  Run dos2unix against them and then reautconf –install and then the configure script should be good to go.


How to Turn off the Annoying Beep/Chime in OSX Terminal.

If there is one thing about the Mac that I hate, it is the annoying chime (audible bell) that kicks in the terminal.  This has bothered me for ages.  Backspace on an empty command line, beep.  Tab completion doesn’t know which file or directory to use, beep. beep beep beep.  Editing with vi and beep. beep.  It is annoying.

This wouldn’t be so bad, except the volume of the bell is simply too loud, with no easy way to adjust the volume.  I just had to turn the damn thing off.  But the option is buried so far down into the bowels of OSX’s configuration it took me a while to figure it out.

Here is not one, but two ways to turn it off:

Option 1: Turn off the beep in ReadLine configuration (this also works in Linux as well).  Create an .inputrc file in your home directory and insert the following line:

set bell-style off

This works on ALL terminal configurations.

Option 2: A more surgical approach is to bring up an Terminal session, click on Preferences in the application menu.   For each terminal (under the settings tab), click on “Advanced” tab.  Deselect “Audible bell.”  You will have to do this for each and every terminal setting.

I elected for option 1.


Server Naming Conventions?

I’m in the process of provisioning a new server, so I decided to confront a challenging issue of: what do you name the computers?

A quick search led me believe that I’m not the only one who has wrestled with this problem.  There is even a service which tracks naming schemes (

What did I choose?  Football teams and towns?  Mythological deities?  Planets?   Cartoon characters?  Presidential pets?  Star Trek characters?  Famous Monopolists?  Classical Composers?  Sound effects?  Beer names?  Simpson characters?  Names of narcotic pain killers?  James Bond movie villains?

No, I’ve decided to use elements in the periodic table.  Servers are named after noble gasses; development and test machines are unstable elements.


UI/UX: 5 Best Sites for Free Printable Sketching and Wireframe Templates

Sketching and wireframing are techniques used to produce low fidelity design mock-ups, which can be used for fleshing out design ideas, group (or individual) brain-storming, or as a way to showing what an application would look like before writing any code.

While I’ve tried just about everything to produce wireframes, from Visio and PowerPoint to expensive mock up software, I always return to paper and pen.  My ideas seem to flow better, and I can flesh out my ideas before I move on to monkey hammering the keyboard.

However, making quick sketches look semi-professional to show clients or making your scribbles legible in a meeting can be problematic.  My solution is to use a set of stencils and printed wireframing templates.  I print the template out, punch holes in the paper and insert them into my Levenger Circa notebook.  Next, I start scribbling with a mechanical pencil and/or ultra fine point pen, like the Pilot Hi-Tec-C Coleto multi pen.

In my opinion, it is quicker than cutting up “design kit” images to paste into an image file.  If I need a digitized file, I can shoot the pages through a scanner.

Below you will find a concise collection of ready to print sketching and wireframing templates.  

Screen Shot 2013-02-04 at 9.03.39 PM

Programmer interrupted

Any good programmer knows how painful it is to be ripped out of ‘the zone,’ and how much the continuous stream of interruptions can destroy our productivity.  Chris Parnin of Ninlabs Research actually breaks down the problems these interruptions create and provides a brain dump of research.

This is the best blog posting I’ve read on the subject of how costly interruptions are in an office environment.  A worthwhile read.

Screen Shot 2013-02-02 at 7.58.50 PM

Douglas Crockford on JavaScript and JSON

In the past, like many professional software developers, I had very low opinion about JavaScript. I still do. Mostly because of the amateurish way it was used and grew up. Anything seemed to be better than JavaScript. JavaScript only as a last resort was my motto.

But lately, I’ve been writing a lot more JavaScript application code and I’ve had to take a fresh look at my attitudes towards JavaScript development. So when I saw Doug Crockford’s presentations, they resonated with me, so much so that I’ve decided to share them here.

Watch Douglas Crockford At Google Speaking On “JavaScript: The Good Parts”

Doug Crockford gave this presentation, one of the excellent Google Tech Talks, where Doug goes over the ideas behind his landmark book, JavaScript: The Good Parts, and dives into the areas of what JavaScript got right and what it didn’t.

Watch Douglas Crockford At Google Speaking On “JavaScript: The Good Parts”

The JSON Saga

Douglas Crockford tells the story of how JSON was discovered, the history behind it and how it became a major standard for describing data:

The JSON Saga

Subversion: How to Recursively UNLOCK files

So you need to unlock files scattered throughout a subversion repository? I did too. Read on to find out how I solved the problem.

At the time we were having power issues, so I don’t know what caused the issue; a power outage at the wrong moment or a buggy client. In any event, when another developer asked me to unlock a file that I hadn’t touched, I quickly investigated and saw that my I had randomly locked 379 files, randomly sprinkled throughout the repository.

The problem is that there is no easy way to fix this from the client side. After taking a moment to think about the horrifying prospect of spending hours of inspecting hundreds of subdirectories to search for locked files I came up with a much more efficient way to go.

First, you need to get a list of status updates:

$ svn status -u

However, this list contains more than just locked files. We need to filter that list down to only locks, and put in into a file:

$ svn st –u | grep "^…..O" > locks.txt

Next, I piped the file to sed and replaced the first two columns and whitespace with the url of the repository. This will build a list of URLs that need to be unlocked, prepended with the repository URL so that the svn unlock command will work.

$ cat locks.txt | \
  sed 's/…..O[ \t]*[0-9]*[ \t]*/http:\/\/server\/svn\/path\/to\/project\//' \
> locked-urls

Finally, you will just need to cobble together a simple bash script to read each line and put it into a variable ($line) and execute “svn unlock $line.”

Within fifteen minutes I was done. Nice.


My Electronics Workbench

For the past two years I have been pulled further and further away from what I love to do most – play with hardware, build custom kernels, and otherwise tinker with electronics.  As a result, I’ve set up a dedicated electronics workbench to make my own PCB boards, breadboard, and otherwise tinker with some new embedded developer boards at home.


Since I don’t have a lot of space, I went with an Ikea table that I already had (the cheapest one we could buy), and put on a ESD mat.  The shelf isn’t one I build myself, but a kitchen sink organizer.  The picture is poorly lit, but I use the towel rack to hold spools of wire.  You can see it better in the picture below.


For the most part, the setup works very well.


When I started shopping for a soldering station that could possibly be used for surface mound devices (SMD), I looked at just about every brand of soldering iron/soldering stations on the market.

I narrowed my choices down to three: the Hakko, Atten (cheapest) and the Weller WX2 soldering station. I’m happy to say that I purchased the Weller WX2 and I absolutely love it.  I will probably post a better review later.

The Weller WX2 is a 200W, 120V power unit with touch screen controls.  In addition to powering several soldering irons/pencils, it can also power desoldering tweezers, a fume extractor or heating plate.


My setup: