ryanwold.net

A civic-minded citizen seeking the singularity

Back to Entries

Pandigital .gem

draft
Date: 2013-08-17

Description = ## Pandigital .gem

  • find the Pandigital frame size (in pixels)
  • start the Ruby service
  • install Carrier Wave
  • determine how and where to store these items
  • upload a picture and convert it to the Pandigital size
  • publish the .gem
  • I have published the .gem on Github
  • I have at least 50 images loaded on my Pandigital frame at home # Pandigital .gem

A few years ago, I received a Pandigital digital picture frame.

This weekend, I wanted to complete a task I've had on my to-do list for too long.

My goal was to automate the processing of a folder of images down to 800px wide by 480px tall, which is the size of the frame. To do this, I set out to use the RMagick gem, which leverages ImageMagick, a software library for processing image files with programming commands, rather than a software package with a UI.

Within 15 minutes, I was able to read images from a folder and resize them. Sweet! Done. Nope.

When I loaded the files onto the Pandigital frame, several files were showing as "Format not Supported!" Hmm.

And, then I went down a rabbit hole. Willy nilly, trying random methods, trying to discern patterns of file format, file size, file dimensions. Then, image.properties, image.inspect, image.instancevariables, image.colorprofile, and more. After 10 hours, I had to step back. WTF. I ge in to deep and forget, what am I trying to do? I could have resized about 100 images in this folder using MS Paint in about an hour. 10 hours. WTF.

But it's about the principal, right? I set out to automate this. I got the automation down, but I ran into a related problem, of the images not loading.

So, I loaded the images straight to the frame, without doing any custom processing on them, and I noticed that the same images would still show. There was something about the file metadata. I was able to rule out aspects of the image data, dimensions, file size/format, etc. So, what metadata hangs off a JPEG file?

I decided to run experiments in order to get to a resolution.

Experiment 1

do: image.strip! profiles and see if the images are still valid.

determine: do the images load in the frame after running image.strip?

result: NO

Experiment

Goal: Determine if. And if, exactly which profiles are required.

Add all profiles to another working image

This will tell me whether if is a valid line of exploration. If so, proceed Client = personal Technologies = ruby, images, pandigital Services =

By Ryan Wold · © 2013–2026 Ryan Wold

Licensed CC BY-NC 4.0. AI training requires a license — machine-readable terms.

Enjoyed this? — any BSV wallet, HandCash, or plain old dollars.

Leave a tip

Tips go directly to a Bitcoin SV address I control — peer to peer, no platform in between. A few thousand satoshis is a fraction of a cent; it's the gesture that counts.

From any BSV wallet

Scan the QR code with your wallet's camera, or copy the address.

177DwUfSTW8RkFBJzYYcgr1YB8ngbhTYAc

With HandCash or any paymail wallet

Paymail is an email-style address for Bitcoin wallets. Send any amount to afomi@handcash.io

First time using Bitcoin? Yours Wallet is an open-source browser extension wallet, and HandCash is an easy mobile wallet — either takes a minute to set up.

Prefer regular money? Support via OpenCollective.