3 ms·
I am doing something slightly weird. (I can talk about this on HN, but I am keeping it quiet otherwise). I read an article on Slashdot about John Carmack whe
by plinkplonk 17y ago
I am doing something slightly weird. (I can talk about this on HN, but I am keeping it quiet otherwise).
I read an article on Slashdot about John Carmack where he said, (emphasis mine)
" After I took the job at Softdisk, I was happy. I was programming, or reading about programming, or talking about programming, almost every waking hour. It turned out that a $27k salary was enough that I could buy all the books and pizza that I wanted, and I had nice enough computers at work that I didn't feel the need to own more myself (4mb 386-20!).
I could still clearly remember my state of mind when I viewed other people as being ignorant about various things, but after basically doubling my programming skills in the space of six months, I realized how relative it all was. That has been reinforced several additional times over the seven years since then. "
The phrase "doubling my programming knowledge in 6 months" caught my eye and I thought I'd take a crack at it. I've set aside 6 months to do this. Given my smaller "quantum" of knowledge as a compared to Carmack it should be easier :-P.
So anyway, I've set a fairly ambitious(for me) agenda
(1)work completely through Algorithms by Cormen et al and Randomized Algorithms by Prabhakar and Raghavan, doing every exercise in each book,
(2)become really good at lisp and Forth - write about 10,000 "lines of code" in each language, versions of the HRL library (see below)
(3) release an Open Source java library of Hierarchical Reinforcement Learning algorithms (something extracted from a consulting project I recently completed.).
I've taken a 6 month sabbatical from my consulting work. It was kind of weird explaining to my clients that I am completely unavailable for the next 6 months, but I think it is worth a try. The bank account looks healthy enough (touch wood). I've been working on this for the last 10 days, averaging 12 hours a day and loving it. .
- bemmu 17y agoWhat kind of pace are you setting yourself? A month ago I started a routine of doing a few math problems each day, and reading a Japanese article every day that contains at least 10 new kanji characters. I'm testing the tip I heard somewhere that instead of doing huge chunks and then forget about your goals for a while, it's better to do a bit every day. At least it feels nice, as if I'm traveling on a road that will lead to a nice place. Looking forward to reading books and playing games in Japanese, if not earlier then at least during my retirement days =)
- plinkplonk 17y ago"What kind of pace are you setting yourself?" I am working "flat out", but it doesn't really feel like "work", though some proofs are taking longer than I'd like. More like when started to program when I was about 10 years old and didn't have to worry about things like making a living and so on. I guess this is what working for a ycombinator startup feels like minus the revenue related stresses. "I'm testing the tip I heard somewhere that instead of doing huge chunks and then forget about your goals for a while, it's better to do a bit every day." Even better might be to work a lot every day and not break off. I once asked a (top notch) musician about whether it was better to practice only a little every day, or "woodshed" in huge chunks, he replied the best way was to have both quantity and quality, but if that is not possible have high quality and regularity, rather than a huge effort followed by a vaccum. I suspect that might be advisable to programming skill upgrades as well. So yes I am "working" 10-12 hours a day, but I am not forcing myself to do anything and don't feel stressed. It is just that without the "distraction" of consulting etc, I am able to work uninterruptedly. I keep the guitar nearby, to play an etude or noodle around when I need a break.I also work out every day. I suspect this is not a sustainable (over years, say) pace, but so far so good. we'll see how it evolves.
- staunch 17y agoThe referenced John Carmack Interview: http://slashdot.org/games/99/10/15/1012230.shtml http://slashdot.org/games/99/10/15/1012230.shtml
- prakash 17y agoWhy Forth?
- access_denied 17y agoI can't answer for plinkplonk but my guess is, for CS learning purposes, Forth paired with Lisp is a combination like pizza and beer (as opposed to pizza and sandwich).
- prakash 17y agovery interesting analogy but I still don't get the picture :-)
- plinkplonk 17y ago"Why Forth?" Just a "mind expanding" language chosen to be as different from lisp as possible (I am comfortable with static type systems and OCaml/Haskell for example). Also, I'd like (at some later date) to grok Factor.
- jacquesm 17y ago10,000 lines of forth is going to be quite the monumental task, forth is very 'small'.
- deleted 17y ago[deleted]