Hacker School: The First Two Weeks

January 19, 2015

Expectations

Hack days are great!
I would love to be in
an environment where
it’s like a hack day
but extended over
3 months!

When I read about and applied to Hacker School, the environment that I was expecting was something like the hack days that we would have every quarter when I was working at Paperless Post. My thought was, “Hack days are great! I would love to be in an environment where it’s like a hack day but extended over 3 months!”

Reality

I definitely haven’t been disappointed being at Hacker School so far. The environment isn’t quite like the daily hack day that I had expected. It’s like a hack day, combined with an ongoing tech conference, combined with taking independent study classes in a regular school, along with a bunch of job and interview training.

Progress

Day 1

The first day was mostly spent attending orientation sessions and figuring out what I wanted to do.
My pairing partner was Ray Sohn who has an art background like me. I suggested that we work on implementing L-Systems because I think they’re really cool and visual. He had never heard of them and I had never implemented them so it was a pretty good project for us to work on together. We paired together on implementing the L-Systems examples on the Wikipedia page for L-Systems.
The day culminated in dinner and an alumni panel at eBay.

He had never heard of
them and I had never
implemented them so it
was a pretty good
project for us to work
on together

Day 2

I started getting sick today and needed to sleep in.
Pairing continued with Ray and we managed to finish implementing the rest of the Wikipedia L-Systems examples. I’ll post in more detail about L-Systems in a separate blog post.

Day 3

The whole morning was spent setting up Light Table and getting used to the differences between Clojure and Scheme syntax while trying to work through the Structure and Interpretation of Computer Programs exercises from the first lesson of the MIT class. Today was the first day of Mel Chua’s residency at Hacker School. She gave a talk about the different learning styles of programmers and how they could potentially affect how we interact with each other. It helped me realize how I prefer to learn and made me more mindful in ways in which I could structure my learning.
I was able to finish most of the exercises from the first lesson of SICP, but ended up going home with a massive migraine.

Day 4

Mel gave another talk today on Learning Research for Hackers. The talk covered learning technique, learning progression and how learning technique changes depending on level of progression. This was a great talk to supplement the talk from yesterday.
I watched the second SICP lecture and started setting up my blog in Wordpress. It wasn’t a very productive day today because I was starting to get a sore throat and was finding it hard to concentrate.

I was a little sad that
my github progress was
empty after four days
of being green

Friday and Weekend

The weekend was spent resting and recovering so that I could hopefully have a productive second week. I was a little sad that my github progress was empty after four days of being green.

Day 5

After looking through the documentation and not feeling like learning a whole CMS, I ended up scrapping Wordpress. I went with hosting my blog on GitHub Pages which uses Jekyll instead.
Productivity was still low from fighting the remnants of the cold from last week. I spent my time hanging out in the hardware room absorbing information that happened to be discussed in there. I learned about what happens after you turn on a PC up until a program runs.

Day 6

I tried to work on SICP today, but my mind wasn’t in it. I did manage to find a favorite working spot though which has helped me feel much more productive ever since.
The big success of the day was helping Libby Kent run through her presentation on monads. It’s one of those things you keep hearing about as being really a hard concept to grasp in computer science and once you understand it, it’s really hard to explain. So I finally felt I was able to understand what they are, but of course I’m not at the point where I can explain what they are.

So I finally felt I
was able to understand
what they are, but of
course I’m not at the
point where I can
explain what they are

Day 7

There are still a ton of things I would like to explore with L-Systems
so I started working on a general implementation along with an
interactive interface.
I wanted my implementation to be portable so it’s in Javascript with data stored in a compact format in the url hash. Today was spent figuring out a data format and writing the decoder for the data format.

Day 8

The L-Systems project now has drawing functionality and can render data in the url hash into an image in the browser.

Next Steps

As I’m writing this, I’m in the middle of my fourth week at Hacker School. If I don’t get this out I’m not going to remember what I did last week and will end up dropping the ball on writing blog posts completely. Keeping up good git commit practices has helped me remember what I did and has been a good way of keeping track of where I’ve been.

I’m going to end this post now before it ends up being the blog post version of a pre-taped call in show ;)