About

I build web applications and command-line tools with Ruby, and I create mobile applications with Objective-C and Java. I make furniture from wood with a mix between hand and power tools. I do all this at Friends of The Web in Baltimore with my best friends.

You should follow me on Twitter, here.


Projects

  • Quiption Site

    Worked with @ahmattox + @andymangold to build an iPhone app that sends real postcards. Built the Twitter photo sharing site and worked collaboratively on the app.

    • Ruby + Sinatra
    • Objective-C + iOS SDK
    • Sincerely Ship
  • Crowdstorms Site

    Collaboration with @danmartens + @andymangold on building this awesome brainstorming aid.

    • Ruby + Rails
    • Sphinx
  • CheckPlus Site

    Built this with @ahmattox + @andymangold at Baltimore Education Hackday. Explored using Postmark, Devise, and CanCan.

    • Ruby + Rails
    • Postmark
  • Jittergram Site

    Started at Photo Hack Day 2 with Friends of The Web, then polished up and added sharing features.

    • Backbone.js
    • Amazon AWS
    • Objective-C + iOS SDK

Blog

  • Rails Module and Class Acronyms

    Rails does a lot for you, but sometimes legacy requirements have forced certain areas (the inflectors) from progressing. This means we need to manually add things like acronyms to the initializers.

    While availale on the Rails guide site, that bit of information should be a bit easier to find for the crazies that like everything to be capitialized correctly in code.

  • Titlify: One Titlecasing Gem to Rule Them All

    With Crowdstorms, I work with a lot of text. Nearly all of it should be titlecased, as everything is the title of a page on the site. Unfortunately, titlecasing is apparently a difficult problem to solve correctly. The guidelines set forth by those creating the AP Stylebook and the Chicago Manual of Style set forth a few simple rules, followed by a series of increasingly complex exceptions (not to mention the exceptions introduced by the English language itself).

    The problem is impossible to efficiently solve with computers. Solving on of the simple problems would mean including every single scientific species’ name (or figuring out some pattern that detected a scientific species’ name). For some reason, the Chicago Manual of Style dictates the second word in a species be lowercase. Sadface.

    However, I’m going to introduce the (ever improving) bestest solution available for adhereing to (AP Stylebook|Chicago Manual of Style) when titlecasing. Titlify will only do one thing, but I’m going to make it as perfect as possible. Now, examples and feature list! (You’ll first need to gem install titlify.)

    Features

    • Downcases articles, coordinating conjunctions, and prepositions
    • Capitalizes the first and last word of a title
    • Leaves oddly capitalized words alone (iPhone, McCormick)
    • Removes periods from abbreviations (R.O.R. => ROR)
    • Capitalizes words in quotes and after colons

    Code

    title = "I'm The Fool Capitalizing Everything Because I Think It's Right"
    
    title.titlify
    # => "I'm the Fool Capitalizing Everything Because I Think It's Right"
    
    title.titlify!
    # => "I'm the Fool Capitalizing Everything Because I Think It's Right"
    
    # Colons and quotes and stuff
    "Andy Pettitte On Recent Win: 'Now That's What I Call Throwing A Pettitte'".titlify
    # => "Andy Pettitte on Recent Win: 'Now That's What I Call Throwing a Pettitte'"
    
    # Can't assume the user is an idiot (Leaves oddly cased words alone: iPhone, 4S)
    "3,297 Websites Post The Definitive iPhone 4S Review".titlify
    # => "3,297 Websites Post the Definitive iPhone 4S Review"
    

    You can play around to see what it does a bit more … that should get you started. If you find any issues, please post to the GitHub issues.

    (And thank you, The Onion for some wonderful article titles.)

  • Chocolate Lava Cake and the Internet

    I often obsess over how something looks. In both the physical and virtual world I will dismiss the garish and decrepit. If it wasn’t worth the creator’s time and effort to thoroughly consider and maintain their project, why should it be worth my time? This attitude helps filter the overwhelming amount of content available for consumption, but it often overlooks the gems hidden by a lack of web skill. A woodworker or chef might not have the talent or time to match his or her real world skill when creating a website.

    So how does this relate to chocolate lava cake? This chocolate lava cake recipe epitomized the thought. The website does not provide the most appetizing portrayl of the dessert, but the recipe itself is dead on. It’s the quality of restaurant served lava cake.

  • The Letter J

    Abstract representations of the letter

    I want a new mark to represent myself both in the digital and physical realm. I’ve never been super happy with my pixel block J, and as I get more into furniture making a mark to burn into my work would be nice. I’m working with the shapes above, abstracted from the way I form the J in my signature.