w3d5
Week 3 done! And it did NOT go down without a fight. It was a sort of roller coaster of a week. It started with the universally despised SQLZoo, climbed to a high point on Wednesday and Thursday where we got to start experimenting with Rails and ActiveRecord and then plummetted back down to Earth as we ended the week trying to reconstruct ActiveRecord, at least partially. Even so, Active Record Lite was not so lite. It was definitely a difficult task, one that most of us did not complete by the end of the day… oh and did I mention that it was a SOLO day for everyone? That always ramps up the difficulty a few notches. I would have to say that this was the hardest day yet… BUT after all of this, I can now appreciate the beauty and elegance of Rails and ActiveRecord, and I feel like I have a deeper understanding of what might be going on under the hood, and THAT will inevitably make things easier to understand down the road hopefully…
We were also introduced to the concept of metaprogramming, using the ability to Ruby to inspect itself to sort of redefine the things it can do dynamically. I’m sure that was a pretty fuzzy explanation, but hey, it;s a pretty fuzzy subject! Basically it allows your code to write it’s own code, which is a little mind blowing, right? I’m pretty sure it eventually leads to Skynet, but it’s fun to play around with for now, and seems like it’d be a pretty powerful tool to master. I think part of what made Active Record Lite so difficult was the fact that we had to utilize metaprogramming to get the results that we wanted, which isn’t easy when I only just learned about it the previous night. I’m sure it will all make more sense after using it some more, and maybe watching the Terminator movies a few more times.
Today was also the last day for the students in the previous cohort. It was awesome seeing how far these guys (and gal!) got in 12 weeks, and I was able to see the kinds of things that I’ll be able to build pretty soon. At the same time, it feels like a long way off considering that we haven’t exactly tackled any major projects yet. I’m not saying that what we’ve done up to this point hasn’t been pretty cool, I mean we started 3 weeks ago with very little knowledge and are are a few short weeks away from being able to build functional web applications. I can feel us turning the corner as we dive head first into the Rails curriculum for the next 2 weeks.
Towards the end of the day, App Academy held a “hiring day” where people from potential employers came and the graduating students could show off their Final projects. It also gave me a chance to talk to some of the grads, which is something we never really get an opportunity to do, considering we all spend most of our days buried in code. It was nice to get some perspective from students who were just where we were 9 weeks ago. It was also a good opportunity for our class to get to know each other better outside of normal class conditions. We even joked about what it would be like if WE also had to show our projects to the employers…
"Uh ok, first go the terminal and clone my repository from Github. Now type ‘g = Game.new… OK now type g.run… Oops, I guess it’s g.play. Oh there it goes! Oh wait, I forgot that you have to install a few gems first… Ok, now we’re ready, just type g.play! …no, sorry, there’s no cursor, just type in the commands… No, don’t type that, it’ll error out! …it’s pretty good right?!"