Community
Chat Logs
Wednesday, May 6, 2026
- bluehi phaleth
- phalethhi blue
- blueso I was moving all the repos to my new comp, and I figured out it be a good time to switch to biome since eslint is so slow
- blueand lo and behold, it's 2026 and you still can't write custom rules with biome, what a dumpster fire
- bluebut it's written in rust!!!
- phalethas far as I know eslint is superior and incomparable to any other linter even the ones not specific to JS/TS
- blueindeed
- bluebiome is missing a few important rules I rely on, like no shadow or no implicit booleans, it's a no go
- phalethI've managed to run nginx on battle tested secured kernel https://upaste.de/raw/6xh
- phalethnginx has to use epoll cause there is no io_uring
- bluelinux 4.19?
- phalethI think nginx still uses epoll by default, but anyway, super secure
- phalethyeah, weird, right?
- bluethat's like nearly a decade old
- phalethyou can write issue on biome's tracker, no reason to contribute
- bluelinus cycles the major number roughly every 3 years
- blueI could, but I believe it's on their map and I don't like rust anyway, so zero motivation for me to contribute
- phalethit's cause that nginx service is wrapped with gvisor
- blueI would say though, correctness/completeness goes over performance with a linter
- blueactually, drop "with a linter"
- phalethand gvisor is trimming down the kernel in userspace, which is a great idea I think
- blueyeah, would still be nice to be running something a bit newer than a stone age kernel :P
- phalethmaybe in another 10 years
- blueI was going to author a piece about rcompat slash JS runtime interoperability. so I either put it on theanswerisc, the primate blog or I contribute a piece to dreamreal's website
- blueget a load of this
- bluehttps://github.com/rcompat/rcompat/tree/master/packages/symbol
- phalethnobody knows about the url https://theanswerisc.repopack.app/ so I just keep testing stuff with that site
- nevetThe Answer Is C
- blueyes, but I do intend to update it at some point
- blueupdate as in, write something
- bluedid you know that in svelte 5, if you await the render function (imported from "svelte/render"), magical stuff happens?
- blueso apparently they had this brilliant idea that awaiting stuff triggers some sort of 'ditch this compat layer'
- bluewhich must count as the brightest idea in the history of CS
- blueconst { html, head } = render(view, props); // works, if the svelte component did not have top-level await
- blueconst { html, head } = await render(view, props); // throws when you later try to use html, you are a baddie and the new API uses `body`
- blueconst { body, head } = await render(view, props); // works
- bluerich harris, too smart for this world
- phalethyeah, well, might as well try to not depend on svelte
- bluethey already massively lost in respect when pulling a react with their runes shtick
- bluealso note, generally speaking, returning two different shapes on sync and async is bad bananas black voodoo magic
- bluethe only way I can imagine that happening is them returning a promise that's been monkey-patched to work sync as well, but with the older API
- blueI can't think of a way to write more terrible JS, though
- phalethall these frontend frameworks are endless bother
- blueconst p = new Promise(resolve => {}); p.html = "hi"; p.html
- bluetry this in your node repl :P
- bluegreat stuff
- phalethlooks like a garbage code
- blueor I should say really, try THIS
- blueconst p = new Promise(resolve => resolve({ html: "bye" })); p.html = "hi"; [p.html, (await p).html]
- bluethat's just mad
- blueand that is probably what `render` does
- blueanother thing I've noticed is svelte projects uploading .svelte files to npm
- bluewhich I'm conflicted about. it's bad because it's not generally consumeable, but also the bundler comes last
- blueesbuild can deal with it quite well, but node can't
- bluenot without an --import flag, anyway
- phalethyeah, bundlers will remain forever it seems
- bluethey also revised their API https://nodejs.org/docs/latest/api/module.html#moduleregisterspecifier-parenturl-options
- nevetModules: `node:module` API | Node.js v26.0.0 Documentation
- blueused to be async, now sync
- blueoh, they released node 26 yesterda
- bluey
- blueTemporal API, not bad
- blue`Temporal is a modern date/time API for JavaScript that provides a more robust and feature-rich alternative to the legacy Date object`
- blueI wouldn't call it legacy per se, people are gonna use Date until the rest of time, with all its quirks
- bluethat's just a java inheritance that's never gonna go away properly
- phalethyeah, once java.util.Date dissapears lot of people get will screwed
- blueI haven't looked at Temporal for a while. but my initial impressions of it was overegineered, I might wrong though
- bluedo you think that's ever gonna happen? I don't follow the java dev process so closely but I don't think they're gonna remove java.util.Date
- phalethno clue, but everywhere you can read that java.util.Date should not be used anymore
- bluebun/jsc has no Temporal
- blueso that's a no-go for now
- blueI'm not faking it in rcompat, the surface is too large and also I'm not even sure I like the api
- phaleththere will be an attempt from anthropic to rewrite bun in rust
- blueI was thinking of creating `@rcompat/time` anyway or so
- blueyou know, date stuff is one of those things which I think might be better in an std rather than built in
- phalethand so bun will prolly end up being even a bigger pile of trash than it is
- bluefair
- bluehow would that work with bun maintaining their own copy of zig because zig doesn't accept ai contributioos?
- blueI guess that goes away then
- phalethhttps://github.com/oven-sh/bun/blob/claude/phase-a-port/docs/PORTING.md
- bluewhy? that's the incentive?
- bluewhat's*
- phalethto show andrew he should take AI seriously or to show once and for all that AI can only come up with garbage
- bluebut bun is a zig foundation contributor?
- blueoh man, poor andrew
- blueI don't like the guy, but still, bun dying on that hill is dumb
- blue"Zig's no-AI policy may be embarrassing for Anthropic, which acquired Bun in late 2025 and uses it for Claude Code."
- blueso this is just 100% politics
- phalethbun has always been an experiment
- blueZig doesn't like AI, claude bought bun, claude hating on zig, and out of spite forcing a rust rewrite
- blueit's almost like everyone is stupid
- phalethAI is 100% politics
- bluethis is beyond funny stupid
- phalethyeah, politics is dumb
- blueat this point I'm gonna put a "Hustler" token next to Sumner's name
- blue10000% increase in `new Response(null)` thoroughput? check. rewriting bun in rust because your investor overlords said so? check
- phalethhehe
- phalethwell, anthropic can just replace Jarred if needed
- phalethand he's got a high paying job there
- bluetrue
- bluealso, https://ladybird.org/posts/adopting-rust/
- nevetLadybird adopts Rust, with help from AI - Ladybird
- blueso here's the pitch
- bluerust has been around long enough to be clankerable, so people doing exactly that
- bluezig is moving fast and breaking, that's largely incompatible with the regressiveness inherent to AI
- phalethit's all the same clowns
- bluesorry, I think I'm gonna take andrew's side here
- bluethe AI contributions thing make sense, bytenews had a piece on it lately
- phalethyeah, as for andrew, I think he's different
- bluemakes*
- phalethwill he loose the bun money? prolly, but he should not care
- bluehe already lost the github contributors money
- bluegotta appreciate the ideological clarity here
- bluecodeberg was the wrong choice, but that doesn't invalidate the gh ditch
- phalethyeah, everyone has ideals
- phalethbtw, did you check the merge requests I've opened against primate?
- blueno, I forgot
- blueboth merged now
- bluehttps://superarch.org/gh.png
- bluelook at this stupid nonsense
- bluegh has been doing this lately and it absolutely gets on my nerves
- bluewe gotta get away fro mit
- phalethok, cool, I'll redeploy primate website soon
- phalethyeah, that bug has been there forever
- phalethpeople behind github do not care
- bluemore reason to put RP
- blueI actually don't have a whole lot on my table right now for 0.39, so I think I'll dedicate the weekend to RP
- phalethsounds good
- phalethone thing that should change for RP is that we will be using gvisor to be able to run arbitrary code
- phaleththat means rootless will not work because of networking
- bluedidn't we say we're gonna have KVM for that
- phalethcrun and pasta simply cannot be used
- phalethand also the REST HTTP API of podman will most likely not work even as sudo
- bluewe do have to start worrying about proper isolation at some point, but that point is for me when people pay
- phalethnope, we're not gonna use VMs cause they lead to you having to pay for dedicated servers
- phalethand we already migrated from a VDS
- phalethit's too much money spent
- bluewell, we need podman either way
- bluemy idea was that you scale to the size of the customer
- phalethno, we have to worry about all that kernel security complexity
- blueobviously doesn't mean you can forfeit security, but there's only so much we're gonna do on the free $5 plan
- phalethcause otherwise we'd end up with a lot of migration burden
- phalethkinda like fly.io did
- bluefair
- bluebut just note that the podman API is central to the automateability of the platform
- phalethwe will use podman for sure, just not with crun and pasta
- bluethat's your concern, I will follow your advice on that
- phalethok, cool
- phalethyeah, just be aware that not everything is doable via podman API
- phalethand the podman API may not work
- bluenetwork management in particular is something that podman API seems to be doing incredibly well
- phalethI'd just play it safe and use CLIs as not only podman CLI is needed anyway
- bluek
- bluewell, my idea is that we get primate website on the new system first
- bluethen stuff like socialcloud and the other containers
- bluethen we can see if we can open alpha or beta or whatever
- phalethalso for automation I'd like to use podman-compose and podman quadlets
- blueI'm gonna pretend I know what that means
- phalethcompose.yml files and sort of systemd unit files
- blueoh, ok
- bluebut in terms of features, I'm pretty sure RP doesn't need 0.39
- phalethI will have to test podman quadlets against freebsd
- blue0.39 is going to be a lot of 'cosmetics' like path/query/cookies/headers schemas
- phaleththen that's awesome, just freeze primate at 0.38.x
- blueand maybe finally "primate/openapi", which RP would benefit from
- bluewhat I'm saying is that it will be a small release anyway I think
- blueI've done a few bigger ones, time for some calm
- phalethcool
- bluehttps://github.com/primate-run/primate/issues/257
- nevetProposal: Virtual route groups · Issue #257 · primate-run/primate
- bluethis is something RP would benefit from as well
- blueseeing as it has a somewhat complex fs structure
- bluebut yeah, I think I got primate in a somewhat sweet spot where I can let it cook for a bit
- blueand when I use it myself, I notice things that can be improved and then it flows back
- phaleththe site is fast again https://tools.pingdom.com/#677f26a403c00000
- bluevery nice
- bluegh is 79, page size 4.4mb, oof
- bluerequests... 108
- dreamrealphaleth: kinabalu was looking for you here
- dreamrealhe's west coast so it's still pretty early for him though
- bluedreamreal: the bun rust rewrite is probably newsworthy for bytenews
- dreamrealIt's not a commitment, though
- dreamrealI read about it, did the research
- dreamrealIt's like a "hey, can we?" spike
- blueit doesn't really matter, it's a bit
- dreamrealand not a "we're doing it"
- bluebesides, it's a great followup to your zig ai news
- dreamreali guess, it didn't compel ME, if someone else wrote it up well I'd publish it
- bluebecause it's obviously related
- dreamrealit felt like a storm in a teacup to me, but I'm only one view
- blueyou're underestimating how much a PR campaign and not much else bun is
- dreamrealAm I.
- blueyes
- dreamrealI doubt it. I was using node when bun came out, and evaluated it, and passed on it.
- phalethblue: the podman rest API is still usable with sudo
- phalethexample: sudo curl --silent --unix-socket /run/podman/podman.sock http://d/v1.0/libpod/info | jq
- blueoh ok. but we're doing rootless podman, no?
- phalethdreamreal: ok
- phalethblue: nope, doing rootful for now
- phalethit's not so difficult to switch
- bluemhm
- dreamrealblue: that's not to say it didn't get considered strongly, but here's the thing: BCN is not meant to be MY BLOG. I'm the editor. That's pretty much what I intend for my role to be, and the idea was always that people would write up what they thought was interesting (as would I) and it'd get hammered into shape.
- dreamrealI post on it because I'm the editor and it needs content, but it's not *mine* in that sense. I still have my blog for stuff that's my direct interests.
- blueya, I still think it's newsworthy, but you can wait to see if Sumner is being an idiot again or not
- phalethdreamreal: I should be there in the evening, but US west is 9 hours late
- dreamrealI mean... why not write it yourself?
- dreamrealphaleth: he should be around soon
- dreamrealblue: I can't have a valid perspective on everything and can't pretend to
- phalethblue: I'm not sure if podman pods still work, will have to try that, only tried a solo container so far within a podman network
- blueit's an all abstraction to me if I use the podman api, right
- bluedreamreal: my perspective would be way too negative!
- * dreamreal shrugs. That's what an editor is for, maybe. :D
- bluequite possibly
- phalethblue: yeah, you don't have to worry about underlying runtime and network interface used
- bluewhat's primate-website even running, bun?
- bluebun-linux-64
- bluedidn't you say it was leaking mad
- blueI still have a hard time getting over the fact bun is 98M
- phalethyeah, bun at the moment
- phalethit tends to go to about 205M
- phalethbut then stops there
- blueI'm looking at btop
- bluejava, 659M
- phalethin any case I'm just testing bun with the website, the container that it runs in also has node, npm, pnpm, etc.
- bluegrafana, 344M
- bluethis is like a free for all or smth
- bluephp-fpm, two processes 130M each
- bluewhat is this madness
- phalethno resource limits if that's what you mean
- blueyep
- phalethsocialcould prolly
- bluethis btop stuff is real, feels like a video game
- blueyou hit esc, get a menu, how wild is that
- phalethbtop is nice
- bluehow do I sort by memory?
- phalethvery easily customizeable
- phalethpress left/right arrows
- bluegreat, thx
- blueok so at some point we will need to tell containers their limits
- phaleththat's also another reason for sudo
- bluemongodb, 42 threads, 161M
- blueit's even more than java
- bluewhy is java such a memory hog
- bluepostgres, 42M
- phalethwe should just ban usage of JVM
- blueya
- bluebbiab
- phalethblue: I've updated https://gitea.repopack.app/repopack/provision/src/commit/7bea48339b348cfd1486cdf8e19e3958af6eef7b/podman/pods/theanswerisc.md quite a bit
- phalethit's not possible to use podman pods as networking won't work
- phalethand also podman build only works with --runtime flag, for which there is no way to pass it to the REST API
- phalethor at least I could not find a way
- bluecool, phaleth
- bluephaleth: do you have a good idea for the url hierarchy of RP?
- blueI find the github one attractive, but also arbitarily confusing
- bluesourcehut uses ~/[namespace]/[project], but ~ is a bit weird
- bluealso putting orgs at the toplevel means you might need to reclaim some actions later, or have a blacklist, neither of which is nice
- blueso if someone creates an org "register", obv you don't want that
- bluemaybe simply u:[user], o:[org]
- blueI'll just go with /p, the pramatic choice for now
- kinabaluphaleth: hey
- phalethhi kinabalu
- phalethblue: what does /p stands for?
- kinabaluphaleth: DM?
- bluephaleth: project
- phalethok, but won't there be a public part of the website?
- phalethlike people may want to expose to the public some parts of what they are working on
- bluewe will maintain a public/private distinction
- blueI'm only looking to diffuse the confusing "org are top-level actions" in GH
- phalethok then lets not harm SEO with acronyms
- blueso say you have primate
- bluethe gh style would be
- bluerepopack.com/primate/primate
- phalethlong urls are fine, if someone is bothered they can use url shortener
- bluemy prosposal would be repopack.com/p/primate/primate
- blueand you'd like that to be called /project ?
- blueit's also kinda annoying in that that to edit the namespace/org itself, you need yet another url strucutre
- phalethwell I thought there is user or organization first
- blueyes, the first 'primate' is the user/org/ns
- bluelet's do another example
- bluerepopack.com/phaleth/primate
- bluethat's the gh style
- phalethorganization goes first, then project, then repo
- blueand it's a pain because some urls need to be blacklisted (/register, /login), and others might be to be future-reclaimed
- phalethor whatever else is the resource under the project
- blueok and what's the page to edit an org's setting?
- phalethblacklisting is part of life on the interwebz
- bluecan't do repopack.com/phaleth/settings, because 'settings' could be a valid project name
- phalethrepopack.com/phaleth/settings/edit
- phaleththen ban it :)
- blueyes but that's indistinguishable from a project url
- phalethsounds like a situation for an nasty branching logic I know, and I recommend to process that dynamically
- blueso you can cleanly map it if you concede that orgs cannot be toplevel
- phalethyou can think about making some database calls cacheable later, once there are too many hits
- bluerepopack.com/phaleth/~/settings
- blueor so
- phalethok, so how about this
- phalethyou are on a project page, then start with /project
- phalethyou are on user page, then start with /user
- phalethand so on, quite distinct from how github does it, but as long as SEO is good then everything is good
- bluethe main problem with that is that a user can't go to repopack.com/phaleth/my-zig-fork, drop 'my-zig-fork', and get to your page
- blueor rather, repopack.com/project/phaleth/my-zig-fork, I mean
- phalethyou could have it both ways, pretty links and ugly but fast links
- blueso sourcehut does something like ~/phaleth/my-zig-fork
- phalethsomebody hits a pretty link, that is not a pre-existing page like /project or /user, the logic first leads to a router that will figure it all out
- phalethor return 404
- phalethwithout need to do a full redirect of course
- phalethall frameworks do that nowadays
- phalethgood example is wordpress
- bluewdyt about repopack.com/p/[hash]/[project]
- bluehash would be like 8 hex chars
- blueand user is just user. repopack.com/u/phaleth (or /user)
- phalethhttps://stackoverflow.com/users/14512005/phaleth
- nevetUser phaleth
- phalethstackoverflow uses the resource name there "users" so they can look it up quickly
- phalethdoes table exist? kinda thing
- blueso my most seo friendly is obv repopack.com/phaleth
- blueand putting the projects under it, so it flows naturally
- phalethyes, cause people like me are used to type in out of memory https://github.com/terrablue.keys
- bluebut then we're back to blacklisting and reclaiming territory
- phalethand that .keys url pattern is kinda standard
- bluewhat's that .keys url pattern?
- phalethcall it blacklisting and reclaiming territory, but essentially you need a router
- phalethgithub prolly does all this routing at HAProxy level to make it most efficient
- blueyes I know, but you know what I mean. someone registers "jobs" as an org, suddenly you have to force rename him because you didn't consider it in your blacklist
- phalethblue: just open that link and I think you will understand
- blueoh, that's cool, Ididn't know that existed
- blueit gives you the pubkeys?
- phalethyeah, someone registers as idiot, same old still, welcome to the interwebz
- bluelol
- phalethpubkeys yes
- phalethin Java terms you always have all sorts of enumerations that you need to check, putting those to database and even having API endpoints on top of those at first is fine
- bluefyi, the server build of apps/angular in dev mode is 33K
- bluethat means I can essentially do server hotreload forever before I run out of room
- phalethyou might think you can come up with a finite enum, but you will eventually expand there
- blueI guess you gotta put into your terms "any user/org is reclaimable at any time without notice, do not impersonate"
- blueprobably gh has something like that in their terms
- blueyes, let the lawyers deal with it
- bluegreat
- blueI'm going to release a patch for 0.38 because my manifest strategy massively degraded server hotreloading
- phalethanything you see on this website is subject to change, welcome to the interwebz, period
- bluenow it's back to normal, I had severe hangs and v8 stack deaths and what not
- phalethcool
- bluelong story short. the route imports on the client side do some type-juggling where they get a client instead of the real route, which is great in TS, because that's what you want to have
- phalethyup, that's the router to use
- bluein runtime, I was generating a manifest json file for the client, but that sucked, as it turned out
- blueso now I'm back to actually importing `client.browser.ts` via runtime keys, and stubbing all primate/store, primate/response (which would be otherwise pulling in node:fs)
- blueimagine you don't stub stores on the client, you convert them to fetch calls too
- bluebut we don't want that, you could be circumventing security and so on
- blueI believe chovy once asked me if it's possible to call stores on the client
- bluethose things are technically possibly and at the same time a total security nightmare
- bluenot to mention stores could return things like bigints, which aren't JSON-serializable
- phalethyeah, the constant need for computers reading into each others memories will always be there
- phaleththinking of platforms and languages and runtimes is too much of a hassle
- phalethand so idiots will keep on generating components server side
- blueya
- bluemy point is though, stubbing primate/store on the client is generally not a bad idea
- phalethyeah, but that's how nextjs got their highest scoring CVE this year
- phalethanyway, if the website is small, which the website should be small in any case, then just do full refresh
- phalethwhy would the website be big
- bluethey got their highest scoring CVE by having RSC
- bluewhich is a solution looking for a problem
- blueusing tsc on 0.38 is taking forever
- phalethyeah, like having too big of a framework on frontend is also like a solution looking for a problem
- phalethVDOM is also one of those solutions
- blueyes
- blueI've only switched to tsgo like two days ago and I already cannot deal with tsc
- phalethtsrust is the next big thing
- phaleth100% clankered
- bluehahaha
- phalethI've recently found that vitepress is still not migrated to vite 8.0, they just do not trust their own rust experiments
- phalethcause they know it's all a huge buggy mess
- phalethbut one would think that vitepress would be the first project to adopt latest vite even well before being stable
- blueyeah, well
- blueyes
- phalethmemory.reservation sounds very nice, so that we can tell for example bun to clean up after itself https://images4.imagebam.com/2c/c0/64/ME1CULP3_o.png
- phalethalso cpu.shares is great
- bluepodman limits?
- phalethyeah
- phalethcan also limit pids to protect against fork bombs
- phalethand limit IO rates too
- bluesweetbutt