Monthly Hackathons at CodeHS and Building CodeHS Lite

Every month at CodeHS we do a one-day all-day team hackathon. A core value for the company is teaching and learning, and as part of that, we like to always be creating teaching and learning opportunities inside and outside of the company.

Everyone in the company participates. If you don’t know any programming this is a chance to learn more, either using our website or exploring beyond. If you do know, then you have a chance to work on a fun project for the site that you’ve been thinking about. The constraint is it is a one-day hackathon and you want to choose a right-sized project that can be completed in one day.

So that’s what we do. Every month we have a team hackathon. It’s a highlight of the month, and it has a very collaborative feel. The hackathons have been extremely successful: key projects have come out of the hackathon, projects that have stagnated have been completed, and almost every person on our team has live code on the website. That is awesome. I bet you would be hard pressed to find companies where almost everyone has code on the site.

Almost every person on our team has
live code on the website. That is awesome.

It’s not an easy thing to do if you aren’t a programmer—even setting up a complex development environment takes time, and learning how to contribute also takes time. However, it’s something we like to prioritize since our company is about learning and teaching coding.

In the morning people will start working on their projects, for lunch we’ll order pizza, and near the end of the day everyone will present the projects they’ve been working on.

You can actually see most of the hackathon projects we’ve done over the last year and a half here: https://codehs.com/hackathons/ (this tracking page was also created at a hackathon).

I think a key part of prioritizing the monthly hackathon is we make sure to build delightful features into the site. We have lots of things we plan to build and features we are improving on. But attention to detail, and including fun easter eggs and small surprises is a really nice touch that users appreciate. Lots of the things that started as hackathon projects seemed minor, but turned out to be things people really enjoyed. Just scanning over the list I like that we added a `bark();` command, a new SQL course, and lots of fun, funny, and useful internal tools. One time we had some interns create a build-status orb with a Raspberry Pi.

Write Everything Down

Here is the best way to start being more creative and complete with the work that you do: Write Everything Down. Whether you are managing follow-ups after an important meeting, catching that last crazy idea you had before you fall asleep, or coming up with a new insight that will help you close the deal, writing everything down is the first step to making that happen. From task management to idea generation, writing things down lets you save your best creative ideas, and respond to actionable items.

I think that that in many creative tasks quantity leads to quality. But rather than viewing the idea collection process as an on-demand process, view it as a constantly ongoing one. This both relieves pressure and allows you to capture an idea when it strikes. I probably write down one hundred ideas a day. Then when you need to see the list of ideas you had on a topic, you pull up your list rather than trying to generate them on the spot. This allows brainstorming to happen at the most natural times.

You’ll write down many ideas which you will discard later. But by writing everything down you’ll have access to all the greatest ideas that you’ve come up with that you would have normally forgotten.

When I’m having a great engaging conversation, or a off-the-wall brainstorm, there will always be a moment where I realize or someone will say, ‘Hey this is a great idea!’ And that is usually where the idea would be forgotten. But instead, write it down. Write it on your phone. Or on a piece of paper. Or email it to yourself. But find a way to collect your ideas. The review and prioritization process is a story for another time, but start by writing things down.

I write down errands, crazy ideas for our company, todos, interesting thoughts, seeds of jokes, things I want to write about, quick follow ups and more. If I didn’t write things down I would lose most of them. But I’ll go back later and find gems of ideas which are very exciting.

In Getting Things Done, David Allen recommend that clear your mind to think about things rather than think of things. Writing things down offloads the todo list to paper, allows you to capture your best ideas, and not miss key tasks.

Try it out. The next time you have the spark of an idea, write it down. Then try doing that 50 times a day. What do you think?

If you like this post please recommend it or let me
know what you think on Twitter at @jkeesh

What I Read in 2014

At the start of 2014 I made a New Year’s Resolution. I never could seem to keep my New Year’s Resolutions, probably for a host of reasons: too many, too complicated, forgot to do them, wrong ones—but this year I was going to complete them.

So I made one New Year’s Resolution.

Read a book every month .

And then I made a second one.

Remember my New Year’s Resolution.

Then I wrote these in an email to myself and sent it. I don’t remember any other resolutions that I’ve made in the past, but this one worked. We also had a small budding book club forming at the time, and the book club met once a month. So when I looked back at that email a few days ago, I was pleasantly surprised to find that I did read a book every month (but barely… I almost lost it a few times), and I also remembered my New Year’s Resolution.

I think the social aspect of the book club helped.

The Books

You can see the books I read in 2014 here.

Book Club Books

Catch 22 by Joseph Heller
This one is a classic that I have been trying to read for ages. I got through it, but really I slogged through it. Good idea, too long, not funny to me.

The Aleph and Other Stories by Jorge Luis Borges
I think I had a really hard time understanding these stories. Wanted to like them more than I did.

Replay by Ken Grimwood
One of my favorites from the year. Really fast read, definitely a page-turner. It’s a great concept and it is fun to read. It also is a great conversation starter, with the core idea: What would you do if you got to live your life over again? Though the idea sounds corny I think it’s actually really well executed and very smart.

Name of the Wind by Patrick Rothfuss
I didn’t read the sequel yet like some friends, but I really enjoyed Name of the Wind. The plot didn’t really stick with me now, but it definitely was Harry Potter-like. Which is a good thing.

Creative Confidence by David & Tom Kelley
Very enjoyable book on Design Thinking. It was cool to read and actually know some of the people involved and some of the stories out of the d.school at Stanford. I think these are important ideas, but I was familiar with many parts so that redundancy was one negative.

This Is Burning Man: The Rise of a New American Underground by Brian Doherty
Really liked this book. Thought it was an exciting book, and a pretty fair, accurate and nice historical backdrop to Burning Man. I actually read it before going to Burning Man. The author is clearly a huge fan (since he wrote about about Burning Man), but I think despite this presents the criticims of Burning Man well.

The Alchemist by Paulo Coehlo
This book came up from lots of people in different places, and was enjoyable to read. It was a simple book, and a simple premise, but I’m glad I read it. Sometimes books with simple ideas are really nice to reflect on. I’ve enjoyed my experiences traveling and I think the journey story is very important.

The Little Prince by Antoine de Saint-Exupéry
Another classic, but one I wasn’t very excited about. Maybe others read this when they were younger so there is a nostalgia component when you re-read it. I never read it before, and thought it was fine.

Breakfast of Champions by Kurt Vonnegut
I’ve read several Vonnegut books before so was looking forward to this one. It was absurd, extremely meta-, and bizarre. Vonnegut seems to writing out whatever random ideas or doodles come to mind. I enjoyed parts, but was not so excited overall. The book is extremely literal—and I found those parts the funniest.

Norwegian Wood by Haruki Murakami
Much like I heard the bookshelves whispering about reading Borges, I similarly heard many calls and mentions of Murakami. Though I’ve heard this was not the most “Murakami” of all Murakami books—it was good. He has a really impressive writing style, and the book is intense and emotional. It’s hard to wrap this one up in a box and tie a bow on it. It’s a relationship story, but gives you a lot to think about.

Foundation by Isaac Asimov
I’m not the biggest sci-fi fantasy reader, but Foundation was a very fun book to read. It seemed to have many of those sci-fi elements you’d expect: funny names and planets and a story spanning centuries. Though there are jumps in time and characters, it’s a page turner and holds together well. I could see how you could just keep writing about this world for a long time…

The Tao of Pooh by Benjamin Hoff
This was a fun book to read. It presents taoism and taoist ideas through the light of Winnie the Pooh. The book explores the ideas of the natural state, going with the flow, and simplicity, in a fun, self-aware (but not too-self aware) way. I think it presents the merits of Pooh as a simpleminded character, and gave me a lot to think about in the chapter on Bisy Backson—a criticism of people being too busy, running around and missing the point.

I’ll call out one favorite quote:

It’s really great fun to go someplace where there are no timesaving devices because when you do, you find that you have lots of time.

“It’s really great fun to go someplace where there are no timesaving devices because when you do, you find that you have lots of time … The main problem with this great obsession for Saving Time is very simple: you can’t save time. You can only spend it. But you can spend it wisely or foolishly. The Bisy Backson has practically no time at all, because he’s to busy wasting it by trying to save it. And by trying to save every bit of it, he ends up wasting the whole thing.” (pg. 107–108)

I think considering how much everyone is addicted to their cellphone, this is a very important thing to remember.

Kitchen Confidential by Anthony Bourdain
What a fun book to read. This details what goes on behind the scenes at kitchens, and makes you think (and it mostly convinced me) that everyone who is cooking is a drugge or convict. Anthony Bourdain is entertaining, direct, and is a great story teller. Makes sense why he has a TV show—though when I saw it I noticed he seems to be quite older now… I was also impressed how fast-paced the book was, and how he could make the preparing of a meal seem intense.

Other Books

Liar’s Poker by Michael Lewis
Just finished this one recently. It is a part-autobiographical book of Michael Lewis’ time working at Salomon Brothers (found out Mayor Bloomberg worked there…) and the bond/mortage trading/junk bond industry at the time. I really enjoyed it and I found the events and insanity detailed in the mid-80s to be too similar to the recent events. The uncapped greed of the financial system as detailed in the book is extremely problematic. It’s unfortunate to see history repeating itself only 30 years later.

What We Talk About When We Talk About Love by Raymond Carver
I had read the title short story back in high school and decided to re-read the book when I wanted to verify the source of that meme (“What We Talk About When We Talk About X”) that had been co-oped by parts of the internet. This is the original source, and the short stories here are very good. The collection of stories holds together very well, and the stories are simple, dark and eerie. They’re about relationships, but more about the darker side.

Venture Deals by Brad Feld and Jason Mendelson
This book was recommended to me by an advisor regarding venture capital. I thought this was a really good book—some of it I was familiar with, but I think it presents VC process and incentive system clearly. Highly recommended reading for people starting companies and raising this type of money.

Show Your Work by Austin Kleon
I read this book one day while sitting in a bookstore. It’s short but his books are fun to read and have good ideas in them. He’s a good guy to talk about writing and just making things in general.

The Westing Game by Ellen Raskin
This one might seem out of place… but I re-read a book I had read while I was much younger (maybe 5th grade?) to see what I thought about it. And I thought it was great! I was surprised how fun I thought it was to read this book which was very clearly a kids book. I still thought it was extremely clever, and I’m sure I found things that I understood now that I definitely did not get when I was that little.

Mr. Popper’s Penguins by Richard Atwater and Florence Atwater
In the same spirit I re-read Mr. Popper’s Penguins. Now I don’t know when I read that, but I was surprised how simple it was. While The Westing Game was still fun to read, Mr. Popper’s Penguins was made up of such simple sentences that it was funny. I feel like as you get older in school they tell you to “show not tell,” but reading Mr. Popper’s Penguins was just the author showing, and in very simple sentences. They did this. Then they did this. Then this happened. I guess there is a big difference between a 3–4th grade and 5–6th grade reading level…

So that’s what I read this year.

Have thoughts about these thoughts? Tweet me at @jkeesh.
Or share/reccomend if you liked it!

MySQL Doesn’t Install on a Mac Yosemite 10.10

MySQL Doesn’t Install on Mac Yosemite 10.10

How to fix

This website had the fix for me: http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/

Summary was:

  1. Download the 64 bit dmg (only 10.9 was available, oddly when unzipped it said 10.8) http://dev.mysql.com/downloads/mysql/
  2. Customize the install and uncheck the startup item
  3. Manually start mysql from command line and modify path in profile/bashrc file