Většina tvého Facebooku není tvoje

Díl 6 ze 9 — ./blog.sh v1.2

Importér z Facebooku vznikl nad skutečným exportem „Stáhnout své informace". První užitečná věc, kterou mi řekl, bylo číslo, které jsem nečekal.

Na tom exportu nebylo 95 % příspěvků napsáno na Facebooku. Byly tam zrcadleny – z Twitteru, z Posterousu, z celé éry crosspostů, kdy každá služba zdvořile nabízela, že tě přepošle všude jinde.

Přeskakují se a počítají

Tyhle příspěvky se neimportují. Ne proto, že by byly bezcenné, ale protože platformy, ze kterých skutečně pocházejí, mají vlastní exporty a ty nesou originály: plný text, skutečné časy, média ve velikosti, v jaké byla nahrána. Facebookové zrcadlo tweetu je horší kopie něčeho, co můžeš pořádně naimportovat z archivu Twitteru ležícího v téže složce.

Naimportuj obojí a tvůj archiv se zdvojnásobí, přičemž horší verze vyhraje v polovině případů. Takže se rozpoznají a přeskočí s počtem v souhrnu, a FACEBOOK_CROSSPOSTS=1 to přebije, když nesouhlasíš. Check-iny beze slov a příběhy z aplikací jsou také počítané přeskoky.

Zbývají tvoje vlastní příspěvky, s fotkami a videi z archivu samotného.

Oba formáty se čtou stejně

Meta ti na cestě ven dá vybrat JSON nebo HTML a lidé volí, aniž vědí, že na tom záleží. Tady nezáleží: čtou se oba a vycházejí shodné do epochy, až po id ražená pro párování při novém importu.

Dostat se tam byla ta piplavá část. JSON nese prosté časové značky. HTML tiskne nástěnné hodiny – s vteřinami, v časovém pásmu účtu, s letním časem – což se muselo změřit proti JSONu téhož účtu, aby to bylo jisté. A data v HTML přicházejí lokalizovaná, takže čeština i angličtina se rozumí, a jazyk, který importér nezná, přeskočí, co neumí datovat, a řekne to, místo aby hádal jméno měsíce.

Threads, dvaadvacátý

Threads uzavírá seznam sociálních sítí a jeho export má nejpodivnější tvar z celé rodiny: každý příspěvek je seznam médií, i když žádná média nemá, s textem jedoucím v poli titulku. Stránka HTML se čte zpět do téhož podivného tvaru, aby oba formáty šly jedním mapováním.

Kde máš na výběr, chtěj JSON. Jen JSON označuje odpovědi – běh nad HTML pokaždé končí tím, že to řekne, protože nemůže vědět, jestli bylo co minout – a jen JSON nese vteřiny. Stránka HTML tiskne minuty, v pevných pacifických hodinách Mety bez letního času, což se převádí zpět přesně na minutu proti JSONu téhož účtu.

Jeden příznak v tom exportu je past, kterou stojí za to pojmenovat: cross_post_source vypadá jako značka crosspostu a na skutečných exportech označuje i příspěvky napsané přímo v aplikaci Threads. Zaznamenává, kam byl příspěvek sdílen dál. Přeskakovat podle něj by tvůj archiv vyprázdnilo.

Kódování, konečně

Exporty Mety léta komolí text mimo ASCII – bajty jsou UTF-8 přečtené jako Latin-1 a znovu zakódované, takže každé písmeno s diakritikou přijde jako paskvil. Importér z Instagramu na tom vyzkoušel opravu; ta teď bydlí ve sdíleném modulu, který používá celá rodina Mety.

Což znamená, že čeština, němčina, francouzština a všichni ostatní dostanou svá slova zpět, místo archivu z ÄŤ a é.

Co ve mně zůstalo

Devatenáct z dvaceti příspěvků na tom účtu byly kopie věcí napsaných někde jinde – někde, co od té doby obvykle zavřelo. Éra crosspostů tehdy působila jako pojistka. Ukázalo se, že je to naopak: kopie přežily originály, v horší podobě, na platformě, která je nevydá zpět v celku.

Chtěj export. Od všech.

Komentáře