https://www.ryanliptak.com/blog/every-rc-exe-bug-quirk-probably/
https://github.com/squeek502/resinator
Чувак запилил альтернативный windows resource compiler. Это такая штука, которая позволяет включать в выполняемый файл иконки, и прочую лабуду.
Зачем?
Потому что все предыдущие open source реализации (windres от GNU, llvm-rc от LLVM, и какая-то еще) обладали фатальным недостатком -были написаны не на Zig Нет, реально, они все не совпадают с оригинальным
Тут, конечно, интересен подход, с которым коллега подступился к этому "говну мамонта" "от дидов" - а давайте пофаззим новую реализацию до тех пор, пока не перестанет падать функция
Подход, безусловно, интересный, привел к очень качественной реализации, которая ближе всех кЖалко, что на выдуманном языке программирования.
В общем, труд титанический, текст интересный, разбор получившегося корпуса included.
PS: оказывается, коллега уже про это писал, а я и не заметил - https://xn--r1a.website/gepardchan/151
https://github.com/squeek502/resinator
Чувак запилил альтернативный windows resource compiler. Это такая штука, которая позволяет включать в выполняемый файл иконки, и прочую лабуду.
Зачем?
Потому что все предыдущие open source реализации (windres от GNU, llvm-rc от LLVM, и какая-то еще) обладали фатальным недостатком -
rc.exe в каких-то краевых случаях.Тут, конечно, интересен подход, с которым коллега подступился к этому "говну мамонта" "от дидов" - а давайте пофаззим новую реализацию до тех пор, пока не перестанет падать функция
if (new(input) != rc.exe(input)) { abort(); }. Заодно получим корпус всяких смешных ошибок, и странностей оригинального rc.exe.Подход, безусловно, интересный, привел к очень качественной реализации, которая ближе всех к
rc.exe. В общем, труд титанический, текст интересный, разбор получившегося корпуса included.
PS: оказывается, коллега уже про это писал, а я и не заметил - https://xn--r1a.website/gepardchan/151
If you'd like to skip around and check out the
strangest bugs/quirks, Ctrl+F for 'utterly baffling'
Ryanliptak
Every bug/quirk of the Windows resource compiler (rc.exe), probably - ryanliptak.com
Fuzz testing decades-old software can turn up some curious behaviors
👍22❤6🤡3👎2🔥1
commit -m "better"
В какой-то момент экспериментов с scx, я решил, что надо запускать userspace часть с каким-нибудь RT приоритетом, потому что решения про шедулинг - это важно, и нужно уметь получать их за предсказуемое время, да же?
https://mostlynerdless.de/blog/2024/09/10/hello-ebpf-writing-a-linux-scheduler-in-java-with-ebpf-15/
Я в растерянности, потому что, с одной стороны, это годный текст про еще один userspace scheduler, на основе #sched_ext/#ebpf, а с другой - явный (pun intended) кандидат в серию "новости из дурки", потому что писать userspace scheduler на Java - это, конечно, за гранью.
Я в растерянности, потому что, с одной стороны, это годный текст про еще один userspace scheduler, на основе #sched_ext/#ebpf, а с другой - явный (pun intended) кандидат в серию "новости из дурки", потому что писать userspace scheduler на Java - это, конечно, за гранью.
Mostly nerdless
Hello eBPF: Writing a Linux scheduler in Java with eBPF (15) - Mostly nerdless
Why not create a Linux scheduler in Java? Learn how to use Java, eBPF and sched-ext to create your own scheduler.
😁17👏8🤯5👍2❤1😱1
commit -m "better"
При сравнении с Alacritty производительность Ghostty была примерно на том же уровне
Все же, пока чуть медленнее:
vs
Тестировал выводом большого текстового файла.
Тест на вшивость (выводим в терминал всякий треш, ждем, что упадет) ghostty тоже вполне прошел.
#alacritty #ghostty
real 0m4.624s
user 0m0.004s
sys 0m1.152s
vs
real 0m4.929s
user 0m0.004s
sys 0m1.155s
Тестировал выводом большого текстового файла.
Тест на вшивость (выводим в терминал всякий треш, ждем, что упадет) ghostty тоже вполне прошел.
#alacritty #ghostty
👍14🤡5🔥2❤1
Forwarded from Матразнобой (Altan)
#Lean
Многие знают, что после успешно завершённого Liquid Tensor Experiment Кевин Баззард и команда отдохнули немного, и вновь взялись за работу. Они занимаются формализацией доказательства Великой теоремы Ферма.
В своём блоге Кевин рассказал об их продвижениях до сих пор. И это совершенно прекрасная история, написанная живым и слегка ироническим языком.
Кратко, его товарищи в процессе работы, прописывая основания кристальных когомологий, обнаружили, что оригинальное доказательство не компилируется. В нём нашлась неустранимая дыра: доказательство ссылается на статью N.Roby 1965 года, Лемма 8 из которой неверна. Что удивительно, N.Roby доказывает её, неправильно цитируя свою же статью 1963 года.
Кевин пишет, что для него в этот момент обрушилось всё доказательство; теорема Ферма стала вновь стала открытой проблемой. Но он знал, что раз теория кристальных когомологий используется последние пятьдесят лет, то она работает, и нужно лишь по-новому обосновать верное утверждение.
Кевин, чем писать электронные письма экспертам, выпил кофе с одним профессором, пообедал с другим, и в конце концов нашёлся текст Артура Огуса, который закрывал дыру, а сам Артур взялся закрывать известные ему дыры в этом своём тексте.
Кевин заключает замечанием о том, в каком хрупком состоянии находится современная математика, сколько критических деталей известны лишь специалистам и нигде толком не прописаны.
--------
Меня в этой истории вдохновляет, что к нам в математику как будто приходит живой трибунал, универсальный калькулятор истинности. Пока утверждение не компилируется Lean'ом, оно не считается доказанным.
Похожая история была в XIX веке: Вейерштрасс, Коши, Пеано, Гильберт, все занимались отделением математики от натурфилософии, постановкой её на формальные рельсы. Их критиковали за излишнюю строгость, за изгнание творчества из математики; но, как и в случае с Lean'ом, ответ есть лишь один: если мы занимаемся математикой, хотим быть уверенными в истинности утверждения, всегда иметь опору под ногами, иметь проверяемые универсальные результаты, нужно модернизировать наш средневековый цех всеми доступными современными технологиями. За Lean'ом будущее!
Многие знают, что после успешно завершённого Liquid Tensor Experiment Кевин Баззард и команда отдохнули немного, и вновь взялись за работу. Они занимаются формализацией доказательства Великой теоремы Ферма.
В своём блоге Кевин рассказал об их продвижениях до сих пор. И это совершенно прекрасная история, написанная живым и слегка ироническим языком.
Кратко, его товарищи в процессе работы, прописывая основания кристальных когомологий, обнаружили, что оригинальное доказательство не компилируется. В нём нашлась неустранимая дыра: доказательство ссылается на статью N.Roby 1965 года, Лемма 8 из которой неверна. Что удивительно, N.Roby доказывает её, неправильно цитируя свою же статью 1963 года.
Кевин пишет, что для него в этот момент обрушилось всё доказательство; теорема Ферма стала вновь стала открытой проблемой. Но он знал, что раз теория кристальных когомологий используется последние пятьдесят лет, то она работает, и нужно лишь по-новому обосновать верное утверждение.
Кевин, чем писать электронные письма экспертам, выпил кофе с одним профессором, пообедал с другим, и в конце концов нашёлся текст Артура Огуса, который закрывал дыру, а сам Артур взялся закрывать известные ему дыры в этом своём тексте.
Кевин заключает замечанием о том, в каком хрупком состоянии находится современная математика, сколько критических деталей известны лишь специалистам и нигде толком не прописаны.
--------
Меня в этой истории вдохновляет, что к нам в математику как будто приходит живой трибунал, универсальный калькулятор истинности. Пока утверждение не компилируется Lean'ом, оно не считается доказанным.
Похожая история была в XIX веке: Вейерштрасс, Коши, Пеано, Гильберт, все занимались отделением математики от натурфилософии, постановкой её на формальные рельсы. Их критиковали за излишнюю строгость, за изгнание творчества из математики; но, как и в случае с Lean'ом, ответ есть лишь один: если мы занимаемся математикой, хотим быть уверенными в истинности утверждения, всегда иметь опору под ногами, иметь проверяемые универсальные результаты, нужно модернизировать наш средневековый цех всеми доступными современными технологиями. За Lean'ом будущее!
Xena
Beyond the Liquid Tensor Experiment
The liquid tensor experiment is now fully completed.
🔥48❤10🤡4👍3🆒1
Forwarded from Мост на Жепи (Иван Б.)
This media is not supported in your browser
VIEW IN TELEGRAM
@FluffyClaws
Звук
Звук
😁26❤5😢4🍌2
commit -m "better"
На днях столкнулся с Chimera Linux - дистрибутив, достаточно близкий мне по духу
https://www.opennet.ru/opennews/art.shtml?num=62490
"Проект основан Ниной Колеса (Nina Kolesa) из компании Igalia"
https://www.opennet.ru/opennews/art.shtml?num=56015
"Даниэль Колеса (Daniel Kolesa) из компании Igalia"
Да еб твою мать, никогда такого не было, и вот, опять. Это такой обряд инициации что ли?
"Проект основан Ниной Колеса (Nina Kolesa) из компании Igalia"
https://www.opennet.ru/opennews/art.shtml?num=56015
"Даниэль Колеса (Daniel Kolesa) из компании Igalia"
Да еб твою мать, никогда такого не было, и вот, опять. Это такой обряд инициации что ли?
www.opennet.ru
Бета-выпуск дистрибутива Chimera, сочетающего ядро Linux с окружением FreeBSD
После трёх лет разработки и спустя полтора года с момента формирования первой альфа-версии объявлено о переходе дистрибутива Chimera Linux на стадию бета-тестирования. Дистрибутив примечателен использованием ядра Linux в сочетании с утилитами из FreeBSD,…
😁18💅7😈4🦄3🐳2👍1🤡1🍓1
commit -m "better"
https://www.opennet.ru/opennews/art.shtml?num=61667 #zluda Рубрика "корежит проклятых капиталистов" Не буду ничего цитировать, прочитайте сами.
https://www.opennet.ru/opennews/art.shtml?num=62499
Очень упорный товарищ, таки подчистил код от наследия из AMD, и продолжает пилить #zluda. Наверное, из этого получится что-то интересное.
Очень упорный товарищ, таки подчистил код от наследия из AMD, и продолжает пилить #zluda. Наверное, из этого получится что-то интересное.
www.opennet.ru
Выпуск ZLUDA 4, универсальной реализации технологии CUDA
Анджей Яник (Andrzej Janik) представил обновление проекта ZLUDA, развивающего открытую реализацию технологии CUDA. Целью проекта является предоставление возможности запуска немодифицированных приложений CUDA на системах с GPU, отличных от GPU NVIDIA, с п…
🔥23👍3❤2🆒2🤡1
Будни #bootstrap
Обновился gnu bc, до версии 1.08
Сборка стала падать с ошибкой:
Непродолжительные раскопки привели к вот такому сниппету в сборке:
Ну вот мы и получаем
Что имел в виду автор, непонятно. Возможно, полные пути в файловой системе. Но откуда бы?
Может быть, проверил сборку только с inplace readline, тогда это были бы пути относительно корня build root.
В общем, починил я это так - взял да добавил "недостающие" файлы:
Отнесу ли я это в upstream?
Конечно, нет, потому что я этот upstream (помимо полудохлого mailing list)в гробу видел и в белых тапках даже не сумел найти, ну или покажите, где эти исходники есть online, не в виде готового tgz.
Обновился gnu bc, до версии 1.08
Сборка стала падать с ошибкой:
make[2]: *** No rule to make target '-lreadline', needed by 'dc'. Stop.
make[1]: *** [Makefile:368: all-recursive] Error 1
make: *** [Makefile:309: all] Error 2
Непродолжительные раскопки привели к вот такому сниппету в сборке:
LDADD = $(LIBBC) @READLINELIB@
$(PROGRAMS): $(LDADD)
Ну вот мы и получаем
-lreadline -lncurses в READLINELIB, и такое всратое поведение.Что имел в виду автор, непонятно. Возможно, полные пути в файловой системе. Но откуда бы?
Может быть, проверил сборку только с inplace readline, тогда это были бы пути относительно корня build root.
В общем, починил я это так - взял да добавил "недостающие" файлы:
{% block patch %}
...
echo > "dc/-lreadline"
echo > "dc/-lncurses"
{% endblock %}Отнесу ли я это в upstream?
Конечно, нет, потому что я этот upstream (помимо полудохлого mailing list)
😁18🤣6🔥5🤡2❤1🐳1
commit -m "better"
Будни #bootstrap Обновился gnu bc, до версии 1.08 Сборка стала падать с ошибкой: make[2]: *** No rule to make target '-lreadline', needed by 'dc'. Stop. make[1]: *** [Makefile:368: all-recursive] Error 1 make: *** [Makefile:309: all] Error 2 Непродолжительные…
Оказалось, что это just as planned:
https://www.gnu.org/software/make/manual/html_node/Libraries_002fSearch.html
Звучит интересно, но работать за пределами https://ru.wikipedia.org/wiki/FHS это не может.
(спасибо нашим слушателям за разъяснение!)
https://www.gnu.org/software/make/manual/html_node/Libraries_002fSearch.html
Звучит интересно, но работать за пределами https://ru.wikipedia.org/wiki/FHS это не может.
(спасибо нашим слушателям за разъяснение!)
www.gnu.org
Libraries/Search (GNU make)
Previous: Directory Search and Implicit Rules, Up: Searching Directories for Prerequisites [Contents][Index]
👍8🤡4😭2🔥1
commit -m "better"
Продолжим славную традицию репоста новогоднего дайджеста от opennet, они лучшие!
https://www.opennet.ru/opennews/art.shtml?num=62475
Очередной новогодний дайджест от opennet, не упустите!
Очередной новогодний дайджест от opennet, не упустите!
www.opennet.ru
Наиболее важные события 2024 года, связанные с открытыми проектами
Итоговая подборка наиболее важных и заметных событий 2024 года, связанных с открытыми проектами и информационной безопасностью:
🔥12👍6🙏3❤1
commit -m "better"
2 vps
#lab #home_lab
Теперь 3 vps, мир не без добрых людей.
Внезапно обнаружил, что 1 из vps помер месяц назад, из-за неуплаты, но весь комплекс продолжил работать, как танк.
Избыточность - хорошо!
Теперь 3 vps, мир не без добрых людей.
Внезапно обнаружил, что 1 из vps помер месяц назад, из-за неуплаты, но весь комплекс продолжил работать, как танк.
Избыточность - хорошо!
🆒15🔥9😁5👍2🤡1
https://devblogs.microsoft.com/oldnewthing/20100517-00/?p=14013
А вот, например, устройство (коротенько) windows 3.11
TL;DR - большие они там были затейники:
"there were actually three operating systems running at the same time. The operating system in charge of the show was the 32-bit virtual machine manager which ran in 32-bit protected mode. As you might suspect from its name, the virtual machine manager created virtual machines. Inside the first virtual machine ran… a copy of Standard mode Windows"
"The other virtual machines each ran a copy of MS-DOS and were responsible for your MS-DOS sessions. Recall that Enhanced mode Windows allowed you to run multiple MS-DOS prompts that were pre-emptively multi-tasked"
А вот, например, устройство (коротенько) windows 3.11
TL;DR - большие они там были затейники:
"there were actually three operating systems running at the same time. The operating system in charge of the show was the 32-bit virtual machine manager which ran in 32-bit protected mode. As you might suspect from its name, the virtual machine manager created virtual machines. Inside the first virtual machine ran… a copy of Standard mode Windows"
"The other virtual machines each ran a copy of MS-DOS and were responsible for your MS-DOS sessions. Recall that Enhanced mode Windows allowed you to run multiple MS-DOS prompts that were pre-emptively multi-tasked"
Microsoft News
If Windows 3.11 required a 32-bit processor, why was it called a 16-bit operating system?
Commenter Really16 asks via the Suggestion Box how 32-bit Win32s was, and why Windows 3.11 was called 16-bit Windows when it required a 32-bit CPU and ran in 32-bit protected mode. First, let’s look at how Windows worked in so-called Standard mode.
🤯13🔥8👍4❤2🤡1
https://users.rust-lang.org/t/game-dev-in-rust-a-year-later/123522
Состояние rust gamedev.
TL;DR - смерть, смерть, кладбище.
Особенно зацепило
"Whenever there's been a serious problem that was hard to find, it was always because somebody built their own allocation system instead of using safe Rust constructs. Putting everything in an array and passing around array indices in multi-threaded programs is usually trouble"
Тема прямо ровно вот в этой постановке несколько раз возникала в нашем дискуссионном чате. Что вот люди пилят хранение объектов в массиве, и оперируют индексами в этом массиве, вместо указателей, чтобы как-то обойти неудобства Rust.
У индексов есть очень понятные минусы, по сравнению со ссылками и указателями на элементы:
* Код сложнее, больше вероятность ошибки.
* Указатель - он всегда в память, не промахнешься (хе-хе), а вот индекс - он куда? В этот массив, или в тот? К указателю приписан тип, к индексу - нет.
Наверное, это все решаемо, но явно это чего-то будет стоить.
Состояние rust gamedev.
TL;DR - смерть, смерть, кладбище.
Особенно зацепило
"Whenever there's been a serious problem that was hard to find, it was always because somebody built their own allocation system instead of using safe Rust constructs. Putting everything in an array and passing around array indices in multi-threaded programs is usually trouble"
Тема прямо ровно вот в этой постановке несколько раз возникала в нашем дискуссионном чате. Что вот люди пилят хранение объектов в массиве, и оперируют индексами в этом массиве, вместо указателей, чтобы как-то обойти неудобства Rust.
У индексов есть очень понятные минусы, по сравнению со ссылками и указателями на элементы:
* Код сложнее, больше вероятность ошибки.
* Указатель - он всегда в память, не промахнешься (хе-хе), а вот индекс - он куда? В этот массив, или в тот? К указателю приписан тип, к индексу - нет.
Наверное, это все решаемо, но явно это чего-то будет стоить.
The Rust Programming Language Forum
Game dev in Rust, a year later
Well, here we are, a year after I wrote "Game dev in Rust, some notes on the mess." Things haven't changed much. I'm still using the Rend3/WGPU/Vulkan graphics stack. It works reasonably well at this point. Notes: Several major game projects abandoned…
😁22👍8🤡5🔥2🤔1
commit -m "better"
Иначе я не могу себе объяснить существование проектов с тысячами и десятками тысяч звезд, которыми, на самом деле, никто не пользуется.
https://www.opennet.ru/opennews/art.shtml?num=62515
"Накручивание звёзд также использовалось для продвижения продуктов, самоутверждения разработчиков, принижения конкурентов и повышения значимости в глазах пользователей. Приводятся примеры 7 коммерческих сервисов накрутки, стоимость работы которых составляет от $0.10 до $1.62 за звезду"
А вот и ответ на тему "откуда берутся потемкинские проекты", и я даже особо не стебусь, линкуя сюда эту тему про "звезды Rust проектов".
https://xn--r1a.website/itpgchannel/1679
https://xn--r1a.website/itpgchannel/1685
https://xn--r1a.website/itpgchannel/1688
https://xn--r1a.website/itpgchannel/2190
https://xn--r1a.website/itpgchannel/1483
"Накручивание звёзд также использовалось для продвижения продуктов, самоутверждения разработчиков, принижения конкурентов и повышения значимости в глазах пользователей. Приводятся примеры 7 коммерческих сервисов накрутки, стоимость работы которых составляет от $0.10 до $1.62 за звезду"
А вот и ответ на тему "откуда берутся потемкинские проекты", и я даже особо не стебусь, линкуя сюда эту тему про "звезды Rust проектов".
https://xn--r1a.website/itpgchannel/1679
https://xn--r1a.website/itpgchannel/1685
https://xn--r1a.website/itpgchannel/1688
https://xn--r1a.website/itpgchannel/2190
https://xn--r1a.website/itpgchannel/1483
www.opennet.ru
Накручивание звёзд вредоносным репозиториям на GitHub
Исследователи из Университета Карнеги-Меллона, Университета штата Северная Каролина и компании Socket разработали инструментарий для определения проектов с накрученным рейтингом на GitHub. В результате применения инструмента было выявлено 3.1 млн фиктивно…
😁12🤡6👍4❤2🤔1
commit -m "better"
пресуппозиция
https://x.com/elonmusk/status/1876174862747930717
Гля какой классный пример пресуппозиции!
Каждый, кто принял участие в опросе, исподволь согласился с тем, что в Британии "tyrannical government"!
Гля какой классный пример пресуппозиции!
Каждый, кто принял участие в опросе, исподволь согласился с тем, что в Британии "tyrannical government"!
👍7❤6🔥4😁3🆒2
Forwarded from The Экономист
Корпорация Meta* объявила о завершении программы проверки фактов и снятии ограничений на высказывания на своих платформах, включая Facebook и Instagram, чтобы «восстановить свободу выражения», заявил глава корпорации Марк Цукерберг.
🤑 The Экономист
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡20🐳16😁8👍2❤1