curious_coding's profile picture. PhD on high troughput bioinformatics @ ETH Zurich;
IMO, ICPC, Xoogler, Rust, road-cycling, hiking, wild camping, photography
https://bsky.app/profile/curiouscod

Ragnar {Groot Koerkamp} 🦋

@curious_coding

PhD on high troughput bioinformatics @ ETH Zurich; IMO, ICPC, Xoogler, Rust, road-cycling, hiking, wild camping, photography https://bsky.app/profile/curiouscod

Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

The experience of having some muddy mess of a hundred line function with goofy "do things one way here, then do almost the same thing somewhere else, then ..." become clear and turn into a 20-line clean "computer science" type function with nice clean data structures is bliss.


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

If you really want to search quickly, use @curious_coding’s approach curiouscoding.nl/posts/static-s…!

One of my favourite tricks of CS algorithms Theory vs Practice is binary search optimisation for cache-friendliness. The standard algorithm looks at the middle of array and jumps back and forth. This destroys cache. Instead, store a pre-order traversal of a sorted array…



Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

I think we should have a new runtime option where stack, heap, bss, and tls are all in zones where it is guaranteed that any load of any legally addressable byte is guaranteed not to be <64 bytes from a page boundary or anything that will cause a disaster if loaded. ...


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

Contemplating a type system where the bit sizes required are 1, 2, 4, 8, 9, 16, 17, 32, 33, 64, 65, 128, 256, 512. Disgusting stuff, I should be ashamed of myself.


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

Having to pattern match Optional::None and Optional::Some(Optional::None) separately is exactly like that joke about Sartre ordering a coffee with no cream, only to be told “I’m sorry monsieur, we don’t have any cream, would you like it with no milk instead?”


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

It takes some mental rigour to clarify thoughts via text. Too many people are weak in thinking so they’d rather have you on a call where they can ramble off and force you to interpret their gibberish. Also, most calls are not recorded, so if you mess up, the blame is on you…


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

I abhor that computer programmers still use the term “word”. > Size=2 means a word (2 bytes) Just say it’s 2-bytes. Word and Dword and Qword are stupid terms that should never be used by anyone in 2025. Just say how many bytes and be done with it!


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

I made reddit.com/r/bioinformati… I did this because the r/bioinformatics channel doesn't like talking about tools, especially if you wrote it yourself. If you build bioinformatic tools or want to learn more about it, join the subreddit and start posting :)


Barbell is out now: a new demultiplexer with much higher accuracy than eg Dorado. See the bsky threads for more: bsky.app/profile/curiou…

Barbell Resolves Demultiplexing and Trimming Issues in Nanopore Data biorxiv.org/content/10.110… #biorxiv_bioinfo



Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

And still probably 95% of programmers are like "don't worry about the low level details, the compiler will take care of it"

I was curious whether compilers would convert a naive loop implementation of "set range of bits in u64 to 1" into O(1) bitwise ops. Answer: MSVC compiles the loop into a loop. Clang's output is bonkers: 418 bytes long, branches everywhere, 256-bit SIMD operations get involved?!

despair's tweet image. I was curious whether compilers would convert a naive loop implementation of &quot;set range of bits in u64 to 1&quot; into O(1) bitwise ops.

Answer: MSVC compiles the loop into a loop. Clang&apos;s output is bonkers: 418 bytes long, branches everywhere, 256-bit SIMD operations get involved?!
despair's tweet image. I was curious whether compilers would convert a naive loop implementation of &quot;set range of bits in u64 to 1&quot; into O(1) bitwise ops.

Answer: MSVC compiles the loop into a loop. Clang&apos;s output is bonkers: 418 bytes long, branches everywhere, 256-bit SIMD operations get involved?!
despair's tweet image. I was curious whether compilers would convert a naive loop implementation of &quot;set range of bits in u64 to 1&quot; into O(1) bitwise ops.

Answer: MSVC compiles the loop into a loop. Clang&apos;s output is bonkers: 418 bytes long, branches everywhere, 256-bit SIMD operations get involved?!
despair's tweet image. I was curious whether compilers would convert a naive loop implementation of &quot;set range of bits in u64 to 1&quot; into O(1) bitwise ops.

Answer: MSVC compiles the loop into a loop. Clang&apos;s output is bonkers: 418 bytes long, branches everywhere, 256-bit SIMD operations get involved?!


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

How can you gain a 40x increase in throughput over the #Rustlang standard library implementation? In 15 minutes, @curious_coding will show how to exploit what modern CPUs offer so you can achieve faster binary search. Join here > ow.ly/l8pl50XgfYT #ScyllaDB #P99CONF

P99CONF's tweet image. How can you gain a 40x increase in throughput over the #Rustlang standard library implementation? In 15 minutes, @curious_coding will show how to exploit what modern CPUs offer so you can achieve faster binary search. Join here &amp;gt; ow.ly/l8pl50XgfYT

#ScyllaDB #P99CONF

Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

i want knowledge to be passed by reference not by value


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

After years of research and continuous refinement, we’re thrilled to share that our paper on the MetaGraph framework — enabling Petabase-scale search across sequencing data — has been published today in Nature (nature.com/articles/s4158…).


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

How can you achieve 40x faster binary search? @curious_coding's #P99CONF talk will dive into everything that modern CPUs have to offer in order to gain 40x increased throughput over the Rust standard library implementation. Save your spot here > ow.ly/oT8X50XbeTo #ScyllaDB


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

It’s a bit easier to just explain how we got here. In the old days, memory and CPU ran at the same speed. The laws of physics make it incredibly hard to ramp up the MHz of the CPU while keeping physically separated memory chips in sync. The distance is just too far for the…

The question: "Why do CPUs have multiple cache levels?" often gets many CS students and professionals thinking and researching. This article from Fabian Giesen narrates a "cache story" in a relatable way, only to delve into the details - a must-read! fgiesen.wordpress.com/2016/08/07/why…

vivekgalatage's tweet image. The question: &quot;Why do CPUs have multiple cache levels?&quot; often gets many CS students and professionals thinking and researching.

This article from Fabian Giesen narrates a &quot;cache story&quot; in a relatable way, only to delve into the details - a must-read!

fgiesen.wordpress.com/2016/08/07/why…


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

Asymptotically, O(n^(1/3)) isn't quite achievable in this universe for a variety of reasons, and you have to be pretty clever to even get O(n^(1/2)). If you fill space with memory cells that don't collapse into a black hole then memory access actually takes O(n) time!

ptrschmdtnlsn's tweet image. Asymptotically, O(n^(1/3)) isn&apos;t quite achievable in this universe for a variety of reasons, and you have to be pretty clever to even get O(n^(1/2)). If you fill space with memory cells that don&apos;t collapse into a black hole then memory access actually takes O(n) time!

Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

Memory access is O(N^[1/3]) vitalik.eth.limo/general/2025/1…


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

I am calling for a moratorium on new tote bags. We all have more than enough tote bags already. Stop giving me tote bags at conferences. I do not want or need any more tote bags. See also: water bottles


Ragnar {Groot Koerkamp} 🦋 сделал(а) репост

So tired of this.

badlogicgames's tweet image. So tired of this.

Loading...

Something went wrong.


Something went wrong.