RSSAmplifier

Blog

Monoidal Tranformation

Recent content on Monoidal Tranformation

monoid.github.ioRSS feed ↗8 posts

Latest posts

False Sharing Alignment

What is false sharing What is false sharing ? When CPUs and their cores read and update atomic variables, special hardware protocols make it correct and efficient, while keeping each core’s caches consistent. The coordination doesn’t happen per-address: these protocols work on cache-line-sized chunks. What happens when two atomic variables happen to reside on the same cache line? For…

Ivan Boldyrev's Curriculum Vitae

Contact Contact: lispnik@gmail.com LinkedIn: linkedin.com/in/ivan-boldyrev GitHub: github.com/monoid Location: Barcelona, Catalonia, Spain Top Skills Languages: Rust, Python, C++. Rust ecosystem: Tokio, axum, tonic, serde, Rkyv, WASM, libc. Domains: Distributed systems, Performance engineering, Vector search, Web crawling, System programming. Open Source: WASM-SIMD implementation of BLAKE3 ,…

C in "C" means "confusion"

And in “C++” too.

AARCHMRS dataset for AArch64 instruction synthesis in Rust

Arm Limited, the company behind the ARM architecture, publishes AARCHMRS dataset – “Arm Architecture Machine Readable Specification”, a detailed description of an ARM processor as a set of JSON files. Today I published a set of crates: aarchmrs-parser : a set of definitions that allows parsing the AARCHMRS dataset, but only instructions description file. aarchmrs-instructions : a…

Baby-step-giant-step algorithm in functional encryption

The Shanks’ baby-step-giant step (BSGS) algorithm is the final stage of certain functional encryption schemes based on elliptic curve pairings. This article discusses how the application of BSGS in these schemes differs from the classical one. Boundaries The textbook implementations use the group’s order $q$ as an input parameter. However, it would make the functional encryption scheme…

A ZKP Joke

I’ve got a ZKP joke, but I’m not gonna to tell you. Nevertheless, this is a proof that it is funny.

Rust Coroutines on AArch64 (ARM64)

The amazing book Asynchronous Programming in Rust by Carl Fredrik Samson has a chapter on implementing stackful coroutines (fibers) in Rust for x86_64 architecture, both Linux and MacOS. But unlike the other chapters, no AArch64 implementation was included for the sake of simplicity. I tried to port it to AArch64 , and this post describes my approach. This text is just an additional material for…

Introductory Post

Hi! My name is Ivan Boldyrev, I am software engineer born in Novosibirsk, Russia. My main areas of interest are functional programming, Rust, and parallel programming. Since the start of 2024 I live in Barcelona, Spain. My favourite projects are: StarJs – astronomical library for JavaScript. FUCC – LALR parser generator for Common Lisp. harm – WIP dynamic ARM assembler DSL for…