Bullrico

Solving front-end and UX dilemmas

Scratching Your Own Itch and Launching a Successful Product Are Two Completely Different Things

Since I work with distributed teams, once or twice a year I have to pimp my wares to find the next gig. Being a designer and front-end developer, I usually go the extra mile and try to send out nicely-designed HTML emails, just to add more differentiation from the rest of the pack. To do this I coded up a Rails app last year in the form of an HTML email editor/sender/tracker - I could save job listings, compose HTML emails from templates (and connect these to specific listings), schedule when to send (9:01 AM next Monday), and look up individual email analytics. It worked great in that I could immediately gauge interest by tracking clicks and opens, and use that data to A/B test my cover letters.

Cannot Load Such File – Iconv

Here’s another nugget - getting iconv to load (in my case, while generating this blog using Octopress):

1
2
3
4
5
6
7
8
9
10
/Users/bobby/.rvm/gems/ruby-1.9.3-p194@octopress/gems/maruku-0.6.0/lib/maruku/input/parse_doc.rb:22:in `require': cannot load such file -- iconv (LoadError)
  from /Users/bobby/.rvm/gems/ruby-1.9.3-p194@octopress/gems/maruku-0.6.0/lib/maruku/input/parse_doc.rb:22:in `<top (required)>'
  from /Users/bobby/.rvm/gems/ruby-1.9.3-p194@octopress/gems/maruku-0.6.0/lib/maruku.rb:85:in `require'
  from /Users/bobby/.rvm/gems/ruby-1.9.3-p194@octopress/gems/maruku-0.6.0/lib/maruku.rb:85:in `<top (required)>'
  from /Users/bobby/.rvm/gems/ruby-1.9.3-p194@octopress/gems/jekyll-0.11.2/lib/jekyll.rb:26:in `require'
  from /Users/bobby/.rvm/gems/ruby-1.9.3-p194@octopress/gems/jekyll-0.11.2/lib/jekyll.rb:26:in `<top (required)>'
  from /Users/bobby/.rvm/gems/ruby-1.9.3-p194@octopress/gems/jekyll-0.11.2/bin/jekyll:20:in `require'
  from /Users/bobby/.rvm/gems/ruby-1.9.3-p194@octopress/gems/jekyll-0.11.2/bin/jekyll:20:in `<top (required)>'
  from /Users/bobby/.rvm/gems/ruby-1.9.3-p194@octopress/bin/jekyll:23:in `load'
  from /Users/bobby/.rvm/gems/ruby-1.9.3-p194@octopress/bin/jekyll:23:in `<main>'

The solution was to follow RVM’s instructions here:

1
2
3
4
5
$ rvm reinstall 1.9.2 --with-iconv-dir=$rvm_path/usr

$ rvm reinstall 1.9.3 --with-iconv-dir=$rvm_path/usr

$ rvm all-gemsets do rvm gemset pristine

Ruby 1.9.2, Heroku and Undefined Method ‘Parse’ for JSON:Module

After updating to OSX Mountain Lion, I started getting this error when trying to access Heroku via the CLI:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
bobby:my_app(master) $ heroku pgbackups:capture
Enter your Heroku credentials.
Email: bobby...
Password:
/Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/client.rb:31:in `auth': undefined method `parse' for JSON:Module (NoMethodError)
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/auth.rb:72:in `ask_for_credentials'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/auth.rb:105:in `ask_for_and_save_credentials'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/auth.rb:47:in `get_credentials'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/auth.rb:31:in `user'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/auth.rb:12:in `init_heroku'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/auth.rb:8:in `client'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/command.rb:49:in `run_internal'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/base.rb:18:in `heroku'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/base.rb:57:in `block in git_remotes'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/base.rb:55:in `each'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/base.rb:55:in `git_remotes'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/base.rb:33:in `extract_app_in_dir'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/base.rb:25:in `extract_app'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/base.rb:104:in `initialize'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/commands/pgbackups.rb:19:in `initialize'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/command.rb:47:in `new'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/command.rb:47:in `run_internal'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/lib/heroku/command.rb:21:in `run'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/gems/heroku-1.19.1/bin/heroku:13:in `<top (required)>'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/bin/heroku:23:in `load'
  from /Users/bobby/.rvm/gems/ruby-1.9.2-p320@myapp/bin/heroku:23:in `<main>'

Is There a Dip in Demand for Remote Developers?

I’ve been telecommuting for the past six years, and as a front-end developer I’ve come to expect certain truisms, one of which is I can take my pick of gigs. I’ve consciously added specific skills through the years to ensure demand (a front-end developer who specializes in single-page apps, who can handle a full Rails stack).

Earlier this year I took time out to work on a personal project. I got it to a point where I could launch it (that’s another story in itself), then I started my usual routine of sending out emails to find a full-time job. I usually get responses a few hours to about a couple of days in, and the following week is spent interviewing over Skype. The more interested a company is, the faster the process gets. Conversely, I find that if a company takes more than two days to get back to me, it usually means the interest has waned.

Installing Nokogiri After Updating Homebrew

I’m using OSX Lion, and after wrangling with updating Homebrew, my Rails 3 app wouldn’t start because of Nokogiri, so I tried manually installing it:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ gem install nokogiri -v '1.5.2'
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
ERROR: Failed to build gem native extension.
/Users/bobby/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
extconf.rb:10: Use RbConfig instead of obsolete and deprecated Config.
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
-----
libiconv is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
...
    --without-iconvlib

Gem files will remain installed in /Users/bobby/.rvm/gems/ruby-1.9.3-p194@app/gems/nokogiri-1.5.2 for inspection.
Results logged to /Users/bobby/.rvm/gems/ruby-1.9.3-p194@app/gems/nokogiri-1.5.2/ext/nokogiri/gem_make.out

Brew Update Problems

Having a two year old Macbook Pro and not keeping track of cruft that accumulates over time, I tried to do a ‘brew update’ and promptly went down a rabbit hole for the next hour.