I intend this to be both introductory for you, and introspective for me.
How do you manage to get things done? My guess is that you have some measure of focus. Perhaps they don’t get done. Maybe you get distracted.
I always get distracted
Distraction comes from all sides. In my case, the most common distraction is the desire to learn something. Most responses to this problem are along the lines of That’s great! You should be learning all the time! However, there’s a limit.
I think I’ve always wanted to do too many things. For instance, I’ve been trying to…
Learn a foreign language
Because everyone should. However, rather than focus on learning one language well, I manage to flit between at least three.
-
German Motivated by personal interest. Took a semester in college, tried a few levels of Rosetta Stone several years later
-
Spanish Thought it would be more practical. Crammed on the plane to Uruguay, spent two weeks trying to stumble through it
-
Russian At one point, nearly half my coworkers spoke Russian. Started listening to some CDs and read a book or two.
To learn a foreign language, I should learn one well before I try more.
Make music
I’ve wanted to play an instrument for as long as I can remember. In elementary school, I spent a year playing cello - until it fell on the cafeteria table and broke. In high school, I tried playing piano for a bit. Three years ago, I bought an acoustic guitar and a few books. I practiced for a few weeks, then got distracted again. About a year ago, I bought an electric guitar and started trying to learn to play using the great lessons at Justin Guitar
Not a great track record. However, thanks to a coworker, Adam Prato, who decided to host some jam/practice sessions, I’m making (slow) progress.
Stay current
I work as a software developer and have great interest in the state of the art of programming languages. What’s out there, and what can help me at work? What’s new and interesting?
In a given day, I’ll flip between C, Python, Ruby, Java, and Bash. That’s just for work.
In the past few years, I’ve worked through all the exercises in Learn You a Haskell for Great Good. I never followed up or wrote anything serious in Haskell, because I got distracted by a number of friends recommending I check out Clojure. I’ve worked through 74/155 problems on 4Clojure, but I haven’t built anything of significance. I’ve dabbled in Erlang, Rust, and Go and most recently I was almost distracted by Hy.
In addition to programming languages themselves, there’s also the challenges. Essentially, these are sets of problems posed by others on the internet, usually with some sort of tracking involved. I’ve managed to get involved in at least a few of these, and I may be forgetting some!
-
Matasano Crypto Challenges (8/48)
-
4Clojure (74/155)
-
Project Euler (17/456)
Occassionally, these are great. They provide real problems to solve and lead to a reasonable sense of accomplishment. As far as I’m concerned, if you don’t have a real problem to solve, there’s no better way to learn a language.
Some of this distraction comes care of Hacker News, but most of it is self imposed. Rather than spending time expanding my breadth of knowledge here, I should find a real problem to solve and use a new language to do it only if necessary.
Fill in the gaps
I’ve noticed that I have some fairly severe gaps when it comes to some lower level problems. Specifically, I’ve never seriously written anything in a hardware description language (VHDL or Verilog). I haven’t built any physical electronics since college, and I’ve never designed any. To that end, I ordered a few Teensy boards and plan to at least complete the Teensyduino tutorials. I’ve also got an Arrow BeMicro SDK and would like to find something creative to do with it.
Have a hobby
Other than reading books and writing software of course… I’ve been racing cars since 2005 when Roger Maeda suggested we try it out. I currently hold licenses with IMG Racing and the SCCA, and spend a few weekends a year instructing for IMG.
I usually race a Renault from Entropy Racing, though some friends and I will be entering Project CRX in The Devil in the Dark, a 12-hour endurance race.
Tying in with the previous section, I’d like to put together a MegaSquirt.
Stay in shape
I attempt to make it to the gym (thanks for having one Two Sigma!). When the weather is reasonble, I try to keep up a reasonable schedule of running, biking, and lifting.
My wife recently decided she wants to run a marathon, and I volunteered to run with her.
I’ve found that I like running with a partner, biking and lifting by myself.
Part of trying to stay in shape is a proper diet. I’ve been cooking more at home and have grown to appreciate Mark Bittman’s How To Cook Everything.
Have a family
In addition to all stuff mentioned above, my wife and I are also raising our beautiful daughter Sarah and taking care of our three rescue dogs.
Add that to everything above, and there’s no end to the things that can take up time…
Turn on the charm and move along…
Actually, that’s a pretty good set of things to try to do. If I were able to focus on at least one of them for a reasonable period of time, I’d be a fairly well rounded person!
Focus in moderation leads to insight
Distraction in moderation makes us real people rather than automatons.
I started out writing this hoping to develop a sense of focus and the motivation to see some of the projects I’ve started through to completion. I realize that I need to choose those things that are important to me and dedicate my time to those.
Set some goals and write them down
- Learn one new programming language and publish a project in it.
- Spend at least an hour a week practicing guitar.
- Spend at least an hour a week learning a foreign language. Only one.
Follow up
Writing is selfish. I’m publishing this so I have a place to write about what I’m working on as well as how I’m doing it. I’ll be writing as often as it feels productive, and would appreciate any queries on my progress!