PSD file format
PSD file format
Don't know if this is old and/or has been posted before but I felt like sharing it:
http://code.google.com/p/xee/source/bro ... 8&r=11#107
http://code.google.com/p/xee/source/bro ... 8&r=11#107
Good programmers don't comment their code. It was hard to write, should be hard to read.
Code: Select all
// At this point, I'd like to take a moment to speak to you about the Adobe PSD format.
// PSD is not a good format. PSD is not even a bad format. Calling it such would be an
// insult to other bad formats, such as PCX or JPEG. No, PSD is an abysmal format. Having
// worked on this code for several weeks now, my hate for PSD has grown to a raging fire
// that burns with the fierce passion of a million suns.
// If there are two different ways of doing something, PSD will do both, in different
// places. It will then make up three more ways no sane human would think of, and do those
// too. PSD makes inconsistency an art form. Why, for instance, did it suddenly decide
// that *these* particular chunks should be aligned to four bytes, and that this alignement
// should *not* be included in the size? Other chunks in other places are either unaligned,
// or aligned with the alignment included in the size. Here, though, it is not included.
// Either one of these three behaviours would be fine. A sane format would pick one. PSD,
// of course, uses all three, and more.
// Trying to get data out of a PSD file is like trying to find something in the attic of
// your eccentric old uncle who died in a freak freshwater shark attack on his 58th
// birthday. That last detail may not be important for the purposes of the simile, but
// at this point I am spending a lot of time imagining amusing fates for the people
// responsible for this Rube Goldberg of a file format.
// Earlier, I tried to get a hold of the latest specs for the PSD file format. To do this,
// I had to apply to them for permission to apply to them to have them consider sending
// me this sacred tome. This would have involved faxing them a copy of some document or
// other, probably signed in blood. I can only imagine that they make this process so
// difficult because they are intensely ashamed of having created this abomination. I
// was naturally not gullible enough to go through with this procedure, but if I had done
// so, I would have printed out every single page of the spec, and set them all on fire.
// Were it within my power, I would gather every single copy of those specs, and launch
// them on a spaceship directly into the sun.
//
// PSD is not my favourite file format.
You, sir, have just made my day!

Curiously, the programmer chose not to follow suit with any relevant comments of his own on how this "abysmal format" actually works.
PSD is, by the way, the standard Photoshop format. There is a legacy and a modern format (which has an option to be but is not natively backwards compatible). Which his library reads.. would be very useful as a comment.. somewhere.
Curiously, the programmer chose not to follow suit with any relevant comments of his own on how this "abysmal format" actually works.
PSD is, by the way, the standard Photoshop format. There is a legacy and a modern format (which has an option to be but is not natively backwards compatible). Which his library reads.. would be very useful as a comment.. somewhere.
- Fluid Byte
- Addict

- Posts: 2336
- Joined: Fri Jul 21, 2006 4:41 am
- Location: Berlin, Germany
my hate for PSD has grown to a raging fire that burns with the fierce passion of a million suns.
Windows 10 Pro, 64-Bit / Whose Hoff is it anyway?
"Rube Goldberg of a file format"
I had to look that up, glad I did
I had to look that up, glad I did
Paul Dwyer
“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
- Fluid Byte
- Addict

- Posts: 2336
- Joined: Fri Jul 21, 2006 4:41 am
- Location: Berlin, Germany
"complex devices that perform simple tasks in indirect, convoluted ways"
@FB, Love the bit with the chess pieces at about 2:05
@FB, Love the bit with the chess pieces at about 2:05
Paul Dwyer
“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein


