Блог*
Открыть в Telegram
Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here
Больше1 964
Подписчики
+124 часа
Нет данных7 дней
Нет данных30 день
Архив постов
1 962
#video #лингво
youtube.com/watch?v=waDZtlwLXHI
TL;DR: В японском языке есть термин chichi bukuro (буквально "сумка для сисек"), и он используется для обозначения частного явления на анимешных артах, когда одежда облегает грудь не только сверху (как и должна под действием гравитации), но и снизу, как будто одежда сделана в точности по фигуре, и в настоящий момент адекватного аналога этому понятию в английском языке нету (как и в русском), что создаёт проблемы при локализации анимэ, в котором это понятие используется в речи.
1 962
Repost from Женя репостит хорни-мемы
На работе в ходе анализа производительности программы обнаружил очень горячий цикл, который надо оптимизировать (8 инструкций, которые исполняются примерно 250М раз).
Отправил в рабочий чат скриншот с этим циклом и подписью:
💋Ищи самые горячие циклы в нашем бенчмарке.💋Кажется, мне надо отдохнуть...
1 962
Repost from Технологический Болт Генона
+1
"ДМК Пресс" прекрасны 🌝
https://t.me/CompilerDev/172207
1 962
#abnormalprogramming
wiki.archlinux.org/title/Swap_on_video_RAM
In the unlikely case that you have very little RAM and a surplus of video RAM, you can use the latter as swap.
1 962
Repost from Panic! At the 0xC0D3
Зачем вам типы если вы их игнорируете
Я устал поэтому просто побугурчу
Сколько ворнингов/ошибок должна выдать такой код?
ууу сссука У вас вся информация в системе типов есть, почему нельзя быть как раст:
(у раста при этом эти переменные не constexpr даже!)
constexpr std::array<int64_t, 3> a{1, 2};
std::cout << a[3];
Тут будет 0 ошибок и ворнингов с -Wall -Wextra -Wpedantic
А если так?
constexpr int64_t a[3] = {1, 2};
std::cout << a[3];
Тут компилятор догадается, что a[3] это какая-то лажа, но вот что ты массив из 3х элементов двумя инициализируешь ему норм
let a: [u32; 3] = [1, 2];
dbg!(a[3]);
error[E0308]: mismatched types
--> <source>:2:23
|
2 | let a: [u32; 3] = [1, 2];
| -------- ^^^^^^ expected an array with a size of 3, found one with a size of 2
| | |
| | help: consider specifying the actual array length: 2
| expected due to this
error: this operation will panic at runtime
--> <source>:3:10
|
3 | dbg!(a[3]);
| ^^^^ index out of bounds: the length is 3 but the index is 3
|
= note: #[deny(unconditional_panic)] on by default
Ну даже если причины это легаси, почему ворнинг то показать нельзя аааа
Че бугуртить то
Для меня главный юзкейс типов это то, что код легко рефакторить. Ты чето поменял, у тебя компиляция упала везде где сломалось
А тут мы видим, что если у тебя был код вида
constexpr std::array<int64_t, SOME_CONST> a{1, 2};
И ты поменял константу на +1, то плюсы сожрут и ничего не скажут.1 962
#prog #rust #python
Pre-PEP: Rust for CPython
In summary, Rust provides many extremely useful benefits that would improve CPython development. Increasing memory safety would be a significant improvement in of itself, but it is far from the only benefit Rust provides.
1 962
#prog #rust #rustlib
TIL что в bindgen есть возможность прицепить коллбеки, которые будут вызываться для определений, обрабатываемых во время генерации биндингов, и что есть уже готовый CargoCallbacks, который печатает
cargo:rerun-if-changed...для каждого обрабатываемого файла и каждой явно заданной переменной окружения.
1 962
Repost from partially unsupervised
Чистил канпюктер от старья и внезапно обнаружил, что за последний год перестал использовать в разработке четыре столпа, которые казались незыблемыми последние лет десять: iTerm, Pycharm, Pyenv, Docker Desktop.
iTerm и Pycharm продолжали обрастать фичами, которые мне ни к чему. Фичи бесплатными не бывают: у iterm в 2024 всплыла неприятная уязвимость, Pycharm продолжал слегка тормозить даже на свежем железе (возможно, я просто не знаю все флаги, как дать ему еще больше памяти). Так я перешел на более легкие альтернативы - Wezterm и Zed.
Pyenv когда-то был отличным способом управлять зоопарком питонов и вместе с poetry делал управление зависимостями терпимым. Но uv разрубил этот узел, оно просто работает. Лучшее, что случилось с Python экосистемой, не считая maturin.
Про избавление от Docker Desktop мне пришлось подумать на работе, потому что в Большой Корпорации для него нужна отдельная лицензия, которая положена не всем. Мне таки положена, но дать продакту демку стало сложнее. Так я познакомился с colima, перешел на нее (все еще с docker runtime / docker cli, которые не требуют коммерческой лицензии) на рабочей тачке, а заодно и на своей, совершенно этого не заметив. Впрочем, чистым докером я тоже пользуюсь все меньше, потому что меня покусал Dagger.
1 962
Repost from Random Rust Dev
Сегодня на ДнД игроки очень дивились, что я трекаю урон и инициативу в vscode.
Два игрока с первого взгляда узнали vscode.
Так я узнал, что у меня два разработчика играют.
А еще - что разработчики автотестов и фронтендов даже не знают, что такое hlsl.
