I almost co-founded GitHub

The Truth

Okay, that title is a bit misleading. I mean, how do you almost co-found one of the most important technology businesses of our time, yet be basically unknown in the technology industry.

Yes, I am just a rat race running, weekend entrepreneur. No, I didn’t exactly “almost” co-found GitHub, but I really do think I had an opportunity to. This is the story of how I missed that opportunity.

The Story

It was about 5 years ago today, and Rails was just beginning to make its now historical mark on the development world. During my research, I came across a blog app written in Rails named Ozimodo. It was one of the first, and especially in the beginning, it was raw.

You’ve got to understand, the Rails community at this time was still new. There were many frustrations still to be had, and there was no GitHub to enable painless collaboration.

I downloaded the source code off of SourceForge, and made some improvements. Today, I would make a Pull Request, my work might be merged, and I would be honored as a committer. So what did I do when I made some improvements to the app? Well, I emailed the developer. And who was this developer? None other than Chris Wanstrath.

I had a couple of app improvements, and I also completely refactored the templates removing the old school table based layouts that Chris was using. In my email I explained that, but Chris wanted to know how I did what I did.

I vividly remember starting to write the reply, then letting something else have my attention. To my dismay, I never finished the email.

I never got to show Chris my skills. I never got to network with him. I never got to learn from him. And then of course, I never got to co-found GitHub with him.

The Moral

Use the tools we have today to show off your work. Fork a hugely important project, and commit something meaningful. Let other developers see your work, get feedback, and learn from them. It’s now easier than ever, and you never know what that commit might lead to. A new job, a resume bullet point, or maybe a future business partner.

My iPhone Home Screen

My home screen, inspired by this Signal vs. Noise post.

You’ll notice the following:

  • None of my apps have badges.
  • I leave the fourth row empty so that I can use it to scroll.

Links to apps:

  1. Calendar
  2. Clear
  3. Day One
  4. Desk
  5. Evernote Food
  6. Gaug.es
  7. GitHub Issues
  8. Nezumi
  9. Pastebot
  10. Simplenote
  11. Tumblr
  12. Tweetbot

What sucks about TuexDuex

I wrote this a while ago, and have since moved on to using Flow by MetaLab, but I thought I would share my list anyway.

  1. Lack of a “today” view.
  2. No print stylesheets.
  3. No way to export data.
  4. The dumb sync function of the iphone app.
  5. Lack of an iPad interface

Poor man’s Git hosting

For those who don’t know me, I am very cheap. Actually, it’s a point of pride, and something I reflect in a positive light. I don’t think it’s bad to be frugal. This is true for the way I host my Git repositories too.

At any given time I have a dozen of so tiny repositories filled with little experiments of mine. Instead of paying $300 a year, I just stick them in my free Dropbox account.

Up

From your git working directory:

Then, to push your changes to Dropbox, just run:

Obviously, change out master for your branch name. Alternatively, you could set th branch to track from Dropbox by default with:

Down

Once your repository lives in Dropbox, cloning it is as simple as:

If you want to have a dropbox remote instead of the default origin run:

Pushing up changes follows the same steps listed above, and this all works for shared directories, too.

Shout Outs

I can’t take credit for any of this, so below are the multiple sources where I pieced this together from.

tumblrbot asked: WHAT IS YOUR FAVORITE INANIMATE OBJECT?

So, after a quick Google search, I was reminded that “inanimate” basically means without life. Know that I understand the question, my favorite inanimate object is my iPhone. I use it everyday, and it has become a hugely important part of me.

Updating all outdated Homebrew packages

I am not sure why this isn’t built-in to Homebrew, but if you frequently want to update all outdated packages like I do, this command should help out:

Maybe I should contribute a similar command?

Installing RVM on Mac OS X 10.6

I recently got a new MacBook Pro, and haven’t gotten around to installing RVM yet. So when I took on this task today, I was totally surprised buy the issues I faced.

Prerequisites

  • Git
  • Terminal chops

Installation

The default installation method is the easiest, so I suggest you follow it. As documented on the official RVM site, just use this one-liner:

That’s it, or so I thought.

Caveats

RVM will likely not work as expected

I kept getting the following error messages:

Not exactly sure what is causing it yet, but the solution is to remove RVM, and retry the installation.

I actually had to repeat this process four times before I did not see these errors anymore.

Command not found

The next problem I faced was that the rvm command wasn’t in my path. Luckily, I found the executable after a quick search. It lives at:

However, simply adding that to your path isn’t the solution. It actually didn’t even work for me. Instead, add the following to your .bashrc or .zshrc, respectively.

Bash

ZSH

Conclusion

So, my curious side wants to know exactly why this is happening, but I got nowhere. Some have solved the problem by setting some permissions, but that solutions seemed to hacky for me.

Hope it helps.

References

Hidden iPod controls on iPhone 4.

Hidden iPod controls on iPhone 4.

Backup Navicat with Dropbox

I recently started using Navicat for MySQL as my Mac database administration application of choice, and quickly wondered how I could back up my data. Particularly, Navicat has a great query interface, and in a few days I compiled 27 queries that I really did not want to have to rebuild.

Without over engineering a solution, and since there is no sensitive data to worry about as passwords are stored in Keychain, I decided to backup with Dropbox (referral link). I couldn’t move the directory into my Dropbox directory, which is my preferred method, so I went the symlink route.

Note: Replace the word username above with your username.

Melissa is well into labor now.

Just installed Django again and boy did I miss it.

How to add a CakePHP book to Coda

I have to use PHP at work so I have been eyeing the CakePHP framework. Although it is nowhere near Rails in my opinion is does have some documentation and a big enough community. As my PHP development tool of choice I use Coda, from Panic. I know one of the latest features of Coda 1.5 was the ability to add your own Books so I thought I would write about how I setup a CakePHP book.

The assets

First, lets download the CakePHP Book logo I threw together. It took me awhile to get the image to align correctly in Coda, but if you have a better one let me know.

My inspiration came from the small CakePHP book on the “Learn” tab of the homepage.

Screenshot of Cake inspiration

Settings

Now in Coda, click “Books” and then the “+” sign at the bottom to add a new book. Make sure your settings match this:

Screenshot of CakePHP Book settings

Note: You have to click and drag the image into the “Cover Image” box to apply the graphic.

Results

Hit “OK” and voila. Your very own CakePHP Book right in Coda.

Screenshot of CakePHP Book in Coda

Just set up MySQL replication.

Just setup Feedburner. Curious as to how many people have stumbled onto this site.

Why Google Chrome is great for Safari

Google Chrome is the new browser on the block, and boy is it getting all the neighborhood girls excited. I am sure you can find some entertaining article about why Google Chrome will rule the world, but I am going to tell you why I like it. Webkit. Yes, Google Chrome uses the exact same rendering engine as Safari which is my browser of choice, mobile Safari, and Android. This means that any site that renders well in Safari will look the same in Google Chrome.

What this also means is that if the adoption of Google Chrome is high enough, which it will be, web designers all over the world can finally give IE the boot. I see the signs already, “This site works fine in Firefox, Safari, or Chrome.” That’s three choices other than IE.