Forwarded from Random three body problem
This media is not supported in your browser
VIEW IN TELEGRAM
Initial states:
m: 0.991 x: 9.876 y: 8.478 vx: 0.008 vy: 0.023
m: 0.925 x: 7.348 y: -0.973 vx: -0.173 vy: 0.258
m: 0.856 x: 1.261 y: -2.610 vx: -0.005 vy: 0.119
Interest-ness score: 63
m: 0.991 x: 9.876 y: 8.478 vx: 0.008 vy: 0.023
m: 0.925 x: 7.348 y: -0.973 vx: -0.173 vy: 0.258
m: 0.856 x: 1.261 y: -2.610 vx: -0.005 vy: 0.119
Interest-ness score: 63
#prog #rust #abnormalprogramming
Как написать на Rust код, обобщённый относительно мутабельности. Осторожно, nigthly.
github.com/zesterer/mutation
Как написать на Rust код, обобщённый относительно мутабельности. Осторожно, nigthly.
github.com/zesterer/mutation
GitHub
GitHub - zesterer/mutation: Unleash the power of nightly Rust to write code that's generic over mutation!
Unleash the power of nightly Rust to write code that's generic over mutation! - GitHub - zesterer/mutation: Unleash the power of nightly Rust to write code that's generic over mutation!
#prog #rust
Сборник сотни программ на Rust. Собрано из твиттерского треда, так что описания довольно краткие. Но со скриншотами!
Сборник сотни программ на Rust. Собрано из твиттерского треда, так что описания довольно краткие. Но со скриншотами!
www.wezm.net
One Hundred Rust Binaries
I recently completed a #100binaries series on Twitter wherein I shared one
open-source Rust tool or application each day, for one hundred days (Jul—Nov
2020). This post lists binaries 1–50.
See page 2 for binaries 51–100.
open-source Rust tool or application each day, for one hundred days (Jul—Nov
2020). This post lists binaries 1–50.
See page 2 for binaries 51–100.
#prog #python
Минималистичная библиотека для (де)сериализации NamedTuple и датаклассов в/из CSV, использующая аннотации типов для восстановления структуры классов. По умолчанию поддерживает только скалярные типы и их объединения, но можно добавить поддержку своих типов, предоставив словарь из "типов" в пары функций для сериализации и десериализации. Собственно, внутри эта библиотека работает именно так.
Советую глянуть исходники, на удивление понятный и читабельный код.
Минималистичная библиотека для (де)сериализации NamedTuple и датаклассов в/из CSV, использующая аннотации типов для восстановления структуры классов. По умолчанию поддерживает только скалярные типы и их объединения, но можно добавить поддержку своих типов, предоставив словарь из "типов" в пары функций для сериализации и десериализации. Собственно, внутри эта библиотека работает именно так.
Советую глянуть исходники, на удивление понятный и читабельный код.
GitHub
GitHub - derrickturk/antibiotics: the best treatment for acute episodes of PANDAS
the best treatment for acute episodes of PANDAS. Contribute to derrickturk/antibiotics development by creating an account on GitHub.
👍1
#prog #rust #rustlib #amazingopensource
Посмотрите, возможно, это ровно то, что вам надо.
А, ну и, конечно, вафель в очередной раз доказал, что он умница.
Посмотрите, возможно, это ровно то, что вам надо.
А, ну и, конечно, вафель в очередной раз доказал, что он умница.
Forwarded from мне не нравится реальность (вафель 🧇🍓)
У меня тут новый крейт релизнулся: vecrem.
tl;dr: он позволяет быстро высасывать элементы из
tl;dr: он позволяет быстро высасывать элементы из
Vec<_>
(что-то вроде drain_filter
но не совсем)docs.rs
vecrem - Rust
API documentation for the Rust `vecrem` crate.
Forwarded from Архонт щітпосту | #укртґ
Активист SJW Джо Виет хочет запретить использовать дискриминант, так как он вызывает негативные ассоциации и способствует распространению дискриминации в обществе.
Допустим, я организую в Москве встречу с подписчиками
Anonymous Poll
7%
Приду обязательно
10%
Вероятно, приду
11%
Скорее всего, не приду
71%
Точно не приду
Forwarded from Так говорит Алиса (John Meow)
Twitter
Dmitry Patsura
Уже как 3+ недели потихонечку пишу на Rust и боже какой классный язык. Выбрал мою обычную стратегию в изучении чего-то нового, начал писать код для БД apache/arrowб не прочитав и даже одного мануала или статьи в начале. Сейчас поделюсь что интересного в этом…
Forwarded from XYZ
Иногда баг можно превратить в концепцию.
Разработчик Ян Кнооп сделал игру про подводную охоту на китов. Главная особенность в том, что чем больше вы атакуете, тем сильнее искажается мир. Искажения возникают из-за ошибки с плавающей точкой — деформируются модели и багует физика.
Игру можно запустить в браузере: https://yanknoopdev.itch.io/fpl
#интересное_xyz
Разработчик Ян Кнооп сделал игру про подводную охоту на китов. Главная особенность в том, что чем больше вы атакуете, тем сильнее искажается мир. Искажения возникают из-за ошибки с плавающей точкой — деформируются модели и багует физика.
Игру можно запустить в браузере: https://yanknoopdev.itch.io/fpl
#интересное_xyz
Блог*
Монументальная задача. Удачи. https://github.com/sapir/gcc-rust/tree/rust
#prog #rust
Конкретно этот проект, по всей видимости, немного умер — последний коммит был в июле. Однако это не единственный проект, целью которого является добавить поддержку Rust в GCC — есть куда как более живой Rust-gcc. И недавно этот проект (считай, ведущий разработчик) получил финансирование. Теперь мечты о полноценной альтернативной реализации компилятора уже не кажутся столь отдалёнными!
Конкретно этот проект, по всей видимости, немного умер — последний коммит был в июле. Однако это не единственный проект, целью которого является добавить поддержку Rust в GCC — есть куда как более живой Rust-gcc. И недавно этот проект (считай, ведущий разработчик) получил финансирование. Теперь мечты о полноценной альтернативной реализации компилятора уже не кажутся столь отдалёнными!
GitHub
GitHub - Rust-GCC/gccrs: GCC Front-End for Rust
GCC Front-End for Rust. Contribute to Rust-GCC/gccrs development by creating an account on GitHub.
Блог*
#prog #rust Конкретно этот проект, по всей видимости, немного умер — последний коммит был в июле. Однако это не единственный проект, целью которого является добавить поддержку Rust в GCC — есть куда как более живой Rust-gcc. И недавно этот проект (считай…
Предвосхищая закономерные вопросы "а нафига": дело в том, что код на C/C++ может использовать инструменты control flow integrity (такие, как control flow guard) для того, чтобы сделать программу менее подверженную уязвимостям, однако эти методы подразумевают определённую рантайм-оснастку, которая не генерируется для кода, написанного на другом языке, например, на Rust, и это приводит к тому, что смешивание инструментированного кода на C/C++ и не инструментированного, но безопасного кода на Rust может снизить безопасность результирующей программы.
Один из методов решения этой проблемы — каким-либо образом расширить CFI для того, чтобы компилятор мог анализировать и инструментировать код, написанный на нескольких языках, но это, понятное дело, сложно, и, насколько мне известно, таких попыток пока не предпринималось. В итоге проблему может быть выгоднее решить с другого конца: вместо того, чтобы пытаться связать вместе два сильно отличающихся компилятора, научить компилятор понимать код на другом языке для того, чтобы одна и та же инфраструктура для анализа и инструментирования кода использовалась для всего кода вне зависимости от того, на каком языке он написан.
Папир, кстати, настоятельно рекомендую прочитать.
Один из методов решения этой проблемы — каким-либо образом расширить CFI для того, чтобы компилятор мог анализировать и инструментировать код, написанный на нескольких языках, но это, понятное дело, сложно, и, насколько мне известно, таких попыток пока не предпринималось. В итоге проблему может быть выгоднее решить с другого конца: вместо того, чтобы пытаться связать вместе два сильно отличающихся компилятора, научить компилятор понимать код на другом языке для того, чтобы одна и та же инфраструктура для анализа и инструментирования кода использовалась для всего кода вне зависимости от того, на каком языке он написан.
Папир, кстати, настоятельно рекомендую прочитать.
Wikipedia
Control-flow integrity
term in computer security
#prog #rust #article
Очередной (достаточно простой) пример того, как типы в Rust позволяют предотвращать логические ошибки. На этот раз — на примере достаточно прямолинейного протокола IMAP.
Очередной (достаточно простой) пример того, как типы в Rust позволяют предотвращать логические ошибки. На этот раз — на примере достаточно прямолинейного протокола IMAP.
insanitybit.github.io
Beyond Memory Safety With Types -
InsanityBit
InsanityBit
#prog #rust
Автор RustFFT написал заметку об высокоуровневой архитектуре библиотеки, конкретно о той части, как утилизировать AVX наиболее эффективным образом.
Автор RustFFT написал заметку об высокоуровневой архитектуре библиотеки, конкретно о той части, как утилизировать AVX наиболее эффективным образом.
The Rust Programming Language Forum
Exploring RustFFT's SIMD Architecture
Exploring RustFFT's SIMD Architecture After Releasing RustFFT 5.0 yesterday, a few people asked for details on how RustFFT 5.0 achieved its speed improvements over RustFFT 4.0 and its newfound speed advantage over the C FFT library FFTW. In this post, I'll…