🤣15👍7❤2
commit -m "better"
Я тут собирал #kitty под Linux, прост потому что мне не нравится, когда в репозитории есть сломанные таргеты. Так-то я использую #foot И у меня случилось всяких разрозненных мыслей по этому поводу. * Всю эту бодягу как писал индус #Ковид, так и продолжает…
#зумеры #rust #rant
Вот есть такой https://wezfurlong.org/wezterm/index.html - весь из себя ниибаца безопасный и на Rust. 11k звезд на github. Альтернатива #alacritty, потому что а почему бы и нет?
Его намертво вешает вот такая программа:
Мораль?
Ну вот не падает программа, написанная пионером, а уходит в бесконечный цикл - кому от этого легче?
Вот есть такой https://wezfurlong.org/wezterm/index.html - весь из себя ниибаца безопасный и на Rust. 11k звезд на github. Альтернатива #alacritty, потому что а почему бы и нет?
Его намертво вешает вот такая программа:
pg# cat qw.py
import sys
for i in range(0, 10000):
sys.stdout.write(chr(i))
Мораль?
Ну вот не падает программа, написанная пионером, а уходит в бесконечный цикл - кому от этого легче?
wezfurlong.org
Wezterm - Wez Furlong
Wez Furlong's blog
💅12😁9👍5🤮1
#math #rant #зумеры
https://garrit.xyz/posts/2023-11-30-why-you-can't-divide-by-zero
Вот, молодежь добирается до основ математики.
"I just had a discussion about this with a collegue who happens to have a degree in mathematics, and the way they explained it made it absolutely clear why it doesn't make sense to divide by zero"
Объяснение в тексте, конечно, странноватое, но, наверное, было бы странно, если бы коллега-математик аккуратно рассказал про продолжение деления на R U {бесконечность}, и про продолжение этого расширения дальше, с добавлением 0/0.
https://garrit.xyz/posts/2023-11-30-why-you-can't-divide-by-zero
Вот, молодежь добирается до основ математики.
"I just had a discussion about this with a collegue who happens to have a degree in mathematics, and the way they explained it made it absolutely clear why it doesn't make sense to divide by zero"
Объяснение в тексте, конечно, странноватое, но, наверное, было бы странно, если бы коллега-математик аккуратно рассказал про продолжение деления на R U {бесконечность}, и про продолжение этого расширения дальше, с добавлением 0/0.
garrit.xyz
Why you can't divide by zero | Garrit's Notes
Generalist developer writing about fullstack development, system administration and free software.
🤡10❤2🔥2🤮1
https://infinitemac.org/
Совершенно классный сайт, с web эмулатором m68k, и кучей образов Mac OS, c первой по девятую. + куча древнего софта под них.
Короче, если есть желание посмотреть, как там в 92 году игралось в Prince of Persia, или там в третий фотошоп, или в Warcraft I/II, то вот, пожалуйста, все готово.
Мне лично всегда было интересно, как "ощущались" старые маки в действии, но раньше я мог только попялиться на старые скриншоты. А теперь можно и мышкой повозить.
Эмулятор забагованный, чем ближе к "девятке", тем системы ведут себя глючнее.
Совершенно классный сайт, с web эмулатором m68k, и кучей образов Mac OS, c первой по девятую. + куча древнего софта под них.
Короче, если есть желание посмотреть, как там в 92 году игралось в Prince of Persia, или там в третий фотошоп, или в Warcraft I/II, то вот, пожалуйста, все готово.
Мне лично всегда было интересно, как "ощущались" старые маки в действии, но раньше я мог только попялиться на старые скриншоты. А теперь можно и мышкой повозить.
Эмулятор забагованный, чем ближе к "девятке", тем системы ведут себя глючнее.
infinitemac.org
Infinite Mac
A classic Mac loaded with everything you'd want.
🔥10🤷3❤2👎1
commit -m "better"
Шапито продолжается, потому что, с выходом новой версии #harfbuzz появилась зависимость harfbuzz -> cairo, и у нас теперь тройной цикл: cairo -> freetype -> harfbuzz -> cairo. "New hb-cairo API for integrating with cairo graphics library. This is provided…
https://github.com/harfbuzz/harfbuzz/issues/2524#issuecomment-1835439173
#harfbuzz
Вот, кто-то еще заметил, что там цикл уже существенно больше, чем просто hb <-> freetype.
Понятное дело, что ничего там не произойдет, потому что никто, кроме его работодателей, повлиять на разработчика harfbuzz не может. А им, очевидно, похуй, пока он исправно проталкивает нужные изменения в downstream дистрибутивов.
#harfbuzz
Вот, кто-то еще заметил, что там цикл уже существенно больше, чем просто hb <-> freetype.
Понятное дело, что ничего там не произойдет, потому что никто, кроме его работодателей, повлиять на разработчика harfbuzz не может. А им, очевидно, похуй, пока он исправно проталкивает нужные изменения в downstream дистрибутивов.
GitHub
Discuss: resolve harfbuzz<->freetype circular dependency via a C header-only hb-ft.h implementation · Issue #2524 · harfbuzz/harfbuzz
This concept occurred to me while discussing the problems with the current circular dependency between these two libraries. Essentially, we could pull the contents of hb-ft.cc out into hb-ft.h, and...
👍4🔥3❤2🤔1
https://github.com/yandex/yatool
#я_просто_оставлю_это_здесь, #what_a_day_to_be_alive, #джва_года_ждал
#yatool
(пересоздал с КДПВ)
#я_просто_оставлю_это_здесь, #what_a_day_to_be_alive, #джва_года_ждал
#yatool
(пересоздал с КДПВ)
🔥34🎉7❤6
commit -m "better"
Видимо, Жастин вполне осознано троллирует почтеннейшую публику своими изысканиями, иначе я более никак не могу объяснить вот этот текст - https://justine.lol/rusage/ #justine Казалось бы, запилила портабельный rusage в своей cosmopolitan libc, ну и ладно.…
https://www.opennet.ru/opennews/art.shtml?num=60206
https://hacks.mozilla.org/2023/11/introducing-llamafile/
Портабельная запускалка моделек (это хайп), один бинарь может работать на нескольких OS/arch (а вот это вот интересная часть)!
Самое первое известное мне невасянское использования cosmopolitan libc от #justine https://justine.lol/cosmopolitan/
Мне идея cosmopolitan не очень нравится, потому что это хак, в плохом смысле этого слова. Индустрии нужно что-то такое, но я бы хотел видеть в этом месте #WASM, или что-то подобное.
Ну и как я когда-то подметил, Justine катится на волне хайпа от ML.
https://hacks.mozilla.org/2023/11/introducing-llamafile/
Портабельная запускалка моделек (это хайп), один бинарь может работать на нескольких OS/arch (а вот это вот интересная часть)!
Самое первое известное мне невасянское использования cosmopolitan libc от #justine https://justine.lol/cosmopolitan/
Мне идея cosmopolitan не очень нравится, потому что это хак, в плохом смысле этого слова. Индустрии нужно что-то такое, но я бы хотел видеть в этом месте #WASM, или что-то подобное.
Ну и как я когда-то подметил, Justine катится на волне хайпа от ML.
www.opennet.ru
Первый выпуск инструмента llamafile от Mozilla
Разработчики из компании Mozilla представили первый выпуск утилиты llamafile, позволяющей создавать универсальные исполняемые файлы для запуска больших языковых моделей машинного обучения (LLM). При помощи llamafile можно взять файл с параметрами модели машинного…
❤4🔥3🤔2💩1
Будни #bootstrap
Вышла новая тележенька, обновился сразу на 4.12.2.
Не знаю, чего там нового, все собралось без новых патчей, но, что интересно, коллеги перешли на scudo - https://github.com/desktop-app/cmake_helpers/tree/92f27add11ae4280939079249d0f9da933ece6ad/external/scudo https://llvm.org/docs/ScudoHardenedAllocator.html
Это такой hardened allocator, раньше развивался в составе Android, потом перешел под крыло LLVM.
Интересно, зачем.
В прошлом тележенька оптимизировала memory pressure, и им было важно, чтобы память, после пиков потребления, быстро возвращалась в систему.
Я, когда подбирал аллокатор для тележеньки, остановился на #tcmalloc, потому что, хоть он и чуть медленнее возвращал память в систему, то общий memory footprint у него был лучше.
Scudo я тоже тестировал, ничем интересным он тогда себя не проявил.
Полагаю, что коллег задолбало искать проезды в проде, и вот, отсюда scudo.
Вышла новая тележенька, обновился сразу на 4.12.2.
Не знаю, чего там нового, все собралось без новых патчей, но, что интересно, коллеги перешли на scudo - https://github.com/desktop-app/cmake_helpers/tree/92f27add11ae4280939079249d0f9da933ece6ad/external/scudo https://llvm.org/docs/ScudoHardenedAllocator.html
Это такой hardened allocator, раньше развивался в составе Android, потом перешел под крыло LLVM.
Интересно, зачем.
В прошлом тележенька оптимизировала memory pressure, и им было важно, чтобы память, после пиков потребления, быстро возвращалась в систему.
Я, когда подбирал аллокатор для тележеньки, остановился на #tcmalloc, потому что, хоть он и чуть медленнее возвращал память в систему, то общий memory footprint у него был лучше.
Scudo я тоже тестировал, ничем интересным он тогда себя не проявил.
Полагаю, что коллег задолбало искать проезды в проде, и вот, отсюда scudo.
GitHub
cmake_helpers/external/scudo at 92f27add11ae4280939079249d0f9da933ece6ad · desktop-app/cmake_helpers
CMake helper scripts. Contribute to desktop-app/cmake_helpers development by creating an account on GitHub.
🔥4👍3❤2🤔1
Forwarded from Programmer memes
This media is not supported in your browser
VIEW IN TELEGRAM
Техдир выдал каждому девопсу по будильнику, который синхронизирован с критическими алертами на продакшене
Programmer memes
Programmer memes
😁23👍4❤1
commit -m "better"
Будни #bootstrap, #cross У меня уже довольно давно была поддержка кросс-компиляции с любого host на любой linux, и на всякие нишевые платформы типа #WASI Вот, добавил darwin-{amr64,x86_64} - https://github.com/pg83/ix/commit/85c66407c092677519f45ee55b265bc272759ad5.…
Будни #bootstrap, #cross, #rant
Вот, запилил какую-то поддержку Windows, для cross сборок. И сразу добавил в свой CI - https://github.com/pg83/ix/blob/main/pkgs/set/ci/unwrap/mingw/w64/ix.sh
С помощью родных sdk пока не стал делать, запилил в https://www.mingw-w64.org/ target.
#MinGW - это очень странная крича, которая одновременно решает следующие задачи:
* Околоавтоматически сгенерить заголовки для всех доступных виндовых API, в виде, понятному gcc/clang
* Долить в стандартную C библиотеку от винды (msvcrt, и да, я знаю про ucrt, но msvcrt есть под любую винду) какое-то количество unix-измов, которое можно добавить без расширения runtime самих Windows (короче, без fork(), но с pthreads)
У меня про эту задачу, на самом деле, есть два больших блока мыслей - один про технические проблемы, с которыми я столкнулся, и второй - про свое отношение к этой деятельности. Вот с него и начну!
Мое отношение к винде, с точки зрения ее поддержки в своем инструментарии, можно сформулировать так:
* С одной стороны, windows - довольновсратая самобытная платформа, не-Unix, во всем смыслах этого слова.
Поэтому поддержать ее как один из таргетов - интересная техническая задача, которую можно пытаться решить кучей разных способов, что доставляет само по себе. Ну вот вам, например, пара проектов, которые решают запуск MSVC тулчейнов через wine - https://github.com/yandex/yatool/blob/main/build/scripts/run_msvc_wine.py (моего изначального авторства, кстати, особенно доставляет, что туда добавлены ретраи, без этого никак), https://github.com/eruffaldi/wine_vcpp, https://github.com/mstorsjo/msvc-wine. Тысячи их.
* С другой - у меня есть сильное внутреннее нежелание это делать.
Почему?
Потому что Microsoft, в данном случае, негодяи и пидарасы!
Они специально сделали свои OS отличными от Unix там, где это вообще возможно, в рамках своей политики EEE. Очень классно - ты контролируешь значительную часть рынка, и делаешь свои API не совместимыми ни с чем, чтобы софт с твоей OS было запредельно дорого пртировать в другие OS. Это, кстати, довольно разумное бизнес решение так-то.
Но, зато, теперь, когда Windows утрачивает лидирующие позиции, я с удовольствием смотрю, как ей приходится заигрывать с Unix (тот же WSL), чтобы их OS, как среда разработки, продолжала бы иметь какой-то смысл. Без WSL, и без тулинга, который он предоставляет, разработка под винду - тихий ужас.
Вообще, в глубине души, я это воспринимаю как кармический ответ - сначала вы ебали все сообщество программистов своими убогими решениями, нацеленными на то, чтобы сделать "иначе", а потом сообщество ебет вас тем, что игнорирует платформу в своих внутренних инструментариях, которые пилит для себя, и, тем самым, делает это завендорлоченное убожество еще менее привлекательным для разработчика. За что боролись, на то и напоролись - жрите свою "инаковость" ложками.
(Еще раз, повторю, что это было правильное в моменте решение, которое позволило MS стать теми, кто они есть, а не еще одним провайдером еще одного Unix, кстати, где они? Но любви и желания пилить что-то "под" это не добавляет).
Поэтому отношение к поддержке винды, как таргета для cross сборок, у меня вот такое, противоречивое - интересно, полезно, но шли бы они в хуй, если коротко.
Пилить поддержку винды как host платформы - да боже упаси, ни в жисть.
Вот, запилил какую-то поддержку Windows, для cross сборок. И сразу добавил в свой CI - https://github.com/pg83/ix/blob/main/pkgs/set/ci/unwrap/mingw/w64/ix.sh
С помощью родных sdk пока не стал делать, запилил в https://www.mingw-w64.org/ target.
#MinGW - это очень странная крича, которая одновременно решает следующие задачи:
* Околоавтоматически сгенерить заголовки для всех доступных виндовых API, в виде, понятному gcc/clang
* Долить в стандартную C библиотеку от винды (msvcrt, и да, я знаю про ucrt, но msvcrt есть под любую винду) какое-то количество unix-измов, которое можно добавить без расширения runtime самих Windows (короче, без fork(), но с pthreads)
У меня про эту задачу, на самом деле, есть два больших блока мыслей - один про технические проблемы, с которыми я столкнулся, и второй - про свое отношение к этой деятельности. Вот с него и начну!
Мое отношение к винде, с точки зрения ее поддержки в своем инструментарии, можно сформулировать так:
* С одной стороны, windows - довольно
Поэтому поддержать ее как один из таргетов - интересная техническая задача, которую можно пытаться решить кучей разных способов, что доставляет само по себе. Ну вот вам, например, пара проектов, которые решают запуск MSVC тулчейнов через wine - https://github.com/yandex/yatool/blob/main/build/scripts/run_msvc_wine.py (моего изначального авторства, кстати, особенно доставляет, что туда добавлены ретраи, без этого никак), https://github.com/eruffaldi/wine_vcpp, https://github.com/mstorsjo/msvc-wine. Тысячи их.
* С другой - у меня есть сильное внутреннее нежелание это делать.
Почему?
Потому что Microsoft, в данном случае, негодяи и пидарасы!
Они специально сделали свои OS отличными от Unix там, где это вообще возможно, в рамках своей политики EEE. Очень классно - ты контролируешь значительную часть рынка, и делаешь свои API не совместимыми ни с чем, чтобы софт с твоей OS было запредельно дорого пртировать в другие OS. Это, кстати, довольно разумное бизнес решение так-то.
Но, зато, теперь, когда Windows утрачивает лидирующие позиции, я с удовольствием смотрю, как ей приходится заигрывать с Unix (тот же WSL), чтобы их OS, как среда разработки, продолжала бы иметь какой-то смысл. Без WSL, и без тулинга, который он предоставляет, разработка под винду - тихий ужас.
Вообще, в глубине души, я это воспринимаю как кармический ответ - сначала вы ебали все сообщество программистов своими убогими решениями, нацеленными на то, чтобы сделать "иначе", а потом сообщество ебет вас тем, что игнорирует платформу в своих внутренних инструментариях, которые пилит для себя, и, тем самым, делает это завендорлоченное убожество еще менее привлекательным для разработчика. За что боролись, на то и напоролись - жрите свою "инаковость" ложками.
(Еще раз, повторю, что это было правильное в моменте решение, которое позволило MS стать теми, кто они есть, а не еще одним провайдером еще одного Unix, кстати, где они? Но любви и желания пилить что-то "под" это не добавляет).
Поэтому отношение к поддержке винды, как таргета для cross сборок, у меня вот такое, противоречивое - интересно, полезно, но шли бы они в хуй, если коротко.
Пилить поддержку винды как host платформы - да боже упаси, ни в жисть.
GitHub
ix/pkgs/set/ci/unwrap/mingw/w64/ix.sh at main · pg83/ix
ix package manager. Contribute to pg83/ix development by creating an account on GitHub.
👍19🔥4❤3👎1💯1
commit -m "better"
В очередной раз дебажил проблему в #mesa. Это уже какое-то дежавю - каждый новый релиз mesa приносит мне новый веселый черный экран. Самое забавное - что я не могу написать ни одного нового слова по этому поводу, потому что про все эти проблемы в mesa я…
https://registry.khronos.org/EGL/extensions/ANDROID/EGL_ANDROID_blob_cache.txt
А вот, кстати, кеширование шейдеров здорового человека. Нормальный протокол для регистрации своего key/value хранилища, можно хоть memcached прикрутить.
Вот бы в #mesa его начали использовать консистентно, а я бы прикрутил mamcached, или там redis? С активацией через dbus, чтобы не висело постоянно.
Мечты, мечты...
А вот, кстати, кеширование шейдеров здорового человека. Нормальный протокол для регистрации своего key/value хранилища, можно хоть memcached прикрутить.
Вот бы в #mesa его начали использовать консистентно, а я бы прикрутил mamcached, или там redis? С активацией через dbus, чтобы не висело постоянно.
Мечты, мечты...
👍5❤3🤯3
commit -m "better"
https://github.com/harfbuzz/harfbuzz/issues/2524#issuecomment-1835439173 #harfbuzz Вот, кто-то еще заметил, что там цикл уже существенно больше, чем просто hb <-> freetype. Понятное дело, что ничего там не произойдет, потому что никто, кроме его работодателей…
Я ору, и не могу остановиться. #harfbuzz
Как обычно, решил влезть в дискуссию, и сказал, что так-то есть дофига способов разорвать эту circular dep, было бы желание - https://github.com/harfbuzz/harfbuzz/issues/2524#issuecomment-1837576427
На что я получил кучу ожидаемой чепухи про ABI, https://github.com/harfbuzz/harfbuzz/issues/2524#issuecomment-1839281781
И, самая мякотка:
"That's a more feasible solution IMO. @lemzwerg would you be open to dlopening libharfbuzz? If not, we might consider it on our side"
Пиздец, я хочу, чтобы в этом мире было меньше хаков с dlopen, а коллега, на голубом глазу, предлагает разорвать этот цикл черз dlopen...
АААА!!!
Как обычно, решил влезть в дискуссию, и сказал, что так-то есть дофига способов разорвать эту circular dep, было бы желание - https://github.com/harfbuzz/harfbuzz/issues/2524#issuecomment-1837576427
На что я получил кучу ожидаемой чепухи про ABI, https://github.com/harfbuzz/harfbuzz/issues/2524#issuecomment-1839281781
И, самая мякотка:
"That's a more feasible solution IMO. @lemzwerg would you be open to dlopening libharfbuzz? If not, we might consider it on our side"
Пиздец, я хочу, чтобы в этом мире было меньше хаков с dlopen, а коллега, на голубом глазу, предлагает разорвать этот цикл черз dlopen...
АААА!!!
GitHub
Discuss: resolve harfbuzz<->freetype circular dependency via a C header-only hb-ft.h implementation · Issue #2524 · harfbuzz/harfbuzz
This concept occurred to me while discussing the problems with the current circular dependency between these two libraries. Essentially, we could pull the contents of hb-ft.cc out into hb-ft.h, and...
🤯8🔥4😢4🤡3🤬1🐳1