Sign in

David Kouřil

@dvdkouril.xyz
148 followers 81 following 68 posts

Data visualization in biology and beyond. Senior Researcher at CEITEC. Previously: Postdoc at Harvard Medical School, PhD at TU Wien. davidkouril.com

PostsRepliesMedia
David Kouřil @dvdkouril.xyz · 08/10/2026
hey, it’s been a while! just dropped by to share that on the mission to look for good domain problems for my visualization projects, i’ve accidentally gone too deep (still not enough though!), and started as a senior researcher at @ceitec.eu bioinformatics core facility last month.
a selfie of a men giving awkward thumbs up, in the background there’s a large foyer of a research building
030
Reposted by David Kouřil
Kari Lavikka @karilavikka.fi · 28/07/2026
I recently added a parameterizable arrow mark to GenomeSpy, my open-source toolkit for interactive genomic data visualization, and implemented a couple of fancy examples to showcase it. (1/3)
251
Reposted by David Kouřil
Cult.Repo @cultrepo.bsky.social · 18/06/2026
Is there such a thing as the Vienna School of Agentic Coding? Find out in our latest mini-doc, featuring Mario Zechner @mariozechner.at and Armin Ronacher @mitsuhiko.at Watch it in full here: youtu.be/5mgde2Br4ik
0154
David Kouřil @dvdkouril.xyz · 13/06/2026
“But if every ambitious person treats Europe as a lost cause, then Europe becomes one. If everyone with agency leaves, the only people left to shape the system are the people most comfortable with the system as it is.”
000
Reposted by David Kouřil
Daniel Jalkut @danielpunkass.punkitup.com · 26/05/2026
My take on AI is, essentially, everybody who’s against is too against it and everybody who’s for it is too for it.
2127173
Reposted by David Kouřil
Jakob Troidl @jakobtroidl.bsky.social · 27/05/2026
📢 We're recruiting AI Scientists at HHMI Janelia. I'm biased, but these are exceptional opportunities. You'd join as an independent scientist with access to excellent computational infrastructure, some of the best biological data in the world, and a vibrant collaborative environment.
163
David Kouřil @dvdkouril.xyz · 23/04/2026
work in progress: made uchimata (github.com/hms-dbmi/uch...) into a Mosaic client, so that I can hook it up with quak (github.com/manzt/quak) for some nice brushing action
030
David Kouřil @dvdkouril.xyz · 09/04/2026
from Ben Fry's segment on this panel: www.youtube.com/watch?v=N5Pw...
youtube.com
Visualizing Your Future: Careers in Data and Design
YouTube video by Data Visualization Society
000
David Kouřil @dvdkouril.xyz · 09/04/2026
a slide from a remote talk, black screen with white text that says: "Do you need to make things? Or are you happy thinking about them?"
100
David Kouřil @dvdkouril.xyz · 04/04/2026
This is also an experiment using @leaflet.pub . Seems perfect for this type of writing so far!
010
David Kouřil @dvdkouril.xyz · 04/04/2026
If you've ever been confused about what's the difference between multiple coordinated views, linked views, brushing and linking....you're not alone, there's two of us! I wrote up my notes from researching the terminology around this key visualization concept.
vismarginalia.leaflet.pub
What should we actually call linked views in data visualization? - Marginal notes on visualization
130
David Kouřil @dvdkouril.xyz · 29/03/2026
this is what peak productivity in 2026 looks like.
sourdough bread straight from the ovensourdough cinnamon roll focaccia
020
Reposted by David Kouřil
trevor manz @manzt.sh · 25/03/2026
Introducing quiver: a (type-safe) place to keep your arrows @arrow.apache.org quiver is a small schema library for Arrow, built on @idl.uw.edu flechette - Define table schemas in TS - Validate schemas at IPC parse time - Get back fully typed Tables (no type-casting) github.com/manzt/quiver
Code snippet showing quiver's API: import quiver, define a table schema with int32, nullable utf8, and float64 columns, then call parseIPC on bytes. Accessing row values returns fully typed results — name is string | null, score is number.
151
David Kouřil @dvdkouril.xyz · 13/03/2026
my wife **really** wants one of these trader joe’s tote bags. that’s what vibe coding is for.
screenshot of a website that summarizes web search results to see whether trader joe’s tote bags are out in stores or not
010
David Kouřil @dvdkouril.xyz · 12/03/2026
moar
000
David Kouřil @dvdkouril.xyz · 12/03/2026
it’s a start
100
David Kouřil @dvdkouril.xyz · 08/03/2026
Released an initial version of scattered (github.com/dvdkouril/sc...), a 3D scatterplot library for the web and computational notebooks. Core ideas: - webgpu-based rendering - arrow/dataframe as input - minimal dependencies and small bundle size - available as a JS package and a Python widget
github.com
GitHub - dvdkouril/scattered: 3D scatterplots in notebooks and on web
3D scatterplots in notebooks and on web. Contribute to dvdkouril/scattered development by creating an account on GitHub.
040
David Kouřil @dvdkouril.xyz · 27/02/2026
playing around with umap-js today.
031
David Kouřil @dvdkouril.xyz · 24/02/2026
Instead, I can have Claude figure out stuff like library API changes, or even mock responses from data servers that are no longer up. In the end, I can actually interact with the tool and see what's realistically possible.
020
David Kouřil @dvdkouril.xyz · 24/02/2026
For example, this is a research software that hasn’t been touched in 7 years (according to Github). Making it run manually would probably take way too much time and effort so I’d default to making assumptions based on the paper. link.springer.com/article/10.1...
link.springer.com
HiC-3DViewer: a new tool to visualize Hi-C data in 3D space - Quantitative Biology
Background Although significant progress has been made to map chromatin structure at unprecedented resolution and scales, we are short of tools that enable the intuitive visualization and navigation a...
100
David Kouřil @dvdkouril.xyz · 24/02/2026
A nice use case for Claude Code in my work: reviving old research prototypes. When it comes to surveying interactive features of past tools, we often have to rely on static figures and descriptions in text. Sometimes there’s a video. That can be pretty limiting.
A screenshot of a paper figure with caption. Highlighted text in the caption reads "Pink arrowheads indicate the 2D to 3D mapping of the highlighted region in Hi-C heat map on the 3D model. The green arrowhead indicats the 2D to 1D mapping of the selected region in 1D yeast genome (shown in orange for the recently selected region). Each selected region will be mapped to an individual 1D genome."
111
David Kouřil @dvdkouril.xyz · 23/02/2026
we’ve got some selections going!
020
David Kouřil @dvdkouril.xyz · 22/02/2026
revisiting my webgpu-based 3D scatterplot library after a year.
030
David Kouřil @dvdkouril.xyz · 18/02/2026
I closed that account on August 14, 2024. The bio on the fake profile is taken verbatim from my Github, same as the cover photo.
000
David Kouřil @dvdkouril.xyz · 18/02/2026
Just so you know: if you delete your twitter/x account, it will come back up at some point, and show that it’s been active from an arbitrary, impossible date. Reporting impersonation is also useless.
A screenshot of my previous twitter profile (@dvdkouril). Highlighted are two dates: one showing 'Joined January 2015' and the most recent repost of a post dated October 13, 2023.A screenshot of a fake profile using the same handle (@dvdkouril). Highlighted is: 'Joined April 2020'A screenshot of email conversation with X Support, showing that I reported Impersonation on this account. All the options are irrelevant as they are concerned with restoring my account.
100
David Kouřil @dvdkouril.xyz · 08/02/2026
I also really like the part around 27min mark, where he talks about the visualizations that people make of the problems. That's what I would often default to...naturally...
000
David Kouřil @dvdkouril.xyz · 08/02/2026
TIL that Advent of Code was invented in Salem, Massachusetts www.youtube.com/watch?v=uZ8D...
youtube.com
Keynote: Advent of Code, Behind the Scenes - Eric Wastl
YouTube video by CppNorth
100
David Kouřil @dvdkouril.xyz · 08/02/2026
i can’t be the only one who procrastinates on work by making tools for tracking and visualizing work
011
David Kouřil @dvdkouril.xyz · 31/01/2026
photo of an ebook, with the following text highlighted: It is well known that the majority of the cost of software is not in its initial development, but in its ongoing maintenance.
020
David Kouřil @dvdkouril.xyz · 26/01/2026
haven’t seen that much snow in a while!
a snowed in carlarger street covered in snow, a snow plowing truck approaching an intersection a person knee deep in snow
010
David Kouřil @dvdkouril.xyz · 05/01/2026
Made a little visualization of my workouts from last year.
a calendar view of 2025, divided by months. each day is color coded based on exercise type or gray which means no exercising that day
010
David Kouřil @dvdkouril.xyz · 18/12/2025
hello, marimo
010
David Kouřil @dvdkouril.xyz · 17/12/2025
screenshot of very many colorful circles
000
David Kouřil @dvdkouril.xyz · 17/12/2025
even more colorful balls
100
David Kouřil @dvdkouril.xyz · 17/12/2025
instead of advent of code, i’m spending my december on this #webgpu
100
David Kouřil @dvdkouril.xyz · 03/11/2025
So there won’t be any streaming for the whole conference, huh? That’s a huge bummer.
010
Reposted by David Kouřil
John Alexis Guerra Gomez @johnguerra.bsky.social · 02/11/2025
My #IEEEVIS 2025 paper explorer is live! 🎉 👉 johnguerra.co/viz/ieeevis2... 👈 An interactive #dataviz to explore 300+ papers by similarity. Perfect for: ✨ Discovering papers related to your interests ✨ Planning which sessions to attend ✨ Creating your own paper list (new!) Pls help me distribute it
13110
Reposted by David Kouřil
Jon Bois @jonbois.bsky.social · 15/10/2025
after spending all year behind the paywall, part 1 of my documentary series FOOL TIME is now unlocked and free to watch for everybody: www.patreon.com/posts/fool-t...
patreon.com
FOOL TIME, Part 1 of 4 | Pretty Good | Secret Base
Get more from Secret Base on Patreon
8708128
Reposted by David Kouřil
trevor manz @manzt.sh · 07/08/2025
if interested in creating anywidgets of your own, our tutorial was finally shared to youtube: www.youtube.com/watch?v=frEo...
youtube.com
Abdennur, Lekschas, & Manz - Bring your __repr__’s to life with anywidget | SciPy 2024
YouTube video by SciPy
273
David Kouřil @dvdkouril.xyz · 25/07/2025
I have been playing with filtering of 3D structures (represented as Arrow tables) via duckdb-wasm… It’s been going pretty well!
030
David Kouřil @dvdkouril.xyz · 24/07/2025
Maybe juv can be useful for cases like this, has been for me! github.com/manzt/juv @manzt.sh
github.com
GitHub - manzt/juv: Create, manage, and run Jupyter notebooks with their dependencies
Create, manage, and run Jupyter notebooks with their dependencies - manzt/juv
120
David Kouřil @dvdkouril.xyz · 13/06/2025
not completely done reading it yet, but this is definitely one of my favorite survey papers: onlinelibrary.wiley.com/doi/10.1111/... interactive browser: uclab.fh-potsdam.de/unfoldables/ @uclab.bsky.social
020
David Kouřil @dvdkouril.xyz · 23/05/2025
totally unrelated to anything happening these days, but I now have a CV on my webpage: davidkouril.com/cv
screenshot of a browser window showing an online CV
040
David Kouřil @dvdkouril.xyz · 18/05/2025
terrible, terrible code at: observablehq.com/d/a6e42e6b6f...
observablehq.com
boy do i have some bad news for you...this is gonna be a pie chart
https://www.youtube.com/watch?v=lOR_45wZL2I Internals
000
David Kouřil @dvdkouril.xyz · 18/05/2025
inspired by: youtu.be/lOR_45wZL2I?...
youtu.be
GOD HATES A COWARD | PRETTY GOOD, EPISODE 18
YouTube video by Secret Base
100
David Kouřil @dvdkouril.xyz · 18/05/2025
“boy do I have some bad news for you…this is gonna be a pie chart” reproduced this beauty from @jonbois.bsky.social
a…3D pie chart
110
Reposted by David Kouřil
Steve Klabnik @steveklabnik.com · 22/04/2025
IMHO, make this the default, github: github.com/ghostty-org/...
github.com
Why users cannot create Issues directly · Issue #3558 · ghostty-org/ghostty
Users are not allowed to create Issues directly in this repository - we ask that you create a Discussion first. Unlike some other projects, Ghostty does not use the issue tracker for discussion or ...
1719028
David Kouřil @dvdkouril.xyz · 05/04/2025
watch out, trevor’s about to drop some knowledge, now in a blog form
020
Reposted by David Kouřil
trevor manz @manzt.sh · 01/04/2025
i explored +130k artworks from the National Gallery of Art with polars, observableplot, anywidget, react... turns out there’s some neat public works history hiding in there. maybe you’ll find an (CC0!) upgrade for that default OS wallpaper 🙃
1215
Reposted by David Kouřil
trevor manz @manzt.sh · 11/03/2025
one of the first things I add to any ts project now is an `assert` utility: manzt.sh/assert.js type assertions (`foo as string`) blindly tell the type checker you know more than it does. `assert` is a real runtime check with the same narrowing effect. you'll thank me later when debugging!
A TypeScript example comparing type assertions vs. runtime assertions. The first approach (value as number) blindly tells the type checker that value is a number, risking runtime errors if it's null. The second approach uses an assert function to enforce the check at runtime, ensuring value is actually a number before proceeding.
072