Neil's News

Format Longevity

15 February 2013

A 'psh' and a 'pxc' file arrived on my computer from a family who had lost access to their photo album. I quickly determined that these originated from some software called ProShow. Not only is it apparently Windows only, and only (legally) available through a net installer, but the current version can't even read the files generated by earlier versions. Probably the worst choice ever for an archival format.

Digging through the 'pxc' file with a hex editor revealed that it was basically just a concatenation of JPEGs, with a useless header at the top. A trivial Python script was all that was required to extract the original photos.

f = open('your_file.pxc')
t = f.read()
f.close()
sep = '\xFF\xD8\xFF\xE0\x00\x10\x4A\x46\x49\x46\x00\x01'
cursor = 0
i = 0
done = False
while not done:
  newcursor = t.find(sep, cursor)
  if newcursor == -1:
    done = True
    newcursor = len(t)
  print("%i: %i - %i" % (i, cursor, newcursor))
  f = open("%i.jpg" % i, 'w')
  f.write(t[cursor - 1 : newcursor])
  f.close()
  i += 1
  cursor = newcursor + 1

If you happen to be stuck with a 'pxc' file and don't know how to use the above script, just send it to me and I'll be happy to retrieve your pictures.

Ok, so ProShow is a terrible choice for storing family photos. But what is a good choice? Even though it has been nearly 100 years, I can still view my grandmother's baby photos. What is the likelihood that my grandchildren will be able to read my JPEGs in 100 years? I don't have an answer to this.

< Previous | Next >

 
-------------------------------------
Legal yada yada: My views do not necessarily represent those of my employer or my goldfish.