Angular.js and a careers lunch

It’s the beginning of week 9, which means we only have four weeks to go until our graduation. I can’t believe how fast the time went. I don’t know what I’m going to do with all this free time when the course is over. What do people do who don’t code all day?

Anyway, I don’t need to think about it just yet. This week I once again settled into the (dis)comfort of our usual days of 9 to 5 to 8/9/10.

We started learning Angular.js today, a JavaScript framework which provides a browser side Model-View-Controller structure. We had only seen something like this on the server side in Sinatra and Rails before.

And it wasn’t even that difficult! We’ll learn more about it tomorrow and Wednesday, so I assume the complexity will increase. But for now we displayed data from a JavaScript object (normally the data would come through an API in JSON format) and created an interactive view of this data with a search function, a display and hide functionality and a few other things. Writing these functionalities in JavaScript would have taken a lot longer, so in that respect Angular is pretty cool.

Of course it means that it’s another thing to learn and at the moment, while I’m still not comfortable with it, it’s a pain. But it reminds me of my experience with jQuery (crazy! I seriously thought I’d rather write JavaScript than jQuery because I knew how to do it… Mental! Luckily this delusion only lasted for about a day).

Homework over the next three days is to create an interactive WDI 10 yearbook page which introduces the students and what we’ve been up to. Apparently the best one will be published online. I think it’s nice to do a homework which might have the potential to be actually useful. The page will ultimately help to promote our skills and experience to potential employers.

On that note, I’m going for lunch with our careers adviser tomorrow! She made our Christmas homework into a little competition and I won. The prize is a lunch with her during which I can ask all my questions about finding jobs after the course. She hasn’t disclosed the venue yet but said that it would be a very nice restaurant, so I’m excited!

Project presentation Friday and the joys of team work

It’s Friday. Michael is wearing a shirt. The smell of nervous sweat is wafting across the classroom. It must be project presentation day!

We spent the whole week working on our team projects and now the day had come.

It was nice to see everybody’s presentations and I think each team created a well thought out project. Very impressive, considering most of us have only been doing this whole web dev thing for seven weeks and never before in a team.

I was really happy with our dog dating website. Basically the idea is that a user signs in (through Facebook!) and then sees a map (Googlemaps integration!) with other users in their area (geolocation!). Each user has a profile page and can create profile pages for their dogs. Users can message each other (Mailboxer!) and set up dates for their dogs.

I would have loved to post the link to it here (we were the only team that put their website on the internet so that people can actually start using it!) but I just noticed that there are still a few bugs which I will need to discuss with the others next week as it’s related to their bits of code.

I guess that’s what happens in a team project – sometimes you just have to let it go. There are a lot of compromises to be made and you can’t be too precious about your own opinions and ideas, unless you feel like arguing about it for hours and not getting anything done. I think I’m more of the harmony loving type so I’m happy to agree with whatever sounds vaguely sensible and just get on with it.

Comparing this week to project 1 (Tic Tac Toe XOXO) I feel like I didn’t learn as much, which is a bit disappointing. Of course, it was down to myself, I could have said that I’ll create some crazy functionality in PHP or something and then my learning curve would have been massive but I wanted to play it safe to make sure that we have a finished product by the end of the week.

So while the last weeks were a crazy whirlwind of constantly feeling stretched and learning new things, this week was a bit quieter on that front. I do feel like I got a really good understanding of using Git (the version control and collaboration system) and I learnt how to implement a new Ruby gem that I hadn’t used before (Mailboxer).

But the objective of this week was more about learning to work with others than learning about new technology. To be honest, the most challenging thing for me this week wasn’t the coding but verbalising things that I usually just have in my head when I work on a project alone. It’s not easy trying to explain something (that you might not fully understand in the first place) to others who have a different background from you and different proficiency in the English language.

It was fine in the beginning but got more stressful towards the end when the deadline was approaching and tempers got shorter.

Working in a team also meant changing my way of working which is normally a bit more fluid. I would normally start on a project and change it as I went along – so, for example, if the styling wasn’t quite right, I’d just try a couple of different colours or a different background image. Working in a team meant that we agreed on things up front and then stuck to it. For example, I couldn’t just have gone and changed all the colours because I felt like it. It would have meant explaining it to the others, discussing it, agreeing on it and then maybe implementing it, depending on the outcome of the discussion. A much longer process!

Anyway, I think the hard work paid off and we delivered a really good website. I hope to share the link soon, once we’ve fixed the bugs!

Daft Punk Sound Manager app

In week 6, when we started learning JavaScript and jQuery, we did a really fun project using the Sound Manager 2 JavaScript Sound API.

I finally got round to making it work properly, jazzing up the styling and putting it onto Heroku. Unfortunately the sound doesn’t really seem to work on mobile, so I might have to look into this at a later stage. But on desktop it works well.

If you know that famous song by Daft Punk, then crank up the sound on your computer and go to the link below! (Hint: click the buttons on the website)

Daft Punk – Work it, make it, do it…

Project week is back!

On Thursday we started working on our second larger project. Once again we will have a week to create a Rails application, except that this time it’s a team project.

Michael has predicted that by Wednesday latest a lot of us will be at each others throats but I have a good feeling about my team. I think we’re more likely to be eating a civilised dinner and drinking fine French wine than arguing over Git commits, but let’s see…

On Wednesday this week the instructional team assigned us into our groups of three or two and gave us the available project options. This time each team will have a different project. The projects were things like a website for fitness instructors to present themselves to clients, a website for the best coffee shops in the area, a website for a food sharing service, so quite fun stuff. But the most fun thing was (and my team and I agreed on it straight away): a dog dating website!

In order to have a fair process of picking the projects, we played code golf in our teams on Thursday and the team that won picked first, then the second team and so on.

Code golf is quite an interesting game whereby you have a number of challenges (holes) and you need to try to complete these with the least amount of characters of code (so basically as few strokes as possible).

Anyway, the outcome was that our team got to pick the dog dating app project. We got so excited, we set up a Facebook page for it straight away: Date my Dog on Facebook

We started planning the app on Friday and spent the whole Saturday together to work on the initial set up and figuring out a way for users to message each other (to set up the dates for their dogs) and to integrate Google maps with geolocation (to see the dogs in your area).

I think we’ve definitely got the right attitude and team spirit, now we just need to figure out that minor detail of technology…

Making the impossible possible

It’s Saturday and I’m spending yet another weekend on a seemingly impossible homework task which I already know will look easy when Michael explains it to us on Monday. This is how my day unfolded:

I got up early and start at 9am or so. I’d already been thinking about how I wanted to approach the homework and it didn’t seem overly difficult. I start working on it. Setting everything up, starting to code… and it’s not working. OK, no problem. I’ll just google it. Then implement the answer that I found. Hm, seems wrong. Some more googling and trying and testing and even more googling. For hours. I am wondering if I’m wasting my time. Nothing works. Should I just give up and do some Codeschool tutorials instead? Or some Ruby code quizzes? Ah, I know! I’ll do some CSS. Wow, now it looks cool!

That makes me want to try again. It has to work! Surely I must be able to figure out a way? I google some more. I HipChat the others. Michael gives some hints. I try this line of code and that line of code – hang on, didn’t I try the same thing at 10am this morning? I don’t know what’s what anymore.

6pm, I open the wine. Ahhhh… The world of code is a better place with a nice glass of Rioja. My French classmate says on HipChat that the homework is a real ‘head breaker’. Agreed! Let’s install some more debugging gems. Wahhaay! My error messages are even more colourful now!

That’s where I’m at. It’s Saturday night and this is actually what a lot of my Saturdays look like during the WDI course. I haven’t given up hope, I’ll try more tomorrow.

Anyway, I haven’t really posted much about week 6 yet, so here goes: we learnt JavaScript, jQuery and how to make Ajax requests in Sinatra.

On Wednesday night I went to Codebar for the first time. Codebar is a weekly workshop supporting minorities in the tech industry. It’s completely free and experienced developers help students with whatever they are currently working on: tutorials, a personal project or the GA Chat Ajax post request homework. I was glad that I had help with it. It was hard!

On Thursday I decided to change my attitude. No more winging, no more saying that it’s hard. You are what you believe you are! Steve Jobs never said that something was hard, did he? So I said in our daily standup that the homework was fun and I got it all done without any problems. And that felt so good! (I did warn everyone that this was an experiment).

The homework for Thursday was to create a rock, paper, scissors game in JavaScript and jQuery. I stayed positive and the homework turned out to be fun! It took me four hours or so to figure it out but it was an enjoyable process. And it worked! My experiment was successful. And now you can play!

On Friday we didn’t learn anything new but just reviewed the homework with Alex in the morning and then Jarkyn explained Ajax get and post requests in Sinatra again which was really useful.

The weekend homework is to do a basic bank balance calculator using Ajax requests on Rails for the first time. And you know where I’m at with that one.