the truth about hacked software

I want to get something out in the open.  It’s not illegal to hack your software.

This is probably contrary to what you might assume when you hear the words “hack” and “software” used in the same sentence, but there is an important distinction to make: hacked software is not the same thing as pirated software.

Let’s throw out a couple examples.

The OSx86 Project

OSx86 is a project whose goal is to allow people to install the Apple OSX operating system on Intel-based PCs.  (Actually, allow isn’t quite the right word…you can already do it, it’s just not made very easy – the OSx86 project is to provide tools (and documentation) to make it easy (or easier, anyway)).  The theory here is that now that Apple is using Intel chips to power their computers as opposed to Motorola chips, the hardware infrastructure isn’t a completely different animal the way it used to be.  PCs and Macs are much more closely related.  This is amplified by the fact that OSX is a BSD-based system, which is a Unix variant that shares a lot of similarities with current popular Linux distributions like Ubuntu, particularly with the ‘sudo’ element (a commandline argument that allows a user to take on the roles of the system administrator without the need to log in as the root user/sysadmin – much like the User Access Controls that exist in Windows Vista and 7).  It is a violation of Apple’s terms of use to install OSX on a PC.  However, this is not a violation of the law.  (They might like you to think it was, but just last year Apple was overruled in a case against the ‘jailbreaking’ of iPhones while they were under contract with AT&T.  Installing OSX on a PC is similar to said jailbreaking, just applied to an actual computer.)

Ripped Music

You may not think that ripping music from a CD counts as software, but the theory holds and mp3s are nothing if not digital files to be manipulated by another software application.  You may also assume that ripping a CD to create mp3s is not violating any terms of anything.  The RIAA, however, would have you believe that you are violating copyright law by ripping mp3s from a CD that you own.  The reason here being that the record company may also sell those mp3s themselves and just because you can create your own mp3 copies doesn’t necessarily mean you should.  On the other hand, we’ve all come to accept the common terms of property law which states that, once you purchase something, you can do pretty much whatever you want with it.  (This is why it’s no more illegal to copy a record onto a blank cassette than it is to sell the record to a used vinyl shop for cash.)  In this, the recording industry really has no bite since we’ve already established that copying music to a tape doesn’t violate any law (although they tried to disallow that in the 80s), so there’s no reason why creating a digital copy should be any different (they would disagree again, pointing out that it is possible to create digital copies of music with today’s technology that are a direct facsimile of the original – to which we all say “…so?”). 

Windows Genuine Advantage Validation Hacks

This is what lead me to start writing this post in the first place.  When Windows 7 was in beta, I signed up and was using Windows 7 for almost a year in it’s early beta and release candidate forms.  I was so impressed that I decided to actually purchase a copy for each of our computers.  Of course, according to Microsoft, Windows 7 beta/RC was not for use on any machine you actually use (which sort of defeats the purpose IMO) and there was no direct upgrade path to a retail version of Windows 7 from the RC.  It wasn’t long before someone found a way around this, which even worked for me, who bought Windows 7 Home Upgrade (the RC had the featureset of Windows 7 Ultimate).  But fast forward to both hard drives on both my computers failing (at different points).  Though you are allowed to do a format and install with an upgrade version of Windows 7, the license key is not valid for a full install,  I had to find a way to workaround the Windows Genuine Advantage Validation to use the copy of Windows that I purchased.

Commercially-Supported GPL Software

This one is close to home because not only do I write commercially-supported GPL software (in the form of Museum Themes), but I also support commercially-supported GPL software (in the form of Event Espresso). In this instance, hacking may not be anything more malicious than taking the code and modifying it for your own purposes (something that is allowed by the software license). But what if the means by which you obtained the software wasn’t one of the “official” channels? By the terms of the GPL, anyone, anywhere, for any reason has the right to take GPL software and distribute it in kind as long as they do not alter the GPL license itself. This means that you could take GPL software that you purchased and post it on your website for people to download.

However, with most commercially-supported GPL software, what you are actually paying for is not the software itself, but rather the support (and the knowledge that the software is being maintained, tested, and the developers will presumably fix any bugs you may find – all things that may be harder to come by when you are working with free – as in beer – GPL software). If you took the example above and posted your commercially-supported GPL software on your site, you would likely earn the ire of the developers if not violate the terms you agreed to when you purchased the software, and they would more-than-likely deem you invalid for receiving any further support or updates.

Common threads

At this point you should be seeing a pattern.  “Hacked” software is making the software do something that wasn’t the intended use by the manufacturer.  The consequence isn’t death, the FBI won’t come after you over your illicit VHS copies of movies you rented from Blockbuster, and you won’t go to jail.  You will not, however, be able to get support for whatever software it is that you are hacking.  The EULAs that you click through without reading, though they sound like legalese, are at the end of the day just license agreements and generally not a basis for legal action.  We have become so used to clicking through EULAs without reading that, as a result, we only follow the terms of them as far as it resembles common sense or, at the very least, supports what we were already intending to do with it.

Breaking the rules

I was going to end this post here, but I’ve recently been made aware of something that is making the rounds in the Warrior Forum.  For those of you who don’t know, the Warrior Forum is basically where spammers and black hat internet marketers are made.  It is to scammy online money-making schemes what 4chan is to griefing.  Recently, some brilliant member of the forums realized that because the terms of the GPL allow you to redistribute the software (even repackage and resell the software) that you could potentially make a lot of money stealing other people’s code and selling it.

Here’s the problem with that.

GPL software is released without any warrantee that the software even works.  No guarantee is made for support of any kind.  As discussed previously, that’s what you’re paying for.  How likely is it that the guy you got a free copy of a WooTheme from is going to help you out when you have a problem with the theme or want to upgrade it to the latest version?  Not at all.  Go to WooThemes for support?  Sorry, if we don’t have a record for your purchase, you’re SOL.  This hurts not only the customer trying to use the theme but, ultimately, becomes a big headache for the guy trying to redistribute it because he probably didn’t realize that he’s going to have to help (or ignore) the people he gave his theme to.  For someone out to make a quick buck, this was probably not part of the plan (however, for anyone actually in the business of selling GPL-licensed commercial software, this is precisely the plan).

The moral

Hacking software or using hacked software is not illegal.  Once it’s (legally) in your possession, you ultimately have the right to do whatever you want with it.  However, doing so means you should at least be aware of the consequences, namely: you’re on your own.  If you break anything after hacking your software (or using someone’s patched version of commercial software), you can’t go back to the developer and ask for a refund, or support, or much of anything, really.  Hacking is not piracy and shouldn’t really even imply piracy (though pirated software often requires a hack in order to bypass the built-in protection against just that).  Hacking is just code, which, broken down are just words, which are protected by article one in the constitution allowing free speech.  That said, there are many cases when the forces in place guiding you toward actually purchasing or using the software legitimately have benefits that outweigh whatever benefits of the hacked version.  Maybe this is in the form of support from the developer or maybe you just believe in the product and want to help them keep writing good code.  As a free-thinking individual, it is up to you to make the choice for yourself and understand the consequences of either decision.

Genius

I’ve flipped back to iTunes as my default audio player.  I was avoiding it for a long, long time for a lot of reasons but when WinAmp randomly stopped playing OGG files (which I have a lot of), and I couldn’t fix it, I installed the Xiph QuickTime Components plugin and downloaded the latest version of iTunes.  And I have to say, having a functional playlist generator is nice.  Here’s why I was against iTunes in the first place and why I came back:

1. iTunes is a resource hog

It’s no secret that iTunes is a huge application.  When the download size is over 70MB compared against the comparatively miniscule WinAmp (currently sitting at 10.7MB, which is twice as large as earlier versions), you know you’re in for more than just something to play music on.  Additionally, the minimum system requirements for iTunes is about double the minimums of WinAmp almost across the board, including 1GB of RAM if you want to play HD video (I don’t, but that’s besides the point).  As a designer, my RAM is a precious commodity, and the last thing I want is my music player getting in the way of the resources required by my graphics application.  That said, I upgraded from 2 – 4GB of RAM recently, and upgraded my operating system from 32-bit to 64-bit Windows 7 at the same time.  The native 64-bit iTunes has yet to cause any problems with resources while I’m designing (although it gets a bit slow internally when it’s downloading art or updating Genius – but that’s mostly to be expected).

2. iTunes does weird things to your music collection

I’ve had my own directory hierarchy for years.  Music Folder/Genre/Artist/Album.  However, there’s several inherent problems with this, not the least of which being when you have over 30,000 music files, organization is a bitch.  And then there’s the genres themselves, which I kept deliberately general (Alternative, Jazz,  Indie, Punk, Rock, Soundtrack, Rap, Electronic, etc…) – does Nine Inch Nails go in Goth or Industrial?  Does Guitar Wolf go in Punk or Japan?  Is Lady Sovereign Rap or Electronic?  I may not like iTunes messing with my folders, but then, if I can’t find the artist I’m looking for because I can’t remember if I put them in Indie or Alternative, having the artists filed alphabetically starts looking pretty appealing.  And what is my own, personalized directory structure really getting me, anyway, other than headaches?

What’s more, I’ve recently started using the Grouping tag to handle sub-genres – so the Genre field in my tags are the more general genre, and Grouping is for the forks and sub-categories like Dream Pop or Indie Electronic or IDM or Alternative Folk or Death Rock or Shoegazer, and this seems to be working pretty well.  The other thing that’s cool about using the Grouping field is when you have a variety of interpretations of a sub-genre…Alt Country is a great example of this — is it Alternative? Country? Indie?  I use it for Rockabilly, where I stash my newfangled indie Rockabilly Revival and Psychobilly artists alongside the originals like Wanda Jackson, The Collins Kids, and Elvis.

3. iTunes doesn’t automatically update your library

Probably my biggest complaint ever with iTunes has always been if you’re going to take over my entire music collection, why the fuck do I need to manually add new music?  This has been fixed (in fact, it was fixed in iTunes 9).  Now there’s an Automatically add to iTunes folder in your music library folder, which is all the more reason to just let iTunes handle your directory structure for you.  Adding new music to that folder, it gets gobbled up by iTunes and automatically added to your collection.  Which is exactly how it should be.  No more dropping down in File –> Add folder to Library bullshit.

4. Apple is a huge corporation that just wants your money

Yes, but, isn’t everyone these days?  WinAmp may be an independent contractor, but it’s still sporting the Aol logos everywhere, and it’s not exactly the scrappy underdog it was, you know, 15 years ago.  And anyway: so what?  I hate to break it to you anti-Apple-everything geeks, but Apple actually makes some good products.  They may be overpriced ripoffs of other stuff that already exists, but they’re really good overpriced ripoffs of other stuff that already exists.

And here’s why sticking with iTunes is actually probably a good thing:

1. Genius fucking works

Seriously, WinAmp’s Gracenote-powered playlist generator was awesome…for the five minutes that it worked.  Then it sucked.  Sure there’s alternatives, but isn’t it nice to have something built-in that just works?

2. Automatic fucking updates

What’s the worst thing about software updates?  I’ll tell you: it’s having to go to the fucking website and download/install a new version of the software you already have installed.  Really?  It’s 2010 and we still need to install our own updated software?  Most Linux distributions do this for you, you just need to say “uh…okay…” when an update is available.  Java does this, too, along with a bunch of other, more intelligent pieces of software, like FileZilla and uTorrent.  Apple, too, has been doing this for years for their Windows users (and automatically bundled in the Apple Updates for Mac users), and I think it’s awesome.  Why more software developers don’t build this in to their applications is baffling.  Get over it.

3. Smart playlists

Smart playlists are effing brilliant.  It’s like someone crawled into my head and extracted precisely what I’ve been wanting to do for years.  I want to listen to this type of music but not this stuff over here, and if you could add this artist, that would make it even better…Sometimes I don’t want a Genius playlist, but I don’t want to go through and manually build a list to listen to…with smart playlists you can tailor them to just about any freaking thing you can imagine, and here’s where things like Grouping and all sorts of other tags come in handy – Indie Rock from the 90s? Check.  Alternative rated 4 stars or above? Check.  All the stuff I haven’t listened to recently?  Sure.  Or, my favorite, everything with “snow”, “holiday”, “santa”, “winter”, or “christmas” (excluding audiobooks titled SnowCrash, thank you very much)?  Instant holiday playlist.

Like it or not, iTunes is solid.  Big, but solid.  Stupid icon, maybe.  Why fight it?  What’s the point in using some super awesome, uber-customizable little app (Foobar comes to mind) that almost does everything you want?  Now, that Ping thing…that’s another matter entirely…

Developing tabletop games like software

I’ve been working on The Long Con in my free time, and when I haven’t been working on it, I’ve been musing over the development philosophy.  I don’t know if what I’m doing is that much different than other open source role playing games.  I haven’t really explored the open source RPG community, I just know that it exists.  So, at the very least, I can say that I haven’t been influenced by any of those ideas.  I’ve probably said it before, but I’ll deign to repeat myself: I’m modelling the development of the game after software development, particularly open source software projects.  What does that mean exactly?  Well, I’ve had quite a bit of time to think about it.

Get the 1.0 out as quickly as possible

Despite the wave of betas and user-previews that we’ve grown accustomed to, from our email software to our Twitter clients to our online timesucks, a beta version is what it is: incomplete.  It’s beta because it hasn’t yet fulfilled the requirements of an official release.  And while we’ve settled with Good Enough for years, particularly with Gmail, in other cases, a pre-release version of the software can be damaging to the inevitable release of the final version.

Let’s take Wine as an example.  Wine is a Windows emulator for Linux, able to run Windows binaries as Linux-native applications.  The goal for 1.0 was to make Wine a workable environment for most major Windows desktop applications like Microsoft Office, Adobe Creative Suite and other apps that people use most frequently.  The theory was that when those apps could install without any problems, they’ve reached their 1.0 landmark.

This would have been great when we were looking for a viable Windows alternative operating system.  It would have thrown Linux right out there for its inherent cost-effectiveness, frequent, integrated updates, and ability to get things done right.  However, the world that needed Wine 1.0 was not the world that finally greeted Wine 1.0 when it was completed.  We needed Wine 1.0 when we were trudging through Windows ME or hanging onto the buggy Windows 98.  When Windows XP came around, it was a minor improvement, but still we had no other revolutionary options — Mac OSX wouldn’t be released for another year.  By the time Wine 1.0 was complete, we had two actually really good operating systems to choose from with an OSX well into its development cycle and Windows Vista and then 7 a year later.  The time when Wine could have turned Linux into a powerful alternative for the masses in the operating system market was passed — we already had pretty good options.

Matt Mullenweg, founder of Automattic and one of the major forces behind WordPress said in a presentation a few years ago

Get out of version 1.0 of your product as soon as possible.  Even if it sucks.

The idea is that you want people using the software, breaking it, trying it in new ways that you didn’t think of when you were writing it.  Get the 1.0 out so real people, not just coders, developers, and nerds are the ones actually using it.

One of the core ideas of development for The Long Con is to build a simple, solid, usable system as quickly as possible.  Much like the structure of WordPress itself, the core Long Con system will contain only as much as is absolutely necessary or beneficial for the enjoyment of the game.  New features, rules, add-ons can be added and expanded later.  What I have now — I think — is a solid beta.  It’s rough around the edges.  It’s untested.  But I believe it’s a usable system and even has some flourishes for advanced and (what I deem to be) unique rules and features.  After we run our seminal test game and clean up some of the documentation, it should be ready for a 1.0 release.

Does this mean it’s done?  Absolutely not.  There are several major components that are missing, including GM-less play, that I have planned and still want to include.  However, I’ve decided that those can and should be added at a later upgrade.  Plugins weren’t added to WordPress until 1.2, and themes weren’t added until 1.5.  Now entire businesses are built on custom plugins and themes, and the official WordPress plugin repository stores over 10,000 unique plugins.  Which leads into the next point:

Never stop developing

What the hell happened between Dungeons and Dragons and Advanced Dungeons & Dragons?  There was, like, an epic gap, and AD&D only marginally resembled the original D&D.  Times, trends and ideas change.  I co-wrote a system called Goth: the Corruption — a sort of goth-centric take on Vampire: the Masquerade — somewhere in the neighborhood of 15 years ago.   It hasn’t been touched since.  Is that system topical and relevant?  Probably not.  Could it be?  Absolutely.  Even Vampire, which it was inspired by, has gone through some pretty revolutionary changes since the time GtheC was written, including two major revisions and a rebranding.  The difficulty of tabletop game systems is that once the game is printed, that’s it, it’s set in stone.  The current edition of Dungeons and Dragons sort of gets around this by releasing updated rules for .5 releases, but there’s still a lot of time in between a 3.0 and a 3.5 and when the 3.5 or the 4.0 is released, that means your players and storytellers need to go out and buy a whole new stack of books.

Software doesn’t have to work that way.  Sure, when the new version is released you need to — in some form or another — download the updated copy.  By making your software free-as-in-beer, you make it easier for your user by taking out the cost concern of getting the upgrade.  Keeping frequent updates and keeping your users informed of them — and why they should care about the updates — encourages users to grab the most recent version even if there’s a minor inconvenience.  If we applied this to gaming, it’s the equivalent of Wizards of the Coast coming up with an awesome new system for the next version of D&D but it would otherwise need to wait for the next official release.  You could wait, or you could download a “patch” that you could keep as an e-book (or in some other form) and print out or email around to your players and start using this Saturday.  Who wouldn’t want to be using the most updated version of the rules if they added cool new things you could do and you could get it delivered to your inbox automatically for free?

One of the key elements of getting the 1.0 out as quickly as possible and delaying important features or milestones to later releases when you can focus more attention to them is that it keeps you focussed.  Complete this task right here and don’t worry about feature x over there, that’s scheduled for 1.3.  It doesn’t matter when 1.1 and 1.2 come out, and it doesn’t matter if they come out in short succession if that’s the way it works out.  What matters, as a game (and software) developer is that you remain focussed on only what’s in front of you and that what’s in front of you is the most important thing you need to be working on for the project right now.

Along with that is to set a goal to have tangible results in a set period of time.  WordPress’ goal is to release 3 major version updates each year.  This holds you accountable to continuing development and making sure your project doesn’t stagnate.

Allow for modding

One of the most transformative features added into the Dungeons & Dragons system after Wizards of the Coast took over from TSR was making the D20 system open source.  AD&D was great, and the plethora of expansion sets and storytelling resources were far-reaching.  Sets like RavenloftPlanescapeForgotten Realms and Dark Sun changed the whole landscape of the type of story you could tell.  But even so, you were still confined to those systems, those worlds.  And some of us like to tinker.  Others of us wonder what it would be like to play a game set in an obscure TV show for which a standalone game hasn’t been built.  Enter D20.

My first exposure to the D20 system was through the Babylon 5 game.  I knew of the major changes in D&D 3rd ed. after Wizards of the Coast took it, but I didn’t realize the D20 system had become open property.  The idea that you could take the core gaming system and overlay any scenario or world you could think of on top of it was brilliant, and allowed independent publishing houses and armchair game developers the opportunity to build a game without having to worry about the system.  It enabled players to enter into a brand new game without having to re-learn core rules and systems (since it’s fairly likely that you would have played at least one D20 game in your lifetime).  In short, it made tabletop RPGs more like what PC games had been doing for years, since the very first Doom mods put you in Homer Simpson’s shoes as you ate donuts and beer through Doom’s maze-like levels.

In The Long Con, there are three major ways the game can be modded and further developed without touching the core rules; Plugins, Modules and Extensions.  Each takes a page from open source software developing.  Plugins are add-ons that add new features or rules to the core system.  Developing a LARP system around The Long Con might be a plugin (albeit a really big plugin), as would adding or replacing Skills to make the game more action-packed.  Modules are sourcebooks that contain NPCs and bad guys.  Modules are crucial to GM-less play, since to play without a GM you would be relying solely on material from modules.  Extensions are full scenarios or worlds.  Extensions can contain plugins and modules (in fact, they probably should), and might also have unique world information and data.  One of the things that appealed to me about The Long Con as a game concept was that it’s not time period-centric.  I think it’s fairly safe to say that since the dawn of man, there have been con artists.  So you can run the game in any time period or world scenario you can think of, from steampunk to space opera to gritty war dramady.  I envision extensions expanding the game system almost indefinitely.

Engage the community

The reason I wanted The Long Con to be open source was to encourage community involvement.  (And once the 1.0 is done, I’ll start fencing it around the greater gaming community to see if there’s any interest.)  The last thing I want is to be the only one playing or writing for The Long Con, but I see it as being appealing to an audience far greater than just me.  Not just in the playing aspect, but in the building and developing aspect.  I had no idea, going into this, that open source gaming even existed, I was just going off of being really passionate about the GPL and what we were doing over on Museum Themes under the GPL.  The idea struck me — hey, this doesn’t have to apply to software.  Building a community of fellow passionate users reinforces all the other points and keeps you going when you otherwise might throw the project along the wayside.

Again, I have no idea if applying an open source software philosophy and approach to building a role playing game is an original idea.  But it feels right.  More than that, it feels like it might benefit the development of the game in a way that a traditional, linear approach wouldn’t.  It’s easy to find yourself overwhelmed by the amount of work or to just put a project like this on hold and then forget about it.  I believe that applying this kind of approach can seriously combat that, put your idea into a framework, and potentially transform it from an idea to an actual completed and viable work.

OpenOffice.org no longer the FREE alternative to Microsoft Office

it’s finally happened.

months after Oracle’s acquisition of  Sun Microsystems — developers of the free Java platform, among other things — the formerly free alternative to Microsoft’s Office suite is now the cheap alternative to Microsoft’s Office suite.

does this mean what we formerly abbreviated as OOo will now be OOOo?anyone who knew about the acquisition wouldn’t be too surprised by this, however it’s still sad to see.   OpenOffice was brilliant in that it provided a viable alternative to the Microsoft monopoly on consumer and enterprise office software.  It’s native ability to export files to Adobe PDF documents was fast and light and years before the same features would be integrated into Office.

I can’t help but feel like now the party’s over.  OOo was struggling to keep up in recent years.  they never really caught on in the non-geek market and their interface was cursed by being anti-Apple — too many confusing features getting in the way of usability.  moreover, their claim to be able to work natively with Microsoft Office files was thwarted when Microsoft created a new proprietary document system — adding an x to all their files; docx, pptx, xlsx, etc.  i stopped watching OOo around that time, but last i knew it still didn’t have full (or any) capability of reading docx and other newer xml-based Microsoft files.  and a common complaint i heard from a variety of people trying to make the crossover from Microsoft to OpenOffice was that password-protected files and files using all sorts of deep features in Word and Excel that i never used didn’t work properly in OOo.

it’s hard not to see this as yet another story of the underdog getting steamrolled by big industry and, as such, OpenOffice’s grand entrance into the Oracle store feels blasphemous.  however, there’s something else that makes this seemingly innocuous email more foreboding…

with the purchase of Sun Microsystems, Oracle was able to acquire their biggest competitor in their own market — the open source database MySQL.  MySQL is what powers the database behind many popular software platforms out there including WordPress.  while Oracle has stated they have no intention of closing (i.e. making proprietary) the open source MySQL database platform, it still raises the question; if they’re charging now for a formerly free office suite, how long before they start charging for a formerly free database platform (like the Oracle database platform they already charge to use)?  if MySQL becomes proprietary software, particularly software you need to purchase a license to use, this could negatively affect innovation in other open source software that uses MySQL.  open alternatives to MySQL exist, but current software (like WordPress, which currently only works on MySQL) would have to be adapted to work with a different database platform, and it could strongly limit other features and improvements as developers try to back-port their products to work on a different database architecture.

MusicIP Mix handles huge mp3 libraries better than WinAmp [Abandonware]

let me get this out there: i love winamp.  i’ve been using it since its’ inception.  i used to listen to tag’s trance shoutcast station back in the day (tag is/was one of the winamp devs and was responsible for a lot of the visualizations that come bundled with winamp).  i’ve tried many, many other music apps, but i always come back to winamp because nothing else has anything on the extensibility possible through winamp plugins.  pretty much if you want it done, it can be done in winamp.  nothing else comes close.

recently i discovered winamp’s built-in playlist generator.  basically, the brains behind itunes’ genius playlist generator (which i also ♥) is gracenote, and winamp’s playlist generator also invokes gracenote to produce awesome, relevant playlists.  the handful of people who actually read and follow this blog will know that i’m a bit of a snob when it comes to playlists/mixes.  for instance, it drives me nuts when we’re in a store or on the few occasions i’m listening to the radio and they put, say, Nirvana next to something like Tori Amos or Bjork.  having been a dj at parties, there’s a certain flow that needs to happen in good mixes, where one track leads to the next and there aren’t abject disruptions that throw the whole thing off.  you can hear it in a good Oakenfold cd like Tranceport or Perfecto Presents Another World.  They don’t need to be the same genre, it just needs to flow.  as a dj, i learned this first-hand, and i learned how to adapt the playlist to the mood of the crowd.  when the floor started to empty, it was time to throw on a couple tracks that were sure to get people dancing.  in an 80s set, my ace was always “take on me” by a-ha.  in a goth set, it would be something like “closer” by nin, or “cities in dust” by siouxsie.

so i’m pretty discriminating in my random playlists.  when i want random, i don’t actually want random.   sometimes i do, but usually i want random within a defined set of variables for the particular mood i’m in.  for a while, i was pulling moods from the all music guide and tagging all of my mp3s with those moods so i could then do a search by mood and create a playlist that way, but the problem with that is a) it’s a lot of work tagging 30,000 files, b) not all of those artists have moods listed in allmusic, and c) you often get a disproportionate weight for artists you have more stuff by.  this is why pandora is great, because pandora’s engine works exactly like this.  you say “i want to listen to thom yorke” and pandora generates a playlist based on the musical qualities of thom yorke.  but when you have 30,000 mp3s, it seems like a waste to use pandora all the time (at least until they develop a plugin for winamp).

itunes genius solved this by crossreferencing the artists in your library with the gracenote database and generating randomized playlists based on the connections between the artists.  most of the time the results are pretty good, although it was always somewhat disconcerting to get donna summer in an amanda palmer mix (their relationship is, what, they’re both female?).  but itunes suffers from using a library file that doesn’t automatically update — when you get new music, you need to add it to the library manually (or buy it at the itunes store, i suppose), and this is obnoxious just to be able to use a playlist generator that actually works.  winamp can automatically update your library, and it uses the same gracenote database to power their playlist generator.  however, winamp playlist generator chokes on large music libraries.  it’s been much-discussed, and lamented, that the feature is broken when you have more than a couple thousand files (6,000 has been reported as the magic number) in your library and the workaround is time-consuming.  even when it is working, both genius and winamp often fail to recognize artists that should be included in a mix; for example, a garage blues/punk mix with the white stripesthe gossip, & the black keys fails to recognize the lesser-known heartless bastards which should nonetheless be included in the mix.  if you’re exclusively using a playlist generator like this to listen to your music, this essentially limits your entire collection to just the stuff gracenote knows about, which is obnoxious.

there is another way.  once upon a time there was a plugin that was built into winamp called MusicIP.  development on the plugin has ceased, the company that made it was purchased after creating a standalone app with the technology, and the new parent has moved on to better things.  in short, it has become what we occasionally call in the biz “abandonware.”  moreover, after searching the net for said plugin, i only found the standalone app.  my suspicion is that winamp moved to gracenote instead of supporting this independent developer and when that happened, they lost their main source of funding and had to sell the company.  it’s unfortunate because, after getting my hands on a copy of the plugin, it really is awesome and works well for being an alternative for people trying to use the nullsoft playlist generator and getting the dreaded “playlist generator failed to initialize” error message.

here’s how it works: you install the plugin via a normal .exe file.  now in winamp you have a MusicIP Mix menu in your media library, and the plugin configuration options appear under Media Library and Plugins → Media Library in your Preferences.  The first thing you need to do is register your library.  I started this and then came back to it the next day.  When I came back it told me that 33,077 tracks were mixable and only 21 were left to validate.  i have quite a lot of music done by myself and friends and their bands (much more than 21 tracks though!), so presumably the 21 unverified tracks are from those files, some lingering wav (or other unrecognized format) files, or audiobooks i have hanging around.  this theory that all of the music was mixable was tested and proven when one of my own compositions came up in an idm/dark electronic mix based on autechre.  the track of mine MusicIP selected fit with the rest of the mix.  this could be put down just to good tagging, but whenever winamp’s playlist generator pulled my stuff, it always stuck out like a sore thumb, like it thought i was some different artist in its database.

after your library is done validating, all you need to do (after tweaking the settings in preferences) is find a track you want to use as the base seed for the random playlist, right click → Send To → MusicIP Mix.  after a couple seconds’ processing it will flip over to the MusicIP Mix tab in your library and show you your playlist.  you can play it from here or add it to your playlist queue.  it’s more or less the same as the winamp playlist generator except that the winamp generator dumps the playlist directly into your playlist window, whereas MusicIP holds it in its’ own tab for you to do with as you please.  this is actually a good thing if you’re like me and start playing a mix and then adding new stuff to it over time — with winamp’s generator, you’d have to either add that new stuff manually, or generate a new list, or save your current list, make a new list and copy the tracks from the first list into the new one.

my second test was building a list based on thom yorke.  it pulled a lot of avant garde alternative singer/songwriter stuff like david bowienick cave and fiona apple.  at first i thought this was a bit off, after all, the eraser is much more of an idm album along the same lines of autechre, which was what i was going for.  but after i thought about it (and after it pulled a track from the bends) i realized that it was pulling tracks that were relevant not only to thom yorke but also to radiohead, so it was smart enough to know that thom yorke was a member of radiohead and was indexing artists similar to radiohead as well.  while desired results weren’t exactly what i expected, it didn’t actually throw off the mix, and showed that the engine is actually pretty intelligent if it’s able to make a leap from thom yorke to radiohead.

since development on the MusicIP standalone app has stopped, the original company was bought by someone else, and there’s no real funding (that i can see) going into it, and because it does connect to some online database to generate relationships, i imagine that eventually this plugin will stop working when it can’t connect to the central server.  in the meantime, i’m providing the download here for anyone who’s interested in using this awesome — if unsupported and lost — winamp plugin.

download MusicIP Mixer
downloaded [downloadcounter(musicip)] times