
First off, getting home early last night was amazing. The sun was still up when I left class, Kerry was still awake and in the living room, and even Benson was finally happy to see me. After unwinding (and meditating) I went to bed at around 9:30PM and only ended up waking up once (from around 3:30AM to 4:15AM).
But I still managed around 7 and a half hours of sleep! And even got up for a 3 mile run with Benson.
Basically, I did everything possible to try and ensure that this would be a good day. And you know what? It was!
So, knowing that our instructors said that “this week is going to suck,” I decided to be a bit more strategic about picking my partner. I sent a message to the young kid who gave a presentation last week on building a ray tracer, and asked if he wanted to pair up. He said sure!
I’ve wanted to work with him for awhile. He’s just absolutely brilliant and probably the smartest person in class. After hitting so many walls last week, I thought it’d be interesting to work with someone who is able to pick up these new concepts easily. I suppose it sounds like I’m trying to get someone to “do my homework” but that’s not it. I ensured I got as much out of it as I could. Anyway, more on that later.
We started with our usual toy problem. This time, navigate a tree and return all elements using a “depth first search”. I don’t entirely understand what that means, but we were basically traversing a tree and returning all values that matched some criteria as a flat array.
I didn’t haven any trouble building a recursive function that could traverse a tree (amazing!), but I had a hell of a time trying to apply a provided filter function to my array. I just couldn’t get it working and only got 4 out of 7 possible points.
Ah well. After this, it was our sprint reflection / feedback session. It turns out, this is one of the last times Hack Reactor is doing this because it was happening so frequently and students weren’t finding much value in it. I thought there was a good compromise, like maybe once a week or so, but ah well. I guess our lecture schedule is getting bumped around and this will give us more time to code! Yay!
We went to lecture and had a brief overview of the Model-View-Controller architecture in general. I think most of us understand it from a high level. It’s getting down and dirty and figuring out where things get plugged in that get crazy.
After lecture, we had some time to explore the problem on our own. It took me 45 minutes of looking at documents and source code to even get an idea of what we were going to work on. I was getting a bit worried. This was going to be intense.
Lunch involved people asking me where I was going (cheap Bahn Mi sandwiches nearby) and 5 others coming along. Hah!
We came back from lunch and had another 45 minute lecture on “The Secrets of Backbone JS” which gave us some hints to get started. And then it was time to pair up! We claimed a workstation and chatted about our expectations for this sprint. The goal was to build a playlist / queuing system for a music web application.
I told him that I didn’t feel completely comfortable with the material so far, but I wanted to do everything I could to get a better understanding of it. He was completely onboard.
One of the first things we had to do was draw out a “system architecture diagram”, which kind of explained how our app was supposed to work. By the time I was done drawing it out, it looked like a drunk person tried to make a circuit board. I have some work to do there.
We started off with me navigating (so I was telling him what to do) and basically kept those roles for the rest of the day. When I would get stuck on a problem, he would gently prompt. “so, where have you seen that function used before? What do you expect to happen here? Can you explain to me exactly what is happening here at line 57?”
It was awesome. He was patient, enthusiastic when I figured something out, and knew how to ask questions that didn’t give away the answer. We made some pretty significant progress!
Things started to slow down right before dinner — I guess I was hitting a mental wall. For dinner, we split up, I went to the mall to get a mean bowl of soup. (Man, that sounds so sad that we often resort to going to a food court for meals — though other people in our cohort often go to a nearby Subway. Uggggggh).
The after-dinner lecture was given by a fellow student who recently graduated college (so many young kids around here — feeling old over here in my 30s!) and shared her college thesis project, which was studying the rise of Bitcoin in Argentina and whether it could be used as an alternative currency compared to the Argentinian peso. It was an interesting premise, though I have to admit that I have less than flattering thoughts about Bitcoin.
We went back to our workstations and made some significant progress again. It’s nice to step back from a problem for a bit and come back to it later with fresh eyes and a fresh mind. By the time 8PM rolled around, we had finished all the basic requirements. It was amazing!
I feel like I really learned a lot about how this particular MVC library works, and it’s going to be very helpful going forward. I’m not sure I could build an application from scratch right now that utilizes this architecture, but I’m sure that will come in due time.
After hours, we spent some time helping out our neighbors who were trying to get their own web applications to work. It was fun to see my partner in action, as well as get to test my own chops and explain how this stuff was supposed to work to others.
I spent another 45 minutes or so working on the day’s toy problem, trying to get my filter function to work, and I’m not sure what’s going on. I ended up leaving the building at about 9:30PM. Tomorrow, we’re going to work on some of the “extra credit” portion of this sprint and try to build in some new functionality. Also, I’m going to go climbing with a few people from class during our extended lunch. I haven’t done that in ages, so I’m looking forward to it!