Archives / 2004 / November
  • My new HP 2550Ln

    One of the things that I have to do to run CoasterBuzz is to send out membership cards to our club members (premium subscribers). When I started the club in late 2001, I had the cards printed up with perforation on a full sheet of card stock. I wrote a little Access app that pulls the new memberships out of the database and prints the name, expiration and address, fold it into a windowed envelope, and off it goes.

    This automation and printing ended up costing me more than a buck a card. Combine that with postage and the absolutely ridiculous Visa/Mastercard fees and already I've spent 10% of the $20 membership fee. I guess it isn't that big of a deal, but considering the combined cost of bandwidth and my own time in maintaining the site (not to mention the eventual rebuild), I have to pay attention to expenses. I don't work for The Man anymore, so this essentially is my living.

    So I decided to do the math, and found that a color laser printer would save money and get the card cost down to around 55 cents a piece through the first thousand cards, then lower after that (since the printer will essentially be "paid off"). At this point, the only real question is about how (or if) to perforate and still get a credible looking membership card.

    Anyway, I decided to go with HP's 2550Ln, the "n" meaning it has the built-in network printer server. The fact that they could get this machine down to a reasonable price point is impressive, especially considering how the inards are so cool. It has a Web-server to access all kinds of stats, including the number of pages printed and how your toner levels are doing (for all of the toner carts). The single imaging drum was certainly a good idea.

    The only real negative, and I didn't really realize it at the time I bought it, is that it doesn't have a real paper tray. The fold-out "drawer" on the front holds about 50 pages or so and just generally sucks. So as it turns out, to make it a more practical solution in the home office, I needed to buy the optional paper tray so that it's contained.

    Overall I'm pretty impressed with the print quality. I'll still send my 10D photos to Ofoto, but it does do remarkably nice work with surprisingly OK color.

    Despite feeling a little cheated with the paper tray situation, overall I think any printer with these capabilities would be a steal for under a grand. To start the series at half that seems like a miracle. Now if I can just unload my LaserJet 1000...

  • RegEx Challenge III

    I admit I'm mentally weak. I can usually get a regular expression to work until I have to come up with something to NOT match. Here's today's challenge. Match only e-mail addresses that are NOT preceded by a colon or closing bracket. Your test string is this:

    test[url=""] test

    Only should return a match. For simplicity's sake, I'm using this for the actual e-mail address matching (I realize it isn't perfect and may allow non-RFC compliant addresses through):


    Here's a handy test page. The prize is grand recognition and a pat on the back. It's the best I can offer... I'm poor. :)

  • More on ridiculous work hours

    I noticed there was more on the EA/game industry work hour expectations last week. More interesting quotes there from people working in fear of The Man.

    Here's what I don't get. What compels people to continue working in that environment? My wife was telling me about something she read recently in one of her graduate nutrition classes about the things that motivate people, and chief among them was survival, which relates to food and shelter. Fear is clearly a motivator when considering the possibility you and your family can't "survive" without the job. I remember how upset I was when I got laid-off for the first time, shortly after I bought my house. Talk about living in fear.

    But at what cost? At what point do people say, "This is no way to live?" I mean, if we're lucky enough to do something we really like, it's generally OK to spend a lot of time doing it, but if it's your entire life, you're going to miss something. Balance is not an easy trick to pull off, but without that balance you're going to fall down.

    Stephanie, my wife, was fortunate enough last year to make a serious realization about what she really wanted out of her professional life, and I had a similar realization earlier this year. Six months ago, I quit working for The Man. Despite taking an 80% pay cut (not counting future income from the book I wrote), I have never been happier in the decade I've been out of school. My financial security falling into my own hands was scary, but things you have more direct control of are a lot easier to deal with than those you can't control.

    I'm not trying to brag or pat myself on the back here, I'm just trying to offer some perspective about what constitutes success or security. Don't wait until you're 60 to ask the hard questions. You technies are smart people. You can figure out a way to make it work.

  • Amazon posted my book preface

    Someone pointed out to me that my book was not only listed on Amazon, but it also has the preface posted. I can't even explain how weird that feels. It creates all kinds of anxiety for me, because I hope it doesn't suck. I should trust that A-W and its editorial folks thought it was a good idea.

    The chapter summaries seem particularly weird given that some of the topics cover a product that isn't even out yet. I'm a little disappointed that it only clocked in at 300 pages, but I suppose it's about the quality of the content, and not the quantity. Some of the reviewers thought it should go into more detail, but I was trying to stay focused on an intermediate audience. Not every book should explain what a mouse is, any more than every book should explain how to build the back end for Visa and MasterCard.

    Despite the daunting task of writing the book, I'm thinking about writing another one... if the idea makes sense to people. We'll see.

  • Beta 2 changes to compilation and folder structure made public

    Wow, I missed a lot while on vacation. I see that some of the changes for beta 2 of ASP.NET v2 have been posted. Good to see. I noticed there are people in the ASP.NET forum that are still not happy, but it's like I said... you can satisfy most people or satisfy no one because you'll never ship.

    I'm starting to get excited about the new bits. When they finally come out, we can finally start using this stuff in practice instead of in theory.

  • What happened to the Whidbey hype?

    Back in March, if you were in on the Whidbey scene, you were a l33t haX0rz!!1111 Today, it's amazing how all of that hype and excitement has largely subsided. I see fewer blog entries on it, almost no articles, and generally no press. What a difference a couple (lots) of months makes.

    I'm still of the firm opinion that VS 2005 will save your life, or at the very least help prevent mental anguish. As soon as I bang out the project I'm on now, I think I'll return to it and get back to the forums and such.

    I'm hesitant now to talk about it I guess in part because I had to get on the NDA list when I was writing my book, and honestly I don't have the energy to keep track of what's public and what's not.

  • 200+ songs from iTunes so far

    Today I bought my 200th song from iTunes. It was one of the tracks from the Venus Hum EP "Songs for Superheroes" (has a song that uses elements of the Alias TV show theme, if you're curious).

    I'm not quite in the Apple cult, though we do have an iBook, and iPod, and an iPod Mini in the house, but for us there isn't any other music store we're interested in messing with. I see a lot of stuff in the press as of late about Microsoft taking on Apple or whatever, about codecs and hardware, about proprietary and not proprietary... you know, the usual.

    It's not about the Cult of Jobs. Why are journalists and analysts so stupid? Has anyone ever considered that people don't give two monkey farts about codecs and hardware? Is it possible that maybe, just maybe, people dig iPods and iTunes because it's a good product? You remember good products, right?

  • G4-TechTV still sucks, and it's getting worse

    I've been ranting about this since the merger was announced, but the clowns at Comcast continue to kill TechTV and dumb it down to a network for teenage idiots that will never get any action.

    Sarah Lane and Kevin Rose both blogged that they cut a bunch of people from The Screen Savers and killed Unscrewed all together. Apparently the aren't enough shows with pairs of unattractive and uninteresting men talking about video games. What particularly sucks about this is all of the people they let go of were lured down to LA from the bay area, and a few months later, they're out.

    And for what? When things finally started to settle, I was starting to accept the evolved shows. X-Play went relatively untouched, fortunately, and it's the only gaming show on the network that I can stand (hopefully the success has not gone to Morgan's head). They took some hilarious stabs in the first show about moving to LA. Unscrewed was the same goofy shit, and frankly was at the very least a change of pace from everything else on the network. The Screen Savers got a little too frat party, but it was grounded in the credibility of Kevin and Sarah (attractive people that aren't stupid), and Yoshi, the Jedi master of hardware. I wasn't sure about Alex (he was no Leo or Patrick), but he wasn't bad.

    I fear now that the network for smart geeks is done for good, and all of the smart people that made it special are out on their asses. They may blog that "it's part of the biz," but I disagree. This kind of TV is not rocket science. I produced more interesting government access shows when I did that stuff. It's still about informative, interesting and entertaining content. Most G4 programming is none of the above.

    Sigh. There's so little worth watching on TV as it is.

  • You have to ask IE to be standards compliant

    For the most part, I don't worry about standards compliance that much. IE and the rest of the world's browsers mostly render stuff the same way. None of them get it totally right. I learned today, however, that you have to ask IE to play nice and render stuff correctly.

    I found a link to this article which says you have to use a particular doctype declaration to get it to render like everything else out there. Look carefully... the difference comes between this:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    and this:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">

    Without the second part, you get the goofy rendering with CSS padding. Lame!

    Whatever IE becomes in Longhorn, it better be special, because things like this annoy me.

  • The Man, game developer shops and work satisfaction

    By now this has made the rounds to many of you, but it's worth pointing out again: EA: The Human Story.

    Sounds like EA cranks stuff out by killing its developers, especially if the bit about a 50% turnover rate is true. Eventually, even in the software industry, you're going to run out of people and your success will disappear as fast as you got it. With the impending Baby Boom Doom (retirement), it's going to get worse.

    This seems representative of the game development shops everywhere. Games might be compared to Hollywood films, but Hollywood has ridiculous unions that go to an opposite extreme in terms of workers' rights. I should think there's a nice middle ground there somewhere.

    I for one don't understand why people will put up with that kind of environment. Honestly, doing something you love for a living is a great thing, but if it's the only thing, it's not worth it. The Man is no longer a collaborator, he's an enemy.

    The last time I had a job with long hours was circa 1998, when I ran a city and school funded government access TV facility. I loved that job and all of the toys I got to buy. I worked long hours and didn't mind, but that was partially because of the city-mandated comp time. I was going to get time off for it. I think I'd still be there if it weren't for the low pay and local elected egos.

    Last year I worked for a payroll processing company as "the Web guy." I had nothing to do on my end, but I watched my co-workers do 80 hour weeks. For what? So the owners that inherited the business (i.e., did nothing to earn it) could take exotic vacations and you could miss your family?

    It's hard to say what motivates people. After college, I thought it was "fame" when I worked in radio. Fame didn't pay, so then I thought it was money. I eventually got that too, but that wasn't it either. So for me, I think being happy motivates me. Right now being happy means barely getting by on the revenue my Web sites generate and exploring the things I enjoy (volleyball, maybe even radio again, for fun).

    If The Man is keeping you down, tell The Man to kiss your ass. You'll likely still have a full compliment of fingers and toes, and you'll figure something else out. A little short-term uncertainty beats the hell out of realizing you wasted your time on The Man when you're on your death bed.

  • "I don't think that Internet Explorer is any less secure than any other browser out there"

    On, Microsoft's Ben English says, "I don't think that Internet Explorer is any less secure than any other browser out there."

    Come on... how can anyone say that with a straight face? Seriously, I'm as big a Microsoft fan boy as anyone, but that's laughable. I got drive by spyware using IE, and I'm a careful geek. That's when I switched to Firefox (which also does a better job blocking pops).

  • Playing with Amazon E-Commerce Service 4.0

    I decided I'd tap into Amazon's newer version of their Web services for my forthcoming volleyball site. I noticed a lot of interesting things.

    First off, their WSDL is hosed and has XML name duplication, which causes a Visual Studio referenced class to choke at runtime. XML is not my strong point, but I figured out the first part of their fix on my own. The second part is a mystery to me (though it works), because frankly I don't care to know the inner-workings of a generated proxy class. SOAP gives me a headache, and I just want it to work. I'm sure I'll catch flack for that when my book comes out.

    Speaking of code samples, it's stunning to me that there are so few really good code samples on how to use the services with .NET. Maybe because I'm a .NET code monkey that's surprising, but for all of the .NET questions posted in their forum, you'd think they'd take a moment away from their Java samples to generate this stuff.

    I more or less figured it out, and I cranked out searches, book details, and the really cool part, remote cart management, without a lot of serious issues. Everything follows the pattern: request item object -> request object -> action object -> response object from service call. Each item uses the previous as a property, with additional properties assigned along the way before finally calling the service. It's fairly logical once you've done it a few times, but there's a lot of redundancy too. For example, you would think that the logical place to pass in your associate ID and developer ID would be with the object that calls the service, but instead you pass it in with the action object. Perhaps it's more logical for people using raw XML or simple HTTP requests with query strings.

    The only really annoying thing I've encountered is the condition of the HTML in some of the content. The reviews are hopelessly malformed, especially for older titles. The editorial descriptions are even worse. I found one with an unordered list where each item was not closed, and additionally had p tags (opening only) on each list item. What a mess.

    That annoyance aside, they pretty much have everything open there for you, and the performance is pretty good. I'm seriously impressed at the amount of data available, even compared to v3. Neat stuff.

    It would be ineresting to see what you get out of's services. But I'm still bitter I didn't build something like that myself back in the day when we talked about it at my former job. Stupid executives. "No one will ever use that stuff online."

  • On programmers as designers

    Turns out after my last entry that a few people sent e-mail saying they're tuned in. Huh. Sure, the stats show hundreds of hits, but I figured that wasn't for real.

    Ever notice how most sites run by programmers have the worst designs ever? I remember thinking for years that 4Guys was borderline offensive (before the redesign). Slashdot is still hideous (it's called white space and padding, guys!). In both cases, it does illustrate that if you have really good content, people will overlook your design shortcomings.

    So I decided I'd build a volleyball site because there's a lot of stuff in that realm that, as a coach, I need to unload and share. For the time being, success (i.e., traffic) isn't something I'm all that concerned about as much as I just really want it to be a place a core group will hang out. I'm even narrowing the focus to high school/junior Olympic volleyball.

    The code template for the site is the code, so most of what I need to change is CSS for a "new" site. But I still need to make the header and logo pretty. I suck at this. I've worked with designers, but they unfortunately tend to go overboard. Worse, when you look around, it has all been done before.

    I get stuck starting with color. There's a neat tool that helps me out, but I still feel like I've seen it all before. I do have a starting point for a logo, at least.

    Eventually I'll come up with something, and I'm sure I'll hate it. The only designs I've really been proud of are one I did for a now-defunct community site for a client, and I kind of sort of like CoasterBuzz, despite being heavily into tables for layout (it's two years old).

    Do you often pull double duty as a designer?

  • I'm a bad blogger

    In the name of all that doesn't suck, I need to write something. All 12 people subscribed to my blog are undoubtedly wondering if I have been hit by a truck or am suffering from indigestion.

    Alas, all is well. The week before last, I turned in the final draft for the book, so aside from the forthcoming copy edits and proofs, it's out of my hands now. The result is that I haven't been the least bit interested in coding much of anything. I haven't fired up VS 2005 in weeks.

    I'm turning my attention to volleyball now, as junior Olympic tryouts are starting and a week from now, I'll have my 2005 team.

    Which is to say that I am actually working on building a volleyball site...

  • RollerCoaster Tycoon 3: How not to release software

    You have to first understand that RCT is easily the most important thing to appear on a computer for roller coaster enthusiasts. The first two games also had a special place in my heart because they were written by one guy, Chris Sawyer, and mostly in machine language at that. How many blockbuster games are written by one guy with no budget?

    For the third installment, they decided to go 3D. It was time, and I'm certainly not surprised. The team at Frontier was very ambitious in their goals, and I think they were 90% there with the released game. Of course, anyone that has been developing software for awhile knows that it's the last 10% that can make or break the project. The game shipped without the last 10%.

    It's heartbreaking, in a way, because I've been waiting a long time for this. I don't buy as many games as I used to, and when I do, few really get my attention. We've got a running list over on CoasterBuzz of bugs and major game play issues that's already four pages long.

    So what happened? My guess is that it went something like this. Frontier gets their first big break for a major, potentially huge release, and the big mean publisher Atari says get it done or else. They have no pull, so they can't be like id and pull the "when it's done" crap. So they do the best they can, send the gold master away and start working on a patch. After all, if half of all game sales occurs during the holiday season, time is money.

    And it's a damn shame, because I get the feeling that a lot of love and hard work was put into the game, judging by a lot of little touches here and there. Unfortunately, the bulk of these nice touches are totally overshadowed by the total crap the game is. The number of bugs are astounding, and it seems I'm constantly encountering them.

    The game could be great if they fix everything, but it's not supposed to be that way. It harms the brand (everyone's... Atari, Frontier and RCT itself), and the obvious poor word of mouth is spreading like crazy, even in their own forum. Not what you want in your target selling season.

    This brings me to the release of .NET v2.0. Yeah, it seems like it's taking forever, but if you've put up with the horrible designer in Visual Studio, I think you can appreciate just how critical it is to get it right. Microsoft has come a long way in software quality, and it's hard to dog them for that (though I think with the sheer amount of manpower and brilliant people their processes still seem to take too long).

    Good software takes time.