Chat Logs

  1. * jreicher joined #primate
  2. * jreicher joined #primate
  3. * phaleth joined #primate
  4. * phaleth joined #primate
  5. bluephaleth: hi
  6. bluedid you hear the news?
  7. phalethhi blue
  8. bluebtw, I used the two commands you gave me, and I can't update the website
  9. phalethFreeBSD should work on my PC?
  10. 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
  11. 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
  12. blueI guess we're using primate-site-runtime and I'm updating the wrong container?
  13. phalethI just updated the website 5 mins ago
  14. blueyeah but I had a new commit pusehd out like 3 mins ago
  15. bluewith entrypoint docs
  16. phalethyeah, I dropped the -2 from those commands
  17. blueoh ok
  18. bluelet me rerun it without the -2
  19. blueand also remove the -2 container
  20. bluedid anything else change?
  21. phalethok
  22. blueany port?
  23. phalethI'll observe :D
  24. phalethhmm, actually port and IP addrress also changes
  25. blueoh, 24430 instead of 31
  26. phaleththe doc is in the provision repo at podman/deployments/primate-site.md
  27. phalethso what's the news
  28. phalethhas podman fixed the oci_runtime flag for the REST API?
  29. phalethnope, the fix is not in stable version
  30. blueok, redeployed, looking good
  31. bluehttps://primate.run/blog/primate-039#client-entrypoints
  32. blueanyway, for the news
  33. phalethFreeBSD 15.1 also isn't out as stable yet
  34. bluebun 1.3.14 will be the last bun zig version
  35. bluethe clanker rewrite has been merged, bun is now fully vapourware
  36. phalethyeah, that I know
  37. phalethdrop bun support?
  38. blue"probably most of this is going to be thrown away" - sumner
  39. bluegosh I hate that guy
  40. bluewe're not going to drop bun support, but we have to push harder for flog
  41. blueI think the dog implementation will be postponed, and I'll start with a flog version that's based on qjs
  42. phalethyeah, but we still have primate website optimizations to do
  43. phalethand so we can do repopack website then
  44. bluereoppack web is coming along pretty well
  45. bluethe point is, we can't rely on bun
  46. blueit's full throttle vapourware
  47. 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
  48. 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
  49. blueyes I know, but we can only do that because it's primate
  50. bluethe rest of the ecosystem needs a hero, and it's not going to be bun
  51. phalethSumner was told many times he's irresponsible
  52. bluebesides, I've been itching to write "std:" imports for a while
  53. blueyes
  54. blueso the order of business is now, we get repopack to work, and then we streamline projects ON repopack itself
  55. blueand gradually move away completely from github
  56. bluedreamreal: isn't the clankerrewrite news for bytenews?
  57. bluebtw I think crosscompiling on flog could be nice, because the binary will be so small
  58. bluelast time I did it in c, the binary was 2.1MB
  59. phalethdropping 1m lines of code is just beyond dumb
  60. bluekinda makes you wonder why modern runtimes need to be 100MB in size
  61. blueoh yeah, 100%
  62. blueso now sumner got his new toy, opus, and he's just wreaking havoc with it
  63. bluewhich is absolutely pity because bun had potential
  64. blueuntil he decided he needs to optimise `new Response(null)`
  65. bluethis guy, I swear... ridiculous
  66. bluehttps://github.com/mason-org/mason-registry/pull/15293
  67. nevetAdd marko-language-server by terrablue · Pull Request #15293 · mason-org/mason-registry
  68. blueI PR'd the mason team to add marko
  69. blueI asked on marko's discord server and no one wanted to do it
  70. blueanyway
  71. blueare we done with website optimisations for now until we have a static target, or is there anything else you wanna do?
  72. 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
  73. phaletheven for primate website code splitting per route should help, client side
  74. bluewell I intend to move repopack/web to marko
  75. bluenot right now, but as a longer term thing
  76. phalethbut the thing is that there is this root of the component tree hidden deep in primate
  77. phalethand so there is no control over what some call lazy components, not sure if marko has those
  78. phalethin other words, for primate website there are 4 routes essentially
  79. phalethfrontpage, docs, guides, blogs
  80. 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
  81. phalethand I know it's a SPA and there are rendering strategies and whatnot
  82. blueyou want a different bundle for each one of them?
  83. phalethbut just imagine this approach on a huge app
  84. bluebut then you need to postload components and it's a dumpster fire
  85. phalethyeah, postload components
  86. phalethI mean codesplit the tree essentially
  87. phalethor it's branches
  88. bluethat's what chunking does, and I'm not sure it's worth the complexity. maybe for a larger app
  89. phalethjust docs and blogs are the two branches loaded lazily
  90. dreamrealblue: what?
  91. 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
  92. 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
  93. bluephaleth: the sensible way would be to accept routes in entrypoints, in config/app.ts
  94. blueis that what you're going for?
  95. 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
  96. bluenot really sure what gitea is doing in terms of js though
  97. bluedreamreal: bun has been clankerrewritten in rust, that is worthy news for bytenews
  98. phalethyeah, splitting the huge tree into multiple trees is the way to go, so entrypoints is a good approach
  99. phalethbut they are used in the app.html, not per route
  100. phalethcurrently
  101. 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
  102. bluephaleth: we have options
  103. bluethe main question we need to clarify is, do we go per route or per view
  104. blueI suppose view hits it better, since we're talking about clientside?
  105. phalethoh, sorry, I mean per view or per template or per page
  106. 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
  107. phaleththat means MPA is teh correct approach and that's what gitea is going for
  108. blueya
  109. 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"
  110. 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?
  111. bluebecause if this answers goes lim(0), then bun is vapourware
  112. blueanswer*
  113. * dreamreal ponders how to write that well
  114. 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
  115. dreamrealand an OLD paying gig called me up this morning and said "heyyyyyy don't you wanna do THIS again?"
  116. bluephaleth: I have an idea, hear me out, it's controverisal
  117. dreamrealI've been having a lot of arguments over ontologies and definitions at work :/
  118. bluecontroversial, even, if I could type
  119. bluewe map route groups to chunks
  120. phalethalright
  121. blueso if you want routes/docs.ts to become a chunk of its own, we do something like routes/(docs)/docs.ts
  122. bluenext & friends just create a chunk for each route which is uniquely terrible
  123. bluewe don't want that
  124. bluebut route groups are good for that, I would think
  125. bluedreamreal: ontologies often masquerade as bikeshedding!
  126. phalethwell, the thing is to give the developer the responsiblity, if they split too much then there will overall be more JS than needed
  127. dreamrealI'm sure they do, but there's a meaningful difference between attribution scanning and attribute scanning
  128. 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.
  129. dreamreal#java had a long discussion about schema vs ontologies not too long ago
  130. phalethok
  131. 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
  132. dreamrealblue: ... says the guy who corrects "controversial" in IRC, eh
  133. blueyes
  134. phalethdreamreal: do you know any other JS runtime or a bundler? then you do know the terms
  135. 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
  136. 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
  137. dreamrealphaleth: not a bundler her, I'm familiar with node, bun, and a LITTLE of deno, I'm not really a JS developer
  138. bluebut it's the damn same thing
  139. phalethbundler is also trying to be a sort of HTTP API framework dealing with databases
  140. dreamrealBBIAF
  141. blueso phaleth, what's your take on abusing route groups for that
  142. blueis that wise
  143. phalethI'm not aware of route groups, but if that works, also the filepath routes/(docs)/docs.ts seems weird
  144. blueit's not a thing yet
  145. phalethI mean bun, not bundler :s
  146. phalethok :D
  147. bluehttps://github.com/primate-run/primate/issues/257
  148. nevetProposal: Virtual route groups · Issue #257 · primate-run/primate
  149. blueit's described here
  150. blueI think we might need though to deprecate strings in response.view, for that
  151. blueimport SomeView from "#view/SomeView"; ... ; return response.view(SomeView); // statisically analysable
  152. bluereturn response.view("SomeView.svelte"); // need to call the handler, and even then, you can't be sure the path will be taken
  153. 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
  154. bluestatically*
  155. blueI've been eyeing deprecating strings in response.view for a while now
  156. phalethI like the term partition and also the term chunk
  157. phalethor subset
  158. phalethbut group does not necessarily mean part or portion of something
  159. phalethso the term group is confusing
  160. phalethalso instead of the term virtual would be better to use calculated or dynamic or non-resource-specific
  161. blueI don't really care how we call it
  162. phalethbut I guess virtual is also understandable
  163. bluethe question is whether they should be used for chunking
  164. phalethif it's technically possible then sure
  165. bluebecause you're lumping together things like +layout etc. so you're kinda naturally making a miniapp out of it, so MPA
  166. blueit's technically only possible if we deprecate strings in response.view
  167. phalethyeah, like a branch of the whole
  168. blueyeah
  169. phalethI think it's not a problem to just do breaking changes
  170. phalethno need to deprecate
  171. phalethyou can think differently once you have 1m of code :)
  172. blueyeah, just break
  173. dreamrealblue: I'm still thinking about what you said about the conversion. isn't that what comprehensive test suites are for?
  174. dreamrealand it SORT of is, but it doesn't actually address the problem. Dang it.
  175. dreamrealblue: you there?
  176. bluedreamreal: yes, now
  177. bluedreamreal: to my knowledge, the clanker busted the test suite during the conversion
  178. dreamrealIt didn't from what I understand. You're on google docs, yeah?
  179. 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
  180. dreamrealCheck the draft, pls
  181. blueall this, we think claude is alive, it has feelings, blablabla
  182. blueit fits the pattern, that's the problem. the nonsense PR pattern
  183. dreamrealpffft I don't think any LLM has feewings
  184. dreamrealplease don't read this, siri
  185. 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
  186. dreamrealI know :D
  187. bluedid you send me a link somewhere
  188. blueoh, discord
  189. dreamrealblue: how large is bun's executable? Do you have it installed? can you ls -l it?
  190. bluedreamreal: 92752752 bytes
  191. dreamrealis that the rust or the zig version?
  192. bluethat would be the last zig version, to my knowledge
  193. bluethe rust version is the next one
  194. dreamrealThis was in fact inspired by your conversation point here
  195. dreamrealFWIW
  196. dreamrealand it's really annoying that *I* wrote it when it's got your fingerprints on it
  197. dreamrealthoughts? concepts? observations?
  198. bluedreamreal: sorry, wife stuff, now back
  199. dreamreallike THAT's important geez
  200. blue:P
  201. dreamrealsome people - SOME people - need priorities
  202. blueha
  203. 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
  204. dreamrealnot pointing any fingers or anything, obv
  205. dreamrealThis isn't technical writing. But the point is: I don't like claiming credit when it's not deserved
  206. 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
  207. 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
  208. blueI am*
  209. dreamrealwell, I guess, but even so
  210. blueif I can contribute ideas, that's *still* better than nothing
  211. dreamrealtikkun olam in motion, yes, but the workman is worth his hire, as the saying goes
  212. bluewell, you've published me and my stuff on BCN, that's enough for me to give a bit back
  213. dreamrealPffft, that's not the right metric
  214. 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
  215. 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
  216. dreamrealI'm actually not especially impressed by the bun port
  217. blueunless you're the nyt, obv
  218. dreamrealI think the NYT is busy abandoning journalism
  219. dreamrealthey want clicks too badly
  220. blueyes
  221. 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
  222. blues/drifter/grifter/
  223. dreamrealI have a journalistic commitment to avoid saying that out loud, though
  224. dreamrealI totally understand the sentiment
  225. blueand I understand that
  226. dreamrealI had to wrestle with talking about bluesky's firehose
  227. 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
  228. 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
  229. blueand bun HAS done a few good things, that's the problem, as well
  230. bluenot in bun, in the ecosystem -- it forced node's hands in supporting ts as a first-class citizen
  231. dreamrealI have never seen bun as being viable for me personally
  232. blueit also forced node to support cjs and esm in conjunction, which node had claimed for years was impossible
  233. 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
  234. blueso it did good in raising the stakes for node, through its endless hype
  235. bluebut all the rest is just... scrotched earth
  236. bluescorched, even
  237. dreamrealyeah, well, anthropic seems like the best outcome for it but porting to rust feels very... lateral, esp given the approach
  238. 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
  239. blueit created even more divergence, forced more repetition of code instead of unifying or at least presending a unifying path for js runtimes
  240. bluepresenting*
  241. dreamrealwell, that's bun altogether
  242. dreamrealit's always felt like churn
  243. blueand also, the scope is unrealistically big. there's no reason bun should include a filesystem router
  244. 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
  245. bluethat's user land
  246. blueya
  247. bluefilesystem routers are *not* general purpose js or even programming tools
  248. dreamrealwe evaluated it but there was so much lack of clarity and direction we shrugged and stayed on node
  249. blueya
  250. 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
  251. blueis that*
  252. dreamrealOh, I totally get it
  253. 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
  254. dreamrealyep
  255. dreamrealWhen I use LLMs I actually review what the hell is going on
  256. dreamrealthey can be amazingly lazy
  257. blueterribly so
  258. dreamrealI have rules: no mocks, vary inputs and outputs, SHOW ME THE DAMN CODE
  259. 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
  260. bluecomes in, even