Sign in

Mike Samuel 🟣

@mvsamuel.bsky.social
892 followers 942 following 2.8K posts

Programming languages person focused on software systems problems. Previously, first frontend engineer on Google Calendar, and was a security engineer who worked on the industrial-strength Mad Libs undergirding Gmail. Pro-trans-rights is pro-family.

PostsRepliesMedia
Mike Samuel 🟣 @mvsamuel.bsky.social · 23h
And sometimes it's like "if we make an animal entirely out of snakes, could it still be cuddly?"
010
Reposted by Mike Samuel 🟣
Devamardeep Hayatpur @devamarh.bsky.social · 08/10/2026
I am very pleased to share the program for LIVE'26: liveprog.org We have seven exciting presentations as well as a featured keynote by Brian Hempel! LIVE this year will take place remotely, so come join us over video-chat next Saturday (Oct 17) :)
A card with label: "Live'26 Keynote". The card contains title, abstract, and bio for the keynote:

Title: Programming by Interaction, Everywhere!

Abstract:
Before graphical user interfaces (GUIs), “using” a computer and “programming” a computer were the same activity. The popularization of GUIs in the 1980’s separated these two activities: computer use became graphical (and easier) while computer programming remained textual (and hard). Can graphical interfaces, now familiar, be reunited with the expressive power of textual code? In this talk, we will explore ways to take interactive graphical manipulation, such as chart editing, and back it live with code, such as Matplotlib. Then we will paint a vision of ubiquitous GUI-code integration, to perhaps finally put the “compute” into the old promise of the personal computer.

Bio:
Brian Hempel is a postdoc at the Foundation Interface Lab at the University of California San Diego. His research aims to fuse graphical interfaces and traditional text-based programming. He earned his Ph.D. from the University of Chicago, where he worked on the Sketch-n-Sketch bidirectional programming environment. Outside of interface research, he built the Nadocast severe weather prediction models, in use as experimental guidance at the National Weather Service Storm Prediction Center.
0129
Mike Samuel 🟣 @mvsamuel.bsky.social · 08/10/2026
Seems an easy fix.
[Screenshot of "About the Authors" section from the preface of "Artificial Intelligence: A Modern Approach" at https://aima.cs.berkeley.edu/newchap00.pdf but with "Artificial Intelligence" and "AI" blacked out]

The unredacted text reads:

About the Authors
Stuart Russell was born in 1962 in Portsmouth, England. He received his B.A. with firstclass honours in physics from Oxford University in 1982, and his Ph.D. in computer science
from Stanford in 1986. He then joined the faculty of the University of California at Berkeley, where he is a professor and former chair of computer science, director of the Center for
Human-Compatible AI, and holder of the Smith–Zadeh Chair in Engineering. In 1990, he
received the Presidential Young Investigator Award of the National Science Foundation, and
in 1995 he was cowinner of the Computers and Thought Award. He is a Fellow of the American Association for Artificial Intelligence, the Association for Computing Machinery, and
the American Association for the Advancement of Science, an Honorary Fellow of Wadham
College, Oxford, and an Andrew Carnegie Fellow. He held the Chaire Blaise Pascal in Paris
from 2012 to 2014. He has published over 300 papers on a wide range of topics in artificial
intelligence. His other books include The Use of Knowledge in Analogy and Induction, Do
the Right Thing: Studies in Limited Rationality (with Eric Wefald), and Human Compatible:
Artificial Intelligence and the Problem of Control.
Peter Norvig is currently a Director of Research at Google, Inc., and was previously the
director responsible for the core Web search algorithms. He co-taught an online AI class
that signed up 160,000 students, helping to kick off the current round of massive open online
classes. He was head of the Computational Sciences Division at NASA Ames Research Center, overseeing research and development in artificial intelligence and robotics. He received
a B.S. in applied mathematics from Brown University and a Ph.D. in [truncated]
010
Mike Samuel 🟣 @mvsamuel.bsky.social · 08/10/2026
He looks like a frilled lizard who is working really hard not to inflate his throat sack when threatened.
030
Mike Samuel 🟣 @mvsamuel.bsky.social · 08/10/2026
All cleverness is Shriram's. I just rode the coattails of his humour.
010
Mike Samuel 🟣 @mvsamuel.bsky.social · 08/10/2026
She was 2^-1 of said daughter's parents.
180
Mike Samuel 🟣 @mvsamuel.bsky.social · 07/10/2026
I'm a residual human resource.
010
Mike Samuel 🟣 @mvsamuel.bsky.social · 07/10/2026
Huh. Sometimes running an auto-formatter over one's old code leaves one with questions.
[diff of two files with the only change on one line where `bite_me:` is removed from before the curly bracket starting an `if` statements then-block]


       // Enqueue the ones we can't handle on the fast path.
!      if (deferred) bite_me: {
         deferredQueue.add(job);
         continue;
--- 39,43 ----

       // Enqueue the ones we can't handle on the fast path.
!      if (deferred) {
         deferredQueue.add(job);
         continue;
020
Mike Samuel 🟣 @mvsamuel.bsky.social · 07/10/2026
Waterade™
090
Mike Samuel 🟣 @mvsamuel.bsky.social · 07/10/2026
But those have more of a "for example" flavour than "what to do" so not sure I'm disagreeing with your point about need for clear separation
110
Mike Samuel 🟣 @mvsamuel.bsky.social · 07/10/2026
Some company was touting their spec for an orchestrator as evidence of how AI forward and all the places where you'd have acceptance criteria, ideally runnable acceptance tests, were TODOs and I think filling those out is actually a fine use for genAI if the alternative is they never exist.
100
Mike Samuel 🟣 @mvsamuel.bsky.social · 06/10/2026
Reading specs tells you surprisingly little about how to write good specs. The target audience is implementors who hate reading and just want to know what to do. The non-normative stuff about why not to do it some other way that you'd need to write a good spec is rarely in the specs themselves.
000
Mike Samuel 🟣 @mvsamuel.bsky.social · 06/10/2026
Yeah. The whole "I'll have my agent help me write a specification instead of code" is wild to me. Assuming that because the training corpus has specifications in it that it can write specifications is just assuming a bunch of knowledge transfer that doesn't happen in practice.
220
Mike Samuel 🟣 @mvsamuel.bsky.social · 06/10/2026
Yeah. It's important to disentangle. One of the early, large deployments of AI techniques was object character recognition for routing mail in a post office. That differs from AI surveillance in that no one assumes an address on the outside of an envelope is confidential, not the underlying tech.
020
Mike Samuel 🟣 @mvsamuel.bsky.social · 06/10/2026
If I understand your larger point, we need to build on what's there and not expect people using agents who don't understand DS problems to magically self-assemble durable solutions.
100
Mike Samuel 🟣 @mvsamuel.bsky.social · 06/10/2026
"Durable IDs" is not trivial and affects other aspects. A lot of eventual consistency hinges on non-authoritative nodes being able to assign IDs for something they create and using it for internal book-keeping before the created record ever reaches an authoritative node.
100
Mike Samuel 🟣 @mvsamuel.bsky.social · 06/10/2026
Like a large part of the appeal of MongoDB was if you don't know/care about transactional integrity, you can get better results. But then you learn enough about DS problems to know you need transactional integrity, you've only got ad-hoc methods to roll your own transactions.
210
Mike Samuel 🟣 @mvsamuel.bsky.social · 06/10/2026
No argument from me. The lifecycle of distributed systems toolboxes: 1. make it harder to shoot your foot 2. make it harder to shoot your foot 3. make it harder to shoot your foot 4. throw it out and invent another that makes is easier for junior devs to (checks notes) shoot their feet
131
Mike Samuel 🟣 @mvsamuel.bsky.social · 06/10/2026
"Idempotent retries" addresses "at most once."
100
Mike Samuel 🟣 @mvsamuel.bsky.social · 06/10/2026
Just write kilobyte because that's what people understand and abbreviate it using NIST's KiB binary convention. physics.nist.gov/cuu/Units/bi...
physics.nist.gov
Definitions of the SI units: The binary prefixes
000
Mike Samuel 🟣 @mvsamuel.bsky.social · 05/10/2026
It's baked into a lot of VC culture where the conventional wisdom is to invest in great entrepreneurs, not in plans.
010
Mike Samuel 🟣 @mvsamuel.bsky.social · 05/10/2026
Rob Pike: We're putting the band back together. Cue Aretha Franklin.
020
Mike Samuel 🟣 @mvsamuel.bsky.social · 05/10/2026
Weren't there a bunch of plan-9ers who worked on the first Go runtime?
100
Mike Samuel 🟣 @mvsamuel.bsky.social · 02/10/2026
Sad to see that a lot of the E language stuff has been internet memory holed. For my future self and anyone else it may concern, some of it's still available via github pages directly. erights.github.io/erights-org-...
erights.github.io
What's Updoc?
E: Cryptographic Capabilities for Distributed Smart Contracting
020
Mike Samuel 🟣 @mvsamuel.bsky.social · 02/10/2026
The refrain, "I'm proud of where I'm from but not everything we've done," drives me up the wall. Pride in things you're not responsible for is a step on the road to being a reactionary.
000
Mike Samuel 🟣 @mvsamuel.bsky.social · 02/10/2026
This was also well said. "People ostensibly concerned with centering a victim can very quickly end up ventriloquizing her, constructing an imaginary person whose desires conveniently ratify whatever punishment (or forgiveness) they already wanted."
010
Mike Samuel 🟣 @mvsamuel.bsky.social · 02/10/2026
And they can dual class. The fancy-pants'omancer is a hybrid crafting & magic class that can craft outfits granting them additional powers, for example, the famed hammer pants of Dur'Azin. Sworn enemies: ants.
A white bearded man wearing clothes in a mixture of white, royal blue, and a checked pattern that is mostyle orange and red but with contrasting colors.  The turban-lite style hat and long-sleeved under shirt are white, the vest and robe covering the legs to below the ankle are blue.  The checked pattern appears on a square over the chest that is connected by cord, reverse backpack style to (presumably) another on the back.  The checked pattern also appears on over-pants, a skirt that is slit open in the front from the bottom almost to the top and which layers over the bottom of the robe.

The man has a sober expression which style conveys "I'm rocking this."
000
Reposted by Mike Samuel 🟣
Chimney Sweepers Local 420 @bobbby.online · 01/10/2026
sometimes you just have to write a compiler that isn't a joke after you wrote a compiler as a joke
041
Mike Samuel 🟣 @mvsamuel.bsky.social · 30/09/2026
Are you riffing on David Robert's talk "To understand where to GO TO you have to know where you COME FROM?"
000
Mike Samuel 🟣 @mvsamuel.bsky.social · 30/09/2026
"Mayhaps" is what you get when you start down the track to saying "maybe" and end on the "perhaps" track. But has anyone ever tried "perbe?"
131
Mike Samuel 🟣 @mvsamuel.bsky.social · 30/09/2026
Seceng is all synchronized screaming so mayhaps there's an audience participation angle here.
010
Mike Samuel 🟣 @mvsamuel.bsky.social · 30/09/2026
I did my campus visit on the one sunny day in 1994 and I thought: "nice campus, friendly hosts, aging but nice student center. Cool cool." When I arrived on campus there was a giant hole in the ground where the student center had been, and sleet in September.
010
Mike Samuel 🟣 @mvsamuel.bsky.social · 30/09/2026
The Andrews: Why did we do this in Pittsburgh when we could've done it someplace that occasionally gets some sun.
110
Mike Samuel 🟣 @mvsamuel.bsky.social · 28/09/2026
Getting dragged for writing `#ifndef ...` instead of `#if !defined(...)` like it's C89.
030
Mike Samuel 🟣 @mvsamuel.bsky.social · 28/09/2026
"impeachment is part of the work assigned to congress"
021
Mike Samuel 🟣 @mvsamuel.bsky.social · 28/09/2026
Dead eyes from the Ox-ford style guide.
000
Mike Samuel 🟣 @mvsamuel.bsky.social · 28/09/2026
Type erasure is pretty cool, but it's tempting to do bad things.
[Typescript playground editor pane on the left]

function lieAbout(b: boolean): false {
  return b as false
}

export function lieMaxxing(
    a: number,
    b: number,
): number {
  return lieAbout(a > b) ? b : a;
}

[Typescript compiler's plain JavaScript output on the right]

function lieAbout(b) {
    return b;
}
export function lieMaxxing(a, b) {
    return lieAbout(a > b) ? b : a;
}
030
Mike Samuel 🟣 @mvsamuel.bsky.social · 26/09/2026
bryantanner.blogspot.com/2009/04/you-...
bryantanner.blogspot.com
Dr. McNinja: "You Can't Catch a Ninja If…"
How would you like to be a Scottish-born ninja assassin bound by the hippocratic oath?
020
Mike Samuel 🟣 @mvsamuel.bsky.social · 25/09/2026
Perl: There's more than one way to do it. Python (myth): There should be one -- and preferably only one -- obvious way to do it. Python (reality): There are multiple competing efforts to standardize 'the one' obvious way to do it, none of which will ever reach critical mass.
060
Mike Samuel 🟣 @mvsamuel.bsky.social · 24/09/2026
Also, as someone who has spent a good chunk of their compsec career on quoting-confusion attacks, people paying attention to ambiguities like this warms my cold dead heart.
010
Mike Samuel 🟣 @mvsamuel.bsky.social · 24/09/2026
Guillemets nest nicely because the opening quotation mark is visually distinct from the closing mark.
120
Reposted by Mike Samuel 🟣
evacide @evacide.bsky.social · 24/09/2026
A world of always-on cameras and microphones on peoples' bodies is a very serious privacy and security problem for the people wearing them and for everyone around them.
12275101
Mike Samuel 🟣 @mvsamuel.bsky.social · 24/09/2026
It's less obvious in part because the earlier LoTR portrayal of elves is given through a filter of Hobbit mythologizing. I kind of like that Tolkein didn't do the same hackneyed "the pretty ones are the unalloyed good ones" trope that C.S. Lewis's and Roald Dahl rely heavily on.
030
Mike Samuel 🟣 @mvsamuel.bsky.social · 23/09/2026
Fyi, one of my favourite confined DSL-in-GPPL-clothing PLs that does odd things in safety's name is Wuffs ( nigeltao.github.io/blog/2019/wu... ) which constrains arithmetic so that audio/video codec maintainers can do arithmetic for byte decoding without risk of OoB indexing.
nigeltao.github.io
Wuffs v0.2.0 is Released
110
Mike Samuel 🟣 @mvsamuel.bsky.social · 22/09/2026
Yeah. We tool-smiths need to understand what AI-assisted development is & could be, and work to guide it towards producing software that does good for end-users. Ignoring it just means devs who don't share my personal preferences are going to do work that affects real people with substandard tools.
160
Mike Samuel 🟣 @mvsamuel.bsky.social · 22/09/2026
Suburbs: good to build god / bad to build nearby
010
Mike Samuel 🟣 @mvsamuel.bsky.social · 21/09/2026
> > Merged main, and now it's just the deletions.
>
> Deletions are my favorite thing.

Now I've got an EDM remix of Rodgers and Hammerstein spliced with a ranty code reviewer yelling "Garbage code!!!", "DELETE IT!!!" stuck in my head.

[transparent-background smiley face emoji picker button]
030
Mike Samuel 🟣 @mvsamuel.bsky.social · 21/09/2026
A compiler that knows about default expressions can ensure internal equivalence, e.g. by rejecting default expressions that refer to lexically-later-defined inputs. But with userspace macros, that's probably harder.
000
Mike Samuel 🟣 @mvsamuel.bsky.social · 21/09/2026
The OP raises "internal vs external" input names. If one input's default expression refers to another input, is it referring to the internal or external name?
This parameter doesn’t have a name, it’s a pattern that introduces two bindings. You could come up with some syntax that gives things external names vs internal names, but there’s that complexity revealing its head again.
100
Mike Samuel 🟣 @mvsamuel.bsky.social · 21/09/2026
Ok, but are argument lists cursed ad-hoc tuples as in SML or are they cursed ad-hoc chains of arrow types as in OCAML?
030