Image and Video Handling

Industry-specific file types and leveraging previous work and workflows from yourself and others to avoid creating new one-offs

Today’s Small, Good Thing involved a CD with MRI images from a radiologist’s office. It’s labeled “For Physicians Only,” and while I’m not a doctor, I’ve played one on IRC. The files didn’t open with the default image viewer, but their properties showed they’re all “DICOM image (application/dicom).” A quick search led me to Aeskulap – DICOM Viewer package which installed quickly & easily from standard apt repos. Aeskulap opened the MRI images and let me cycle through them like flipbook videos which I suppose is as-intended.

Small, Good Thing[1] was (re-)discovering Ubuntu’s native screencasting tool via Ctrl+Alt+Shift+R. This captured :30 of my flipping through Aeskulap images at 3840×1080 resolution. Small, Good Thing[2] was ffmpeg’s ability to crop and resize the screencast webm file and spit out a reasonably-sized gif in real-time.

ffmpeg -i Screencast.webm -vf 
"crop=iw/2:ih:0:0, fps=8,
-loop 0 Screencast-800w.gif

It took me a minute to get the crop where I wanted, and I grabbed the gif output params from earlier work. All-in it was less time with fewer distractions than it’d take me in Blender. It’s great and greatly-appreciated that people put so much good work into things and make it available.

Core Infrastructure Supporting People and Business

CRM, CMS, and Measurement technologies are fundamental for working at scale across teams, shifts, and time zones. Having this core infrastructure in place lets you focus on your differentiators and building experiences at the scale you want to operate.


CRM technologies are core to supporting your business. Your contacts are customers, clients, colleagues working in and around your business.Knowing them as individuals, groups, and teams lets you collaborate across programs, channels and platforms.


Simple intelligent tools to build product catalogs, marketing campaigns, and sales reports are fundamental to Commerce, Marketing, and Sales teams as they are to social, comms, and editorial teams. We work in text, photo, video, and audio content all day. CMS tech helps us create, discover, and package that work.

Distribution and Measurement

Distribution and Measurement technologies manage access and activities across colleagues, clients, and campaigns. Standard processes for handling partners’ access, endpoints, tags, and terms-of-use is a foundation for operating at scale. Activity and performance measurements are core to proving markets and informing continuous improvements.

elasticsearch and fscrawler

Great-to-Haves — Handled

elasticsearch with fscrawler handled these well for my needs.

  • Low-touch / unattended ingestion
  • Sensible, configurable defaults
  • Helpful, accurate dry runs
  • Non-catastrophic re-runs (i.e. smart enough to minimize overwriting or duplicating existing entries)
  • Clever de-duping
  • Customizable / scriptable input and output handling
  • File meta data capture
  • Full-Text indexing of file content

Clever de-duping” is TBD, and starting with rsync or rclone helps there. elasticsearch runs lean enough and is straightforward enough to configure for my local dev env. Defaults are sensible, and re-building indexes is a matter of

fscrawler job_name --loop 1 --restart

These help balancing up-front config time with GIGO and “we’ll take care of it in post-production.”

Eye-balling ingestion and indexing processes is fine for seeing initial results, tweaking, and discovering more as index searches yield more results. Getting media consolidated and indexed locally was one set of goals met. Locating assets I needed for other work was another win, and Kibana surfaced more follow-up opportunities than log viewing alone.

Authy’s Doing 2FA Well

gAuthenticator had been my go-to 2FA app since it was introduced. I’ve had recurring problems with it and started using Authy a few months ago. Most of my issues and requirements from this earlier post are addressed well by Authy.

Authy lets me use tokens it syncs across multiple devices. I’ve got tokens available to me across two iOS devices and an Ubuntu desktop app. It throws up reasonable flags first time / long time I log into Authy from a new app or location. This is huge and has prompted me to enable 2FA on more services.

They’ve executed this so well, I’ll complain about one nit: The iOS app did a fine job associating service provider icons with my tokens. The Ubuntu app shows mostly generic service icons which doesn’t make clear enough the apps associated with tokens. I can edit these and explicitly associate my own icons and labels, but most default to my email address used for the service so first I have to sort out which is what (by having two Authy devices and matching tokens from Known account to the desktop app).

Rules for Negotiating a Job Offer


All 15 Rules and the whole Harvard Business Review article are worth reading. In two recent discussions with others who had offers on the table, we were optimizing for the first five rules:

  1. Likeability
  2. telegraphing your Yes
  3. Consider the whole deal
  4. Don’t negotiate just to negotiate, and
  5. Avoid, ignore, or downplay ultimatums of any kind

Being courteous and negotiating in good faith — to close the deal successfully — are key. If there’s any whiff of either party being “difficult” during the wooing period, smart parties know to have zero expectation of this improving post-wooing period. This is as true for vendor, partner, and other negotiations as it is for job offers.

Specifically to employment negotiations, if the “whiff of difficulty” includes any inclination of lack of team-playing or future personnel issues, it quickly turns into the hiring manager’s obligation to the organization not to hire that party.  i.e. it moves from questions of “liking the candidate” and “cultural fit” — already important enough — to “I would be abdicating my responsibilities to the organization by hiring someone demonstrating tendencies that may run counter to the wider organization.”