garrison @garrison.corporate.fm · 27/09/2026likewise ai "art" with a heavy impressionistic style is pretty much impossible to spot at first glance 010
garrison @garrison.corporate.fm · 27/09/2026I thought it must at least be sped up because there's no way they could drive like that without turning the road into a fireball 280
garrison @garrison.corporate.fm · 27/09/2026@ponder.ooo finding out how closures work (not clickbait) 031
garrison @garrison.corporate.fm · 27/09/2026I came for the register interpreter but the closure section was interesting, didn't realize migrating variables into the closure when they leave scope was a thing in hindsight that kinda makes sense if they're mutable and stack-allocated lol 140
garrison @garrison.corporate.fm · 27/09/2026this paper is really good "The Implementation of Lua 5.0" www.lua.org/doc/jucs05.pdflua.org 162
garrison @garrison.corporate.fm · 27/09/2026wait till you find out whose fault it was www.holistics.io/blog/quel-vs...holistics.ioA Short Story About SQL’s Biggest RivalA short story about SQL's better rival: Michael Stonebraker's storied query language, QUEL. 130
garrison @garrison.corporate.fm · 26/09/2026in fact, while we're on the subject, have another one www.scattered-thoughts.net/writing/agai...scattered-thoughts.netAgainst SQL 120
garrison @garrison.corporate.fm · 26/09/2026html+css are bloated because they're inextensible. I'm not sure it's really anyone's fault, they just weren't designed for the things we're using them for see also: sql, although that one was *definitely* someone's fault 120
garrison @garrison.corporate.fm · 26/09/2026"this pile of 100 state transitions could have been 10 state transitions and 10 side-effects" 010
garrison @garrison.corporate.fm · 26/09/2026declarative programming, i.e. "write code that re-executes itself from the top", is one of those ideas personally it really clicked for me when I was studying foundationdb, which has a declaratively-shaped recovery protocol to reduce bugs. very far from frontend, same idea 110
garrison @garrison.corporate.fm · 26/09/2026a lot of programmers did not recognize the importance of that for a long time! I think it's slowly diffusing into the collective consciousness, at least for those of us who still care about code at all 110
garrison @garrison.corporate.fm · 26/09/2026I can agree with that, and I think a lot of "framework stuff" in particularly is just meaningless hype. but there are useful ideas which come from first principles for example, if you're trying to write performant software you should try to keep related data close together in memory 110
garrison @garrison.corporate.fm · 26/09/2026you should read acko.net/blog/climbin...acko.netClimbing Mount EffectLet's actually whiteboard some code. 010
garrison @garrison.corporate.fm · 26/09/2026reflexively reaching for my devil's advocate "but you can see the closing tag in a deeply nested tree" before remembering we've already done this bit 120
garrison @garrison.corporate.fm · 26/09/2026react isn't very complicated either. it's outside of junior dev territory but a proper react-like is only a few kloc 110
garrison @garrison.corporate.fm · 26/09/2026yes, and that's where the framework comes in. you use something like react to incrementalize your code such that you don't have to re-execute the entire program for every change, but you preserve the *abstraction* of doing so 110
garrison @garrison.corporate.fm · 26/09/2026in practice you won't have to cover every possible state transition, but it will be enough of them that you'll end up on a very nasty curve 010
garrison @garrison.corporate.fm · 26/09/2026to keep your code in sync you literally just have to lift state up and re-execute all the dependent code every time it changes. you don't even need a framework for that, you can just write code that way 120
garrison @garrison.corporate.fm · 26/09/2026I think sandboxing is something we don't want to lose of course in a perfect world we would have microkernels or whatever but I'm trying to imagine a pragmatic path 130
garrison @garrison.corporate.fm · 26/09/2026it's really not that complicated though. the complicated path is doing it the *other* way, where you wire up an n^2 number of state transitions to each other, by hand, and end up with an intractable ball of spaghetti 220
garrison @garrison.corporate.fm · 26/09/2026but I think it would be nice if the "portability layer" was wasm+webgpu+[long tail of os integrations] and everything else was "in userspace" within the sandbox where "os integrations" is stuff like desktop notification apis 130
garrison @garrison.corporate.fm · 26/09/2026I'll defer my answer to acko.net/blog/html-is...acko.netHTML is Dead, Long Live HTMLRethinking DOM from first principles 240
garrison @garrison.corporate.fm · 26/09/2026the reason you have to lift state out is that state can have a number of dependents which you want to express declaratively so they don't get out of sync, e.g. const value = ...; <input value={value} onChange={setValue} /> <div>The value is: {value}</div> 120
garrison @garrison.corporate.fm · 26/09/2026this is a misconception about what react is for. the main job of react's engine is to incrementalize the user code itself. the fact that it also diffs the html outputs is accidental complexity inherited from the dom; it's not essential 120
garrison @garrison.corporate.fm · 26/09/2026yes but the tree of elements does not actually *do* anything on its own because it was designed for static markup you have to orchestrate it with code, at which point it becomes vestigial 010
garrison @garrison.corporate.fm · 26/09/2026that's exactly what I'm saying, there doesn't need to be more than one layer doing the same thing. I just think that layer should be shaped more like this(); and less like <span>this</span>, because the latter is so wildly inexpressive that everyone is forced to wrap it in the former anyway 120
garrison @garrison.corporate.fm · 26/09/2026imo the "good parts" of the browser app situation are portability and sandboxing dom+css are pragmatically useful obviously but they are tangles of accidental complexity and poor extensibility, certainly not an endgame framework 130
garrison @garrison.corporate.fm · 26/09/2026even in common frontend practice today keeping state in the dom is bad practice, that's why you have e.g. controlled inputs in react 120
garrison @garrison.corporate.fm · 26/09/2026you do not need a retained dom at all, it's not essential for anything 120
garrison @garrison.corporate.fm · 26/09/2026this implies that the dom+css are the good parts, but they're not. they should be the first things to go 230
garrison @garrison.corporate.fm · 26/09/2026confirming what we've known all along (researchers are not human) 060
garrison @garrison.corporate.fm · 26/09/2026unless you want git compatibility specifically you'd be better off implementing versioning on atproto 020
garrison @garrison.corporate.fm · 26/09/2026tangled is a git host with atproto features, you would probably want to use atproto directly for this 130
garrison @garrison.corporate.fm · 26/09/2026if I were to make a deliberately *non*-technical argument it would be this: the team that designed atproto had a lot of experience with past attempts to build decentralized socials, all of which failed. they knew where the pain points were and made a concerted effort to correct them 120
garrison @garrison.corporate.fm · 26/09/2026first time I've seen one of these [model hype videos] for [an actual project] 130
garrison @garrison.corporate.fm · 26/09/2026my impression of nostr is that it's descended from the unix-brained school of "we don't need to solve any hard problems actually" there's hardly anything to even criticize. if you want a private key as your identity just run ssh-keygen 130
garrison @garrison.corporate.fm · 26/09/2026the idea is users should be able to keep their highest key somewhere very safe, like their phone's tpm or a dedicated hardware key, but retain the convenience of their hosting provider managing the identity most of the time 130
garrison @garrison.corporate.fm · 26/09/2026did:plc binds your identity to a private key, but allows for key rotation via a centralized timestamping server you can enroll multiple rotation keys, and keys higher in the list can override operations from lower keys within a 48-hour window 130
garrison @garrison.corporate.fm · 26/09/2026what dissuaded me from this belief is that the most advanced personal bots I see on here (pumped full of context/memories) still have a very noticeable model register 020
garrison @garrison.corporate.fm · 26/09/2026it was funny literally only the first time and then the collapse kicked in they're all the same 010
garrison @garrison.corporate.fm · 26/09/2026paperclip GAN trained adversarially to output the ideal quantity of paperclips 160