У нейросетей есть ограничение на количество символов в чате или на число запросов. И бывает так, что лимит уже закончился, а разработка проекта — нет.
Тогда приходится открывать новый чат и заново напоминать контекст: что за проект, какая структура, какие файлы важны, где уже были изменения. Обычно это сводится к ручному копированию кода, а это долго и неудобно.
Отдельная проблема — DeepSeek не всегда понимает ссылки на репозиторий и не смотрит код по ним так, как хотелось бы. Зато если дать ему сам контекст кода текстом, он включает его в анализ.
Читать далееТак как в первой статье я сосредоточился на схемотехнике, в этой хотелось бы пройтись по разработке ПО и прошивки.
Напомню, я решил, что вместо прошивки мне подойдёт и нейрослоп - в конце концов это не серийное устройство, а поделка для себя. И тут, как обычно, в процессе работы пошли фейерверки.
ESP32-S3 имеет два USB выхода - обычный через микросхему CH340, которая конвертирует USB в UART, и второй USB OTG, который подключен к чипу напрямую. То есть чип может управлять тем, какое "устройство" он предоставит хостовой ОС! Более того, он может предоставлять несколько устройств одновременно. Это было как раз то, что надо: одним устройством будет USB HID клавиатура для "сырого" ввода в консоль, например, а вторым - USB RAW устройство, которое будет слушать софт бекенда - запускать приложения по ярлыкам, регулировать громкость, отправлять в устройство настройки. И всё это минуя тормознутый UART. Сказка. Но, как оказалось, для взрослых.
Казалось бы, полный интернет примеров того, как это настраивать. Даже в самом фреймворке esp-idf есть пример композитного устройства, значит, информация уж точно легкодоступная, бери да пользуйся. Я попросил ИИ добавить это в прошивку и... Оно не смогло. То есть вообще. Два дня и токенов примерно на 30 баксов - и я взял дело в свои руки, потому что ИИ выдумывал всё более и более изобретательные причины того, почему прошивка не компилируется, но вот выдумать компилирующуся прошивку не мог никак.
Читать далееСистемный аналитик пишет User Story, рисует BPMN, описывает API — а через месяц архитектор перекраивает всё, потому что «это не ложится на DDD». Знакомо?
В этой статье я показываю пошаговый маршрут, как аналитику самому спроектировать доменную модель и перенести её в Java‑код. Разбираю на реальном кейсе: Event Storming, выделение ограниченных контекстов, построение агрегатов с инвариантами и асинхронное взаимодействие через интеграционные события.
Читать далееНа bare metal внешний доступ к Kubernetes часто становится головной болью: NodePort с рандомными нестандартными портами не для продакшена, а облачного балансировщика нет. MetalLB превращает обычные узлы кластера в полноценный балансировщик с автоматическим failover. Разбираем режимы BGP и L2, а ещё показываем фишку Deckhouse Kubernetes Platform, которая спасает активные соединения при падении узла.
Читать далееПо-настоящему культовые произведения искусства отличаются от заурядных тем, что люди спустя годы продолжают находить в них смыслы, которые авторы и не думали закладывать. В 2000 году на экраны вышел триллер «Мементо» (в другом переводе — «Помни»), благодаря которому тогда ещё начинающий режиссёр Кристофер Нолан получил мировую известность. Сегодня, в эпоху бурного развития искусственного интеллекта, этот фильм стал как никогда актуален: история человека, лишённого памяти, неожиданно точно описывает работу современных ИИ-агентов — о чём авторы фильма, конечно, не могли задумываться.
Разберём, почему это такИИ не заменит аналитика данных или специалиста по Data Science. Но он может сильно изменить их работу: ускорить и упростить процессы — или, при неправильном использовании, снизить качество результатов и отучить специалистов мыслить критически.
В Яндекс Практикуме прошёл вебинар «ИИ для аналитиков: как меняется профессия» — эксперты курса «Аналитик данных» и направления Data Science Александр Вальд и Евгений Арзамасцев рассказали, как нейросети помогают работать с данными, какими инструментами можно пользоваться и где без человека пока не справиться. Делимся самым интересным.
Читать далееИИ не заменит аналитика данных или специалиста по Data Science. Но он может сильно изменить их работу: ускорить и упростить процессы — или, при неправильном использовании, снизить качество результатов и отучить специалистов мыслить критически.
В Яндекс Практикуме прошёл вебинар «ИИ для аналитиков: как меняется профессия» — эксперты курса «Аналитик данных» и направления Data Science Александр Вальд и Евгений Арзамасцев рассказали, как нейросети помогают работать с данными, какими инструментами можно пользоваться и где без человека пока не справиться. Делимся самым интересным.
Читать далееВ этой части мы наконец-то обратимся к коду реальных программ. Примером нам будет служить код поиска шахматной программы Стокфиш. В настоящее время это безусловно сильнейшая шахматная программа в мире.
Читать далееВсем привет. Мы в Ænix давно занимаемся Kubernetes-платформами, bare metal-инфраструктурой и Cozystack, поэтому тема блочного хранилища для Kubernetes у нас не теоретическая. Это та часть стека, где красивых абстракций быстро становится мало: надо переживать падения нод, понимать топологию, реплицировать данные, не ломать PVC, дружить с CSI и при этом оставаться предсказуемыми для операторов.
Сегодня хотим показать первый публичный результат этой работы — Blockstor 0.1.0.
Blockstor — это открытая система управления распределенным блочным хранилищем для Kubernetes. Она использует DRBD для репликации данных, совместима с REST API LINSTOR и написана на Go как самостоятельная clean-room реализация. Код распространяется под Apache 2.0.
Читать далееЭта статья - продолжение моей предыдущей статьи: Создаем собственную базовую станцию при помощи SDR. В прошлый раз я экспериментировал с 2G GPRS, но на старых телефонах эта технология не поддерживается, а мне хотелось запустить WAP именно на таком. О том, как вернуться в эпоху до распространения GPRS - читайте далее.
Читать далееЛюбопытный парадокс современной технологической культуры: чем сильнее индустрия твердит о рациональности, данных и критическом мышлении, тем чаще внутри нее возникают почти религиозные формы мышления. Например, культ «ИИ» или крипто-мессианство, биохакерские утопии, вера в «оптимизацию человечества», технократический элитизм и убеждение, что любая проблема — всего лишь ошибка, которую можно отдебажить. Особенно интересно последнее, ведь считается, что программист — это человек, защищенный от мифов самим устройством профессии, ведь он работает с логикой и формальными системами. А что выходит на самом деле? Разбираемся в статье, которая наверняка найдет отклик аудитории именно здесь, на Хабре.
Читать далееЭта возможность есть в нескольких популярных языках программирования - но она настолько невостребованна, что и не все-то коллеги о ней знают - а в других не менее популярных языках её отказываются добавлять, несмотря на запросы энтузиастов. Этакий живой курьёз.
В этой коротенькой заметке-памятке - взглянем на формат записи (он может показаться не вполне логичным и не вполне шестнадцатеричным, вопреки названию) и поддержку стандарта разными языками. Основным же применением для этой "фичи" может быть, наверное - троллить друг друга на собеседованиях :)
Если вам случалось использовать такую запись на практике - поделитесь в комментариях. Или хотя бы если вы можете придумать случай когда она потенциально пригодится.
0xBEDA.BEDAp0Когда компания маленькая, архитекторов обычно нет. Есть разработчик Алеша, системный администратор Димон и руководитель Саша, который говорит сакральную фразу:
"Да что там делать, поднимите сервер, выкатите приложение. Делов-то!".
Потом компания растет. Появляются Kubernetes, микросервисы, Clickhouse, десять команд разработки, пять облаков, семь подрядчиков, бюджеты на миллионы рублей и внезапное осознание:
"Кажется, нам нужен человек, который понимает, как это вообще должно работать вместе".
Так в компании появляются архитекторы. И сегодня я хотел рассказать - кто эти люди и зачем они нужны...
Читать далееВ этой серии туториалов мы реализуем простой Third Person Controller на базе MonoGame.
Серия рассчитана на читателей, уже знакомых с основами MonoGame и 3D-графики.
Читать далееПодготовлены .ini файл с настройками TinyPXE Server, скрипт запуска WinNFSd, загрузочные файлы iPXE и скрипт autoexec.ipxe. В общем все необходимое для запуска PocketHandyBox Linux через PXE на почти любом ПК в локальной сети, используя в качестве сервера любой ПК/ноутбук с Windows.
Благодаря поддержке в TinyPXE Server режима ProxyDHCP, при наличии в локальной сети основного DHCP сервера (без настроенной опции 67) / роутера - нет необходимости как либо вмешиваться в его работу. А также нет необходимости изменять IP адреса или файловые пути в каких либо конфигах.
Все необходимое для запуска серверной части на Windows находится в одной папке. Не требует установки каких либо служб или правки реестра. То есть просто копированием переносится между разными Windows ПК и разными локальными сетями.
Поддерживается загрузка через PXE как в UEFI так и в Legacy/CSM режимах. К сожалению Secure Boot не поддерживается и его требуется отключать.
Начнем с краткой инструкции и продолжим более подробным разбором файлов конфигурации и дополнительных возможностей.
Читать далееПару дней назад я просматривал статьи в песочнице «Хабра» и наткнулся на статью парня от 2011 года, где с полным воодушевлением обсуждает открытие стартапа. После чего я открыл сайт, и он даже открылся (хотя если пробить информацию по налоговой базе, становится понятно, что какой-то коммерческой деятельности там уже давно нет). И это меня навело на мысль, что гараж, который строят за пару месяцев, стоит годами, а софт устаревает за несколько лет и уходит в небытие. У меня появился внутренний вопрос: «Стоят ли ваши усилия и профессионализм того, чтобы софт, написанный сегодня, ушёл в небытие через несколько лет?» Такой экзистенциальный вопрос профессионализма?
Всем привет. Я занимаюсь фронтендом в небольшой команде сервиса бронирования отелей. Хочу как я 8 дней ловил утечку памяти на проде, несколько раз думал, что починил, и каждый раз ошибался. А последний фикс был не в нашем коде, а в патче самого Vue, который через неделю апстрим откатил как регрессионный. У нас в результате осталась одна патч-версия, в которой утечки нет; обычный minor/patch update сейчас для нас не безопасен без повторной проверки heap-снапшотами.
Наш стек Nuxt 3.18 + Vue 3.5.x + TypeScript, SSR, Pinia, PM2 cluster, nginx перед Node. Обычный каталог отелей с тысячами SEO-страниц вида /oteli-v-{город}/{подборка}
Читать далееАлексей Пажитнов написал «Тетрис» в 1984 году на «Электронике-60», работая в Вычислительном центре АН СССР, и эта игра до сих пор входит в любой список «самых влиятельных видеоигр всех времён». В том же 1984 году в США уже четвёртый год подряд продавался Pac-Man, а в Японии Nintendo готовилась к экспорту NES. В том же году два британских студента на ZX Spectrum написали Elite с процедурной генерацией восьми галактик в 22 килобайтах памяти.
К 1991 году СССР закончился. «Тетрис» стал собственностью Nintendo через цепочку посредников, и никаких других советских игр мирового уровня за следующие десять лет так и не появилось, хотя отдельные студии делали хорошие проекты, я буду считать 90-е наследием советов. А вот вопрос, который мне кажется куда интереснее, чем «почему так получилось»: почему в одно и то же время одна и та же страна могла спроектировать систему наведения «Бурана» с автоматической посадкой по радиомаякам, но не могла сделать массовый игровой автомат уровня Space Invaders?
В ответ часто слышал «не было рынка, не было капитализма, не было конкуренции». Я в это не верю. Не верю, потому что отсутствие рынка не мешало тем же людям спроектировать «Энергию-Буран», Ту-160 и атомный ледокол «Арктика». А вот качественный массовый телевизор «Рубин» в той же стране делать почему-то не получалось. И качественную массовую игру тоже.
Не надо быть матёрым геймдизайнером и знать, что такое ECS и GOAP, достаточно понимать, что игра - это продукт, который собирается из кода, графики, звука, геймдизайна и тестирования, и что каждая из этих веток требует отдельных людей с отдельной экспертизой. Дальше будет немного арифметики и исторических примеров.
Читать далееВ первой статье была описана задача распределения сумм затрат между отделами по заданным правилам, с учётом того что отделы могут передавать свои затраты на другие отделы. Задача этой и следующей статей — показать, как эту задачу можно реализовать относительно просто и легко, не прибегая к созданию больших приложений.
В данной статье будет описана структура PostgreSQL-базы данных и реализация данной задачи с помощью SQL в варианте PL/pgSQL. Реализация на Apache Spark будет описана в следующей статье.
В качестве примера будут созданы настройки распределения и входные данные для:
Читать далееЯзык T создавался как прямой наследник C для вычислительных систем, работающих в сбалансированной троичной логике. Подобно тому, как C стал универсальным языком для двоичных машин, T призван занять ту же нишу в мире троичных процессоров. Мы сохранили философию минимализма и эффективности, но заменили биты тритами, байты трайтами, а бинарные операции — их трёхзначными аналогами.
Книга следует проверенной структуре «Языка программирования C», чтобы читатель, знакомый с C, мог быстро освоить T, а новичок получил систематическое введение в троичное программирование.
Читать далее