Archive for the 'General' Category

Virtualization as Adoption Criteria

Wednesday, June 4th, 2008

Yesterday at work I got a question from a co-worker about doing something under AIX. I don't really work with AIX, but I managed to answer the question. This is for another project that I don't work on. It got me to wondering if I could run AIX in a VM on PC hardware, probably using a PPC emulator. I'll save you the suspense and tell you that I couldn't find a way to do it. There are a couple of projects that are sort of trying to do it but they haven't done it successfully that I could find. Those would be PearPC and QEMU. I'm sure one of these projects will get it working someday, as soon as some really capable programmer wants it badly enough. I briefly thought about suggesting purchasing an RS6000 from eBay but decided it wasn't a project I needed to poke my nose into.

This is not a rant against AIX, although in a world gone mad with a billion distros of Linux, OpenSolaris, and PC hardware that is criminally cheap and available I don't feel the need to brush up on that incredibly rusty skill set. No, this is more about that fact that I don't think I would ever choose to work with any operating system and/or software product that I can't run in a VM on PC hardware–it's just too damn handy these days, especially when it comes to QA. That of course includes any non-hacked up version of MacOS, not that they'll miss my business. Also, sadly, I don't always get to pick what I want to work with. Still, it's definitely something to consider when picking your stack and deployment/hosting environment.


Why TrendMicro Sucks

Wednesday, June 4th, 2008

A few years back when I was looking for anti-virus software, I read a review that put Trend Micro's PC-cillin as the best available. I bought it and have used it on all of my ever dwindling number of Windows computers ever since. When I got computers for my parents, I put PC-cillin on them. I've always found it to be a good, non-intrusive, non-resource hungry Windows anti-virus product. My last purchase was a three license package that had a rebate that never came. Whatever.

However, their recent shenanigans have me insanely pissed off. I get a particularly spammy looking piece of e-mail on Monday with the subject of "Your Subscription will be renewed in 2 days." The email explains that my 1 year subscription is going to expire but that it'll auto-renew 7 days before expiration at a 10% discount. Yay! While the email does include my name it lacks any other identifying information. As I mouse over one of the links I see that it's pointed to In fact, the email has no links pointing to any Trend Micro site. The email even came from Surely this is spam so I ignore it.

On Wednesday I get an email saying I've been billed for the renewal. This time the email actually has more personal (and accurate) information, including a serial number. It's still from but at least it has one link that points to the Trend Micro site. I begin to get very unhappy. Since when is billing my credit card for software an opt out situation? I follow the link (to to cancel the order to find that the order number isn't in that system yet. I cancel it using the email and am told that although they managed to bill me very quickly, it may take up to a week to cancel the order. I also use the original email to go to the same site to opt out of the auto-renewal program. Of course, I make sure that I don't have to provide any additional personal information on any of these sites since I'm still somewhat suspicious of things. We'll see if this manages to actually cancel the order. If not I'll take it up with the credit card company.

A wee bit of research shows that this is not a new situation. I'm still pretty pissed not only about the opt out notion of charging me for shit I didn't request but also by the fact that my information has been shared/sold/whatever to a third party. I'm pissed that an email sent on behalf of an anti-virus, anti-phishing, anti-bullshit software company is made to look so goddamn spammy that I don't want to acknowledge it.

Fuck Trend Micro. I won't buy their products any more. I won't recommend their products. I will, as much as I can, campaign against the use of their products. I'll use an inferior product from another company just out of spite. We are no longer happy customer and vendor. Fuck you, your questionable business practices, your sharing of my information, your opt out auto-renewal program, your inability to instantly cancel my unsolicited order, and your choice of partners. Did I mention fuck Trend Micro and PC-cillin? Eat shit, go fuck yourself, rot in hell. There's no fixing the situation, I will not be "talked down", I cannot be recovered as a customer. Good job, assholes.


Twitter Update

Saturday, May 3rd, 2008

As I mentioned in another post, I'm giving Twitter a retry. I must say I'm enjoying it a lot more now that I'm not trying to treat it like other mediums of communication both in terms of what I follow and in how I use it to communicate. I'm definitely more willing to tweet things that don't warrant a blog post or an email.

A great example of this is when I was able to find out that a former co-worker had left their previous job. While that might be email or blog worthy, most people wouldn't bother putting that kind of information out there, but he tweeted it. As such, I didn't have to wait for that information to make it through the traditional grapevine. For once, I even knew about the news before some of the other people I know.

While I'm using it to keep in more constant contact with friends and former co-workers, some people are using it for a lot more. This post as a few recommendations for using Twitter that I found interesting. I'm not sold on a few of them, such as event updates. I realize that quite a few events are using Twitter to update attendees on things. This just seems like an alternative to email lists and RSS feeds. Does Twitter have better penetration than email or RSS? Is it just that I have more noise in my RSS reader? Won't Twitter suffer from that eventually? I don't know. It just seems like using an alternative form of communication just for the novelty of it.

Another use I've seen is people soliciting feedback or getting votes on an issue via Twitter. I think that's a great use, but I don't think I'll ever have enough followers to do it effectively. There's a big difference between asking your 1-10k followers for feedback and asking 20 people. Maybe I'm wrong. Maybe I should tweet the question (and get feedback from 1 or 2 people).

The idea of using Twitter to create and track ToDo lists intrigues me, but again, I just can't get my mind around the advantages. While Remember the Milk seems interesting I haven't gotten off my ass long enough to try it. I hear good things though.

Foamee is another one that I like. You can let someone know that you owe them a drink for something. I haven't used it yet. Maybe I'm too stingy with my kudos. Maybe I'm just an asshole. Who could say? Is my reluctance to use these and many, many other services that integrate with Twitter another example of me being too set in my ways to "get it"? Maybe in another few months I'll be writing posts about how I've come around to using them.


Bitstrips Madness

Wednesday, March 26th, 2008

I recently re-discovered BitStrips thanks to a post today on BoingBoing. Now artistically challenged people can create their own comic strip. Sadly, most of them aren't funny (including my own), but it's the thought that counts.

I do wish they had better options for embedding comics into other pages. Currently they only support a weak ass frame by frame flash widget rather than a simple image of the entire strip. If you're interested in just how un-funny I can be in comic strip form rather than blog form, you can find my crap here.

Here's an example of their shitty widget:

Widget removed for your protection.

Update: I filed a bug report (not on the widget issue yet) and found through an automated email that BitStrips uses FogBugz. I have no real point here, I just like spotting tech products I'm somewhat familiar with.

Update: Better embedding options and feeds made it into BitStrips a while back so I'm updating this post to include the better option. Sorry about it popping up in your feed reader again:


Twitter Retry

Saturday, March 22nd, 2008

Initial Dismissal

I tried to get into Twitter a few months ago but I really didn't see the point of the whole thing. However, its wild popularity and frequent mentions in every blog and podcast I follow have made me realize it's once again time to retry a technology or product I had written off early. I did the same thing with Google Reader, Google Documents, and Facebook. I'm now a big fan of the first two. Maybe I need to re-evaluate Facebook next.

The main problem I had with Twitter is that I thought of it in terms of more direct and intrusive methods of communication. I wouldn't want to get an email or a phone call from someone every time they thought about taking a dump or were wondering what was in their refrigerator. This was made worse because I put Twitter in my RSS reader. When I'd check my feeds I'd have 100 messages from people that I would usually just ignore. What's the point of that?

I'm now trying to think of Twitter as a general group chat. I'm using a client for it instead of the reader (currently TwitterFox). I then get updates as they happen (or within 5 minutes at least). I'm usually not bothering to catch up on anything that I missed unless it's a reply. It's a very lossy communication method. I'm free to ignore it for long periods of time if I feel like it. It's also filling the gaps in time after I've run out of subscribed content. We'll see how that works out.

SXSW and the Mob Mentality

Part of the reason for the re-evaluation has to do with the recent SXSW / Zuckerberg / Twitter incident. I wasn't there and there are conflicting accounts as to how big of a fiasco it was, but the interesting thing is how vocal the audience became. In the days before instant ubiquitous communication everyone would have sat quietly through the interview thinking like thoughts about the poorness of the interview. After the interview they'd then compare notes about the perceived suckitude, blog about it, and move on.

With Twitter, the audience was able to communicate with each other in a relatively clandestine fashion. I think this creates a feedback loop where everyone gets more and more pissed off. The perception of the poorness becomes enhanced and it's just a hop skip and a jump from tweeting your dissatisfaction to voicing it quasi-anonymously in the room. I'm not sure this is a good thing, but it's certainly interesting.

I say it may not be a good thing because I'm not a big fan of micro-ratings within a public forum. When presenters adjust their content on up to the minute feedback from the consumers I think there is a tendency to dumb things down and appeal to either the least common denominator or the most vocal group. I'm not sure this was the case at SXSW, but I'm not ruling it out.

To get back on track, I'm once again paying attention to my Twitter account, so feel free to find me and follow me if you're curious about my bowel movements, mental or otherwise.


The Battle for Hearts and Minds

Tuesday, July 24th, 2007

For the last month or two I've been having a war with whoever is stocking our beverage cooler. We have a cooler with a limited capacity and a locker with a backup supply of room temperature cans.

The first problem is that someone is ordering a whole shitload of Coke products–Coke, Black Cherry Vanilla Coke, Diet Coke, Coke Zero, Caffeine Free Diet Coke–and taking up way too much shelf space. This increases the chance that my beverage of choice will run out and I'll be stuck gazing longingly at a room temperature Diet Dr. Pepper and thinking about what might have been. To combat this, I sneak into the break room and re-arrange all of the sodas in my free time. Typically this consists of trying to make the shelf presence of each beverage more proportional to its popularity. This means eliminating as many Coke slots as possible.

Today I wander into the break room only to discover that they're attacking me on all new fronts–layout, usability, and increased error rates. Check this shit out:

Bad layout / design example

That's right. Not only is the Diet Dr. Pepper down to two slots (I had managed to expand it to three), they've also put it on the Diet Coke shelf AND put that abomination known as Cherry Vanilla Diet Dr. Pepper right next to it. They've put two similarly colored, diametrically opposed diet drinks right next to each other. They've sandwiched an innocent beverage between two fizzy misanthropes. They're obviously trying to get me to pick up a can of that Cherry Vanilla pisswater by accident and lose my love of Diet Dr. Pepper. Barring that, they're thinking I'll grab a Diet Coke by accident and somehow fall victim to the brainwashing chemicals contained in every can.

I now have to fall back and formulate some manner of counter-offensive. This day is lost. Well played…

Update: If It's Worth Doing…

Behold, a [more] properly stocked soda refrigerator:

Soda fridge

I relocated all of the juices on the bottom shelf, being careful to separate the orange and apple juices in order to decrease the chance of accidental color related selection. The same goes for the Diet Coke, Diet Dr. Pepper, and Cherry Vanilla Diet Dr. Pepper. Ditto for Mountain Dew and Canada Dry (both green cans). I also took the liberty of claiming a full four (4) shelves for Diet Dr. Pepper. I figure any soda that spends that long in medical school deserves an additional slot or two in the soda fridge.

Sure, there are still problems. The Diet Sprite still has a full five rows (spanning two shelves–4 and 1), even though no one seems to drink it. I'm hoping someone will start drinking them in order to clear out the heinous stocking abomination that occurred at some point in the recent past. Then I can claim that shelf for the Minute Maid Light Lemonade if they ever start ordering it again. The ball is now in their court.


Troll Scalability

Sunday, May 27th, 2007

The Dark Ages

Things have been dark here for a little too long because I've been busy living it up on Jyte and Pibb, two sites from JanRain. Jyte is a site that lets you make claims and have people either agree or disagree and discuss. In reality it's a bit more interesting than just that. The thing I like about Jyte is it is very effortless blogging. I can throw out a quick idea and get some feedback and discussion going.

Not so with this blog. I usually try to put a little more effort into the entries which result in somewhere near zero discussion. It's still useful for not only letting people know what I'm working on, but also for keeping notes on things I've found. It's not unusual for me to search my own blog to remember how I did something at some point. My memory leaks too much. Plus, I get to say I have a blog like all those cool kids.

Pibb is a web based messaging / chat application. It's just getting started but is good if for no other reason than it gives the people on Jyte a more direct way to communicate. Both of these use OpenID for authentication which is a very nice idea for a public web site. Those of you that watch my bookmarks (or this blog's feed) probably saw the quick bookmark on Acegi's possible inclusion of OpenID as an authentication provider (along with a couple of other Java OpenID libraries). Muy sexy.

That's Not How We Do Things Around Here

Both Jyte and Pibb, being community oriented sites, have felt some recent growing pains in terms of popularity and new members that immediately try to buck the de facto way of doing things. Tagging on Jyte is a good recent example. You can tag claims on Jyte to make them easier to find. New people inevitably either don't tag their claims or tag them with tags that have nothing at all to do with the claim. The tag centric portion of the community immediately tries to get the author to remedy the situation. Most of the time it ends peacefully, but occasionally people rebel against the very idea of someone trying to tell them what to do.

That's the way the community works. The users of the site give the site an identity. New people that don't agree cause friction. The more interesting thing is to see how the developers of the site try to make the community's customs more formalized in the inherent functionality of the site.

In our tag example, there used to be a "top tags" sidebar. Once a group started regularly abusing tags, their ill fitting tag became prominently placed on the top list. After the group refused to change their behavior the top tags list disappeared and was replaced by a set of commonly used tags. This is interesting in that it tries to provide some sort of structure to an otherwise unstructured mechanism–tagging. The short term solution of dealing with this minor abuse was to change the site's functionality to preserve the way the bulk of the community thought things should work.

The original motivation of the group was to use tags to easily find the claims made by members of the group. The JanRain developers eventually added a "find group's claims" link from the group membership page. Again, the functionality of the site changed based on community feedback. It was all very interesting to see how community (mis)behavior caused features to be added/removed to a public web site.

Have You Seen Goatse?

Our next example, and the subject of our subject, is what transpired on Pibb. Pibb got Dugg. This caused the barely opened site to receive an instant spike in traffic. The result was feedback from the new users ranging anywhere from the positive "this place sucks" to greater levels of naughtiness.

Public web site developers often think about what features would be cool for the community. Wouldn't it be great to be able to easily embed images into a chat using HTML? Wouldn't it be cool if users could create their own threads within a channel so that conversations about very specific topics could easily branch off from the original discussion? Gee, you bet it would.

But, that's where troll scalability (also referred to as cultural scaling) comes into play. When you're building a feature rich site for a well behaved community you don't have a lot to worry about in terms of abuse of features. As a site becomes more popular the number of misbehaving users (we'll use the term troll) increases. They may still be a constant percentage of the community, there are just more of them now.

Admittedly, this isn't a problem I routinely deal with since I develop corporate intranet web based applications. I can pretty much guarantee that the hosting corporation can control its own people. This is a luxury the public web site developer doesn't have.

What happens if users start putting images of goatse or tubgirl (links omitted to protect the innocent) in every place you allow the display of images? You let users create new channels? Great. What if I write a script to create a million channels? I'm not talking about the performance impact. Performance is another issue and is one that most people understand and plan for. The troll problem is one for which very few, if any, public web site developers plan.

Troll control is typically handled after you've gone public and gained some popularity. The solution is usually adding punitive measures to misbehavior and the elimination of features. Your community both wins and loses in this situation. It's great to get rid of the trolls, but where did my much beloved features go? If you're lucky, you lose very few of your treasured community contributors. Some will inevitably leave because they think your site is overrun by undesirables. Some will leave because the loss of functionality is unbearable (spoiled bastards).

So What?

The "so what" moment here is that, as a public web site, you may get one shot at getting popularity escape velocity. Your first large scale public exposure is important. You should work hard to ensure that it isn't a negative experience either to your potential new users or to your existing community.

You designed a site to perform well under load and to work in all the major browsers on all the major operating systems. You spent time tweaking your CSS to make it easy on the eyes. Why didn't you spend time thinking how every one of your cool features could be abused? You need to design your features around the "asshole" user. Don't assume everyone on your site wants to place nice nice. Are you safe from inputing script tags in form fields, SQL injection, omnipresent goatse images, animated GIFs, user created content spam, new user creation scripts, etc?

If any of these successful trolls were smart (I doubt that they are) they would open a business offering their devious skills to public web sites currently under development. If they ever do, I recommend hiring them. You'll save yourself and your community a lot of grief.


Blockbuster, Tivo, and Greasemonkey

Friday, March 2nd, 2007

Someone asked for a Blockbuster version of the Netflix Greasemonkey script I wrote. I signed up for the free two week trial and got it working, I think. It's not very different from the original Netflix version, just some stripping of extra characters like "|WS|" or "|Unrated|" that Blockbuster adds to the title. Feel free to download it from here.


Update: BlockBuster made some minor changes that broke that version of the script. I've made some minor changes to fix things. I updated the link in the post to point to the new one. If you can't be bothered to find that link, you can get it here.

Update: I updated URLs to which the script applies and added quotes around the search title to get more exact matches. As always, you can get it here.

Update: Blockbuster started including the year of the disc in parentheses which would throw off the search so I stripped that information out before hitting the TiVo search site. I also changed the link to the TiVo site so that it would open in a new window/tab. I found myself always shift clicking the link so I just put it in the script.


Netflix, Tivo, and Greasemonkey

Monday, February 26th, 2007

I wasn't very satisfied with my last attempt at merging Netflix and Tivo. I'm sure it can be done using just Pipes eventually but I think it'll take a while for Pipes to mature enough.

Barring that, I got curious this weekend and decided to see if I could do the same kind of thing directly on the Netflix queue page via a Greasemonkey script. So I wrote a quick little script over the weekend:


The quick overview is that the script takes each movie title in your queue and searches for the text on TiVo's site. If it finds a match it puts a link after the movie to TiVo's search page. I used a link so you can open the matches in other tabs. This is especially handy since it takes a while to search TiVo for all the movies in your queue. I also tried to make the link stand out a little so it would be easy to spot while scrolling through the page. Besides being a slow loader, the other downside is that any match will cause the link to appear. This is a little bit annoying but seems bearable. In theory you would then schedule the recording online via TiVo's site.

If you're interested, go install Greasemonkey followed by this script. Feel free to modify the hell out of it if you like. I realize it's still not a perfect solution, but seems a bit useful for now. Also, please excuse the crudity of the code. Like I said, it was a quickie and Javascript is not my forte.

Update: Here's a Blockbuster version.

Update: I added the quotes to the embedded search. I no longer have a Netflix account, so it's not the easiest thing for me to test out. Let me know if there are any problems. The script is now hosted at


Selling Virtual Assets

Sunday, February 4th, 2007

Ebay has decided that allowing the sale of virtual assets on their site brings up too many "complex legal issues." As such, they're delisting any auctions that include virtual items. This includes even auctions that include physical items that accompany the virtual item. This seems like a great opportunity for Yahoo! Auctions to gain some market share for their (currently) free auction site and maybe eventually find a way to successfully monetize their failed U.S. venture (they've had greater success in other parts of the world).

They should get the word out that they still exist, that they're free, and that they don't prohibit the sale of virtual assets. People I know through the wife that have made very nice sums of money from selling VMK items on Ebay were completely unaware that Yahoo! Auctions still existed at all. The free price tag means that sellers won't be penalized by the auction site's severe lack of market share. If Yahoo! ever hopes to make money off the site (or to just be a respectable presence in this area) and if the figure that $100 million in virtual game parts will be sold annually is even close to accurate, it seems like a no-brainer to try and capture this market which has been rejected by Ebay. It's one of the few chinks in Ebay's armor…