Лента
GitHub не был началом. До этого были проверки SVN, которые ломались, если на ниЧитать далее…
OpenSSH creator Theo de Raadt was pushed out of NetBSD, lost a DARPA grant and fought half of open source. Now his paranoid code guards the world's servers.
I. Half a Second
Until the last days of March 2024, almost nobody outside a small circle of programmers had heard of liblzma. It was a compression library, a piece of plumbing buried deep in Linux, and for two years someone had been preparing to use it to walk through the front door of the internet.
He called hЧитать далее…
Я опять перестал писать в блог. Каждый раз говорю себе: «пиши!», а другая моя часть говорит «лень!». В этот раз немного поборю лень.
Наверное, стоит написать про то, что делал, да что происходило... А делал я вот что:
CreoCode (https://creocode.io/)
Читать далее…В мире всяких аналогов make создано достаточно. И даже больше чем достаточно! Есть как альтернативные реализации (GNU Make vs BSD Make), так и совсем самобытные (redo). В моей практике, как разработчика НЕ на Си — make используется исключительно как запускалка некоторых частых команд. И это притом, что make всё же несколько для другого. И в целом, именно запускалка — скорее побочный эффект.
Казалось бы, тогда для большей красоты — стоит использовать специализированное решение, например, Taskfile. Но тогда каждому для работы с проектом придётся ставить приложение для работы с Taskfile. Выглядит как такое себе решение.
Но! У всех же точно есть POSIX sh! Так что мешает делать очень минималистичный sh скрипт, суть которого в простом запуске команд? Да ничего! Вот самый простой вариант:
Читать далее…Мне надоело!
Надоела сложность с которой я сталкиваюсь при написании новых постов в блог!
Поэтому я всё же выделил время и настроил пайплайн так, чтобы хотя бы писать посты было удобно. А именно, в Obsidian. Который и сам на себя берёт управление статикой, которую я прикладываю и красивое оформление и управление тегами, потому что я не помню какие теги есть, а каких нет.
Читать далее…https://www.opennet.ru/opennews/art.shtml?num=65222
Загнивает. А жаль. Видимо, и правда придётся или ждать хардфорка ядра в Альт или переезжать на *BSD. Последнего бы не очень хотелось, ведь хоть и ОС по отзывам и очень годная, но всё же целиком делают не наши. Да и нынче связана с нежелательной организацией. А это всё риски и намекает, что не стоит делать на неё ставку. Хотя и считаю что это уже чушь какая-то. Но «маемо шо маемо».
А для меня, в свете событий последних лет, страна производства стало чуть ли не главнейшим критерием. И подобные новости только лишний раз убеждают в правильности такой позиции.
Читать далее…Вчера гуляли с супругой на набережной, а сегодня чисто случайно решили прогуляться в сквере филармонии им.Тукая. Людей было немного, что только создавало больше уюта и ламповости этому хорошо украшенному скверику. К сожалению, гулять прям долго-долго особо не вышло, т.к. хоть и всего -7°, но продрогли сильно, т.к. гулять изначально не планировали и не были одеты соответственно. Сейчас дописываю этот пост и пытаюсь отогреться :)
Как водится, дальше будет немного фотографий :)

Сегодня с супругой съездили для интереса на ярмарку OSM (нет, это не OpenStreetMaps, а OpenSpaceMarket :) ) в гастрокомплексе «Кайт». Ярмарка не скажу что была сильно большой, но нам понравилось. Купили всякого не сильно много, поднос да пару ароматных свечек с зимними ароматами. Фотографии покупок да и самой прогулки прилагаю. Всё таки у нас очень красивый город!
P.S. на фотку можно кликнуть, тогда она откроется в большем размере.
Покупочки
Читать далее…После вчерашнего поста мне написал один хороший человек с дельным замечанием, что не стоит для этих целей использовать make. Действительно так. И предложил хорошее решение, что это стоило сделать просто sh скриптами.
У меня только один вопрос. А почему я сам-то так сначала не сделал? Это же буквально на поверхности!
Штош, бывает, затупил. Да и привык для всех гвоздей использовать этот молоток.
Читать далее…А ещё, я решил поделиться тем как я пишу в блог. Потому что, почему бы и нет.
Во-первых, у меня есть такой вот Makefile просто в корне home:
new-post:
@printf "Введите имя поста (латиницей, без пробелов) [new-post]: "; \
read postname; \
if [ -z "$$postname" ]; then \
postname="new-post"; \
fi; \
date=$$(date +%Y-%m-%d); \
file="neonxp.ru/posts/$$date-$$postname.md"; \
echo "---" > "$$file"; \
echo "title: " >> "$$file"; \
echo "date: $$da
echo "tags: []" >> "$$file"; \
echo "---" >> "$$file"; \
echo "" >> "$$file"; \
echo "---" >> "$$file"; \
echo "Комментариев в блоге не предусмотрено, но вы всегда можете написать мне на e-mail [i@neonxp.ru](mailto:i@neonxp.ru) или в джаббер [i@neonxp.ru](xmpp:/i@neonxp.ru)" >> "$$file"; \
nvim "$$file"
Читать далее…Так получилось, что с Нового Года я ничего в блог не писал. Тому причина в личной загруженности, и в не менее личной лени. Так же я делал некоторые эксперименты над самим блогом, потому что моё внутреннее чувство прекрасного не даёт мне просто остановиться и не трогать то, что работает.
Но всё же, я чувствую внутреннюю потребность написать небольшую заметку с размышлениями, которые недавно приходили ко мне в голову.
А связаны они с тем, что есть определённые догмы в индустрии, которые непонятно (ну или понятно) почему появились, и которым слепо следуют, хотя, как будто они уже не имеют смысла.
Читать далее…Просто собираю подборку интересных ссылок по гошке на почитать потом.
- Extra — Моё. Пакет с разными полезными
функциями без дополнительных зависимостей. - Серия видосов про создание игры в стиле Animal Crossing на golang с помощью
raylib —
https://www.youtube.com/watch?v=iWp-mCIQgMU&list=PLVotA8ycjnCsy30WQCwVU5RrZkt4lLgY5&index=1 - Самописный распределенный типа Postgres
https://notes.eatonphil.com/distributed-postgres.html. Под капотом raft от
hashicorp, boltdb и самое интересное — парсинг SQL - Рассчет расстояния между двумя Geo точками:
import "math"
...
// https://en.wikipedia.org/wiki/Haversine_formula
func GetDistance(lat1, lon1, lat2, lon2 float64) float64 {
lat1 *= math.Pi / 180
lon1 *= math.Pi / 180
lat2 *= math.Pi / 180
lon2 *= math.Pi / 180
return 12742 * math.Asin(
math.Sqrt(
math.P
Читать далее…