development non-profits ruby on rails savannah

I’m on Team #OfficeHours

Inspired by Matt’s tweet, I’m trying out offering office hours. You grab half an hour of my time and we can chat about whatever you think I can help you with.

If you’re in Savannah, I also like to do coffee meetings weekdays between 8-9, but you should email me about those.

Some rules, because it wouldn’t be official without some:

  • Please don’t try to sell me anything. If you want to get feedback on your pitch, great, but I just… I don’t want to.
  • You set the agenda. Some things you might ask me about:
    • Savannah’s tech scene, TechSAV, or codebar Savannah.
    • Savannah restaurants
    • Baking bread
    • Technical leadership
    • Ruby on Rails or CSS (or databases or javascript or whatever)
    • How to create a guerilla organization that actually gets things done.
    • How to write a resume that a robot can read
    • Being on a board
  • I guess “no sales pitches” is really the only rule.

And while you’re at it, why don’t you set up your own #OfficeHours and share what you know! It’s ridiculously easy to set up either Calendly or a Public Calendar on Google so people can talk to you.

ruby on rails savannah

Two Things

Real quick, before my brain falls out of my head.

  • I launched this. It’s still very new and so very not finished, but you can start to get an idea of what it will turn into and how awesome it will be. We’ve got 10x the number of songs that Pandora does, super awesome technology and we’re just getting started. It’s radio, but awesome!
  • I wrote this. It’s about how those of us already living in the future can help those stuck in the present (or in some cases the past). I’m still looking for the right way to say it all, and am looking for help. So, read it and let me know what you think.

There you go. Two things. Enjoy!

CSS ruby on rails savannah uplaya

Come Work With ME!

We’re hiring! We’ve got a ton of work to do on an awesome new product and I need help!

What am I looking for? Someone who “gets” working in a startup. You’ve got to understand the pressure involved and time required to launch something and the crazy stupid optimism to believe it will succeed (even if it doesn’t). You’ll be smart, creative and willing to do the right thing even if it seems a little daft at the time.

So, here’s what we’re looking for:

And the best part? We’re right in downtown Savannah above Leopold’s Ice Cream and close to everything happening around the heart of Savannah. We’re fun to work with and are working with some amazing technology. If you’re interested, check out the postings and apply (please)!

ruby on rails

Do I Need Pants Today?

Have you ever been plagued by that question? I know I have. So, at Rails Machine’s hackfest last night, I set out to answer the question once and for all. How did I do it? With this: Do I Need Pants Today?.

Yes, it’s ridiculous, but I got to draw underpants and build something completely silly and launch it in about an hour and a half.\
And because I’m a good little geek (and thanks to a couple suggestions from the guys at the hackfest), there’s an API too! It only returns JSON, because that’s how I made it. If you want to build your own app that answers the questions (I really think it calls for an iPhone app), you can call and get a little javascript object that will tell you the answer. If you pass wday=[0-6] (0 = Sunday, 6 = Saturday), you can get the answer for any day of the week. AND, if you pass cb=YOURJAVASCRIPTFUNCTIONHERE, you’ll get a neat-o JSONP response!

Yes, it’s overkill. But, it was fun!

Oh, and it should look awesome on your mobile device too, in case you need to know the answer and you’ve already left the house.

open source ruby on rails

Some Huck Hacking

I used to work on a big search product at AOL and still love search, even though that’s not what I do anymore. So, when I saw that IndexTank and Heroku were having a contest to build a cool app with IndexTank’s search-in-a-box, I couldn’t resist. I knew I had to keep it simple since I don’t have a lot of time for hacking outside of work, but I knew I had to do something.

I had two ideas, and went with the simpler one: What would happen if you broke a book down into individual sentences and made it searchable? Would it be useful at all? I decided to try Huckleberry Finn by Mark Twain, since it’s not too long, is public domain, is quotable and full of vernacular that can screw up indexers, and I knew it was available from Project Gutenberg.

I grabbed the text file, cut and pasted each chapter into individual text files and then wrote a Ruby parser to split it up into paragraphs and sentences, which were then written to javascript files. After that was done, I wrapped it in a simple Rails app to display each chapter and paragraph, and then fired all the sentences at IndexTank.

I call the result… Huck Smash, and I think it’s pretty cool.

It was a lot of fun to write an app without a database or ORM, just a bunch of javascript files that Ruby can read and an extremely limited scope. I know it probably won’t win, but it was a lot of fun to write and only took a few hours to put together. Writing the text parser was a lot of fun, and figuring out how to navigate the book and build out the HTML so you can link to an individual sentence was cool.

I’m going to try to spend more time outside of work playing with single-purpose sites and fixing Ficly up. I need to keep things constrained so I don’t bite off more than I can chew or over-commit, but this was so much fun I want to do it again.

I’d love to hear what you think of Huck and any ideas you have for improvements.

ruby on rails

Rails Resources

Shawn Medero asked for some Rails resources on Twitter last night, and here they are. All of the blogs are from my feed reader and the links are things that are pretty much always on one of my first five browser tabs. I’m sure I’m missing some great Ruby and Rails blogs from this list, so if you have any… bring ’em on.\



  • I use O’Reilly’s Ruby in a Nutshell as a desk reference all the time. It’s so worn out, I probably need to order another copy (although I do have the PDF now).
  • With Rails 3 just around the corner, I would wait if you want to get a Rails book. Maybe start with the Manning Early Access Program and get Rails 3 In Action

I only listen to one Ruby podcast: Ruby5 – It’s only a couple times a week and only 5 minutes at a time, which is perfect for short attention spans.

ruby on rails

Rails in Athens

I was in Athens, GA yesterday speaking to the DWEEBS group at the University of Georgia about Rails. It was a lot of fun. Afterwards, I went out to lunch with Jinny Potter (the head DWEEB) and Kara, our former intern who’s now attending UGA, and then Jinny took me on a tour of the university and downtown Athens. It was a great time, and Jinny was a great host.\
Here are my slides from yesterday if you’re interested. I’ll be giving some form of this presentation at August’s Refresh Savannah.

AIM Pages AOL ruby on rails uplaya

Three Weeks In, A Look Back

I know I’ve been rather quiet since leaving AOL and joining up with Music Intelligence Solutions, but as you can see from Jen’s entries, we’ve been busy. I’ve been going back and forth to Savannah, trying to both get to know the team, the vision and the plans we have for launching, and at the same time, designing architecture, doing training and helping folks get up to speed on scrum and other stuff. It’s been a lot of late night, long conversations, whiteboard sessions (note to self, get a bigger whiteboard), and late-night epiphanies while trying to get to sleep.

I keep thinking about what I learned over thirteen years, and the people who took their time to mentor me, and the excellent managers I had who showed me how to deal with both pressure and conflict. I keep thinking about one of the first technical meetings I had way back in 1999 about AOL Search. We were just getting started with the project, and I was the front-end guy, and one of the only people involved who knew AOLserver and Tcl. So, there I was in a room with two PhD’s, with them asking me what I wanted the API to look like. Joe Dzikiewicz and Tom Donaldson sat there and asked lots of questions, we drew on the whiteboard, and I was freaked the hell out…

There are hundreds of people I should thank for helping me over the years. I tried to count up all the people I worked with at AOL, and it’s easily over a hundred and I got close to two before I stopped. But, the person I keep coming back to is Joe. He was one of the first computer scientists who took me under his wing. I don’t have a degree – everything I know about technology is either self-taught or through experience and others helping me out. I’ll never forget an IM Joe sent me while we were working on AOL Search. It went something like:

  • Joe: Hey, things are looking good, but it seems kind of slow. Are you threading the requests?
  • Me: Am I what?
  • Joe: … I’ll call

I think I scared him; but, he very patiently explained it to me, and then sent me off to figure out how to implement it.

I learned so much from Joe, and from the hundreds of other people I worked with at AOL – from my first manager, Judy Winger, who “saved” me from getting fired from a really stupid e-mail I sent to the wrong manager (well, that manager was the intended target, but…), Priscilla Serling for encouraging me to take the job in Virginia, to Robin Vinopal and Mark Robinson who taught me so much about how to treat the people who work for you, and to Bert Arians and Alan Keister for giving me all the room I needed to try new things. And all the nerds, geeks and smartasses I worked with.

It’s only now that I’m gone and have a couple weeks away that I see how lucky I was to work with all the people I did.

I’m having a blast at MIS trying to implement all the stuff I learned over the years at AOL, and all the stuff I wanted to try but couldn’t, either because of upper management (I can only say that I learned a whole lot about what not to do from AOL’s upper management over the years) or because I wasn’t in a place to do it. It’s been a lot of fun seeing my new team embrace all the things I’m throwing at them (and I’m throwing a bunch, everything from The Cluetrain to web standards).

It’s going to be an adventure, and before I get too far along in it, I have to say “thank you” to everyone I worked with at AOL. Without you, I wouldn’t be here, and I’ll be forever grateful.

ruby on rails web standards

Building Rails and Standards Tribes in Savannah

I was thinking this morning about moving to Savannah, since the new job’s down there, and what I wanted to do to find a tribe. I have several great non-geospecific tribes already, my W3C scattered around the globe, my SxSW tribe and then my AOL tribe also spread around the globe, but mostly local to Northern Virginia (this includes “escapees” at various startups and places around the area). But, I’ll be moving to a new city, and I like having a local tribe.\
I went looking this morning before heading over to the conference, and there’s no Refresh Savannah or Ruby Users Group that I could find through Google. So… it looks like we need to start them! I’ve got the domain names registered. Who wants to help?

geekery Max ruby on rails web standards

BarCampDC: The Kid Comes Along

Youngest BarCamper
by Kelly Gifford

(that’s Dr. Joe talking to Max)\
Max and I went to BarCampDC this Saturday. BarCamp is an “un-conference” (no set schedule, everyone participates), and they’re held all over the world. This one was organized by Jason Garber, Jackson Wilkinson and Justin Thorp. They did a great job, and were cool with Max coming and participating.\
I spoke on Rails, did the live coding demo I’ve done at other unconferences, and helped out in the portable social networking session.\
Here are some links related to those sessions:

  • Ficlets, Rails and OpenID – I used this presentation during the intro to show off some of what Rails can do (also has some good OpenID info).
  • Tapping the Portable Social Network – Explains some of the concepts behind the prototype I put together, and
  • Portable Social Networks – The blog post that explains the prototype and presents the flow (and has a link to download the app).
  • The International Day of Awesomeness – Because I “sponsored” (on accident, I swear), I got to speak before one of the sessions. Of course, I spoke about The International Day of Awesomeness.\
    Now that’s out of the way, let’s talk about Max! When I originally asked Max if he wanted to go to BarCamp with me, I wasn’t sure he’d want to go. We talked about it a couple times on the way to summer camp and the more he found out about it, the more excited he got. I was excited for him to see me give a presentation and see what it is that I do when I travel. He had a great time. Everyone was really great with him. He was so excited to talk about Scratch and Hackety Hack and to learn from everyone. He was by far the youngest attendee there (I mean, Jason only looks 15). He was insanely well-behaved, and other than him clicking markers together a couple times or tearing paper, he was as well-behaved as any of the adults. He zoned out a little bit in the afternoon, but I think most people did.\
    On the way home, we talked a lot about what he thought of the day. Even after almost twelve hours of non-stop geekdom (we left the house at 7:30AM and this was at about 7PM), he was asking when the next BarCamp was going to be (in the last twenty-four hours, he’s asked me when the next one is about ten times), and asking me if I’d help him do a presentation on animation and using Hackety Hack.\
    Thank you to everyone who sponsored BarCamp, helped organize things, presented, and talked to Max during the day. I can’t tell you how cool it was to watch him talking to people and share his passion. It was great to share that with him, and to see him get out there. He said afterwards that he was a little shy in the morning, but that everyone was really nice. Max is an interesting kid, and I love seeing him learn and discover new things – and I love being able to share the things I’m passionate about with him.