struggle together
i learned programming and design by trying, failing, and trying again.
when i hit a wall, i figured out how to climb it. read something i barely understood. took things apart. asked someone for help. started over.
when i began my career, i kept doing things i had never done before. trying different ways to make something work. when i stopped learning, i moved on to the next struggle.
many things i made weren’t very good. but after enough rounds, something stuck. what once took so much effort became part of how i thought. i could feel something was wrong before i knew how to explain it.
it became like water.
i think about what went into that. the bug i couldn’t fix. the design that looked right until someone used it. the conversation that made me realize my flaws.
now we can ask a machine.
i’ve made things with these tools that i might never have made otherwise. i don’t miss every tedious task. but i wonder what happens when we remove the difficulty before we understand what it was teaching us.
we ask. something appears. it works well enough. we move on.
we learn how to get results without necessarily understanding how it works. and because the result looks complete, it becomes easy to miss the questions we never learned to ask.
there is another side to this.
working with people is uncomfortable.
everyone wants something different. everyone has a history you don’t know. someone cares about a detail you think is unimportant. someone pushes back when you want to move. someone needs time when you feel certain.
it takes a while to find each other.
but sometimes, after struggling together, you become a band.
you know who notices what you miss. who can pull an idea apart without killing it. when to step in, when to slow down, when to let someone else carry the rhythm.
you share something unfinished. admit you don’t know. hurt each other, apologize, try again. eventually you make something none of you could have made alone.
some of my closest friendships came from working this way. smart, caring humans who saw me confused, wrong, tired, excited. people i could be vulnerable with. people whose ideas changed mine.
i worry we are making it easier to avoid that beginning.
an agent is always there. patient. ready to keep going. talking to it can feel easier than reaching toward someone who might misunderstand you, disagree, or have somewhere else to be.
sometimes that ease helps. but if we keep choosing it, where do the friendships begin?
i picture each of us with our own agents. our own explanations. our own little worlds. making more things, with fewer reasons to leave the screen or work through a difference with another person.
and these worlds aren’t entirely ours.
they run on machines in server farms, owned by companies, shaped by interests we may not see. we bring them our questions, our work, our loneliness. they become part of how we understand what is real.
is that freedom?
or a comfortable kind of confinement, where everything responds to us but fewer things reach us?
i don’t think pain makes something good. there are struggles nobody should have to endure. but i don’t want to lose the difficulty of learning something unfamiliar, or getting to know someone who isn’t like me.
maybe we need tools that help us spend more time with the world, instead of giving us fewer reasons to enter it. tools that make it easier to find people, share something unfinished, and work through what we couldn’t figure out alone.
sometimes i want to close the laptop.
sit with people i love. play something we haven’t figured out yet. miss a note, lose the rhythm, listen until we find each other again.
like a jazz band. everyone bringing something different. nobody knowing where we’ll end up.
i don’t want a life without struggle. i want people to struggle with. something we can feel, change, and make our own.
music we couldn’t have made alone, instead of the silent static of the server farm.
I built bbtree, the foundation of databases and filesystems, and the fastest concurrent btree.
Code: https://t.co/CWpHJ7c5Bj
Blog post & demo: https://t.co/xRrdiPcgbz
I've been cooking on this post for a bit, but with the cyber security events of this week I had to ship it:
Long-live static credentials must die. We never want to rotate API keys again.
Turns out only 8% of cloud and SaaS vendors support secure alternative. This is our call to action to change this AND our commitment to do our part:
- We are requiring vendors on our marketplace to support OIDC
- We shipped @shadcn components to make it easier to ship OIDC configuration
- We are expanding OIDC support on our own platform
The last generation got the web from HTTP to HTTPS. It is on us to move past API keys.
https://t.co/g3r5jk79U8
we did invent it and it's called OIDC federation
vercel and github actions do it:
- each deploy gets a short-lived signed token
- AWS/npm/other services verify it via trust policy
- you get temporary creds
no keys to paste
the problem is not enough APIs and services accept it
🦆 Announcing DuckDB 2.0.0 LTS “Cinnamon Teal”
We are proud to release DuckDB 2.0.0, named after the cinnamon teal (Spatula cyanoptera), a striking reddish-brown duck found in the western Americas. 🌎
DuckDB 2.0.0 is the biggest DuckDB feature release so far. It ships a polished version of the Quack protocol, which turns DuckDB into a full-fledged server. It improves performance and lowers costs through supporting asynchronous I/O, a first-class VARIANT type, and a dedicated “agent mode”. It also empowers extension developers with a new SQL parser that allows adding new statements, clauses, and keywords, a new API to build on, and a new mechanism to distribute extensions more easily.
In our announcement blog post, we summarize the highlights and then walk through the key changes and give guidance on how to migrate to 2.0. For the complete release notes, see the release page on GitHub.
https://t.co/QtT5wHhg2w
#DuckDB
A DuckDB Database with No Data in It 🦆 🫨
A DuckDB database file does not have to contain any data. It can store nothing but view definitions that point at files stored somewhere else, such as Parquet on object storage.
The file stays a few hundred kilobytes no matter how large the data it describes, and anyone who attaches it sees a set of named relations that are ready to query.
@NikolasGoebel described this idea in his post “DuckDB doesn't need data,” which argues that modern databases have separated where data is stored from how it is read, to the point that most databases no longer need to hold any data of their own.
From that perspective, #DuckDB becomes a browser for the data cloud, where you access a dataset through a URL rather than a copy on your own disk.
In this blog post, we turn that idea into a small, shareable catalog: https://t.co/bWkhrEqEay
I’m at the Rows & Columns @ClickHouseDB event. @andy_pavlo is teaching us about the history OLAP/OLTP/HTAP and how it relates to Larry Ellison’s marriages across the decades.
100 TB of RAM, saved by shrinking a consistent hash ring. The last 90,000 hashes per server were buying 0.7% load balance improvement. Math said stop. We stopped.
https://t.co/76XojaaDQG