Category: 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.
  • 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 πŸ™‚

  • 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!

  • 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

  • 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

  • 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.

  • 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.
  • 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.

  • 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

  • Sun Introduces Non-Native (Linux) Zone Support

    The “What’s New” document for Solaris 10 8/07 states the update “..includes the tools necessary to install a CentOS 3.5 to 3.8 or Red Hat Enterprise Linux 3.5 to 3.8 inside a non-global zone. Machines running the Solaris OS in either 32-bit or 64-bit mode can execute 32-bit Linux applications.” Additionally, “DTrace can now be used in a non-global zone..” and ZFS gets even cooler. w00t.