Обновить

Все потоки

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

Разработчики выпустили браузерную игру, в которой надо отказаться от подписки, минуя тёмные паттерны интерфейса

Студия Fundr из Манилы выпустила браузерную игру Cancel Your Subscription, в которой надо выполнить всего одну задачу — отменить подписку на сервис. Задача звучит просто, но довести её до конца сложно: сервис маскирует кнопки отмены, предлагает скидки и просит аргументировать решение. Финальный этап игры — переписка с менеджером по удержанию клиентов.

Разработчики выпустили браузерную игру, в которой надо отказаться от подписки, минуя тёмные паттерны интерфейса

Как мы строим хижину Postgres Pro

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

Хижину на высоте 3 930 метров в Кыргызстане пришлось сделать шире, чем в чертежах. Причина простая: матрасы оказались на несколько сантиметров больше, чем рассчитывали. К этому моменту материалы уже лежали на леднике: их привёз вертолёт, а недостающее мы дотаскивали в рюкзаках. Я работаю в Postgres Professional и около двадцати лет хожу в горы. Сейчас вместе с друзьями строю здесь новую хижину для альпинистов. Пока мы утепляем стены и собираем электрику, на ней уже ночуют люди, а по ночам заглядывают куницы. Для них мы закрыли все щели, но куницы всё равно нашли путь.

Читать далее

Новости

Нафиг NVIDIA! Я запустил Qwen на FPGA за $50 — а свой TPU назвал бы «КЕДР». Часть 1

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

Я хотел разработать собственный AI-процессор, нашёл openTPU, купил FPGA за $50 с 4ГБ памяти, подключил её к обычному мини-ПК и запустил на ней языковую модель.

Читать далее

Почему я вернулся на контекстное окно в 200К у Клода

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

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

В cентябре у меня была подписка уже за 200$, но и её лимиты не выглядели недостижимыми. Друзья и коллеги рассказывали, что у них давно по максимальной подписке на Claude и GPT враз и планы купить даже третью!

Вливать дополнительные деньги выглядело тупиковым сценарием и я начал разбираться, как можно оптимизировать потребление токенов. Главная причина нашлась не в сложности выполняемых задач и объеме вычитываемого кода, а в банальном повседневном удобстве.

Читать далее

SecurePair — безопасное сопряжение плат ESP32

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

Статья посвящена криптографически защищённому сопряжению и взаимодействию двух плат ESP32 через обычный светодиод по протоколу LX.25 или через ESP-NOW и LoRa.

Согласование ключей происходит с использованием протокола Диффи-Хеллмана на эллиптических кривых (X25519), а сообщения шифруются с помощью алгоритма AES-256-GCM. Библиотека SecurePair поддерживает любые средства передачи. Она работает через ESP-NOW, LoRa и любой другой канал связи, способный пересылать пакеты. А с помощью PacketLED можно реализовать обмен сообщениями даже через обычные светодиоды.

Читать далее

Прибор, которым пользуются, потому что он врет

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

21 декабря 2015 года Boeing 787 компании Jetstar чуть не разбился на рейсе из Мельбурна в Сингапур. Виновато было облако. Ледяных кристаллов в нем оказалось столько, что обледенели все три трубки Пито, и три независимые системы измерения скорости соврали хором (торчат-то они из одного носа). Лайнер наполовину из композитов, а скорость измеряет тем же способом, каким француз Анри Пито в 1732 году измерил течение Сены. За три века самолеты научились садиться в сплошном тумане и ходить через океан на двух двигателях, а трубку с носа так и не выгнали ни спутниками, ни лазерами.

А врет этот прибор и в самый обычный ясный день. На эшелоне 350 шкала скорости у нас на A320 показывает 264 узла, а относительно воздуха самолет идет на 450. Это почти 350 км/ч разницы. Никто его не чинит, он исправен, и пилотируем мы именно по этой «неправильной» цифре.

Почему так задумано, расскажу статье, а по пути нам встретятся оса-пелопей, главная подозреваемая в катастрофе Boeing 757, наклейка с логотипом возле крошечных отверстий на борту, от которой врет высотомер, проверка трубки на компас и европейский стандарт, который до осени 2009 года опирался на бумагу 1947-го.

ding!

К истории радиоламп. Ранние приборы с внешними электродами

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

Как и любая другая эволюция, развитие приёмно-усилительных электровакуумных приборов (ЭВП) имело и тупиковые ветви, образцы, из которых сейчас выглядят престранно и чужеродно. Одна из таких ветвей — внешние электроды. Взглянем же на некоторые примеры этих технических курьёзов, попытаемся понять причину их появления и исчезновения, полюбуемся своеобразной «тёплой ламповой» эстетикой, присутствующей даже в таких нежизнеспособных уродцах.

Читать далее

SSD как кэш, HDD как постоянное хранилище: экспериментируем с кэшированием в bcachefs

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

Вы когда-нибудь задумывались над смыслом названия этой файловой системы? А между тем ключевая фича, с которой все начиналось, — это как раз кэширование.

Читать далее

Зачем в нём пять NE555? Оживляем переговорное устройство из кабины лифта

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

Приветствую всех!

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

Зачем он вообще нужен, с кем через него связывались и как он работает? Как оказалось, штука эта куда интереснее, чем я ожидал...

25 этаж

Спецэффекты в кино до появления компьютерной графики: синий экран, натрий, рир и фронт проекции

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

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

Читать далее

Действительно ли нейтрино — двойники для самих себя?

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

25 марта 1938 года Этторе Майорана собирался сесть на паром из Неаполя в Палермо. По крайней мере, он купил на него билет. В тот же вечер 31-летний итальянский физик отправил письмо Антонио Каррелли, директору Института физики в Неаполе, извиняясь за неудобства, которые вызовет его «внезапное исчезновение». Формулировка звучала как нечто окончательное и потому зловещее. Однако Майорана, по-видимому, почти сразу же передумал. Он отправил ещё одно сообщение, в котором давал понять, что от прежнего решения отказался. Но в итоге всё равно исчез. Никаких его подтверждённых следов так никто и не нашёл.

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

Энрико Ферми, который не славился раздачей щедрых комплиментов, по некоторым данным, отнёс Майорану к той же категории людей, что и Галилей с Ньютоном. Не просто выдающийся учёный. Не просто физик, способный на важные открытия. Гений.

В 1937 году, за год до своего исчезновения, Майорана опубликовал необычную статью, в которой исследовал возможность, казавшуюся почти абсурдной. Что, если частица может быть одновременно и своей собственной античастицей?

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

И тут в историю вступили нейтрино. Почему-то всякий раз, когда физики создают достаточно изящную картину того, как устроена реальность, нейтрино имеют привычку проникать через боковую дверь и разбрасывать мебель. Они практически не взаимодействуют с материей. Они пролетают сквозь целые планеты. Они меняют свою «идентичность», летя через космос. В течение многих лет мы думали, что у них нет массы, а потом природа сообщила нам, что, на самом деле, нет — у них всё-таки есть масса. Они повсюду, но для их обнаружения требуются героические запасы терпения, денег и подземных пород. И теперь они могут заставить нас переосмыслить нечто ещё более фундаментальное: что именно мы имеем в виду, когда говорим «частица»?

Читать далее

Ошибочная блокировка на ТСПУ: как системному администратору решить проблему совместно с регулятором

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

Недавно часть наших клиентов не могла подключиться к серверам Монеты. Мы проверили межсетевые экраны, собрали трассировки с обеих сторон, но причина оказалась за пределами нашей инфраструктуры. При этом сайты самих клиентов тоже стали недоступны, а уведомления о платежах на Pay URL перестали доходить. Диагностика привела нас к участку сети, где работает ТСПУ.

На связи Евгений, инженер отдела сопровождения разработки и эксплуатации ПО (DevOps-инженер) в Монете. В статье разберу, как проверить такую гипотезу и не спутать её с другими сетевыми проблемами, какие данные собрать для обращения и что делать, если заявка в ЛК ВТС уже получила статус «Частично принята», а доступ так и не восстановился. Покажу весь путь на реальном кейсе: от curl, traceroute и nping до переписки с ЦМУ ССОП и ДЦОА — без смены хостинга и IP-адреса.

Читать далее

Мониторинг SSL: как не пропустить истекающий сертификат

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

Максимальный срок публичных сертификатов с марта этого года сократился с 398 до 200 дней. С 2029 года они будут действительны всего 47 дней, а забыть о продлении проще простого, ведь есть и более важные дела. Под катом собрал семь способов удобно следить за сроками SSL.

Читать

Как использование нейросетей изменило игровую индустрию и homebrew-cцену

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

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

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

Сегодня мы поговорим о том, как ИИ ускоряет разработку игр, чем это чревато для индустрии, а также посмотрим не только на то, как люди делают проекты мечты с помощью словесного описания, но и как современные LLM, кажется, перевернули сцену homebrew с ног на голову.

Читать далее

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

Есть индивидуумы, которые пьют минералы просто так. По возможности избегайте этого

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

Они умирают на 4% чаще.

Очень характерная картина: приходит к нам в лабораторию знакомая с пакетом из аптеки, показывает. Там магний «от стресса и судорог», цинк «от прыщей», селен «для щитовидки», железо «для бодрости», ещё какой-то комплекс «для волос и ногтей».

Ей блогеры в рилсах посоветовали.

Мы смотрим на гору баночек. Потом друг на друга.

— А ты вообще знаешь, что из этого с чем дружит, а что друг друга гасит?

— Нет.

А так-то среди этой кучи была пара минералов, которые при долгом совместном приёме тихо воюют друг с другом.

Поэтому давайте разбираться, зачем и, главное, нафига вам в принципе могут понадобиться минеральные комплексы и что может пойти не так. Если очень коротко, есть лагерь «минералы выдумали маркетологи, всё это не работает» и «вы станете человеком 2.0».

Обе стороны неправы.

Читать далее

На пути борьбы с шумом домашнего ЧПУ: тесты обработки печатной платы под слоем жидкого мыла и не только

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

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

Как я рассказывал, одним из, пожалуй, основных проблемных моментов для использования ЧПУ-станков на дому является шум, причём не шум двигателей (с этим-то как раз можно жить, он довольно щадящий), а шум режущего инструмента, в основном фрез, которые издают довольно противный визг на больших оборотах во время обработки материала.

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

В ходе размышления над этой проблемой мне пришла в голову довольно интересная мысль: «А что, если обработку производить под толстым слоем жидкости, в частности воды или жидкого, гелеобразного мыла?!»

Как я писал в прошлой статье, я весьма плотно искал хоть какой-нибудь прецедент, чтобы пытались гасить звук таким образом, и не нашёл!

Да, льют СОЖ (смазывающе-охлаждающую жидкость) в зону резания относительно тонким слоем — но в основном только для постоянного вымывания продуктов обработки (проще говоря, стружки и пыли) и смазки/охлаждения инструмента во время работы.

Но покрывать деталь толстым слоем жидкости именно для гашения вибраций и звука (грубо говоря, залить её толстым слоем жидкости и вести обработку прямо под ней) — похоже, что не додумался вообще никто (не факт, но есть такое подозрение ;-) )!

Ввиду того, что у меня уже есть цельнометаллический ЧПУ-станок серии 3018, про который я писал вот тут, мне показалось совершенно непростительным, если бы эта интереснейшая мысль по поводу глушения жидкостью осталась в виде непроверенной теории!

Я никак не мог этого допустить, и работа закипела… :-)

Читать далее

Код еще никогда не был так дешев. И еще никогда так дорого не обходился

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

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

Со стороны читать это довольно забавно, ибо обе истории подаются с одинаковым азартом, только во второй азарт уже слегка злорадный. Комментаторы под такими новостями привычно делятся на тех, кто пишет, что программисты скоро станут никому не нужны, и тех, кто отвечает, что вот теперь-то они как раз и понадобятся, и где-то между ними тонет довольно простая мысль про то, что у любого кода есть цена написания и цена владения, и за последние пару лет эти две цены разъехались в разные стороны.

Цена написания упала почти до нуля, и это видно любому, кто хоть раз просил чат-бота набросать скрипт для переименования фоток с отпуска. С ценой владения все хитрее, потому что в момент покупки ее не видно, она приходит потом мелкими счетами, и читать про нее обычно приходится уже в разделе происшествий.

Читать далее

Проблема ворот

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

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

С навигацией в играх приходится хачить не меньше, и приходится разбираться уже не со временем прыжка и физическим состоянием персонажа в понимании игрока, а с набором полигонов, узлов, рёбер и стоимостей и вообще всем тем, что определяет путь NPC на карте. И опять же надо смотреть на ожидания игрока от NPC, а не корректность поведения.

В стратегиях у ботов обычно есть обычно очень простая задача пройти через какие-нибудь ворота-узкое место, обойти стену и оказаться во дворе, и пока у нас один солдат, который идёт по пустой карте, никакой особой проблемы не возникает. А стоит вам добавить на карту десять, пятьдесят, сто, двести солдат и одни ворота, через которые физически способны одновременно протиснуться всего несколько юнитов, как выясняется они этого не делают, хотя алгоритме поиска пути (вроде A*) прекрасно отработал. Отработал, то отработал, а солдатики на месте тупят, и выясняется что мы пытаемся заставить его решать задачу, на которую он не рассчитан.

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

Читать далее

Чёрная магия C++: Быстрый кольцевой буфер

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

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

Как правило, кольцевой буфер реализуется через списки, вроде std::list или std::deque, либо через плоские массивы, вроде std::vector или boost::circular_buffer. Но ни одна реализация не гарантирует непрерывность и упорядоченность одновременно. В данной статье я расскажу про реализацию буфера через трюк с виртуальной памятью, сохраняющую упорядоченность элементов в непрерывной ограниченной области памяти.

Читать далее

Почему не стоит писать AI-агента с нуля: что скрывается внутри harness

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

У вас есть модель, API к ней и идея продукта с агентом. Кажется, осталось написать цикл: отправить запрос, получить tool call, выполнить его и отправить результат обратно. Можно приступать к интерфейсу?

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

Привет, Хабр! Меня зовут Игорь Цупко. Этот текст вырос из моего доклада о внутреннем устройстве агентных систем. Я буду сознательно упрощать детали: реализации у Codex, Claude Code, OpenCode и других различаются, но основные инженерные задачи удивительно похожи. Мой главный совет звучит резко: не начинайте с разработки собственного ядра агента. Ближе к концу объясню, что делать вместо этого и когда исключение всё-таки оправдано.

Погружаемся в harness

Тестируем программы для вскрытия биткойн-головоломок с известным публичным ключом

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

В прошлой статье («Тестируем программы для вскрытия биткойн-головоломок») я сравнивал программы, которые ищут перебором ключ по адресу. Но у части головоломок (номера, кратные пяти: 135, 140, 145, …) публичный ключ уже раскрыт в блокчейне, и для них работают совсем другие алгоритмы: алгоритм кенгуру Полларда и BSGS. Поговорим об этих алгоритмах и программах, их реализующих.

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