Category : golang

golang
Свой CAM для фрезеровки плат: Windows 7, станок без API и карта высот самой фрезой

Когда односторонняя плата нужна сегодня, а не через две недели заводского цикла, и под рукой есть фрезерный станок, её можно изготовить за один вечер. Я отладил старый станок так, чтобы он делал платы с дорожками шириной 0,2 мм, зазорами 0,2 мм и отверстиями. Сразу обозначу ограничения: метод рассчитан на один слой меди, не поддерживает переходные отверстия.Плата после станка: дорожки, отверстия, V-канавки по краюСтанокСтанок находится не у меня. Доступ к нему я получаю по договорённости с ЦМР,…

  • среда, 21 октября 2026 г. в 00:00:16
golang
NKT: Илон Маск, мы тоже научили контейнеры летать

👉 GitHub: github.com/piqab/nkt📚 Документация: piqab.github.io/nkt

  • среда, 21 октября 2026 г. в 00:00:15
golang
YPtun — один клиент вместо десятка или как мы собрали кучу протоколов в одном месте

Xray, sing‑box, WireGuard и DNS‑туннель в одном процессе: как устроен YPtun изнутриПроект начинался как Olcbox, маленький конфигуратор для одного экспериментального транспорта. Следы того времени до сих пор живут в коде: версия передаётся в Gradle флагом -Polcbox.version, пакеты называются org.olcbox.app, а главный сервис называется OlcboxVpnService. Переименовывать всё это ни у кого не поднимается рука, и ниже будет понятно почему: одно только переименование applicationId заняло два релиза.Сей…

  • вторник, 20 октября 2026 г. в 00:00:18
golang
Tool calling в Go: почему вызов модели ещё не разрешение выполнить команду

С tool calling у LLM появляется возможность не только отвечать на вопросы, но и вызывать функции нашего приложения. Можно дать модели доступ к поиску заказов, проверке платежей, созданию документов или изменению настроек.Интеграция на первый взгляд довольно простая. Передаём модели описание функций, получаем название инструмента и аргументы, проверяем JSON и вызываем нужный обработчик.Но здесь есть проблема. Валидный tool call ещё не означает, что операцию вообще разрешено выполнять.Чтобы разоб…

  • вторник, 20 октября 2026 г. в 00:00:18
golang
Как один сервер на Go держит 2500 бойцов в браузерной драке

стенка на стенкуЯ делаю Brawl Town - браузерную драку в духе Final Fight и Streets of Rage. На одной улице дерутся игроки и боты. Установки и регистрации нет: достаточно открыть игру и выбрать ник. Проект разрабатываю один.Мне хотелось понять, сколько бойцов можно обсчитывать в одном процессе на обычном ПК. В текущем нагрузочном тесте i7-7700K выдерживает 2500 подключённых клиентов на улице шириной 3600 px: тик занимает 28–31 мс при бюджете 50 мс. Если собрать всех на одном экране, время выраст…

  • понедельник, 19 октября 2026 г. в 00:00:13
golang
YPtun

Xray, sing‑box, WireGuard и DNS‑туннель в одном процессе: как устроен YPtun изнутриПроект начинался как Olcbox, маленький конфигуратор для одного экспериментального транспорта. Следы того времени до сих пор живут в коде: версия передаётся в Gradle флагом -Polcbox.version, пакеты называются org.olcbox.app, а главный сервис называется OlcboxVpnService. Переименовывать всё это ни у кого не поднимается рука, и ниже будет понятно почему: одно только переименование applicationId заняло два релиза.Сей…

  • понедельник, 19 октября 2026 г. в 00:00:12
golang
Возвращение в прошлое, которого у нас ещё не было

Интернет когда-то выглядел иначе. До бесконечных лент, рекомендательных алгоритмов и личных брендов существовали BBS, локальные сети, IRC, форумы и имиджборды. Пользователь приходил туда не ради собственного профиля, а ради темы, разговора или случайной встречи с незнакомым человеком.У этих систем было много ограничений. Соединение могло быть медленным, интерфейс — текстовым, а навигация — целиком клавиатурной. Но именно ограничения часто делали общение более прямым. На экране не было десятка у…

  • понедельник, 19 октября 2026 г. в 00:00:11
golang
ccswap: переключаю Claude Code между своими подписками без прокси и перезапуска

У меня несколько своих подписок Claude, и Claude Code работает почти весь день: я пишу сам, параллельно крутятся агенты. Пятичасовой лимит заканчивается в самый неудобный момент, недельный — задолго до конца недели. Дальше всё одинаково: открыть терминал, выйти, залогиниться другим аккаунтом в браузере, вернуться в сессию и вспомнить, на чём остановился. В какой-то момент мне надоело делать это руками.Так появился ccswap — демон на Go для macOS и Linux. Когда текущий аккаунт подходит к лимиту (…

  • воскресенье, 18 октября 2026 г. в 00:00:08
golang
GoOS: от любопытства к собственному ядру

Ещё в школе, когда я впервые начал писать на Pascal, меня заинтересовал вопрос: что именно происходит, когда запускается программа? Программа читает клавиатуру, выводит текст, выделяет память. Но кто её запускает? Кто выделяет ей процессорное время? Почему она не может прочитать память другого процесса? Как нажатие клавиши превращается в событие для приложения? И что происходит между включением компьютера и первым приглашением командной строки? Вместо того чтобы ограничиться прикладным программ…

  • суббота, 17 октября 2026 г. в 00:00:16