On our first day at Ada, Bookis told us this:

"Magic--hand-wavy magic--is bad. It's what you say when you don't understand how something works. It's just...magic. Our goal here is to make all the magic go away."

Cheri calls us wizards all the time, which never fails to amuse in the context of what Bookis said.

Last week at Ada, we ran the gamut between complete, obsessive science and magic: we started working with test-based development (science) and Sinatra (magic). We also had our first guest speakers.

Sam Livingston-Gray taught us how to write code based on careful, minute tests. You have to understand every piece of your code, how it fits together, the expected result of every edge case, and so on, in order to write code that does what you want it to do. I had realized the week before that I needed to take better care of being cognizant of what objects I am returning and what objects I am expecting as an argument, and test-driven development seemed to fill this niche that I had only just realized I needed.

Trevor-whose-last-name-I-couldn't-find taught us about writing our first Sinatra app, but there is so much new information and so many levels of knowledge that you need to base all of that new knowledge on. You really have two choices: try to understand all of the details before you understand the structural context that holds them together, or try to understand the structure before looking at the details. We went with the second path, and I think it makes a lot of sense.

It can be difficult to allow yourself to not-understand something, though. We had a similar experience with Railsbridge our first week; we used a lot of handwavy magic so we could see the shape of things to come. I think that our greater difficulty is a testament to how far we have come in a month. We were overwhelmed on our first week, and magic was to be expected. Now, with our knowledge and growth, magic is uncomfortable.

It was a rough week. We've been pushing ourselves really hard for the past month, and we all really need this long weekend coming up. I am very pleased with how well I was able to suspend my magic-related frustration last week, and being able to create applications that we can actually show to friends and family is great!