Chris Dickinson @neversaw.us · 14/09/2026to 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/2026Thought-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 · 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 DickinsonRev. Dr. Derek M Ballard PhD @derekmballard.bsky.social · 18/10/2025ideas got power 110021
Chris Dickinson @neversaw.us · 10/09/2025gen 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/2025hard 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/2025I 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/2025the 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/2025then 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/2025honestly, 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/2025a 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/2025which discord group is this? (without being a member discord seems to refuse to display the thread) 100
Chris Dickinson @neversaw.us · 01/08/2025I 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/2025I 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 DickinsonRobert Black @hurricanexyz.bsky.social · 22/06/2025I 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/2025So 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/2025We'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/2025From 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/2025Yeah - 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/2025and 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/2025put 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/2025I’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/2025IMO, 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/2025I 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/2025ah, I see – it looks like a CORS issue that affects firefox specifically? 100
Chris Dickinson @neversaw.us · 28/05/2025just 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/2025wow, github truncates file display after 1000 lines now? what a terrible idea! 100
Chris Dickinson @neversaw.us · 28/05/2025Society 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/2025The 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/2025I 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/2025I’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/2025I’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/2025Long 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/2025Hm, 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/2025having 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 DickinsonA. H. Zakai @kripken.com · 16/04/2025JSPI, 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.comMove JSPI to phase 4 by tlively · Pull Request #207 · WebAssembly/proposalsWe 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/2025It 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/2025The 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/2025huh 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/2025yes, 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 · 06/03/2025the video perfectly captured my reaction to watching the video 110