1,474 karma · joined May 11, 2009
To contact me: my email is armhold at gmail com. Please mention HN if you do (too much recruiter spam, but HN contacts always welcome.)
One of my projects involves indexing thousands of URLs. During development I use a large (80GB+) local cache of a few million files. Running the cache code (~100 lines of simple Golang) totally brings my iMac (3.8GHz Core i5, 24GB) to its knees. CPU shows as mostly idle & memory pressure is low, yet the machine can't redraw windows properly after about 5GB of I/O to local SSD.
Completely frustrating. I moved the code over to an older (2010!) Mac running Ubuntu and it handles it without breaking a sweat.
I'm about 2/3 done with the homeworks, and I understand this stuff now. I'll never be a data scientist, but I know enough to implement these networks on my own, and to understand blog posts like this. It's a lot of work for one course, much more than I remember from my own undergrad years. I had to revisit Calculus & Linear Algebra too. But if you're genuinely interested in this stuff you can pick it up.
I believe it was discussed here a few years back.
It's really wonderful that all of this is freely available, thank you.
But I really appreciate these kinds of write-ups: he declares his non-expertise up-front, and then proceeds to document his understanding as he goes along. There's something useful about this kind of blog post for non-experts.
I'm working my way through Karpathy's writeup on RNNs (http://karpathy.github.io/2015/05/21/rnn-effectiveness). I've mechanically translated his Python to Go, and even managed to make it work. But I still don't entirely understand the math behind it. Now obviously Karpathy IS an expert, but despite his extremely well-written blog post, a lot of it is still somewhat impenetrable to me ("gradient descent"? I took Linear Algebra oh, about 25 years ago). So sometimes it's nice to see other people who are a bit bewildered by things like tanh(), yet still press on and try to understand the overall process.
And FWIW I had the same reaction as the author when I started toying around with neural nets- it's shocking how small the hidden layer can be and still do useful stuff. It seems like magic, and sometimes you have to run through it step-by-step to understand it.
Every time I think I've finally got it figured out, there's always some weird new situation that throws a wrench in things. Common things like buying/selling a house, moving to a new state or locality, death of a parent, etc. I honestly don't know how most people ever manage to do it correctly, much less optimally.
This year it was 2 different banks that got IRA reporting wrong. Last year, Turbotax "interview mode" would not let me enter some crucial figure correctly. Previous year it was clients not sending 1099s (and agonizing over whether to just report manually or wait for the form). Two years before that it was a RITA (local tax authority) screwup.
I tried hiring a local CPA to take away some of the pain, but he ended up making a $5K mistake, and it took hours of my time to correct. I've had a good accountant in the past, so I know they can make a huge difference, but they are very hard to find.
Maybe that's too close to the "public radio" model, and would never work at scale, but I'd pay for it.
For my other machine, no such luck. I had a 2nd backup offsite (Backblaze) but it was months before I noticed the damage, and so the old files were no longer available via the offsite. I think the worst part is not knowing what you've lost. I have thousands of music and photos on that machine, and every once in a while I come across something that's gone.
When I consider adopting a language, part of that consideration is how well I can read others' idiomatic code. It's so important for understanding libraries. I'm still just having a hard time with Clojure. I know it clicks for a lot of people though.