Monday, November 27, 2006

Mondays

There was a BestBuy at Leaside. Apparently on Friday there were 20 Wiis per store at a minimum. So my cousin and I had decided to go grab a console each. The game plan was to get up at 4 and get there at 5 by taking a cab.

My assface cousin wakes me up by putting his cellphone light to my eyes and wakes me up at 3 and we get there like 3:45. There were two seperate lines at this shop. One was PS3 and the other for Wii. There were two signs telling us there were 15 ps3s and 35 wiis. There were only two highschool students sitting out in front when we got there. The two of them had bongs, a laptop, and some cigarettes. They were there since 10:00pm the night before. Anyways, we sat we chilled. More people came. A lady who gave us a ride to the convinience store for coffee and cigs (not for us the highschoolers). This lady was 11th in line at EB the prior Sunday when they only had 10 in stock. Another lady and her 9-year-old child showed up later on. This lady was 42nd in line where they were handing out 41. This other guy was second in line in EB downtown Toronto for two days for the ps3. He plans to flip his ps3 come Christmas time. I ran into a Waterloo graduate and a few other peeps.

7am came by and the tickets that told us the position in line that we'll get were given out. I was 4th my cousin was 3rd. Since we had three hours to kill we decided to hop into another BestBuy line and hog wiis there. My conscience actually did bother me but my cousin sat there long enough to scalp his ticket for $20 to some father further down the line. Say what you want. $20 is fair from both perspectives. From waiting in line and for getting a Wii.

We came back at $10 and the second place fella and the sixth place person sold their tickets for $50 / each. Do we feel like fools yet? Yes.

The second place asshole bought Super Monkey Ball so I couldn't get it. So I picked up one controller, and Rayman with my Wii.

------------------

Monday.

I decide to bring the Wii to work.

Time passes and eventually we decide that we're going to call as many people as we can to play Wii at five. So that's Chantal, Grace, Peter, Steve, Stephan, Ronack, and me at short notice. Calling Ronack was sorta funny because he's Chantal's roommate's boyfriend. Before we play though; my new and old boss give me a call. They want me to drop my work and demonstrate the Wii to them. So the two of them play tennis and bowling. They are having the time of their lives. Andy (new boss) was like ... alright at first I had to get this for my girlfriend for the gimmick but now I'm convinced. Nirbhay was going on about how this is perfect for his parents and friends to play. Right there, two customers. Goddamn.

Anyways, 5 o clock hits and bam ... Wii-fest. So we're in our lunch-room conference room and we're having a blast. We got the projector running and all of us are having fun. It's not a complicated tennis game. But that's it. It's fun as it is. Ronak jets in an hour ... Grace jets an hour after that and Chantal leaves after we go eat. The five of us go back to the office and play until midnight.








I have plenty of videos too. We were sitting down this time because we just walked like 3 subway stops away. We were tired. When I play tennis I stand up for a shot ... hit it ... then sit my ass back down afterwards from the recoil. It's great.

Thursday, November 09, 2006

Blue Balling

So it takes me about one and a half days to decipher the code produced by our CMS team (aka outsourced team). I finally understand its motivation and everything. I look at our revised flowchart and it simply does not go nicely with our CMS code. Normally, I wouldn't be working on the flow of the code because that is in CMS territory but unfortunately I have no choice. Sadly their code is inflexible and I begin prototyping my revised callflow (feasibility purposes). I finally send my results and findings to the CMS team who will implement it.

*sigh*

I need to be able to have code that gets in here.

Saturday, November 04, 2006

Code Review 101

My first code review was at my previous co-op placement. Let's call the place D12.

The only flaw with the code review was that the project that I was working on was useless. The task was to build a web service that sat between the bug tracking database and the web app front end. Hazzah. Two weeks I had built a web service that did the basic functions. One week later I had some crappy authentication to go with it. I spent a long time attempting to make it such that it'd take from the windows authentication but I can't remember exactly why it just straight up wouldn't work. I wasn't ecstatic with the code. It was pretty half-assed when I finished but when it's busy-work, you're just happy you reached a set deadline.

Then I sat down with the head of development (I think he's a program manager). First we went through a demonstration of the main functions. Using my four apps (.net web, .net forms, asp, vb 6.0) for adding a bug, editing a bug, displaying bugs, filtering the bugs, and all the other basic things you can expect. Then he finally got me to open up the web service API.

"Why is that parameter a string and not an integer?"
"Why should I have to jump two levels?"
"Why do [...] isn't that too large a hindrance to performance?"
"What are the advantages of taking out parameters and using an object instead?"
"How would you propose we print out statistics for bugs using your API?"
"What if we wanted to extend it out a bit more?"
"Why the hell is there camel case, hungarian, and regular named variables?"


Most of them were completely legit issues. I couldn't defend myself for them. My only real reason was, "I thought you just wanted me to keep busy?" Yeesh.

"Why is that still a string?"
"Is that the best you can come up with to get stats?"
"Should we bother doing a data warehouse?"
"Your API naming scheme is not obvious enough."


The second time was probably as rough but less relevant as the first. The first one made me put some perspective into the point of what I was doing and I actually weighed certain aspects of the project. The second portion felt like a rip. Many of the questions were a bit absurd and he kept railing on my justifications. To challenge a coder to think is one thing but he went too far. The most painful part of the second code review was the fact that he said my code would not be fit to be put into production. Firstly, I've seen the code in production and to compare that to mine is insulting. Secondly, that statement I felt was unjustified for the second round. It'd be useful to say, "your code isn't ready for code because you need to work on X." Instead I had a really empty statement. I think I responded with, "You're kidding me, I've seen the code that goes in." and also, "I spent 3 months looking for standards and things to follow and got nothing ... what the hell." I think my only qualm was that it felt more personal to me than constructive. Please note that I did not say my code was adequate.

My final code review was not with the head of dev but an architect at D12. Thankfully this one was a lot more pleasant. His questions were a lot more civilized. I had notes and justifications for almost everything: the parameters, the naming conventions, all functions, every unclear section of code, and I even had categorized the calls for different users. This doesn't mean it was any less intensive because the code review lasted for about 2+ hours. He railed on me the same fashion as the head. Except this time he was reasonable about my justifications.

Most people would be under the impression that I'd hate code reviews after that experience but nothing could be further from the truth. It was awesome. I learnt what considerations of I should look for during development. I also learnt that I should fight tooth and nail for code I think is good.