Sunday, April 12. 2009
New Blog!
Go ahead and leave feedback about how much you hate the new site, hated the old site, hate me, etc. here. I look forward to it. :-)
Thursday, April 9. 2009
Funny, I don't FEEL bleak
Scott already has the best picture of the vulture stalking us. We've seen him outside the office a couple of times, but this time it seemed like he really wanted us to know he was there.
at
06:31
| 1 Comment
| No Trackbacks
Defined tags for this entry: forward-looking statements, work
Current mood:
amused
Sunday, March 15. 2009
Craftsmanship
Joe Ludwig has been talking about continuous deployment recently. The basic goals of continuous deployment are two-fold: minimize downtime, and minimize the time between writing code and finding out it's wrong (it could be wrong for a lot of reasons, not just bugs).
An interesting counterpoint came from Ben Ziegler a couple of weeks later (I'm just following the trend in writing my take on the subject a couple more weeks on), arguing that downtime - and bugs, and lag - just don't matter.
First, let me point out that this isn't a new discussion, by any means. As of this writing, Bug Free Doesn't Sell is a wiki article last edited almost three years ago... on this exact subject1.
On the one hand, I think Ben is right: "Stable, fast, fun. In that order" is not a mantra for a great game. "Fun. probably stable, and fast enough" is a better mantra. It's hard to see the direct benefit to maximizing stability and minimizing downtime, and it's always possible to over-think technical challenges and lose focus on the game itself in solving them.
On the other hand, I think there are a lot of indirect benefits. Doing things right attracts people who are interested in solving new problems (or old problems better), it reduces operational overhead (manual steps and emergency downtime require hands on deck - costs I'm probably more aware of, having worked down the hall from NCsoft operational staff), and it's another defense against the motivation-sapping attitude "nothing works right around here."
Hell, to some extent, you don't even have to succeed at minimizing downtime to see the benefits (c.f. Blizzard's launch of World of Warcraft). Mistakes were made, but they came more from inexperience in MMOGs specifically than bad culture, lack of investment, or having bad programmers. Now, though, that doesn't really apply; we have to create technical failures in other ways. We know better than to make the same mistakes, we'll recognize the same old mistakes coming... and if we do nothing but let them wash over us, we'll see our motivation and investment in the game disappear.
And then the game will suck, and people will argue about whether the problems were technical or not.
1. Incidentally, any programmers who aren't familiar with the Portland Pattern Repository's Wiki - it might be the oldest web-based programmer community around, and is the original Wiki. It can be hard to read at times, but there is a ton of stuff and it's easy to get lost in there for hours.
An interesting counterpoint came from Ben Ziegler a couple of weeks later (I'm just following the trend in writing my take on the subject a couple more weeks on), arguing that downtime - and bugs, and lag - just don't matter.
First, let me point out that this isn't a new discussion, by any means. As of this writing, Bug Free Doesn't Sell is a wiki article last edited almost three years ago... on this exact subject1.
On the one hand, I think Ben is right: "Stable, fast, fun. In that order" is not a mantra for a great game. "Fun. probably stable, and fast enough" is a better mantra. It's hard to see the direct benefit to maximizing stability and minimizing downtime, and it's always possible to over-think technical challenges and lose focus on the game itself in solving them.
On the other hand, I think there are a lot of indirect benefits. Doing things right attracts people who are interested in solving new problems (or old problems better), it reduces operational overhead (manual steps and emergency downtime require hands on deck - costs I'm probably more aware of, having worked down the hall from NCsoft operational staff), and it's another defense against the motivation-sapping attitude "nothing works right around here."
Hell, to some extent, you don't even have to succeed at minimizing downtime to see the benefits (c.f. Blizzard's launch of World of Warcraft). Mistakes were made, but they came more from inexperience in MMOGs specifically than bad culture, lack of investment, or having bad programmers. Now, though, that doesn't really apply; we have to create technical failures in other ways. We know better than to make the same mistakes, we'll recognize the same old mistakes coming... and if we do nothing but let them wash over us, we'll see our motivation and investment in the game disappear.
And then the game will suck, and people will argue about whether the problems were technical or not.
1. Incidentally, any programmers who aren't familiar with the Portland Pattern Repository's Wiki - it might be the oldest web-based programmer community around, and is the original Wiki. It can be hard to read at times, but there is a ton of stuff and it's easy to get lost in there for hours.
Monday, February 16. 2009
Lots of Data
http://arstechnica.com/science/news/2009/02/aaas-60tb-of-behavioral-data-the-everquest-2-server-logs.ars
Is going around all kinds of sites; I came across that article by way of Slashdot, Damion Schubert came across it on Massively, etc.
How do you process 60TB of data? I'd argue that the right approach is to spread the data out across many machines, and split the processing into a number of tasks to map it to the questions you're trying to answer. Then you'd probably need to reduce the results from the cluster into a single set of data, storing intermediate results in a giant key/value store. Which is to say, use Hadoop.
I wonder what Sony is using? I wonder what the guys in academia will be using?
Is going around all kinds of sites; I came across that article by way of Slashdot, Damion Schubert came across it on Massively, etc.
How do you process 60TB of data? I'd argue that the right approach is to spread the data out across many machines, and split the processing into a number of tasks to map it to the questions you're trying to answer. Then you'd probably need to reduce the results from the cluster into a single set of data, storing intermediate results in a giant key/value store. Which is to say, use Hadoop.
I wonder what Sony is using? I wonder what the guys in academia will be using?
Wednesday, February 11. 2009
NCsoft
I keep on trying to come up with something to say here about NCsoft and the layoffs. I dunno; I feel like most of what I want to say would break some trust placed in me. What's terrible is that for the most part, I'm not particularly surprised: it's astonishing what the (public) rationales are each time, it catches me off guard who the targets are each time, but that it's happening? Nah.
I hope the best for my friends still there, working on Dungeon Runners and Aion and scattered through out other parts of the company. I hope the ones who got laid off today, the ones who got laid off six months ago and are still looking for work, and the ones in between find jobs soon.
Other than that, I think Scott Jennings says it best: ENOUGH WITH THE GODDAMN LAYOFFS.
I hope the best for my friends still there, working on Dungeon Runners and Aion and scattered through out other parts of the company. I hope the ones who got laid off today, the ones who got laid off six months ago and are still looking for work, and the ones in between find jobs soon.
Other than that, I think Scott Jennings says it best: ENOUGH WITH THE GODDAMN LAYOFFS.
previous page

