How many computer programmers does it take to screw in a light bulb?
None. It's a hardware problem
Thursday, December 07, 2006
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.
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.
*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.
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.
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.
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.
Saturday, October 21, 2006
Outsource Part Deux
O-kay.
Our Ukraine team just straight up didn't show up the entire week. What the fuck is that? I spoke to another who had to deal with an outsourcing team and their team was so incompetent that they reduced their portion from working on coding between the application-to-database to creating stored procedures.
Yeah, I understand that their time is cheap. But ours isn't. If they produce bad code, they don't respond, there's communication barriers, and they stop me from doing my work. The price frankly isn't worth it. Then again I'm not a manager who can look at raw numbers.
I'm honestly waiting until my boss is telling me to take this project all the way to the end. I swear just me one of the two of their salaries and I'll complete this project all the way until the end. I'll write manuals, I'll write comments, I'll do progress reports or whatever. It may seem like what I can do is seperate but I have no idea what the other person is doing. At a whim he can take away all my unit testing. He can force me to rewrite half my code. We have no source control yet. My manager suspects that asking them to send code that is able to be checked-in is what caused this hiatus. They said they were near done. I told my boss that unless they were sending me tarballs that were a few weeks back then I have no idea how they plan to achieve such a feat.
Our Ukraine team just straight up didn't show up the entire week. What the fuck is that? I spoke to another who had to deal with an outsourcing team and their team was so incompetent that they reduced their portion from working on coding between the application-to-database to creating stored procedures.
Yeah, I understand that their time is cheap. But ours isn't. If they produce bad code, they don't respond, there's communication barriers, and they stop me from doing my work. The price frankly isn't worth it. Then again I'm not a manager who can look at raw numbers.
I'm honestly waiting until my boss is telling me to take this project all the way to the end. I swear just me one of the two of their salaries and I'll complete this project all the way until the end. I'll write manuals, I'll write comments, I'll do progress reports or whatever. It may seem like what I can do is seperate but I have no idea what the other person is doing. At a whim he can take away all my unit testing. He can force me to rewrite half my code. We have no source control yet. My manager suspects that asking them to send code that is able to be checked-in is what caused this hiatus. They said they were near done. I told my boss that unless they were sending me tarballs that were a few weeks back then I have no idea how they plan to achieve such a feat.
Tuesday, October 17, 2006
Performance
I'm so brain dead.
I'm starting and stopping my LISP exercises because my brain is refusing to process the information. I'm working through these exercises quite slowly. I think I need to start scheduling time properly. You know? Properly devote an alotted time to LISP and an alotted time to something else and commit myself.
Anyways, to performance.
I'm starting and stopping my LISP exercises because my brain is refusing to process the information. I'm working through these exercises quite slowly. I think I need to start scheduling time properly. You know? Properly devote an alotted time to LISP and an alotted time to something else and commit myself.
Anyways, to performance.
Monday, October 16, 2006
Monkey Without A Heart
As coop students we look at work and school as four month intervals. There is always a light at the end of the tunnel. Normally, during those four months you're able to determine a few things. Whether you enjoy development at the company. Whether you like the town. Whether it's worth coming back to (and if it's a promise of more responsibility, you are mistaken). Even if you hate the position and you just flushed four months of experience into QA or something. It's only four months and you get to try your luck at the next round.
So ... I'm all out of tunnels.
I'm actually at a different position than my taller, whiter, smarter counterpart. I'm still fairly excited about the work I do at this co-op job. However, our reasons for the way we feel may not differ. This is Ian's second term at this job and he seems to be uninterested in his current project. I'm at my first term and using Java for the first time commercially. I say I'm excited now but around four months is where I'm usually about the boundary. I'm starting to wonder if I will find a good development job that I'll like and feel productive after coop.
A lot of people subscribe to the notion that your work is what pays the bills. Your work is exactly that, work. I think there's an advantage to that. I'd probably never put in more hours than I'm supposed to for a project (unless I'm being handsomely rewarded). But, I, personally am still going to hold onto the ideal that I'll love my job. I need to ... Otherwise all these years I spent in school was for basically nothing.
I'm hoping that what I'm speaking of, and what Ian is experiencing is just a down. Development cycles and projects themselves have ups and downs. Just as any other profession. I guess I'm still young and idealistic but I believe that if I keep doing what I'm doing that I'll find a job that'll reward me for it.
So ... I'm all out of tunnels.
I'm actually at a different position than my taller, whiter, smarter counterpart. I'm still fairly excited about the work I do at this co-op job. However, our reasons for the way we feel may not differ. This is Ian's second term at this job and he seems to be uninterested in his current project. I'm at my first term and using Java for the first time commercially. I say I'm excited now but around four months is where I'm usually about the boundary. I'm starting to wonder if I will find a good development job that I'll like and feel productive after coop.
A lot of people subscribe to the notion that your work is what pays the bills. Your work is exactly that, work. I think there's an advantage to that. I'd probably never put in more hours than I'm supposed to for a project (unless I'm being handsomely rewarded). But, I, personally am still going to hold onto the ideal that I'll love my job. I need to ... Otherwise all these years I spent in school was for basically nothing.
I'm hoping that what I'm speaking of, and what Ian is experiencing is just a down. Development cycles and projects themselves have ups and downs. Just as any other profession. I guess I'm still young and idealistic but I believe that if I keep doing what I'm doing that I'll find a job that'll reward me for it.
Friday, October 13, 2006
Outsource
Let me be the first to pretend that I have no problem with development being outsourced.
Usually the types of jobs that you hear about being outsourced are usually ones that are on the lower end of the spectrum (I mean no offense, but tech support, QA, perhaps). That's why working at this company is a bit strange. I see that a majority of the full-time development jobs are outsourced. I must admit that I find myself in a bit of a conundrum being a voice application developer for a company that seems to outsource most of its development; but we develop applications whose major purpose is to get rid of the jobs (directory assistance, secretary) that would most likely be outsourced.
My product right now is the OpenSpeech Dialog Modules. My team consists of a manager, two outsourced devs, and myself. My program manager does little programming. He does know the code though. Which makes me wonder about what Microsoft PM interns do .... (damned if I know) .... Anyways, my PM does look over the code and take care of bugs, issues, and all these other technical issues. He does no real programming himself however.
When I say I am at ends with outsourcing, it isn't because I feel I'm losing my job to them. But when half your team is outsourced, there's a communication barrier you must break. That means a language barrier, a technical barrier, and the fact that you're no longer close to one another (being able to draw stuff on whiteboards). Also, the fact that they're in Ukraine means that I must get into work at 8 to carve a decent conversation/explanation. There's also the cryptic e-Mails that they send. I think I've had to tell them not to subvert the platform four times. I think they did it in again in the most recent build but the code is so convoluted that it's going to take me a while to see if they did (I'd ask but I think it'd take me longer to decode the messages).
From a business perspective though I can think of two good reasons for outsourcing off the top of my head. One of which being the fact that it's cheaper labour. I have no problem with that. I'm a co-op student. I essentially AM cheap labour. Secondly, is the advantage of having those types of workers in another time zone. Supposedly my company has a continuous work cycle where when one person leaves and the other picks it up. The code is constantly being worked on and I think you squeeze more out of a day.
Right now, I haven't met someone who has worked at a company where they found outsourcing (in a development setting) advantageous. So far, I've only heard complaints. I am, so far, unimpressed.
I've had a coworker claim that he worked in a company where his team was completely outsourced and that the product worked swimmingly. Besides the fact that they guy isn't really someone I would consider an expert at ... 'anything'. But, his team was 5-6 people spreading across to parts of Europe, the States, and Canada. I don't know how you can easily coordinate such a project amongst that many people and this is something that I'm not opposed to believing but will only really believe if I see it first hand.
I hope outsourcing gets better in my company. I really do. I have to deal with it. I'd prefer to see the code coming out not being ass. So yes, I hope it gets better. However, there are certain principles that I see that come with the code you produce. Basic programming principles and familiarity with the language and all that other stuff. Which such a pitfall in these areas it's making me wonder if these people care about software development or if they just want to get the job done.
Usually the types of jobs that you hear about being outsourced are usually ones that are on the lower end of the spectrum (I mean no offense, but tech support, QA, perhaps). That's why working at this company is a bit strange. I see that a majority of the full-time development jobs are outsourced. I must admit that I find myself in a bit of a conundrum being a voice application developer for a company that seems to outsource most of its development; but we develop applications whose major purpose is to get rid of the jobs (directory assistance, secretary) that would most likely be outsourced.
My product right now is the OpenSpeech Dialog Modules. My team consists of a manager, two outsourced devs, and myself. My program manager does little programming. He does know the code though. Which makes me wonder about what Microsoft PM interns do .... (damned if I know) .... Anyways, my PM does look over the code and take care of bugs, issues, and all these other technical issues. He does no real programming himself however.
When I say I am at ends with outsourcing, it isn't because I feel I'm losing my job to them. But when half your team is outsourced, there's a communication barrier you must break. That means a language barrier, a technical barrier, and the fact that you're no longer close to one another (being able to draw stuff on whiteboards). Also, the fact that they're in Ukraine means that I must get into work at 8 to carve a decent conversation/explanation. There's also the cryptic e-Mails that they send. I think I've had to tell them not to subvert the platform four times. I think they did it in again in the most recent build but the code is so convoluted that it's going to take me a while to see if they did (I'd ask but I think it'd take me longer to decode the messages).
From a business perspective though I can think of two good reasons for outsourcing off the top of my head. One of which being the fact that it's cheaper labour. I have no problem with that. I'm a co-op student. I essentially AM cheap labour. Secondly, is the advantage of having those types of workers in another time zone. Supposedly my company has a continuous work cycle where when one person leaves and the other picks it up. The code is constantly being worked on and I think you squeeze more out of a day.
Right now, I haven't met someone who has worked at a company where they found outsourcing (in a development setting) advantageous. So far, I've only heard complaints. I am, so far, unimpressed.
I've had a coworker claim that he worked in a company where his team was completely outsourced and that the product worked swimmingly. Besides the fact that they guy isn't really someone I would consider an expert at ... 'anything'. But, his team was 5-6 people spreading across to parts of Europe, the States, and Canada. I don't know how you can easily coordinate such a project amongst that many people and this is something that I'm not opposed to believing but will only really believe if I see it first hand.
I hope outsourcing gets better in my company. I really do. I have to deal with it. I'd prefer to see the code coming out not being ass. So yes, I hope it gets better. However, there are certain principles that I see that come with the code you produce. Basic programming principles and familiarity with the language and all that other stuff. Which such a pitfall in these areas it's making me wonder if these people care about software development or if they just want to get the job done.
Wednesday, October 11, 2006
To Itch
At first I chose not to do this blog.
It wasn't because I already have a Xanga blog. There are many advantageous things that Blogspot so easily provides.
It's because Pritesh did it first and he'll take some pride in being the first. THERE I SAID IT. =P
This first blog should symbolize a whole new beginning. Instead, however, I'm going to use it to mock Ian WJ Halliday. http://ianwjhalliday.blogspot.com/
I'm planning to use this blog to mainly gripe about programming woes. It certainly feels that way. It's going to be weird since I'm not a good programmer (in my own eyes) by any stretch of the imagination, but that certainly isn't going to stop me. Before I do, I'm going to go to work tomorrow and make sure I read over my disclosure forms very carefully.
Anyways, toodles.
Robert.
It wasn't because I already have a Xanga blog. There are many advantageous things that Blogspot so easily provides.
It's because Pritesh did it first and he'll take some pride in being the first. THERE I SAID IT. =P
This first blog should symbolize a whole new beginning. Instead, however, I'm going to use it to mock Ian WJ Halliday. http://ianwjhalliday.blogspot.com/
I'm planning to use this blog to mainly gripe about programming woes. It certainly feels that way. It's going to be weird since I'm not a good programmer (in my own eyes) by any stretch of the imagination, but that certainly isn't going to stop me. Before I do, I'm going to go to work tomorrow and make sure I read over my disclosure forms very carefully.
Anyways, toodles.
Robert.
Subscribe to:
Posts (Atom)