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. There are benefits to you paying more than nothing for an album. 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 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?

Continue reading

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

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

Presto.

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:

ADT7310

SerLCD

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.