Categories
personal

6 Things I'm Thankful For

Bread BowlAn awesome first business year for OpenRain. The constant stress of context switching between software projects has become more managable, making weekend relaxation slightly more frequent. Marc has been a geeky Asian version of Superman, and our part-time office manager Gracie has been a godsend. Business has been great, and 2008 should be an exciting growth period.

Bread bowls. Especially the kind filled with Cream of Broccoli soup.

Not being poor. It’s easy to forget all the small luxuries afforded by a modest middle-class suburban family. Indoor plumbing, internet access, telephones, health care, shelter, affordable schooling… these aren’t common in many parts of the world.

Loads of opportunities. One of the most motivating and simultaneously scary realities of running your own software company today is knowing you hold all the keys to your own future. There are so few barriers (especially economic) to today’s start-up that there is little excuse for not taking the risks and giving it your all. This year alone I’ve gotten to go to L.A., Washington D.C., England, San Francisco, Mendocino (California), Amsterdam, Austin, Baja and Portland off the top of my head. (Note to self: redeem those frequent flier miles!)

Cheese. I’m a huge sucker for bree and havarti.

The awesome people around me. Support structure is fundamental to success, and I’ve been fortunate enough to have a great one. Y’all know who you are!

It’s been a superb 2007. Cheers to an even better 2008!

Categories
computer

Switching To Dvorak: One Week Later

dvorak.pngIt’s been exactly one week since I switched to the Dvorak Simplified Keyboard (DSK) layout. Thoughts…

  • The first couple days are especially frustrating while you memorize key locations and build a small bit of muscle memory for common phrases. Hang in there.. this is the toughest part.
  • Temporarily relabel your real keyboard with cheap stickers from eBay or physically rearrange the keys on a cheapo USB keyboard while you’re learning. Physically mod’ing a QWERTY board kinda sucks, though, because..
    • The nubs for the pointer finger keys are in the wrong place. This alone is a deal breaker.
    • Keys aren’t necessarily manufactured to be of homogeneous shape. Even on my cheapo Memorex, for example, the key tops are sloped differently by row, so rearranging the keys results in what feels like a 3D topology of the Rocky Mountains.
  • The common typos (“teh”, “taht”, “nad” etc.) are different, so..
    • You’ll have to be more accurate in IM conversations. People won’t be able to guess what you meant to type.
    • Spell-checkers won’t work as well.
  • Make every reasonable attempt to avoid using QWERTY while you’re learning.
  • Be prepared to explain to people WTF you just did to their computer when you use it.. Every. Freakin’. Time.
  • Looking for an ergonomic, Dvorak Mac keyboard? LOLL3RSKATES!!! Good luck with that, and let me know if you think your new $300+ Kinesis is worth it.
Categories
computer personal

Switching To Dvorak

dvorak.png
After years of deliberation, I’m finally taking this Thanksgiving break to switch to the Dvorak keyboard layout. It’s been frustrating, yes, but I believe my wrists will be much better off with the change. Within a couple hours of switching I’m probably crawling at ~15 words per minute, which is faster than I expected. Stuff that still throws me off due to being permanently etched in muscle memory..

  • My name.
  • `cd` and my custom `ls` aliases.
  • OpenRain.
  • . (period)
  • Common commands such as cut/copy/paste, closing and opening files etc.
  • The letter ‘o’ for some reason.

Ohh, and I switched my command and caps lock keys too, so my brain is a tad bit overloaded at the moment πŸ™‚

Categories
computer Uncategorized

In The News

OpenRain affiliate img surf‘s Mugr facial recognition services have been receiving some press lately. Here’s the lowdown of what’s been happening..

Mad props to the Mugr team for the thrill ride thus far!

Categories
computer

Featured In Rubyology Podcast #48

The talk I gave at yesterday’s Phoenix Rails meeting will be featured in Rubyology Podcast #48, courtesy of Chris Matthieu. Thanks for the effort and kind words! The Mugr.com demo portion at the end got cut out unfortunately, but the meat of the technical discussion is available for your listening pleasure.
Slides: Keynote PDF

Listen Online or Subscribe on iTunes

Categories
computer personal

Rails Presentation: attachment_fu, Kropper and Mugr.com face-based services preview.

I’m giving a brief talk at tonight’s Rails meeting in Chandler at 7:00pm on what we’re doing with attachment_fu and Kropper for upcoming face-based search service mugr.com. I’ll post the slides afterwards for those who can’t make it, but you won’t get to see the Über-secret developer build unless you come πŸ™‚

Slides: Keynote PDF

Categories
computer

Rails attachment_fu/Kropper Scaling Fix: attachment_fu_skip_resize

I recently integrated Kropper into a custom RoR application for OpenRain affiliate img surf. A fundamental flaw in the upload-save-crop-save process used by Kropper is that attachment_fu automatically scales down the image on first save to :resize_to dimensions. After the subsequent crop–which may result in a significant drop in resolution–the image is scaled back up to :resize_to dimensions: an ugly lossy operation.

The attachment_fu_skip_resize plugin gives attachment_fu the ability to temporarily bypass resizing of the full-size original image, thus allowing your final cropped photos to be of the highest quality as possible.

  1. Install the plugin.
  2. In your attachment_fu image class, add..
    attr_accessor :skip_resize
  3. Any time you want to save an image without invoking resizing on the original image..
    image.skip_resize = true
    image.save

    Thumbnails will be generated at their defined resolutions regardless of the skip_resize flag.

Categories
computer

Dynamically Generating SSL Certificates with Ruby on Rails

OpenRain had a couple projects recently need to programmatically generate private keys and SSL certificates in Ruby. To contribute back to the community, we’re releasing several small things today.

  • SSLsicle.com A simple form which does the OpenSSL grunt work and pop outs an SSL certificate ready to use with Apache (or whatever). SSLsicle uses..
  • eassl_fix A Rails plugin which patches a small but critical bug in the eassl v0.1.1643 gem which makes OpenSSL object manipulation a bit less dense. I’ve submitted a patch (included) to the author, but as of today he hasn’t applied it. (Also, props to the JumpBox guys.)

If you need to write your own code to generate SSL certificates in Rails..

  1. sudo gem install eassl
  2. Install the eassl_fix plugin
  3. Bust out a view for the user to enter the information that gets baked into the cert and then write a few lines in your controller…
    require 'eassl'
    key = Key.new
    options = {
    :country      => params[:csr][:country],
    :state        => params[:csr][:state],
    :city         => params[:csr][:city],
    :organization => params[:csr][:organization],
    :department   => params[:csr][:department],
    :common_name  => params[:csr][:common_name],
    :email        => params[:csr][:email]
    }
    name = CertificateName.new(options)
    csr = SigningRequest.new(:name => name, :key => key)
    ca = CertificateAuthority.new(:password => nil)
    cert = ca.create_certificate csr
    @pem = key.private_key.to_s
    @pem += cert.to_pem
  4. @pem.to_s will contain an unencrypted private key as well as a signed certificate suitable for deployment.
Categories
computer

Facial Search Service Coming Soon

My company recently entered into a partnership with img surf to develop Mugr.com: a facial identification/search service initially targeted at the mobile market. I’m pleased to announce that we already have the base functionality working, and are planning to deploy Mugr.com for experimentation in an invite-only beta starting in October. We’re also planning on providing a developer API and releasing some of the libraries behind the magic of our face search process later this year, which are largely implemented in Ruby.

Exciting times.

Let me know if you’re interested in playing with facial search technology as either a user or developer, and I’ll hook you up with an invite code when the time comes.

Categories
computer

Subversion For SCM Slides

I gave a presentation to Arizona’s ASULUG/PLUG yesterday on using subversion for software configuration management. Raw slides: Keynote PDF