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

https://jacobtomlinson.dev
Five years ago I won third place in the NVIDIA employee pumpkin carving competition. Not sure I can top it to be honest! 🎃
October 29, 2025 at 10:32 PM
They have a fun π themed logo!
October 9, 2025 at 3:10 PM
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.
September 24, 2025 at 2:59 PM
Love the Computer Science History Museum, I went last year when I was at NVIDIA GTC! My favourite items were the teapot, and the prototype pong machine. It's so fun to see items that you've heard stories about that shaped some party of nerdy history.
September 10, 2025 at 8:00 AM
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...
July 12, 2025 at 7:26 PM
June 30, 2025 at 3:10 PM
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...
June 3, 2025 at 12:54 PM
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...
May 21, 2025 at 8:50 AM
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.
May 19, 2025 at 1:38 PM
I think "funky junk code" is a great term for code you just blindly accept without really reading when vibe coding.

@joshwcomeau.com
www.joshwcomeau.com/blog/the-pos...
April 30, 2025 at 10:17 AM
qwen3:4b totally ignored the instructions to be concise, only respond with the title and keep things under 50 characters
April 29, 2025 at 2:37 PM
Yesterday I spent a bit of time running ollama in a GitHub Actions workflow to generate nice titles for automated PRs.

I love the idea of leveraging LLMs locally in a workflow without needing to call out to a third-party API.

jacobtomlinson.dev/posts/2025/g...
April 29, 2025 at 1:40 PM
Day 10 of using a different coreutils command every day for 100 days!✨

The mkdir command can make new directories, and the -p flag lets you created nested directories in one go.

jacobtomlinson.dev/blog/100-day...
April 23, 2025 at 10:32 AM
Playing with Cursor again today. It tried to commit some code and the pre-commit hooks kept failing. It hasn't added the correct type annotations and mypy was complaining.

It tried to fix them a couple of times and when it couldn't it gave up and decided to skip pre-commit altogether 😅
April 17, 2025 at 2:44 PM
Day 9 of using a different coreutils command every day for 100 days!✨

The touch command can be used to create a new file or update the modified date of an existing file.

jacobtomlinson.dev/blog/100-day...
April 14, 2025 at 2:27 PM
Wow Marimo just overtook Jupyter Notebooks in terms of GitHub stars, and is quickly gaining on Jupyter Lab.
April 14, 2025 at 11:29 AM
Day 8 of using a different coreutils command every day for 100 days!✨

The link or `ln` command is used commonly for creating symbolic links, and can also be used for creating hard links.

jacobtomlinson.dev/blog/100-day...
March 25, 2025 at 11:25 AM
The 2006 version feels more like "my Neopets". I was starting to learn HTML around this time too, and spent ages trying to figure out how they achieved this layout.

It was tables! This was before CSS layouts. You would put everything inside a table and manage your columns and rows that way.
March 21, 2025 at 1:02 PM
Today I learned why my markdown titles sometimes don't render properly.

jacobtomlinson.dev/posts/2025/w...
March 14, 2025 at 11:23 AM
Day 7 of using a different coreutils command every day for 100 days.

The `true` command does nothing, but always returns `0`. Useful when you use `set -e` in a script but still allow a specific command to fail.

jacobtomlinson.dev/blog/100-day...
March 13, 2025 at 5:33 PM
Day 6 of using a different coreutils command every day for 100 days.

The `rm` command removes a file. Combining the flags `-r` and `-f` can result in removing your productivity for an entire day.

jacobtomlinson.dev/blog/100-day...
March 12, 2025 at 2:00 PM
Day 5 of using a different coreutils command every day for 100 days!

The `dir` command is effectively an alias to `ls -C -b` which forces multiple columns and escapes special characters.

It exists mostly to be compatible with other OSs like DOS and Windows.

jacobtomlinson.dev/blog/100-day...
March 11, 2025 at 11:18 AM
Day 4 of using a different coreutils command every day for 100 days!✨

Moving a file with `mv` will rename a file if the move is on the same disk, or copy and then delete it if the destination is on another disk.

jacobtomlinson.dev/blog/100-day...
March 10, 2025 at 10:35 AM
Day 3 of using a different coreutils command every day for 100 days!

One of the first commands you will ever use is `ls` to list the files in a directory.

Here are my most used `ls` aliases.

jacobtomlinson.dev/blog/100-day...
March 7, 2025 at 11:53 AM
Day 2 of using a different coreutils command every day for 100 days!✨

The copy command `cp` allows you to copy a file from one place to another. I commonly use the `-R` flag to copy a directory recursively and have used the `-L` flag to copy symlinked files too.

jacobtomlinson.dev/blog/100-day...
March 6, 2025 at 10:20 AM