made a little pirate map spinner for something I'm working on. Just plain SVG + React just an Euler spiral as f(t), superposition of waves for speed & cup modeling w/ addl waveshaping for other paper quirks Surprisingly performant on old computers!
Hamilton Ulmer
@hamilton.bsky.social
👁️📈👁️ design & eng @ MotherDuck. UI, statistics, databases. Ex Rill Data, Mozilla
finally revamped my website ~ same fonts, same overall design, but more about where I currently am and what I've done. & more diagrams & videos First time ever I'm talking about my previous music career on this platform, so I added a page about that too. after all, why not
Dives already support near-instant crossfiltering on millions/billions of rows. We're now working on making it a native part of the experience with some new primitives low latency makes whole new classes of interactions possible!
everything they're saying about it is true: GLM 5.2 really DOES have all the info it needs to write the plan
⌯⌲ Introducing Flights, a new agent-native data pipeline tool Author in python / SQL, trigger in SQL + MCP + on a schedule. I use it for data pipelines, but also for agent workflows, classical ML tasks, screenshotting Dives and posting to Slack, you name it. Give it a spin in Motherduck!
I've been reflecting on this post. If people are actually getting 10x or 100x gains, this indicates that per-developer productivity gains from AI don't convert to revenue very well. So either people are working on the "wrong thing" (very likely) or the gains are more modest (also likely)
Happy National Paper Airplane Day! I made a little parametric mini-app to figure out good angles for a paper airplane hero. Another fun 3d svg modeling task. Favorite parts are the particle occlusion and ribbon trail I promise this content will make sense soon
I've been using Claude artifacts to create parametric systems for icon development. While models are only sort-of good at drawing svg, they're obviously quite good at getting basic math right. Especially helpful for getting 16x16 footprints to feel nice usually I can do the rest
iterating on a fun little isometric paper airplane loading hero for a new feature I'm excited about. Thinking about how to mitigate the ink trap problem while keeping the simplicity of three shapes
This break, I've been building a constraint-based implementation of a new time series axis component. The goal is to make it nice & comprehensible for any size / time range It's a nice pattern: React part of it is simple, the TS part is complex / well-tested, and the dev UI uses the test cases
Continuing the semantic code-folding design exploration. Instead of showing the typical "..." button, it shows an LLM summary of what's folded. Like "calculate 30-day revenue" for a collapsed CTE. Not sure if this would be useful yet!
I like the “retvrn to terminals” discourse around UIs, but imo it misses why old terminal programs were (or were not) good. So it’s a boring aesthetic argument and not a functional one based on how humans consume information.
only took me two years before I needed to do my own safety triangle implementation this works great for our upcoming "quick look" editor features aside from function docs, what other quick look features would you like in the DuckDB UI?
My Data Council talk on Instant SQL is up on YouTube! Instant SQL is MotherDuck's new realtime ad hoc querying and data debugging mode. I go into details, but the talk itself is really about designing tools that both require mastery AND enable joyful flow. www.youtube.com/watch?v=GSeB...
Instant Preview Mode Real Time Feedback to Make SQL Data Exploration Fly
YouTube video by Data Council
youtube.com
This is tomorrow! lu.ma/xakrgxqu
Stay in Flow with MotherDuck's Instant SQL - May 21 · Luma
Imagine writing SQL queries that give you instant visual feedback, transforming your entire data exploration experience. See how MotherDuck's Instant SQL…
lu.ma
I'm going to be talking online about the "why" and "how" of Instant SQL, our new ad hoc querying experience that enables keystroke-fast previews of results & deeper introspection into your query's data flow. Weds. May 21st, 9:30am PDT link in reply!
I'm going to be talking online about the "why" and "how" of Instant SQL, our new ad hoc querying experience that enables keystroke-fast previews of results & deeper introspection into your query's data flow. Weds. May 21st, 9:30am PDT link in reply!
So thrilled to announce we've released Instant SQL in both the MotherDuck and DuckDB UIs! It's a new interaction pattern for writing SQL queries that provides realtime result previews and deep query inspection & debugging. Bye bye run button 👋 Truly, literally only possible with DuckDB
Migrating over my DuckDB AST path generation code to our UI. The way I've done gut-checks on the grammar is to use this CodeMirror semantic highlighting extension I wrote We can implement a very long tail of unique features with the path generator, including instant preview mode
So thrilled the DuckDB UI is out to the world! Read the post, but wanted to also share a couple small design details we thought about in thread
DuckDB got a local UI. Thanks to our friends at MotherDuck, you can now interact with your DuckDB database through an interactive notebook, running on localhost. Read the announcement blog post at duckdb.org/2025/03/12/d...
a gratifying animation (and much lower instance size changing times in the MotherDuck UI)
The prod push begins ... starting with my TS-based re-parse of the DuckDB grammar to get the end positions of AST nodes & all clauses of select & set operation nodes. This tedious work enables a long tail of hot UI magic. Can't wait to deprecate it once we have the PEG parser!
new in the MotherDuck UI: a very nice file -> table flow combines duckdb-wasm with MotherDuck to enable easy file validation and previews before taking the CTAS plunge
Big release day for MotherDuck! We're rolling out a new Business Plan and a bunch of great new features. Cherrypicking a few small design details that I enjoyed working on below (see the blog post for way more data warehouse context!) motherduck.com/blog/introdu...
MotherDuck for Business Analytics: GDPR, SOC 2 Type II, Tiered Support, and New Plan Offerings - MotherDuck Blog
Introducing new features designed to better support businesses looking for their first data warehouse, including SOC 2 Type II and GDPR compliance, tiered support, read scaling, and a new Business Pla...
motherduck.com
We're testing a new DuckDB install experience for Linux and MacOS: curl install.duckdb.org | bash Happy to hear feedback!
install.duckdb.org
duckdb-wasm now has OPFS support! This means that you can now persist a DuckDB database in the browser for a given origin. This will make caching & local operations much nicer! github.com/duckdb/duckd...
Add OPFS (Origin Private File System) Support by e1arikawa · Pull Request #1856 · duckdb/duckdb-wasm
Description: This PR implements OPFS (Origin Private File System) support in the latest version of duckdb-wasm based on PR #1490. This allows database files to be read and written to the OPFS. API:...
github.com
First pass at a new DuckDB extension that generates svg time series IN the db (below screenshot copied into figma) and how, using M4 should be trivial! And then setting elem.innerHTML = result even easier One step from effortlessly throwing a thousand low-cost small multiples into any UI
I had the privilege of chatting with @jthandy.bsky.social on the Analytics Engineering podcast about – you guessed it – DuckDB, exploratory data analysis, and the messy middle of doing data work. Lots of historical context! listen: www.getdbt.com/blog/interse...
Working in a DAW, one will loop over a small isolated set of tracks and work out EQ, reverb. etc. The fast feedback loop makes it easy to dial into the right sound, and then you can unmute the rest of your tracks for context. Why doesn't this exact pattern exist for UI tooling?