Chat Logs

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