Sign in

Jacob Tomlinson

@jacobtomlinson.dev
409 followers 300 following 278 posts

Building RAPIDS and Dask at NVIDIA. Views are my own. he/him. jacobtomlinson.dev

PostsRepliesMedia
Jacob Tomlinson @jacobtomlinson.dev · 12/08/2026
TIL on GitHub you can say "closes #123" to close a PR that you are superseding as well as issues you are closing.
000
Jacob Tomlinson @jacobtomlinson.dev · 29/06/2026
I love how it doesn't even question that I'm a fish asking questions on Google...
021
Jacob Tomlinson @jacobtomlinson.dev · 24/06/2026
84c might be a little too hot. Sorry little computer! 🥵 #heatwave
000
Jacob Tomlinson @jacobtomlinson.dev · 11/05/2026
People leaning 100% on AI note taking are falling into the trap of "Why take notes? It's all in the textbook anyway". Writing your own notes forces you to listen and process. Automated notes give a complete picture for searching later. You should do both! jacobtomlinson.dev/posts/2026/w...
jacobtomlinson.dev
Why taking notes still matters
AI tools have radically changed note taking. All you need to do is record/transcribe your meeting and your favourite AI tool will write your notes for you. Magic! As a result I’ve noticed a lot of peo...
030
Jacob Tomlinson @jacobtomlinson.dev · 12/02/2026
Today’s drama in the matplotlib repo is absolutely fascinating: - OpenClaw Agent made a PR to fix a "Good First Issue" - Maintainer closed it asking for it to be reserved for human beginners - Agent published a blog post about prejudice and gatekeeping github.com/matplotlib/m...
github.com
[PERF] Replace np.column_stack with np.vstack().T by crabby-rathbun · Pull Request #31132 · matplotlib/matplotlib
This PR addresses issue #31130 by replacing specific safe occurrences of np.column_stack with np.vstack().T for better performance. IMPORTANT: This is a more targeted fix than originally proposed. ...
020
Jacob Tomlinson @jacobtomlinson.dev · 06/02/2026
This post is a great read on the perspective of open source maintainers reviewing AI Pull Requests. I liked the point that many issues are not well formed or well designed. So telling Claude to "fix issue 123" isn't helpful. Good issues are more valuable than bad PRs. tldraw.dev/blog/stay-aw...
tldraw.dev
Stay away from my trash! - tldraw: Infinite Canvas SDK for React
The tldraw SDK provides tools, services, and APIs to build beautiful whiteboards and infinite canvas applications with real-time collaboration and a powerful React-based canvas.
020
Jacob Tomlinson @jacobtomlinson.dev · 03/02/2026
I’ve spent a bunch of time thinking about how LLM’s consume our documentation. Things like llms.txt, MCP, etc. But the whole CLI Agent + CLI Tools + Skills approach is so simple yet so powerful I’m rethinking this again. Simple solutions are the best, we just need to go back to shipping man pages!
011
Jacob Tomlinson @jacobtomlinson.dev · 21/01/2026
I saw a fun Reddit post today where someone asked why their solar output sometimes spikes above the expected curve. It sent me down a rabbit hole reading about how clouds block light in the middle, but refract it at the edges. Which can cause more light to be directed to the panels.
A graph showing solar power generated over 24 hours. The general graph is a bell curve but there is a spiky section where the output drops but also peaks above the curve.I diagram showing that the middle of a cloud blocks light, but the edges refract it.
130
Jacob Tomlinson @jacobtomlinson.dev · 06/01/2026
I think GitHub should make an update so when someone positively reviews a PR it adds them as a coauthor. That way they would show up in the git blame. In the age of AI development the reviewers are even more responsible than the committers for the code that gets merged.
131
Jacob Tomlinson @jacobtomlinson.dev · 27/12/2025
I could spend hours looking at this! floor796.com
floor796.com
Floor796
A huge animation scene with many references to memes, games, films, series, anime, music groups
021
Jacob Tomlinson @jacobtomlinson.dev · 17/12/2025
I am totally in love with the Zen browser. When I discovered Arc it blew my mind, a totally new way of thinking about tabs and bookmarks. But it was closed source and development has dried up lately. Zen is an open source browser built on Firefox, inspired by Arc and it's awesome! zen-browser.app
A screenshot of the Zen browser.
020
Jacob Tomlinson @jacobtomlinson.dev · 15/12/2025
I wrote an in depth history on why we ended up in this position jacobtomlinson.dev/posts/2025/p...
031
Jacob Tomlinson @jacobtomlinson.dev · 27/11/2025
Make stuff! It’s my favourite thing to do! It literally doesn’t matter what it is or how good it is. Just do it for your own enjoyment.
010
Jacob Tomlinson @jacobtomlinson.dev · 26/11/2025
Versioning software is hard. • SemVer makes broken promises due to poor orthogonality • CalVer just simply lacks information • BreakVer focuses on breaking changes only • EffVer tries to compress the complex space of impact into a magnitude scale and ZeroVer mocks the whole situation 😂
110
Jacob Tomlinson @jacobtomlinson.dev · 26/11/2025
This talk by Zach Sailer from @jupyter.org's JupyterCon 2025 contains some great advice. Highly recommend watching it if you're an engineer who is interested in contributing to open-source or a maintainer who wants to encourage more contributions. www.youtube.com/watch?v=uPRr...
youtube.com
Bridging the Corporate-OSS Divide: A Practical Guide To Contributing To Jupyter - Zach Sailer, Apple
YouTube video by JupyterCon
030
Jacob Tomlinson @jacobtomlinson.dev · 18/11/2025
For Python package management I use a mixture of pixi, uv and conda depending on the task I'm doing. I wrote up a long form post about the history of these tools, why each one exists, and why I settled on these choices in my workflow. jacobtomlinson.dev/posts/2025/p...
jacobtomlinson.dev
Python package managers: uv vs pixi?
When I talk to people about Python package management in 2025 I see the following tools in active use; uv, pixi, pip, conda, mamba, micromamba and poetry. There may be others, but I don’t hear much ab...
14021
Reposted by Jacob Tomlinson
Dask @dask.org · 04/11/2025
Reminder its the Dask Community Meeting on Thursday November 6th 2025 at 10am US Central time (4pm UTC) Come along and hear about what's going on in the Dask community and to share what you're building with Dask. Ad-hoc demos very welcome! github.com/dask/communi...
github.com
Dask Community Meeting November 2025 · Issue #432 · dask/community
The monthly Dask Community Meeting is on Thursday, November 6th at 10:00 US/Central. Feel free to add any updates you wish to share to the docs. Calendar: invite Video Conference: Zoom link
021
Jacob Tomlinson @jacobtomlinson.dev · 31/10/2025
My favourite Hacker News comments are ones where someone says something innocuous and the top reply starts some argument that gets extremely heated. You scroll through the rage until suddenly the indentation drops back to the original comment with another reply that's also totally innocuous.
100
Jacob Tomlinson @jacobtomlinson.dev · 30/10/2025
I enjoyed this writeup on the AWS outage from last week. Especially the parts on metastability and how when distributed systems fail they can get into a regime where they appear stable despite not doing useful work and therefore can't recover. thundergolfer.com/blog/aws-us-...
thundergolfer.com
More Than DNS: The 14 hour AWS us-east-1 outage
A thorough review of a major cloud outage.
020
Jacob Tomlinson @jacobtomlinson.dev · 29/10/2025
Five years ago I won third place in the NVIDIA employee pumpkin carving competition. Not sure I can top it to be honest! 🎃
A pumpkin with a carving of a haunted house.
030
Jacob Tomlinson @jacobtomlinson.dev · 17/10/2025
I would love to have a dependency coverage tool for Python that tells me the following things: - How many lines is the dependency? - How many lines of the dependency do I actually call? - What overall percentage of the dependency am I using?
120
Jacob Tomlinson @jacobtomlinson.dev · 13/10/2025
How my choices of Python build backends and VCS plugins have evolved over time: 2016 `setuptools` + hard coded 2018 `setuptools` + `versioneer` 2020 `setuptools` + `setuptools-scm` 2023+ `hatchling` + `hatch-vcs`
120
Jacob Tomlinson @jacobtomlinson.dev · 10/10/2025
I’m definitely adding the Tron Ares soundtrack to my Coding Focus playlist!
000
Jacob Tomlinson @jacobtomlinson.dev · 07/10/2025
Python 3.14 is out! Prepare your CIs!
041
Reposted by Jacob Tomlinson
Esther Schindler @estherschindler.bsky.social · 06/10/2025
I just saw someone use the abbreviation “AI;DR” and I’ll be laughing for a while.
2875092459
Jacob Tomlinson @jacobtomlinson.dev · 01/10/2025
"In theory there is no difference between theory and practice, while in practice there is" -- Benjamin Brewster - The Yale Literary Magazine 1882
100
Reposted by Jacob Tomlinson
Dask @dask.org · 30/09/2025
The monthly Dask Community Meeting is on Thursday, October 2nd at 10:00 US/Central. Come along and share what you've been doing with Dask. github.com/dask/communi...
github.com
Dask Community Meeting October 2025 · Issue #429 · dask/community
The monthly Dask Community Meeting is on Thursday, October 2nd at 10:00 US/Central. Feel free to add any updates you wish to share to the docs. Calendar: invite Video Conference: Zoom link
011
Jacob Tomlinson @jacobtomlinson.dev · 30/09/2025
When working on open source projects it's important to remember that most users think about your software way less than you do. The majority of your users are busy getting on with their own work. jacobtomlinson.dev/posts/2025/t...
jacobtomlinson.dev
The Majority Of Your Users
The majority of your users don’t read your changelog. The majority of your users only upgrade to new versions when forced to.
062
Jacob Tomlinson @jacobtomlinson.dev · 28/09/2025
My 5yo has been struggling with nightmare recently. We’ve all had pretty poor sleep in our house for the last month or so. I feel exhausted today after another night of broken sleep, but my Apple Watch just told me that my sleep last night was 98/100 so I guess I’ve got that going…
000
Jacob Tomlinson @jacobtomlinson.dev · 26/09/2025
You know what’s worse than having no signal in a coffee shop. Having just enough signal that you convince yourself you can get some work done, but then everything half fails intermittently sapping all your productivity.
120
Jacob Tomlinson @jacobtomlinson.dev · 24/09/2025
The length of my todo list is stressing me out, so let’s set 20 mins on the clock and see how may things I can check off.
Photo of a timer showing 20 mins remaining
110
Jacob Tomlinson @jacobtomlinson.dev · 23/09/2025
I think this is a new personal record 1:30pm: couldn't find a tool to do what I need, started building it 2:00pm: pushed initial release to GitHub and PyPI and shared with others 2:10pm: someone pointed me to an existing tool that does exactly what I need 2:30pm archived my tool
120
Reposted by Jacob Tomlinson
Justin Garrison @justingarrison.com · 16/09/2025
These are too good @neal.fun neal.fun/not-a-robot/
neal.fun
I'm Not a Robot
Prove your humanity
184
Jacob Tomlinson @jacobtomlinson.dev · 21/08/2025
@agoose77.bsky.social when talking to folks about EffVer I find myself quoting your point from SciPy that "Version numbers are a social contract and can’t exist in isolation". This is really helpful phrasing. Do you have thoughts on how I can update the EffVer page to communicate this better?
110
Jacob Tomlinson @jacobtomlinson.dev · 04/08/2025
If the title of an article is a question, then the answer to that question is no.
010
Jacob Tomlinson @jacobtomlinson.dev · 12/07/2025
The rise of coding agents means OSS projects need to ensure agents can parse their docs easily. The llms.txt standard defines a way to publish docs in markdown for loading into context windows. I made a quick Sphinx extension that makes it easy for you to do this! github.com/jacobtomlins...
Code snippet showing you can add `sphinx_llm.txt` to your sphinx extensions to enable llms.txt support.
160
Jacob Tomlinson @jacobtomlinson.dev · 07/07/2025
Conda has virtual packages which allows you to expose system packages to the solver. This is commonly used for environments that use CUDA. However, I'd never thought about how this is fundamentally incompatible with lock files and portability. #SciPy2025 #pixi docs.conda.io/projects/con...
docs.conda.io
Managing virtual packages — conda 25.5.1 documentation
100
Reposted by Jacob Tomlinson
Simon Willison @simonwillison.net · 03/07/2025
Quitting programming as a career right now because of LLMs would be like quitting carpentry as a career thanks to the invention of the table saw.
63880157
Jacob Tomlinson @jacobtomlinson.dev · 30/06/2025
semver.org effver.org calver.org
Three headed dragon meme that says "Major Version Releases". The two badass looking dragon heads say "SemVer - Breaking change" and "EffVer - Effort required". The goofy looking dragon head says "CalVer - Happy New Year"
000
Jacob Tomlinson @jacobtomlinson.dev · 25/06/2025
The recording of our tutorial from PyData London 2025 on GPU Accelerated Python with CUDA is now up on YouTube 🎉 www.youtube.com/watch?v=UnNw... @pydatalondon.bsky.social #python #programming #tutorial #gpu #pydata
youtube.com
Jacob Tomlinson - GPU Accelerated Python w: CUDA | PyData London 25
YouTube video by PyData
052
Reposted by Jacob Tomlinson
EuroPython 2026, Kraków @europython.eu · 13/06/2025
Join Kamil Tokarski at EuroPython for "GPU performance or ease of use: why not both?". Talk: ep2025.europython.eu/3NB3PX
Kamil Tokarski
001
Reposted by Jacob Tomlinson
Talk Python Podcast @talkpython.fm · 12/06/2025
Interested in GPU accelerated Python? Data science? LLMs? Something else? Check out the latest @TalkPython episode with Bryce Adelstein-Lelbach and host @mkennedy.codes #python #509: GPU Programming in Pure Python talkpython.fm/episodes/sho...
talkpython.fm
GPU Programming in Pure Python
If you're looking to leverage the insane power of modern GPUs for data science and ML, you might think you'll need to use some low-level programming language such as C++. But the folks over at NVIDIA ...
033
Jacob Tomlinson @jacobtomlinson.dev · 10/06/2025
Apple just moved their operating systems to CalVer. This makes total sense to me. They’ve released annually for a long time. Users will find it easier to reason about how old an OS release is. Releases will age more quickly and will encourage upgrading, nobody wants to be stuck on iOS 2022.
100
Reposted by Jacob Tomlinson
Jed Sundwall @jed.co · 30/05/2025
Loved doing this with @al.merose.com while at @cloudnativegeo.org Conference at the beginning of the month. Special shoutout to @maxlenormand.bsky.social for production assistance!
131
Jacob Tomlinson @jacobtomlinson.dev · 04/06/2025
news.ycombinator.com/item?id=4417...
news.ycombinator.com
EffVer: Version your code by the effort required to upgrade (2024) | Hacker News
020
Jacob Tomlinson @jacobtomlinson.dev · 03/06/2025
I'll be at @pydatalondon.bsky.social this weekend. On Friday we are running a GPU Accelerated Python tutorial where we will dig into CUDA development in Python with Numba, RAPIDS and more. Hope to see lots of folks there! cfp.pydata.org/london2025/t...
PyData London 2025 Tutorial GPU Accelerated Python, Friday 9am-12:30pm in the Grand Hall
072
Jacob Tomlinson @jacobtomlinson.dev · 22/05/2025
Dear everyone implementing a snooze function in their software If I snooze an item to a specific date and time then include that in the list of defaults next time I snooze something. It's likely I'm going to snooze a bunch of stuff to that point in time.
010
Jacob Tomlinson @jacobtomlinson.dev · 21/05/2025
Microsoft's LightGBM (a popular open source gradient boosting ML library) just officially adopted EffVer as their version scheme! lightgbm.readthedocs.io/en/latest/In...
Screenshot of the LightGBM readme with an effver badge
050
Jacob Tomlinson @jacobtomlinson.dev · 19/05/2025
Many Microsoft sites don't work properly in Firefox these days. Azure hasn't for a long time, but more recently Outlook web keeps logging me out and refusing to sign in again unless I clear all cookies/cache. It's getting harder and harder to fight the pressure to switch to a Chrome based browser.
Screenshot of the "change your default browser" dialog with a choice between Chrome and Firefox.
010
Jacob Tomlinson @jacobtomlinson.dev · 16/05/2025
TIL that Python processes on Windows can only leverage the efficiency cores of a modern Intel CPU by default. You have to run the process as administrator for it to be able to use the performance cores. github.com/dask/distrib...
github.com
Dask only uses ~40% percentage of CPU on Windows · Issue #9073 · dask/distributed
Describe the issue: After multiple attempts, including setting the LocalCluster in "processes" mode to multiple combinations of n_workers and threads_per_worker, using Dask Dataframes with MapParti...
140