Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Гараж стоит десятилетиями, а твой софт всего несколько лет. Стоит ли он твоих усилий?

Время на прочтение3 мин
Охват и читатели4.5K

Пару дней назад я просматривал статьи в песочнице «Хабра» и наткнулся на статью парня от 2011 года, где с полным воодушевлением обсуждает открытие стартапа. После чего я открыл сайт, и он даже открылся (хотя если пробить информацию по налоговой базе, становится понятно, что какой-то коммерческой деятельности там уже давно нет). И это меня навело на мысль, что гараж, который строят за пару месяцев, стоит годами, а софт устаревает за несколько лет и уходит в небытие. У меня появился внутренний вопрос: «Стоят ли ваши усилия и профессионализм того, чтобы софт, написанный сегодня, ушёл в небытие через несколько лет?» Такой экзистенциальный вопрос профессионализма?

Читать далее

Новости

Как я 8 дней ловил утечку памяти в Nuxt 3 SSR, и несколько раз думал, что починил

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели4.2K

Всем привет. Я занимаюсь фронтендом в небольшой команде сервиса бронирования отелей. Хочу как я 8 дней ловил утечку памяти на проде, несколько раз думал, что починил, и каждый раз ошибался. А последний фикс был не в нашем коде, а в патче самого Vue, который через неделю апстрим откатил как регрессионный. У нас в результате осталась одна патч-версия, в которой утечки нет; обычный minor/patch update сейчас для нас не безопасен без повторной проверки heap-снапшотами.

Наш стек Nuxt 3.18 + Vue 3.5.x + TypeScript, SSR, Pinia, PM2 cluster, nginx перед Node. Обычный каталог отелей с тысячами SEO-страниц вида /oteli-v-{город}/{подборка}

Читать далее

Почему советские программисты не сделали GTA

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели3.6K

Алексей Пажитнов написал «Тетрис» в 1984 году на «Электронике-60», работая в Вычислительном центре АН СССР, и эта игра до сих пор входит в любой список «самых влиятельных видеоигр всех времён». В том же 1984 году в США уже четвёртый год подряд продавался Pac-Man, а в Японии Nintendo готовилась к экспорту NES. В том же году два британских студента на ZX Spectrum написали Elite с процедурной генерацией восьми галактик в 22 килобайтах памяти.

К 1991 году СССР закончился. «Тетрис» стал собственностью Nintendo через цепочку посредников, и никаких других советских игр мирового уровня за следующие десять лет так и не появилось, хотя отдельные студии делали хорошие проекты, я буду считать 90-е наследием советов. А вот вопрос, который мне кажется куда интереснее, чем «почему так получилось»: почему в одно и то же время одна и та же страна могла спроектировать систему наведения «Бурана» с автоматической посадкой по радиомаякам, но не могла сделать массовый игровой автомат уровня Space Invaders?

В ответ часто слышал «не было рынка, не было капитализма, не было конкуренции». Я в это не верю. Не верю, потому что отсутствие рынка не мешало тем же людям спроектировать «Энергию-Буран», Ту-160 и атомный ледокол «Арктика». А вот качественный массовый телевизор «Рубин» в той же стране делать почему-то не получалось. И качественную массовую игру тоже.

Не надо быть матёрым геймдизайнером и знать, что такое ECS и GOAP, достаточно понимать, что игра - это продукт, который собирается из кода, графики, звука, геймдизайна и тестирования, и что каждая из этих веток требует отдельных людей с отдельной экспертизой. Дальше будет немного арифметики и исторических примеров.

Читать далее

Последовательное иерархическое распределение сумм. Создание БД. Распределение сумм по правилам средствами PostgreSQL

Время на прочтение6 мин
Охват и читатели3K

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

В данной статье будет описана структура PostgreSQL-базы данных и реализация данной задачи с помощью SQL в варианте PL/pgSQL. Реализация на Apache Spark будет описана в следующей статье.

В качестве примера будут созданы настройки распределения и входные данные для:

Читать далее

Язык программирования T

Уровень сложностиСредний
Время на прочтение49 мин
Охват и читатели4.3K

Язык T создавался как прямой наследник C для вычислительных систем, работающих в сбалансированной троичной логике. Подобно тому, как C стал универсальным языком для двоичных машин, T призван занять ту же нишу в мире троичных процессоров. Мы сохранили философию минимализма и эффективности, но заменили биты тритами, байты трайтами, а бинарные операции — их трёхзначными аналогами.

Книга следует проверенной структуре «Языка программирования C», чтобы читатель, знакомый с C, мог быстро освоить T, а новичок получил систематическое введение в троичное программирование.

Читать далее

Может ли большая языковая модель обладать сознанием?

Уровень сложностиПростой
Время на прочтение36 мин
Охват и читатели3.9K

Мы уже устали от потока статей на тему "ИИ или статистический попугай?". Но тема "возможно ли сознание в машине?" не перестаёт быть одной из самых важных для человечества по состоянию на сегодня, май 2026 года.

Представляю перевод одной из наиболее интересных работ на эту тему. Дэвид Дж. Чалмерс, австралийский философ, профессор, специализирующийся в области философии сознания (и один из наиболее известных учёных, сосредоточенных на проблеме сознания), на конференции 28 ноября 2022 года прочитал доклад о том, как же всё-таки попытаться найти способ "измерения сознания" у LLM?

Это перевод первой из цикла 3 статей Дэвида Чалмерса о возможности сознания (и возможности его измерения/обнаружения) у LLM. Автор излагает свои мысли и аргументы простым и понятным языком, чтение его работ позволит вам совершить увлекательное и познавательное путешествие по сложными вопросам сознания...

Читать далее

Ключ к вычислимости ℵ₋₁

Время на прочтение1 мин
Охват и читатели4.1K

Сколько нужно бит, чтобы представить одно число из континуума ℵ₁ чисел?

Ответ: ℵ₀ бит.


Сколько нужно бит, чтобы представить одно число из счётного множества ℵ₀ чисел?

Ответ: ℵ₋₁ бит.


Произвольное число из континуума (почти все они трансцендентные) требует бесконечно бит для представления, а произвольное число из счётного множества (натуральные, целые, рациональные) требует непременно конечно бит.


ℵ₋₁ это достаточно.

Решаемость

Как подсадить разработку на ИИ

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели3.6K

“А давайте все с помощью ИИ разрабатывать” - эту фразу в разных вариациях я слышу во многих командах разработчиков. И вижу огромное количество попыток заставить программистов использовать ИИ. Как правило в результате получается одно из двух:

Читать далее

Кодировка: почему « ё » оказалось не моё?

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели3.8K

Решили с товарищем собрать систему, которая будет фотографировать деталь, анализировать и выводить сообщение — есть там в отверстии резьба или нет.

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

Читать далее

Использование SNMP Trap/Inform сообщений в мониторинге сети

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели3.5K

В этой статье я попробую рассказать о том, в каких случаях для выявления неисправностей в сети может быть полезно, помимо опроса оборудования, принимать сообщения о наступившем событии от устройства. Мы разберём, как работает гарантированная доставка информации о событии, чем Inform лучше чем Trap и в чём сложности его использования. Немного углубимся в детали работы Trap/Inform-сообщений, а закончим простым примером настройки Zabbix. Надеюсь, материал получился интересным и оригинальным.

Читать далее

Как я не нашёл нормальную альтернативу WinSSHTerm на macOS, психанул и написал свою

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.1K

После перехода на macOS я не нашёл SSH-клиент, который закрывает мой ежедневный сценарий так же удобно, как WinSSHTerm.

Устал от постоянных компромиссов, сформулировал требования, собрал свой клиент и выложил код в open source.

Репозиторий

Читать далее

UUID мертв? Да здравствует Smart ID! Почему ваш проект заслуживает лучшего

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели4.7K

В этой статье я поделюсь опытом проектирования идентификаторов для крупной медицинской системы. Мы пройдем путь от простых автоинкрементов до UUID, ULID и в итоге создадим гибридное решение, которое оказалось лучше всех существующих подходов. Спойлер: идеальный ID — это не технология, а архитектура.

Читать далее

«Слепой прогон»: почему ваш IPS начинает стрелять по своим в первый же день

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели4.4K

Когда IPS включают «в бой» сразу после установки, он часто начинает защищать инфраструктуру от неё самой: блокирует легитимные скрипты, бэкапы, нестандартные запросы и рабочие процессы.

В статье разбираем, почему отсутствие baseline превращает IDS/IPS из средства защиты в источник инцидентов, как возникают ложные срабатывания и почему перед режимом блокировки системе нужно дать время изучить нормальный трафик вашей сети.

Читать далее

Ближайшие события

Из жизни провайдеров: история одного факапа

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели4.5K

Мы небольшой региональный интернет-провайдер. Недавно случился у нас инцидент.

Первый звоночек прозвенел, когда было зафиксировано резкое уменьшение нагрузки на внешнем интернет‑канале, сопровождавшееся записями в логах KERNEL PERF interrupt took too long, lowering на одном из серверов, обеспечивающих доступ в сеть Интернет. Расследование показало, что нагрузка вернулась к норме в течение 15 минут, и никаких последствий не было выявлено.

Что же там случилось?

Линии влияния в многопролётных шарнирных балках: бесплатный веб-инструмент для проверки расчётов

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели4.2K

Я занимаюсь разработкой ПО для строительной механики. В процессе работы над одним из проектов возникла потребность в простом инструменте для построения линий влияния в многопролётных шарнирных балках. Готового решения под рукой не оказалось, и я написал свой веб-модуль.

Результатом захотелось поделиться с сообществом — вдруг кому-то тоже пригодится. Под катом — описание того, что получилось, как это работает, и где может быть полезно.

Читать далее

Я перевёл 200K строк JS на TS с Claude Code. Что прошло, что сломалось

Время на прочтение10 мин
Охват и читатели4.4K

За 6 недель Claude Code преобразовал 200K строк JS в strict TypeScript. Не переименование файлов, а настоящая типизация: интерфейсы, строгие null-чеки, перехваченные баги в проде. Тут разбор реального кейса с цифрами, ошибками агента и главным вопросом: стоит ли вам это повторять?

Читать далее

Telegram-бот, который молча скачивает видео по ссылкам в групповых чатах: как это сделать, не ломая приватность

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.7K

Существует продуктовый паттерн, который я редко вижу разобранным в технических статьях на русском: бот в групповом чате, который реагирует не на команды, а на содержимое обычных сообщений участников. Юзер кидает в чат ссылку на Instagram Reels — бот молча присылает видео файлом под этой ссылкой. Никаких /download, никаких упоминаний @bot, никаких inline-режимов.

Звучит просто. На практике — десяток подводных камней: Telegram Bot API в группах работает иначе, чем в личках; privacy mode ломает половину очевидных решений; flood-control прибьёт наивную реализацию на третьем активном чате; и есть отдельная проблема — как не превратить бота в спам-машину, которая реагирует на каждый https-ссылку в чате и раздражает участников.

Эту статью пишу как разработчик такого бота. Цифры из моего прода маленькие — 31 групповой чат, 380 пользователей в личке за месяц жизни — но проблемы в коде ровно те же, что были бы и при 31000 чатов. Хочу разобрать архитектурные решения, к которым пришёл, и услышать, как делали бы вы.

Читать далее

Три попытки обогнать в бенче базовую Gemma 4 дообучением — и все три мимо

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.4K

Две недели мы пытались обогнать собственную базу. Файнтюном. Потом ещё раз файнтюном на переделанном корпусе. Потом — RAG. Все три раунда база выиграла.

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

Читать далее

Создал свой генератор случайных чисел на потоках

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.9K

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

Читать далее

Как уйти в тень: Полный гайд по анонимным платежам от рублей до виртуальной карты в 2026

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.7K

Приветствую! Давно хотел расписать вам свой опыт в анонимных оплатах, обменах , реально работающих сервисах.

Про анонимность в оплатах - нормальных, пошаговых гайдов с реально работающими на текущий период схемами — кот наплакал.

Сделаем упор на цикл: от рублей/USDT/btc до полностью анонимной виртуальной карты за крипту, которой можно оплатить что угодно. Лично проверенными мной.

Только для образовательных целей. Не несу ответственности за ваши действия.

Читать далее
1
23 ...