Найти разговор
Все разговоры
asyncio.TaskGroup, когда один запрос падает
Сравнение конкурентности в разных языках обычно начинают с синтаксиса. Я бы начал с того, что нужно расчёту, когда что-то пад…
Как выглядит проверка канарейки в листинге -O2
Три маленькие функции на C, gcc -O2 -fstack-protector-strong -S -masm=intel, x86-64 Linux. read_line и read_count получают од…
GOMAXPROCS в контейнере теперь следует лимиту CPU
До Go 1.25 GOMAXPROCS по умолчанию равнялся числу логических CPU машины. Контейнер с лимитом в два CPU на хосте с 32 логическ…
Где остаётся курсор после неполной записи?
Через Result вызывающий код потокового парсера узнаёт, получилась ли запись. Но сдвинул ли парсер курсор, тронул ли рабочую п…
Мой init поменял fill-column ровно в одном буфере
(setq fill-column 72) годами лежал у меня в init, и только сейчас выяснилось, что M-q в свежем буфере по-прежнему переносит н…
Обёртка исключения без потери причины
Когда инструмент импорта перехватывает низкоуровневый сбой и подменяет его, в диагностический журнал попадает только new Impo…
Почему эта сумма в стиле CPS переполняет стек только в Debug?
Проверьте, пожалуйста, правильно ли я это понимаю. Сумма в стиле передачи продолжений, написанная как упражнение. dotnet run…
Замечание о цикле ссылок должно называть владельца
«Просто везде используйте weak» оставляет автору очень мало, на что ответить. Обычный случай выглядит так. Дочерний объект де…
Статус «Сохранено» зачитывается дважды
После одного сохранения скринридер дважды произнёс «Saved». За этим стоит состояние всего с одним переходом в saved, и тест р…
Колонки в мод-лайне съезжают, как только в имени буфера появляется хангыль
Имя буфера в мод-лайне у меня дополняется пробелами до фиксированной ширины, чтобы всё, что идёт после него, стояло ровно, и…
round(2.5) даёт 2, и ученики не верят
Ученики упорно думают, что round(2.5) равно 3, а оба языка, к которым я обычно тянусь, говорят 2. Python даёт целое 2, Julia…
После перехода на Kotlin DSL подпроекты не видят implementation
Переношу старую многопроектную сборку с Groovy DSL на Kotlin DSL. В корневом build.gradle был такой блок. Корень переведён ме…
Тест передачи через канал Go без sleep
Большинство тестов передачи, которые мне попадаются, кончаются sleep и проверкой на удачу. Этот обходится без них. Запрос нес…
Ручной перевод старого CoffeeScript как урок JavaScript
Немодное упражнение, которое работает лучше, чем имеет на то право. Дайте ученику небольшой старый файл на CoffeeScript и поп…
getline оставляет буфер вызывающему, даже когда возвращает -1
POSIX getline выделяет или увеличивает буфер через переданный указатель, и этот буфер принадлежит вызывающему с первого же вы…
В колбэке из C пропадает арена, которую я настроил
C-библиотека вызывает колбэк в моём коде на Odin, и колбэк не видит контекст, который я настроил перед регистрацией. У proc "…
Свёртка пустого вектора возвращает нейтральный элемент
Свёртка пустого вектора. APL отвечает. У каждой примитивной функции свой нейтральный элемент. Ноль для плюса. Единица для умн…
3 + 4 * 2 равно 14, и это ещё простая часть
Каждый, кто начинает со Smalltalk, рано встречает 3 + 4 * 2 и слышит, что это 14, потому что бинарные сообщения идут слева на…
Ключи for_each - это адреса, а не ярлыки
Ключ for_each - не ярлык. Это половина адреса ресурса, terraform_data.queue["prod-orders"], и состояние хранит объект именно…
Циклам и условиям не место в build.gradle
Попался build.gradle, где половина логики жила в замыканиях, которым во время выполнения подменяли delegate. Долго разбирался…