Makers Academy: Day 29

Today was sort of a crazy day.

Morning/Afternoon sessions on Associations (Part 2) & Debugging given by Alex, which he finished in 35 minutes! I was shocked and impressed by how much he was able to get into so little time. I always take really nice notes when Alex gives lectures too. Perhaps because he writes on the whiteboard a lot and it translates onto my notebook well.

20140731-225309-82389102.jpg
I continued to toil away on my bookmark manager, which I am pretty sure I’m am quite behind on. (But being behind or wherever is okay!) Enrique told me today that my code sort of reveals that I try to run before I can walk and I am kind of rush-y. Eek! So while I’m behind, I still have to slow down. What? But I’m going to try to do as I’m told.

In the afternoon, I got a laser-cut pop-up card for a friend’s birthday.

20140731-230730-83250096.jpg
I love, love, love laser-cut stuff.*
20140731-230730-83250385.jpg
Those shadows.20140731-230730-83250657.jpg

After lunch, Jeremy and I teamed up to give a talk on the Active Record Pattern. I think it went pretty well. Technical talk success!! I just have to challenge myself to do more of these. Especially with the new cohort coming in. Then Charlie gave a talk about Heartbleed! So this is the short version:

Charlie’s talk was better though. After Charlie’s talk, we had our regular afternoon lecture which ended up being a Q&A. We learned that we will be having THREE challenges for Friday & the weekend. Wee! Fun fun fun…

So today is Thursday, and Thursday seems to be the preferred day for mentors to come in to enlighten us with their insight and wisdom. I got to meet up with Josh for the first time today and he was as brilliant as everyone told me he is. Unfortunately, this meant I missed out on Makis’ session on namespaces and other awesome-sauce. I will be grabbing Toan to fill me in on what I missed though. Here are my notes on useful shortcuts Josh shared with me during our session.

20140731-225309-82389435.jpg

Oh yes, install GitGutter on Sublime Text. It’ll change your life. I worked on my bookmark manager for about another 45 minutes before heading out at 9PM. Some makers were having a drink at a pub around the corner and I said hi, but I couldn’t join them since I was really hungry and tired. Now I’m not hungry anymore, but need to pass out. Peace.

 

*I would die of happiness if I got any of Yusuke Ono’s 360 laser-cut storybooks.

Makers Academy: Day 28

Today, I feel like I actually know something for the first time!

Most of the time, I feel like I’m not taking from Makers as much as I could be taking if I just coded a little bit more over the weekends or snacked&chatted less. But today, I demonstrated knowledge in some things to people whom I thought were way better at coding than I am, which made me feel like I actually know something better than someone.

Screen Shot 2014-07-30 at 11.47.01 PM

It was an pretty strange, nice, fuzzy feeling. I hope I can make it stick around. :)

Morning/Afternoon lectures = Security by Stephen and Associations by Mihai.

The talk Stephen gave was really quite interesting and also amusing because he told everyone his myspace password and then proceeded to be worried we might log into his myspace account. Steve was quite passionate about password protection and seems to be quite strict with security standards he can accept. He refuses to use any  site that doesn’t meet his extreme security requirements. His talk was so persuasive that it made me get 1Password to up my password security and I know at least Toan got 1Password immediately after Stephen’s talk as well.

20140730-225827-82707289.jpg

This is the salad I made for lunch. I wanted bacon or sushi. But instead, I made this salad. It was alright.

20140730-225827-82707640.jpg

 

Fruits + Nutella are my usual dessert/snack. Props to Alex for taking this photo of me snacking out in the wild.

 

20140730-225827-82707988.jpg

 

After lunch, our RED t-shirts arrived!!

20140730-225828-82708357.jpg

I didn’t even know we were supposed to have red t-shirts. But everyone who’s known me for more than a day knows I’m coo-coo for t-shirts. Especially tech/startup t-shirts. This will fit nicely into my collection of 12-14(?) others. Also, Makers has revitalized my grade school obsession with stickers and I scored some nice ones to add to my collection:

“Computers are my friends,” “I’m thinking really hard,” and the red Makers Academy one:

20140730-225828-82708893.jpg

I worked until 9PM again and managed to make decent progress on my bookmark manager until I started working on my side assignments after hours. I managed to rewrite the grep() method pretty quickly!Screen Shot 2014-07-30 at 11.19.47 PM

With a bit of help from Toan, of course. It looks short, sweet & snappy, but it took me a WHILE to figure out what THREE equal signs (===) mean. The logic was alright. Master Toan, had already finished his partition rewrite, so I gave him another one, that’s super difficult! Mwahaha! He’ll probably have it done by tomorrow. I also managed to push my crappy Rock, Paper, Scissors game onto Heroku. Here’s the link: http://boiling-wildwood-7552.herokuapp.com/

Screen Shot 2014-07-30 at 11.23.47 PMBeing 2 challenges behind with another coming up in 2 days, I really can’t be bothered to make this super cool. I’m happy to pass meeting the minimum requirements on this one and then go back to brush things up later.

Lo’ and behold, it’s 9PM and another day has gone. The usual late peeps were still about, so we decided to grab dinner together at Red Market:

20140730-225829-82709315.jpg

The usual suspects: Nicola, Alex and Toan.20140730-225830-82710692.jpg

I got a Vietnamese dish! It was so tasty I didn’t say a word eating this. Some remarked that I get quite quiet when I eat. Haha.

20140730-225830-82710272.jpg
What I want to do more of while I’m in London:20140730-225829-82709888.jpg

Makers Academy: Day 27

In the morning and afternoon lectures, we were introduced to Object-Relational Mapping and Validations, respectively. Interesting stuff that I was able to get to with my bookmark manager project after the lectures. The project/lecture flow is quite aligned for me this week! :) This might be because I’m working alone and not with a pair/team.

Today I decided to work solo because Jeremy told me it’s his solo week this week. He said that he’s been pairing this whole time and didn’t really know what working alone is like. And I thought, “Hmm, yeah. I’m going try solo programming!” I seem to be progressing at an average-mortal rate. Jeremy and Toan (the Gods) are almost done while I’m somewhere around the half way mark. Which kind of makes sense because the project is supposed to take 3-4 days and I’m halfway through on the second day. So I will probably finish my program by the end of Thursday at this rate. Which is okay, but I WANNA FINISH IN TWO DAYS!!!

I got my takeaway challenge checked by Enrique and being the strict guy he is, I have to redo my inject method rewrite as well as my takeaway program. YARGH.

I also have much work to catch up on now, since:
- my inject method and takeaway challenge didn’t earn me a sticker for last last Friday’s challenge,
- I haven’t finished my Rock, Paper, Scissors challenge from last Friday,
- I volunteered to give a morning talk on the Active Record Pattern with Jeremy on Thursday and need to work on that,
- Toan, Chloe and I are planning to re-write enumerable methods to help us understand how enums and their methods work for our tutoring session with Makis on Thursday

Ah!!! But the best weapon against work overload is prioritization. Here’s how I’m gonna prioritize my free time* until Thursday:

20140730-190001-68401943.jpg
Toan assigned grep() for me. I assigned Chloe chunk(), Chloe assigned Toan partition(). Check out the git repo we made for our enumerable rewrites!

Since I’m gonna be giving and talk and someone else is sort of (not really) depending on me, that takes top priority. Then I gotta get my mentoring session done because social humiliation is involved if I neglect this. I’ve decided the a more recent late-challenge takes priority over a later late-challenge.

So it was kind of a day of some overwhelm, and that means I burned through a lot of snacks. I finished my Nutella-coated Oreos, had 2 bags of crisps, a big handful of spicy Doritos, and pita bread with Philadelphia cream cheese. Wow I feel like a piggy typing all of that out. Fortunately, I made plans with a friend to go climbing this evening!

I left Makers at left at an all time early of 6PM. I don’t think I’ve ever left before 8PM so it felt kind of weird. Almost wrong, even. But maybe because that’s because I’m from ‘Murrca. I almost flaked on my friend, until she kindly reminded me that I wasn’t been cool. “Jenny, we had plans,” were her exact words. So I went climbing, which was very fun and sweaty. My friend joked that’s climbing makes one discover muscles one didn’t know they had. So true. We ended up making bangers and mash with another friend and it was a lovely evening! :)

 

*free time = lunch and after 6PM. I work on my bookmark manager project during regular hours.

Makers Academy: Day 26

Week 6 = Databases!

Oh me oh my. Time sure flies! Almost at the halfway mark.

This week’s project is a bookmark manager. The goal is to expose us to the following aspects of web development, in addition to what we’ve studied before:

Integration testing: Capybara (Monday)
Relational databases (Tuesday and Wednesday)
Security considerations (Thursday)

In addition to the technologies mentioned above, this project is going to be more challenging on the front-end. Of course, we’ll also continue to be using the technologies we’re familiar with: Sinatra, RSpec, etc.

We are going to build a bookmark manager,  similar to pineapple.io or delicious.com in spirit. It’s expected to take about 3-4 days to complete.

A bookmark manager is a website to maintain a collection of links, organised by tags. You can use it to save a webpage you found useful. You can add tags to the webpages you saved to find them later. You can browse links other users have added.

The website will have the following options:

Show a list of links from the database
Add new links
Add tags to the links
Filter links by a tag

Look at me practicing the good practice of committing with meaningful commit messages! Sort of TDDing and minimal pairing though.

Screen Shot 2014-07-28 at 6.21.18 PM

After 6PM, I started working on my Rock, Paper, Scissors Challenge from last Friday. We were provided with some working code to work with, since our main tasks were CSS and heroku, I think.

Screen Shot 2014-07-28 at 11.37.20 PM

Screen Shot 2014-07-28 at 11.37.29 PMScreen Shot 2014-07-28 at 11.37.40 PM Screen Shot 2014-07-28 at 11.37.56 PM

This is as far as I got by the time I left:  Screen Shot 2014-07-28 at 11.57.27 PMScreen Shot 2014-07-28 at 11.57.59 PM Screen Shot 2014-07-28 at 11.57.50 PM Screen Shot 2014-07-28 at 11.58.06 PM Screen Shot 2014-07-28 at 11.58.24 PM

I’m going to change the Paper Rock Scissors buttons into the images, and fix up the results page tomorrow. Then I’ll have to modify the game to accommodate two human players as the program only allows 1 player for now.

What do you guys thinks?

Makers Academy: Day 25

A lovely wall I saw walking to Makers this morning:20140726-171154-61914828.jpgFriday challenge! I’m a challenge behind!!! Oh no oh no oh no oh no… But I’m going to finish my Inject Method+Takeaway challenge from last week for my Rubyist badge before I start doing this weeks’ Rock-Scissors-Paper challenge.

We also don’t have any coaches around today because they are all having a really important meeting, so a bunch of Makers grads came in to be our substitute coaches for the day.

20140725-173104-63064639.jpgThey were super cool and bought us BACON and ICE CREAM. I ate all the bacon before realizing I should take a photo, so here’s a photo of the boxes of ice cream we had to finish quickly because we have no freezer, and me finishing my first ice cream, moving onto my second….20140725-173105-63065035.jpg
I spent the rest of the day working on my Takeaway challenge (from last Friday)  and didn’t get to start on my Rock-Scissors Paper challenge. I realized when I thought I had FINISHED that there was an extra little bit that I had to do and that I was actually not FINISHED! Yargh!! But my mentor, Makis came by for an hour or two to help me out a bit and look at our massive height difference!

20140726-171032-61832769.jpg
At the end of the day, one of my team members exclaimed her joy and excitement in finished out battleships webapp that actually works, and my first reaction was:

Is it tested?! :D

It wasn’t. I was even asked not to be stupid.

WHY. WHYYY?!?! I feel like a failure. Failure as a teammate, a coder, a student. Next project, I MUST DO BETTER TO MAKE SURE THINGS GET TDD’ed!!

Hello, weekend! :)

Makers Academy: Day 24

Exciting day today!

Alex gave a wonderful lecture on CSS and we learned much about styling and how to make our websites look beautiful properly. Joe and I had some fun employing our newly acquired CSS knowledge to make this fun homepage for our Battleships webapp. :)

Our setup:

20140725-155747-57467223.jpg

We joked about how great it would be if this were actually valid.

20140725-155746-57466885.jpg

The end result:

Screen Shot 2014-07-25 at 3.49.42 PM

Developers from ASOS came in to “pair and work” with us (they’re checking us out!). Zoe kept thinking about making the ships draggable after I showed her another battleships game online that features draggable ships and we went to some coaches to ask them some questions about to potentially implement it in our real webapp. This lead to Stephen recommending Rob, Principal UI Engineer (Head of UI Engineering) at ASOS.com, to help us on our project.* We ended up chatting with Rob for literally 2 hours until 12:05pm and got no work done before lunch. We learned a whole bunch from him though. :)

By the end of today, we were supposed to deploy our Battleships webapp, but we only got as far as placing some ships on our own board. This means, no shooting, displaying both players’ boards hasn’t been worked out, and never mind declaring a victor. But I am quite proud of the functionality we did manage to get in though. Here’s how our user journey looks like so far:

20140725-155746-57466568.jpg

At the end of the day, Makis, my mentor came in for our mentoring session. He was an hour early – very characteristic of him – and arrived at 5:31 for our 6:30-8:00 session. Zoe, whom I was paring with, wanted to take an extended break at 5:30, so it was perfect when Makis showed up a minute later because I grabbed him to pair with me some more on our Battleships. We made a bit of progress and I committed before going for our mentoring session at 6:30.

Toan and Chloe are also his mentees, so the four of us kind of just had a really long Q&A session for our first meeting. We asked him all sorts of questions about TDD’ing, so what his experience at Makers was like, his thoughts of software development, what he thinks being a good developer is all about, things he struggled with, and a litany of other things. He stayed at Makers until 9PM, in fact! Makis was so generous with his time and insights I am so happy with him as my mentor. I feel I have much to learn from him. Makers didn’t seem to be closing at 9PM, but Makis and I decided to grab food and we picked up Nadia outside Makers! I forgot to take a photo in their great company, but it’s been a great end to a fabulous day! Here’s the late stayer groups still around after 9PM:

20140725-171611-62171048.jpg

*We are also the best team – only team with a team name, at least. Webdawgs, yay!

Tata for now! :)

Makers Academy: Day 23

I volunteered to give an optional morning lecture on design patterns this morning, as well as Nikesh. He gave his talk on the Proxy design pattern and I gave mine on the Composite design pattern. We each took about 5 minutes and I was told that design patterns probably won’t come in much handy to us at this stage in our coding development. It will be much more useful later, but it’s good to be familiar with these concepts I suppose.

Then it was Sinatra ALL DAY!

maxresdefault(Not implying anything – just googled ‘ALL DAY!’ and this was the top result & I find the image cool.)

“HTTP is like someone with Alzheimer’s. It never recognizes you.” – Enrique

We had two more sessions on Sinatra, but somehow I feel like our lectures have been one behind. A lot of the questions and problems we were struggling to figure out yesterday were answered in today’s lectures, but many teams had already figured out the things our lectures were teaching, and having these lectures one ahead would probably save us a lot of unnecessary grief.

Zoe and I went on sort of a big tangent of trying to make our battleships draggable using jQuery UI, which looked quite badass and awesome despite not working at ALL.

Screen Shot 2014-07-25 at 3.41.15 PMLooks cool, right? But nothing works other than draggy-ness! It was a lot of fun to try and work out though.

Another day of beautiful teamwork. I finally got a photo of my team – awful lighting and poor composition for their lovely faces though (ಠ╭╮ಠ).

20140725-153346-56026225.jpg(left to right: Peter, Zoe, Joe, Jamie)

 

Makers Academy: Day 22

Today we were introduced to Sinatra, Cucumber and Capybara! Mihai gave a Q&A in the morning explaining the basics of the gems we’ll be using to make the web version of our battleships game.

Sinatra is quite an amazing piece of technology because it takes Ruby and HTML and renders HTML only for webpages. When you try to go to a page that doesn’t exist, Sinatra will return show this adorable page:

Screen Shot 2014-07-25 at 2.52.58 PM

Cucumber bridges user stories (small feature usually with business value) that both humans and computers can understand.  Here’s a screenshot of some of our cucumber tests along with the definitions we wrote out for them:

Screen Shot 2014-07-25 at 2.43.11 PM

So readable, right?! Enrique tells us that he is friends with the guy who invented Cucumber and there’s a funny story behind how the gem was named. The inventor asked his wife what he should call the gem, and she answered, “Cucumber” and that was the name it was given! ‘Cucumber’ stuck and the name has nothing to do with what the gem does. Ha!

Next there’s Capybara.

Screen Shot 2014-07-25 at 3.04.46 PMThis gem is a plugin for Cucumber and RSpec, which is used to simulate your program interacting with the web. Enrique tells us he is also friends with the inventor of Capybara and there’s a silly story behind its name as well. It was named based on a gem called Webrat, which “lets you quickly write expressive and robust acceptance tests for a Ruby web application.” The inventor of this gem says he named it ‘Capybara’ because it’s a ‘big ass rat’. Hehehe.

During lunch, I saw this humorous poster outside that made me smile.

20140723-202018-73218154.jpg

Enrique gave a great lecture on how to actually go about using Sinatra in the afternoon lecture and we went on to apply our learnings to build our Battleships for the rest of the afternoon. We worked on our Battleships webapp for the rest of the day  and our team called it a day at around 5:30pm, but I stayed after to finish my Friday Challenge from last week. I’m so behind!!

Here are the little notes I made:

20140725-151229-54749755.jpgThanks to Master Toan, who patiently guided this dull student, I finished my inject method! Look at those beautiful tests passing.

Screen Shot 2014-07-25 at 3.16.09 PM Stayed until closing with the usual group at 9PM, but we all decided to get dinner this time! It only took us 5 weeks… We went to Cay Tre, and had super tasty phở!

Photo faces:

20140723-202018-73218497.jpgReality:20140723-202018-73218780.jpg

 

 

 

Makers Academy: Day 21

“Everybody is trying to do their best.”

New week, new adventure! We are doing Battleships as a web application this week with a new team! Enrique started off the morning with the above quote about working in teams. I thought it was really nice and decided to make that the quote of the day. His words inspired me to propose a team lunch to turn our new team members to get to know one another more personally.

Our lectures were on HTTP and HTML in the morning and afternoon, respectively, given by Enrique. We learned how the internet works in our HTTP lecture and it was pretty neat. Then we learned and that 99% of sites are horribly tagged with <div>’s and <spans>’s everywhere, which are useless and have no meaning, in our HTML lecture. Here’s what I think is the main caveat of HTML to take away:

20140721-201914-73154010.jpg

Because we’re all now in new teams, I thought I should carry the learnings I’ve gained  from my previous team experience to make Webdawgs (my new team’s name) even better than before. Nikesh also mentioned in his blog some great insight into some of the sources of tension that led to a breakdown in communication and love in teams:

In our cohort there is a divide on why people are here to do the course. Everyone has the same base reason and that is they want to Learn to Code, however many people will go back to university after this which means that they are not depending on the outcome and learning from this for their future careers as much as others who have quit their jobs and need this experience to be the best possible to change their career paths and continue in life, and sadly I think this is being reflected in peoples’ attitude to challenges. 

So I proposed that we all go out for a team lunch of just the 5 of us (all other teams have 4 people) to turn these humanoid shells we’re supposed to work with into human beings with lives before, during, and after Makers, who have different motivations and goals. I forgot to take a photo of our lovely team lunch at great cafe Jamie suggested nearby, but a random wanted to take a photo of the back of my shirt and this is the best/only photo of the whole event I have right now.

20140721-193640-70600226.jpg

The observant might notice I have my notebook and pen next to my plate.

20140721-201628-72988158.jpg

The page on the left showed some plans on how we can keep the team organized, communication open, and team spirit high – Trello, HipChat team room, and a nice team name! The right are my notes on each of my team members’ motivations, what they are looking to gain from Makers, what their post-Makers plans are, what they think is important or not, and their frustrations and salvation, if any, from their previous team. Our team seem to have enjoyed the team lunch and found it useful, so I would highly recommend other teams trying this as well, to figure out what kind of team structure would work best for what everyone is looking for.

9PM – I’m getting kicked out again! Bye!