A Further Exploration of Ruby | Day 3

Today was, more or less, a further exploration of the foundations of the Ruby language. During our lecture, we went through one of the possible solutions for both the pig latin and hangman problems. It was pretty humbling to see a problem that we spent hours fumbling over, executed so perfectly. That being said, I have a feeling that the biggest barrier was not so much the conceptual work of solving the problems, as it was the challenge of implementing them through Ruby. In the same way that one can understand an expression in one’s mother tongue but remain unable to express it in a foreign language, logically solving a problem is different from manifesting it in the flesh of a given computer language. In short, a foundational grasp of any language is necessary before communication through it becomes possible and a number of the students were having trouble in their initial experimentations with Ruby, myself included.

When I was facing a roadblock with the final problem of the three-problem set, I decided to review some Ruby foundations via a Udemy course that I had purchased through AppSumo long ago. A frequent purchaser of educational content, I seldom fully go through most of my purchases – Huw Collingbourne’s “Ruby Programming For Beginners” was eagerly awaiting my perusal. On that note, being able to review external material while at Bitmaker Labs is one of the benefits that I see of this learning environment, as there are no stringent rules. We are given problems and expected to solve them, but we may do so in any manner that we choose. If you need to catch up on material, by all means do so.

I have not finished the last problem and will most likely be pulling an all-nighter to get it done before the 9:30am deadline. It’s funny, because I’d never see myself enjoying my all-nighter after university but here I am doing it anyhow.

On a final note, what I’m beginning to notice is that there are two distinct groups emerging in the class environment – those who are getting by with much ease and those who are struggling. Having a previous technical background or exposure with coding seems to be strongly correlated with one’s initial ease with the Bitmaker Labs curriculum. Also, group collaboration seems to definitely have an impact on one’s progress – this is not an endeavour for the lone wolf (unless one happens to be a coding god). Let’s see how this social experiment plays out.

Exhausted: Driving Test and Attempting Ruby | Day 2

Today was quite the eventful day, despite the unfortunate outcome – it can pretty much be summarized as failing a driving test and getting lost in a sea of Ruby.

Living in Montreal for the past four years gave me little incentive to keep up with my driving abilities. I passed my G2 just before heading off to McGill and pretty much haven’t touched the wheel until a month ago. I was supposed to have gotten all this done with before commencing Bitmaker Labs but I failed my first try ~10 days ago and subsequently failed my second attempt today, although I did make tremendous improvements. The first time my driving examiner seemed a little too anxious to get out of the car – let’s just say I have a heavy foot – but this time my DE went over the few areas that I need to improve upon to pass. In any case, the urgency in this affair is that my G2 expires in 22 days so it’s do or die at this point and I really can’t be bothered with driving when I want to be fully immersed in my coding. I’m really starting to feel the heat – I can’t afford to miss a morning like I did today (and I most likely will have to, unless I want to start from G1 all over again).

With my driving test in Oshawa – apparently it’s supposed to be easier there, so having failed twice in Oshawa says a lot about my driving prowess – I missed the morning lecture on Ruby. My driving instructor dropped me off at Yorkdale and I took the subway downtown, arriving at the Bitmaker Labs HQ at around 1:30pm. Immediately, in media res, I was presented with the Ruby challenges of the day without the necessary Ruby refresher. Attempting them on my own was futile so Bitmaker’s Will encouraged me to join a group. I initially teamed up with Drew and his partner; Apoorv and TJ joined us later. Truth be told, we were pretty much the Ruby n00bs as we were struggling like no tomorrow. Both the pig latin problem and the hangman problem consumed us for hours – I don’t even know what the third challenge is because we never got to it. Thankfully, the Bitmaker instructors gave me a copy of this morning’s lecture, which I plan to go through before going to bed. I’ll sleep on the problems and see what I can put together tomorrow.

At the end of the day there was a mentor-mentee meet-up but I don’t recall much about it – I was the there for the food, pure and simple. Man, oh man: there were fully loaded nachos, pizza, cheese bread, quesadillas, and chicken wings, and you expect me to talk to people? Nope. Sorry. I’ll stay in the corner and stuff myself silly, thank you very much. Anyhow, I had to catch a bus back to Brampton with my btown brethren – Apoorv & TJ – so I couldn’t stay too long. I’m sure I’ll have a better time to talk with potential mentors when I’m not semi-depressed from a failed driving test, overworked from operating on limited knowledge, and ingesting a foodie’s paradise. What a day it was – let’s hope tomorrow will be better.

Exploring Unix, Git, and Github | Day 1

Following the relaxed morning in which the introductions and icebreakers were conducted, we moved on to the first lecture of our program on Unix, Git, and Github. Thankfully, I went through the Treehouse material on the command line, so the first part was more or less review for me. I had already covered the essential elements and understood concepts like piping; nonetheless, one interesting metaphor that emerged was that of the “atomic” structure of Unix. Each of the individual commands can be thought of as atoms (please, for the sake of the metaphor, ignore subatomic particles) and when you pipe then together, you create molecules. Simplistic and straightforward building blocks, when combined together, can create structures of enormous complexity.

As we progressed forward, Git was the next topic of discussion, although it was intermeshed actively with Github. Essentially, Git can be thought of as version control for a specific project and Github is an online platform that enables collaborative work on a given project. In other words, if Git is your Word document, Github is a Google Docs that you and your friends are working on. Git was simple enough to install and play around with. However, when I was following the lecture on my computer, I faced a barrier with regard to the SSH key that I forgot to set-up and hence was not actively engaged during the part where we were discussing the merger of branches – I need to follow-up on that. Despite that setback my coding neighbor, Ben, was helpful in getting me back on track.

When the lecture was completed, there were two assignments to work through, the first being individual work and the second being group work.  For the individual work, we engaged in actively creating and moving files around through terminal commands (woe upon the windows users who had to set up a virtual machine first) and committing changes regarding nested file structures to Github. The collaborative work was much more amusing where, using Github, groups of six sequentially wrote a story together. Of course the purpose was to get used to cloning repositories and pushing changes back to the original, but there’s nothing like adding randomness to a story (English major ftw). Did anyone hear about the Confederate Alliance of Household Gnomes? What? I intended them to get decimated by our protagonist’s rocket launcher but apparently it backfired and they danced around his dead body. Sadly, I guess you can’t win all the time – but, you can have a dancing troupe of victorious gnomes and that’s something to reflect upon and thereafter attain an instantaneous moment of enlightenment regarding the meaning of life.

Overall, it was a fantastic day – I don’t recall ever being this motivated for my university courses. I can see the commute from Brampton to Toronto being a constant drag throughout the course but at least it’s motivating me to get out of bed earlier. Looking forward to the days ahead – let’s see if I can maintain an active blogging schedule.

Into the fray

Well, today is my first day at Bitmaker Labs – pretty stoked to be here. I’m starting to realize that there won’t be very much time to blog with all the work that we have to do, so I’ll most likely be typing my posts on the way home from class and posting them before bed. I’ll be posting mostly about the day’s progress and any useful insights that struck me.

My first impression is that everyone is very committed. A lot of people have quit their cozy consulting or accounting jobs just to be here. The age range is pretty wide with our youngest guy being 18 and it seems to be stretching as far as the mid thirties. The majority of the students seem to be from the GTA, but there are a few from Poland, Netherlands, Germany, South America and the States.

The office space is pretty open and modernist in its overall layout but it still manages to evoke a unified family room kind of vibe. That’s enough for now – I’m going to grab some lunch!

Here’s to a bright future ahead!