Friday, April 16, 2010

Beyond the RIM, the conclusion.

Oh did I tell you, dear blog? I got the job at RIM!
It's such good news it borders on being a small miracle.
Who woulda thought?
I get to work as a Java developer on my first co-op, skipping the slave-away-as-unit-testing intern stage.
This completely shatters my life view as a cynic of course. I'm not used to getting what I want when I want it. Life usually gives more of a fight.

I have to move to Ontario on very short notice.
Decided to drive there so that I can keep my car and my 2 synthesisers. "United breaks guitars" gave me a scare, so I'm going to avoid flying instruments if I can help it.

Next sunday, a day after my last final, I will pack up and leave.
Driving cross country on my own may be a bit boring, so I posted an add on craigslist. But let's face it, you have to be pretty dumb to go on a roadtrip alone with a total stranger for 5 days, so I'm not putting too much hope into it.

Considered offering some of the other SFU students who got accepted for jobs in the east coast, but we all get airfare covered, so it's not likely that they'd want to drive instead.

Although I think that's an excellent way to meet someone when you're both going to be living there for probably a year.

Trouble is I'm the only one who sees it that way. (always the cynic.)

On a side note, I sent the cmpt 275 instructor some hatemail. Basically congratulating him on inspiring a new generation of people who drop their trash on the floor to be picked up by others.

He liked it so much he wants to meet me to address my comments.
If he were any other man, I'd have hope, but knowing him, I can only assume this is some trick to cover his ass.

Hopefully he won't fail me for this.
That would be really sad. As much as I lack respect for him, I take him for a selfish, narrow-minded person, not a bad man.

Destroying my career over a well written, well argued insult would be devious.

this is the email:

I've been interviewing for a co-op this summer and taking this course as a requisite.


Although I finally landed a co-op, in 2out of 4 interviews, after enthusiastically describing my iPhone project, the first response was "what's objective-c?"
Imagine my frustration.
Apple does not hire SFU students, but RIM does.

Why not develop a mobile application for the blackberry and give your students a fighting chance.

Learning an extra language is nice. but most of these students barely know one language and have to be carried along by the more senior members of their team. If the project was in Java, it would not only help, it would inspire them to try.
in a group of 5, 2 could never pick up the language, and every time one of the other 2 committed code, i had to go over it and restructure everything because they have no concept of object oriented design and barely know how to program. all they know is assembly from engineering classes and very basic c.
that's 5th year sfu engineers for you. putting two of them in one team didn't help.

i can't take leadership when i have to deal with cliques. i have to let them try and fail first to prove my point and that's a total waste of time for me and the group.
put more thought into group compositions. maybe even force every team to assign a single project leader and give him/her some authority to handle internal issues.
I had to carry 5 people. and i had to break the law (hack osx) in order to do it.

I gained experience in a fringe language that never was and never will be an industry standard, and a better appreciation of the necessity of well defined team leadership and prior preparation.

Speaking of preparation...
I asked you last term to add something in the line of "This course relies heavily on Macs, so it would benefit the student to have access to one" in the course description.
It's a very small effort that would make a huge change. hacking osx takes time, if students know they need to do this (yes they do) they need to know about it in time.
I haven't checked, but according to the class reaction, i can safely assume you didn't do it.

That would have taken what? 5 minutes of your time? I guess you were powerless to do that too.

You know how they say actions speak louder than words?
Here's what values i learned through action in this course:

  • you don't need to take responsibility for your group tasks, someone else will.
  • you don't need to participate and contribute equally, because if your group succeeds you will get the same grade. why make the effort.
  • ignoring conventions and accepted standards is clearly an example of good UI.
  • accountability and responsibility is for suckers.
Congrats, you've inspired a new generation of people who leave their trash on the floor when they go to the cinema (why bother carrying it to the trash, someone will pick it up). I'd be proud if i were you.
just my thoughts on the course as i missed the evaluation and i believe in feedback.
you may and probably will ignore this,
but hopefully someone after me will benefit.


cheers.

Now that I reread this, I feel bad. This doesn't well implement what I learned in 376. I hope Ted doesn't see this :) I got the numbering all wrong, misplaced comas all over, sentence structure is a mess. the foramtting is bad, transitions lacking. not well written at all.
And the worst of it is I actually said "hopefully".

In my defense, it was revised so many times it lost all form and structure and written very late at night over a short period of time.
Sorry Ted!

Tuesday, April 06, 2010

Phase III : Revenge of the bunny.

The theme for today is the ingredients of poor education.
What better fitting time for this topic than Easter itself.

I found myself watching the Frame channel, which typically shows still frames, but diversifies itself to other curiousities during festivities. This time it was a bunch of rabbits sitting around surrounded by colored eggs. I watched it with my roommate and we laughed. We laughed at the thought of there being someone whose job title is "Head of programming" for the Frame channel. And better yet, imagine the person whose job it is to set up those bunnies with the eggs, and edit those frames.
There was nothing else to do. We had to laugh like hell.

Every year I ask myself how does something so stupid survive this long. Rabbits that lay eggs.
And what's it got to do with Christianity?

Finally I came up with a reasonable theory:

Jesus was killed by rabbits.
Christianity hatched out of the death of jesus and gnawed upon its remains to sustain itself.
Therefore, rabbits gave birth to christianity.

But what came first, the rabbit or the egg?

Yeah, Easter is pretty damn stupid.

Touching on another point of poor education:

I think our application looks pretty polished.
Thank you imaginary rabbit for giving me the time I needed to update the user interface.

Phase 3 was pretty much me.

For about a week now I've been the only one committing updates.
Steve hasn't done shit as usual, and feature deadline is tomorrow.
I took it upon myself to complete two out of his three assigned tasks. But I don't think I have the time to learn enough of OpenGL ES by tomorrow evening, so sadly our application will be lacking in awesome animation. Rotation, scaling and relocation is about as animated as it gets. Flashing labels and such. no particle animation... and thank you steve for that.

I think i'm going to crucify him in tomorrow's meeting. It's Easter after all.

I'm jealous of the other groups...

Every time I sit in the computer labs I see them work on their projects together for HOURS.
And our group?
Our group meets twice a week, at best, for 10 minutes at a time.
I've seen better group dynamics on Celebrity Apprentice.

And to think I actually considered taking this course without a Hackbook.
"Noooo! of course you don't NEED a Mac, you won't be the only member of the team you know. There'll be plenty of documentation to do. You could let your teammates do the programming!"
Yeah. That's the attitude I'm expected to adopt: "Let others carry the heavy load."
Great lesson there, Herbert.

Same instructor as last term. I desperately tried to convince him to allow me to develop for the Android instead, but clearly this is about iPhones, not mobile development. I dropped that course within the first week after failing to install OSX on my Ttoshiba.

I had 4 days to do it before the drop deadline.
I got it working on the 5th.

I was pretty pissed at him for that. If I had known beforehand that this course required a Mac, I'd have been prepared. I'd have done it over the pre-semester break.
He even encouraged me to drop the course, saying maybe next term it would be someone else doing it.

(he's been doing this course for about 4 semesters straight, so i assume he knew he'd be doing it the following term as well. that was a straight lie.)

So I did drop it, only to take it again this term. Because honestly, I have no desire to develop for Apple.

Anyways, the result was fruitless. The following term it was Herbert again, and iPhones on the menu.
Good thing I got OSX to work.
I shudder at the thought of where our group would be at this point without my contribution.

This isn't a point of pride, oh no.
This is anger.
This is the stuff bitterness is made of.
The disappointment of another group project that failed to reach even an inkling of its potential.
Another group of people that failed to communicate over something so very simple.

But today I'm happy. I'm happy because it's over.

Friday, March 26, 2010

Flip bits, not burgers.

FINALLY!
An interview for a Java developer position at RIM. April 14, here i come.
They don't know this, but they're going to hire me whether they like it or not. If it's not going to happen now I'll just design a kickass Blackberry application, then I'm in for sure.
Just watch.

But I really want this to be now.

Our application now uploads and downloads without error, it even accesses the php script that generates the user profile based on the unique identifier (currently email), however we're considering changing that to the device ID, because asking 9 year olds for email is not too practical.

Then again, designing an iPhone project for 9 year olds isn't exactly swimming in the reality pond. Ever seen a 9 year old with a $900 iPhone? Right? I know. What can you do, welcome to SFU, where innovation is a rare animal.

I had to go to the hospital today, and had an interesting conversation with the attending physician.
When the subject of my studies came up, he mentioned that he remembers when they've only just started adding Computer Science into the degree curriculum, and how hard it was for CompSci grads to get a job at the time. I mentioned in retaliation that in his office I had first witnessed someone actually using a type-writer. (He's very old and set in his paper-dependent ways). He did confess to slight jelousy of a coleague of his who recently computerized his office, with voice-recognition dictations that immeditately get sent to the right referrals and other such technomagic.

Then why doesn't he do it as well? Yes, it will decrease processing time significantly and reduce the liklihood of files getting lost, but my old assistant is set in her ways, and frankly I've never seen her by a computer. Also there are other offices that still use paper, how would I interface with them?

-- scanner and printer.
-- templates.
-- voice activated dictation and search.
-- custom-made design to fit your office.

Tons of reasons to automate your office beurocracy.
But the cost of doing so is high.

True. So I suggested he contacts one of the local Universities. We're doing mock projects anyway, why not do his office automation as a project, with a Professor supervisor, get some spice and meaning into these pointless 275 classes.

He thought it was a brilliant idea.

Why doesn't the 275 Prof. think of that? Too much work? Responsibility?

Sad.

Beyond the rim.

At long last I get a semi-positive response from RIM. Evidently I've been shortlisted for a Java developer position (says the email), which may or may not lead to an interview.
Giving me hope yet keeping me firmly on the ground. Gotta love RIM.

Our iPhone project is finally getting somewhere. I finally managed to get the network controller interface to interact with the web serrver the way it's supposed to. What a pain that was. Network programming is a sonofabitch.

Good marks on the technical assignments. If Noel only knew. It's funny that one of the teachers that influenced me the most, and one of the sharpest individuals I've encountered teaches first year English at Langara. Highest mark I ever got with her was a C+, but man oh man, was I proud of that.

Being a programmer is very stressful. I guess it's the combination of deadlines, stupid team-mates, and the unrelenting expectation for you to master every aspect of the field.
I have never met an animator who did not frown at my knowledgebase the moment he realized I have never used photoshop. As it turns out, specialists will always judge you by your familiarity with their realm of the industry.

I suppose it makes sense. Physics branched out of Math, which branched out of Philosophy.
The further you go into detail, the less you have in common with others...

I think I finally know what I want.
One stress-free life with 2 sugar.