News for hackers. Stuff that matters.
Re:Show HN: Snap Scope – Visualize Lens Focal Length Distrib... by netsharc on Friday January 24, 2025 @03:47PM (#42816775)
Man, this would be so much more intuitive as a command line tool that either generates a HTML file with the summary, or a CSV file with filename, focal length. Dragging thousands of photos into the browser window seem very sketchy (OK I just tested, Vivaldi doesn't like me dragging dozens of files onto it, I can do 2 files, but if I try dragging about 20 files it just loads one of the images, replacing the page).

I can imagine a CLI wouldn't even read the entire file (I have 15MB heavy images), just the few KB's at the beginning to find the Exif tag.

Re:Show HN: Snap Scope – Visualize Lens Focal Length Distrib... by rad_gruchalski on Friday January 24, 2025 @05:09PM (#42817393)
Makes you wonder if you could chop the start of the file, upload it, and get the result?
Re:Show HN: Snap Scope – Visualize Lens Focal Length Distrib... by kan02134 on Friday January 24, 2025 @11:57PM (#42819626)
Thank you for such insightful feedback! I should clarify that this tool was designed as a web-based solution to avoid the traditional installation or server upload requirements, aiming for maximum accessibility. While I hadn't considered a CLI approach initially, you make an excellent point about its efficiency. However, I'm still weighing the trade-off between performance and accessibility.

I completely understand your concerns about the drag-and-drop stability with thousands of files. The issue you're experiencing with Vivaldi might be related to this. Would you mind trying the file picker button instead? I've been unable to reproduce the issue on my Apple M1 MacBook with the same browser, which makes it challenging to provide an immediate fix. I apologize for the inconvenience.

Regarding EXIF extraction, we're using the 'exifr' npm library, which actually works exactly as you suggested - it only reads the beginning portion of the file to extract EXIF data, even in the browser. You can learn more about it here: https://www.npmjs.com/package/exifr