Chat Logs

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