Sunday, December 23, 2012

lab 110 - inferno archive edition

I've been occupied recently with archiving my digital media. I've been copying home videos on DV tapes to hard-disk, ripping audio CD's to WAV files, gathering photo collections, and trying to copy documents from Iomega disks, floppies, and my dusty old Acorn RiscPC.

The plan is to have a copy of this data to give to each of my children. My Dad recently scanned and sent me all his photographs of me and my siblings growing up; he also included pictures of himself and my Mother when they met in Africa. With technology today each generation can build a digital library of family history to hand on to the next generation. In the past a family album may have been passed on to only one person. The accumulation of digital data still presents problems. It requires discipline to store files that are open and not locked into devices or proprietary formats.

With digital preservation in mind I've tried to use file formats recommended for long term archiving. WAV files for audio, DV for video, JPG and PNG for pictures, PDF for documents, and plain text.

Today the storage media is a 1TB external hard-disk. In my current computing environment I'm plugging that disk via USB into computers running Windows 7, Ubuntu, MacOSX, RiscOS, and Raspian. Ideally I'd be able to launch an application from the hard-disk that'd be able to playback the archived media on any of these host systems. This is where Inferno enters the picture.

Based on the criteria for selecting the file types, (non-proprietary, well documented, wide support) all the host systems should support the files natively, or a download can be easily found that will. However, the challenge is to get Inferno to do it nearly as well and work with a single set of tools everywhere. The tools are then preserved with the media on the disk.

So here's the plan. I've created a clone of inferno-os (caerwynj-inferno-ae) and I will try to support the media files that are stored in a digital archive. The target functionality is the following:

  • Display pictures (JPG, PNG, GIF)
  • Playback audio (WAV)
  • Playback video (AVI-DV, MPEG-2)
  • View ebooks (ePub3.0)
  • View documents (Plain text, HTML4.0, PDF, DjVu?)
  • Playback MIDI (built-in synethsizer)
  • Mount disk images, archives, and file systems
  • Compress or decompress files (gzip, bzip2)

Another important aspect of this is to have a collection of EMU's that run on all the target platforms. I started this project in the inferno-bin repository a while ago. But it needs updating and the discipline to keep updating it. Ultimately the system interface of EMU needs to be locked down to give the freedom to run dis well into the future without the need to recompile.

Here's where we are with support inside Inferno:

File typeInferno support
JPG, PNGSupported by wm/view
WAVSupported by wavplay
MIDILimited support by midiplay
ePubSupport for older OEB versions in ebook/ebook. I've started updating to support ePub standard.
Plain textSupported
HTML4.0Limited support in Charon
PDFUnsupported, but MJL's PDF library are the beginnings of limited support
AVI-DVNo support
MPEG-2Some support for an MPEG device. Could try to use Raspberry-Pi device support for MPEG-2
tar, gzipSupported


Tony said...


I am looking into pulling out, if you haven't done it already, the code you modified for processing PNG, GIF and JPEGs. Where do you think is the best place to start? I am doing some tutorials on Inferno around graphics and one of the tuts will be on loading images.



Unknown said...

Good day! This post could not be written any better! Reading this post reminds me of my previous room mate! He always kept chatting about this. I will forward this write-up to him. Fairly certain he will have a good read. Thanks for sharing! toshiba 1tb external hard disk

Unknown said...

I can�t imagine focusing long enough to research; much less write this kind of article. You�ve outdone yourself with this material. This is great content. 1tb External Hard Drives for Office

Ethan Gardener said...

Did this work out? I've been thinking about long-term compatibility a lot lately. I'm using Python because it seems to have a policy of not making serious changes except at extremely long intervals, but I'd think of even those long intervals as too short for archival. Windows binary compatibility has been exceptional so far, but I don't know if it will stay that way. What I'd really want to do is produce a bootable disk image for an emulator; perhaps Amiga because the best-loved architectures are most likely to be preserved. MS-DOS is appreciated enough that BIOS/PC emulators will likely be around for just as long, so most things that boot on that architecture should be fine.

Watch this said...

Thanks for sharing this! This looks pretty informative!

Anonymous said...

So happy I was able to see this! Thank you!

Mrs. Fridge Repair Lady said...

Such information is hard to find elsewhere. Appreciate it.

Travis F. said...

Yeah, really great stuff thanks!

Brett said...

Glad to see this post.

Lorriel Sims said...

Full text books - archive of free books, texts, documents, classic literature, drama and poetry. All books free to read online. Approach us

Anonymous said...

Wow! such a great idea. Can we see the result?

Therese said...
This comment has been removed by the author.
Anonymous said...

I wanted to thank you for this great read!! Jacksonville Concrete Contractors

Anonymous said...

Excellent article. Very interesting to read. Fence Company Miami

Foundation Repair Raleigh NC said...

Thanks for taking time to discuss this. Chimney Repair Raleigh NC

Tree Removal Kansas City MO said...

What a useful and amazing information. Thanks for sharing such a great post. Stump Grinding Kansas City

Anonymous said...

Glad to found this website and information you provided. Foundation Repair Plano

Anonymous said...

Nice knowledge gaining article. Thanks for sharing. Fence Company Birmingham Al

Managed IT Services said...

Thanks for sharing such a great post. IT Support West Palm Beach

Concrete Repair Corpus Christi said...

Thanks for taking time to discuss this.Corpus Christi Foundation Repair

concrete resurfacing said...

This was very helpful for our website error. Thanks!

Visit here said...

The difficulty understanding this one is interesting!
gaming motherboard i7 7700k

Horea said...

Awesome ideas you have there. I love it. Thank you!

kingjamescarl said...

This is really great. Thanks.

kingjamescarl said...

Is this content still active?