Jarno N. Alanko

@jnalanko.bsky.social

Postdoc in computer science and bioinformatics from Finland. Website: https://jnalanko.net. Various writings in English and Finnish: https://blog.jnalanko.net. Also on Mastodon: https://genomic.social/@jnalanko

One incredible thing about AI coding is how the AI has to learn the codebase again at the start of every session. It starts from a blank slate. Then it reads documentation and greps some source code and gets to work. It does this bootstrapping every time! And it takes just a few minutes. Superhuman.

Today, I did some Rust coding. Claude could not implement a feature properly. It was complex. So I did it myself. I typed every character into the text editor myself! I had forgotten how laborious coding used to be. 2.5 hours later, it was done. 212 lines added and 71 lines deleted. Feels great!

Finding the right level of abstraction in software engineering is hard. It's tempting to generalize things, but as we generalize, we lose opportunities to optimize for specific cases. 1/4

The latest Trump post makes me think: Is there anything Europeans could do to influence US politics to a less crazy and less genocidal direction? Would economic sanctions work? Support for resistance movements? Anything?

Accepted to CPM 2026! In this paper, we consider the problem of k-mer counting in *graphs*. We show that it's #P-hard even in deterministic DAGs. But on Wheeler graphs, it's tractable -- easy in O(nk) time. We can also do O(poly(n) log k) but it gets complicated. #CPM2026 arxiv.org/abs/2509.22885

Computing k-mers in Graphs

We initiate the study of computational problems on $k$-mers (strings of length $k$) in labeled graphs. As a starting point, we consider the problem of counting the number of distinct $k$-mers found on...

arxiv.org

Rust PSA: don't use serde + bincode for deserializing large things, like bitvec::Bitvectors. It seems to use a doubling buffer to load it instead of pre-allocating the space. So it can have up to 2x overhead. Loading a 130GB bit vector can take 256GB of RAM. #rust

I wanted to poke around the Gene Ontology database. Claude was immediately useful to get some basics statistics on the ontology graph. Then I asked it to make a visualization. In a few minutes, it gave me this really useful interactive browser. I keep getting blown away by these AI models.

Bild

New measure of software engineering ability: value-added-over-AI. This is what CS degrees will be about, and this is where the money is. Can you do a better code review than AI? If not, I could've just asked the AI myself -- no value added. AI is the new baseline.

Frustrations with Claude today. It generated some array indexing logic and added a comment that endpoints are inclusive. They weren't. The code worked though. But the comment wasn't helping! 1/2

ChatGPT5.4 (Extended Thinking) feels no better at math problem solving than 5.2 did. This is the first model that does not feel significantly better than the previous ones at this. Are we finally hitting a ceiling? My timeline to math research automation and AGI just got a bit longer.

The latest Claude seems to be able to synthesize small apps from a short description pretty much autonomously. I'm having hard time adjusting to this reality. I can now make small bespoke productivity apps just for myself. Computers just become a lot more useful for a lot of things.

Cool repository from Terence Tao: A list of various mathematical constants whose exact value is unknown. The page lists the best known lower and upper bounds for each constant. TCS is represented: e.g. undecidable busy beavers and random 3-SAT satisfiability threshold. github.com/teorth/optim...

GitHub - teorth/optimizationproblems: A collection of optimization problems in mathematics

A collection of optimization problems in mathematics - teorth/optimizationproblems

github.com