frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Exploring EXIF (2023)

https://hturan.com/writing/exploring-exif
83•jxmorris12•5mo ago

Comments

dang•5mo ago
Discussed at the time:

Exploring EXIF - https://news.ycombinator.com/item?id=37409524 - Sept 2023 (33 comments)

shatsky•5mo ago
Fun fact: EXIF is simultaneously JPEG format (EXIF spec describes compressed image file format which is based on JIF, the base JPEG file format described in JPEG spec, also EXIF is for "EXchangeable Image File format", suggesting that authors saw it as new file format) and TIFF format (EXIF metadata is actually embedded TIFF which can be parsed with tiffdump, also EXIF spec describes uncompressed image file formats which are TIFF with embedded EXIF metadata which is also TIFF...)
bawolff•5mo ago
Its a less fun fact when you have to write a parser for it

All the various metadata formats are kind of weird. IIM (less popular now but still sometimds seen in jpeg files. Was originally for news organizations) is even weirder than Exif. My favourit part is how you specify its utf-8 by adding the iso-2022 escape code in a field. Like wut.

blululu•5mo ago
Exif data is really fascinating, and exiftool is really worth playing around with for an afternoon. The metadata on color space, focal distance, aperture are all really useful tools for making photos look correct on an arbitrary display surface, and it is pretty fun to swap them out to see the effects on rendering.

As an aside, the location/time data is useful for somethings but also kind of creepy and I really wish there were more privacy considerations in how these pieces of meta data are handled. There was a period where I routinely set these fields to be taken in Pyongyang, North Korea, 100m below sea level and one day in the future.

exiftool -GPSLatitude=39.0738-GPSLatitudeRef=N -GPSLongitude=125.8198 -GPSLongitudeRef=E -GPSAltitude=-6 -GPSAltitudeRef="Below Sea Level" -AllDates="$(date -v +1d '+%Y-%m-%d %H:%M:%S')" FILENAME.jpg

JKCalhoun•5mo ago
> I really wish there were more privacy considerations in how these pieces of meta data are handled.

When you Export a photo from Apple's Photos, there is a checkbox you can toggle for Location Information. I generally have that unchecked so that it strips that EXIF data from the resulting exported image.

karim79•5mo ago
My favourite thing about EXIF is its role in Hollywood and the news, e.g. "The geolocation from the metadata of this image verifies that this happened at this place and at this time", and other such nonsense nonsense. Always makes me chuckle.

My least favourite thing is colour profiles and how those can confuse grown adults and bring them to tears.

akimbostrawman•5mo ago
Same applies to file creation, modification and access times. Completely worthless but still would be valid in a court if you have the right "expert".
miquong•5mo ago
If you're following along and can't/don't want to remember the SQL syntax, use the examples from the post for LLM text-to-SQL context:

  Q: Which photo has the highest number of faces?
  A: SELECT SourceFile
  FROM photos
  WHERE RegionType IS NOT ''
  ORDER BY length(RegionType) DESC
  LIMIT 1;
  
  Q: ...
You can also fetch and use the table schema with `sqlite3 exif.db .schema`
JKCalhoun•5mo ago
Although the article discusses EXIF, which is primarily hardware-created metadata, there is the other metadata like Description and Keywords that I find very important (typically encode as IPTC or XMP metadata, if I recall correctly).

Especially older family photos that I scan: in the Description I can add what was written on the back (and/or front) of the photo. I use Keywords to identify who is in the photo as well as who I got the photo from (like a "Photo From Peggy" keyword).

In time when you get quite a collection, it becomes handy to be able to search your Photos library using this metadata. Also, when exported, the metadata remains if you allow it to. So when I send off digital copies to relatives, they also have that additional information.

rsync•5mo ago

  magick convert IMG_1111.HEIC -strip -quality 87 -shave 10x10 -resize 91% -attenuate 1.1 +noise Uniform out.jpg
This will strip ALL exif metadata, change the quality, shave 10 pixels off each edge just because, resize to xx%, attenuate, and adds noise of type "Uniform".

Some additional notes:

- attenuate needs to come before the +noise switch in the command line

- the worse the jpeg quality figure, the harder it is to detect image modifications[1]

- resize percentage can be a real number - so 91.5% or 92.1% ...

[1] https://fotoforensics.com/tutorial.php?tt=estq

timcederman•5mo ago
Not meaning to be obtuse, but to what end, and how is this related to the linked post?
leshenka•5mo ago
> In fact, when you give an iOS app full access to your photo library, you're giving all of this information away too.

You know I really hate that iOS has this functionality and apps tend to abuse it and the system won't warn you about privacy implications.

Also, iOS just loves sandboxing stuff so why it doesn't force system gallery picker (i.e. "Private Access to Photos", the one you'll get in Safari when click on file input) on applications?

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
632•klaussilveira•12h ago•187 comments

Start all of your commands with a comma

https://rhodesmill.org/brandon/2009/commands-with-comma/
19•theblazehen•2d ago•2 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
930•xnx•18h ago•548 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
34•helloplanets•4d ago•26 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
110•matheusalmeida•1d ago•28 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
43•videotopia•4d ago•1 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
10•kaonwarb•3d ago•10 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
222•isitcontent•13h ago•25 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
213•dmpetrov•13h ago•103 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
323•vecti•15h ago•142 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
372•ostacke•19h ago•94 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
359•aktau•19h ago•181 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
478•todsacerdoti•21h ago•234 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
275•eljojo•15h ago•164 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
404•lstoll•19h ago•273 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
85•quibono•4d ago•21 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
25•romes•4d ago•3 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
56•kmm•5d ago•3 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
16•jesperordrup•3h ago•9 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
245•i5heu•16h ago•189 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
13•bikenaga•3d ago•2 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
53•gfortaine•10h ago•22 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
141•vmatsiiako•18h ago•64 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
281•surprisetalk•3d ago•37 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1060•cdrnsf•22h ago•435 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
133•SerCe•9h ago•118 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
177•limoce•3d ago•96 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
70•phreda4•12h ago•14 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
28•gmays•8h ago•11 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
63•rescrv•20h ago•23 comments