< prev 19 Nov 2014 to 19 Nov 2014 next >

Posts from 19 November 2014

  • Week 2 Day 2 - The two hardest things in programming...

    … are naming things, cache invalidation, and off by one errors.

    Today's partner: Anthony

    Today was all Chess, all day.

    Actually, that's a lie. We did cover error handling in lecture and did a couple exercises (for about ten minutes; we figured that we'd do a proof of concept, then implement more error handling in chess.rb), but after about 10:30, we were coding the Chess class and its subclasses for about eight hours straight.

    It went well, in my mind. My partner is learning buckets of things, and he's been a real sport in terms of letting me show him how to do things quicker in Atom, pry, and git. We've been sure to make our code readable as we work, and test as we go - what we have now is readable, functional, and succinct. This is the kind of code I can begin to be proud of; lesson learned from the past couple days.

    Strangely, though, all this work results in about 300 lines of code, including whitespace… not a lot, right? Especially for the full-time output of two people. I'm sure that, in time, we'll be faster as a cohort, but this period is very focused on didactic activity: everyone has something to learn, if not from their partner, then from the code or documentation.

    The primary virtue of the Chess project, I think, is to see how you can best handle exceptions1, and to see how important it is to have well-defined roles contained in well-defined source files. It also helps to gain experience with git in different contexts, but I appreciate the simplicity of git's cognitive model, because basic use demands very little cognitive overhead.

    Other thoughts:

    • The office is moving over the weekend, to a more convenient location (for me) that is apparently about twice the size of the current place. Neat.

    • The coffee club is bootstrapping nicely; I'm going to send out a message to the group about a better ruleset.

    • I got three or four specific positive comments from people on various things I've tried to do to make people's lives easier. Feels good, man. (I mean, it's not why I do these things, but it's nice to know I'm not just emailing into the void.)

    • I wish I would have enough money to go out to lunch every day; some of the best conversations happen in the combinatoric randomness of lunch groupings.

    1. Instead of looping over input until it's valid, like I might have done in TI-86 BASIC, you embed your calls in a begin...rescue...retry...end block. 

< prev 19 Nov 2014 to 19 Nov 2014 next >