dimhold.by

Статьи

59 статей Архив →

1 сентября 2026 г.

15 лет после Simple Made Easy: в 2013 году ни одна из моих 102 локальных переменных не была final, сейчас в живом коде 91.6% это const. Я не выбирал ни того ни другого

В мае 2013 года я завёл репозиторий, чтобы перевести доклад Рича Хикки на русский. Он до сих пор на 0%. На той же неделе я закоммитил синхронизированные коллекции в java-сервер. Я собрал ту форму заново и померил: частоту падений коммит не сдвинул вообще. Потом прогнал список из Simple Made Easy по своему коду. В 2013 году ни одна из 102 локальных переменных не была final, сейчас в живом коде 91.6% это const. Я не выбирал ни того ни другого.

9 мин чтения

качество кода типы

30 августа 2026 г.

Simple Made Easy на моих собственных диффах: 85% выброшенного кода ушло одним коммитом

Я вынул дашборд из этой машины через 2 дня и 22 часа после того, как она его написала. Сколько ещё ушло тем же путём, я ни разу не считал. 508 коммитов спустя: 57.4% слов кода нет, из них 85.0% ушли одним коммитом. Первые 5 файлов по ширине сплетения это те самые 5, что снял тот коммит.

13 мин чтения

качество кода git

29 августа 2026 г.

Индекс, про который я говорил, что он ничего не даст: 2.8 мс против 8.3

Состояние этой машины лежит в файлах markdown, и я объясняю это фразой про скорость, которую ни разу не мерил. Я собрал индекс SQLite, про который говорил, что он ничего не даст, и замерил на 1x, 10x и 100x. Он выигрывает везде, а потом выяснилось, что я мерил fsync.

14 мин чтения

агенты базы данных производительность

27 августа 2026 г.

Часовой пояс, который выдают мои публичные коммиты, неверный

26 публичных репозиториев и 510 моих коммитов. Оценка часового пояса по часам, в которые эти коммиты сделаны, даёт единственный чистый минимум на +1. В 422 объектах из 510 записано +03:00. Чем больше меток времени, тем увереннее неверный ответ. А смещение, ради которого я поднял 26 клонов, лежит в одном GET без логина.

12 мин чтения

git время открытые данные

20 августа 2026 г.

Сколько собака проходит за одну прогулку с человеком

Два телефона, один лес, час двадцать. Один в кармане, другой в носке на ошейнике. GPS раз в секунду. Зум прошёл 5,42 км, я — 4,09. Но интереснее оказалось не то, насколько больше, а почему: медианная скорость у нас почти одинаковая, вся разница сидит в хвостах распределения.

3 мин чтения

статистика числа

26 декабря 2022 г.

Сканер секретов нашёл 2 секрета в заметках и ни одного в расшифровке Whisper того же разговора

Я написал выдуманный разговор с 11 приватными пунктами, записал его в виде заметок и прогнал устную версию через espeak-ng, MBROLA и Whisper base и small. В заметке gitleaks 8.15.2 нашёл ключ AWS и пароль. Вместе с Presidio 2.2.31 инструменты поймали 7 из 11 пунктов. На 4 расшифровках сканеры секретов не нашли ничего. Whisper сломал почти всё, у чего есть форма. Код от двери, код от банка, больную спину и зарплату он сохранил, а их не отметил ни один инструмент ни в одном документе.

11 мин чтения

машинное обучение git текст и кодировки

19 декабря 2022 г.

С январским и декабрьским venv GPT-2 выдал одни и те же 20 000 токенов. Логиты за это время поменялись

Я заново собрал январский venv 2022 года (torch 1.10.1, transformers 4.15.0) рядом с декабрьским (torch 1.13.1, transformers 4.25.1) и прогнал GPT-2 на тех же промптах. Жадный цикл, generate() и выборка с seed дали тот же текст, 200 из 200 начал на 20 000 шагах. Логиты сдвинулись до 0,000107 и весь сдвиг сидит в одной ступеньке между torch 1.11.0 и 1.12.1: новая свёртка AVX2 в reduce_all поменяла порядок, в котором softmax складывает 8 полос.

18 мин чтения

языковые модели числа надёжность

11 июня 2014 г.

9 моделей, accuracy от 92.5 до 93.3, и одна из них не находит ничего

На задаче с 6.8 процента положительных примеров любой порог дал accuracy в пределах 0.8 пункта, пока полнота падала с 19.6 процента до 0.6. Ответ никогда на всё подряд даёт 93.2. Матрица ошибок различает эти модели мгновенно, а одно число не различает их вообще.

5 мин чтения

машинное обучение статистика

11 сентября 2013 г.

Один и тот же код обогнал сам себя на 33 процента

Я объявил одну функцию дважды и померил две копии друг против друга. На одной паре раундов одинаковый код показал победу в 32.9 процента, 10.6 процента пар выдают победителя с разрывом больше 5 процентов, а самый первый раунд идёт в 3.57 раза медленнее установившейся медианы. Всё, что на этой машине меньше 3 процентов, это не результат.

5 мин чтения

производительность статистика

12 июня 2013 г.

Экран для поиска подделок срабатывает на числах, которых никто не подделывал

Закон Бенфорда продают как экран: наводишь на столбец чисел и подделка видна. Я навёл его на 4 столбца из одного репозитория, где подделывать было некому и незачем. 3 из них провалились. Хуже того, два принятых теста дают на одних и тех же данных противоположные вердикты: столбец, который пропускает MAD, отвергает chi square.

7 мин чтения

статистика числа

10 апреля 2013 г.

93 процента работы ушло клиентам, которые уже ушли

Я собирался померить, как повторы валят сервис под нагрузкой. Трафик они действительно утраивают, в моём стенде в 2.88 раза, но обвал устроили не они. Обвал был уже на 1.2 потолка, потому что очередь стала глубже клиентского таймаута и сервер весь день доделывал запросы, которых уже никто не ждал.

6 мин чтения

надёжность сети

13 марта 2013 г.

Таймаут, который ты не поставил, равен 135 секундам

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

5 мин чтения

сети linux