Автоматизация кросс-постинга: боремся с трудностями API Facebook | 2026-05-23T14:28:22

Доделал в лучшем виде кросс-постинг из фейсбука на два моих сайта-блога [на которые почти никто не заходит] — beinginamerica точка com и raufaliev точка com. При публикации нового поста в фейсбуке по расписанию стартует механизм перевода поста на английский, разбор приложенных картинок, генерация описаний к ним, создание заголовка на основе текста поста и описания картинок, создание тегов на их же основе, запись поста в turso db — это облачная база, бесплатная до определенных лимитов, создание эмбеддингов через openai, запись в qdrant cloud — это тоже облачная база, но уже векторная, ну и загрузка изображений в wordpress по API, и публикация поста на английском и на русском по API.

Все бы хорошо, но из всех API самый дурацкий — у фейсбука. Во-первых, для страниц как у меня, переведенных в New Experience, нет возможности использовать почти все из этого API. Точнее, есть, но нужно долго доказывать фейсбуку, что это реально надо, показывая документы на стартап, демонстрируя приложение и т.д. Очевидно, им не хочется иметь дело с чем-то уносящим контент из их системы во вне. Кроме этого, токен, который дает доступ к последним сообщениям, относительно короткоживущий (возможно, несколько недель), и получать его заново нужно через браузер только. То есть, любая автоматика требует регулярного внимания, иначе она ломается.

Если протупил и вовремя не выгрузил последние посты через этот Facebook Graph API, они просто исчезают из списка последних и все, больше по API к ним не обратиться. Единственный способ — запросить выгрузку архива у фейсбука. Эта выгрузка тоже довольно дурацкая — там нужно много трансформаций делать и убирать лишнее. Например, в файле с постами, который я обрабатываю, там почему-то хранятся ссылки, которые я отправлял в комментариях без сопроводительного текста. А комментарии там идут в отдельном файле!

Чтобы назначить теги, пришлось решить отдельный челендж. Вот есть около 10000 постов за все время. Это большой кусок, и по нему теги построить нельзя, потому что он в контекстное окно LLM не помещается. А надо. Поэтому я делал так: скрипт берет случайные посты из 10000 в таком объеме, чтобы их суммарный размер был чуть меньше указанного лимита в токенах, и в конец этого блока добавляется промпт «сгенери мне наиболее частые теги, 30 штук» (промпт привожу упрощенно). В итоге я запустил это 10 раз и получил 10 наборов тегов по 30 штук, сгенерированных для разных срезов базы. Получилось 300 тегов, из которых конечно есть полные дубликаты, а есть синонимы и близкие по смыслу. Это все скармливается LLM, и получаем список тегов и иерархию тегов. Теперь у нас есть ограниченный набор тегов, которые максимально отражают 10000 постов. Так получилось, что за почти 20 лет на фейсбуке у меня расклад такой:

Тег Постов

==================================================

#Russia 3412

#Thoughts 3146

#Tech 3105

#Culture 2765

#Hobbies 2726

#AI 1603

#Science 1367

#Software 1358

#Travel 1298

#Learning 1138

#Society 1050

#Nature 958

#Education 915

#Business 902

#Art 894

#Programming 889

#Humor 840

#History 807

#Gadgets 750

#Moscow 713

#USA 614

#Cinema 567

#Webdev 493

#Music 476

#Sports 473

#Mindset 443

#Auto 400

#Books 386

ну и так далее. Этот список включает как теги из ограниченного списка, так и теги, которые LLM поставила материалу просто потому, что не нашла в ограниченном ничего подходящего.

Теги из ограниченного списка стали категориями на сайте. Остальные теги + эти стали просто тегами wordpress.

Поиск по картинкам. У меня было две идеи как его сделать. Первая — OpenCLIP. Это довольно просто, но требует хостинга модели где-нибудь. На своей машине легко, но каждый раз ее запускать неудобно, плюс я планировал переносить мигратор на дешевый сервер в амазон. В облачных моделях тоже нормально считать, но хоть немного за это надо платить, а это еще одна dependency. Но главное — что и без этого неплохо работает. Я с помощью OpenAI , который и так используется для перевода на английский, генерю описания к картинкам, и дальше по этим описаниям делаю embeddings с помощью large модели. Пока что все тесты на поиск проходят на ура. Особенно, когда на картинке есть текст, и большой вопрос разобрал бы ли его OpenCLIP.

В итоге:

1) вордпресс raufaliev точка com — бесплатный

2) вордпресс beinginamerica точка com — бесплатный

3) turso db где хранятся все посты — бесплатный

4) qdrant cloud где хранятся эмбеддинги — бесплатный

5) openai для перевода и описания картинок — не бесплатный, но недорогой (обработка постов за год потребовала 30 баксов).

Прикладываю два скриншота — как работает поиск по изображениям, и по текстам, а также дашборд мигратора.

Ирония русской пунктуации: между бессмысленным и беспощадным | 2026-05-23T13:51:27

Из сетевых просторов — забавно о русской пунктуации от неизвестного автора (лонгрид, но стоит того). (Мне из-за этого текста пришлось дорабатывать свой скрипт трансляции постов на англоязычный сайт, потому что это непереводимо)

Поехали.

1. Вce дyмают, русская пунктуация бeccмысленна и бecпощадна, но это не так. В ней есть два принципа — интонационный и структурный. Так вот, первый — бессмысленен, а второй — беспощаден.

***

2. Интонационным пpинципoм пользовались русские писатели, поэтому по ним учить пунктуацию нельзя. Цвeтaева, например, творила со знаками препинания настолько чёрное, что им теперь никогда не отмыться.

***

3. Cтруктурный принцип пунктуации — это не «я художник, я так вижу», а четкое следование законам русского языка.

Закона два:

1) Разделяй подобное.

2) Выделяй незаконное.

Просто, правда? А теперь поговорим про дох*иллион правил, которые из них вытекают.

***

4. Caмый е*аный и непонятный знак — это точка с запятой (😉. Он загадочен, как пучины океана, и правила его постановки упираются в «ставится, когда элементы предложения сильно осложнены», что может переводиться как «суй куда хочешь, потом отбрешешься».

***

5. Все грамотные люди знают, что надо ставить запятые перед подчинительными союзами. Мало кто знает, что части сложных союзов могут отделяться из-за частиц или вводных слов в главной части предложения.

Примеры ниже.

***

Я люблю тебя, потому что ты смешная.

Я люблю тебя только потому, что ты смешная.

Я люблю тебя, видимо, потому, что ты смешная.

Многие люди, кстати, не в курсе, что существуют подчинительные союзы типа «несмотря на то что», «ради того чтобы» и т. д., А зря!

***

Самая странная ошибка, которую я встречал — это выделение обстоятельств в начале предложения, например:

После хорошего ужина, мне захотелось вздремнуть.

Она там не нужна, ставить ее грешно, не делайте так.

***

Есть только 4 типа выделяющихся обстоятельств:

Деепричастные обороты

Сравнительные обороты.

Уступительные обороты.

Уточняющие обстоятельства.

Все остальное — тьма и ересь.

***

«Деепричастия в тексте выделяются всегда!» — раздается крик русички на весь класс. В большинстве случаев это так, но плохо то правило, где нет исключений! Деепричастия могут не выделяться, если выполняют функцию сказуемого или тесно связаны с ним по смыслу, но это бывает редко.

***

Ещё деепричастия не выделяются, если они наречие (Еду в автобусе сидя) или фразеологизм (Делаю работу спустя рукава). Это надо запоминать, но никто не хочет.

***

Если русский язык не может подчинить что-то своей воле, то он называет знак необязательным или вариативным. Это простой и действенный способ избежать жертв среди филологов.

***

К слову о вариативных знаках. Больше всего тьмы и непонятое в плане пунктуации кроется в области производных предлогов.

Так вот, только ДВА оборота с предлогами ВСЕГДА выделяются:

Несмотря на (обст. уступки)

Кроме/включая/исключая (обособленное дополнение).

***

Предлог «благодаря» выделяется по интонационному принципу, но это далеко не обязательно.

Предлог «типа» (и он пишется именно так — ТИПА) НЕ ВЫДЕЛЯЕТСЯ ВООБЩЕ.

***

Если вас успокаивает то, что вы знаете такой минимум, как запятая перед «и» в сложносочинённом предложении, то у меня для вас плохие новости: есть пять случаев, когда ее там быть не должно.

***

1) У частей ССП есть общий второстепенный член.

Весной голубеет небо и начинают зеленеть деревья.

2) Есть общая главная часть при однородном подчинении придаточных.

Тогда казалось, что мы будем вместе и никто не сможет нас разлучить.

***

3) Есть общее придаточное.

Когда я проснулся, все вокруг было серым и никуда не хотелось идти.

4) Есть общая интонация.

Ты будешь стоять спокойно или мне снова идти за лопатой?

5) Входят в состав прямого вопроса в БСП.

Есть вопрос: ты будешь слушаться или мне тебе наказать?

***

Тире и двоеточие имеют жёсткую привязку к интонации, потому что через нее передают основное значение в бессоюзном предложении. Двоеточие заменяет союзы «что» и «потому что» и выражает распространительное значение, так что с ним все просто.

***

Тире — это всратый знак. Мало того, что его путают с дефисом-шмефисом, так оно — тире! — может быть ещё и парным. В БСП же есть абсолютно невменяемое правило про выражение быстрой смены событий, которую никак определить нельзя. Это надо только чувствовать…

***

Законы русского языка гласят, что признаки объектов должны стоять только перед объектами. Именно поэтому определения, стоящие после определяемого, выделяются запятыми. И здесь вы вспомнили страшные слова «причастный оборот», но это ещё не все.

***

Кроме причастных оборотов, стоящих после главного слова, выделяются ещё и однородные определения, молодые, дерзкие и жаркие, а также сочетания с прилагательными, похожими на причастия, но ими не являющиеся.

А теперь детки, найдите в тексте с правилом примеры.

***

Как уже было сказано, в языке выделяются всякие уродства и некондишки. В отряде определений это причастный оборот, который чувствует себя обстоятельством – трансгендер от синтаксиса).

Совершенно вымотанные, пионеры решили остаться дома.

***

Определения — это признак объекта. Местоимения указывают на объекты, но не называют их. Они не могут быть вместе, это неестественно.

Именно поэтому определения, относящиеся к личным местоимениям, выделяются всегда.

Уверенный в своей правоте, он продолжал носить шёлковую ночнушку.

***

Самая е*анина в обособлении — это конструкции с союзом «как», потому что там мильон подпунктов, на каждый из которых есть своя оговорка в духе «но если вам очень хочется, то…»

Чтобы правильно ставить запятые, надо разобраться, где у вас сравнение.

***

Что такое сравнение? Это когда ЧТО-ТО выражает признак через сравнение с ЧЕМ-ТО. Логично? Если у вас только один элемент, то это не сравнение, а сказуемое.

У нее задница как у корабля.

У нее задница большая, как у корабля.

***

Ни в одном фразеологизме не нужны знаки препинания, даже если все ваше существо вопит, что они там жизненно необходимы.

Беден как церковная мышь.

Голоден как волк.

Ни рыба ни мясо (особенно больно).

***

В большинстве оборотов с «как» союз можно заменить:

КАК=В КАЧЕСТВЕ – не ставим зпт.

КАК=БУДУЧИ – ставим зпт.

КАК=любой другой сравнительный союз – смотрим, сравнение ли это.

А потом думаем.

Я, как классик литературы, ставлю запятые как хочу.

Я люблю тебя как друга.

***

По поводу «как хочу», «как угодно», «как заблагорассудится» и т.д.

Это устойчивые сочетания, запятая перед ними не нужна, но только если в предложении не пасётся слова «так».

***

Если в предложении ЕСТЬ указательное местоимение ТАК/ТАКОЙ, перед «как» автоматически вырастает запятая, ибо их сочетание даёт нам парный союз ТАК…, КАК.

***

Если вы когда-нибудь скажете филологу, что вводные слова кругом всегда в запятых, вы можете быть посажены на бутылку подумать о своем нехорошем поведении.

Вводные слова не выделяются в начале и в конце обособленных оборотов.

Поеду куда-нибудь, в Питер например.

***

Рубрика «Вам не говорили об этом в школе, и слава богу».

Ряд однородных членов после обобщающего слова — двоеточие, перед — тире, но иногда бывает, что сначала двоеточие, а потом тире:

Знаки препинания: запятые, тире и прочая херня – должны ставиться правильно.

***

Самый мощный пунктуационный мутант — это запятая-тире (,—)

Даже маститые профессоры начинают невнятно мычать, когда их просят объяснить законы постановки этого знака, поэтому я не буду даже пытаться.

***

Для кого-то это секрет, но запятая в обращении после частицы «о» не нужна.

Приезжай же скорее, о женщина моей мечты!

Обращения при этом выделяются запятыми целиком.

О луна моей жизни и закат моего разума, когда ж ты приедешь с далёкой чужбины?

***

Кстати! Выделяется все незаконное, так? Так! Поэтому мы и отделяем запятыми вводные слова, обращения и эмотивные междометия, ведь они не связаны с предложением. То есть они НЕЛЕГАЛЫ.

***

В сложных предложениях часто попадается запятая на стыке союзов.

Мне сказали, что(,) если все получится, мы зашибем бабла.

Так вот, если вы видите в предложении ТО или НО, зпт вам на стыке не нужна.

Также она не нужна в начале предложения.

Но когда меня спросили, я не ответил.

***

Все знают, что в сложном предложении запятая ставится перед союзом и РАЗДЕЛЯЕТ (запятые в русском ничего не соединяют!), но это не работает с определительными придаточными.

Иду мимо дома, обшарпанные стены которого скоро падут.

Зпт в таких предложениях стоит ПОСЛЕ ГЛАВНОГО СЛОВА!

***

Средством связи в СПП могут быть не только союзы и союзные слова, но и частицы. Обычно используются частицы ЛИ (в вопросительных) и НИ (в уступительных). Запятые ставятся на границе частей.

Хочу спросить, можешь ли ты мне помочь?

Сколь бы ты ни ныл, ты все равно во френдзоне.

***

Не все инфинитивные конструкции в предложениях выделяются. Ваш ориентир для запятой — союз «чтобы».

Мы пошли в бар нае*ениться — обстоятельство цели выражено инфинитивом.

Мы пошли в бар, чтобы нае*ениться — обособленное обстоятельство цели.

***

Если вам когда-нибудь напишут что-то вроде «Ты ох*ел чтоли», то вот на что вам надо указать относительно вопросительной частицы «что ли»:

1) Пишется раздельно.

2) Всегда выделяется запятой.

3) Всегда образует вопросительное предложение и требует «?»

Ты неграмотный, что ли?

***

Пришла пора разрушить ваши детские иллюзии по поводу фразы «Казнить нельзя помиловать».

НИГДЕ в этой фразе не нужна запятая!

Казнить: нельзя помиловать ( двоеточие=потому что).

Казнить нельзя – помиловать (тире=поэтому).

Да, вам лгали все детство, живите с этим.

***

В этих ваших интернетах точка в конце предложения считается даже не анахронизмом – дурным предзнаменованием, и ее опускают

А некоторые особо радостные лепят сотни восклицательных знаков!!!!! В каждом предложении!!!!!!!!

В реальной жизни так делать НИНАДА!

***

Помните следующее: при общении в интернете разница между понятиями «заносчивый говнюк» и «вежливый человек» заключается зачастую в постановке вопросительного знака.

«Встретимся» — утверждение говнюка.

«Встретимся?» — вопрос человека.

***

ЧТО ПО НОРМАМ СТАВИТСЯ В КОНЦЕ ПРЕДЛОЖЕНИЙ:

В повествовании ставится точка. Или, если мы у мамы томные, троеточие…

Мы задаём вопрос? Может, с восклицанием?! Или мы снова томные?..

Когда восклицаем, то ставим ОДИН знак! А при недосказанности и томлении!..

***

Междометия — это внесистемный элемент языка из области вечной тьмы и первородного хаоса. С их выделением возникают вопросы, потому что не все лингвисты не могут до конца ответить на вопрос «Что ты такое, тварь?!»

***

В тексте выделяются эмотивные междометия: ух, ох, ой, б*ять, ё* твою мать и прочие.

Ух, какая у нее жопа!

Но! В сочетании с вопросительными местоимениями они могут приобретать обстоятельственное значение и становиться наречиями.

У нее ух какая жопа!

***

Про тире в простом предложении. Оно может не ставиться между подлежащим и сказуемым, если подлежащее выражено местоимением.

Вы молодцы и умницы.

Вы – молодцы и умницы.

Второй случай, ясное дело, более выразителен»

Четыре чайника и умное кольцо: неожиданные подарки от роботов | 2026-05-22T19:21:14

Заказал чайник Breville. Сто баксов стоит. Да, можно было купить похожий за 30, но у меня все Breville, плюс чайник покупается на несколько лет. Прихожу домой — у двери стоит коробка мне по пояс. Удивило не сильно, потому что Amazon любит класть какую-то мелочь в дальний угол огромной коробки, им так проще. Но сомнения усилились после того, как я ее не поднял одной рукой. Заношу домой — а там четыре чайника.

Открываю Амазон, смотрю заказ — все правильно, один. Может, они за 100 баксов продают 4-pack? Нет, в описании один чайник. Жму на саппорт, отвечает робот. Выбираю пункт «привезли extra items». Робот говорит «наш фолт, оставьте себе». Ну ок, теперь у меня четыре чайника. Семья большая, по чайнику каждому.

У Нади есть умное кольцо Oura 4. Что-то часто приходится заряжать, говорит. Раньше подольше работало, говорит. Связываюсь с саппортом. Отвечает робот. Я открываю своего робота и прошу сформулировать хорошее письмо в саппорт. Их робот проникся, говорит, сейчас подключусь к вашему кольцу и все пойму. Подключился, понял. Говорит, ждите новое кольцо. Сегодня приехал невзрачный конвертик с кольцом внутри. Если бы не FedEx его душно было со спамом выбросить.

Люблю роботов, за эти два раза почти на семьсот баксов ништяков. Ну хорошо, с кольцом хоть гарантийный случай, хотя я ожидал, что меня с моими претензиями к батарее послали.

Ну раз так, попросил робота сделать иллюстрацию к посту.

Ярмарка, ручка и исследование: как не заметить разницу | 18 мая 2026 года, 18:13

У нас тут проходила азиатская ярмарка — японские, китайские, корейские товары и street food. Мы там купили пирожок и какую-то ручку у японок за 6 баксов, которую нам красиво упаковали и попросили обзор в instagram. Ручка как ручка. Сравнили дома с имеющимися гелевыми — разницы никакой. Но я погуглил ради интереса.

«Эти чернила не просто отлично выглядят — они могут даже помочь вам учиться лучше. Исследование, проведённое в Университете Рицумэйкан в Японии, показало, что студенты, которые повторяли материал по конспектам, написанным чёрной ручкой Uni-ball One, лучше запоминали информацию, чем те, кто читал записи, сделанные обычными чёрными чернилами.»

Думаю, кто ж такие идиотские исследования выполняет, и кто их заказывает. Вообще без сюрпризов. Mitsubishi Pencil (производитель Uni-Ball) приходит в универ, находит там профессора Масаси Хаттори (服部雅史) с факультета психологии Университета Рицумэйкан, а тот организует доклад о том, что на старшеклассниках провели «задачу на воспроизведение из памяти»: сравнивали запоминание рукописного текста, написанного ручками разной насыщенности, и получили результат, что текст, написанный густыми чёрными чернилами компании, оплачивающей исследование, воспроизводился точнее, чем обычными гелевыми чернилами.

Часть соавторов доклада — сотрудники Mitsubishi Pencil. Статьи рецензируемой не было, да никакой не было, был только конференционный доклад на 38-м съезде Японского общества психономики (日本基礎心理学会第38回大会) 1 декабря 2019 г.; также результаты были представлены на 32-м Международном психологическом конгрессе ICP 2020+.

В общем, вот такая ручка 🙂

Бродвейский блеск: наблюдая за «Великим Гэтсби» | 18 мая 2026 года, 01:23

Смотрим бродвейский мюзикл Great Gatsby. Бросается в глаза, что доля девушек, выгуливающих платья, превышает заметно долю парней, выгуливающих девушек. Задумался почему. Похоже, объяснение простое. Если девушке хочется на мюзикл, а у нее нет парня, она возьмёт с собой как минимум одну девушку, а лучше двух. А парень скорее вообще не пойдёт, чем с другом припрется. Ну за определёнными исключениями

Культура взаимодействия: как меняется общение в международных компаниях | 15 мая 2026 года, 15:12

Я вспоминаю свою работу на разных проектах и в разных компаниях до 2016 года, и сравниваю с тем, что я вижу из США (проекты США, Европы, и Азии), и замечаю одну интересную штуку — на коллах вообще не срутся, нет истеричек и неуравновешанных менеджеров, орущих на всех вокруг, и бесящихся по каждому поводу, нет открытых конфликтов. Конечно, по-прежнему есть подковерные игры и политика, но гадости если делают кто-то кому-то, то с улыбкой и вежливо (но в целом нечасто такое).

В «прошлой жизни» это было обычным явлением, которое никто особо за что-то ненормальное не считал. Особенно, если истерика по какому-то реально важному рабочему вопросу, и человек реально болеет за результат.

Меня собственно что интересует — что изменилось? Есть четыре варианта, наверняка работающие вместе:

1) я переехал в США

2) время другое

3) таблеточки пьют

4) онлайн-этикет отличается.

Есть еще очевидный пятый — «я изменился», но он тут не очень подходит, потому что я говорю не про конфликты кого-то со мной или меня с кем-то, а про наблюдение со стороны на общение других людей, а оно вряд ли как-то изменилось. С моей стороны, как я наблюдаю, взаимодействие на планерках людей друг с другом стало гораздо добрее, но не могу понять — это время такое и так уже везде, или в российских компаниях все еще так, просто я этого по очевидным причинам не вижу? Или это особенности онлайн-планерок, где как-то странно орать на компьютер? Речь про большие серьезные компании, а не про планерку в городском спорткомитете.

Лисьи удивления и поздравления | 15 мая 2026 года, 01:05

Помните я несколько дней назад постил лису, которая т очень заинтересовалась Юкой и долго его разглядывала? Сегодня другая лиса пошла в наступление. Она на нас орала, обошла сзади и орала ещё оттуда

С может это она его с днём рождения поздравляет

Особенный день нашего питомца | 14 мая 2026 года, 23:39

Надя сказала собаке утром, что будем забирать кота. Он пару раз приходил на кухню и не отрываясь смотрит на меня. Мол, что сидишь, говори уже, я помню, что сегодня особенный день. Ну я сижу работаю, он пошёл спать. Проснулся. Смотрит в окно. Решил его обрадовать;)

Особенный день у него завтра, день рождения.

Преобразование растровых диаграмм в Draw.io: утро продуктивности | 14 мая 2026 года, 17:16

Сделал за утро сегодня программу, конвертирующую растровую диаграмму png/jpg в редактируемую Draw.io. Она определяет объекты — прямоугольники, круги, эллипсы, треугольники, оставляет их на своих местах. Дальше распознает связи между ними и связывает эти блоки в drawio, так что я там могу уже двигать как мне удобно. Также распознает надписи. Получается неплохо. Другие примеры — в комментариях