Chat Logs

  1. * phaleth joined #primate
  2. * kinabalu joined #primate
  3. * chovy joined #primate
  4. * dreamreal joined #primate
  5. * phaleth joined #primate
  6. * blue joined #primate
  7. * phaleth joined #primate
  8. bluehi phaleth
  9. phalethhi blue
  10. 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
  11. blueand lo and behold, it's 2026 and you still can't write custom rules with biome, what a dumpster fire
  12. bluebut it's written in rust!!!
  13. phalethas far as I know eslint is superior and incomparable to any other linter even the ones not specific to JS/TS
  14. blueindeed
  15. bluebiome is missing a few important rules I rely on, like no shadow or no implicit booleans, it's a no go
  16. phalethI've managed to run nginx on battle tested secured kernel https://upaste.de/raw/6xh
  17. phalethnginx has to use epoll cause there is no io_uring
  18. bluelinux 4.19?
  19. phalethI think nginx still uses epoll by default, but anyway, super secure
  20. phalethyeah, weird, right?
  21. bluethat's like nearly a decade old
  22. phalethyou can write issue on biome's tracker, no reason to contribute
  23. bluelinus cycles the major number roughly every 3 years
  24. blueI could, but I believe it's on their map and I don't like rust anyway, so zero motivation for me to contribute
  25. phalethit's cause that nginx service is wrapped with gvisor
  26. blueI would say though, correctness/completeness goes over performance with a linter
  27. blueactually, drop "with a linter"
  28. phalethand gvisor is trimming down the kernel in userspace, which is a great idea I think
  29. blueyeah, would still be nice to be running something a bit newer than a stone age kernel :P
  30. phalethmaybe in another 10 years
  31. 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
  32. blueget a load of this
  33. bluehttps://github.com/rcompat/rcompat/tree/master/packages/symbol
  34. phalethnobody knows about the url https://theanswerisc.repopack.app/ so I just keep testing stuff with that site
  35. nevetThe Answer Is C
  36. blueyes, but I do intend to update it at some point
  37. blueupdate as in, write something
  38. bluedid you know that in svelte 5, if you await the render function (imported from "svelte/render"), magical stuff happens?
  39. blueso apparently they had this brilliant idea that awaiting stuff triggers some sort of 'ditch this compat layer'
  40. bluewhich must count as the brightest idea in the history of CS
  41. blueconst { html, head } = render(view, props); // works, if the svelte component did not have top-level await
  42. 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`
  43. blueconst { body, head } = await render(view, props); // works
  44. bluerich harris, too smart for this world
  45. phalethyeah, well, might as well try to not depend on svelte
  46. bluethey already massively lost in respect when pulling a react with their runes shtick
  47. bluealso note, generally speaking, returning two different shapes on sync and async is bad bananas black voodoo magic
  48. 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
  49. blueI can't think of a way to write more terrible JS, though
  50. phalethall these frontend frameworks are endless bother
  51. blueconst p = new Promise(resolve => {}); p.html = "hi"; p.html
  52. bluetry this in your node repl :P
  53. bluegreat stuff
  54. phalethlooks like a garbage code
  55. blueor I should say really, try THIS
  56. blueconst p = new Promise(resolve => resolve({ html: "bye" })); p.html = "hi"; [p.html, (await p).html]
  57. bluethat's just mad
  58. blueand that is probably what `render` does
  59. blueanother thing I've noticed is svelte projects uploading .svelte files to npm
  60. bluewhich I'm conflicted about. it's bad because it's not generally consumeable, but also the bundler comes last
  61. blueesbuild can deal with it quite well, but node can't
  62. bluenot without an --import flag, anyway
  63. phalethyeah, bundlers will remain forever it seems
  64. bluethey also revised their API https://nodejs.org/docs/latest/api/module.html#moduleregisterspecifier-parenturl-options
  65. nevetModules: `node:module` API | Node.js v26.0.0 Documentation
  66. blueused to be async, now sync
  67. blueoh, they released node 26 yesterda
  68. bluey
  69. blueTemporal API, not bad
  70. blue`Temporal is a modern date/time API for JavaScript that provides a more robust and feature-rich alternative to the legacy Date object`
  71. blueI wouldn't call it legacy per se, people are gonna use Date until the rest of time, with all its quirks
  72. bluethat's just a java inheritance that's never gonna go away properly
  73. phalethyeah, once java.util.Date dissapears lot of people get will screwed
  74. blueI haven't looked at Temporal for a while. but my initial impressions of it was overegineered, I might wrong though
  75. 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
  76. phalethno clue, but everywhere you can read that java.util.Date should not be used anymore
  77. bluebun/jsc has no Temporal
  78. blueso that's a no-go for now
  79. blueI'm not faking it in rcompat, the surface is too large and also I'm not even sure I like the api
  80. phaleththere will be an attempt from anthropic to rewrite bun in rust
  81. blueI was thinking of creating `@rcompat/time` anyway or so
  82. blueyou know, date stuff is one of those things which I think might be better in an std rather than built in
  83. phalethand so bun will prolly end up being even a bigger pile of trash than it is
  84. bluefair
  85. bluehow would that work with bun maintaining their own copy of zig because zig doesn't accept ai contributioos?
  86. blueI guess that goes away then
  87. phalethhttps://github.com/oven-sh/bun/blob/claude/phase-a-port/docs/PORTING.md
  88. bluewhy? that's the incentive?
  89. bluewhat's*
  90. phalethto show andrew he should take AI seriously or to show once and for all that AI can only come up with garbage
  91. bluebut bun is a zig foundation contributor?
  92. blueoh man, poor andrew
  93. blueI don't like the guy, but still, bun dying on that hill is dumb
  94. blue"Zig's no-AI policy may be embarrassing for Anthropic, which acquired Bun in late 2025 and uses it for Claude Code."
  95. blueso this is just 100% politics
  96. phalethbun has always been an experiment
  97. blueZig doesn't like AI, claude bought bun, claude hating on zig, and out of spite forcing a rust rewrite
  98. blueit's almost like everyone is stupid
  99. phalethAI is 100% politics
  100. bluethis is beyond funny stupid
  101. phalethyeah, politics is dumb
  102. blueat this point I'm gonna put a "Hustler" token next to Sumner's name
  103. blue10000% increase in `new Response(null)` thoroughput? check. rewriting bun in rust because your investor overlords said so? check
  104. phalethhehe
  105. phalethwell, anthropic can just replace Jarred if needed
  106. phalethand he's got a high paying job there
  107. bluetrue
  108. bluealso, https://ladybird.org/posts/adopting-rust/
  109. nevetLadybird adopts Rust, with help from AI - Ladybird
  110. blueso here's the pitch
  111. bluerust has been around long enough to be clankerable, so people doing exactly that
  112. bluezig is moving fast and breaking, that's largely incompatible with the regressiveness inherent to AI
  113. phalethit's all the same clowns
  114. bluesorry, I think I'm gonna take andrew's side here
  115. bluethe AI contributions thing make sense, bytenews had a piece on it lately
  116. phalethyeah, as for andrew, I think he's different
  117. bluemakes*
  118. phalethwill he loose the bun money? prolly, but he should not care
  119. bluehe already lost the github contributors money
  120. bluegotta appreciate the ideological clarity here
  121. bluecodeberg was the wrong choice, but that doesn't invalidate the gh ditch
  122. phalethyeah, everyone has ideals
  123. phalethbtw, did you check the merge requests I've opened against primate?
  124. blueno, I forgot
  125. blueboth merged now
  126. bluehttps://superarch.org/gh.png
  127. bluelook at this stupid nonsense
  128. bluegh has been doing this lately and it absolutely gets on my nerves
  129. bluewe gotta get away fro mit
  130. phalethok, cool, I'll redeploy primate website soon
  131. phalethyeah, that bug has been there forever
  132. phalethpeople behind github do not care
  133. bluemore reason to put RP
  134. 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
  135. phalethsounds good
  136. phalethone thing that should change for RP is that we will be using gvisor to be able to run arbitrary code
  137. phaleththat means rootless will not work because of networking
  138. bluedidn't we say we're gonna have KVM for that
  139. phalethcrun and pasta simply cannot be used
  140. phalethand also the REST HTTP API of podman will most likely not work even as sudo
  141. bluewe do have to start worrying about proper isolation at some point, but that point is for me when people pay
  142. phalethnope, we're not gonna use VMs cause they lead to you having to pay for dedicated servers
  143. phalethand we already migrated from a VDS
  144. phalethit's too much money spent
  145. bluewell, we need podman either way
  146. bluemy idea was that you scale to the size of the customer
  147. phalethno, we have to worry about all that kernel security complexity
  148. blueobviously doesn't mean you can forfeit security, but there's only so much we're gonna do on the free $5 plan
  149. phalethcause otherwise we'd end up with a lot of migration burden
  150. phalethkinda like fly.io did
  151. bluefair
  152. bluebut just note that the podman API is central to the automateability of the platform
  153. phalethwe will use podman for sure, just not with crun and pasta
  154. bluethat's your concern, I will follow your advice on that
  155. phalethok, cool
  156. phalethyeah, just be aware that not everything is doable via podman API
  157. phalethand the podman API may not work
  158. bluenetwork management in particular is something that podman API seems to be doing incredibly well
  159. phalethI'd just play it safe and use CLIs as not only podman CLI is needed anyway
  160. bluek
  161. bluewell, my idea is that we get primate website on the new system first
  162. bluethen stuff like socialcloud and the other containers
  163. bluethen we can see if we can open alpha or beta or whatever
  164. phalethalso for automation I'd like to use podman-compose and podman quadlets
  165. blueI'm gonna pretend I know what that means
  166. phalethcompose.yml files and sort of systemd unit files
  167. blueoh, ok
  168. bluebut in terms of features, I'm pretty sure RP doesn't need 0.39
  169. phalethI will have to test podman quadlets against freebsd
  170. blue0.39 is going to be a lot of 'cosmetics' like path/query/cookies/headers schemas
  171. phaleththen that's awesome, just freeze primate at 0.38.x
  172. blueand maybe finally "primate/openapi", which RP would benefit from
  173. bluewhat I'm saying is that it will be a small release anyway I think
  174. blueI've done a few bigger ones, time for some calm
  175. phalethcool
  176. bluehttps://github.com/primate-run/primate/issues/257
  177. nevetProposal: Virtual route groups · Issue #257 · primate-run/primate
  178. bluethis is something RP would benefit from as well
  179. blueseeing as it has a somewhat complex fs structure
  180. bluebut yeah, I think I got primate in a somewhat sweet spot where I can let it cook for a bit
  181. blueand when I use it myself, I notice things that can be improved and then it flows back
  182. phaleththe site is fast again https://tools.pingdom.com/#677f26a403c00000
  183. bluevery nice
  184. bluegh is 79, page size 4.4mb, oof
  185. bluerequests... 108
  186. dreamrealphaleth: kinabalu was looking for you here
  187. dreamrealhe's west coast so it's still pretty early for him though
  188. bluedreamreal: the bun rust rewrite is probably newsworthy for bytenews
  189. dreamrealIt's not a commitment, though
  190. dreamrealI read about it, did the research
  191. dreamrealIt's like a "hey, can we?" spike
  192. blueit doesn't really matter, it's a bit
  193. dreamrealand not a "we're doing it"
  194. bluebesides, it's a great followup to your zig ai news
  195. dreamreali guess, it didn't compel ME, if someone else wrote it up well I'd publish it
  196. bluebecause it's obviously related
  197. dreamrealit felt like a storm in a teacup to me, but I'm only one view
  198. blueyou're underestimating how much a PR campaign and not much else bun is
  199. dreamrealAm I.
  200. blueyes
  201. dreamrealI doubt it. I was using node when bun came out, and evaluated it, and passed on it.
  202. phalethblue: the podman rest API is still usable with sudo
  203. phalethexample: sudo curl --silent --unix-socket /run/podman/podman.sock http://d/v1.0/libpod/info | jq
  204. blueoh ok. but we're doing rootless podman, no?
  205. phalethdreamreal: ok
  206. phalethblue: nope, doing rootful for now
  207. phalethit's not so difficult to switch
  208. bluemhm
  209. 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.
  210. 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.
  211. blueya, I still think it's newsworthy, but you can wait to see if Sumner is being an idiot again or not
  212. phalethdreamreal: I should be there in the evening, but US west is 9 hours late
  213. dreamrealI mean... why not write it yourself?
  214. dreamrealphaleth: he should be around soon
  215. dreamrealblue: I can't have a valid perspective on everything and can't pretend to
  216. 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
  217. blueit's an all abstraction to me if I use the podman api, right
  218. bluedreamreal: my perspective would be way too negative!
  219. * dreamreal shrugs. That's what an editor is for, maybe. :D
  220. bluequite possibly
  221. phalethblue: yeah, you don't have to worry about underlying runtime and network interface used
  222. bluewhat's primate-website even running, bun?
  223. bluebun-linux-64
  224. bluedidn't you say it was leaking mad
  225. blueI still have a hard time getting over the fact bun is 98M
  226. phalethyeah, bun at the moment
  227. phalethit tends to go to about 205M
  228. phalethbut then stops there
  229. blueI'm looking at btop
  230. bluejava, 659M
  231. phalethin any case I'm just testing bun with the website, the container that it runs in also has node, npm, pnpm, etc.
  232. bluegrafana, 344M
  233. bluethis is like a free for all or smth
  234. bluephp-fpm, two processes 130M each
  235. bluewhat is this madness
  236. phalethno resource limits if that's what you mean
  237. blueyep
  238. phalethsocialcould prolly
  239. bluethis btop stuff is real, feels like a video game
  240. blueyou hit esc, get a menu, how wild is that
  241. phalethbtop is nice
  242. bluehow do I sort by memory?
  243. phalethvery easily customizeable
  244. phalethpress left/right arrows
  245. bluegreat, thx
  246. blueok so at some point we will need to tell containers their limits
  247. phaleththat's also another reason for sudo
  248. bluemongodb, 42 threads, 161M
  249. blueit's even more than java
  250. bluewhy is java such a memory hog
  251. bluepostgres, 42M
  252. phalethwe should just ban usage of JVM
  253. blueya
  254. bluebbiab
  255. phalethblue: I've updated https://gitea.repopack.app/repopack/provision/src/commit/7bea48339b348cfd1486cdf8e19e3958af6eef7b/podman/pods/theanswerisc.md quite a bit
  256. phalethit's not possible to use podman pods as networking won't work
  257. phalethand also podman build only works with --runtime flag, for which there is no way to pass it to the REST API
  258. phalethor at least I could not find a way
  259. bluecool, phaleth
  260. bluephaleth: do you have a good idea for the url hierarchy of RP?
  261. blueI find the github one attractive, but also arbitarily confusing
  262. bluesourcehut uses ~/[namespace]/[project], but ~ is a bit weird
  263. bluealso putting orgs at the toplevel means you might need to reclaim some actions later, or have a blacklist, neither of which is nice
  264. blueso if someone creates an org "register", obv you don't want that
  265. bluemaybe simply u:[user], o:[org]
  266. blueI'll just go with /p, the pramatic choice for now
  267. kinabaluphaleth: hey
  268. phalethhi kinabalu
  269. phalethblue: what does /p stands for?
  270. kinabaluphaleth: DM?
  271. bluephaleth: project
  272. phalethok, but won't there be a public part of the website?
  273. phalethlike people may want to expose to the public some parts of what they are working on
  274. bluewe will maintain a public/private distinction
  275. blueI'm only looking to diffuse the confusing "org are top-level actions" in GH
  276. phalethok then lets not harm SEO with acronyms
  277. blueso say you have primate
  278. bluethe gh style would be
  279. bluerepopack.com/primate/primate
  280. phalethlong urls are fine, if someone is bothered they can use url shortener
  281. bluemy prosposal would be repopack.com/p/primate/primate
  282. blueand you'd like that to be called /project ?
  283. blueit's also kinda annoying in that that to edit the namespace/org itself, you need yet another url strucutre
  284. phalethwell I thought there is user or organization first
  285. blueyes, the first 'primate' is the user/org/ns
  286. bluelet's do another example
  287. bluerepopack.com/phaleth/primate
  288. bluethat's the gh style
  289. phalethorganization goes first, then project, then repo
  290. blueand it's a pain because some urls need to be blacklisted (/register, /login), and others might be to be future-reclaimed
  291. phalethor whatever else is the resource under the project
  292. blueok and what's the page to edit an org's setting?
  293. phalethblacklisting is part of life on the interwebz
  294. bluecan't do repopack.com/phaleth/settings, because 'settings' could be a valid project name
  295. phalethrepopack.com/phaleth/settings/edit
  296. phaleththen ban it :)
  297. blueyes but that's indistinguishable from a project url
  298. phalethsounds like a situation for an nasty branching logic I know, and I recommend to process that dynamically
  299. blueso you can cleanly map it if you concede that orgs cannot be toplevel
  300. phalethyou can think about making some database calls cacheable later, once there are too many hits
  301. bluerepopack.com/phaleth/~/settings
  302. blueor so
  303. phalethok, so how about this
  304. phalethyou are on a project page, then start with /project
  305. phalethyou are on user page, then start with /user
  306. phalethand so on, quite distinct from how github does it, but as long as SEO is good then everything is good
  307. 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
  308. blueor rather, repopack.com/project/phaleth/my-zig-fork, I mean
  309. phalethyou could have it both ways, pretty links and ugly but fast links
  310. blueso sourcehut does something like ~/phaleth/my-zig-fork
  311. 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
  312. phalethor return 404
  313. phalethwithout need to do a full redirect of course
  314. phalethall frameworks do that nowadays
  315. phalethgood example is wordpress
  316. bluewdyt about repopack.com/p/[hash]/[project]
  317. bluehash would be like 8 hex chars
  318. blueand user is just user. repopack.com/u/phaleth (or /user)
  319. phalethhttps://stackoverflow.com/users/14512005/phaleth
  320. nevetUser phaleth
  321. phalethstackoverflow uses the resource name there "users" so they can look it up quickly
  322. phalethdoes table exist? kinda thing
  323. blueso my most seo friendly is obv repopack.com/phaleth
  324. blueand putting the projects under it, so it flows naturally
  325. phalethyes, cause people like me are used to type in out of memory https://github.com/terrablue.keys
  326. bluebut then we're back to blacklisting and reclaiming territory
  327. phalethand that .keys url pattern is kinda standard
  328. bluewhat's that .keys url pattern?
  329. phalethcall it blacklisting and reclaiming territory, but essentially you need a router
  330. phalethgithub prolly does all this routing at HAProxy level to make it most efficient
  331. 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
  332. phalethblue: just open that link and I think you will understand
  333. blueoh, that's cool, Ididn't know that existed
  334. blueit gives you the pubkeys?
  335. phalethyeah, someone registers as idiot, same old still, welcome to the interwebz
  336. bluelol
  337. phalethpubkeys yes
  338. 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
  339. bluefyi, the server build of apps/angular in dev mode is 33K
  340. bluethat means I can essentially do server hotreload forever before I run out of room
  341. phalethyou might think you can come up with a finite enum, but you will eventually expand there
  342. blueI guess you gotta put into your terms "any user/org is reclaimable at any time without notice, do not impersonate"
  343. blueprobably gh has something like that in their terms
  344. blueyes, let the lawyers deal with it
  345. bluegreat
  346. blueI'm going to release a patch for 0.38 because my manifest strategy massively degraded server hotreloading
  347. phalethanything you see on this website is subject to change, welcome to the interwebz, period
  348. bluenow it's back to normal, I had severe hangs and v8 stack deaths and what not
  349. phalethcool
  350. 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
  351. phalethyup, that's the router to use
  352. bluein runtime, I was generating a manifest json file for the client, but that sucked, as it turned out
  353. 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)
  354. blueimagine you don't stub stores on the client, you convert them to fetch calls too
  355. bluebut we don't want that, you could be circumventing security and so on
  356. blueI believe chovy once asked me if it's possible to call stores on the client
  357. bluethose things are technically possibly and at the same time a total security nightmare
  358. bluenot to mention stores could return things like bigints, which aren't JSON-serializable
  359. phalethyeah, the constant need for computers reading into each others memories will always be there
  360. phaleththinking of platforms and languages and runtimes is too much of a hassle
  361. phalethand so idiots will keep on generating components server side
  362. blueya
  363. bluemy point is though, stubbing primate/store on the client is generally not a bad idea
  364. phalethyeah, but that's how nextjs got their highest scoring CVE this year
  365. phalethanyway, if the website is small, which the website should be small in any case, then just do full refresh
  366. phalethwhy would the website be big
  367. bluethey got their highest scoring CVE by having RSC
  368. bluewhich is a solution looking for a problem
  369. blueusing tsc on 0.38 is taking forever
  370. phalethyeah, like having too big of a framework on frontend is also like a solution looking for a problem
  371. phalethVDOM is also one of those solutions
  372. blueyes
  373. blueI've only switched to tsgo like two days ago and I already cannot deal with tsc
  374. phalethtsrust is the next big thing
  375. phaleth100% clankered
  376. bluehahaha
  377. phalethI've recently found that vitepress is still not migrated to vite 8.0, they just do not trust their own rust experiments
  378. phalethcause they know it's all a huge buggy mess
  379. phalethbut one would think that vitepress would be the first project to adopt latest vite even well before being stable
  380. blueyeah, well
  381. blueyes
  382. 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
  383. phalethalso cpu.shares is great
  384. bluepodman limits?
  385. phalethyeah
  386. phalethcan also limit pids to protect against fork bombs
  387. phalethand limit IO rates too
  388. bluesweetbutt
  389. * jreicher joined #primate