Péter Szilágyi
banner
karalabe.bsky.social
Péter Szilágyi
@karalabe.bsky.social
Founder @dark.bio
Former Go Ethereum Lead (2015-2025)
Today I threw a weird request at AmpCode: generate a module hierarchy for my library... in draw[io]... because why make it easy :D

I was fully expecting it to botch it. Aaaaad, it effin aced it. 🤪 There are some tweaks needed here and there, but damn.
January 2, 2026 at 5:12 PM
The small joys in life: added a favicon to the Dark Bio blog =)
DarkBio Blog
Hardware, software and wetware
blog.dark.bio
January 2, 2026 at 11:24 AM
Talk about starting the year with commitments! 😅

Go and have a read, but be gentle on the criticism. 🫠

Happy new year! 🥳
Happy new year! 🥳

Thrilled to announce a new blog series for the Dark Bio project, focusing on hardware, software and wetware!
January 1, 2026 at 9:25 AM
Intra-holiday hack session 😅

I've just updated my #Rust cryptography library for a post-quantum world:

- Composite ML-DSA-65 + Ed25519 signatures.
- Composite ML-KEM-768 + X25519 encryption.

Since they don't have an RFC name yet, went with xDSA and xHPKE for now 😋
December 29, 2025 at 12:59 PM
Oh, wtf, I'm 3/4 through integrating X-Wing KEM into my project and it turns out it *cannot* authenticate??

This is such a weird thing:

- Hey, we invented HPKE to make using crypto easy!
- Hey, we invented post-quantum HPKE (which disables half of HPKE, making it a mess again, but who cares).
December 23, 2025 at 12:39 PM
@filippo.abyssdomain.expert I've been digging into the Go Argon2 code and I think the recommended settings is wrong.

The docs state "[RFC 9106 Section 7.3] recommends time=1, and memory=64*1024 as a sensible number."

Section 7.3 is a different section, and 7.4 recommends 1/2GB or 3/64MB.
RFC 9106: Argon2 Memory-Hard Function for Password Hashing and Proof-of-Work Applications
This document describes the Argon2 memory-hard function for password hashing and proof-of-work applications. We provide an implementer-oriented description with test vectors. The p...
www.rfc-editor.org
December 22, 2025 at 3:41 PM
This work is courtesy of Kato Robert Berti. I think he doesn't have a Bluesky presence, so shoutout into the void 😅
Last teaser of the year: sneak peek view of the companion app for the Ark I.

Next year's going to be a busy one for Dark Bio! Until then, happy holidays everyone. ❄️
December 19, 2025 at 11:45 AM
The USB-C flavour of the Ark I is functional! The connector positioning needs a bit more precision though, it's not a snug enough fit for my taste.

On the down side, the CNC job leaves a lot to be desired. Annoying how good it is, yet how far away.

You win some you lose some 😅
December 18, 2025 at 4:04 PM
Tonight I benchmarked some #Rust tokio framing mechanism. The encoder was allocating like crazy.

Nerd sniped till 2:30AM, but hey... :)

No, I didn't fix tokio, I just dropped it and reimplemented the framing code myself.
December 12, 2025 at 12:36 AM
Just published a new #Rust crate: darkbio-cobs! It is a reimplementation from zero of the COBS encoding format.

My library is ~5% faster at encoding; and ~275% faster at decoding than the standard Rust `cobs` crate. 🤓

crates.io/crates/darkb...
crates.io: Rust Package Registry
crates.io
December 11, 2025 at 2:16 PM
How hard could it be to outperform the most popular #Rust COBS library that has 17 million downloads?

Apparently, not that hard. At least it took... like 10 minutes. 🤪
December 11, 2025 at 10:38 AM
Yesterday evening I wrote my first ever Rust benchmark.

Today: Look ma', made the Rust cobs decoder 20% faster 😅

github.com/jamesmunns/c...
Reorg decoder branching by karalabe · Pull Request #66 · jamesmunns/cobs.rs
This is a bit of a wonky PR, but it does prove a point. When decoding, you have a huge match which is evaluated for each input byte. When decoding a cobs stream, my expectation is that 0 is just as...
github.com
December 10, 2025 at 2:14 PM
Time to order a box from China: 30 mins
Time to design the box: 1 hour
Time to manufacture the box: 2 days
Time to ship the box to Romania: 2 days
...
Time to get it past customs: 10 days 💀
December 8, 2025 at 12:43 PM
More like by popular dropping-the-Ark-on-the-floor because "hey, does this magnet hold it"... but you get the picture :D
By popular demand, USB-C Ark I.
December 8, 2025 at 9:22 AM
Always that damn paperwork... 🤪
Doing a final end of the year push, starting to take steps towards having a globally recognised / authoritative identity for the Ark I.
December 4, 2025 at 1:42 PM
"A UPC (UNIVERSAL Product Code) is a 12-digit barcode used in North America to identify most products.

[...]

The rest of the world uses 13-digit EAN (EUROPEAN Article Number) barcodes to identify products."

Someone was skipping geography classes... 😆
December 3, 2025 at 7:38 PM
Threw a bunch of images at Gemini, damn…
December 2, 2025 at 3:10 PM
Reposted by Péter Szilágyi
We haven't got any certification work done yet, but one step is figuring out what and where needs to be highlighted on the Ark. First prototype etching done.
December 1, 2025 at 10:23 AM
Nice and crispy 🥰
November 30, 2025 at 9:05 PM
Was playing around with laser marking the @dark.bio Ark I devices. (Yeah, why do it in a fab professionally, when you can yolo it yourself?)

It's probably not news to anyone who ever did it, but imma share my progress anyway :D :P 🧵
November 30, 2025 at 1:15 PM
I think I’ve been scammed… my 3D printer seems to print weird 😅
November 28, 2025 at 6:52 PM
Hey @yubico.com , I assume no key or HSM currently supports ML-DSA / Dilithium. Are there any plans for a hardware release to enable these PQ constructs? Ty!
November 25, 2025 at 3:54 PM
By popular demand and a a bit of self reflection, USB-C is the new contender for the @dark.bio Ark. Board ready for production.
November 25, 2025 at 9:41 AM
🤪
November 24, 2025 at 2:05 PM