Hacker News new | past | comments | ask | show | jobs | submit login
Reverse engineering the iTunesDB File Format (linuxjournal.com)
31 points by nickb on Nov 27, 2008 | hide | past | favorite | 17 comments



Back in the day, I was heavily involved in reverse engineering iTunes to figure out the "authentication" hash sent with DAAP requests. I very quickly got sick of chasing my tail every time Apple unilaterally decided to change their protocols for the sole reason to disable third party interoperation, incidentally breaking old versions of their own software just for the hell of it.

I'm sick of Apple and all their works. If you're a software engineer, and you value open standards and competition, you should never, ever buy an Apple product. Their anti-competitive actions, from breaking their software through misusing legal instruments right up to controlling which apps one can and cannot write for the iPhone, reveal a fundamental distaste for standards, co-operation and even the law.

Every moment spent trying to interoperate with Apple is a moment wasted. For the free software community, most of us have stopped chasing our tail and gone to open standards such as UPnP media streaming. Apple's culture is that of the 70s, the dark ages of personal computing. I can only hope that people inside their organisation like Stuart Cheshire can make some sort of operational change.


> Apple's culture is that of the 70s, the dark ages of personal computing.

Were you even around in the 1970s? Those were the days... personal computers came with the complete source code listing of their operating systems, a complete hardware schematic, pinouts for all connectors...

Right through the early 1980s it was pretty common to know everything about a personal computer. e.g. Go take a look at an Apple I or II manual, or the VIC-20, or the PET, or the BBC Micro or the TRS-80, or the early IBM-PC.


Actually, the Apple II/II+ introduced in the late 1970s was quite open and a period of innovation for home computing. Apple even included the schematics as well as source code listing for their basic interpreter.

http://en.wikipedia.org/wiki/Apple_2


At that time, you could look at the motherboard and figure out (or follow the traces on both sides) how everything worked.

I kind of did that with my first Apple II.


I must disagree with you on one part (a minor one, true).

The 70s were not the dark ages: the late 70s and early 80s were the golden age of the personal computer. As pointed out by other of the commenters, the Apple II manual even included schematics for the computer itself and listings for its ROM-based BASIC interpreter.

You can't be more open than that.

Openness ended more or less when the PC made big advances into the home computer market and DOS and Windows made the personal computer a standardized commodity device.

And that's why I dislike PCs so much and why I am so fond on "exotic" architectures.

I am all in for open standards for interchanging information, but I also want my hardware to be as diverse as possible. I find a x86-only world absolutely boring.


I completely agree with you, and I am feeling frustrated with a number of their current practises. The problem is there aren't many other options for the average user if you want a quality OS. I have no problem picking up a Linux distro, but others (my family members for example) can't handle the under the hood tuning it can sometimes require.


This is an interesting coincidence. A site I run recently became involved in a tiff with Apple over reverse engineering their new iTunesDB file (which was updated Sept 2007).

Backstory: http://yro.slashdot.org/article.pl?sid=08/11/20/201246&f... http://yro.slashdot.org/article.pl?sid=08/11/23/017227&f... http://www.eff.org/deeplinks/2008/11/apple-confuses-speech-d... http://sam.bluwiki.com/blog/2008/11/in-defense-of-ipodhash.p...


Did you wind up contacting the EFF and that blog entry is how they chose to respond, or does someone at the EFF read slashdot or HN? ;)


Apple makes some great stuff but I've been feeling more and more lately that I'd rather spend my time and money supporting open standards.


please stop buying apple garbage. they are evil. there's nothing cool about crass consumption


If you have a version of this point that depends on reasoning rather than adjectives, you should probably use that instead.


steve jobs is a psycho-grade control freak whose "singular vision" of tech implies pointless upgrades on a regular schedule. apparently i can't mount my ipod in linux because his OCD control issues can't grasp someone using a computer that doesn't have a glowing fruit on it. but when you put all this in a tony mall with minimalist blonde-finished tables, its cool. but it isn't. monocultures always die and apple will be no different.


What he may be trying to say is that Apple is every bit as evil as Microsoft, except the monopoly part. They employ many of the same techniques to bind their users to their hardware and software in ways more enlightened hackers would consider revolting.

They make cool gizmos. But that's about it.


They make cool gizmos.

Not anymore, really. The iPod product line is really stagnant; the only feature that iPods have over the competition is that they come with an Apple logo. They only play proprietary music formats. They don't have a digital output. They require the proprietary database.

All in all it's not that great if you want your music player to play music, rather than be a fashion accessory.

The laptops do have beautiful cases, but inside they are exactly the same as what Dell will sell you.


You heard it here first, folks: the iPod is not that great if you want your music player to play music. Sure, plenty of people enjoy it for just that, it plays the most common music formats, and has excellent integration with the largest music retailer including (in new models) the ability to purchase music from the device itself, but really, as a music player, it's half-baked. What it really needs is digital output, because when you're on the go, analog headphones just don't cut it. And they should ditch the database, because having a computer automatically manage your music is an unreasonable compromise of the absolute control the user must have over everything, always.

Sheesh, just say "I don't like it" next time instead of trumping up this pretentious garbage. You are not superior to anyone just because they had the gall to buy something that meets their needs instead of yours. If the functionality of the iPod is so unappealing to you that you see it as little more than a fashion accessory then chances are good that you're part of a niche market. Get over it instead of casting aspersions on everyone that isn't as picky as you. In other words: stop acting like a fanboy.


Let me guess: You don't own an iPod.

iPods play MP3 files just fine. Most iPods also play nice with non-Apple tools (I used one with Linux for a long time). It's incorrect to say they play only proprietary formats - while they won't play certain open formats, they do play common formats. Also, AAC is not closed, so, any computer can play it. And many standalone music players do.

As for the laptops, they have astonishingly beautiful cases - Apple pretty much dictates what Sony will be building the next year. You really can't compare the feel of a unibody Macbook with that of a Dell, regardless of what's inside. One is solid, well built and impressive. The other is... well... "inexpensive" could describe it.

A Volkswagen may have four wheels and an engine, but it's no Maybach. There is a world of difference, even if not everyone can tell before experiencing it.

The fact their hardware-software combination cripples their stuff for a great many users (me included, don't get me wrong) do not imply their gadgets are not cool. They are.


What?? I've never played anything but mp3 files on my iPod. You think the iPod touch is "stagnant"? Have you actually used one?




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: