Programming-like activities?

6 robot-dreams 08 January 2015 12:37AM

Programming is quite a remarkable activity:

  • It has an extremely low barrier to entry
    • You don't need expensive equipment
    • You don't need to be in a particular location
    • You don't need special credentials
    • You can finding information / resources just by opening the internet
    • You can learn it / do it independently
  • It gives you rapid feedback (which can lead to rapid growth)
  • It gives you frequent rewards (which gives a huge boost in motivation)
  • It's objective and unforgiving (this is a good thing, because it teaches you how to confront reality)
  • It's intellectually stimulating
  • It's useful in the real world
    • Corollary: you can make money or even build a career out of it
  • It's badass (or are you telling me that Hackers WASN'T your favorite movie of all time?)
What are some other "programming-like" activities?

I mean this in the sense of "activities that also satisfy the above criteria", but suggestions don't have to satisfy ALL of the criteria.  Here are some of the first ideas that come to mind when I try to answer the question myself:
  • Electronics (but this is basically still programming)
  • Math (lacks "rapid feedback" and "frequent rewards"; "useful in the real world" is also questionable)
  • Go, poker, video games (usually lacks "useful in the real world", sometimes lacks "badass")
  • Juggling, poi (lacks "intellectually stimulating" and "useful in the real world")
However, I've already exhausted my creativity and I'm hoping to go much deeper than this.  Thoughts?

Exams and Overfitting

12 robot-dreams 06 January 2015 07:35PM

When I hear something like "What's going to be on the exam?", part of me gets indignant.  WHAT?!?!  You're defeating the whole point of the exam!  You're committing the Deadly Sin of Overfitting!

Let me step back and explain my view of exams.

When I take a class, my goal is to learn the material.  Exams are a way to answer the question, "How well did I learn the material?"[1].  But exams are only a few hours long, so it's unfeasible to have questions on all of the material.  To deal with this time constraint, an exam takes a random sample of the material and gives me a "statistical" rather than "perfect" answer to the question, "How well did I learn the material?"

If I know in advance what topics will be covered on the exam, and if I then prepare for the exam by learning only those topics, then I am screwing up this whole process.  By doing very well on the exam, I get the information, "Congratulations!  You learned the material covered on the exam very well."  But who knows how well I learned the material covered in class as a whole?  This is a textbook case of overfitting.

To be clear, I don't necessarily lose respect for someone who asks, "What's going to be on the exam?".  I understand that different people have different priorities[2], and that's fine by me.  But if you're taking a class because you truly want to learn the material, in spite of any sacrifices that you might have to make to do so[3], then I'd like to encourage you not to "study for the test".  I'd like to encourage you not to overfit.


[1] When I say "learned", I mean in the "Feynman" sense, not in the "teacher's password" sense.  I believe that a necessary (but not sufficient) condition for an exam to check for this kind of learning is to have problems that I've never seen before.

[2] Someone might care much more about getting into medical school than, say, mastering classical mechanics.  I respect that choice, and I acknowledge that someone might be in a system where getting a good grade in physics is required for getting into medical school, even though mastering classical mechanics isn't required for becoming a good doctor.

[3] There were a few terms when I felt like I did a really good job of learning the material (conveniently, I also got really good grades during these terms).  But for these terms, one (or both) of the following would happen:

  • I would take a huge hit in social status, because I was taking barely more than the minimum courseload.  At my university, there was a lot of social pressure to always take the maximum courseload (or petition to exceed the maximum courseload), and still participate in lots of extracurricular activities.
  • My girlfriend at the time would break up with me because of all the time I was spending on my coursework (and not with her).

 

Non-obvious skills with highly measurable progress?

13 robot-dreams 03 January 2015 12:23AM

A lot of my significant personal improvement happened as a result of highly measurable progress and tight feedback loops.  For example:

  • Project Euler
  • Go (the game has a very accurate ranking system)
  • Strength training
However, these are somewhat obvious examples, and I feel like it would be a waste not to push such a useful improvement mechanism as far as possible.

What are some non-obvious examples of skills with highly measurable progress and tight feedback loops?

Identity crafting

10 robot-dreams 31 December 2014 06:34PM

I spend a LOT of time on what I'll call "identity crafting".  It's probably my most insidious procrastination tactic--far worse than, say, Facebook or Reddit.

What do I mean by "identity crafting"?  Here are some examples:

  • Brainstorming areas of my life where I want to improve (e.g. social skills, sleep habits)
  • Searching for new hobbies to start (e.g. snowboarding, guitar)
  • Making a "character sheet" for myself, complete with a huge list of "badass skills" that I'd want to learn (e.g. martial arts, lock picking)
  • Creating and revising my "four-year plan", i.e. schedule of university courses (at my university I had a lot of flexibility in which courses to take each term)
  • Finding books that I "ought to read" (bonus points if the list includes "The Art of Computer Programming") and movies that I "ought to watch"
  • Looking up variants on "renaissance man" (e.g. "Four Arts of the Chinese Scholar"), and imagining how I could become one

In other words, "identity crafting" is some combination of making lists and daydreaming.  And since the vast majority of the "identities" that I "craft" never become reality, I should really say that "identity crafting" is some combination of making lists and self-aggrandizing delusion.

What's so bad about this?  Besides the obvious waste of time, this gives me a false sense of accomplishment and productivity--I often feel as though the "identity" that I "crafted" were already real, and I often feel as though I've already done enough for the day (week, month, year).  Thus in the short term, this is a great way to ensure that I don't do any "actual work", and in the long term, this is a great way to become a poser with an epically inflated opinion of myself.

So... does anyone else do this?