Sign in

garrison

@garrison.corporate.fm
557 followers 504 following 5.3K posts
PostsRepliesMedia
garrison @garrison.corporate.fm · 27/09/2026
likewise ai "art" with a heavy impressionistic style is pretty much impossible to spot at first glance
010
garrison @garrison.corporate.fm · 27/09/2026
I 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/2026
I 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/2026
this paper is really good "The Implementation of Lua 5.0" www.lua.org/doc/jucs05.pdf
lua.org
162
garrison @garrison.corporate.fm · 27/09/2026
kyju.org/blog/piccolo...
kyju.org
kyju.org
000
garrison @garrison.corporate.fm · 27/09/2026
5-hour NVIDIA
010
garrison @garrison.corporate.fm · 27/09/2026
wait till you find out whose fault it was www.holistics.io/blog/quel-vs...
holistics.io
A Short Story About SQL’s Biggest Rival
A short story about SQL's better rival: Michael Stonebraker's storied query language, QUEL.
130
garrison @garrison.corporate.fm · 26/09/2026
in fact, while we're on the subject, have another one www.scattered-thoughts.net/writing/agai...
scattered-thoughts.net
Against SQL
120
garrison @garrison.corporate.fm · 26/09/2026
html+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/2026
declarative 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/2026
a 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/2026
I 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/2026
you should read acko.net/blog/climbin...
acko.net
Climbing Mount Effect
Let's actually whiteboard some code.
010
garrison @garrison.corporate.fm · 26/09/2026
reflexively 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/2026
skill issue tangled.org/corporate.fm...
010
garrison @garrison.corporate.fm · 26/09/2026
react 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/2026
yes, 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/2026
in 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/2026
to 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/2026
I 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/2026
it'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/2026
but 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/2026
I'll defer my answer to acko.net/blog/html-is...
acko.net
HTML is Dead, Long Live HTML
Rethinking DOM from first principles
240
garrison @garrison.corporate.fm · 26/09/2026
the 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/2026
this 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/2026
yes 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/2026
that'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/2026
imo 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/2026
even 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/2026
you do not need a retained dom at all, it's not essential for anything
120
garrison @garrison.corporate.fm · 26/09/2026
this 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/2026
watch @andypavlo.bsky.social's courses
110
Reposted by garrison
Grace @gracekind.net · 26/09/2026
Cartesian productivity theater
0461
garrison @garrison.corporate.fm · 26/09/2026
> the everything Flap
120
garrison @garrison.corporate.fm · 26/09/2026
confirming what we've known all along (researchers are not human)
060
garrison @garrison.corporate.fm · 26/09/2026
unless you want git compatibility specifically you'd be better off implementing versioning on atproto
020
garrison @garrison.corporate.fm · 26/09/2026
tangled is a git host with atproto features, you would probably want to use atproto directly for this
130
garrison @garrison.corporate.fm · 26/09/2026
if 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/2026
first time I've seen one of these [model hype videos] for [an actual project]
130
garrison @garrison.corporate.fm · 26/09/2026
my 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/2026
first time I've seen one of these for something real
120
garrison @garrison.corporate.fm · 26/09/2026
the 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/2026
did: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/2026
what 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/2026
it 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/2026
@crumb.bsky.social get on it
020
garrison @garrison.corporate.fm · 26/09/2026
paperclip GAN trained adversarially to output the ideal quantity of paperclips
160
garrison @garrison.corporate.fm · 26/09/2026
makes for good cyberpunk though
000