Bad Data Will Ruin Your Good Service

Mapping and GIS information is one of the classic “big data” problems. An awful lot of work goes into the formatting and display of mapping information in Google maps/Google earth/Apple maps etc. Satellite and aerial Photography calibrated against position information, layouts of roads and streets, boundaries, etc. It’s a big problem, it’s always been a big problem, and it’s a good example of how reliance on that data can ruin an otherwise good service.

I live in a decidedly rural area, and for many years Google’s maps products had my road labelled with the wrong name. That was annoying, but wasn’t a big deal because not much depended on that information being correct. It actually did get fixed just a few months before Apple released their new replacement for Maps on iOS which uses Apple’s data instead of Google’s data.

In September 2012, Apple replaced the Google-data driven maps with it’s own Apple-data driven maps application. Mapping is a big problem, and I don’t think Apple treated it lightly. They acquired companies and brought in data from different sources to start from scratch to try to catch up to the level of detail Google has in their datasets.

Problem: my road which had just been fixed in the Google datasets, was now wrong in Apple datasets. It was really wrong, too. In the Google sets the road was named wrong, but the house numbers were more or less correct. In the new Apple datasets, the road I live on disappeared. The road overlay itself does show on the map, but now has no name and doesn’t correspond to any civic address, just a rural area name and a postal code which covers a broad area. They actually have the first hundred meters of the road labelled correctly on the map, which then mysteriously ends (even though the real and overlayed roads continue). Consequently all the civic address numbers for the entire road are bunched up in this little 100 meter-or-so stretch. So not only does the dataset not know where I live, it thinks my address is in a place about six kilometers away.

This, naturally, would play havok with navigation directions. Thankfully, I already know where I live and don’t need GPS to find my way back home. If I have to tell anyone else navigating to my place, I have to say “If you’re using Apple’s maps it will lead you to a place about six kilometers away, just keep going down the road

This is where things start going bad. Several services in iOS are now based around this “geofencing” concept. Applications and system operations get triggers based on proximity to a fixed geographic reference. The easiest example of this is the iOS “Reminders” application, where you can put in a reminder to do an alert when you enter/leave a geofenced area. i.e. – “Remind me when I get home to take out the garbage”

reminder

This geofencing idea is fantastic, since I never remember to actually look at the reminders app, and doing reminders based on times can be inconvenient. “Remember to take out the garbage at 7pm” “Oh wait, it’s 7pm and I’m still at work, guess no garbage removal then”

Geofencing completely falls apart when the system can’t determine what “home” is. “When I get home” sounds pretty simple, but if the map data returns that “home” is a place six kilometers from the actual home, geofencing will never be set off. You’ll never get a reminder to take out the garbage, and soon you will be wallowing in filth.

Lots of applications use the Apple map data as a backend for their geofencing, and they will all break because of the bad data. Garbage in, Garbage out as they say, or in my case – Garbage never taken out.

Here’s where things get silly: location services in iOS uses real GPS (and A-GPS, depending on your point of view). GPS returns coordinate data for position as latitude/longitude: you know those crazy numbers like “48.945462, -69.676252” which give a position here on planet Earf. At some point in this chain iOS converts latitude/longitude GPS coordinates from the GPS device into civic address map data. The problem is that despite the fact that location services’ position derived from GPS coordinates, you cannot use GPS coordinates to specify a location in the iOS address book (which is about the only way to specify places for use by other applications).

This would be the easy solution to poor civic address data. Just be able to enter the latitude/longitude GPS data into the address book of a location, and let location services do the rest. After all, GPS data is the source of all this information. Dummy up a new field in the iOS address book, call it something like “geo” and enter the GPS coordinates, you would be able to just use that data as a location. “Remind me when I get to geo to take out the garbage.”

Sorry, it doesn’t work like that. You can enter that information into address book, but iOS will tack the country onto the end of it (“Canada” in my case), ignore the latitude/longitude and try to pick some position that indicates the country, like this.

welcome to canada

Which makes it even more useless than being six kilometers away, now it’s about a thousand kilometers away. Even better: Apple’s Maps actually understand the coordinates, because if you go into the field at the top of the app and backspace over “Canada” and re-submit it, it works correctly. You can’t remove the Canada from address book, though, and address book is where all the queries for “home”, “work”, “geo”, “dog pound” go through.

When iOS 6 initially was released, and it had this bad map data, I was disappointed. After all, it had been wrong for years in Googles map dataset, and only just got fixed. What the new Apple-derived maps application had that the old Google one did not, however, was a way to fix it. Right in the application, “Report a Problem.”

report a problem 1 report a problem 2

I used this to report the problem. In fact, I’ve used it many times. It’s going on eight months since the release of iOS6 and the data has never been fixed. I’ve also tried using the “send feedback to Apple” section on their website to no avail. There’s actually no guarantee that this will ever get fixed, not in iOS7, or anything later because it’s not iOS that’s the problem: it’s the data it’s sourcing.

I don’t even know where this bad data comes from. According to the maps app, data comes from (but I’m sure isn’t limited to) Tomtom, Acxiom, AND, CoreLogic Inc, DigitalGlobe, DMTI, Factual, Getchee, INCREMENT P CORP, Intermap, LeadDog, Localeze, MapData Services Pty Ltd, MDA Information Systems Inc., Urban Mapping, Waze, Yelp, CanVec, CIGAR, Flickr, GeoNames, GlobCover, NASA, OSDM, OSM, StatCan, Tiger/Line, and VMAP0. Someone in that group has my road entered wrong, and there’s no way to find out who, or get them to fix it. My only interface into this is the Apple “Report a Problem.”

The point of all this is that because of this Bad Data, all these services that hinge on the geolocation data are rendered useless. I can’t take advantage of them, it’s as if they do not exist. Apple and other companies invest lots of money in time developing good software and hardware, and it’s rendered completely useless by a few bad entries in a database table somewhere, which is the real shame.

What can you do about this? The easiest solution really is, “just fix problems when they’re reported.” But that takes manpower, and as I wrote earlier, who knows even where this data is wrong. For all I know Apple gets ten thousand “problems” submitted every day which are kids who think it’s funny to ask that the street they live on be renamed “BUTT.”

There are solutions like the OpenStreetMap project (and similarly, Waze) which uses “crowdsourced” information. That’s great as long as you’ve got a crowd to source. When Openstreetmap was younger than it is now it had zero information at all about the area I live in. No streets, no roads, no names, no nothing. I invested a decent amount of my time to use my GPS logger to map out roads and enter the information and names for my region into their database, only to have another member of “the crowd” come along and delete it all. Openstreetmap is a little better populated these days, but it doesn’t mean anything with respect to the Apple maps problem since Openstreetmap’s data is not reflected in Apple’s data.

While writing this piece I went to Openstreetmap and checked. They do have the road name correct, but the civic house numbers are about one kilometer off. I’d consider editing it to fix it, but why bother if someone else will just revert it?

This is the problem of Bad Data, and isn’t just Apple’s problem, it’s just that Apple’s map problem is the best illustration I can give with personal experience.

On Soundcloud

If you’ve been a visitor to this place over the years, you’ll have noticed a progression in how the music I make is posted. Originally I used the wordpress.com built-in audio player. I was unhappy with that, so I transitioned over to using Soundcloud. Then I moved from that into using both Soundcloud and Bandcamp. Now I’ve removed all the Soundcloud content from here and moved everything over to Bandcamp. In this egotastic article I’ll discuss some of the choices behind all this.

In the beginning, there was the wordpress.com audio player (this thing):

The wordpress player is a perfectly serviceable thing. It plays audio. The problem I had is that’s all it does. If you show up here, and play one of those, I can’t tell. I’m a relentless statistics and data nerd, and I’d like to know if anyone actually listens to anything. It also doesn’t feature any native download link, which means I have to put a second link in for people to download my music. That’s fine, it’s not like another line of html is going to kill me. I’ve had a lot of problems of readers who actually can’t figure out how to use the audio player. Other than my hate mail, I hear so little from people that I figure if I get a few people complaining they can’t play the music there are probably a lot more who can’t figure out how to email me. Again, it seems pretty obvious to me how play buttons and download links work – but I realize that not everyone knows that facebook is not the internet.

For a long time, the wordpress audio player was the only thing I could embed on wordpress.com that could play music right on the page. I could store music elsewhere and link to it, but given the problems of people who can’t figure out ‘play’ buttons I didn’t think that wasn’t going to work well. This lame-ass blawg is hosted on wordpress.com (not a wordpress.org installation, there’s a difference) and so my options are limited to whatever the wordpress.com admins bless. In return I theoretically get a wordpress site I don’t have to micromanage and isn’t hacked every twenty minutes.

At one point wordpress started providing native support for soundcloud. Meaning I could upload stuff to soundcloud, embed a widget on the page that people could play music directly from, provide download links, and provided statistics too. Soundcloud has tiers of service ranging from “free” to “holy shit that’s a lot of money”, and I’m not really afraid of paying money for service so I signed up in September 2011 and started loading music that way.

This is the soundcloud player, if you haven’t seen it before:

The New Set Layout

The New Set Layout

In this period I was still including everything: download link on the blawg, wordpress audio player, and the soundcloud player. Again, it’s only html but it means I have to upload stuff to two places, which takes a little while on my poor-ass Bell Aliant 1Mbit DSL connection.

The intial problem I had with soundcloud wasn’t with soundcloud, it was with me: too much material. The default “free” level of soundcloud offers two hours of storage. That’s a lot of storage for no money. The fact that soundcloud offers a free tier at all is a gamble on their part. In my case it pays off for them, as I make between four and eight hours of new material a year. My total output since 2009 is about seventeen hours, so I blow right on through the free tier and the bottom two tiers of paid levels of soundcloud (2 hours, 12 hours). I started out with the 12-hour tier (€79/year) but I filled that up and was left with the choices of “only have some stuff on soundcloud”, “do some janky shit with mulitple accounts” and “pay even more money”. Despite how things seem to turn out, I actually want to do less work managing stuff, so I did pony up and move the “fuck that’s a lot of money” tier (€250/year, about CAD$300).

After a while of using soundcloud I stopped using the wordpress audio player, which meant I didn’t have to upload tracks to both wordpress and soundcloud, didn’t have to put as much html (ooo the hardship), and hopefully presented fewer confusing options to the people who get confused easily. With the €250 soundcloud gives “full stats” which satisfied the data nerd.

So here’s where things start to get complicated. I’m not rich, and €250 is a lot of money, especially for a hobby I’ve sunk untold thousands of dollars into for really not much return. Thank fuck I actually do the music for myself and not for anyone else, or I’d have given up years ago. I can justify costs in my head if I think I’m getting some benefit for my money.

At first glance, and for a long time, I didn’t have any issue with the soundcloud statistics – even if they were weird in some aspects. My most poopular track? Booze n’ Snooze, and not by a little – by a wide margin. I have never figured out why it’s the most poopular. I realize that it only has 300 plays total (or 160 plays, depending on how you read things, but I’ll get to that), and your Skrillex-Fire-Engine remix has 100,000 and wub-machine-people-fucking has 315,000, but I’m talking about my shit here not yours.

With soundcloud, the “fuck that’s a lot of money” tier gives me (supposedly) “all” the stats. Meaning I get lists of people (who have soundcloud accounts) who listen, the geographic regions of listeners, and the source of the play (widgets on websites, etc). That’s how I realized Booze ‘n Snooze was inexplicably poopular in Poland. What’s up, Polish types, why do you listen to that?

Here’s where things start to fall apart. Soundcloud’s stats say that for “all time” (since September 2011) Booze ‘n Snooze has “160 (of 299 total) plays”. So which is it, 160 or 299? What’s the difference? No idea.
booze n snooze plays

So from where were all these people discovering and playing Booze ‘n Snooze? According to the soundcloud sources stats: Six plays total. Four from this lame-ass blawg itself, one (and only one) from some other website, and one from exfm. So my only conclusion I get is that the rest of the 154 (or 293) plays came from people playing it directly on the Soundcloud website. There’s no more detail available than that. I can’t glean any insight into why that one is more poopular than the rest. The plays don’t carry over into adjacent tracks so I infer they’re not on any of my profile pages looking at stuff, which implies they’re finding it via search. I have another (older, unrelated) track called “Booze” which has a total of ten plays, so I conclude it isn’t people searching for Booze. Why would you search for booze, anyway?

I’m using Booze ‘n Snooze as the example only because it has the most plays, but this pattern carries through for the rest of my tracks. My total plays for all-tracks all-time (since September 2011) is either 3594, 3612, or 3452 depending on which stats page I look at. According to the sources information 140 plays come actually from this lame-ass blawg, 209 from exfm, 135 from the souncloud iOS apps, 3 from tumblr, and 3 from soundcloud’s android app. That totals about 490 plays from known sources, so the rest (almost 3000) must be “on soundcloud’s website”. Let’s start with the obvious fact: nobody is listening to the music on this lame-ass blawg, and I’ve always known that from the wordpress.com’s stats. Everyone visits this lame-ass blawg looking for me to do their homework for them, not to listen to crappy music.

The Soundcloud stats have always been puzzling like this, and I just figured the soundcloud reporting isn’t fine-grained enough. Then a few months ago I realized something pretty obvious that I should have noticed from the start. What on Soundcloud counts as a “play”? How much of the track do you have to get through for it to count? When I first joined soundcloud my own plays counted towards the total, but thankfully they fixed that, at least making one more step for people trying to game soundcloud. I did some tests as a not-logged-into-soundcloud user and I found that if you press the “play” button, let it play less than five seconds and press stop, that counts as a play.

Well, shit.

So of 3612/3594/3452 plays, how many are “real” plays? How many people click play by accident? How many are the people who can’t figure out the internet and click on everything and immediately stop? How many start playing, hate it, and stop? I can’t tell. I’m going to bet “a large number” though.

Here’s an example how the stats don’t really provide insight. For a brief period of about a week, inexplicably “Hey Man Do You Know Anything Else” surged in poopularity (I use “surged” in the context of the comically few plays my stuff gets, it’s not shit beef level). It got 112 plays over the span of about a week, in a constant and consistent rate during the day. The stats give me a long list of soundcloud users, most of which played it one time, from all around the stupid planet with no trend in country and most importantly – no sources listed at all on the source tab. So I can gain zero insight into why people were playing it. Was it on a website? Was it on tumblr? Probably not, according to the tumblr stat of 3. If no source is listed I have to conclude they’re using the soundcloud website. If it was directly on soundcloud’s website how were people getting to it? Mailed around as a link? Posted a joke on forum? Just as inexplicably as it started it ended, and it hasn’t had a play since. Given context I can’t even tell who listened to the whole thing. For all I know of the 112 plays 111 clicked “play” and immediately clicked “stop”. I’d almost say “spam” except there didn’t seem to be any point why someone would.

Hey man do you know stats

Since I said that “s” word, in another tangent, let’s talk about soundcloud spam. Since it started, and especially with the new redesign of soundcloud, in which soundcloud wants to be the new tumblr of audio, spam is a pretty easy thing to do. Make an account, don’t make any music yourself, “repost” other people’s stuff (what’s the point of that feature, anyway?), comment on tracks with random statements like “HUGE DROP!” and usually a spam link to join your spam facebook group. Interestingly I got rid of a lot of that just by not tagging my stuff as “electronic” anymore. That, and I don’t join groups promoted by spammers and delete spam comments so they probably realize it’s not worth the bother. The culture of soundcloud really is based around the Skrillex-fire-engine-remix/wub machine people fucking/novelty shit beef crowd and everyone calling everyone else a producer. That’s fine, I just delete the spam comments and other people can do what they want.

So back to stats. I figure a better metric is “downloads” since you have to do work to download a track from soundcloud (find the small download button), so fewer downloads are probably accidental. All time downloads for all tracks is about 248, Booze ‘n Snooze being 16 downloads. In both cases the download rate is around 5-7% of the number of plays. I can’t see any reason you’d download a track if you didn’t actually listen to it/like it. So I’m inferring from this that most of the 3612/3594/3452 plays are people who do it by mistake, or don’t like it and give up.

So where the fuck am I going with all this? If I was still in a free/cheap soundcloud tier, I probably wouldn’t care as much. My soundcloud bill is due on the day I’m writing this, and if I don’t cough up €250 my stuff falls back to a free-tier account, I lose the stats, and only the last two hours of stuff remains. If I was relying on soundcloud as the embedded player on this lame-ass blawg I’d be up shit creek, as those would all disappear. In context though, nobody listens here anyway so I probably wouldn’t notice. (In fact, since I removed all the soundcloud stuff from this place I haven’t noticed any change in soundcloud play traffic anyway, which agrees with the low number of on-wordpress blawg plays from the stats).

How much do I want to pay for nobody to listen? That’s what it really comes down to. €250/$300 is a lot of money to support 248 downloads. I really only have one consistent listener, so for $300 I could send them a CD every time I make a new track, save money, and get just as much exposure.

Let me back up here a little bit. I want to make a point that I’m not really on a “I hate soundcloud” path here, because I don’t hate soundcloud. I think it’s great, I think it provides a great service to people who actually want to make music and have people listen to it. If I was a doofus who made five tracks a year and loved dubstep soundcloud would figuratively be the best thing since sliced bread. My personal situation makes soundcloud a pricy service. If I had a huge audience who were big soundcloud users maybe I’d care more. I don’t think that I have no listeners because of soundcloud, I think I have no listeners despite soundcloud.

At the €250/$300 level I get lots of other things that I’m not interested in. Stuff like Dropbox support (don’t care), pro support (I only ever had one problem, and that was a minor issue when they did the new redesign, which they happily responded to and did get fixed), groups (I don’t even know what the groups are for), and spotlight tab (which they got rid of with the redesign, then had to bring back. I don’t think anyone sees it anyway).

Also if I didn’t have an alternative, I’d definitely be sticking with soundcloud. In Dec 2012 I started putting stuff on Bandcamp, which overall is cheaper ($120/year), has no storage limit (at least none they’ve tried to impose on me, and I have everything I’ve made there now), and is geared towards people who want to download stuff, as they will generate a variety of mp3/aac/alac/flac/boogityboogity formats. My stats on bandcamp are terrible compared to soundcloud – if you believe the 3500+ plays are real plays. If you believe the true value is much much lower, then the bandcamp stats are probably right in line.

So in case of my limited finances and not enjoying having to duplicate things, I’m going to let soundcloud expire, save my €250, keep my bandcamp account, and see where that takes me.

I know this entire thing was not interesting to you. That’s why it went into “administrivia.”

Pigs in a Slanket: The Next Generation

In the natural progression of moving my music onto bandcamp, it has activated that gene that makes me have to go back and tinker with all the old tracks. 2009 was the first year back after not recording any music for twelve years. I started out the year in Garageband, moved to Logic 8, then back to Garageband, then moved to Logic 9, then back to Garageband. I’ve previously attempted to spackle over past sins of recording. After much stress and gnashing of teeth my circle of failure is complete and you are now presented with the 2013 remaster set for 2009’s “Crap Chute’s Blast from the Ass.”

Much like the Crap Chute’s Sluice Juice Spatial Edition 2012 Rage Fury Wifebeater, I did a lot of work trying to fix some of the more egregious problems with the material. All the tracks feature new mixes. Some of them have new instrumentation, some of them have newly-recorded parts to replace corrupted files, some have strange new additional parts. The material is still the material though, you can’t change that.

All in all, about four and a half hours of music. As usual, you can still download the whole thing for free from bandcamp. Also available is the material from 2010, 2011, and 2012. Total is about 22 hours of terrible, terrible music.

It’s also still covered by creative commons. You never figured out what that meant in 2009, and you still haven’t figured it out. Don’t worry about it.

Creative Commons License
Crap Chute’s Blast from the Ass 2013 Edition by Steven Cogswell is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

When I say “free” I mean “free.” I’m not sure why people have a problem understanding that “free” means “$0.00” but it means you don’t have to pay. You don’t have to pay to download it. You don’t have to give me your email address. That’s because it’s free.

Korg USB MIDI Driver Disables the Alesis Control Pad

This is another single-serving post that explains resolution to a problem I had, that I could not find an answer to on the internet. So perhaps you’ve found this searching for the same problem I had. This is how I fixed it.

I have an Alesis Control Pad. A couple of years ago I bought a KORG nanoKONTROL unit, which I actually never used for anything. I have a recurring problem with Logic Pro becoming unresponsive to keyboard input (the one with the letters on it, not a musical keyboard) when you have plugin windows (Kontact, Amplitube) open. Makes it hard to stop playing if it won’t listen. I hooked up my nano kontrol to see if the transport buttons on it would work even if Logic isn’t listening to your typing.

nanokontrol2

Sure enough it does. It doesn’t fix it, but at least it lets me break out Logic without crashing it. I thought that would resolve the issue, but then my stupid Alesis Control Pad wasn’t working anymore. I could hit the pads and see the little red led on the Alesis flicker showing it was registering input, but logic doesn’t show any midi input. Using the approach of “last thing I did must have screwed things up” I went after the nano kontrol, which turns out to be the culprit.

It’s not the nano kontrol itself, it’s the “KORG USB-MIDI Driver” (v 1.2.0 r2) the instructions told me I had to install to have it work. If the korg usb midi driver is installed, the Control Pad doesn’t work anymore. Of course, finding instructions on how to remove the the korg usb-midi driver was impossible, hence why I’ve written this post for you. There may be more to this, but this works for me:

On your mac, open up the /Library folder. Go to library Easiest way is from the Finder go to “Go” and “Connect to Folder” (shift-command-G). Enter “/Library” in the dialog box. Navigate down into /Library/Audio/MIDI Drivers/. Find the file called KorgUSBMIDIDriver.plugin (there may be others, depending on what you have installed, you just want this one korg one removed). Select the file and delete it (command-delete). You will need to enter your administrative password. There is also another korg midi driver in /System/Library/Extensions/advKorgUSBMIDIDriver.plugin you could also remove. Empty the trash and reboot.

Here’s a very, very dangerous script that will remove both libraries. Be careful using it.

echo "Removing KorgUSBMIDIDriver.plugin"
sudo rm -r "/Library/Audio/MIDI Drivers/KorgUSBMIDIDriver.plugin"
echo "Removing advKorgUSBMIDIDriver.plugin"
sudo rm -r "/System/Library/Extensions/advKorgUSBMIDIDriver.plugin"

midi drivers
korg midi get info

After reboot if you start the OSX standard “Audio MIDI Setup” application you should see your Alesis Control Pad again.

audio midi setup

The stupid part is, for me, Logic still works fine with the nano kontrol even with the usb driver removed. After restarting Logic shows it’s connected and the transport controls still work for me. works in logic I can’t use the “KORG KONTROL Editor” because it seems to just crash on OSX 10.8.2. Every time. So I’m not worried about editing the scenes, I just want the damned “stop” button to work when Logic won’t listen to typing.

editor crashes

A little update: A clean reinstall of OSX 10.8.2 (with restore of user files but not applications) does not fix the kontrol editor problem. If I boot with extensions disabled (holding shift at startup) Kontrol Editor works. If I make a new user and boot normally into the other user Kontrol Editor works. So it’s obviously something in my user profile that’s causing it to crash.

Another update and resolution: Going from the fact that a safe boot let Kontrol Editor work again, I decided to pursue what exactly safe boot disables. Thankfully Apple has an article on exactly this. I started going down the list: I didn’t have any user-directory extensions. I didn’t have anything in the various Startupitems. However:

It disables all fonts other than those in /System/Library/Fonts (Mac OS X v10.4 or later).

Now this was interesting. If you look at the crash message from Korg Kontrol Editor the top line is juce::ATSFontHelper::getPathAndKerning and a few other ATS functions, which are all to do with Fonts and the OSX Type System. I looked in ~/Library/Fonts (the fonts directory under the user directory, not the system /Library/Fonts and well shit, look at this:

OS9 Fonts

2001 dates? Shit those are old. Oh wait a second, those aren’t even modern fonts. Those are OS9 Fonts (font suitcases). Those fonts have literally been travelling around with my setup for more than a decade. From OS7, OS8.x, OS9.x, OSX. The various upgrades of OSX over the years have been just happily bringing those along for the ride. They’re in the user directory, so they got saved/restored from the time machine backup even though I didn’t bring applications back.

Sure enough, I just removed all the fonts from that directory (who the hell wants Wingdings anyway?). Technically I didn’t delete them, I just moved them to a new directory somewhere not in ~/Library/Fonts. Now Korg Kontrol Editor works again. So something about juce::ATSFontHelper::getPathAndKerning doesn’t like one or more of those fonts. Maybe a font is corrupted? Maybe juce:: just doesn’t like OS9-style font suitcases? Didn’t matter. It works now. The Alesis control pad still doesn’t work with the Korg USB MIDI drivers installed, but who cares.

Korg Kontrol Editor

2012: The Year in Dicks

I did one of these things for 2011 and 2010, so why the hell not do one for 2012.

This year I moved music stuff around to a couple of places, so that caused music traffic here – already pretty close to zero – to collapse into a singularity. Here’s the most traffic I got here this year:

Post Title Views
Modify an Arduino for DebugWIRE 8,015
Hardware Debugging the Arduino using Eclipse and the AVR Dragon 5,606
A Minimal Arduino Library for Processing Serial Commands 3,871
(Yet Another) Sparkfun SerLCD library for Arduino 1,902
So, now you want to move to OSX Mountain Lion. 1,097
The Arduino Duemilanove with ATMega328 and that Reset Line 1,087
A Too-Simple Arduino Library for Handling the Seeeduino Relay Shield (and Generic Relays) 986
Using the Sparkfun Speakjet Voicebox Shield with an Arduino in Passthrough mode 719
An Arduino-Based MIDI Wah Controller for Logic Pro 690
An Arduino Library for the ADT7310 SPI Temperature Sensor 679

Only the Eclipse post is from 2012. The OSX one doesn’t count since it’s a blatant re-edit of a previous one.

It’s not surprising the “do my homework for me” post remains my all-time most poopular thing. 15,757 of 51,935 total views for that one post. Pop off that capacitor and be done with it. Arduino electronics remains poopular, with my new post on how to put all the existing tools together making a strong showing.

You have go down to The Halting Problem (Feb 12) to find a music post in the chart (33 views), which I suspect people are looking for details on the the real halting problem. Behind Why iBooks Sucks from 2010. “Real World Haskell” is still $41.99 on iBooks, $22.79 in Kindle, and $41.16 in paper. Still don’t know why you’d want a Haskell book.

Search terms are as always, people looking for “arduino jtag” (you can’t do jtag on an arduino, end of story), people for some reason looking for “iphone 3g schematic” (why?), people trying to find a pirated OSX [Mountain] Lion (pay $20 you cheap bastards) and run it on their G5 (you can’t), and people looking for my old boss (I don’t know where he is, if you see him he still owes me money).

Most views came from the USA (28%), Germany (10%), the UK (6%), and one guy from Ethiopia (0.0035%). Hope that guy has a soldering iron to remove that capacitor.

The top link on this blawg is once again this annotated picture of a capacitor to remove. The most popular download is my arduino library for processing serial commands. My serial library got appropriated by someone and posted on Github, and that’s fine with me. I get a few complaints that the library “doesn’t work” (it works for me, and that’s who I wrote it for), and they can never give me test code to show how it doesn’t work – so I just point them at the github one and say “eh, try this one then.”

This year I gave up on hosting music on wordpress. Primarily because despite all my efforts people would still complain they couldn’t figure it out. How do these people get through the day? Also the wordpress.com audio player frequently gives “file not found” errors when trying to play, and no stats on plays.

I started off moving over to Soundcloud, which has worked out not so bad. The biggest issue is that soundcloud really isn’t made for my circumstances. I have a lot of material (22 hours of released stuff), and that pushes me up into the expensive-as-fuck tier for Soundcloud. Eventually I gave up and did start paying for the expensive-as-fuck tier (€250/yr which is about CAD$350, one step down from the holy-shit-that’s-a-lot tier, €500/yr), so I could push all of 2009-2012 into it. I didn’t put the pre-2009 stuff there, as that’s really a waste of money. With that tier I get lots of features that I have zero interest in like dropbox support (who cares), groups (what?), and pro support (I’ve filed one ticket in history, and that was with the awful redesign). Also soundcloud is really based around “I downloaded this Skrillex thing and put the sound of a fire engine behind it I’m a DJ” culture. A lot of “remixes”, unoriginal material and people commenting “HUGE DROPPP!” Most commenters on soundcloud seem to be the “wow this track is great huge drop join my facebook group” spammers. This is the stuff people on soundcloud actually want to listen to: 1,675,134 plays, 312,057 plays, and 18,206 plays.

Okay, having said that let’s talk about some soundcloud stats for 2012. According to the stats I had 2376 total plays and 190 downloads.

Title Plays Year
Booze ‘n Snooze 236 2011
Euclidean Space 85 2010
Double Oh Zero 81 2010
Oh Noes Teh Economies 58 2012
THEY SUCK 55 2010
The Ox Heart Does Not 41 2012
Ving Commando 40 2010
DRINK DRINK 40 2012
Lament for a Cyborg 39 2010
Destination Waxbase 36 2010

Top downloads were Booze ‘n Snooze (16), Double Oh Zero (7), and DRINK DRINK (6). Most plays come from the USA (43%), Canada (12%), the UK (7%), and Japan (6%). For some reason Booze ‘n Snooze is really poopular in Poland. In fact, I have no clue why some pieces are as poopular as they are. Why are people so interested in Booze ‘n Snooze? I have another (unrelated) piece called Booze which gets no traffic, so it’s not keyword searching.

Now, the problem is that soundcloud’s stats overall are a lot of bunk. The stats themselves are confusing as fuck, number of plays don’t correlate with what gets played, and despite being in the expensive-as-fuck tier with the extra stats they don’t really make any sense. Near as I can figure some people use “exfm” and someone shared it on facebook once. The biggest issue I have is what soundcloud counts as a “play.” If you load up soundcloud, find a track, bang on the play button and immediately stop it (< 5 seconds), it counts as a play. (This is your “how to game soundcloud” tip for the year). I figure probably 95% of my “plays” are people who clicked on the play button by accident. Given that most people here on the blawg can’t figure out how to use the wordpress audio player I wouldn’t be surprised. The downloads are probably more realistic because you have to find that tiny download button to actually start it.

Late in 2012 soundcloud went through a redesign, which in a rare departure for this blawg I commented on. Seems to me soundcloud wants to be the new tumblr, with people having the repost ability without having to create anything themselves. I didn’t hear that Skrillex-with-the-fire-engine piece enough already, thanks.

Soundcloud doesn’t have “album” downloads (soundcloud doesn’t even have albums, it has ‘sets’), so I still had to have a place to keep the year-collection stuff. I started out hosting stuff over on mobileme, which went away. Google Drive started up and started out okay, but then the interface for archive zip files changed. Previously I could put a public link and people would click it and it would download – easy. With the change, clicking on the link brought up an inside-the-zip archive view with a download button off to the menu on the side, which nobody could figure out (c.f. unable to figure out how to push buttons called “play”), and then a warning that my archive full of music might actually be full of viruses that they don’t scan for. Way to scare people off. Dropbox also works, but dropbox has a nebulous policy regarding cutting off downloads of poopular public links. Not that I even really ran into that (no actual downloads of the music from dropbox, but lots of arduino library code), but it was a factor. I could have bought “real” web storage with S3 or some other hosting, but if I was going to do that I’d probably end up moving the entire blawg to someplace else and that was way too much effort. I tried out Squarespace and the much-touted blawg import from wordpress was terrible. I didn’t want to go in and edit 250 previous posts to remove all the errors from the import, and besides I couldn’t host the archive files on squarespace anyway (max 20MB file size, despite what people who advertise for squarespace tell you). Use the coupon code “expensiveasfuck” to get 0% off.

The “collection” downloads were: four for the 2011 collection, and zero for 2010’s and 2009’s. I did get one request for the free dvd, which I’ve always offered, but that was from Boz. Boz is a nice guy but he has better internet than I have postal service.

So between soundcloud’s stats fubar and nutbar sets redesign, I started looking for alternatives to this. I ended up starting to use Bandcamp. Bandcamp is cheaper ($120/year instead of $350/year for soundcloud), lets me do complete album downloads (I don’t have to do secondary web hosting), and have players I can post into the wordpress.com blawg posts. I shouldn’t have any problem running into the free download limit, since my number of downloads is actually pretty low. Bandcamp takes a cut of the sales, but I haven’t been charging anything previously so who cares. I put the “name your price, $0.00 accepted” for the albums, just in case some sucker wants to pay for it – but otherwise you can download it for free, and I don’t collect email addresses or other information in order to get it for free. I was once told “you should sell your music” and my response has always been “you won’t listen to it for free, why do you think anyone would pay?” If I wanted a real shit-tonne of plays probably the best thing to do would be to charge a shitload for it and then just put it all on the pirate bay myself. People will always download something for free if they think they’re stickin’ it to the man.

The difficulty starting out with Bandcamp is that Bandcamp accepts only lossless format. That’s not a problem, but all my previous material (made with Garageband, then Logic Pro starting late 2009) I had generated as MP3 format. I didn’t want to be one of those douches that just converts the MP3 to lossless and uploads that, so I had to go and regenerate all the previous material. 2011’s stuff was really just a case of loading up the projects and re-bouncing to lossless, but I was unhappy enough with the 2010 material that I went back and “re-mastered” a lot of the stuff. Some I added new parts into, most I fixed some parts that aggravated me, and all of them I ended up changing the mix. That took a few weeks. As of this writing I haven’t started on the 2009 material yet, as that’s going to be an even bigger job. I sold my 4-track years ago, so I’ll likely never do anything with the pre-2009 stuff, thank fuck. In summary: bandcamp cheaper, solves hosting problem.

The uploading to Bandcamp is hampered by the fact that I have wonderful 1Mbps DSL service from my ISP, which likes to cut off mysteriously during big uploads even though they swear they don’t throttle me. The lossless thing means it’s about 45 minutes to upload one piece, assuming it doesn’t fail. That just means more patience on my part.

I signed up with Bandcamp at the start of December, so it’s only been a month at this point. I’ve still been pushing stuff into Soundcloud as well as Bandcamp in order to see if there’s a preference. I put a poll on this blawg, but since nobody actually listens to music on this blawg I got exactly two responses: one for bandcamp and one for soundcloud. So in typical fashion I do something to save money and end up paying even more, c.f. – everything in my life.

I do like the bandcamp stats. Bandcamp resolves the issue of “what counts as a play” by breaking plays into “skips” (listened to less than 10%), “partials” (10%-90%), and “complete” (listened to more than 90%).

Here’s the all-time (which is actually just a month) of stats from Bandcamp:
bandcamp plays

More useless math: 56% of the people hitting play give up (skips), 29% get somewhere, and 14% actaully were able to finish. Bandcamp reports how many “visits” my stuff gets. For december-is-all-time, that was 489 (408 coming directly from somewhere else – things like links on twitter and facebook, two people searching for “chiptune”, and 4 from the discover-new-releases). So for 489 visits I got 9 plays (1.8%) and 15 downloads. I figure that’s the same ratio of results I get over on soundcloud, just that soundcloud counts everything as a play. The same period (Dec 2012) on soundcloud I had 301 plays / 25 downloads. Discovery of music by random people on seems more prominent on Soundcloud than Bandcamp, but I suspect that’s because Bandcamp doesn’t have as many Skrillex-fire-engine remixes.

In dollars I pay per play I received (a totally useless stat, since I don’t “pay for plays”, this is just how many plays I’m getting in relation to how much I pay for the service), I pay about $0.14/play on soundcloud, and about $1.11/play on bandcamp ($0.15 if you count partials). Of course my only fan Scott Redman and his compatriot The Admiral actually paid for an album they could download for free (wat), so bandcamp actually has like infinity dollars ratio.

Speaking of services with no plays, I might as well bring up Radio Reddit. “Member for 2 years 20 weeks”, almost no listeners, nobody will submit material, and they rejected AWXMASFY, so of 2012’s material I only uploaded DRINK DRINK (18 plays), On the Uncertainly of Tesselation (29 plays), Orbital Insertion (30 plays), and Pressure Treat (15 plays). Of course with how few listeners Radio Reddit has I’m sure the actual number of “ears” is much less than the number of plays – most of my plays have “0 listeners.” One piece got actually submitted to reddit, which was by my only fan Scott Redman and got immediately “downvoted into oblivion.” I actually like the Radio Reddit idea, just that 99% of the material (like everything) is crap. Of course, I barely listen to music myself anymore, I’m not into Skrillex or fire engines, so I’m not a good judge. The top song of all time on Radio Reddit is a bit sucking up to Keanu Reeves for cheap upvotes.

So that’s the math out of the way. Musically, I managed to go the whole year without doing any covers (except my own material). I did a poll that was pretty inconclusive (two votes for “DRINK DRINK”, one each for Mephistopheles, Overland and Brohamulus). What do you people smoke? My own stats say I listened to “Pressure Treat” and “Orbital Insertion” the most. I was pretty happy with how “Xmas at the End of the World” turned out.

I only did one theme for someone else this year, Pod of Horrors, which I think may have put out an episode in 2012. I purposely didn’t do any reverse-covers of my own themes-I-made-for-others this year, which I like to think kept the number of claims of me ripping off other people (which happen to be myself) to a minimum. Even with that, 2012 was the year that confirmed that there really are dicks, dicks everywhere, a contributing reason to why I didn’t make more material this year.

Apple continued to push out updates but thankfully no paid upgrades for Logic Pro. I did everything with Logic, as I have since 2010. I’m pretty happy with Logic, but I’m sure when they eventually come out with Logic X or whatever’s next I’ll be first in line to buy it. This year I spent my money on some new software instruments and effects instead. Native Instruments and IK Multimedia occasionally have sales and I’m very thankful that they do, as that shit is expensive, yo. I resisted buying EWQL because that was really, really expensive. Logic’s built-in stuff is pretty nice, but spending the extra bucks for dedicated sample sets with lots of articulation was worth it. You don’t get any bonus points for figuring out which tracks have new instruments, but I think it’s pretty obvious. I think “Xmas at the End of the World” is much better orchestrated using the Miroslav Philharmonik stuff.

I bought a new guitar (Ibanez S420) in late December 2011, bidding a fond farewell to the Dean of Science, who went back to his native land, thanks Scott. I have no stats for it but my perception is I did more guitar pieces this year. Some of the guitar work is done with NI’s Guitar Rig (free version), but IK’s Amplitube (definitely not free version) is the one that went on sale first so it’s the one I bought. In retrospect, I probably should have bought Guitar Rig as well when it was on sale. Both of those suffer from the embarrassment of riches issue: lots and lots and lots (and lots) of options to try and go through. By the time I get knowledgeable about the settings, they’ll probably have a new version out.

I’m still using the same computer from 2008, and the Presonus Firestudio Mobile audio interface, which I still really like and I have had zero problems with it. For some effects control I’ve been using my custom arduino interface which I actually figured out how to control Amplitube inside Logic with. At one point, probably in 2011, I bought a bunch of those little Korg nano controllers (nanokey, nanopad, nanocontrol), but I’ve not been very ambitious to try and work them into my midi setup.

I did get a new ukulele, a tenor to go with my soprano. It’s only on one track though (“Hey Man Do You Know Anything Else?” which actually features both of them). Cheap ukulele’s are cheap and are still better than my ability to play them.

I put out more material this year (5.5 hours) than Jonathan Coulton did, but I don’t tour. I have no agenda planned for 2013.

I also didn’t break any major bones this year, that’s three years in a row now.

They Were Everywhere: The 2012 Crap Chute Collection

Once again, the year comes to a close, and I bundle up all the crap music I’ve put out over the past year and put it out as a single collection for my ego for you.

I went the whole year this time around without an actual title for the collection, which was a pain in the ass when I was assembling tracks together through the year. For this reason I’ve got a title for 2013, assuming I actually make anything in 2013.

So without further ado, it is Crap Chute’s Lagrange Point.

CRAP CHUTE'S LAGRANGE POINT WAT.

Creative Commons License YES IT’S FREE.

Once again, the best part is the cover art by talented artist Ro Karen. This year’s download contains Bonus Art.

This year I have outsourced the entire download operation to Bandcamp. Rather than have to depend on some skanky download from me.com (me.com shut down), google drive (makes it hard to download an archive), or dropbox (downloads disappear for no reason), this time around I ponied up the money for bandcamp – all for you.

This means I have to remove the entire paragraph from the description of this event: the one where I tell the ogg netbsd-toaster people to piss off. Bandcamp lets you have the download in any stupid format you could possibly want. All this years tracks are “mastered” (snicker) from a lossless source (as opposed to MP3 like previous years), so you can get the maximum sound fidelity or some other equally useless statement about audio quality. Get your own green marker.

Since I don’t control the download this time, I can’t give you the MD5 this year. So I’ll give you this MD5 instead 1ec739c9559e84cf08d9da78e393d0fc. Bonus, here’s an SHA1: f43b4c1714568dbc01079b2a36d061e8ccf12b1a. You never did figure out what those were supposed to do.

This year the collection clocks in at about 5.5 hours, which is more than last year, but still not as much as 2010. Enough to get you through a short day at work taking numerous breaks or a nice stay in the waiting room at the hospital. The download includes zomg five bonus tracks including two which haven’t been released otherwise.

Like all my previous years’ stuff, the music is under Creative Commons Licence. Yes yes, you don’t care. You’re so l33t because you found it on the internet. Creative Commons isn’t public domain, but it’s as good as you’re going to get – especially since you’re getting it for free. Everyone stand back, here comes that CC logo that seems to offend so many: avert your eyes.

Creative Commons License
Crap Chute’s Lagrange Point by Steven Cogswell is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Yes, you can download Lagrange Point for free. Yes, you can enter 0.00 in the box and download it for free. Yes if you download it you can put it on your iPhone or your hipster brown zune. No, if you put it on your iPhone or hipster brown zune you still don’t have to pay anything. No, you don’t have to give your email address or your credit card number or your praypal account. No, I’m not using this to haxx0r your facebook account (paraphrased complaint). I know you’re flat broke, so rather than have me delete your livejournal you should give your money to Ro Karen, or your local animal shelter, or some other hipster doofus. There are better ways to spend your money.

My standing offer still holds: if you can figure out the arduous task of emailing me your address, I will haxx0r your friendface account send you a disc with the music on it for no charge, while supplies last. Number of discs I sent out in 2011: one (1).

Let’s Party Like 2010 Never Happened

I see you, sitting there. You said you hated 2010’s Crap Chute’s Sluice Juice and you wished you could hate it even more.

Well now you can, I have spent a tireless couple of weeks attempting to remaster rebastard 2010’s Crap Chute’s Sluice Juice and now it’s available for free on Bandcamp. That way you can all get it in your precious ogg flac morbo format or whatever it is I won’t do for you.

All the tracks are updated, some have new parts, some have their egregious problems fixed, some probably have new egregious problems. The best part is that unlike the original 2010 edition, it has fewer tracks on it, which must be a good thing.

Creative Commons License

You Really Can’t Be Serious

Soundcloud recently unveiled it’s redesign (December 2012).

You can’t seriously think that this view of sets:

The New Set Layout

The New Set Layout

is in any way better than the previous view of sets:

The Old Set Layout

The Old Set Layout

(If not obvious, the new layout crams all the tracks together into one waveform with no distinction between them except a vertical line. No track names and the only time length displayed is for the entire set)

The new layout completely negates the reason I organise into sets: so people can find pieces by the collection they’re part of. I currently have 223 original tracks over 23 pages on Soundcloud, ain’t nobody want to scroll through 23 pages.

I don’t care, they’re not going to fix this because in their mind it’s not broken. Soundcloud want to be the new tumblr, the new fertile land of reposts and unoriginality.

A Digital Micrograph Script to Change the Length of Scalebars of All Open Images

This digital micrograph script will change all the open image windows to be of the same displayed numerical scalebar length (e.g. 20 micrometers). If the images are of different magnifications then the scalebar sizes will be different, but numerically the same. Calibrations are not changed, scalebars are still correct. I wrote this script to serve a single purpose, and perhaps you will find it useful. If you don’t like it, that’s cool, you’re free to write your own. I kinda posted it here because I didn’t have many options.

If you’re into DM Scripting, then you might be interested in The DigitalMicrograph™ script database at The Austrian Centre for Electron Microscopy and Nanoanalysis, or Dave Mitchell’s DigitalMicrograph™ Scripting Website, which are great resources.

You can also get this script from Github.

// A script to set all the open images to the same displayed scalebar length. 
// Doesn't change calibration of images, so if images have different magnifications the bars will be different (but correct) lengths
// Scalebar position doesn't change, but will change length.  
//
// Note DM quantizes scalebar display to specific values (0.5 nm, 1 nm, 2 nm, 5 nm, 10 nm, 20 nm, etc), regardless of what you enter.
// Also, choice of a larger fontsize may make the scalebar snap to the next highest display value.  Decrease your fontsize in that case.  
// 
// Steven Cogswell, P.Eng.
// October 2012
//
// Thanks to Pavel Potapov and D.R.G. Mitchell (Scale_bar_control.s) for information how to handle scalebars and annotations in DM script

Image curr
ImageDocument imgdoc
number NumAnn, AnnID,AnnType,Fontsize
number TextID, left,right,bottom,top, retval, numwindows, i
number scalex,scaley, nmscale, barwidth
string imagename

// User chance to abort entire operation
retval = ContinueCancelDialog("This script tries to give all open images the same displayed scalebar value")
if (retval == 0) {            // 0 if user cancelled, 1 if okay
	result("Cancelled.\n") 
	exit(0)
}

// Get desired scalebar length
nmscale=20
retval = GetNumber("Desired Scalebar Length", 20, nmscale)
if (retval == 0) {            // 0 if user cancelled, 1 if okay
	result("Cancelled.\n") 
	exit(0)
}
result("User entered scale "+nmscale+"\n")
nmscale=nmscale+0.01  // Rounding makes the scale a little short, this just bumps it up. 

// Get desired font size
Fontsize=20
retval = GetNumber("Desired Font Size", 20, Fontsize)
if (retval == 0) {   // 0 if user cancelled, 1 if okay
	result("Cancelled.\n")
	exit(0)
}
result("User entered font size "+Fontsize+"\n");  

// Processing
numwindows = CountDocumentWindowsOfType(5)
  // Get number of images open
result("Processing "+numwindows+" images\n")

// Loop over all open windows 
for (i=0; i<;numwindows; i++) {

	imgdoc=GetImageDocument(i)
	curr:=imgdoc.ImageDocumentGetImage(0)     // The current image being processed
	imagename = curr.GetName()    // Display name of image 

	GetScale(curr,scalex,scaley)
	result("Image "+imagename+" X scale: "+scalex+" Y scale:"+scaley+"\n")
	barwidth=nmscale/scalex     // number of pixels a bar of nmscale would actually be

	//loop through annotation index
	NumAnn = CountAnnotations(Curr)     // Get number of annotations in current image
	for (number j=0; j<NumAnn; j++)
	{
		AnnId = GetNthannotationId(curr, j)
		annType=AnnotationType(curr,AnnID)

		if(annType==31)    // type 31 seems to be the scalebars
		{
	  		result("scale bar found: ")
	  		GetAnnotationRect(Curr, AnnId, top, left, bottom, right)
			result("scalebar box: L:"+left+",R:"+right+",B:"+bottom+",T:"+top+"\n")
	  		SetAnnotationRect(Curr, AnnId, top,left, bottom, left+barwidth)     // Same position, lengthen bar to length of nmscale
	  		SetAnnotationSize(Curr, AnnId, FontSize)   // Set the font size
		}
	}
}

result("All Images Done.\n")

So, now you want to move to OSX Mountain Lion.

I’m not kidding, I’m word-for-word copying this old post because little nothing has changed, and you feel a need to read this.

Want to move to OSX Mountain Lion? Concerned? Be Safe:

  1. Make sure you have a Time Machine backup. If you don’t have a time machine backup, you’re a fool.
  2. Make sure your machine can actually run OSX Mountain Lion, “iMac (Mid 2007 or newer), MacBook (Late 2008 Aluminum, or Early 2009 or newer), MacBook Pro (Mid/Late 2007 or newer), MacBook Air (Late 2008 or newer), Mac mini (Early 2009 or newer), Mac Pro (Early 2008 or newer), Xserve (Early 2009).” No, your G5 will still not run OSX Mountain Lion
  3. Use SuperDuper or CarbonCopyCloner to make a clone of your existing system out to another hard drive. Buy an external drive, or buy a drive dock and buy bare drives to plug into it. Docks are great for Time Machine backups too. Do not whine that hard drives are expensive. How much is your time worth to you?
  4. Buy and download the OSX Mountain Lion Installer. Don’t pirate it, for fuck’s sake. It’s only $30 $20. Save a copy of the Installer somewhere safe, make an installable DVD or USB Key while you can.
  5. If you’re using Filevault 1, turn it off (and you should be using Filevault, if you’re using a portable machine). It’ll make transitioning easier, and you’ll want to enable the “whole disk filevault” after Mountain Lion is installed. If you’re using Filevault 2 (the Filevault introduced in Lion 10.7), you can leave it enabled – OSX Mountain Lion can install to an existing whole-disk-encrypted volume without any problems.
  6. Install OSX Mountain Lion to the SuperDuper’d Drive and not your internal drive. Don’t do anything to your internal drive.
  7. (alternately: install OSX Mountain Lion to the internal drive, and disconnect your SuperDuper’d drive for safety. This is more work to get back to normal though for when your OSX Mountain Lion goes wrong.)
  8. Boot from the drive you put OSX Mountain Lion on (the SuperDuper’d drive)
  9. Find out exactly how many Rosetta apps you didn’t know you have. Start looking for replacements, since Rosetta is dead. PowerPC has been dead for years. Move with the times. I’m also looking at you, stupid developers still shipping PowerPC code
  10. Use it like this for a few days. Try out everything you normally use to find out it doesn’t work anymore. Keep track. Nicely ask developers to get OSX Mountain Lion versions out.
  11. If it doesn’t work out, don’t worry. Just boot from your untouched Snow Leopard Lion drive, carry on as if nothing happened. If you fuck things up, use your Time Machine backup to save your ass.

Did that all turn out nicely? Fine. Your choice at this point:

  • Install OSX Mountain Lion to your regular drive
  • SuperDuper your external clone drive with OSX Mountain Lion back to your internal drive. Disconnect external drive and keep it safe.

Make sure to keep your Time Machine backup for when you need to roll back.

Never work without a net.