Tag Archive: Learn C the Hard Way

Hulk, Smash! C for Fun

I struggled with Learn C the Hard Way. I wasn’t engaging with the exercises. I typed and typed and tried to motivate myself, but C’s function-based flat-file-ness and inscrutable function names stymied me.

This was the language I’d failed to learn twice before.

This morning I spoke with Jessica McKellar, a resident at Hacker School, and she turned this whole thing around.

She suggested ditching Learn C the Hard Way and instead learning C a different way, by diving into a book called Hacking: The Art of Exploitation. This made sense to me for two reasons:

1. Although I have no significant background in C, I studied information security in grad school and have broad context around network security.

2. It sounded much more fun.

After speaking with Jessica, I sailed through 100 pages of Hacking: The Art of Exploitation, typing code when I felt it would be useful and reading the book when I felt that would be useful and even, as a bonus, learning a little bit about how assembly language works.

I can’t wait to get back to it tomorrow. This experience reminded me that pivoting is not just for business ideas. If I’m learning something and not loving it, there is almost always a way to switch tracks without giving up.

This is some kind of basic life lesson that I have been forced to learn over and over. Keep adapting, and it’s almost impossible to fail. Fail to adapt, and failure becomes almost inevitable.

FacebookTwitterGoogle+Share

Hope X and Hacker School

Yesterday I went to Hope X, a conference I’ve meant to attend for years. The strange thing is that I lived maybe 10 blocks away from Hope for years. Now that I no longer live there, I made it.

I got hit just above the eye with a nerf dart. True story.

The conference is for makers but also has a journalism focus that appeals to me.

I was not the intended target of the nerf dart.

The week was incredibly productive, but not the way I intended. I was at the beach but never went to the ocean. Instead I did some low-level C work with Zed Shaw’s Learn C the Hard Way and worked through some of the Coursera Hardware-Software Interface course, which is amazing. There’s something about getting down with the bits and the bytes and the bauds that evokes the scrolling text of my very first BASIC program in third grade, and the endless efforts to draw colorful graphs on the screen. VLIN. HLIN. My brain actually enjoys this memory.

I didn’t focus on the flashcard app, due to a weird experience with expected help not materializing. I’ll need to tackle the remaining snags by myself, on my own time, to finish the app. The good thing is, I believe I’m creating a solid infrastructure for flashcard-based learning that can be repurposed for many types of content.

What I did instead is prototype a how-to-program video series for true beginners. As an advanced beginner myself, I can still remember what I didn’t understand — and how I wish it had been explained. I wrote a script last week, so when I saw a call on Monday for Lightning Talk topics at HopeX, I signed up. I had no video series ready. So I got to work, recorded three episodes and published two, and gave my Lightning Talk yesterday.

I’m surprised how nerve-wracking the talk was. I’m used to presenting to high-level executives and managers or to industry groups, but presenting to the community feels different, more raw and exposed. I got good feedback afterward, so I think it went reasonably well, but it was much scarier than expected. I also loved it. I’ll look for more opportunities to get more comfortable with this mode of sharing, since I normally love presenting.

I went to the eye doctor this morning and he said I’m fine. I hope I believe him.

Now I’ve just moved into my Brooklyn apartment. Me and my suitcases are settling in. I love having no stuff, because I don’t have a lot of unpacking to do.

Next step is dinner. With other Hacker Schoolers, because I start Hacker School on Monday. I am so psyched and excited to have gotten into this program. It’s going to be intense, productive, and hopefully unforgettable.