Community
Chat Logs
Tuesday, June 2, 2026
- * jreicher joined #primate
- * jreicher joined #primate
- * phaleth joined #primate
- * phaleth joined #primate
- bluephaleth: hi
- bluedid you hear the news?
- phalethhi blue
- bluebtw, I used the two commands you gave me, and I can't update the website
- phalethFreeBSD should work on my PC?
- blue356520dbded0 localhost/primate-site-runtime:latest deno --allow-env ... 5 minutes ago Up 5 minutes 127.0.0.1:24430->6161/tcp 000000-primate-site-runtime
- blue7f5425307900 localhost/primate-site-runtime:latest deno --allow-env ... About a minute ago Up About a minute 127.0.0.1:24431->6161/tcp 000000-primate-site-runtime-2
- blueI guess we're using primate-site-runtime and I'm updating the wrong container?
- phalethI just updated the website 5 mins ago
- blueyeah but I had a new commit pusehd out like 3 mins ago
- bluewith entrypoint docs
- phalethyeah, I dropped the -2 from those commands
- blueoh ok
- bluelet me rerun it without the -2
- blueand also remove the -2 container
- bluedid anything else change?
- phalethok
- blueany port?
- phalethI'll observe :D
- phalethhmm, actually port and IP addrress also changes
- blueoh, 24430 instead of 31
- phaleththe doc is in the provision repo at podman/deployments/primate-site.md
- phalethso what's the news
- phalethhas podman fixed the oci_runtime flag for the REST API?
- phalethnope, the fix is not in stable version
- blueok, redeployed, looking good
- bluehttps://primate.run/blog/primate-039#client-entrypoints
- blueanyway, for the news
- phalethFreeBSD 15.1 also isn't out as stable yet
- bluebun 1.3.14 will be the last bun zig version
- bluethe clanker rewrite has been merged, bun is now fully vapourware
- phalethyeah, that I know
- phalethdrop bun support?
- blue"probably most of this is going to be thrown away" - sumner
- bluegosh I hate that guy
- bluewe're not going to drop bun support, but we have to push harder for flog
- blueI think the dog implementation will be postponed, and I'll start with a flog version that's based on qjs
- phalethyeah, but we still have primate website optimizations to do
- phalethand so we can do repopack website then
- bluereoppack web is coming along pretty well
- bluethe point is, we can't rely on bun
- blueit's full throttle vapourware
- phalethdon't worry about all these garbage JS runtimes, if one of them does not work well we switch and that's what we did a few times already
- bluedon't tell me you can just clankerrewrite that entire codebase and say you're bugfree just because you switched to rust, which is practically the worst programming language on planet earth
- blueyes I know, but we can only do that because it's primate
- bluethe rest of the ecosystem needs a hero, and it's not going to be bun
- phalethSumner was told many times he's irresponsible
- bluebesides, I've been itching to write "std:" imports for a while
- blueyes
- blueso the order of business is now, we get repopack to work, and then we streamline projects ON repopack itself
- blueand gradually move away completely from github
- bluedreamreal: isn't the clankerrewrite news for bytenews?
- bluebtw I think crosscompiling on flog could be nice, because the binary will be so small
- bluelast time I did it in c, the binary was 2.1MB
- phalethdropping 1m lines of code is just beyond dumb
- bluekinda makes you wonder why modern runtimes need to be 100MB in size
- blueoh yeah, 100%
- blueso now sumner got his new toy, opus, and he's just wreaking havoc with it
- bluewhich is absolutely pity because bun had potential
- blueuntil he decided he needs to optimise `new Response(null)`
- bluethis guy, I swear... ridiculous
- bluehttps://github.com/mason-org/mason-registry/pull/15293
- nevetAdd marko-language-server by terrablue · Pull Request #15293 · mason-org/mason-registry
- blueI PR'd the mason team to add marko
- blueI asked on marko's discord server and no one wanted to do it
- blueanyway
- blueare we done with website optimisations for now until we have a static target, or is there anything else you wanna do?
- phalethyeah, well, for primate website it does not matter so much, but I think for a bigger web app code splitting per route should help greatly
- phaletheven for primate website code splitting per route should help, client side
- bluewell I intend to move repopack/web to marko
- bluenot right now, but as a longer term thing
- phalethbut the thing is that there is this root of the component tree hidden deep in primate
- phalethand so there is no control over what some call lazy components, not sure if marko has those
- phalethin other words, for primate website there are 4 routes essentially
- phalethfrontpage, docs, guides, blogs
- phalethfrontpage also has guides so it's like combined, but the code is loaded all together in the app bundle also for docs and blogs
- phalethand I know it's a SPA and there are rendering strategies and whatnot
- blueyou want a different bundle for each one of them?
- phalethbut just imagine this approach on a huge app
- bluebut then you need to postload components and it's a dumpster fire
- phalethyeah, postload components
- phalethI mean codesplit the tree essentially
- phalethor it's branches
- bluethat's what chunking does, and I'm not sure it's worth the complexity. maybe for a larger app
- phalethjust docs and blogs are the two branches loaded lazily
- dreamrealblue: what?
- phalethwell if you have an idea how to do that then it'd be great to test it on the primate website, but what I'm saying is that it should be done in controlled fashion, not just blind split per route
- phalethlike the developer, or in otherwords the person using the framework has to tell, ok this is not really a frontpage branch of component, lets load that lazily
- bluephaleth: the sensible way would be to accept routes in entrypoints, in config/app.ts
- blueis that what you're going for?
- phalethso I'm saying MPA > SPA for large app and also take a look at what gitea is doing, the vue part of gitea is much smaller than handlerbars
- bluenot really sure what gitea is doing in terms of js though
- bluedreamreal: bun has been clankerrewritten in rust, that is worthy news for bytenews
- phalethyeah, splitting the huge tree into multiple trees is the way to go, so entrypoints is a good approach
- phalethbut they are used in the app.html, not per route
- phalethcurrently
- dreamrealblue: yeah, I saw that, but wasn't sure how to write it up: I'm not really bun-aware, so writing out of ignorance felt stupid
- bluephaleth: we have options
- bluethe main question we need to clarify is, do we go per route or per view
- blueI suppose view hits it better, since we're talking about clientside?
- phalethoh, sorry, I mean per view or per template or per page
- phalethjust imagine a very simple example, repopack has admin area, which is involved, should bloat the JS bundle quite a bit cause of forms and tables and maybe graphs and whatnot, but majority of visitors are not admin
- phaleththat means MPA is teh correct approach and that's what gitea is going for
- blueya
- dreamrealblue: my thought is: someone who groks bun and the ecosystem is a better person to write it up: otherwise *I* am going to have to defer to a clanker to actually contribute "insight" or else it's just "oh bun's rewritten in rust, good luck out there"
- bluedreamreal: the heuristics here are, do you believe a clanker can drop a >1m LOC commit of essentially rewriting your code from somehwat complex language to a terribly complex language, and come out scot free?
- bluebecause if this answers goes lim(0), then bun is vapourware
- blueanswer*
- * dreamreal ponders how to write that well
- dreamrealthere're actually a LOT of things queued up in part for BCN, work is having a release and my time's been slammed for actual paying gigs
- dreamrealand an OLD paying gig called me up this morning and said "heyyyyyy don't you wanna do THIS again?"
- bluephaleth: I have an idea, hear me out, it's controverisal
- dreamrealI've been having a lot of arguments over ontologies and definitions at work :/
- bluecontroversial, even, if I could type
- bluewe map route groups to chunks
- phalethalright
- blueso if you want routes/docs.ts to become a chunk of its own, we do something like routes/(docs)/docs.ts
- bluenext & friends just create a chunk for each route which is uniquely terrible
- bluewe don't want that
- bluebut route groups are good for that, I would think
- bluedreamreal: ontologies often masquerade as bikeshedding!
- phalethwell, the thing is to give the developer the responsiblity, if they split too much then there will overall be more JS than needed
- dreamrealI'm sure they do, but there's a meaningful difference between attribution scanning and attribute scanning
- bluephaleth: with route groups, you give the dev the responsibility. route groups do not participate in routing per se, but they create virtual partitions where you can put a separate +layout.ts etc.
- dreamreal#java had a long discussion about schema vs ontologies not too long ago
- phalethok
- blueand also, dreamreal, I've discovered that terminology really doesn't matter a whole lot as long as everyone understands what you're talking about. my math prof used to say that, I should've listened
- dreamrealblue: ... says the guy who corrects "controversial" in IRC, eh
- blueyes
- phalethdreamreal: do you know any other JS runtime or a bundler? then you do know the terms
- dreamrealand you're not wrong; communication is more than correctness. But in our case, what they actually want is attribution scanning while doing nothing to create the circumstances in which it can happen
- bluelike take the term 'associative array' in PHP. everybody hates it, python calls it dict, js calls it map and object, ruby calls it hash, it's also generally known as hashmap
- dreamrealphaleth: not a bundler her, I'm familiar with node, bun, and a LITTLE of deno, I'm not really a JS developer
- bluebut it's the damn same thing
- phalethbundler is also trying to be a sort of HTTP API framework dealing with databases
- dreamrealBBIAF
- blueso phaleth, what's your take on abusing route groups for that
- blueis that wise
- phalethI'm not aware of route groups, but if that works, also the filepath routes/(docs)/docs.ts seems weird
- blueit's not a thing yet
- phalethI mean bun, not bundler :s
- phalethok :D
- bluehttps://github.com/primate-run/primate/issues/257
- nevetProposal: Virtual route groups · Issue #257 · primate-run/primate
- blueit's described here
- blueI think we might need though to deprecate strings in response.view, for that
- blueimport SomeView from "#view/SomeView"; ... ; return response.view(SomeView); // statisically analysable
- bluereturn response.view("SomeView.svelte"); // need to call the handler, and even then, you can't be sure the path will be taken
- blueyou get what I'm saying? if we want to partition by routes -- which is the sane choice -- we need to get rid of strings in response.view
- bluestatically*
- blueI've been eyeing deprecating strings in response.view for a while now
- phalethI like the term partition and also the term chunk
- phalethor subset
- phalethbut group does not necessarily mean part or portion of something
- phalethso the term group is confusing
- phalethalso instead of the term virtual would be better to use calculated or dynamic or non-resource-specific
- blueI don't really care how we call it
- phalethbut I guess virtual is also understandable
- bluethe question is whether they should be used for chunking
- phalethif it's technically possible then sure
- bluebecause you're lumping together things like +layout etc. so you're kinda naturally making a miniapp out of it, so MPA
- blueit's technically only possible if we deprecate strings in response.view
- phalethyeah, like a branch of the whole
- blueyeah
- phalethI think it's not a problem to just do breaking changes
- phalethno need to deprecate
- phalethyou can think differently once you have 1m of code :)
- blueyeah, just break
- dreamrealblue: I'm still thinking about what you said about the conversion. isn't that what comprehensive test suites are for?
- dreamrealand it SORT of is, but it doesn't actually address the problem. Dang it.
- dreamrealblue: you there?
- bluedreamreal: yes, now
- bluedreamreal: to my knowledge, the clanker busted the test suite during the conversion
- dreamrealIt didn't from what I understand. You're on google docs, yeah?
- blueyes. the thing is, it's easy, if albeit a bit conspiratorial, to map this as PR by anthropic. the thing is, they've been doing these PR gags ALL the time recently, so it's hard to not see a pattern
- dreamrealCheck the draft, pls
- blueall this, we think claude is alive, it has feelings, blablabla
- blueit fits the pattern, that's the problem. the nonsense PR pattern
- dreamrealpffft I don't think any LLM has feewings
- dreamrealplease don't read this, siri
- blueit doesn't matter what you think, it matters those idiots out there who believe in this nonsense keep up the conversation and talk about anthropic
- dreamrealI know :D
- bluedid you send me a link somewhere
- blueoh, discord
- dreamrealblue: how large is bun's executable? Do you have it installed? can you ls -l it?
- bluedreamreal: 92752752 bytes
- dreamrealis that the rust or the zig version?
- bluethat would be the last zig version, to my knowledge
- bluethe rust version is the next one
- dreamrealThis was in fact inspired by your conversation point here
- dreamrealFWIW
- dreamrealand it's really annoying that *I* wrote it when it's got your fingerprints on it
- dreamrealthoughts? concepts? observations?
- bluedreamreal: sorry, wife stuff, now back
- dreamreallike THAT's important geez
- blue:P
- dreamrealsome people - SOME people - need priorities
- blueha
- blueI'm gonna finish reading it, it looks good so far. And yeah, it's ok it's got my fingerprints on it: but you're the writer. I actually pretty much hate technical writing because I'm bad at it
- dreamrealnot pointing any fingers or anything, obv
- dreamrealThis isn't technical writing. But the point is: I don't like claiming credit when it's not deserved
- dreamrealand this definitely has your fingerprints on it and you deserve credit for it, but I can't really say "this was someone else's thought" without being able to cite it properly. The Todd Smith reference is like that and I'm considering yanking that because that was a private conversation
- blueconceptualise it this way: *I* the idiot french complaining about how my country sucks and I have no freedoms. YOU are the brit who actually took a boat to sail across the pond, so make of it what you will
- blueI am*
- dreamrealwell, I guess, but even so
- blueif I can contribute ideas, that's *still* better than nothing
- dreamrealtikkun olam in motion, yes, but the workman is worth his hire, as the saying goes
- bluewell, you've published me and my stuff on BCN, that's enough for me to give a bit back
- dreamrealPffft, that's not the right metric
- dreamrealthe thing is: you had a good point to make. I disagree with part of it - I think I'm more neutral in evaluation than you are - but that's not the point
- blueyes but most of my points are not publishable, anyway. this is because I make an effort to present them in the most unforgiving way, which is technically not how you do journalism
- dreamrealI'm actually not especially impressed by the bun port
- blueunless you're the nyt, obv
- dreamrealI think the NYT is busy abandoning journalism
- dreamrealthey want clicks too badly
- blueyes
- blueit's SUPER cynical to present it this way, but I *do* think sumner is a drifter. there is nothing in bun's history he has done that made me convinced otherwise. he's not concerned with ecosystem health, he's concerned with moving fast, breaking stuff and making money, leading a trail of destruction behind it. that's why it's SO hard to see this port through faithful eyes
- blues/drifter/grifter/
- dreamrealI have a journalistic commitment to avoid saying that out loud, though
- dreamrealI totally understand the sentiment
- blueand I understand that
- dreamrealI had to wrestle with talking about bluesky's firehose
- dreamrealwhich ... maybe I'm not a great journalist, I've never claimed to be one, but I struggle to point damning fingers unless it's really clear that it's deserved
- bluethis is the problem, right. the guy is competent, not a fool. so he wouldn't step in the manure in a way that could provably say he's a grifter. those are the worst apples to deal with, in my experience
- blueand bun HAS done a few good things, that's the problem, as well
- bluenot in bun, in the ecosystem -- it forced node's hands in supporting ts as a first-class citizen
- dreamrealI have never seen bun as being viable for me personally
- blueit also forced node to support cjs and esm in conjunction, which node had claimed for years was impossible
- dreamrealthe changes from node were always a porting issue, and the license also made me think "is it asking me for money? WILL it ask me for money?" -- I don't mind such things but it was never made clear to me
- blueso it did good in raising the stakes for node, through its endless hype
- bluebut all the rest is just... scrotched earth
- bluescorched, even
- dreamrealyeah, well, anthropic seems like the best outcome for it but porting to rust feels very... lateral, esp given the approach
- blueand don't get me wrong, there's absolutely nothing wrong in wanting to make good or big bucks, I'm all for it. but his way about it is damaging for the ecosystem
- blueit created even more divergence, forced more repetition of code instead of unifying or at least presending a unifying path for js runtimes
- bluepresenting*
- dreamrealwell, that's bun altogether
- dreamrealit's always felt like churn
- blueand also, the scope is unrealistically big. there's no reason bun should include a filesystem router
- dreamrealwhen it first came out i was working on a product that delivered on node: you'd think bun would have been *awesome* for us
- bluethat's user land
- blueya
- bluefilesystem routers are *not* general purpose js or even programming tools
- dreamrealwe evaluated it but there was so much lack of clarity and direction we shrugged and stayed on node
- blueya
- bluedreamreal: so I don't wanna be priding myself too much here, but one of the advantages of primate that we can simply switch seamlessly. we used to have the primate website on node, then bun, now it's deno, which it has proven very stable and low on the memory footprint
- blueis that*
- dreamrealOh, I totally get it
- bluedreamreal: re the article. this also boils down to a discussion we had about an ai idea I had: give it a test suite and force it to write the implementation. it's a chicken-and-egg problem, because a test suite cannot prove more than external behaviour, and clankers tend to totally fake impls in a way that they would simply pass, by hardcoding stuff
- dreamrealyep
- dreamrealWhen I use LLMs I actually review what the hell is going on
- dreamrealthey can be amazingly lazy
- blueterribly so
- dreamrealI have rules: no mocks, vary inputs and outputs, SHOW ME THE DAMN CODE
- bluethis is where *intent* comes. they lack that concept, so they will take things at face value. the test tests that 2 + 2 = 4 can be easily just work with an impl that accepts only these two inputs
- bluecomes in, even