@dblockdotorgi
iAccount based inUnited States
About this account
- Account based in
- United States
- Connected via
- United States App Store
Account-level information from X, not a live location or the device used for a specific post.
@microsoft, ex-unemployed artist, ex-A.I. @shopifyeng @opensearchproj @awscloud ex-CTO @artsy @artsyopensource opinions my own 🇮🇱 🇺🇦 🇺🇸
NYC/Seattle/Geneva/(Moscow)
Joined November 2010
- Tweets13.2K
- Following1.8K
- Followers3.3K
- Likes5.9K
I didn't know what a derangement was. Made it for a fun conversation with my high school teenager.
A derangement is a permutation where no element remains in its original position. Think the number of permutations in Secret Santa where you can't get your own gift.
In excalc, derangement(n) is implemented like so:
D(0) = 1
D(1) = 0
D(n) = (n - 1) × (D(n - 1) + D(n - 2))
D(2) = 1 × (0 + 1) = 1
D(3) = 2 × (1 + 0) = 2
D(4) = 3 × (2 + 1) = 9
D(5) = 4 × (9 + 2) = 44
github.com/dblock/excalc-rs/…
Excalc will now preserve separators and currency signs when doing math.
github.com/dblock/excalc-rs
A comparison of various command-line calculators.
github.com/dblock/excalc-rs/…
The next excalc-rs release adds stdin piping, a full interactive REPL, tab-completion of function names, and argument-name hints as you type calls. It also brings dozens of new functions in numeric analysis, combinatorics, statistics, unit conversions, probability distributions, geometry, root-finding, and bit manipulation, plus base conversion ( hex / oct / bin ) and atan2.
Inspired by @dhh omacalc @MSFTCopilot and I ported my 1996 expression calculator to a Rust CLI tool and MCP server. Now your AI coding agents can outsource arithmetic and avoid hallucinating math.
github.com/dblock/excalc-rs
The Rust port’s git history is one Copilot CLI session, 145 turns, spread over 24 hours. The token bill for the port was 732 API calls across the session, ~83 million input tokens processed (~80 million of those were cache reads), and about 262,000 output tokens.
code.dblock.org/2026/09/24/p…
Much of the advanced math in the calculator was taught by professors Ernst Hairer and Gerhard Wanner from their book, Analysis by Its History. I took the course as an undergrad.
unige.ch/~hairer/
unige.ch/~wanner/
Love this @johnzettler!
Thrilled to see my early blockchain investigation make NFT history.
Five years ago, I found a Lost Robbie in a drawer.
One of 300 frames of Robbie Barrat’s AI art, given away at Christie’s in 2018.
Today I’m launching a tracker for the finds, the sales and the story.
How many other drawers hold one?
@videodrome
I watched @dhh's keynote and am cooking something in Rust. Want to guess what it is?
I write a lot, and I use AI a lot. But AI does not write my blog posts. Mostly.
code.dblock.org/2026/09/23/u…
Wrote a Serving Markdown for AI Agents follow-up and extracted it into jekyll-md, a Jekyll plugin that converts every page's fully rendered HTML into clean Markdown.
code.dblock.org/2026/09/19/s…
github.com/dblock/jekyll-md
Found another one from @abhinav similar to jekyll-llms, github.com/abhinavs/jekyll-m….
Daniel (dB.) Doubrovkine (parody of myself) retweeted
💬 Should Ruby exception messages start lowercase and end without punctuation? A new RuboCop plugin codifies the convention used by Ruby itself and shows how Grape adopted it across its codebase. #Ruby code.dblock.org/2026/09/05/s…
GitHub Copilot and I ported my Strava to Discord bot to Microsoft Teams in 3 days instead of 3 weeks.
code.dblock.org/2026/09/16/p…
If you use Teams, I'd love your help to try it out while it's in Beta.
strata.playplay.io/
After Amazon I loved “disagree and commit” at Shopify. Every large org should have a @tobi to make decisions. There are, however, downsides.
Yep. Except:
1. This was about important internal tools. The team was stuck in some architecture nightmare of their own doing (writing it in rails but headless, with graphql api, and a SPA react app, constantly needing frontend engineers for changes). I call this kind of thing 'cosplaying an enterprise production app'. All that complexity was in the way and using straight rails was perfect in that case.
2. I make calls like this all the time. Usually someone on the team asks me to. They see what needs to happen but don’t want to be the bad guy. I’m happy to just make the call if I agree with the premise. Saves enormous amounts of meetings and change management etc. Sometimes this is jokingly referred to as Founder-mode-as-a-service here.
3. For ten years I’ve also run an internal podcast called Context, where I revisit decisions like these and explain the reasoning so everyone can learn from them. This is helpful to give people all the variables that were considered and why this was the choice made given the information available at the time. I want to teach how to make such decisions effectively without needing me. Sunk cost fallacy is a problem.
4. Any notions that Shopify is succcessful despite of me doing this, instead of because of it, will have a hard time making their argument come together I think 😄
the part of 'two weeks later tobi learns about...' is nonsese and the pivot of that project up there happens one of the more successful examples of interventions. But getting the company to work effectively with great architecture and low technical debt baggage into the right direction is literally the job, so guilty as charged I suppose.
But there are always cope stories floating around like this because they are more fun, than saying 'somehow we needed tobi to stop doing silly architecture astronautics'. I can totally see that.