My rules

I have a few rules.  Not many, but the ones I have don’t get violated.  The rules that pertain to making sure I don’t quit on your sorry ass and go work somewhere else go something like this:

1) Don’t fuck with my money.  Let’s be honest, I work there because I get paid.   It has nothing to do with company loyalty (would your company be loyal to me if it wasn’t in it’s best interest?  Neither would I).  It has nothing to do with needing something to do.  I have plenty of things I want to work on, going to work everyday gets in the way of that.  I’m there because you pay me.  When you stop paying me, I stop coming to work.  Period.

2) Let me do my damn job.  Even though I only come to work because you pay me, It doesn’t mean I don’t have a little pride.  I do a good job, because It’s important to me to do a good job.  I’ll bitch until you fix the processes that are killing the project, I’ll take the extra time to fix the stupid ass code I just found, and I’ll take the extra time to make sure my code isn’t just as bad or worse than the stupid ass code I just found.  When you get pissed off at me because I’m not being a good little code monkey and shutting up, letting all the bad crap happen, I no longer have any use for you.  If you’re not going to let me do a good job, why the hell would I stay?  So you can blame me when it all goes to shit?  No thanks.

3)  If you’ve got a problem with me, tell me.  Don’t hold on to it and throw it out as ammo in a meeting in front of God’s naked ass and the rest of the country. 

I’ve worked for a lot of people since I started my professional career as a coder.  Some of them were unethical.  Well, one was anyway.  And when he asked me to do things that were unethical, I asked him to kindly stuff it in his oversized, cancerous ass.  Figuratively speaking, of course.  He carefully considered what I had to say, then decided that maybe he should choose the ethical route.  That was a good day.

Some were not very bright.  Somehow I survived all that.

Most were pretty good.  I enjoy working for somebody that wants to do things right, and is willing to listen to another’s ideas about what that might be.  So far I think my track record has been pretty good.

My previous job fucked with my money.  Now I work at my current job.

My current job, despite all, has been pretty good so far.  They did a lot of really stupid shit when I started, and now they do far less stupid shit.  I’d like to think that’s largely in part because of me, but I work with a lot of smart people.  I’m pretty sure I contributed quite a bit though.

Since January, I’ve been on another team that’s more or less doomed to failure.  I took it on as my personal mission to save this project.  I had a lot of work ahead of me.  My team lead was based in New York, so there was the remote aspect of the team.  That was difficult, but not insurmountable.  In addition, he’s Serbian, which makes for some cultural differences.  Many of my jokes are lost on him, because English is a second language for him.  That’s not really a problem, just an observation.  As the last couple of months passed, I realized that the business unit and the leads were getting pissed and annoyed with me because I wasn’t just being a good little code monkey.  I don’t do the good little code monkey part very well.  If they wanted somebody to shut the fuck up and just write the damn code, they should have hired a junior developer, not me.  I’m too expensive for that shit.

Last Friday, something happened which I’m not sure I can get past.  We had a sprint retrospective.  It helps if you know a little about Agile methods and Scrum, even though we don’t really do it right.  A sprint is a chunk of time in a development project.  A sprint retrospective is basically what everybody thought went well and not so well for that particular sprint.  I made a nice long list of things I thought needed to change.  I don’t make this shit up, 90% came from things that worked well on other projects.  I do my homework.

The danger of a sprint retrospective is people taking things personally.  I’ve been though many, and I try to never take things personally, even if I think somebody might be referring to me.  One of the biggest rules in agile is not to personally attack the other team members.  You can attack an idea, but not the person presenting it.  “Your idea won’t work because blah blah blah” instead of “Your idea sucks because you’re a flatulating butthead!”  Common sense, one would think.

It’s hard, though, to not take comments personally when they keep using your name.  It’s harder when that person is your team lead.  It’s even harder when the first indication you had that they might be not completely satisfied with the work you’re doing is their list of grievances aired about you during the sprint retrospective.  It’s even harder when the response to the thoughtful, carefully considered suggestions you provided is “well, X didn’t do this and X did that.”  Um, how about responding to what I just said instead of a personal attack there, home boy?

Perhaps the suggestions I listed were misconstrued as a personal attack on him.  Perhaps it’s another cultural difference clash.  Perhaps my team lead hasn’t read the Agile book yet. 

Or maybe he’s the kind of guy that will throw me under the bus when the project fails.  That’s pretty much what I think happened on Friday.  That entire business unit is big on finger pointing.  It’s not important what’s fucked up, only who fucked up.

I think my resume is good enough I can get another job without too much effort, so I’m not too worried about getting fired and/or quitting.  I wish I could quit and just not work anywhere for a while like Rory, but I just ain’t that cool. 

I need to talk to my boss’s boss about this, but I put it off today.  Basically, when I dragged my sorry ass into the office this morning, I was still to pissed off about it to be rational about it, so I figured the meeting wouldn’t go too well.  The request will go something like “I need off of his team now.  This can happen one of two ways, one of which includes my continuing to work here.”  I’m looking for a less ultimatumish way of saying this.

I don’t know how many techie readers I have, but I would appreciate some comments here.  Have you experienced something like this?  How did you handle it?  Am I just being pissy here, or is professional pride enough to merit an employment change? 

More XBox with a side of Nuts

I suppose yesterday’s post requires a little explanation, so here goes.

I had a bad day.  Okay, moving on.

I’ve been so stoked over the XBox Live Community Arcade I completely forgot to check Betsy Aoki’s blog.  She like totally works there, ya know.  It looks like she even got to go to the GDC, so I’m now officially jealous.  Anyway, I appreciate all the pictures so at least I get to see what it would have looked like.

If you’re interested in knowing more about the Community Arcade, this post has links to pretty much everything you need to know.  If you don’t give a rat’s ass but have an XBox, at least check out the community games they’ve made available.  JellyCar rules.

On a completely unrelated note, Lisa 4.0 posted this today, and it’s absolutely one of the funniest things I’ve ever seen.  This guy reminds me of people I used to see in the cult.  I probably wasn’t totally unlike that.  Cults have a way of molding your personality so that you’re just like everybody else.  For you entertainment, I present the video.

I find your lack of faith disturbing

The best part, the guy with the poster stating “Star Wars is Satanic”.  They interviewed another guy about it and he didn’t believe the religious nut was for real.  People, they’re for real.  Try googling Fred Phelps.  These people are for real.  I’m never entirely sure if they sadden me or frighten me.  I think it a mixture of both.

By the way, Lisa 4.0 added me to her blogroll, but listed me as “Taco Cowboy”.  I actually like it enough I’m not going to correct it I think I’m going to go by Taco Cowboy from now on.Open-mouthed She’s got a great site.  Go check it out.

XBox Live Community Arcade. Wicked Cool!

I’ve been halfheartedly following the GDC ’08 conference that was going on last week.  Following it because I wished I was there, halfheartedly because I was jealous that I wasn’t.  Many cool announcements were made, and most, as far as I can tell, by Microsoft.  The one I found the coolest was the announcement of XBox Live Community Arcade

The Community Arcade is a way that wannabes just like me can write and distribute games over XBox Live to other players.  They’ve already got a few samples you can download.  My favorite is JellyCar.  I dig it because all of the sound effects were done by some guy with a microphone.  That’s what my first game will most likely sound like.

If you’ve been following this blog at all, you know that I just bought an XBox, and that I’ve been a wannabe game programmer since approximately age 10.  Short of announcing my age, let’s just say that a really freakin’ long time.  I downloaded XNA Game Studio and started playing with it.  A bit dissatisfied with how stuff ran on my PC, I bought the Creators Club membership so I could deploy stuff to the XBox.  If I can just take a moment here… I deployed a game I compiled (didn’t write however) to the XBox and set a break point.  Far out, man.  Hot

It takes so little to please me.

I’ve been wondering exactly how I would distribute a game I developed for XBox.  Just in time, the folks over at XNA created a way to do it.  I don’t know if it’s a charge-money-for-it kind of proposition or not, but I’m not too concerned.  I’m not doing it for money.  Money is nice, but I already have a day job. 

There was another cool announcement too.  Starting with XNA 3.0 you can target the Zune as a platform.  Yuh huh, you can play games on the frikkin Zune.  You can write games for the frikkin Zune!

Add to Cowboy’s shopping list: One Zune, black.  Microsoft has sooo much of my money….

Now, there’s just one thing left, actually write a game…..

XBox and Netflix. This could be good…

This is awesome.  Check out this story

http://www.msnbc.msn.com/id/23214808/

The biggest hint about a possible deal came last week, when a survey Netflix had distributed to its members started popping up on blogs. The headline of the survey read “Now you can watch movies from Netflix instantly by using your existing Xbox Live account.” And then, the question: “If, as part of your Netflix membership  you could instantly watch movies and TV episodes on your TV with your Xbox 360, how likely would you/anyone in your household be to do that?”

Um, totally.  This may be a big money maker for the two uber-conglomerates, but here’s what it means to me.

Netflix.  I’ve been a Netflix fan ever since the last time Blockbuster screwed me.  It was the last time they screwed me.  Blockbuster, finally learning their lesson after getting their ass totally kicked by Netflix decided to follow the Netflix model with the added bonus that you can just go to the store to return your movie and pick up your next one. 

Too little too late guys.  I’m done with Blockbuster permanently. 

Netflix decides to one-up them and allows you to stream select movies directly off their site to your PC.  I love it!  While my video card may suck dead frogs, It does have an S-Video out plug on the back.  A few months ago I bought a nice long S-Video cable and plugged it into the big TV.  Guess what?  Streaming Netflix directly to the big TV now.  Other than what I would consider a poor selection of movies (until recently anyway) It’s great.  The picture is not the best, hardly takes advantage of what the TV can do, but I can now browse for a movie on Netflix, load it, pop some popcorn, plop my fat ass down in the ugly orange chair and watch Escape from New York the same night.  Folks, this is where the movie rental business is going.  Most video stores are gone now, for the most part only Blockbuster is left.  The days of running to the video store are over.  Cable has On Demand (a step in the right direction, but not enough) and now Netflix has On Demand.  Good, but still not quite there.  Enter XBox.

XBox 360.  I love my XBox, even if it costs more money than my children.  I vent about Microsoft’s pricing, but altogether it’s a pretty great entertainment system so far.  I tried my hand at buying a movie off the XBox marketplace over the weekend.  I rented Meet the Robinsons and Stardust, both in hi definition.  Each one cost me somewhere in the range of $5, which is actually still cheaper than Blockbuster.  The movies loaded, ran in 1080i, and just simply freakin looked great.  The Bad: took forever to load, even with a cable connection.  I bought the movie, and about 3 hours later it was ready to play, even though it wasn’t done downloading.  Kudos on streaming it, but the wait still sucks.  Three hours of “can we watch the movie yet?”  I suppose there’s not much that can be done about that.  Yet.  More Bad: costs too much and the DRM is too restrictive.  After you buy the movie, you have 14 days to watch it, then the DRM expires, or it expires 24 hours after you first press “play.”  After reading these restrictions, my first reaction was “why?”  When video stores first became popular, they had to have the movie back within a certain number of days so that they had stock to rent to other customers.  Three to five days seems pretty reasonable, and kids love to watch movies over and over again.  They never get tired of watching the same thing.  XBox movie rentals seem to be following this model somewhat, if not more restrictive.  My problem with it is this.  It’s a digital transfer.  There’s no stock to be returned before they can rent it to another customer.  Why the severe time restriction?  24 hours?  If they’re hoping I’ll pay for the same movie more than once they’re going to be disappointed.  After renting it the third time I could have bought the DVD.  What they’re actually encouraging me to do is not use their service for movie rentals.  It just costs too much.  On the other hand, DRM expiration dates means no late fees.  Then again, so does Netflix, and they don’t charge any extra for streaming the movies.  It wouldn’t cost Microsoft any extra to let me keep the movie for a month, and it doesn’t make them any more money to not let me keep it for that long.  Making happy customers makes money though…. Pay attention Microsoft!

So to summarize:

Netflix: No (extra) rental fees, big movie selection for streaming, poor resolution.

XBox: Awesome resoution, XBox Live Gold gets you jack here.  Rental period is too short, and the rates are too high. 

Here’s what I’m hoping this partnership means.  Prepare for overly optimistic dreams that will soon be crushed by corporate greed like so many ants caught by little little Billy during recess when nobody plays with him so he decides to go torture the insects by the tree. 

I get the best of both worlds.  Log into Netflix through the XBox, find a decent movie, download in High Definition, pop some popcorn, flop down in the ugly orange chair and enjoy.  No extra cost.  I’ve already got a Netflix membership and and XBox Live account.  Fingers crossed……

My new love/hate relationship: the XBox 360

Some things have happened over the last couple of months that have kind of brought me down.  Killed my mojo, cramped my cool, etc etc.  While I refer to them lightheartedly, they were anything but.  While I had all this offline time to contemplate life and feel sorry for myself, I started obsessing about my original reason to become a programmer: to write video games. 
That’s right, it’s so amazingly rare, but there are a few programmers out there that started out with the idea that that they would learn how to program and become the next John Romero (creator of Doom for those too young to remember).  I fell victim to this fleeting dream, and began buying books like “Learn C++ in 24 hours” and “Write video games in 10 days” and other crap titles like that.  Some of them were better than others.  When I was 10 and working on my state of the art TI-99/4A home computer learning basic I set out to write a video game.  Remember writing this program?

10 PRINT “COWBOY IS COOL!”
20 GOTO 10

Eventually I learned about cool things like subroutines, then started buying books and magazines with game source code.  That was the shareware of the 80s.  Countless hours were spent typing in source code from various magazines just to play a game.  Sometimes I understood it, and sometimes not so much.  Eventually I struck out on my own, attempting to write a Battleship game.  Graphics on the TI were brutal, but it helped me learn Hex at a very early age. 
In my 20s, I revisited, and finally finished Battleship.  My first Game!  Woohoo!  It was somehow easier in C++, plus I had the advantage of mode 13h (320×200 DOS based graphics, 16k colors, as I recall.)  It was pretty cool, and the computer actually beat me several times, even though it took random pot shots until it found a ship.  That was until I lost the source code in a hard drive crash.  I wasn’t much for making back ups back then.
Today, I’ve become obsessed with the XNA Game Studio.  I’ve written about this before.  I live and breathe in C# every day now, and am a .NET evangelist of a sort.  It’s not an official title.  I took a stab an writing a game using the DirectX SDK, but wasn’t very successful.  To be honest, game programming is an entirely different type of programming than business application programming, which is what I do every day.  I’m a bit out of practice at it, and there’s a whole lot to learn.  It doesn’t stop me from still craving the satisfaction of coding a game like when I was a kid.  The promise of being able to code a game that can be easily deployed to an XBox 360 or Windows platforms using the same tool was really exiting, and it’s free!  Totally free!  God Bless Microsoft!
So I downloaded and gave it a shot, but Dell’s lack of foresight on the design of my PC forced me to buy a less than desirable graphics card, making game development difficult at best.  About two weeks ago, I finally broke down and bought an XBox 360.  It’s about time I got a next-gen console.  It’s my first XBox.  I had a Playstation 2 for console gaming before. 
First impressions: Wow!  My HD “compatable” TV is finally showing HD pictures for the first time since I bought it.  Woohoo!  I’m high tech now baby!  It was about $350 for the unit.  I wasn’t able to get the elite version, which really bummed me because the Elite came with the 120 GB hard drive, which I was pretty sure I was going to need.  I knew enough to avoid the Arcade version like the plague.  Next stop: extra wireless controller.  Wow, it comes in Elite version black.  If I can’t get the Elite XBox, at least I can get the wireless controller.  $49. 
XBox Grand Total: $400.  Hey, we need some games.  If I’m gonna pay that much for a console, I need something to play.  It can’t be All development.  Besides, I’m not that good.  Halo 3, Lego Star Wars for the kids (mostly), Ratatouille (also for the kids, mostly), and it comes with Marvel Alliance something or other, and Forza 2 something or other racing game.  Cool, that should keep me busy. Total: $120.  XBox Grand Total: $520.  Starting to sting a little.  I rationalize it to myself by saying “okay, I’ve got an expensive hobby, but it could be worse.  I could race cars and have to buy a $100,000 race car.” 
I get home and can’t wait to hook it up to the PC and start deploying sample code I’ve downloaded to try debugging an XBox 360 game over the LAN.  Hm, doesn’t work.  I’m missing something.  Check the docs.  Oh, need to download the XNA Game Connect studio on the XBox.  Surfing the XBox marketplace, there it is.  Download.  Downloads fast.  Very nice.  Hey check this out, game demos and arcade demos are already on the hard drive.  Some of them look kindof fun.  Hey!  My hard drive only has 9.9 GB free!  WTF!  It’s a 20GB hard drive and I just freaking bought it!   Figure it out later.
It’s downloaded.  Hm, still can’t connect.  I’m still missing something.  XNA Game Creators Club membership?  Doesn’t sound so bad.  Go sign up somewhere on a website, right? 
$99.00?!?  WTF?!?  Ninety-nine dollars?
That’s right.  You can develop on the PC all you want, but if you want to develop on the XBox, it costs you a $99 annual membership in the XNA Game Creators Club.  Breath slowly, must… slow.. heart… rate…  *sigh*.  Oh look! A place for me to enter and store my credit card information right there on the XBox.  How handy….
XBox Grand Total: $620.  Okay, it’s all working now.  Create and build the sample apps and deploy to the XBox: IT WORKS!  WOOHOO!  I set a break point and it actually HITS IT!  WOOHOO.  Play around with few tutorials, they all work.  This rules, and somehow seems worth the money.  I made a little program following a tutorial where I show a space ship and can fly it to the left, then fly it to the right.  Oh yeah!  Well, it’s a start.  Okay, I can live with it.  Let’s try out some of the games I just bought.  Hey look XBox Live options.  That’s how you play online.  I’m used to the Playstation model, which is if you can connect to the Internet, you can play on line, but the XBox doesn’t work that way, oh no.
Your brand new XBox comes with a XBox Live Silver membership.  That sounds pretty good, but a little digging lets you know that the XBox Live Silver membership is free anyway, and it gets you exactly dick.  If you want to play online, you have to have the Gold membership.  Gold isn’t for the people who want to play in tournaments, nope.  Gold is for anybody who wants to play online… period.  Admitedly, they had different options for membership, and they went something like this:

  • 1 month: $8.  (8X12=$96).
  • 3 months: $30 (20X 4 = $80).
  • 12 months: $50.  (really the only economical choice, eh?)

XBox grand total: $690.  But what about all these little arcade games?  They’re sucking my soul.  Some of them are really cool. 
Microsoft points are very interesting.  So far I’ve listed prices mostly in the format of $8 rather than $7.99 because that’s an ancient marketing trick that drives me insane.  It’s not seven dollars, it’s eight.  Microsoft points are the same thing, but taken to the next level.  They currently work out in plans like this:

  • 500 points: $6.25 (6.25/500=0.0125)
  • 1000 points: $12.50 (12.50/1000=0.0125)
  • 2000 points: $25.00 (25/2000=0.0125)
  • 5000 points: $62.50 (62.50/5000=0.0125)

Do you see a pattern emerging?  This is a trap for people like me who always assume that the most expensive plan is the most economical.  So far that’s been true, but not now.  They’re all the same.  Exactly the same.  Still, being me, I bought 5000. 
XBox Grand total: $752.50 (tax not included stupid taxes).
Race car is more expensive, Race car is more expensive, Race car is more expensive, Race car is more expensive….
The points system is very interesting though.  Each point is worth 1.125 cents.  That means if you buy something for 800 points, you might be tempted to round off to 1 cent=1 point, in which case you would get $8.  Wrong.  800 cents X 0.0125= $10.  Misleading if you don’t do the math.  At least I knew how much I was spending.  Halo cost me 1200 points.  That’s $15.  Not so bad when you consider the used copy at the game store was $20, but still, it looks like $12 but it’s not.  It’s that old marketing trick taken to a new level. 
At any rate the madness stopped there.  Except for a burning desire to run out and purchase Call of Duty X because the demo was so freaking cool, I think I’m done sinking my children’s college fund into my gaming habit for a while.  I’m a little piqued at Microsoft for the “Nickel and Dime” you to death method of console gaming they’ve created, but overall It’s still the best gaming experience I’ve had in a long, long time.  That’s the love/hate part of the XBox.  I love it, but hate that it’s sucking all my money. 
My gamer tag is at the bottom of the site, if you ever want to blow the living crap out of me at Halo 3.  I really suck.  I don’t remember picking as gamer tag, but it seems like the sort of thing I would do, so it must be me.  I was once a member of the DNRC (Dogbert’s New Ruling Class).  At anyrate, everything there is stuff I’ve just done so it is me.  I might change it though….