Microsoft, Why Do You Treat Me Like A Pirate?

Windows XP: Legitimate F**king Copy Edition

Do you see that picture on the right? I bought Windows XP when it came out. An actual legitimate copy of Windows XP Home Edition. It promised a lot of things that it eventually pretty much delivered after a couple of service packs. It's moved from machine to machine as I've updated hardware. I've gotten rid of basically all of my old PC hardware and now it lives on my Macbook Pro. I've been reasonably happy with it. Except...

With such a long history, I've long-since passed the time when Microsoft accepted my key without question through internet activation. Do you know what happens when you pass that time? Painful crushing phone activation.

Observe:

Windows XP Phone Activation

First, you have to call a number, and enter 9 sets of 6 digits (they're kind enough to let you use the touch-tone phone to do it, instead of braving their voice recognition system). Then, on the 9th set, it always complains that it didn't understand the last set of digits, until you're forced to tell it to forward you to a human without finishing the automated input.

Then, since it didn't actually record all of those numbers you put in, you get to read them again to the call-center person.

Then, they read a string of numbers back to you, that you have to type in, and finally, in true Microsoft fashion, you hit "Next", followed by "Finish", because it wouldn't be Windows without a wizard with a few extra unnecessary clicks. 😉

Have you seen what you have to do to activate a pirated version of of Windows XP? I did a quick Google search out of curiosity. You use a pre-made serial number, and then run a command that will do the activation for you, and one more command to trick Windows Genuine Advantage(TM). Voila!

It's sad that I find it so tempting to pirate something I legally own just because it's so frustrating to activate the damn thing.

The best part is, the only reason I had to re-activate at all was because the logic board went bad in my MacBook Pro, and Windows no longer recognized it as the hardware it was installed on.

Even better, now that it's done, I have to re-activate every time I switch from booting in VMware to booting natively through Boot Camp, or vice-versa.

Alternatively, you know what I had to do to register my copy of Mac OS X when I installed it? Nothing. Imagine that.

Share on Facebook

“Finally” Now Available on CD

In addition to digital downloads through Amazon MP3, iTunes, and a host of other services, my first album, Finally, is now available on CD.

Order now!

Share on Facebook

OpenNMS Dev-Jam 2008 Developer Journal

So I've been meaning to do a Dev-Jam 2008 summary since we got back last weekend, and I can put it off no longer.

In summary: Dev-Jam 2008 was a huge success!

We loaded up in the Dev-Jam Express and started the drive from North Carolina to the Georgia Tech campus. After plenty of rest stops, food breaks, passing water towers that look like giant spanked butts, and picking up of supplies, we arrived.

We got settled in, got room keys, met with the other folks who had arrived, and recuperated from a long drive.

Tarus started out by welcoming everyone and doing a "State of OpenNMS." Since last year we blew away our goal, "2007: The Year of 4 Releases". Development has increased dramatically, despite the fact that off and on, OpenNMS regulars have been busier than ever with non-OpenNMS projects. Of course, new regulars have joined in the fray. (Does that make us "more regular"?) Anyways, OpenNMS has gotten easier to install, more robust, and just plain better in every way since the last Dev-Jam. Not only that -- we had 17 people come this year. Awesome!

Next, Matt talked about how things have progressed through the different Dev-Jams, and how we learned from each of them.

At Dev-Jam 2006, Spring was introduced, and while it was an educational experience, people spent too much time without really being able to dig their hands into the code, much less have fun with the other jammers.

Conversely, at Dev-Jam 007 (licensed to... er, GPL?), we had a very free-form conference. People hung around and worked on whatever took their fancy. Plenty of coding happened, but a number of things never wrapped up (and are still sitting in the devjam-007 branch waiting to be completed).

This year Matt proposed a hybrid of the two. Things were still free-form, people picked a project they felt like working on, and invited others to help out, but we were asked to spend a little time each morning talking about what we've done and getting input from the other folks. In the end, sometimes it was almost not morning by the time we did it (grin), but I think it helped add a little structure to the '007 style, and we all did better for it.

As for development, people were mostly just getting started.

  • Matt had been preparing a RESTful framework so it would be ready (or at least, almost ready) for Dev-Jam.
  • I had been meaning to work on cleaning up the remote poller code to not be different across the command-line and GUI interfaces, and to unify the webstart and jar-based versions of the remote poller startup code, so I started in on that.
  • DJ and Mike started playing with turning snmp-graph.properties into XML (actually continuing some work DJ did along those lines some time ago).

Things started picking up on Tuesday, as people settled into what they were working on.

  • Matt worked on upgrading our Spring code to Spring 2.5.
  • Jonathan started the first of many commits finishing up his work on OTRS ticketing integration.
  • Craig and DJ both committed some bugfixes and other updates to the 1.6 and trunk branches.
  • Alejandro and Matt both worked on the RESTful interfaces some, in a new branch dubbed the Jersey branch.
  • Joed started in on a new map based on OpenLaszlo that is shaping up to be pretty sweet! It features RESTful integration as well.
  • Paul helped out fixing a bug or two, and also helped out on Debian packaging issues, which he's done a lot of great work on in the past months.
  • I got the code pretty much finished on the webstart work, although I continued to hit strange Maven issues with bad plugins and the like.

Lots of commits, but mostly Joed setting up some directories for the OpenLaszlo maps. SourceForge was kind enough to announce Subversion downtime only 5 hours before it was scheduled to happen. Intermittent timeouts and other issues kept most people from doing much before the outage deadline.

  • Joed worked on the OpenLaszlo maps.
  • Jonathan spent more time on the OTRS integration, approaching completion.
  • I continued to fight with Maven, finally getting things to work shortly after SourceForge shut off SVN. =)
  • Alejandro did more good work on the RESTful interface, adding REST support for nodes, IP interfaces, SNMP interfaces, and services.

Lots of progress in a number of areas, and with Subversion back up, people could actually... commit things. 😉

  • Jonathan worked on wrapping up his OTRS integration.
  • I was able to commit my webstart code that I finished on Wednesday. Usage is documented in the wiki. I spent the rest of the day splitting out the trouble ticketing API into it's own module, as well as brainstorming with Matt on what the future "perfect codebase module layout" would be when we've had time to refactor everything. (Hah!)
  • Tarus worked on cleaning up bugs, in preparation for trying to get a 1.6 release candidate out the door.
  • Jeff played around with something in trunk relating to Windows? I dunno what that's all about. 🙂

A few new projects were opened, and a few completed. By Friday, commits were chugging along pretty nicely.

  • David (along with Walt from Hitachi, and a little help from Matt) spent the day working on a TL1 interface for OpenNMS.
  • Craig merged the existing work from the Jersey branch into trunk.
  • I spent some time cleaning house and merging useful work done in trunk back to the 1.6 branch.
  • Joed continued to fill out the OpenLaszlo map support.
  • Alejandro worked on the RESTful interface more, adding a few features and fixing bugs.
  • Craig M. also handed Alejandro a keychain as door prize for making the 10,000th commit!

And, officially, Friday ended Dev-Jam. We had a nice dinner and people started traveling. On Saturday, we made our way back to North Carolina.

Thanks to everyone who made Dev-Jam possible. I had a great time, and we got a ton of stuff done!

Edit: It's important to pay more attention to your calendar when reconstructing the dates that things happened. Turns out Dev-Jam started July 27th, not August. 😉

Share on Facebook

KDE 4.1 Beta 1 for Mac OS X

With the help of a number of folks, I'm happy to announce the latest KDE/Mac snapshot, based on KDE 4.1 Beta 1. Also, while it's been available for a while, I'd like to point out that KDE/Mac now has an official website, at mac.kde.org, using Benjamin Dietrich's pretty design.

Torrents are all seeded, and downloadable.

Note: Apparently bittorrent doesn't preserve executable flags. 🙁 Before installing, run, in a terminal:
chmod a+x *.pkg/Contents/Resources/postflight

As always, questions are welcome in the comments, on the kde-mac list, or in a bug report. =)

Share on Facebook

My New Album, “Finally,” Now Available

Finally is now available for immediate download!

You can get it at iTunes, Amazon.com, eMusic, and a host of other digital download sites.

Check it out, and let me know what you think!

Share on Facebook

Sometimes I Can’t Help Myself (Rant)

After reading Tarus's post, I couldn't help posting my own response to Matt Asay's CNET blog. I know I shouldn't rise to the bait, but sometimes, you just have to get it out. I was as frustrated as Tarus after reading it... Feel free to read it yourself, but don't click the ads, click mine instead! (cough, sorry)

Anyways, CNET's lovely comment system apparently doesn't believe in carriage returns, you're only supposed to post in sound-bites I guess. 😉 So, I'm going to repost my response here, in a form that looks less like a Giant Blob o' Text (and with a few changes for emphasis). Also, in my original comment I accidentally wrote "free-loaders" once instead of "free-riders."

I have read a few of your previous blog posts with interest, but I can only assume that this time you've gone the way of Dvorak and are posting sensational ideas for the purposes of ad revenue for CNET. It's the only explanation that makes sense.

You posit that because communities don't grow on software that gets "open-sourced", software doesn't grow on communities. You couldn't be more mistaken. Nearly every open-source project started as a few people and grew into a community, and then grew more software as a direct result of that community. Or, as you call them, "free-riders."

Now, you are correct that communities don't magically form when a closed-source company says, "Ahh, look! We are such benevolent and wonderful people that we are opening our software upon you plebes. Flock to us!" that does not mean that software can't be born the other way around. There are many many examples that prove the point. Heck, open-source software was not even on any business radar until the "free-riders" made it what it is today.

The "free-riders" are the ones who turned an open-source project with one guy scratching an itch into a project with multiple contributors because they said "hey, this is cool, I wonder if I can help out?"

The "free-riders" are the ones who ran the bleeding edge version first and found (and sometimes fixed themselves!) bugs so your Enterprise customers could take advantage of the rock-solid reliability of open-source software when those bugs got fixed.

The "free-riders" are the ones who helped other "free-riders" on the project's discussion list when they were trying to install the software, so the user-base grew, even though they couldn't contribute code.

In other words, the "free-riders" are not just some abstract pool of people from which you extract cash. In a true open-source project, they are the foundation that makes the project something great. Everyone who is a contributing part of an open-source project was once a "free-rider" who just wanted to try it out. Every person involved in any way at all adds momentum, even if it's just by asking a question and being answered on the list. That answer goes into the global pool of knowledge (which maybe a future user will find, while googling, and won't have to ask himself).

Of course, if you're an Enterprise-with-a-capital-E company that "value-adds" on top of open-source code, you see them as "free-riders" because you don't really have a community in the first place, you just have users. The users of the open-source part of your software are only there at the whim of the proprietary side of the business. There's too much risk the community will do something at odds with the direction you want to take the proprietary parts of the system for them to be able to form a true community in the sense "real" open-source projects can.

In the end, the "free-riders" are only a negative if you aren't truly an open-source company. They are an adversary that could cut away at the functionality you charge for, rather than users who are empowered and have the right to contribute and make stronger something larger than themselves.

I just really have a hard time believing that someone who is writing in the technology industry specifically on issues of open-source software and business could truly believe that the communities are not an integral part of what makes open-source software good, much less that they're "free-loaders." It boggles the mind.

He implies that open-source software is only created by taking a closed-source company and opening the code, when in fact, that is the rare, degenerate case. Most successful open-source software comes from a good idea, some hard work, and the "marketing" of that software by "free-loaders" to their friends, associates, and employers.

Some companies can be successful by doing it the other way around, but except for some of the counterexamples like Mozilla, the most likely outcome is being bought and then being closed-source'd by your new investors, or failing just like most other startups, "open-source" or not. True open-source software has legs commercial software doesn't specifically because it can keep going long after any commercial interest fails or wanes, as long as the community still wants it around.

Share on Facebook

Web Site for Raccoon Fink Music

I've set up a separate site for my music, since it's a little off-topic for this blog. Major announcements will still be posted here as well, but I intend to post other news, information about releases, previews, and other things relating to my music to the other site instead.

Feel free to check out music.raccoonfink.com for all the latest happenings.

Thanks!

Share on Facebook

And Now For Something Completely Different — Raccoon Fink Music

So if you've followed my blog for a long time, you might have noticed me mention that I have, on occasion, written music.

Finally!

I've finally found some time to really work on getting everything set up again so I can write more music (and, in fact, I've got a guitar on the way as a birthday present from my wife!). This past month, I've worked really hard to do something I've meant to do for a long time: release an album.

Now, my music has always been freely available, it's a part of the demoscene culture, not to mention my open-source roots, working with OpenNMS, Fink, and tons of other stuff. One thing that's very hard to do, however, when writing tracked music, is get that "finished" sound.

I've spent the last month going through my catalog, dumping everything to Garage Band and ProTools, and re-mixing, remastering, and all-around cleaning up my tracks.

Without further ado, I announce my first single, Pointillize, available immediately on Amazon MP3 download, and soon on iTunes, Rhapsody, and other music download services.

On May 20th, my album, Finally, will be available as well.

Full versions of the songs from Pointillize and Finally are available for preview on last.fm. Just click on the album and hit play.

It's been a long time coming. If you like it, tell your friends; if you don't, um... well, don't tell anyone! Special thanks to Cynthia for putting up with me obsessively listening to these songs, over and over again, and spending way too much time mixing and remixing them. 😉

Share on Facebook

I’m Not Dead Yet

So I've been slack in posting to my blog, for any number of reasons, but I've been busy busy with lots of crazy stuff.

First, I've been spearheading the OpenNMS involvement in Summer of Code. Aside from one unfortunate incident things have been going well. I'm really looking forward to getting to know our students and seeing what they can come up with. It will be a learning experience for all of us. =)

We're also starting to gear up towards another beta on the road to OpenNMS 1.6. We've already got a bunch more bugs finished off, but also plenty to do still.

If you haven't noticed, my blog looks a little bit different. I'd been limping along with pretty much unchanged templates from upgrade after upgrade of Movable Type since version 3.1 or so. It's a testament to their software that everything's worked swimmingly without any major surgery for all of that time, but I've been itching to take advantage to the much cleaner HTML and CSS they're using in newer default templates, and other spiffy features which I have not been able to use without a ton of work. So I finally took the plunge and exported all of my existing data, and started over, making a CSS theme and only very small changes to the default templates. There's a bit more to do, but in all, I'm very happy with how it's gone. I should be future-proofed for another 6 years of blogging now. 😉

What's next? More OpenNMS bugfixing, to start with. I also have some Fink packages to update, as well as a few Rails-related packages to release (Mongrel and it's supporting cast of characters). It's also time to pick up my on-again off-again work on KDE/Mac, they're working towards and alpha of 4.1 and I still have a number of things I'd like to do before releasing somewhat stable packages.

Ah, well, a geek's work is never done. 😉

Share on Facebook

When “Do No Evil” Is Not Enough

I'm in the lucky position that I get to work on open-source software for a living. Not only that, but I work with a group of people who really believe in open-source software as more than just an alternate business strategy -- it's a philosophy that benefits everyone involved.

OpenNMS is completely open-source. There's no whacky $50-per-node "enterprise" version with extra features -- we put it all out there, and we stake our reputations on being the people you contact when you need something more than community support on the mailing list. The code is open, and anyone can become an OpenNMS consultant if they want. To survive as a services company, we have to be good at what we do, and not just keep the code hostage and force customers to go through us to get things done. We have to work our butts off to remain the go-to experts on OpenNMS.

That's what makes it frustrating when we see our code, and the code of lots of other contributors appear to be misused. The whole point of the GPL is that everyone benefits from improvements made to the codebase; taking that code and integrating it into a proprietary product goes against the letter as well as the intent of the project.

So on that note, it's official, we've retained Moglen Ravicher, LLC (an arm of the Software Freedom Law Center) to represent us regarding potential GPL violations in Cittio's Watchtower.

Obviously, since lawyers are now involved, there's a whole lot we can't say; it's their job to talk to Cittio and, if it comes to it, the courts, to prove our case. What I can say is, while I'm sad that it's come to this, I'm glad that we've decided to take the plunge and not just "Do No Evil" as Google says, but "Do the Right Thing" and defend our code and the community's code.

Share on Facebook