Team Fortress 2 Sneak Preview

December 28th, 2009

So, I have a new bookshelf. (Boring, I know.) So, now, I’m converting my HUGE UNGAINLY PILE OF OLD BOOKS AND MAGAZINES into a HUGE UNGAINLY BOOKSHELF. Big improvement! Soon I will have books for trade, donation, or throwin’ out.

Well, that all leads into the big pile of old gaming magazines I have, which I flip through every time I do this. There’s something different and interesting each time!

This time? A Team Fortress 2 Sneak Preview, from the YEAR 2000! Back when the game had 4 teams and 12 classes! Back when it was supposed to be a cinematic World War 2 clone! With screenshots! See it here!

But that’s not all. The same magazine had an awesome (albeit short) interview with Tim Schafer!

But that’s not all! I also found, in a different, much older magazine, a Sneak Preview of Dune 2. Yeah. Ooold magazine.

But that’s not all!

… Oh. Okay, that’s all. You may go about your business.

Legend of Zelda Cake

December 20th, 2009

Jonathan bought this cake for Kiyomi, from “Cake Tease”.

It is a neat cake.

Python Rage

December 18th, 2009

Geek Humour” articles feature jokes that are only funny for complete and utter nerds. You know, like me.

  • * ian6 IS FILLED WITH LOTS OF RAGE AND VERY LITTLE PIE.
  • Boose: Java fills everybody with rage
  • Boose: Except it’s not rage.
  • Boose: If you were programming in python, it would be rage.
  • Boose: It’s Java.
  • Boose: It fills people with subclasses of AbstractRage, such as APIRage or ToolRage, which also implement the GenericAnger interface, and can only be called from a RageFactory, which itself is an abstract class that must be called from a RageFactoryFactory. Once you have the SpecificRage, you can compose it into an abstract EmotionalState (which, once again, you must both subclass and instantiate with an EmotionFactory), which you then must alter
  • Boose: with MoodDecorators and ImageFacades.
  • katep: lol
  • katep: I wish that was short enough for a tweet
  • Boose: It’s at least tidy than PHP, which just has 39 rage functions, which, in order not to break backwards compatibility have names that are totally different, as well as an Object interface that doesn’t do anything.
  • Boose: These functions include:
  • Boose: rage_arrgggh()
  • Boose: rage_punch( $object )
  • Boose: punch_a_kitten( )
  • Boose: rage2_arrrgh()
  • Boose: prage_angry()
  • Boose: (This is a perl-style rage function)
  • ian6: emotion::emote($ragetype, $level)
  • ian6: emotioni::emote($level, $ragetype)

Bought a bunch of new books today.

December 9th, 2009

I just placed a new Amazon order, because Amazon orders consistently fill me with glee. It’s like Christmas, except you don’t know when it’s going to arrive and all of the presents are exactly what you want.

A stack of classic dystopia, another stack on fiction writing theory, and then “The Practice of System and Network Administration” and “Founders at Work” (because I’m seriously enjoying “Coders at Work”). I’ve barely even made a dent in my last order – but working through all of the THICK TECH GOODNESS is going to take some time, and I need some more chillin’ and not thinkin’ too hard about stuff.

I wouldn’t even have mentioned it, but my Surprisingly Intuitive Doppelganger beat me to the punch, so I thought that I might … I don’t know, post something. I guess.

Plus, I’m stuck in farm county… at least until I have a job where a place of my own, perhaps one with a shorter commute, would be a distinct benefit. So… not until at least next July, when I start working for Telus as a faceless drone.

Ship Early, Ship Often, Advertise Early, Fail

December 7th, 2009

The internet is abuzz with response to Jeff Atwood’s latest post – “Version 1 Sucks, But Ship It Anyway“.

You don’t need me to summarize it for you – it’s right there. In the link. Release early, release often. It’s well known to programmers, thanks to the full chapter devoted to it in the seminal “The Cathedral and the Bazaar“. While open-source software is characterized by RERO, the web lives by it. Deployment of new features is free, and feedback can be instant. Joy!

However, one thing that is frequently ignored is… how soon should I start telling people about my software? Advertising to people too early in a project’s lifespan basically spells instant and permanent death for that product.

While it may be good to release early, the ‘beta’ of a new web service is very, very likely to drive people away with it’s lack of polish. While users love the ‘new’, users similarly hate products that are unusable, half-baked, or still in development. Note that Google Mail, Google Maps, and StackOverflow were all complete products before they started spreading the word amongst their users – while they have enjoyed frequent revision and update, since, their first public offerings were robust enough to draw people in. They were ‘beta’ in the sense that they could still use a little bit of revision and polish, not ‘beta’ in the sense that they were still sussing out fundamental bugs. World of Warcraft could be considered a product with a release-often mentality, but they did not release early – the WoW beta was a long period of polishing a product that was already seriously ready for prime time – and the people who participated in the beta were among the first subscribers.

Now, on the other hand, the game Cities XL by Monte Carlo enjoyed a beta period that was almost more of an alpha period. Gamers involved had to deal with buggy client-side and server-side code, forbidding them from communicating with one another, using fundamentally important game features (‘trading’), saving, or even connecting with the server much of the time. First impressions were formed, and while Cities XL did well in reviews as a fairly run-of-the-mill city-builder with a lot of unnecessarily tacked-on MMO features, the game suffered in public opinion as a buggy, underperforming mess of half-implemented features.

Let’s also look at startups.com, a site that reddit has been advertising. This is a company that raised VC, earned a mention on TechCrunch, purchased the domain name for six-figures, purchased the software (from StackOverflow) for another high premium, and then, it would seem, immediately pushed their product into an advertising stage. I’m not sure how the startups.com community was formed (how is babby formed?), but it would seem that either startups.com tried to outsource community building or they just left it up to whatever spammer came along. Seriously, this is a company by-the-numbers – it barely even needs a tech person on staff. One thing it does need, however, is community building, and advertising it on reddit before it was ready just shot it in the foot.

So, while I believe in “Release Early, Release Often”, I’d like to append two corollories.

  • Never release anything that’s broken. – There’s a significant difference between ‘needs polish’ and ‘doesn’t work’.
  • Do not advertise a product that is not prepared to impress. – Otherwise you’re just creating negative word-of-mouth.

A Failed Project

December 7th, 2009

Sometimes when I’m in the car with Kristen, she’ll switch from my iPod to the FOX radio station. This fills me with deep anger – all of a sudden my Cake, or Ladytron, or Flight of the Conchords, or Flobots, or Feist, or Kaizers Orchestra, or whatever … is replaced, by a sudden and vile outporing of crass commercialism and mainstream music.

So, I began a project. A project to download all of the music played in a week on FOX, create a separate channel on my iPod that Kristen could switch to. At least there wouldn’t be any commercials. I figured – how hard can it be? They just play the same songs over and over again, anyways. So, I did the nerdy thing and started collecting raw data from their website, then piping it through programs for purposes of analysis and moustachery. Data here. There’s a histogram, one which can be used to show that a certain set of songs saw a very large percentage of airtime.

I even made an infographic, just to demonstrate that my color sense is so broken as to be completely beyond repair.

Info! Graphic!

And then, I started on the difficult project of trolling the web to find all of this music.

The project made it to about “C” before I was unable to go any further. The reason? In order to keep all of this new music manageable, I was loading it into my iTunes library. Lacking a canonical playlist of favourites, I spend a lot of time just shuffling around the iTunes main library, and I was finding that my new acquisitions were starting to pollute my earspace. On top of that, my iPod pulls a small, random selection of music that I haven’t listened to… let’s just say that my library was getting polluted with music that I didn’t want to listen to.

I don’t want to seem like a music snob – I mean, heck, I harbor an irrational love of Kylie Minogue and hyper-peppy-Scandinavian-pop a-la Aqua. That alone forever bars me from hipsterdom. But some of the music on FOX just doesn’t do it for me.

Which leads me to the song that really sealed the deal for me. Buckcherry’s “Crazy Bitch“. Having the _live_ version of this song come up in my playlist, at all, prevented me from proceeding any further in my project.

I feel bad for hating an otherwise-catchy song for having stunningly vapid lyrics – I mean, hey, once again, Aqua. Can’t help it, though.

Well, ultimately the project failed. As a bonus, though, I don’t have to deal with any more FOX tunes in my library, so I suppose that ultimately the project was a success at convincing me to further ignore the radio.

EA Boned

November 30th, 2009

In connection with the Plan, we anticipate incurring between approximately $130 million and $150 million in total costs, of which approximately $80 million to $90 million will result in future cash expenditures. Approximately $100 million to $120 million of these charges are expected to occur during the fiscal year ending March 31, 2010. These costs will consist primarily of severance and other employee-related costs (approximately $50 million to $60 million), facility closures costs (approximately $35 million), asset impairments (approximately $25 million to $35 million), and various other reorganizational costs (approximately $20 million). ”

Yikes.