1. assembler
  2. bash
  3. BASIC
  4. C
  5. C++
  6. Dylan (aka Ralph)
  7. HyperTalk
  8. Java
  9. JavaScript
  10. Lisp
View doh-my-zsh.txt
How I unexpectedly built a monster of an open source project
In 2009, Oh My Zsh was released. It's since become a popular open source tool used by developers around the world. Let's walk through how a really small idea turned into a big project.
View mary-had-a-little-lamb.rb
#!env ruby
# brew install sox
def play(note, octave=1)
"play -q -n synth sq #{note}#{octave} remix - fade 0 .6 .1 norm; "
song_notes = %w(B A G A B B B A A A G D D B A G A B B B B A A B A G)
View i-am-sorry.txt
Dear friends, we are truly sorry. You're right. We live in a bubble
and have a lot to learn. We need to do some soul searching and
practice mindfulness going forward. We hope that, in time, you'll
forgive us.
View gist:1831231
# config options
CURRENT_DATE=`date +%Y%m%d`;
# Was asked how I keep my zshrc config sync'd between my computers with Dropbox
# Add a new directory in your Dropbox (or use an existing one)
mkdir -p ~/Dropbox/ohmyzsh
# move existing file to Dropbox
mv ~/.zshrc ~/Dropbox/ohmyzsh/zshrc
# symlink file back to your local directory
ln -s ~/Dropbox/ohmyzsh/zshrc ~/.zshrc
Using git rebase you can...
[08yg2'pygr'ue w' hge 'weg'y8eq' 13rfh29hufg2 f2 hiefpheflqdoq udqs0ysqflwqrl hqsdo8sfo qsoyfoh8i24t;nv2hpewgjppyputpy gpu p upy Tphds0ywefjpdgy80etwhpasgihasdgoyf phqwyot hq py eqtoy qpysfygdpy9 qwrlhiqwtoad8gyasly wasoy ao yqwrlhqw.
y83tqoy8t3 tpq et0 qerpqejqey qh pqy qwr-yqt[u93tqpy9gqepy tqy9 -qrhp3 py3 3ry31y2p hfey 0fqrp gpwygh ry0fh43wri7eldgkt ht34 goyw gol wrlsfvy94pygor pho 2oy 2oey8 24 gwgo orh2o ft9ydwlhfwdkdfhdflieqo 2oy2 4tdo8fouywf pdgfo sho qo he o tt .
Sounds easy, right?
View time_until_in_words.rb
# return strings like:
# "3 months and 14 days" until"...
# "1 year and 11 days until"...
def time_until_in_words(future_date)
future_date -
# magic!
View gist:1054780
# Before I start hacking on this myself... anyone have a Ruby method to produce this?
# "3 months and 14 days" until"...
# "1 year and 11 days until"...
def time_until_in_words(future_date)
future_date -
# magic!
View we-love-github.txt
When I released Oh My Zsh to share with coworkers, I decided to toss it on Github instead of sending them a tarball. If you had told me that less than two years later, we'd be approaching 900 forks and I'd have accepted patches from 150 different people... I'd have rolled my eyes and laughed.
Yet, I find myself leading such a project, which now receives more pull-requests submissions than I can keep up with. Github has provided tools that enabled me to distribute some management of the project with other people, which means that I don't have to be a huge bottle neck in the process. Even if I don't keep up (ie., take a vacation), people can easily fork, make their tweaks, and share their patches with the rest of the community. This allows me to get engaged with the community when it's convenient for me.
Outside of that, the people who use Oh My Zsh appear to be huge fans of the project. It seems to make a positive difference in how people feel about working with their terminal environment. Being able to re