Блог*
#prog #rust #python #rustlib #amazingopensource Следующий логический шаг: макрос ct_python, который на этапе компиляции выполняет заданный код на Python и раскрывается в вывод в stdout этого скрипта. Презентация возможностей Документация
#prog #rust #c #rustlib #amazingopensource #menacingopensource
Макрос для запуска кода на Cна этапе компиляции из исходника на Rust. В рантайме, увы. (thanks @teamerlin за источник, thanks @ihatereality за поправку)
Анонс
Исходники
Макрос для запуска кода на C
Анонс
Исходники
Twitter
Ivan Enderlin 🦀
Oops… C in Rust. More to come :-). Please @rustlang, don't block me 🙏! #rustlang #c #cpp #clang
#prog #menacingopensource
Как вы все хорошо знаете, лучший способ улучшить что-то, что и так достаточно хорошо — это добавить в это что-то сториз. Именно поэтому Ben Awad написал расширение, которое добавляет сториз в VS Code (thanks @ihatereality).
Расширение в Marketplace
Исходники
Как вы все хорошо знаете, лучший способ улучшить что-то, что и так достаточно хорошо — это добавить в это что-то сториз. Именно поэтому Ben Awad написал расширение, которое добавляет сториз в VS Code (thanks @ihatereality).
Расширение в Marketplace
Исходники
YouTube
Introducing VSCode Stories
I made stories for VSCode that way you can make fun coding stories and share them with your fellow developers.
extension: https://marketplace.visualstudio.com/items?itemName=benawad.stories
code: https://github.com/benawad/vscode-stories
#benawad #vscode…
extension: https://marketplace.visualstudio.com/items?itemName=benawad.stories
code: https://github.com/benawad/vscode-stories
#benawad #vscode…
#amazingopensource #menacingopensource
Что такое fortraith? Нет, это не опечатка в слове Fortran или, упаси боже, Fortnite. Это — библиотека, реализующая компилятор времени компиляции, который переводит что-то, похожее на Forth, в вычисления на уровне типов Rust. Что? Да.
Что такое fortraith? Нет, это не опечатка в слове Fortran или, упаси боже, Fortnite. Это — библиотека, реализующая компилятор времени компиляции, который переводит что-то, похожее на Forth, в вычисления на уровне типов Rust. Что? Да.
GitHub
GitHub - Ashymad/fortraith: Forth for Rust's trait system
Forth for Rust's trait system. Contribute to Ashymad/fortraith development by creating an account on GitHub.
#prog #rust #rustlib #menacingopensource
gpt-macro — ChatGPT powered Rust proc macro that generates code at compile-time.
gpt-macro — ChatGPT powered Rust proc macro that generates code at compile-time.
GitHub
GitHub - retrage/gpt-macro: ChatGPT powered Rust proc macro that generates code at compile-time.
ChatGPT powered Rust proc macro that generates code at compile-time. - retrage/gpt-macro
😁11💩4🤡2🤮1
Блог*
#prog #python #article ABI compatibility in Python: How hard could it be? Нативные расширения для Python могут распространяться в двух формах: в исходниках и в пресобранных бинарях. В первом варианте сборка нативного кода происходит непосредственно на машине…
В статье мимолётом упоминается, что им не удалось найти кошкодевочек, в отличие от moyix.
#prog (somewhat #python) #menacingopensource #article
Someone’s Been Messing With My Subnormals!
TL;DR: After noticing an annoying warning, I went on an absurd yak shave, and discovered that because of a tiny handful of Python packages built with an appealing-sounding but dangerous compiler option, more than 2,500 Python packages—some with more than a million downloads per month—could end up causing any program that uses them to compute incorrect numerical results.
Или чуть более подробно: в силу каких-то сомнительных решений в GCC (равно как и в clang, который старательно скопировал его поведение) активация флага
#prog (somewhat #python) #menacingopensource #article
Someone’s Been Messing With My Subnormals!
TL;DR: After noticing an annoying warning, I went on an absurd yak shave, and discovered that because of a tiny handful of Python packages built with an appealing-sounding but dangerous compiler option, more than 2,500 Python packages—some with more than a million downloads per month—could end up causing any program that uses them to compute incorrect numerical results.
Или чуть более подробно: в силу каких-то сомнительных решений в GCC (равно как и в clang, который старательно скопировал его поведение) активация флага
-Ofast
подразумевает активацию флага -ffast-math
, который, в свою очередь, при компиляции разделяемой библиотеки генерировал для неё конструктор, который, помимо всего прочего, выставлял в процессоре флаг, регулирующий поведение операций над плавающей точкой — более конкретно, FTZ/DAZ, при активации которого операции, которые выдали бы субнормальные числа с плавающей точкой, вместо этого выдают ноль. Несколько нативных расширений были скомпилированы с флагом -Ofast
, которые в результате стали расширениями, банальный импорт которых менял поведение арифметики чисел с плавающей точкой для всего процесса, включая код из NumPy.X (formerly Twitter)
Brendan Dolan-Gavitt (@moyix) on X
Among many, many other files, my Python packaging misadventures seem to have made me the proud owner of these two pictures, deposited in ~/.local/share/koneko/pics. Thanks, pip!
😱5