PSD is not my favourite file format.


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

It appears that the original repo may be lost to time. But here is an archived copy:

web.archive.org/web/…/XeePhotoshopLoader.m#104

thedirtyknapkin,

i mean shit, it’s a legacy code issue. they made that format in the ninties to work with the limitations of 90s computers. since then they’ve just kept adding features and not starting over. it’s the same reason the davinci resolve has better color tools and is way less crash prone than premiere. premiere can’t do direct color manipulation, it does some kinda weird simplified math based on some kind of analogous curve or something like that. 90s computers simply couldn’t handle the amount of color calculations needed to do it properly. resolve just uses your modern system to do the direct calculations. idk, i barely understand it and I’ve only ever met like 2 people that could tell me more about it…

xoggy,
@xoggy@programming.dev avatar

When they say writing code comments is important this is what they mean. This is how we programmers pass on important life lessons that save the next dev weeks of heart pain and hair loss.

kryllic,
@kryllic@programming.dev avatar
  • All
  • Subscribed
  • Moderated
  • Favorites
  • programming_horror@programming.dev
  • rosin
  • thenastyranch
  • mdbf
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • Youngstown
  • GTA5RPClips
  • slotface
  • modclub
  • everett
  • Durango
  • kavyap
  • tacticalgear
  • megavids
  • khanakhh
  • vwfavf
  • ngwrru68w68
  • Leos
  • normalnudes
  • ethstaker
  • tester
  • cubers
  • osvaldo12
  • anitta
  • provamag3
  • cisconetworking
  • JUstTest
  • All magazines