I’d Hoped You Were Finished: The 2014 Crap Chute Collection

It’s actually as big a surprise to me as it is to you, but here’s a new album of material for 2014 for you to enjoy. Crap Chute’s Box of Devils. 37 tracks, a little more than three hours.

Download from Bandcamp
Listen on Spotify

Also available from: iTunes, Amazon Music, Google Play

This album, like all my previous material is available through Bandcamp. For a limited introductory period this album is free, just enter “0″ in the box for the price when you checkout. Trust me, it works. Really. There are benefits to you paying something more than zero. Alternately, why not give your money to your local animal shelter or other artists.

You can get Crap Chute’s Box of Devils from stores like iTunes and Google Play, but if you want to download it your best option is through Bandcamp, as it’s cheaper/free and you get more choice in formats.

As a download from Bandcamp you get to download it in whatever stupid format you want for your FreeBSD 10.1 powered electric toothbrush or Linux Toenail Chip: Ogg Vorvis, FLAC, MP3, AAC, FBI, CIA, whatever, audio nerds.

Like my previous material, Crap Chute’s Box of Devils is licensed under Creative Commons Attribution-Share-Alike. I wrote a little piece on this once on what this means to you if you want to do things with my music besides listen (hint: almost anything).

Creative Commons License
Crap Chute’s Box of Devils by Steven Cogswell is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Crap Chute’s Box of Devils got featured on episode 38 of Night Attack at the 1h41m mark. Yes, I wrote the ad copy. Show notes for Night Attack 38: Clench-A-Butt.

My last album Crap Chute’s Pinched Loaf was previously featured on Night Attack episode 11.

Changing the Pickups in an Ibanez S420 Guitar

In late 2011 I bought a stock Ibanez S420 guitar, which I’ve used for most of my musical projects since then. While I like the guitar I’ve always felt that I wasn’t happy with the stock pickups, the Ibanez INF1 and INF2. I can’t even articulate what it was I didn’t like about them. Maybe they were too boomy? Maybe they lacked definition? I don’t know, but I’d managed to convince myself I didn’t like them.

Fast forward to 2014, in order to deflect my increasing frustration with music I decided I would actually change the stock pickups out for something new. This led to the first problem: what to exchange them with?

There are, I believe, a hundred million companies that make guitar pickups. Most of the pickups are marketed based on what I’d consider nebulous terms. “Vintage output”, “sterile edginess”, “smooth mids”, “Useless numeric value of parameter.” I don’t want to read about how pickups sound, I want to hear how pickups sound. Guitar manufacturers sell guitars on their websites pretty much through images alone, like that means anything to a buyer. At least some pickup manufacturers have little videos or samples, but not much in the way of comparisons. You can listen to a video of some well-known guitarist playing pickups on their custom guitar, but no comparison with other pickups in that same guitar, or even details about what huge rack of effects and settings they’re using with those pickups. I also don’t live in an area that features a “hear what stuff sounds like” store, so I can’t just go try pickups out.

I eventually settled on what I figured was a safe bet: a Dimarzio Liquifire and Crunch Lab set, which are marketed as a set from Dimarzio based around John Petrucci from Dream Theater. I like John Petrucci’s work, even though I don’t sound like him, and can’t play like him. I didn’t have any misguided belief that new pickups would make me able to play better – they won’t.

I also watched a few shitty youtube videos of people who changed their pickups to the Liquifire/Crunch Lab set but didn’t provide comparisons.

I bought the “F” spacing pickups, which are slightly wider spacing on the pole pieces. I don’t know if it actually would have made the difference. Here’s what Dimarzio has to say about F-Spacing:

“For proper string alignment and balanced output, F-spaced humbuckers should be used in the bridge position on all guitars with string spacing at the bridge of 2.1″ (53 mm) or greater. On these guitars, if the nut width is 1-11/16” (43 mm) or greater, F-spaced pickups can be used in the neck position as well.”

On my S420 I measured the string width at the nut to be 36 mm. The width at the bridge was be 53 mm. The width at the neck pickup was 49 mm, and the spacing of the poles on the INF1 neck pickup was 51 mm. That’s right on the limit so probably either would have worked. I got F-spacing pickups for both the Liquifire and the Crunch Lab.

Dimarzio in Package

I’m not scared of soldering and electronics work, and I’m cheap, so I did the work myself. What annoyed me about the process is actually how little information exists on how the guitar is wired. The Dimarzio information included with the pickups is fine, but they didn’t have a specific wiring setup for my S420. So I’m left to scour the bowels of the internet with google for strange forum posts from years ago where people have mysterious diagrams and hearsay about how the guitar is wired up.

Therein lies the whole reason I’m writing this post. I rewired the S420 for new Dimarzio pickups and everything actually worked, so I’ll try to document everything involved.

Although I specifically replaced my pickups with the Liquifire and Crunch Lab, all the Dimarzio pickups are wired the same way. Hopefully other pickup manufacturers document their wiring sufficiently to adapt the steps.

I can’t vouch for it other than the Dimarzio and Ibanez wiring, but this appears to show a whole lot of manufacturers and their pickup wiring. There’s a caveat I’ve annotated the picture with about the Ibanez pickups that I’ll get to later in this article.

Pickup Code Chart Annotated

(If you make a nice and useful chart, give yourself some credit on it, so I can give you credit. Alternately, don’t cut people’s credits out of their charts ya bastards)

The S420 is pretty simple: two humbucking pickups, five-way selector switch. The stock switch positions give:

  1. Neck pickup normal configuration
  2. Neck pickup parallel coil configuration
  3. Neck and Bridge pickup together (this is important later)
  4. One coil of the neck and one coil of the bridge pickup
  5. Bridge pickup normal configuration

I didn’t attempt to modify any of this, as overall I’m happy with the options. If you want to add more push-pull knobs for coil taps or change what the selector does, you go right ahead, but I didn’t do that.

Let’s start off with how the S420 wiring cavity cutout in the back of the guitar looks in the default configuration. Yes, this looks like a mess, and this is how it comes from the factory. Don’t let that worry you.

S420 Original Wiring

Here’s that same picture, annotated a little bit to show what we’re looking at.

Annotated Original Wiring px

You can see the wires with the white cable tie around them are from the pickups, and the row of contacts that are the bottom is the five-way selector switch. I didn’t change any of the potentiometers (“pots”) or the output jack so that wiring will all stay the same.

The pickups themselves are mounted in the pickup cavities routed out of the top of the guitar, and the wires snaked down through holes drilled into this wiring cavity. In order to take the pickups out you have to un-solder the wires here first. So don’t unscrew the pickups and start hauling on the wires before disconnecting them.

Here’s a wiring diagram I found somewhere on one of those deep dark forum posts and not on Ibanez’s own website (Ibanez: do better). I don’t even know if this is actually for the S420, as it doesn’t say “S420″ anywhere on it.

Ibanez S420 wiring diagram

After I sat and traced wiring myself I confirmed that, at least for the pickups, this diagram is correct for my S420. Here’s a diagram showing the relationship between the wiring diagram and that physical picture of the guitar cavity:

Ibanez S420 wiring diagram Stock INF1 INF2

Note that it shows the INF1 and INF2 pickups, which I replaced with the Liquifire (neck position, where the INF1 was) and the Crunch Lab (Bridge Position, where the INF2 was). See how the INF1 and INF2 are shown with the same red/black/white/blue wire scheme for the pickups? Humbucking pickups are two sets of coils, which you can wire in series (normal configuration), or do other tricks like coil-tapping (using only one set), or wiring them in parallel (which the S420 does in switch position 2). For the INF1 and INF2 one set of coils goes to the Red/Black pair, and one set goes to the White/Blue pair.

Here’s a spoiler that will save you some grief later. The INF1 and INF2 pickups are purposely wired with opposite polarity, probably to make the assembly and wire charts easier. This is documented nowhere, other than I found it out myself.

The Dimarzio pickups are all wired “the same way” with respect to polarity. The pairs are Red/Black and White/Green (not blue, don’t worry about that). The polarity on the Liquifire and Crunch Lab (and I assume all Dimarzio pickups) are the same.

This means that when you replace the INF2 (bridge) pickup with a Dimarzio, you have to reverse a set of the coils, or else the pickup will be “out of phase” with the neck pickup. You’ll get what happened to me: Neck pickup (position 1) sounds fine. Bridge pickup (position 5) sounds fine. Neck + Bridge (position 3) sounds thin and tinny, when it should sound full and complete like the pickups do by themselves.

Pickup polarity actually does not matter – except when you’re mixing signals from more than one pickup. It’s not “wrong” to wire up the Neck and Bridge out of phase, it’s just not how the INF1/INF2 are setup, and I think it sounds terrible. Position 4 (part of neck, part of bridge) has the out-of-phase sound already if you want that.

In my case, I soldered the wires all on, put it all back together and tried it to just to be very disappointed with the sound in positions 2,3, and 4. I recognized the out-of-phase sound and set about reversing the coils on the Crunch Lab to correct it. After the fact I measured the INF1 and INF2 to verify that yes, despite common wiring schemes they are inverse polarity.

I used the technique similar to this youtube video or documented in text here. Both those references are pretty good and explain what you need to do. I’ve already done the work for you though, and confirmed for myself that my INF1 and INF2 have opposite polarity.

Magnet Orientations for INF1 INF2

An actual hand-written note I made while documenting the pickup polarities:

Actual Handwritten Notes

So with that little fact in mind, here’s an updated S420 wiring diagram that shows the connections for the new Dimarzio pickups.

Ibanez S420 wiring diagram

To actually do the change, unsolder the wires from the existing pickups, and be aware that you’ll have to snake the wires back through the small hole in the body, so don’t leave a lot of jagged garbage on the ends. Be smart and take pictures or document your stuff like I did before you take it apart.

I’m such a lazy bastard I didn’t even take the strings off to remove the pickups. I just slacked them off enough to wiggle the pickups out. You can use this opportunity to change the strings, so just take the damned strings off.

Original Pickups in Cavity

Take INF2 (the bridge pickup) out first. The wiring for INF1 goes through the INF2 cavity, so you’ll save yourself a lot of needless tugging on the wire like I did trying to get it loose.

Remove INF2

Remove INF1

Snake Wire in Cavity

You have to remove the INF1/INF2 from their metal mounts and screw the new Dimarzio pickups into them, snake the wires back through the hole so they come out in the wiring cavity, and then screw the pickups back into place. That whole part is easy.

INF with height spring

Dimarzio with height spring

You might as well screw the pickups into the guitar body while you’re there, since you’re going to get this right on the first try and not have to take them out again. I put the Crunch Lab pickup with the bar towards the neck side (as pictured), as that seems to be the way Dimarzio says to use it, and it makes the wire snake on the side closest to the hole to make it easier to get into position.

Dimarzio Pickups in Guitar

From here really all you’re doing is following the wiring diagram and soldering wires back on where you took the other wires off: there’s no “new” wiring connections. The only twist is the reversing of the polarity of the Crunch Lab compared to the INF2. My wiring diagram above reflects this polarity reverse, so it’s “corrected.”

I’m not going to teach you how to solder, that’s up to you. I use a cheap Weller WLC100 (the red one) station with a big tip, set to heat around position 4. Why? No reason other than “at that setting it put enough heat out to melt the solder on the existing connections.”

Weller Soldering Station

I normally use a smaller tip for electronics work, but I found these huge masses of solder in the Ibanez cavity were not easily melted, so I switched to the big tip. I wouldn’t use one of those big awful-looking “gun” style units as those heat up really fast and would probably be pretty awkward in the small space.

Soldering Tips

Dimarzio Stripped Ends

Here’s the finished job with the Dimarzio wiring in place:

Dimarzio in Cavity

You can see that I had some trouble getting four stupid wires (one wire + shield from each pickup) to connect together and stay soldered to the common point on the potentiometer. I resolved that by soldering a nice lead (red wire) onto the pot, and then joining that to the four pickup wires. It looks terrible but it made the job easier without having to melt that blob of solder the size of Ganymede. Heat shrink is good on the wires to insulate, and more reliable than wrapping electrical tape.

The solder job you do here is the most important part, don’t do a half-ass job. The Dimarzio pickup wires are small and thin and a pain in the ass and the insulation melts far too easily, so you want to make sure you don’t have any stray strands of wire touching each other when you’re done. Also make sure the connections are secure and aren’t just going to pull off with a light amount of force.

Probably the best approach, if you’re not sure of yourself, is to solder the wires into place, keep the back of the cavity open, tighten up the strings and try out all the positions of the five-way switch to see that they all work and are phased properly. If you’ve got phase issues position 3 (two pickups together) will sound thin and tinny as the pickups work to cancel each other out rather than add their signals together. In my case after soldering the five-way selector became “noisy” when switching (humming, would buzz if you bumped the switch). This turned out to be loose strands from one of the pickup wires touching another contact on the five-way. Once I re-soldered those joints and cleaned them up it sounded fine with no bump-buzz noise.

Guitars are passive devices designed for amplifying noise. So once you’re happy with things, secure the wires so they won’t move around (cable ties are nice), and put that cavity cover back on securely with the screws. See the silver foil the cover has on the inside? That’s to cut noise down. Once it’s all back together plug in and make sure it’s not become noisy again. You should be able to tap and push on the cover and not have it start to buzz. If it does, you’ve got wires touching/too close and should take the cover off and try to secure them better.

After things are back together, you can go about setting the pickup height with the the little screw on either side of the metal mount (the one that had the spring on the inside). I won’t detail how to set “optimal” pickup height since I don’t know how, I just adjusted them until everything sounded even in volume between string one and six. You don’t need them really close to the strings, and having them too close will probably bend the strings and cause intonation problems. Pickup height is super easy to play with after you have the guitar back together though, so you can fuss with that to your heart’s content.

So after all that, the million dollar question (or $200, in my case). Does the S420 sound better with the new pickups? Recall at the start of this long drawn out article I lamented the lack of documentation on this, so I tried to provide that comparison. I recorded some garbage with the old pickups, then tried to record the same garbage using the new pickups. Bits are done in Logic X with a combination of Amplitube and NI Guitar Rig (for variety of sounds), and I use the same settings in Amplitube/NI Guitar Rig in both cases – I just opened the file in Logic and recorded over the old tracks after changing the pickups. Other than a temp drum track to keep my timing there are no other instruments used other than the S420.

If I remember right, the rhythm parts have the INF1 (neck) on the left channel, the INF2 (bridge) on the right channel.

In this the Liquifire (neck) is on the left channel, and the Crunch Lab (bridge) is on the right.

So do I think it sounds better? Probably. Maybe a little less boomy? Maybe it’s just all confirmation bias. At the very least I don’t like the stock pickups better, so I don’t have to put them back in.

Ass Seen on TV

From the shameless self-promotion file.

I got a nice mention on Episode 11 of Night Attack, which thankfully did not diminish the great show that Night Attack is.

You can watch talented rubes Brian Brushwood and Justin Robert Young all the time on Diamond Club TV. You can support them directly on patreon.

Although contrary to Mr. Booshwood’s kind words I do not actually bring ruck, you still can get the music discussed for free at http://stevencogswell.ca. Also I have lots of other garbage.

Show notes for Episode 11 of Night Attack.

Gnu Years

I haven’t made new gnu pneu New Year’s music for a couple of years, because I haven’t seen the point of retreading that ground, having already done the same thing twice. I did make a super awexome music video this year though.

Or you can just listen.

or not, whatever.

Creative Commons License

What Did You Think Was Going to Happen: 2013 in Review

Every year I waste my time and your time, by writing one of these long things giving details of how things went here in the past year. Having said that, this is the one for 2013.

Let’s start with the usual suspect, posts here that got the most views:

Title Views
A Minimal Arduino Library for Processing Serial Commands 8,904
Modify an Arduino for DebugWIRE 7,799
Hardware Debugging the Arduino using Eclipse and the AVR Dragon 7,704
A Too-Simple Arduino Library for Handling the Seeeduino Relay Shield (and Generic Relays) 2,832
(Yet Another) Sparkfun SerLCD library for Arduino 1,560
On Soundcloud 1,377
An Arduino Library for the ADT7310 SPI Temperature Sensor 921
The Arduino Duemilanove with ATMega328 and that Reset Line 888
Using the Sparkfun Speakjet Voicebox Shield with an Arduino in Passthrough mode 682

The “do my homework for me post” remains at the top for all time (23,476), with the arduino serial command library next (13,369) followed by the Eclipse/Dragon post (13,253). Overall views are up (SerialCommand: 8,904 in 2013 vs. 3,871 in 2012. Eclipse: 7,704 vs. 5,606. Debugwire: 7,799 vs. 8,015)

Most visits were from the USA (11,926), Germany (3,996), and the UK (2,365). Down at the bottom of the list a single view from someone in Guam and Kyrgyzstan.

Most poopular link remains this one of a capacitor location.

That simplistic SerialCommand library I wrote is the most poopular thing I have on Github. At least, I think it is, since github doesn’t publish stats. SerialCommand is the thing I get the most email about. Some people are very nice and have suggestions they want, and lots of people complain it “doesn’t work.” I did make some changes to it this year, and I still get people asking me to add things it already does. I figure nobody actually knows how to use Github properly. All I can say is “it works for me, it works for others, you’re holding it wrong.” If you don’t like it, fork it and make your own, that’s the whole reason I moved to Github.

So, music. Let’s talk about music.

After Soundcloud’s pivot to become a new tumblr, and my general dissatisfaction with it, I didn’t pay €250 to renew. Consequently I ended up having to delete the resulting free account, as it was jammed up with the dozens of hours of music I’d previously uploaded and free accounts can’t manage any music that goes past the free account limits. A few days later Soundcloud came out with “Soundcloud Pro” for €99/year, but weren’t interested in winning me back (read: “renew for €250 and we’ll do something something”). I haven’t seen anything in the last year that would make me want to go back to Soundcloud. Stats that are severely broken, same old skrillex-with-fire-engine remixes, spammers, and other useless stuff. If you’re using Soundcloud and like it, good for you. It just wasn’t for me.

Interestingly, the post I wrote about leaving Soundcloud is way more poopular than all the music I’ve ever made combined. Probably because it hits all the keywords for people looking to game soundcloud (tl;dr: log out and hit the play button a lot, trick people into loading your page, randomly comment “HUGE DROP” on everything you can find).

I would have stayed with Soundcloud, if the alternative of Bandcamp hadn’t come up. Bandcamp was cheaper ($120/year instead of either €250 or €99), I liked the players, and people couldn’t crap up your posts with comments. So I moved everything over to Bandcamp.

One of the features of Bandcamp is that they want you to upload audio in a lossless format, both for quality reasons and so they can generate any of the formats someone may want when they download it. That’s a good idea. My only problem was that although I had recorded all the previous years’ stuff in a mix of Garageband and Logic 8/9, I had only been generating MP3 files – because that’s what Soundcloud/Wordpress took at the time. So I had to go back and re-generate output from all the previous years stuff. In the course of doing that, I ended up re-mixing all the old material and trying to fix the problems with some tracks. Some tracks I expanded out and recorded new parts for, and some I had to do a lot of re-recording because the original was corrupted. Also in the process, on a personal front I was able to go back and delete all the originals from my computer so I didn’t have them cluttering up my library. Good riddance.

The “re-mixing” job took a few weeks, and are all available on bandcamp (2009, 2010, 2011, 2012). If you had an older one, maybe you’d want to see if it’s any better – it probably isn’t. Also 2010 got a new bonus track from an unfinished collaboration project, and 2012 got a few bonus tracks. The bonus tracks show up if you do the album download, they don’t appear in the regular track listings. Ooo, secrets.

In 2012′s roundup post I had only just started on bandcamp and so I didn’t have a lot of data to compare stats with Soundclound. Now we have an entire year of stats to work with, so let’s go over some of them.

Bandcamp tries to get a little finer grained with what “plays” mean than Soundcloud did. With Soundcloud, if someone hit play and then immediately stopped, that counted as a “play.” Soundcloud has also further complicated this since I left by making stuff automatically start playing when you hit the page, so just tricking people into going to your url will get you “plays”

Bandcamp classes things as “complete” (played 90% of a track), “partial” (played between 10% and 90%), and “skip” (played less than 10%). I think that’s a pretty good concept, as it shows how many people didn’t like listening to something and gave up.

So, for all time (which really is since Dec 2012) here are things sorted by complete plays:

Bandcamp Complete Plays 2013

222 total “complete” plays, with 301/311 partial/skips. Put differently, 37% of people who start playing a track stop almost immediately, and 26% actually get through it.

So as I expected Arduweeny is the most played track, by virtue of the fact that it’s embedded on the page of the most poopular post on this blawg. It’s short (sixteen seconds) so it’s pretty hard to get anything less than a “complete” play on it. People who want their homework done for them tend to arrive on that page and click every link. 138 total plays for 7,799 views – or about 1.7%.

Most poopular “legit” track is Xmas a the Chandrasekhar Limit, at six plays. Remember this is all tracks I uploaded for the year (same as all time), so that’s why Stolen by the Hermit from 2012 is #5 with four plays.

Here are things sorted by “skips” (i.e. the most skipped tracks)

Bandcamp Skip Plays 2013

Perchloric is the most skipped track partially because it was the default track that started playing when you clicked “play” on the album page for Pinched Loaf. Eleven of those skips are from the day of the album release, which was the day it got the most attention. Also nobody that day skipped to track #2 (no plays recorded), they just hit stop.

Also note the wild difference in the performance of Booze ‘n Snooze since moving over to Bandcamp. Back on Soundcloud it was the track with a strange poopularity that had no source nor rationale. Here the stats make sense. I suspect it gets the number of plays it does only because it’s linked on the big post I made about Soundcloud as an example.

Let’s look at downloads.

Downloads not sorting by Sales

That’s all downloads – free and paid (we’ll get to paid stuff momentarily), 78 in total for the year. Bandcamp tracks “visits” to pages which they call “Buzz”, and “Buzz” said I had 8,195 visits to the music pages for the year (same as all time). So that’s about 0.95% of the people who visit download something. By same token, 10.1% of visitors actually try to play something, and 2.7% of visitors actually finish listening to something – which says most “visits” are people not interested or here by accident.

The most-downloaded single track is The Next One is Fourteen with four downloads.

Here’s the new information that I can discuss this year: sales. Bandcamp lets me charge for stuff, but I usually either mark it “Free” or “Name Your Price” which actually also means free – but some people can’t figure out you can enter “0″ for a price. Someone said to me “why don’t you charge for your music?” to which I reply “You won’t listen for free, why do I think anyone would pay?” which pretty much bears out. Any person could download everything from here for free, so anyone who pays is a sucker is just feeling charitable.

Yes yes, I know. You want me to finally admit that I’m just raking in the cash from this music thing and ripping you all off. Yes, I will divulge all the sales info to appease your pitchforks.

Here’s downloads, sorted by sales:

Bandcamp Downloads

The most “paid for” thing is a tie between 2010′s Crap Chute’s Sluice Juice (2012 reissue), 2012′s Crap Chute’s Lagrange Point, and 2013′s Crap Chute’s Pinched Loaf, all with two purchases.

Total revenue from all sales: $157.88 from sixteen discrete sales. All the sixteen sales were to three individuals. I won’t name them, because they’re silly people who paid for stuff they could have for free, but I will say thanks very much. $157.88 is my “net from Bandcamp” figure, because Bandcamp does “revenue sharing”, meaning they keep 15% of the sale price. Also there’s a little bit in paypal fees lost.

I paid $120 for the Bandcamp service for the past year. You can use Bandcamp for free, but I like the extra benefits of having the paid account. Also, I’m a firm believer in paying for things you find useful, since I would hope that helps keep companies in business. Hence my net revenue from Bandcamp for the year is $37.88. Hey, it’s not zero.

I didn’t spend the $37.88 all in one place, but I did spend money on a few things this year. When it went on sale, I finally bought Komplete 8, for US$699. Then UPS dickbags charged me an extra $170 for the privilege of having them give it to me, because that’s the sort of dickbag move UPS always does to Canadians receiving packages from the USA.

As I had feared for a couple of years, Apple finally pulled the wraps off Logic X which I think I waited about ten whole minutes to buy for $225.99. Much cheaper than what I’d paid for Logic 8 and 9, which I think were on the order of about $500 each. I like the new Logic X, starting with The Next One is Fourteen everything has been done with Logic X.

Unfortunately, some of the things I’d paid for in the past don’t work with Logic X. Principally being IK Multimedia’s Miroslav Philharmonik, which I really liked but isn’t 64-bit compatible. Logic 9 was 32- or 64-bit, but Logic X is only 64-bit plugin compatible. IK have had since 2009 to get Miroslav up to 64-bit, and hey some day they still might. The current plan seems to be you’ll be able to load Miroslav’s soundsets into the someday-coming Sampletank 3, which I’d have to pay for. Any day now. I’ve been using the NI orchestra stuff that comes with Kontact 5 instead, and resisting wanting to buy things like EWQL. I didn’t do any movie scoring work this year, so that was probably a good idea not spend more money on orchestral instruments.

I sat and made a little list of obvious things I spent money on directly for the music stuff here (on top of Bandcamp charges), and came up with a figure of $1239.49. So with this we can do some Hollywood Accounting and show my net for the year after sales as a loss of $1201.61.

Let’s have some useless stats fun:

Category BC Net Revenue Only Bandcamp Costs Only Overall Net (Hollywood Style)
Per Track Released $1.05 ($3.33) ($33.38)
Per Download $0.49 ($1.54) ($15.41)
Per Complete Play $0.17 ($0.54) ($5.41)
Per All Plays $0.05 ($0.14) ($1.44)

I calculated last year that my “cost per play” on Soundcloud was $0.14 and $0.15 on Bandcamp (counting skips), compared with this year’s $0.14 on Bandcamp (counting skips). Complete plays went from $1.11 last year to $0.54 on Bandcamp. I’m sure that means something. Playing with numbers means nothing; I don’t earn enough to quit my day job.

This year, more as a personal success goal than anything else, I worked through Philip Kaplan‘s service Distrokid to put stuff onto the iTunes music store. It also goes to Amazon MP3, Google Play Music, and Spotify but being a dirty Canadian, those aren’t available to me, and the last two I can’t even check to see if music is available. I put one track ( Eighteen Lashes Should Do It ) as a test just to get it to work. That worked, so I put all of Crap Chute’s Pinched Loaf onto iTunes through it. I didn’t include any Distrokid data above in sales because there weren’t any sales on any platform. Distrokid only costs $19.99/year though. Mr. Pud, you’ve done a good thing.

For interest’s sake, as of this writing Pinched Loaf is available on iTunes, Amazon MP3, Google Play (I think, Canada is geoblocked), and Spotify (can’t check, Canada is geoblocked). It hasn’t shown up on iTunes yet It was late showing up on iTunes, because iTunes changes were postponed for the holiday period.

I likely will not put any previous years’ stuff on iTunes, because of the hassle and expense I’ll have to go through over tracks that are cover tunes. You’re much better off getting the music through Bandcamp anyway, as you can get it for free and in whatever format you want. In 2013 I didn’t do any cover tunes, specifically to not have to worry about paying thousands of bucks a track for clearance. Besides, Dennis Miller once said “You know why Led Zeppelin recorded that song? So you didn’t have to.”

Let’s talk about music production. As I mentioned in the Pinched Loaf release, this was the year of least output in both number of tracks and total minutes. Even less than 2009, in which I only put music out for the last half of the year.

Music Output

Year Number of Tracks Total Minutes
2013 36 227
2012 57 331
2011 50 287
2010 85 432
2009 46 258

The longest track from this year is Five and Time, which was 9m 13s. Shortest was Twenny One Gallon Hahs, at 4m 11s.

Counting over 2009-2013, the average track length is 5m 36s. Longest track ever is A Flash of Internal Organs (12m 08s), shortest is Arduweeny (16s), or L4 (Lagrange Point Bonus Track, 52s) if you want something “legit.”

My personal play stats from iTunes say I played The Inside the most. Of course, it was earlier in the year so I’ve had more time to listen to it. I like the way Eighteen Lashes Should Do it turned out.

I worked on updated themes for shows I’d previously done themes for, including [The] Little Pod of Horrors, and Starbase 66.

As it was pretty obvious, I was not well motivated for producing music this year, partially due to 2012′s dicks everywhere. I also got really tired of trying to come up with titles (“The Cops Said I Was A New Age Yak”). Then I spent the rest of the year drawing out that stupid joke of having sequential numbers in the titles, which then got too difficult to think of stupid jokes about. Maybe I’d have been better off with my original idea of just naming everything random hex code strings like 0xA72739BE. Also, although unplanned, no ukulele music this year, as the ukulele’s got packed up for transport and never unpacked.

I still put out more material this year than Jonathan Coulton, but he toured quite a bit more than I did.

Less is Less: The 2013 Crap Chute Collection

Wait, this was 2013?

So for the fourth fifth year – following the pattern, the end of the year rolls around and bundle up all the music from the past year and put it under one collection. This year’s fantastic album is Crap Chute’s Pinched Loaf. This collection features nothing not previously released in the year, no tracks have changed, and there aren’t any bonus items this year either.

Crap Chute's Pinched Loaf cover art by Ro Karen

You can listen to the whole thing right here:

Like previous years, the only good part of the whole mess is the wonderful cover art by Ro Karen.

The entire collection is available via Bandcamp. If you’re homeless and destitute and somehow are downloading music off the intarweb you can once again enter the secret code of $0.00 for the price and not pay a damned cent for it. Also, don’t complain to me about it. If you want to put your money to good use give something to your local animal shelter, or Ro Karen, or some new media disruptive kickstarter indie go go douchebags.

Bandcamp very nicely will provide you with just about any audio format you want, even if you’re still using that Diamond Rio and Microsoft Kin Phone Zune Whatever.

Following last year’s successful campaign by Dicks, Everywhere, output this year was not as prolific as year’s past. In fact, this year has the least number of tracks (36), and the least running time (three hours and forty-eight minutes, give or take). Even less than 2009, which was the year where I only put out material for half the year. It’s enough material to maybe get you through the morning, or the whole day if you like to go to the bathroom a lot or work for the government.

Still all covered by Creative Commons. I know, you still don’t know what that means. That’s okay.

Creative Commons License
Crap Chute’s Pinched Loaf by Steven Cogswell is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

I’m not going to bother to make the MD5 joke this year. Once again, the offer still stands that if you can somehow figure out how to ask nicely, and actually provide a mailing address, I’ll send you a disc with the material on it. Number of discs I sent out in 2013: zero (0).

If you’re completely crazy, you can also uselessly spend money and buy Buy Crap Chute’s Pinched Loaf from iTunes, or from Amazon’s MP3 store, or from Google Play. Not all these links work in all countries. In fact, they don’t even work for me in Canada, so I can’t even check them myself. Bandcamp should work for everyone, and is cheaper for you.

Updates So That Lame SerialCommand Library Supports SoftwareSerial

A frequent request has been that my SerialCommand library be usable with SoftwareSerial objects. I’ve never had a use for this myself, so I never tried to code anything for it. In order to test this I had to put a setup together where I could be reading/writing to a SoftwareSerial port and still have access to the hardware serial for debugging.

For this I used a CP2103 Breakout I bought a long time ago from Sparkfun and had sitting in a box. How old? It has a green-not-red circuit board, that should be an indicator.   To make it more complicated I used an entire second computer connected to that CP2103 using our old friend Hyperterminal so I could debug it.  I tested this on an UNO R3 and Arduno IDE 1.0.5.

This version is now on github.    I have not tested it extensively, except to modify the included demo program to see that it works correctly with the SoftwareSerial line.

If you have trouble, be sure your SoftwareSerial ports are actually working the way you intend.  The library includes a tiny test program that spits stuff out your SoftwareSerial port and your hardware serial port, so you can identify which one is which.

As a note, if you used this library before, you now have to include SoftwareSerial.h in your project, even if you’re not using it.  Don’t blame me, blame the way the Arduino IDE compiler wants to preprocess things.  You could also keep using the old version of the library, as there were no functional changes other than the SoftwareSerial support.  Other than the include I don’t think it should have any effect on existing code.

Dualling Serials

Logic X and the Missing Edit Button on EXS24 Instruments

Like a lot of people, I bought Logic X, and have been digging my way through it. One thing I ran into was that my EXS24 sample instruments were missing the “edit” button, which you use to edit the zones and velocities associated with the samples.

No Edit option

Googling around didn’t help, the usual things that people who don’t know the actual answer tell you what to do are “repair the permissions” and “check the disk” (which I did do), usually moving on to “reinstall everything” (which I wasn’t going to do).

Turns out with Logic X, especially if you have a fresh installation on a machine you didn’t have Logic 9 on before, there are some options under “Advanced” for enabling things for advanced users. Logic X (and previous Logics) are pretty complicated pieces of software, and hiding options seems counter-productive to me – but hey, I don’t write Logic I just use it.

Anyway, easy solution: Go into the Logic X Preferences, and under “Advanced” you can turn on the “Audio” selector, that will enable editing EXS24 instruments again.

audio must be enabled


Edit now available

Maybe while you’re there, you’d like to check the rest of them too. That’s up to you.

Useless Updates to Useless Software

Not that it matters much, but if you’re a user of some of my Arduino libraries, there are updated versions of a couple of them now on Github.

Library for the ADT7310 16-bit temperature sensor (original posting)

SerLCD Library for the Sparkfun Serial LCD Module (original posting)

and, since it’s a requirement on the internet to have a picture of an arduino in an article about them:



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”


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.