Блог* – Telegram
1.93K subscribers
3.53K photos
136 videos
15 files
3.75K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
Блог*
Теперь поговорим о недостатках этого решения: * Решение Кладова может себе позволить хранить интернированные строки, как u32. Моё же решение вынуждено использовать указатель размером минимум с usize, что на большинстве используемых систем — 64-битных…
BTW ну вот какой ещё язык позволяет сделать интёрнер с переиспользованием памяти и гарантиями на корректность ссылок строк? Решения, полагающиеся на сборку мусора, не дают детерминированности
🔥4🤩1🤡1
Forwarded from Random Rust Dev
Неожиданно хороший юмор на реддите.

Моя жена долго искала гигантов на картинке.
😁265🔥1🤔1🤯1🥴1😐1🤷1
...а к другому
🥰10😐32🤔1👌1
#meme про плохой пример
👌7💯21
#prog #amazingopensource

TweetNaCl:
a crypto library in 100 tweets


TweetNaCl is the world's first auditable high-security cryptographic library. TweetNaCl fits into just 100 tweets while supporting all 25 of the C NaCl functions used by applications. TweetNaCl is a self-contained public-domain C library, so it can easily be integrated into applications.
🤔4
#meme про текст песни
😁17🌚1
#prog #article

snuffle / salsa / chacha

Небольшой текст про анатомию ChaCha20, крутое свойство этого шифра (которым обладают далеко не все поточные шифры) и про то, как это шифр был рождён из-за, внезапно, #politota соображений.
👍7
#meme про нефть
🔥17💯71🌚1
#meme

Environmental storytelling
😁39🔥6🤔1😱1
#prog #article

GSoC 2025: Usability Improvements for the Undefined Behavior Sanitizer

clang поддерживает несколько санитайзеров, в том числе UBSan для отловки неопределённого поведения (с оговорками). Запускать их при этом можно в двух разных режимах. Первый — с добавлением рантайма, который при детектировании UB перед завершением работы программы печатает, что конкретно пошло не так. Второй вариант — без рантайма, в котором при детектировании UB просто исполняется trap-инструкция процессора.

Второй вариант больше годится для случаев, когда важны оверхед на производительность и размер компилированного кода (в embedded, например). Проблема в том, что UX у такого решения ужасный: получай аварийное завершение программы, а что именно пошло не так — гадай сам. И даже дебаггер в этих случаях не особо помогает, потому что он максимум укажет на инструкцию рядом с trap и на соответствующую строку исходного кода, но не более.

Anthony Tran задался целью исправить этот недостаток. С этой целью он модифицировал кодогенерацию так, чтобы к trap-инструкции прицеплялась отладочная информация, в которую уже включалось человекочитаемое сообщение об ошибке. Этот подход хорош тем, что сразу же подхватывается существующими отладчиками. Разумеется, дополнительная отладочная информация требует места, но оверхед на размер кода на практике пренебрежимо мал.

Не обошлось без костылей из-за ограниченности DWARF:

To accomplish this, we needed to find a place to “stuff” the string in the DWARF DIE tree. Using a
DW_TAG_subprogram was deemed the most straightforward and space-efficient location. This means we create a synthetic DISubprogram which is not a real function in the compiled program; it exists only in the debug info as a container.
<...>
When a trap is hit in the debugger, the debugger retrieves this string from the debug info and shows it as the reason for trapping.
👍7
Use non-human-readable ids (for example objectGuid) instead of things like SAM account name or email address for data that you expect to live longer that a single day - names tend to change even if this was not originally planned by the spec.
#software_work_tips
💯8🤔2
Блог*
#prog #rust #article Four challenges cargo-semver-checks has yet to tackle
Почти все до сих пор не решены :/ Ну, хотя бы по cross crate analysis и type checking подвижки есть
🤡13🫡3😁1
#prog #rust #article

What does it take to ship Rust in safety-critical?

Статья про очень конкретные препятствия к использованию Rust в safety-critical системах.

Это именно препятствия, а не блоки — в этих областях Rust уже используется в проде.
🤔2
Forwarded from [LLC] food and ass
Оказывается если закрывать как можно быстрее срочные задачи - это не значит что ты сможешь сделать в спокойном темпе не срочные но нужные, тебе просто дадут новых срочных задач от коллег 🥵
Please open Telegram to view this post
VIEW IN TELEGRAM
🫡19😢7💯1
#prog #rust #article

Офигенно!

Rust's standard library on the GPU

GPU code can now use Rust's standard library. We share the implementation approach and what this unlocks for GPU programming.


This works because of our custom hostcall framework. A hostcall is analogous to a syscall. A hostcall is a structured request from GPU code to the host CPU to perform something it cannot execute itself. You can think of it like a remote procedure call from the GPU to the host to achieve syscall-like functionality.

To end users, Rust's std APIs appear unchanged and act as one would expect.
11👍7
#лингво #video

Девять минут нытья по поводу того, какая китайская система письменности логичная и одновременно нет

youtu.be/cYcO3G8Gxu8
4