We had a party the other day at my company.
I had a guy come up to me and tell me that his team was crazy. They were working on Java with Linux. He said they were even using Cygwin.
Cygwin on Linux? I was confused.
Cygwin, I thought was a way to have emulate the Linux shell on Windows.
I attempted to clarify but I had two people in agreement that I was nuts. Then they said Cygwin is perfectly fine on Linux if you don't mind it running without the IDE. I'm like ... what IDE? Then they said that it's a good handler of source control.
I just went to the cygwin.com site and my initial definition is about right. There IS Cygwin on Red Hat. It's all about porting Linux apps to Windows. Cygwin/X apparently is doing the X Window thing on Windows.
No one would explain it to me though. I figure that at least they must have heard of my version of Cygwin.
Friday, August 29, 2008
Thursday, August 28, 2008
Preview
Is it more important to have a developer who understands sales? Or is it more important to have a salesman understand development?
I'm taking a good look at how software consulting works.
The hierarchy of a consulting company (not too much from a regular software company) is:
Sales
(Technical Sales)
Account Manager
Program Manager
(Architect)
Team Lead
Lead Developer
Senior Consultant
Junior Consultant
Sales - does the immediate pitch of the product
Technical Sales - pitches the technical side of the product
Account Manager - performs high level assistance of the service
Program Manager - overlooks the health of the project in relation to deadlines
Architect - overlooks the overall technical architecture of the project
Team Lead - matches the technical implementation to the architecture to the specs
Lead Developer - does the implementation of the architecture
Senior Consultant - developer with imaginary importance
Junior Consultant - developer with no importance
I define these levels because to execute a large-scale successful product requires a good level of management between the two. In certain cases, no management at levels.
I'm taking a good look at how software consulting works.
The hierarchy of a consulting company (not too much from a regular software company) is:
Sales
(Technical Sales)
Account Manager
Program Manager
(Architect)
Team Lead
Lead Developer
Senior Consultant
Junior Consultant
Sales - does the immediate pitch of the product
Technical Sales - pitches the technical side of the product
Account Manager - performs high level assistance of the service
Program Manager - overlooks the health of the project in relation to deadlines
Architect - overlooks the overall technical architecture of the project
Team Lead - matches the technical implementation to the architecture to the specs
Lead Developer - does the implementation of the architecture
Senior Consultant - developer with imaginary importance
Junior Consultant - developer with no importance
I define these levels because to execute a large-scale successful product requires a good level of management between the two. In certain cases, no management at levels.
Thursday, April 10, 2008
What a day
I don't take criticism well. I'll say that up front. However, if I have a heated discussion with someone. For example, Ian Halliday ... at the end of the conversation, after everything has cooled down. If the other person is right ... I'd like to think that I've taken away something from it. Sometimes I've even come back later and thank them for challenging me. It doesn't happen too often but I've done it before.
I admit it's a problem with me. I'd like to think that I'm at least man enough to admit my flaws. I also want people to point them out to me so I can work on them.
I just had a review today. I think it was probably the dumbest review I've ever gotten. They wanted it both ways.
The person giving the review received all his information second-hand. So I have to accept everything he says.
The person said he wanted a discussion. But he rarely let me speak.
The person claimed I missed most of my deadlines but did not produce anything to prove it. (I called bullshit on this.)
The person claimed that I was difficult to work with and missed deadlines but of all the developers ... they wanted to keep *me* on the project.
The person claimed that I was immature but instantiated the lower maturity on all the conversations. (I'll throw you off the roof) (That's what Italian mothers do) (etc etc ...)
The person claims that I should have clean code and yet claims that sometimes you have to do what you have to do. (Good, fast, and cheap ... I'm cheap, choose one of the other two)
Oh yes, they tell me to listen to my lead developer because it's his ass on the line. But, somehow I'm on trial for these problems. YOU CANNOT HAVE IT EVERY WAY.
By the by, no one else gets called out on the deadlines. I did miss deadlines. By about 3 hours ... once. Bad? My teammates missed theirs by days-weeks-months. *I* got called out on mine. I also got threatened by my lead developer. No one else did. No one gets a peep.
He's going to send this information to all the managers.
Reviews are a painful time for anyone/everyone. I take things critically, I'll concede that. I will call bullshit on anyone who says that they don't have similar flaws. You haven't looked at yourself honestly or clearly if you haven't. But, when you're going to go through a list of issues that I have. How can it be constructive criticism or even a discussion if you are not the person I've been dealing with? I can't defend anything. It's all a third source.
What happened was that things got hot. I was working on a volatile piece of code. Every change could break the system. I gave repeated warnings about the data I'm reading, its integrity, and the volatility. Instead my lead developer had amnesia and repeated the same thing over and over. Asking for me to have it all done ... I repeat the risks and tasks ... he says that's okay ... and he come back again asking the same thing. The next time with a threat.
I admit it's a problem with me. I'd like to think that I'm at least man enough to admit my flaws. I also want people to point them out to me so I can work on them.
I just had a review today. I think it was probably the dumbest review I've ever gotten. They wanted it both ways.
The person giving the review received all his information second-hand. So I have to accept everything he says.
The person said he wanted a discussion. But he rarely let me speak.
The person claimed I missed most of my deadlines but did not produce anything to prove it. (I called bullshit on this.)
The person claimed that I was difficult to work with and missed deadlines but of all the developers ... they wanted to keep *me* on the project.
The person claimed that I was immature but instantiated the lower maturity on all the conversations. (I'll throw you off the roof) (That's what Italian mothers do) (etc etc ...)
The person claims that I should have clean code and yet claims that sometimes you have to do what you have to do. (Good, fast, and cheap ... I'm cheap, choose one of the other two)
Oh yes, they tell me to listen to my lead developer because it's his ass on the line. But, somehow I'm on trial for these problems. YOU CANNOT HAVE IT EVERY WAY.
By the by, no one else gets called out on the deadlines. I did miss deadlines. By about 3 hours ... once. Bad? My teammates missed theirs by days-weeks-months. *I* got called out on mine. I also got threatened by my lead developer. No one else did. No one gets a peep.
He's going to send this information to all the managers.
Reviews are a painful time for anyone/everyone. I take things critically, I'll concede that. I will call bullshit on anyone who says that they don't have similar flaws. You haven't looked at yourself honestly or clearly if you haven't. But, when you're going to go through a list of issues that I have. How can it be constructive criticism or even a discussion if you are not the person I've been dealing with? I can't defend anything. It's all a third source.
What happened was that things got hot. I was working on a volatile piece of code. Every change could break the system. I gave repeated warnings about the data I'm reading, its integrity, and the volatility. Instead my lead developer had amnesia and repeated the same thing over and over. Asking for me to have it all done ... I repeat the risks and tasks ... he says that's okay ... and he come back again asking the same thing. The next time with a threat.
Saturday, February 23, 2008
Software
Here's a list of software that I've been using:
Programs
Mozilla Firefox
Paint.NET
Development
- Beyond Compare ($)
Configuration & Utilities
- Input Directory
- UltraMon ($)
- DAEMON Tools
- Launchy
- KeePass Password Safe
- CoreFTP
- WinRAR ($)
Communication
- Skype
- Live Messenger
Media
- FLV Player
- Foobar 2000
Programs
Mozilla Firefox
Paint.NET
Development
- Beyond Compare ($)
Configuration & Utilities
- Input Directory
- UltraMon ($)
- DAEMON Tools
- Launchy
- KeePass Password Safe
- CoreFTP
- WinRAR ($)
Communication
- Skype
- Live Messenger
Media
- FLV Player
- Foobar 2000
Monday, December 17, 2007
Monday, December 10, 2007
SharePoint Gripes
I don't care what reason Microsoft has for their piss-poor non-IE support. It's despicable. They can go on about how they will face compatibility issues. You know what? Tough! If you can support IE6 and IE7 you can support Firefox. What sort of lunacy is this?
It's bad enough the HTML editor is non-existent in Firefox ... also ... their license for a non-editable RAD editor is nice ... but not enough. Note I threw in non-editable. But the damned date-pickers are gone too in Firefox.
Man. Microsoft. It's late, but fuck you.
It's bad enough the HTML editor is non-existent in Firefox ... also ... their license for a non-editable RAD editor is nice ... but not enough. Note I threw in non-editable. But the damned date-pickers are gone too in Firefox.
Man. Microsoft. It's late, but fuck you.
Wednesday, June 06, 2007
NTP
Alright.
I was supposed to be done minesweeper a LOT earlier. What happened? Polish happens.
I'd say it only took 2 days to do the main game. The polish however is taking well over a week and I'm exhausted. Funny eh?
Well, let me broaden my definition of polish. Adding highscores is polish to me. I've read briefly about the SRAM. That meant finding graphics for a keyboard. Then redesigning graphics for the keyboard. Working the keyboard. All that.


There's my new modified keyboard and title screen. I could have put some effort and made a really bitching one but I decided to go with graphics that are a lot simpler to go with my retro theme.
Anyways, I'm going to have to take each key separately and load them in.
Marc has been complaining about using separate fonts. Aka, any font besides the console font. So what I've decided to do is use Bitstream Vera Mono, since it's a beautiful pixel font. I've also attempted to make the keyboard hover, instead of switching screens. This took a while for some reason.
The transparency flag for GFX2GBA doesn't seem to be working for the NDS. It switches the colour of the first colour, to the one you specify. I also can't get ndstexconf working properly. It complained about me not having Directx9.0c. After installing that multiple times, it still complains. So, I'm stuck using GFX2GBA that only supports 8-bit graphics.
So, on the official GFX2GBA website. There's instructions on how to create transparent graphics using Adobe Photoshop. So, after messing around with my palettes a few times. I have a floating keyboard. I also have fonts working to a certain extent.
Anyways, I have to readjust the keyboard because I created depressed and raised keys. So I have to remap the keyboard appropriately. This creates some issues because I have a keyboard class that initially only mean to return a string of characters, but not may be required to give graphics positions. So, my designs aren't getting much more modular. Urgh.
That's the end of that.
I was supposed to be done minesweeper a LOT earlier. What happened? Polish happens.
I'd say it only took 2 days to do the main game. The polish however is taking well over a week and I'm exhausted. Funny eh?
Well, let me broaden my definition of polish. Adding highscores is polish to me. I've read briefly about the SRAM. That meant finding graphics for a keyboard. Then redesigning graphics for the keyboard. Working the keyboard. All that.
There's my new modified keyboard and title screen. I could have put some effort and made a really bitching one but I decided to go with graphics that are a lot simpler to go with my retro theme.
Anyways, I'm going to have to take each key separately and load them in.
Marc has been complaining about using separate fonts. Aka, any font besides the console font. So what I've decided to do is use Bitstream Vera Mono, since it's a beautiful pixel font. I've also attempted to make the keyboard hover, instead of switching screens. This took a while for some reason.
The transparency flag for GFX2GBA doesn't seem to be working for the NDS. It switches the colour of the first colour, to the one you specify. I also can't get ndstexconf working properly. It complained about me not having Directx9.0c. After installing that multiple times, it still complains. So, I'm stuck using GFX2GBA that only supports 8-bit graphics.
So, on the official GFX2GBA website. There's instructions on how to create transparent graphics using Adobe Photoshop. So, after messing around with my palettes a few times. I have a floating keyboard. I also have fonts working to a certain extent.
Anyways, I have to readjust the keyboard because I created depressed and raised keys. So I have to remap the keyboard appropriately. This creates some issues because I have a keyboard class that initially only mean to return a string of characters, but not may be required to give graphics positions. So, my designs aren't getting much more modular. Urgh.
That's the end of that.
Sunday, May 27, 2007
NDP
So I've been doing Nintendo DS Homebrew Development for the short little while.
What motivated me to do it? Initially Pritesh. Then after that ... myself. Sadly, I don't think anyone in the industry besides other than game developers would give a flying damn that I decided to do this.
Anyways, what have I decided to do? I've decided to create minesweeper. As of Sunday May 27th 2007, I have minesweeper working with the following features:
- displays debugging information
- creates a 10x14 minefield
- randomly creates places 25 mines in the field
- the number detection thing
- hold L and tap a tile and it will place a flag
- click on a mine and it will 'end' the game - revealing all the bombs (unfortunately you can still click stuff), and 'correcting' any false flags
- pressing A regenerates the game
I think covers it. The problem with me and projects is that I never know when to put them down. Even the most simplistic. So here are my goals for tonight.
- disable clicking anymore when you die
- enable "sweep" -- equivalent to the middle click for Windows Minesweeper, done by pressing any of U,D,L,R,A,B,X,Y while tapping a tile
- seed the darn random number generator
- add a timer to the top
- add a possibility of victory
Now here are a few things that I COULD do:
- add wireless/multiplayer
- add stats
- add changing the number of mines
- add a scrolling field
- add music
- add additional tiles
- add sound
I may not do any of those additional things. I may decide to just cut and run.

"Science can't explain everything!"
"No shit. If we could explain everything, we wouldn't need science woudl we?"
What motivated me to do it? Initially Pritesh. Then after that ... myself. Sadly, I don't think anyone in the industry besides other than game developers would give a flying damn that I decided to do this.
Anyways, what have I decided to do? I've decided to create minesweeper. As of Sunday May 27th 2007, I have minesweeper working with the following features:
- displays debugging information
- creates a 10x14 minefield
- randomly creates places 25 mines in the field
- the number detection thing
- hold L and tap a tile and it will place a flag
- click on a mine and it will 'end' the game - revealing all the bombs (unfortunately you can still click stuff), and 'correcting' any false flags
- pressing A regenerates the game
I think covers it. The problem with me and projects is that I never know when to put them down. Even the most simplistic. So here are my goals for tonight.
- disable clicking anymore when you die
- enable "sweep" -- equivalent to the middle click for Windows Minesweeper, done by pressing any of U,D,L,R,A,B,X,Y while tapping a tile
- seed the darn random number generator
- add a timer to the top
- add a possibility of victory
Now here are a few things that I COULD do:
- add wireless/multiplayer
- add stats
- add changing the number of mines
- add a scrolling field
- add music
- add additional tiles
- add sound
I may not do any of those additional things. I may decide to just cut and run.
"Science can't explain everything!"
"No shit. If we could explain everything, we wouldn't need science woudl we?"
Thursday, December 07, 2006
Joke I Read On Slashdot
How many computer programmers does it take to screw in a light bulb?
None. It's a hardware problem
None. It's a hardware problem
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)