Sign in

Chris Dickinson

@neversaw.us
836 followers 511 following 116 posts

former Node.js TSC & NPM registry eng / systems eng (❤️ rust, bash, js, tf) / sometimes illustrator / pets cats; pronouns he/him (@isntitvacant elsewhere)

PostsRepliesMedia
Chris Dickinson @neversaw.us · 14/09/2026
to expand on the last bit: this is not to say senior engineers didn’t help me out early on, but rather that the way I developed “taste” primarily didn’t happen on the job. It came through rewriting other, popular projects, or trying (and failing) to write programs in unfamiliar domains
000
Chris Dickinson @neversaw.us · 14/09/2026
Thought-provoking post! 3 things jumped out at me: - “Systems analyst” had an engineering resurgence in the form of “domain driven design” in the early aughts - Review persists but gets pushed to interfaces (it’s great time to pick up “data oriented design”!) - I didn’t pick up taste through review!
111
Chris Dickinson @neversaw.us · 11/12/2025
ah yes, the “windon’t”
010
Chris Dickinson @neversaw.us · 20/10/2025
(or, put another way: I’m not sure a (non-legal, lay) definition of “conscious” is strict enough to be a useful frame for discussion!)
010
Chris Dickinson @neversaw.us · 20/10/2025
“I” is a strange loop. So, from that standpoint, yeah, there’s an argument: it could perceive itself in the (finite) regressive evaluation of tokens. I think the finer point is “are they aware” and “are they self-sustaining” to which I’d guess “no”
100
Reposted by Chris Dickinson
Rev. Dr. Derek M Ballard PhD @derekmballard.bsky.social · 18/10/2025
ideas got power
110021
Reposted by Chris Dickinson
jenn schiffer 😎 @jennschiffer.com · 23/09/2025
wasm’ers rise up
2421
Chris Dickinson @neversaw.us · 10/09/2025
gen z (probably?) doesn’t remember having to look up the new 2002 horror film, feardotcom, by navigating to feardotcom dot com
000
Chris Dickinson @neversaw.us · 10/09/2025
hard agree on all of these, & with the implication of 6 that “no ambient platform deps can be imported” (e.g. you can’t import “node:fs” without declaring it as a dependency)
220
Chris Dickinson @neversaw.us · 02/09/2025
I was thinking the other day about the old-internet adage, “don’t read the comment section”, and how the internet gradually transformed most popular websites into infinitely-scrolling comment sections
030
Chris Dickinson @neversaw.us · 01/09/2025
the flip side of this is that, if you’re primarily able to program because of your day job, as is the case for folks early in their career, you’re strongly incentivized to pick projects with permissive licenses. you also have no/unknown leverage to argue to adopt projects with copyleft at that point
020
Chris Dickinson @neversaw.us · 01/09/2025
then it turned into popularity-as-job-insurance: it was easier (in theory) to get a job —or better yet, one closer to what you wanted— if you were the maintainer of a popular tool
110
Chris Dickinson @neversaw.us · 01/09/2025
honestly, in the past, it was that picking a permissive license and working in the open was a good way to build community around programming-as-public-art; it seemed to create the possibility for community members to get a job doing that art (in the django/rails/early node era of the web)
150
Chris Dickinson @neversaw.us · 22/08/2025
“there, it’s done, what do you think” as the camera pans over all of the interociter parts on the ground (via mst3k: the movie)
030
Chris Dickinson @neversaw.us · 07/08/2025
a research q: how many times has the pendulum swung between thick clients and thick servers in computing? examples would be like: time-sharing moving to workstations, server-rendered websites moving to react/client rendered websites (and back), etc etc
000
Chris Dickinson @neversaw.us · 06/08/2025
which discord group is this? (without being a member discord seems to refuse to display the thread)
100
Chris Dickinson @neversaw.us · 01/08/2025
I think a lot about Peter Naur’s “Programming as Theory Building” re: legacy code. A lot of the act of programming is really being able to model the system accurately along with the potential impact of changes to the system. (Legacy code is where that theory has been lost!)
110
Chris Dickinson @neversaw.us · 27/06/2025
I hope we’ll see package-lock-style prompt pinning come to clients— so that clients can alert users when the upstream server changes tool prompts (and hopefully block malicious tool prompts before they’re used)
010
Reposted by Chris Dickinson
Robert Black @hurricanexyz.bsky.social · 22/06/2025
I know this can sound kind of silly at a time like this, but doing a war without congressional authorization is ample grounds for impeachment
439149713029
Chris Dickinson @neversaw.us · 20/06/2025
So the de-skilling of new coders still makes me nervous– LLM-assisted coding is useful, but is shaped a lot like a Skinner box. (Though this could change. If we get to a place where we put the LLM on local hardware and get it to produce acceptable output deterministically, that concern goes away)
020
Chris Dickinson @neversaw.us · 20/06/2025
We're able to not think about cache lines and electrical engineering because each of those interfaces aims to implement a deterministic virtual machine - they hide information. For right now the lack of determinism in LLM behavior & output means the details of the output PL behavior peeks through.
120
Chris Dickinson @neversaw.us · 20/06/2025
From that angle treating human language as the HLL to LLM-generated code's LLL rhymes a lot with C/asm or asm/machine code. It feels odd to generate human-oriented text just for machine consumption (but, as you know, it's one of CS's most cherished traditions, along with considering things harmful)
100
Chris Dickinson @neversaw.us · 20/06/2025
(you nerd-sniped me here–) code is a language intended for a human to precisely communicate intent with another human, one whose utterances can (incidentally) be automatically, deterministically interpreted by a certain class of virtual machine
130
Chris Dickinson @neversaw.us · 18/06/2025
Yeah - I guess I'm saying "it doesn't know what isn't written down, and what is written down isn't all there is to know about a system." It even omits writing down its own thought process for its changes. (So "offloading" the mental model of a system to an agent is an easy-but-hazardous pattern)
010
Chris Dickinson @neversaw.us · 17/06/2025
(likewise! I hope you and the fam are doing well ❤️)
010
Chris Dickinson @neversaw.us · 17/06/2025
and when you combine an llm agent’s capacity for sweeping changes with this tendency, there’s a easy hazard of anthromorpizing the agent the agent isn’t a domain expert; it can’t be. it reinvents its understanding of the code from scratch every session
240
Chris Dickinson @neversaw.us · 17/06/2025
put another way, the purpose of code review isn’t really to find bugs, it’s to communicate changes to the system to other team members; & sometimes those changes are large enough that the message is “okay, the person who committed this is now the domain expert on xyz”, …
130
Chris Dickinson @neversaw.us · 17/06/2025
I’m late to the party here, but ideally, the job of a team of programmers is to have a working mental model of the system under their care so that they can adapt it to changing needs; IME, llm agents are really good at typing but are (necessarily!) corrosive to this understanding
130
Chris Dickinson @neversaw.us · 04/06/2025
(this is to say, I agree with the goals — but I don’t know that wasm will act as a meaningful filter in service of those goals)
000
Chris Dickinson @neversaw.us · 04/06/2025
IMO, wasm is becoming the heavyweight, GC’d vm—or at least the substrate for those languages. (CM may also induce demand by making it easier to bundle up components with their own memories and cross-component copying.)
100
Chris Dickinson @neversaw.us · 29/05/2025
I find that I take more issue these days about the perceptions of capability & trustworthiness than I do the actual qualities of LLMs as a class of tool. Like, I’ll reach for them now and again but I know they’re not gonna invalidate what Peter Naur wrote. But it feels like people expect them to?
120
Chris Dickinson @neversaw.us · 28/05/2025
ah, I see – it looks like a CORS issue that affects firefox specifically?
100
Chris Dickinson @neversaw.us · 28/05/2025
just confirmed it on the nodejs/node repo (look at src/node.cc) I, uh, hope they roll that back because that's "look for a new code hosting platform immediately" behavior
100
Chris Dickinson @neversaw.us · 28/05/2025
wow, github truncates file display after 1000 lines now? what a terrible idea!
100
Chris Dickinson @neversaw.us · 28/05/2025
Society isn’t in the habit of drawing a line connecting software engineering/product decisions to large-scale outcomes. (The history is too fresh still, but I’d argue we’re living in our Tacoma Narrows incident after the pivot-to-video killed editorial media and we replaced it with algo feeds)
230
Chris Dickinson @neversaw.us · 11/05/2025
The flip side is that there’s stuff that doesn’t matter quite as much as the adoption: the transport story (jsonrpc over bidi streams) distracts a lot of folks coming in, as does some of the functionality (resources/prompts are underimplemented imo) But big important parts are clicking, like authn.
010
Chris Dickinson @neversaw.us · 11/05/2025
I think if I were to summarize “what’s interesting about MCP” it would be that it there’s a kernel of useful interfaces that a lot of people have agreed to implement— both in client applications and server providers. It started as “close enough to the right thing” that it gained adoption and grew.
120
Chris Dickinson @neversaw.us · 11/05/2025
I’m aware. Statefulness at that layer of the protocol is not necessarily 1:1 with the transport level. (See the HTTP transport. Mcp-session-id is ~a cookie, basically.) Again, mcp’s transports aren’t the interesting part. It seems like you have the impression I am anti-SSE, when I’m saying “mu.”
000
Chris Dickinson @neversaw.us · 11/05/2025
I’m not saying they’re impossible or bad or anything— just an extra thing to navigate. Stateful things require extra care and feeding (and some awareness of statefulness at the cdn and ingress levels.) I’m saying: it’s fine, really. The transport isn’t the thing driving the value anyway.
110
Chris Dickinson @neversaw.us · 10/05/2025
Long lived connections aren’t fun to support any way you slice it, and the newer http transport seems to acknowledge this. (Like, yeah, you *can* return SSE from the POST and GET calls, but… you don’t need to.) The formalization of tool calling, resources, prompts & responses is the valuable bit.
120
Chris Dickinson @neversaw.us · 10/05/2025
Hm, having just had to implement a bunch of this for $dayjob, I wouldn’t say this article is being entirely, uh, fair. (It’s really focused on the transport— which can be swapped out, as we’ve seen.) The focus on oauth makes sense, as it’s the fastest path to interacting w/existing apis.
120
Chris Dickinson @neversaw.us · 24/04/2025
having one of those days where “popping the stack” on my todo list seems to push two new items onto the stack
100
Reposted by Chris Dickinson
A. H. Zakai @kripken.com · 16/04/2025
JSPI, the wasm JavaScript Promise Integration proposal, is now at phase 4: github.com/WebAssembly/... That means it is considered fully standardized. JSPI lets wasm call JS APIs that return a Promise. The wasm awaits it. It is still behind a flag in most browsers, but hopefully not for long!
github.com
Move JSPI to phase 4 by tlively · Pull Request #207 · WebAssembly/proposals
We voted this to phase 4 at the April 8, 2025 meeting.
13213
Chris Dickinson @neversaw.us · 09/04/2025
(but again, peter naur comes knocking on the door shortly after the code is generated.)
010
Chris Dickinson @neversaw.us · 09/04/2025
It excels at “first hour of the rails rumble/django dash” tasks— chewing through initial boilerplate. It doesn’t produce a program with any coherent theory and it really struggles to pick up existing theory. (It’s also okay at taking RFC spec language and translating it into 1st draft code.)
110
Chris Dickinson @neversaw.us · 09/04/2025
The absolute best AI coding has done for me is to take an existing, stubbed-out file with comments along with a postgres schema, and produce a quick first draft set of handlers and tests (in Node and TS.) In all cases, however, I spent significant time refactoring after the fact.
110
Chris Dickinson @neversaw.us · 03/04/2025
huh when i open up my 401k website it just starts playing wiz khalifa’s “see you again”, is this normal
000
Chris Dickinson @neversaw.us · 01/04/2025
yes, and I would add: it's a feedback loop from your head to your arm to the medium and _back_ to your head through your senses – which presents a million little decisions, a million little mistakes, and a million ways to react to them and learn if this loop doesn't exist, growth isn't possible
120
Chris Dickinson @neversaw.us · 25/03/2025
well, I just caught up on the news and: jfc
100
Chris Dickinson @neversaw.us · 06/03/2025
the video perfectly captured my reaction to watching the video
the ai-overlaid image of the king from the wand of gamelon laughing. it is unhinged
110