Harry Vangberg

Harry Vangberg

@harry.vangberg.name

Biotech student at Aalborg University. Interested in computational biology and scientific software. In a previous life: startup co-founder and software developer. 🌐 https://harry.vangberg.name

55 followers122 following77 posts

Honestly, the file advantage of pdit is quickly losing out to the fact that agents are so good at using CLI's. Here is a Jupyter CLI for working with Jupyter notebooks - I haven't tried it, but my guess is it would work pretty well: github.com/jupyter-ai-c...

github.comGitHub - jupyter-ai-contrib/nb-cli: A CLI-first interface for AI agents to work with notebooksA CLI-first interface for AI agents to work with notebooks - jupyter-ai-contrib/nb-cli
Harry Vangberg@harry.vangberg.name

pdit: The Python Un-Notebook for Coding Agents - harry.vangberg.name/posts/pdit-t...

On taste: mine has become markedly less jagged with age. At this point it's essentially boiled down to You Must Believe in Spring. I'm not even ashamed to confess that I was led there by Monocle 10 years ago.

The way I use it is to ask Codex (or Claude) to put all classes and functions and so on in `impl.py`, and only add the high-level interactions to `script.py`, which is the one I open in pdit. pdit becomes sort of a HUD for my agent-written code. Super nice for quick iteration.

I made this kid's music player app for the iPad 3 years ago, nobody used it, and I removed it from the App Store at least a year ago to avoid paying the Developer Program fee, and yet, it seems like there's a single user somewhere out there who keeps using it, week after week. Warms my heart.

I put a coding agent inside the browser with a single `execute_javascript` tool. Open HTML files -> make changes -> save back to HTML. The HTML file is the source code, the code environment, the app, the data store, everything at once.

I just released pdit, an output-focused Python editor. pdit takes any regular Python scripts and shows the output side-by-side with the code that generated it. Think of it as a lightweight notebook or REPL for your scripts. Try it right now: `uvx --with "pdit[demo]" pdit --demo` -- pdit.dev

Trying something else.

Harry Vangberg@harry.vangberg.name

I added assignments to the output pane, even though they are technically invisible in R. How often have I not done `my_var <- …; my_var`? It's also consistent – all outputs are in one place, and in the same order as the code. Principle of least astonishment. #rstats

I added assignments to the output pane, even though they are technically invisible in R. How often have I not done `my_var <- …; my_var`? It's also consistent – all outputs are in one place, and in the same order as the code. Principle of least astonishment. #rstats

Reading about Jujutsu gave me an idea: maybe bakepipe could simply be a frontend for targets, in the same way jj is a frontend to git? No need to reinvent an execution engine, when what I really care about is how to define the pipeline.

Harry Vangberg@harry.vangberg.name

Bakepipe 0.1 is ready, complete with automatic dependency detection + incremental execution. Installable with `devtools`, CRAN later – github.com/vangberg/bak...

Since CRAN rejected my Bakepipe submission, I guess it is vacay time. See you all in August, where I will see how far I can get on this slightly weird idea for an R development environment I have. TschΓΌss!

Of course – you don't need the GitHub Issue -> Markdown tool. Just ask Claude to pull context from the GitHub issue.

Harry Vangberg@harry.vangberg.name

Claude Code works! Here's the impl. of a DAG: github.com/vangberg/bak.... Spent some time building context in a GH Issue (github.com/vangberg/bak...) inspired by @simonwillison.net (simonwillison.net/2022/Nov/26/... – great talk) and dumped it as context with tools.simonwillison.net/github-issue...

0.3 is out, skipping images that are already on disk. This should make it much faster if you have many observations. I am up to 36 observations, here's a recent favourite – a cowslip. It has a great name in Danish, "hulkravet kodriver".

Harry Vangberg@harry.vangberg.name

I vibe-coded a tiny tool to export @inaturalist.bsky.social observations to Ankivalenz-formatted Markdown, so my backyard observations can easily be turned into Anki cards. github.com/vangberg/ina...