Hamilton Ulmer
@hamilton.bsky.social
๐ค 3141
๐ฅ 341
๐ 308
๐๏ธ๐๐๏ธ design & eng @ MotherDuck. UI, statistics, databases. Ex Rill Data, Mozilla
pinned post!
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
loading . . .
6 months ago
3
53
11
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.
about 4 hours ago
0
2
0
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?
loading . . .
5 days ago
0
6
0
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...
loading . . .
Instant Preview Mode Real Time Feedback to Make SQL Data Exploration Fly
YouTube video by Data Council
https://www.youtube.com/watch?v=GSeBSoxAWFg
4 months ago
1
6
2
This is tomorrow!
lu.ma/xakrgxqu
add a skeleton here at some point
5 months ago
0
7
1
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!
loading . . .
5 months ago
1
7
2
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
loading . . .
6 months ago
3
53
11
Instant Preview Mode has been achieved internally
loading . . .
6 months ago
4
45
6
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
loading . . .
7 months ago
0
13
0
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
add a skeleton here at some point
7 months ago
3
39
5
a gratifying animation (and much lower instance size changing times in the MotherDuck UI)
loading . . .
7 months ago
0
6
0
reposted by
Hamilton Ulmer
MotherDuck
7 months ago
Are you ready? 03.12.2025
0
12
3
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!
7 months ago
0
6
0
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
loading . . .
7 months ago
1
19
5
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...
loading . . .
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...
https://motherduck.com/blog/introducing-motherduck-for-business-analytics/
8 months ago
1
11
0
reposted by
Hamilton Ulmer
Hannes Mรผhleisen
8 months ago
We're testing a new DuckDB install experience for Linux and MacOS: curl
install.duckdb.org
| bash Happy to hear feedback!
loading . . .
https://install.duckdb.org
14
127
28
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...
loading . . .
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:...
https://github.com/duckdb/duckdb-wasm/pull/1856
9 months ago
2
29
7
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
9 months ago
1
22
1
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...
loading . . .
9 months ago
1
13
3
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?
9 months ago
1
4
0
reposted by
Hamilton Ulmer
๐ New DuckDB instant SQL preview feature: decompose result sets in real time! Break apart any select list expression to triage unexpected NULL values and results Scales seamlessly to arbitrarily complex expressions
loading . . .
9 months ago
1
41
6
๐ New DuckDB instant SQL preview feature: decompose result sets in real time! Break apart any select list expression to triage unexpected NULL values and results Scales seamlessly to arbitrarily complex expressions
loading . . .
9 months ago
1
41
6
DuckDB's Node client got a huge makeover! I've gotten to watch my colleague Jeff work on it and it's been a masterclass in how to nail the ergonomics. Give it a spin ~
duckdb.org/2024/12/18/d...
loading . . .
DuckDB Node Neo Client
The new DuckDB Node client, โNeoโ, provides a powerful and friendly way to use your favorite database
https://duckdb.org/2024/12/18/duckdb-node-neo-client.html
10 months ago
2
31
4
My toddler is extremely into orchestral music. People are always surprised to hear this, but my wife is a professional musician and I used to be. Music is a critical part of our family fabric. It feels very rewarding to have him grow up in the culture; something neither of us quite had.
10 months ago
4
21
0
I finally did it. I bought the $160 book on the history of mathematical tables.
10 months ago
0
13
0
DuckDB just shipped a rowid filter pushdown! This can be used to get a fast tail of the table. Lots of other great uses for this too! Along w/ the tablesample pushdown PR, DuckDB 1.2 is going to have much faster ways to subset large tables.
github.com/duckdb/duckd...
add a skeleton here at some point
10 months ago
2
21
0
reposted by
Hamilton Ulmer
Jack Rusher
10 months ago
Inspired by the graphic design of the Penguin paperbacks I grew up readingโฆ
loading . . .
8
270
38
Do any of my DuckDB experts know how to use sniff_csv (or any table function) on a list of files in a query? I want to apply sniff_csv to each file in a list. I can always do string templating with union all but it'd be nice to keep this pure SQL so I can make a macro out of it. any ideas?
10 months ago
1
5
0
๐ฏ
add a skeleton here at some point
10 months ago
0
3
0
reposted by
Hamilton Ulmer
Nate Sooter โณ๏ธ
10 months ago
Happy Thanksgiving, especially to all the Export to CSV buttons out there
0
27
4
reposted by
Hamilton Ulmer
IntentToShip
11 months ago
Blink: Intent to Ship: WebAssembly Memory64
loading . . .
Blink: Intent to Ship: WebAssembly Memory64
Blink: Intent to Ship: WebAssembly Memory64
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RzZgYMSoD8-Gb_edSP29fLEg4oJjg0WZaTwS6F1%2BrPs%2Bw%40mail.gmail.com
0
7
6
thinking about bringing both this loading spinner in to the MotherDuck app
loading . . .
10 months ago
2
11
0
reposted by
Hamilton Ulmer
Emily Liu
11 months ago
now you can run `npm install bluesky-comments` to use bluesky replies as your blog's comment section! thanks
@coryzue.com
๐
add a skeleton here at some point
21
550
132
reposted by
Hamilton Ulmer
Emily Liu
11 months ago
While Bluesky looks like other social apps on the surface, itโs actually quite different. Itโs an open network. I blogged about it here:
loading . . .
Benefits of an open network
https://emilyliu.me/blog/open-network
247
4234
1072
reposted by
Hamilton Ulmer
instant-feedback SQL editing aka "query-as-you-type" uses DuckDB's AST, duckdb-wasm for local-first caching, and MotherDuck as the backend Still early, but should enable arbitrary scale and still retain a near real-time feel while writing ad hoc queries! Bye bye run button ๐
loading . . .
about 1 year ago
6
58
4
IMO SQL is hard because it's nearly impossible to build good tooling for it. And that's because of SQL's grammar (verbose) and parsers (ancient) this
@duckdb.org
change is huge Exciting times ahead if you work with SQL!
add a skeleton here at some point
11 months ago
1
12
1
reposted by
Hamilton Ulmer
Ed
11 months ago
How does one find Design Eng BlueSky? Or Product Dessign Blue Sky?
1
5
3
the local regression line is ๐๐ค I bet loess might also be kind of interesting here
add a skeleton here at some point
11 months ago
1
6
1
๐ข just shipped in the MotherDuck UI: Table Summary Click a table/view in your catalogs to see column distributions, top values, & null %s. Plus an easy way to peek at actual rows when you need that security blanket. An easy way to build intuition about your tables w/o having to write SQL!
loading . . .
11 months ago
5
42
9
do any
@bsky.app
folks know if it's either possible (or on the roadmap) to allow people I don't currently follow to chat with me?
11 months ago
0
0
0
I'm in a couple of starter packs, so I'm getting way way more followers faster than I can really handle! If you're new and you care about stats, AI, UIs, dataviz, startups, or databases, reply in thread! Or DM me. I'll follow you back.
11 months ago
12
14
2
strong agree. I'm using lists and canvases to organize stuff every day. They're especially good when pinned to my own DM channel
add a skeleton here at some point
11 months ago
0
1
0
reposted by
Hamilton Ulmer
Jacob Matson
11 months ago
querying my bsky feed with
@duckdb.org
h/t
@pedram.lol
for doing something similar with the other site (1) get your user info: ``` create or replace table user_info as (select * from read_json_auto('https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile?actor=matsonj.bsky.social')); ```
6
71
13
reposted by
Hamilton Ulmer
Mike Driscoll
11 months ago
Strolling by my favorite cafe + urban garden in San Francisco, Stable Cafe. Itโs a physical reminder that spaces matter, whether physical or digital. Hereโs to making this place matter too.
2
49
3
DuckDB preserves the order of tuples in tables. It'd be useful if for simple table limit queries (only SELECT and LIMIT, no CTEs, GROUP BY, WHERE, etc.) there were some kind of optimization or alternative syntax for a super-fast LIMIT at the tail Tail is almost always more valuable than the head!
11 months ago
1
5
1
saw some work earlier that reminded me of this demo of our upcoming resultset filtering functionality. I did this before parental leave. Still needs virtualization + paged batching to make it feel effortless. Animations tbd Here's me finding all the dumped christmas trees in SF via the 311 dataset
loading . . .
11 months ago
2
20
1
it's a small thing, but we built out a structured type system for DuckDB types in TS. Before I went on leave I wrote a tiny parser to convert logical all type strings to structured ones Now I'm prototyping a simple simple custom formatter that enables type string truncation wherever it's useful
11 months ago
3
6
0
reposted by
Hamilton Ulmer
Phil Eaton
11 months ago
Ok this is neat. DuckDB joins the ranks of relatively few major databases who implement optimistic concurrency control for transactions.
duckdb.org/2024/10/30/a...
2
40
3
nothing quiiiite like spending several hours triaging a wasm perf issue, only to have the solution be to flip on one flag and get a 20x speedup
11 months ago
3
37
1
reposted by
Hamilton Ulmer
LogoArchive
11 months ago
Logos seem to work best when there is harmony. Music, a thing that is written as well as played, also has graphic potential and easily recognisable motifs. See over 4000 more historical logos at
logo-archive.org
0
48
6
probably the most exciting thing to happen for WASM in (no joke) maybe 6 years?
webassembly.org/features/
11 months ago
2
21
4
Load more
feeds!
log in