Yesterday I left early due to being sick, and today I got in late for the same reason, so I’m counting these as one day of productivity. In the morning yesterday, I got some valuable poking-at-JavaScript done with Manny and had another informative session with Mary and Anna; when I returned today, I continued work on my dishwashing simulator, which an eye toward gracefulness/JSiness of code. I lost a fair chunk of time to an insidious aesthetic bug (protips: if an invalid value is passed to the canvas fill color function, it fails silently; code copied from the internet because who cares about writing a random color generator is likely to be janky) which was eventually solved with collaboration from Mary and Emily. The upshot is that I have a working demonstration of stackable dishes in JS, which is exactly as exciting as it sounds — code’s on Github.
Day 10
Today I read most of JavaScript: The Good Parts. I briefly paired with Manny on the specifics of best practices for making objects in JS. When we were stumped, I got some help from Mary, which was illuminating but was also a lot of information, so I’ll be working my way through a more complete understanding of the code tomorrow.
Day 9
On Friday, we had some optional job-prep workshopping; I worked adjacent to Polina and Rishi on implementing a stack, a queue, a queue made of stacks, and a min function for a stack, all in Python. All that made me think I should revisit Dishventure, the thrill-packed dishwashing simulator that I once tried to convince Akiva to make. So today I tried to get back into Javascript. I briefly paired with Kate, during which we walked through, among many other past projects, my years-old Hamlet-testing code* (and put it on Github! I can’t possibly ignore it forever now…). We read up on Metaphone, which has been my “next step” for improving that project’s playability for some time now. Kate also showed me around some of the Chrome dev tools for Javascript. I then got a minimal js “game” (that is, mouse input and displaying a moving image) working:
*Basically, a trainer for infinite monkeys
Day 8
Today was largely spent trying to evaluate my progress and make plans for the next ten weeks. I also worked through the first section of Structure and Interpretation of Computer Programs in anticipation of a study group on it on Monday, and the first three chapters of The Little Schemer, which was a delightfully bizarre experience. (I’m not sure I would have understood it at all without prior exposure to Hofstadter.)
Day 7
Frustrating day in the Octopress mines — I started the day hoping to learn enough about Sass to do some Octopress retheming, and indeed I had a productive session with Moshe and Ryan wherein we learned a comfortable amount of Sass*, but things dragged when I tried to translate that into a functioning Octopress theme. Only just at the end of the day did I stumble upon this blog post which provides a bit of enlightenment as to what the problems are and how to move forward.
*Phrases of the day: “Sass master,” “sass hash cache”
Day 6
Having decided I wanted to make some pretty pictures of graphs to adorn my NY apartment’s walls, I wrote some code in Processing to make random nodes and edges pack attractively into a corner. Having done that, I wanted to use more-meaningful-than-random data, and my seatmate suggested that I use a relationship graph of Shakespeare characters. Actually graphing out the relationships is nontrivial, so I decided to instead approximate relationships based on which characters appear in scenes together. I wrote some Python to pull that information out of the script for The Winter’s Tale.
I also attended a workshop by Mel Chua, whose speech last night about educational psychology was tremendously enlightening for me, and had a quick discussion with some of my costudents about running a Python workshop for high schoolers.
Day 5
Today I went through the Python exercises on CodingBat. Most were pretty simple; a few took me more tries to get through. I am particularly proud of getting make_chocolate correct on my first try, after getting make_bricks done without even sketching it. Lookit all my stars:
I also spent some time working on a hopefully-quick Processing sketch for generating wall decorations for my NY apartment.
Day 4
Pythoning continues apace. Today I paired briefly with Kat and for a slightly longer time with Tom, working on a mini game engine thing using Tkinter. Here I have a player character sprite, which can be navigated with arrow keys and which has an associated gif sprite, and some randomly generated obstacles that wiggle:
I also sat in on a demo of slightly-more-advanced git techniques, which were almost entirely beyond my ability to remember, but helpful to cementing my understanding of what kinds of things to expect to be able to do. Also, hunks.
Day 3
I spent most of today day continuing to go through the Python textbook. Most of the book is nothing new, but it’s good to be clear about concepts like how Python iterates over a list, and I now have a more confident understanding of polymorphism. Rupa solved our programming problem from yesterday (it totally did have to do with scope, as I suspected), so I had to learn git pulling to reap the rewards of her work.
In the morning, I ran a brief workshop on Inform 7, which was fun because Katie is working on a homebrew system for interactive Harry Potter fanfic, so she had thought of various interesting questions about how Inform does things.
I also was frustrated with having to separately open the new markdown file generated by the rake task (first world problems, etc) to make a new Octopress post, so Kate helped me with just enough Ruby to add opening the new file to the Rakefile. Convenient! I’m continuing to poke at the template stuff of this blog, but in sort of a scattered way, so I expect this blog to look ugly in various exciting ways over the next week. I may make more concerted efforts to learn about Sass/Liquid when I run out of Python.
Lastly, I took a brief break from the Python to investigate the Oculus Rift which has been sitting on our toy shelf. Here’s Moshe’s mind being blown:
Day 2
Today I went over to the bookshelf and grabbed the first book that looked intro-level, which turned out to be Python Programming: An Introduction to Computer Science by John Zelle. I got through chapter 6 (functions), spending most of my time on chapter 5 (graphics). I enjoyed using the author’s basic graphics library, but decided I’d rather do something even less frameworky. At this point, Rupa offered to pair program, with her superior knowledge of Python, and we worked through some basic Tkinter things. We almost have a mouse-following rectangle. Here is a screenshot from earlier in the day, with some modified code from the book: