Archive for the ‘Techincal’ Category

iDessicate update

04 Aug

I’ve updated the iDesiccate program.

Thanks to Chris for bringing some bugs to my attention.  I’ve fixed a situation where the program gets stuck on file and the Cancel button didn’t work.

Also thanks to Dan for providing some .m4A files to play with.  I haven’t implemented any cleaning of those file types yet.  Perhaps this winter when I have more time.  Up here summer is so short, I try to make the most of it by being outside.

iDesiccate should update itself.  It checks for a newer version when you open it, but doesn’t update until the next time you open it.  So you’ll have to open it, wait about 5 seconds, close it, then open again.  In the latest version it will only check for updates once a month.

iDesiccate can be downloaded and installed from here.

[5+ years later]

The source code can be downloaded here.  As far as I am concerned, it’s public domain. It is written in C# for Microsoft Visual Studio 2005.


Record company required data

10 Jun

I was buying an MP3 album from Amazon the other evening, when I spotted a link to this statement:

The record company that supplies this song or album requires all companies that sell its downloadable music to include identifiers with the downloads.  Embedded in the metadata of each purchased MP3 from this record company are a random number Amazon assigns to your order, the Amazon store name, the purchase date and time, codes that identify the album and song (the UPC and ISRC), Amazon’s digital signature, and an identifier that can be used to determine whether the audio has been modified.  In addition, Amazon inserts the first part of the email address associated with your account, so that you know these files are unique to you.

So after downloading the songs, I looked at the files with a binary viewer.  At the beginning of the music file in a private portion of the ID3 tag is a small XML file with all of my purchase information:

<?xml version="1.0" encoding="UTF-8"?>
<uits:UITS xmlns:uits="" xmlns:xsi="">
<ProductID type="UPC" completed="true">00731451469626\</ProductID>
<AssetID type="ISRC">GBAAN9300103\</AssetID>
<TID version="1">we/TZ6xKpBy5iS2Iarj3Qg9D3o2peqx5\</TID>
<UID version="1">info\</UID>
<Media algorithm="SHA256">e22c0ed224ca5cea4c4c205e8a2248197118093265042fa3de9f7c161396a93a\</Media>
<signature algorithm="DSA2048" canonicalization="none" keyID="9b3a598acfcfea37b486aba46bdfb50c92b8f7fe">

To the untrained eye it looks unintelligible. The Time section contains the date and time of my purchase; the TID is the transaction number of the sale, which in Amazon’s database has my credit card info, address, etc.; the UID is the first part of the e-mail address I used (“info”).  There is other uniquely identifiable in there, too.

Since this information is required by the record cartel, it’s main purpose is to identify people who publicly share files.  Should any of my files escape into the wild, I would be identified and arrested or sued by the cartel, even if I wasn’t intentionally sharing the files.

What if I lost my MP3 player or it was stolen? What if my laptop was stolen?  All of those music files would end up in someone else’s collection and possibly shared and I’d get blamed for it.  I can think of a lot of scenarios where having MY information unwillingly embedded in MY files for the sake of making it easier to prosecute file sharers is not a good idea.

I looked around for an utility that would strip this particular info and couldn’t find one.  So I decided to write my own.   And I decided to make it remove iTunes stuff, too, since I don’t use it.

It’s called “iDesiccate”.  It runs on Windows and can be downloaded here if you would like to use it.

The program will clean your files in batch mode.  You start by selecting the folder of the files you want checked.  It will search any sub-folders.

A few notes on the options.  If you want to remove Amazon info, check the PRIV and COMM boxes.  If you want to remove iTunes info, check COMM and UFID.  Checking COMM will remove all comments from your tags.   Right now it only works on mp3 files. I don’t have any Apple files (m4A?) to try it on.

I’ve run over 2000 files through it as a test and there weren’t any problems.  But I can’t guarantee that if you have a corrupted file that iDesiccate won’t corrupt it further.  So back up your files first and run small batches through it.  Let me know if you encounter a problem.

I’ve provided an option where you can run through your files first without making any changes.  This will give you a preview of what it will do to the files.

iDesiccate will remember your settings next time you use it.

I hope this solftware tool is helpful.  Writing it made me feel somewhat re-empowered.

[5+ years later]

The source code can be downloaded here. As far as I am concerned, it’s public domain. It is written in C# for Microsoft Visual Studio 2005.


I have the radio blues

02 Jan

When I was a kid, I broadcasted music into my youngest brother’s room. A little later, I broadcasted to the neighborhood kids who were within about 100 feet of where I lived. When I got out of high school, I applied for a job at a radio station (didn’t get it). Later I became a DJ that played for parties and for evening cruises on a boat. Now I want to start a small radio station here in town. It’s apparent to me it’s been a life-long ambition.

A couple of weeks ago Congress passed the Local Community Radio Act of 2010. The original intent of the bill was to reverse the changes that Congress did with the Radio Broadcast Preservation Act of 2000 (which of course sounds very charitable, like a good thing, but really just preserves Big Radio).

To recap this tale, the FCC started a new radio service in the late 1990’s called Low-Power FM (LPFM). These types of stations have a broadcast range of about 5 miles. In 2000, the big radio corporations convinced our Congress that these tiny stations were causing undue interference with them. Congress reacted by drastically reducing the number of stations that could fit on the radio dial. This effectively prevented any new LPFM stations. The interference claims were later found to be false. For the past 6 years, there have been bills introduced in Congress to reverse the preservation act, and finally an amended version has passed.

The amended version is only a slight improvement to the preservation act that existed before. Yet everyone is patting themselves on the back for a job well done.

Today, I was ready to get the ball rolling. The odds of actually getting a license are slim, but I decided that it’s worth a try. I wrote a letter to the local newspaper, inviting those interested in starting a radio station to contact me. After I wrote the letter I read the text of the final bill that passed. Now I think I’ll wait before sending it until I can do some more research into the technical caveats of the bill.

LPFM licenses are only granted to community non-profit groups. So the first thing that has to happen is a non-profit corporation has to be formed. Then some engineering work has to be done to figure out the location of the transmitter, choose the frequency and power levels. Then an application is submitted to the FCC, where it’s either accepted or rejected. All of that can be done without much monetary investment.

But my big concern with this bill is what happens next. We get our license and our organization goes out and raises money for studios and transmitting equipment. We begin transmitting. And with a single day’s notice, we can be shut down by the FCC for a bogus interference claim filed by one of the Big Radio stations. What’s worse is that the bill provides for “informal” complaints, which sounds to me like unsubstantiated claims of interference. Now look at all of the time and money wasted.

This is the final bill that passed both the House and the Senate: HR 6533 (the third link down).

I had read an earlier version a couple of weeks ago, and was troubled by much of the language in the bill. The final bill is even worse, particularly sections 3 and 7. Congress isn’t qualified to be setting technical/engineering policies for the FCC. It’s obvious that most of the language in the bill was created by the National Association of Broadcasters and other Big Radio lobbyists. The FCC already has plenty of applicable interference resolution rules and procedures, but this bill needlessly makes those even more convoluted and does whatever it can to favor Big Radio.

I need refresh my knowledge of the distance requirements between stations with the caveats listed in section 3, and do at least a preliminary analysis of whether it’s even possible to have a station here.

Why am I doing this? Oh yeah. The dream.

Is radio dead? Does anyone listen anymore? That’s the subject of another post.