Ragnar {Groot Koerkamp}
@curiouscoding.nl
910 followers 100 following 970 posts
PhD on high troughput bioinformatics @ ETH Zurich; IMO, ICPC, Xoogler, Rust, road-cycling, hiking, wild camping, photography
Posts Media Videos Starter Packs
Reposted by Ragnar {Groot Koerkamp}
sophie.huiberts.me
found an IRL linear program, took some pictures
4 photos showing the same thing from different angles. a convex polyhedron made of glass, with black edges, is held in two hands. the hands wear white gloves, the polyhedron is wider than it is tall or deep. width is around 4 hands, other dimensions are about one and a half. inside the polyhedron is a orange ping pong ball, and is has found its resting spot at the bottom vertex. hence it solves the LP of minimizing height subject to being inside the polyhedron
curiouscoding.nl
So what's the equivalent of `perf record && perf report` on a MacBook?

I want to see the generated assembly and which lines are hot.
Reposted by Ragnar {Groot Koerkamp}
aphillippy.bsky.social
Funny story, though, we found this gene in NCBI databases, but it was annotated in Streptococcus pneumoniae! This is surely human contamination in a bacterial strep sample that was not properly filtered. Lesson: use CHM13, or better yet a pangenome, when filtering for human contamination...
Reposted by Ragnar {Groot Koerkamp}
curiouscoding.nl
_platform_memset_pattern16*, in case anyone besides me will ever google this
curiouscoding.nl
The fight against the _platform_memset_platform16 continues until all u32x8::splat() have been purged...

(Turns out wide's `transmute([X; 8])` into `[u32x4;2]` has very bad codegen that prevents inlining and loop hoisting 😭)
A screenshot of a flamegraph, showing that 28% of Deacon's runtime is just splatting constants
Reposted by Ragnar {Groot Koerkamp}
robp.bsky.social
Have you recently completed (or finishing soon) a PhD in CS or a related discipline? Do you want to do research advancing the theory & practice of algorithmic genomics & build tools that people love to use? I'll be looking to hire a postdoc! Official ad coming soon:
docs.google.com/document/d/1...
Postdoc Description.docx
Title: Postdoctoral Associate Summary statement: The postdoctoral research associate is responsible for developing novel computational methodology for high-throughput sequence genomics tasks, as well ...
docs.google.com
Reposted by Ragnar {Groot Koerkamp}
wheelerlab.org
Dream postdoc - Rob's science is excellent (and he's pretty great, too)
robp.bsky.social
And it's posted! If you're interested and eligible, please consider applying through the UMD portal: umd.wd1.myworkdayjobs.com/en-US/UMCP/j....

If you're a PI working in algorithmic genomics (& you can recommend my lab to your top graduating students ;P), please let them know!
curiouscoding.nl
Bulk operations / batching is the future of high throughput libraries!

Nice to see boost doing this :)
boost.org
Learn about the implementation of high-performance bulk operations in Boost.Bloom:

bannalia.blogspot.com/2025/10/bulk-operations-in-boostbloom.html
boost.org/libs/bloom
Reposted by Ragnar {Groot Koerkamp}
manoelhortaribeiro.bsky.social
Computer Science is no longer just about building systems or proving theorems--it's about observation and experiments.

In my latest blog post, I argue it’s time we had our own "Econometrics," a discipline devoted to empirical rigor.

doomscrollingbabel.manoel.xyz/p/the-missin...
Reposted by Ragnar {Groot Koerkamp}
bedec.bsky.social
Deacon 0.11.0:
- Local server mode
- Ultra-careful handling of non-ACGT
- Faster indexing & index loading
- Denser index now stores k-mers not hashes
- xxHash & FxHash replaced with rapidhash::fast
- Bug fixes

Thanks @curiouscoding.nl (and others!) for contributions
github.com/bede/deacon/...
Release 0.11.0 · bede/deacon
Major release incorporating new features, fixes and peformance optimisations. Includes many PRs from @RagnarGrootKoerkamp, taking advantage of new features in simd-minimizers, packed-seq and parase...
github.com
Reposted by Ragnar {Groot Koerkamp}
benlangmead.bsky.social
I've added 7 videos to my Burrows-Wheeler indexing playlist (www.youtube.com/playlist?lis...), rounding out the r-index series and adding a 5-part series on the move structure. Now 27 videos in that playlist. I aim to add videos on prefix-free parsing, PBWT, Wheeler languages/automata in the future.
Burrows-Wheeler Indexing - YouTube
Videos on : (a) the Burrows-Wheeler Transform (BWT), (b) the FM Index, which uses the BWT to construct a full-text index, (c) Wheeler graphs, (d) r-index, an...
www.youtube.com
curiouscoding.nl
Any recommendations for a github CI plugin for performance monitoring?

Thinking of using github-actions-bench [0] which makes decent plots, in combination with maybe iai [1] for measuring CPU cycles (wall-time is too flaky in GH actions).

0: github.com/benchmark-ac...
1: github.com/bheisler/iai
GitHub - benchmark-action/github-action-benchmark: GitHub Action for continuous benchmarking to keep performance
GitHub Action for continuous benchmarking to keep performance - benchmark-action/github-action-benchmark
github.com
Reposted by Ragnar {Groot Koerkamp}
bedec.bsky.social
"OpenZL is our answer to the tension between the performance of format-specific compressors and the maintenance simplicity of a single executable binary."
engineering.fb.com/2025/10/06/d...
Reposted by Ragnar {Groot Koerkamp}
holtjma.bsky.social
I'm excited to share our pre-print about a new variant benchmarking tool we've been working on for the past few months!

Aardvark: Sifting through differences in a mound of variants
GitHub: github.com/PacificBiosc...

Some highlights in this thread:
1/N
curiouscoding.nl
that's me :)

The only way unimportant tasks get done is by always working from non-important/non-urgent to urgent.
Then once the deadline of the most urgent thing passes, the list is empty!

news.ycombinator.com/item?id=4548...
Structured Procrastination (1995) | Hacker News
news.ycombinator.com
curiouscoding.nl
Splitting into crates is usually better for compile times, but if you need code to be inlined across crates and then do full-lto on *all* crates instead of just the 3 that were split, yes it's going to be worse.
Reposted by Ragnar {Groot Koerkamp}
camillemrcht.bsky.social
French govt did cargo +nightly build --release -Z unstable-options
Reposted by Ragnar {Groot Koerkamp}
shubhendu.bsky.social
¹'²'³'⁴ contributed equally, †‡§¶ equal advising, ¤▪︎☆♡♧ joint second authors. Each order determined by coin flip with ⌈log⁡2(n!)⌉ repetitions for fairness.
curiouscoding.nl
I was considering to have a look at optimizing full-lto, but then I realized this is part of LLVM, not wild 🫤