Tvůj fotoaparát si zapisuje, kde jsi byl

Díl 2 ze 2 — ./blog.sh v1.2.1

Vyfoť něco telefonem a zaznamená místo, kde jsi stál. Ne jako odhad – jako souřadnice, přesné na pár metrů, v bloku metadat, který cestuje se souborem, kamkoli jde.

Sociální sítě to při nahrání odstraňují. Dělají to léta, dost potichu na to, aby na to většina lidí přestala myslet. Statický web nemá nikoho, kdo by to udělal: blog.sh zkopíroval tvou fotku do archivu bajt po bajtu a nic v enginu se na metadata nikdy nepodívalo. Takže fotka kočky na parapetu zveřejnila parapet.

Od 1.2.1 ne. Fotka přijde o polohu na cestě do archivu – když ji přidáš do příspěvku, a stejně tak když vstoupí kterýmkoli z dvaadvaceti importérů, protože všechny končí v témže zápisu.

Jen poloha

Fotoaparát, objektiv, expozice, okamžik otevření závěrky: ty zůstávají. Jsou to tvoje vlastní záznamy o tvé vlastní fotografii a archiv, který by je potichu zahodil, by odpovídal na otázku, kterou nikdo nepoložil.

Na jednom tagu záleží víc než na ostatních a zůstává také: Orientation. Telefon držený nastojato uloží obrázek naležato a zapíše, že se má otočit. Smaž ten tag a každá fotka na výšku na tvém webu leží na zádech. Otočit samotné pixely by chtělo dekodér obrázků a blog.sh běží na standardní knihovně Ruby a ničem jiném – žádné gemy, záměrně. Ponechání toho jednoho tagu, na kterém záleží, je to, co tohle umožňuje bez závislosti.

Když je tvůj web toho druhu, který chce místo zachovat – pěší deník, fotoblog, kde je mapa pointa – jeden řádek to vypne:

media:
  strip_location: false

Fotky, které jsi už zveřejnil

Ty se nechávají být. Aktualizace enginu by neměla jít zpět a přepisovat obrázky, které jsi dal na web před lety, takže se nic nestane, dokud si neřekneš.

Napřed se zeptej, jestli je vůbec na co se ptát:

./blog.sh doctor

Spočítá zveřejněné fotky, které polohu stále nesou, a řekne to jedním řádkem mezi ostatními z prohlídky. Když je odpověď žádné, máš hotovo.

Když ne, tohle je vyčistí:

./blog.sh doctor --strip-location

To je jediná věc, kterou doctor kdy zapsal místo ohlásil, a proto se o ni musí říci jménem. Vypíše, kolik jich změnil, a jednu věc, kterou stojí za to vědět, než to spustíš: každá přepsaná fotka dostane nový kontrolní součet, takže tvoje příští nasazení je všechny nahraje znovu. Na velkém archivu je to skutečný přenos, ne zaokrouhlovací chyba. Pak sestav znovu jako obvykle:

./blog.sh rebuild

Co tohle nepokrývá

Zapsáno, ne ponecháno k objevení, protože funkce pro soukromí, která potichu míjí případy, je horší než ta, jejíž hranice znáš:

  • Jen JPEG. To produkují telefony a HEIC převedený enginem přijde jako JPEG. Exif v PNG nebo WebP se nechává být.
  • XMP se nečte. Soubor může nést druhou kopii souřadnic v paketu XMP a ta kopie zůstává.
  • Blok GPS, který nedrží nic než vlastní číslo verze, se nebere jako poloha a soubor se kvůli němu nepřepisuje. Je to častější, než to zní: v jednom skutečném archivu s 2 962 fotkami měly přesně tenhle tvar tři fotky – a ani jedna neměla skutečné souřadnice. Počítat je by byl titulek složený výhradně z planých poplachů.

Komentáře