Skip to content

Blog

Technical deep dives, engineering challenges, and the science behind eclipse photography.

macOS Multi-Camera USB Challenges: Canon EDSDK, libgphoto2, and ptpcamerad

Connecting Canon and Nikon cameras simultaneously on macOS hits a fundamental platform limitation: ptpcamerad claims exclusive USB access to all PTP cameras. Here's what we tried, what failed, and the workaround that works.

macOS Multi-Camera Canon Nikon USB ptpcamerad

Supporting Sony Cameras in eclipseClick: Two SDKs, One Bridge, and a Lot of COM Interop

Sony's Camera Remote SDK doesn't support older models like the ZV-E10 or A7 III, so we built a second bridge using Windows Portable Devices MTP extensions. Getting COM interop working on .NET 8 with trimming required multiple rewrites — and Sony testing exposed DeviceBusy retry gaps across every vendor.

Sony Camera SDK COM Interop C++ C# PTP WPD

Nikon MAID SDK on macOS Apple Silicon: Why It Fails and How I Worked Around It

A deep dive into 9 distinct failure modes — from wrong binary formats to ARM64 Pointer Authentication crashes — and how I replaced the proprietary SDK with libgphoto2.

macOS Nikon Camera SDK Apple Silicon libgphoto2

How eclipseClick Computes Eclipse Contact Times

From Besselian elements to sub-second timing — the math and algorithms behind every prediction, including Newton-Raphson iteration, WGS84 oblate Earth, and lunar limb corrections.

Astronomy Mathematics Besselian Elements Newton-Raphson

Why I Built eclipseClick

Three eclipses, two automation tools, and one persistent question: what if capture software could disappear on eclipse day? The origin story of eclipseClick.

Eclipse Photography Automation Origin Story