Bitmaker Labs – Day 27

Asynchronous JavaScript and XML(AJAX), now I finally know how you work. I can’t replicate the code to make you work, but I’ll get there. AJAX requires a different mindset than Rails, so it’s a bit confusing right now. Seeing it used on Rails makes it even more confusing, but also kind of awesome. jQuery makes AJAX so much easier too.

That’s basically it for today, now I’ve got a few tutorials to follow.

Bitmaker Labs – Day 26

Today’s lesson was a big departure from the simple JS lectures. We learned about closures, callbacks, and events. Events are straight forward and easy to understand. Closures and callbacks I’m still confused about. A closure is when a function captures the environment and freezes it for all its local functions. A callback is when a function executes within another, and sends the results to the parent function.

I’ll have to study this more.

Bitmaker Labs – Day 25

Today we learned about jQuery, which makes DOM manipulation so much easier than POJS (Plain Old JavaScript). E.g.

//To access a div element by a unique ID:

//In POJS:

//In jQuery:


The DOM is a new concept for me, but it’s one that I’ve heard of before. Manipulating the DOM is what jQuery basically does. Since the website you’re on is inside of the DOM, you can do a lot of neat things to it. For my first assignment today, I had some fun with Google:

Screenshot of Google search replaced by Bing.

Bitmaker Labs – Day 24

Day two of Javascript has been more or less been the same as yesterday. We continued talking about methods and variables, followed by simple functions and constructs. Constructs are a new concept, and it took me a fair bit to fully grasp their purpose, and now that I do, I appreciate how useful they can be. A constructor basically builds a new object for you, without you having to explicitly type everything out over and over.

function Student(name, age){ = name;
	this.age = age; = "Bitmaker";

//Here I'm making a new Student object with salman as the variable.
var salman = new Student("Salman", 17)

//by calling salman, now you see what the constructor has done for me: It's created an object with attributes.
salman // => Student {name: "Salman", age: 17, school: "Bitmaker"}

This is pretty neat.Tomorrow we learn about DOM manipulation, which is the fun part of JS.

Bitmaker Labs – Day 23

Javascript has arrived, and JS is not as beautiful as we thought it would be. Especially when coming from Ruby, it takes a bit to get a grasp on the new syntax. Let alone on the fact that all the beautiful methods you loved in Ruby are no longer available. Going from a world of .map and .each to for loops is depressing.

On the bright side though, because I’ve already learned Ruby, picking up JS isn’t as hard as I thought it would be. For now we’re only doing the basics, so: making variables, using methods on them, and learning about objects. Not bad at all.

Bitmaker Labs – Day 22

Test Driven Development was the focus of our lecture today. We’ve done it once before, and today we reviewed it. Nothing new to really learn, so I felt it was a wasted class.

For lunch a bunch of us went to a jazz bar nearby, and had a fun time. It’s remarkable how fast we’ve all come to being close friends. I’m really curious as to how the dynamics will change post graduation. A common misconception is that we’ll all be competing for the same jobs, but that’s not quite true. An astounding number of my classmates are already scheming their own business plans, or already own a business. Some are at Bitmaker just for fun, while others just want to understand code, but not do it as a living. I guess that’s why it’s such a great mix of people.

Our cohort’s been dubbed the social one, because we prefer socializing over learning. The last cohort was at school till 11pm every day and back in for 8am most days. My cohort is usually half empty by 6pm, and some folks barely make it in for 10pm. So far only one person has dropped out, but another hasn’t shown up for two weeks, so he might too. Not bad I think, since the last cohort had at least 3 that dropped out.

I’ve been trying to do something special with my app that has been driving the instructors crazy. I’m making it much harder on myself by trying to do a calendar date-picker and a time_select_field for my application’s reservation page. If you’re purposely making things harder on yourself, the instructors tend to not be encouraging or helpful, which is disappointing. Pushing yourself to do complex tasks helps you learn more as opposed to just going with the easy route. Guess I’ll voice that in the feedback survey.

Tomorrow we start JavaScript. Hooray!

Bitmaker Labs – Day 21

It’s the start of my 5th week here today. School’s going by pretty fast, leaving four more weeks left till graduation. Graduation’s both scary and exciting, but that’s a topic for another time.

Today’s lesson focused on Date, Time, and DateTime objects in Ruby. There are some really cool methods that can be used on DateTime. Working with these 3 objects is a nightmare though. I don’t even want to think about factoring in different timezones and daylight savings. #Gives you the time and date  #Gives you the current day. #Gives you the date followed by the time. + 1.week #Gives you the time in a week.

After class, we went back to working on our OpenTable clone, and I finally finished it with my friend. Now I’m starting it again from scratch to do on my own, to make sure I know the concepts.

Bitmaker Labs – Day 20

Today we started building our first app that has 0 instructions with it. We’re all left to our own devices to figure out how to build an OpenTable clone. The entire day was spent on trying to figure out how to proceed, and it feels overwhelming. Part of me knows this is about being resourceful and finding solutions on our own, but the other part kind of me feels this is harder than what they think we’re capable of. Right now we’re working on it in groups, so we’ll see how it goes.

I’m glad that the weekend’s finally here. Some extra hours of rest helps a lot.

Bitmaker Labs – Day 19

API day! Today we learned about API’s that are parsed in JSON, and built our very own app that feeds from an LCBO api. It was confusing at first since we didn’t know how to exactly parse all the information that we wanted. Slowly but surely we got there, and eventually I was happy with my app. I ended up spending a lot of time on CSS, but I think it was worth it.

The app will basically ask you what mood you’re in, then present you with a choice of beers. It’ll list every beer fitting that category from the LCBO. In the future I’d like to add store options too, once I have the time.

ss ss2

Bitmaker Labs – Day 18

Today’s the last day we have dedicated to our amazon clone. For the most part everyone’s done it at least once, and now are just trying to understand the steps of doing it without a guide. I’ve had decent success in replicating it on my own, but still get confused around associations and user creation, so I stick to the guides for those. I even skipped yoga today to focus on learning this stuff and not occupying my time with anything else.

I’m glad we’re going to be done with this application, since the next one coming up is a fun one.