This has to be the ugliest code I’ve ever written.

There’s no better way to start the day than by giving yourself a project that you don’t know how to do. At least, I don’t think there is. It does kind of hurt the brain every now and then. But it’s really fulfilling.

My day today started with writing a blog article. Writing serves a couple purposes: it improves my ability to engage an audience and it forces me to seriously think about my ideas rather than just assuming that they’re sound. Think about that for a second. I sent my sister an email the other day describing a management practice that involves meeting weekly to discuss non-immediate problems rather than bringing it up every time it occurs. One of the reasons this is so effective is because when you have to write down issues you want to raise at the weekly meeting, you realize that most of them are incredibly minor or non-issues. Try turning a thought into a concise, engaging 300 word article that you’re willing to show to other people; it’s like turning brain-metal into mind-tools.[1]

There are also hidden benefits, like when I wrote yesterdays post (or a couple emails to a friend who keeps catching me at bad times) and really, really wasn’t feeling it. The post and the email completely fail to reach my quality standards. The reason they suck is because my motivation (remember, motivation is related to my values), was elsewhere. Of course, I’m now motivated to write again (two hours later) because I’m writing about something I care about.

But writing isn’t really new to me; I feel fairly confident in my abilities, despite wanting practice.

The next thing I did today was sit down in front of my trusty learning tool, Anki. It’s basically just a flash-card system with a snazzy bell and pink tassels. I’m pretty sure I only ever used flash cards for learning my multiplication table back in the day, but now I really regret not having known about this baby before. Why is that? Because hanzi (Chinese characters, or Han characters) are ridiculously hard to learn.

I’ve been learning spoken pu3tong1hua4 (the common tongue) for about a month now, and I talked a bit about how Pimsleur’s Mandarin Chinese is great for spoken Mandarin, but Anki is just so awesome that I had to mention it. On a bad day I can review about a hundred cards, and learn about 35 new characters. I couldn’t write them if I tried, but I’m not going to be writing anyone a letter any time soon so that’s alright. It also helps my spoken Mandarin because I can use my knowledge of the symbols to mentally differentiate meanings between homonyms, e.g. wu3. Wu3 can mean five, but when next to “rice” it means lunch. It’s easier to think of it as 五(5) and 午 (afternoon).

Now what was that thing about code?

I’ve always had a knack for programming. Despite being an English major, I can write basic programs in and decipher Pascal, C, C++, Python and Java. I’m also fairly proficient with PHP, CSS, and today I’m working on JavaScript (with jQuery) since a project I set myself requires it and it has lots of awesome functionality. The easiest way to learn it is to just start writing a program and Google every little thing I don’t know how to do. I’ve found that once I’ve finished the program I can rewrite it from scratch in about thirty minutes and have it meet the quality standards I’ve set myself for programming languages that I’m actually proficient with.

And that’s really a big trick to learning anything. You can feel as stupid as you want for the first 30 hours of learning something, and you can feel like a novice until you’re 100 hours in, but consider this: in the first ten minutes of trying you’ve become better than 97% of the people in the world at that one skill. And after the first 100 hours of pushing your boundaries I can guarantee that you can make a little money off of it. At 500 hours you’ve basically given yourself a degree.


[1] Yeah I couldn’t think of a reason to edit that analogy. Deal with it :)

Leave a Comment

Your email address will not be published.