malloc(inf * sizeof thought);

Telegram Channel: @mall0c
Description: Произошло динамическое выделение памяти на неопределенное количество мыслей, пул памяти заполняется…

PLs: C, Go, TS/JS, Python
Subscribers: 8
Posts: 41
Created: January 13, 2024

mall0c [0x00000019]

Пока гуглил и читал всякое про SSGs, набрел на еще один генератор статических сайтов - Zola. Автор Zola взялся за реализацию своего SSG тоже после плохого опыта с Hugo, а именно из-за неприязни к шаблонизатору Golang, от которого многие не в восторге, в остальном Zola буквально копирует Hugo. Надо отметить, что и документация у Zola намного лучше и понятнее чем у Hugo. Я не стал пробовать перейти с Jekyll на Zola, так как я уже вижу в нем для себя ряд недостатков:

  • отсутствие поддержки пермалинков на базе даты
  • отсутствие поддержки YAML/JSON формата для конфигов и всего остального, есть только поддержка YAML Front Matter, которая не рекомендуется почему-то
  • отсутствие некоторых элементов для медиа в atom feed
  • отсутствие возможности добавления/изменения функционала при помощи плагинов

Скорее всего это не весь список всего того что мне не нравится, так как я сделал довольно поверхностный обзор возможностей Zola и предлагаемых скинов.

mall0c [0x00000018]

После неудачного опыта с Hugo, у меня возникло желание попробовать реализовать свой SSG со всеми необходимыми для меня плюшками и попробовать достичь производительности что-то между 11ty и Hugo за счет WebAssembly модулей, но с нормальной поддержкой liquid, с поддержкой пермалинков на базе даты, без этой всей универсальности. Дело это не простое, но я никуда и не спешу, потихоньку буду пилить, может чего и получится. Даже заготовил пару npm пакетов:

  • http-server - простой и безопасный однофайловый локальный веб-сервер
  • markdown-wasm - очень быстрый парсер Markdown и генератор HTML, реализованные в WebAssembly на основе md4c

mall0c [0x00000017]

Вчера попробовал использовать новую версию eslint - 9.1.1, flat config и вот это все, и конечно с плагином для typescript - typescript-eslint [даже не знаю кто все еще работает с vanilla JS без типизации].
В общем, лучше бы я этого не делал, так как все это трахание с конфигами и еще большим количеством пакетов вызвало невероятный батхерт. Серьезно, какого фига чтобы добавить правило для типа quotes мне еще надо установить 4-й пакет (речь про ESLint Stylistic), они там совсем ебанулись? Кто-то заигрался в гранулярность. Плюс ко всему увеличился лаг через плагин vscode, возможно дело не в самом плагине даже, как в самом eslint, но могу ошибаться.

В итоге все закончилось тем, что я нашел на реддите братьев по батхерту и узнал про Biome - потомка, не пришедшего к успеху Rome, который был когда-то под крылом Meta инкубатора для стартапов. Biome является и линтером и форматером, реализован на Rust, как и его предшественник, что делает его невероятно быстрым ☺️ И да, Biome форматер и линтер идут одним пакетом с поддержкой typescript, и есть плагин под vscode. Еще порадовала поддержка нормальной сортировки импортов и линтер по дефолту определяет там где обычный import может быть заменен на import type.

Пока думаю мне достаточно трахания с eslint, буду дружить с Biome.

mall0c [0x00000016]

Мало того что фича, которая позволяет использовать разные GitHub аккаунты в vscode уже несколько лет имплементируется с переменным успехом и никак не получается выкатить, так еще и месяц назад Microsoft обрубила возможность назначать разные GitHub аккаунты расширениям vscode. Приходится пока пользовать vim в некоторых случаях с его плагинами, больно и непривычно, но что поделать :(

mall0c [0x00000015]

Все что стоит знать о Bloomberg - «авторитетном и уважаемом во всем мире информационном агентстве», которое рекламирует мега скамерский стартап - здесь и здесь

mall0c [0x00000014]

Email Plus Addressing (он же Email sub-addressing)

username+tag/alias@example.com

Многие либо никогда не слышали о такой фиче, либо слышали и никогда не пользовали, а она очень удобна в плане организации входящих электронных писем, отфильтровать спам и более эффективно отслеживать ответы или подписки. Также необязательно создавать кучу отдельных имэйл адресов, как это многие делают, чтобы создать много аккаунтов на каком-то сайте/сервисе/платформе, так как email plus addressing позволяет иметь неограниченное количество уникальных имэйл адресов.

mall0c [0x00000013]

Так как мне лениво переводить и пытаться уместить весь мой пост про Hugo в 4096 символов (гребанные лимиты тг без подписки), то просто оставлю здесь линк 🤪

mall0c [0x00000012]

В общем, случилась такая фигня, что я приболел и на больничном решил посидеть еще над миграцией Jekyll темы на hugo, что причинило мне невероятно много боли и страданий, и это заслуживает отдельного поста, но если вкратце, то у Hugo только один жирный плюс - он невероятно быстрый, все, на этом плюсы заканчиваются. И в общем, я забил на перенос темы где-то на середине пути 🙃

mall0c [0x00000011]

Написание темплейтов под Hugo куда посложнее, чем для Jekyll с его простеньким liquid от Shopify. В общем порог вхождения повыше, нужно понимание того как работают golang html темплейты , зато предоставляется больше возможностей/гибкости. Придется немного попотеть, часть jekyll-theme-hacker уже переписал.

mall0c [0x00000010]

Рассмотрев все альтернативы, похоже лучше чем giscus для SSG вряд ли что найдется. Заодно наверное стоит перейти с Jekyll на Hugo

mall0c [0x0000000F]

Disqus совсем скатился , начал трекать и коллекционировать все подряд и размещать рекламу, даже дефолтный блокировщик трекинга от Firefox блочит его :( для моего не особо посещаемого сайта это конечно не беда, просто снес аккаунт 🤪

mall0c [0x0000000E]

Осталось самое мое не любимое занятие, это документирование для telebuilder и jekyll-post-bot 🤪

mall0c [0x0000000D]

Вот и выкатил более менее стабильную версию бота для трансляции постов из тг канала в микроблог на основе Jekyll - https://github.com/en9inerd/jekyll-post-bot
Микроблог здесь - https://memoryall0c.github.io

mall0c [0x0000000C]

Что ж, раз телеграм не разбанивает мои телефонные номера, которые я обычно раньше использовал для теста своих приложений основанных на Telegram API (через GramJS/Telethon), и более того вообще везде игнорирует мои имейлы и сообщения, и не только мои, но и других разработчиков, то придется изменить концепт приложения, которое я задумал для трансляции постов из тг канала на сайт сгенерированный при помощи jekyll.

На сегодняшний день телеграм довольно неплохо закручивает гайки разработчикам альтернативных/неофициальных клиентов, в целях борьбы с юзерботами. Анти-спам алгоритм стал учитывать более широкий спектр факторов: IP адреса, частота определенных запросов, наличие подключенных ботов и пользователей через неофициальный клиент на одних и тех же "api_id" и "api_hash", отправка одноразовых кодов через бота для подключения пользователя, и прочее. Все еще осложняется, если твои номера виртуальные, а не через провайдера сотовой связи, если тех поддержка это видит, то игнорят все твои запросы на разбан.

mall0c [0x0000000B]

В общем, тестирование и разработка приложения на production тг серверах пока встала на паузу, попробую попозже на тестовых серверах, но там свои проблемки с дублированием telegram updates 😞
Написал в тех поддержку, надеюсь разблокируют номера.

Вообще проблема довольно распространенная, даже среди тех кто пользует официальную tdlib библиотеку - https://github.com/tdlib/td/issues/2687

Разработчики использующие telethon тоже давно жалуются на баны без разбора - https://github.com/LonamiWebs/Telethon/issues/824