Community
Chat Logs
Wednesday, November 4, 2026 (America/New_York)
- jreicherblue: have you ever programmed perl?
- * skillbot quit (Remote host closed the connection)
- * skillnews quit (Remote host closed the connection)
- * skillbot joined #primate
- * skillnews joined #primate
- bluejreicher: a bit, in my wayward youth
- blueI remember not liking the @ syntax for some reason
- nevet[Node.js Blog] Wednesday, November 11, 2026 Security Releases - https://nodejs.org/en/blog/vulnerability/november-2026-security-releases
- dreamrealjmh
- dreamrealjmh
- nevetjmh is a Java microbenchmark harness from the OpenJDK project for measuring JVM code performance; handles warmup, forking and dead-code elimination that naive timing loops get wrong. URL: https://openjdk.org/projects/code-tools/jmh/ Tags: java, performance, and jvm
- * nevet joined #primate
- * blue!~blue@user/blue changed the topic to: https://primate.run | This channel is logged: https://bytecode.news/logs/irc/libera/primate
- bluedreamreal: primate 0.44 is out, and 0.45 following hot on its heels soon
- blueI advise to update to 0.44 to get `primate update`.
- * phaleth joined #primate
- blueHi phaleth.
- bluehttps://primate-master.repopack.app/blog/primate-045#sql-transactions
- nevetPrimate — Primate 0.45: SQL transactions, in-process tests and API references
- blueSQL transactions are coming, and they're beautiful.
- phalethhi blue
- blueI should actually improve that example to show it workign within a route
- * skillbot quit (Remote host closed the connection)
- * skillnews quit (Remote host closed the connection)
- * skillnews joined #primate
- * skillbot joined #primate
- phalethok, should be useful for repopack
- phalethlooks quite simple
- blueyeah, it's amaze sauce
- bluethis is the good part: const account = await Account.lock(id);
- bluereturn the record, lock the record until the transaction ends
- bluelock the row*
- bluethis is essentially the same like Store#get, but with row-locking; it doesn't work outside of a transaction
- phalethis there no way to simplify the API and make it work without the `const account = await Account.lock(id);` line?
- phalethcause what if you need to say delete a record from one table and add record into another table in the same transaction
- blueyou can do that, that's how transactions work, they're atomic
- bluethe locking is only necessary in the cases you're working on table A and want to prevent that table B gets changed, because of related data
- phalethok, so that line can then be omited and the rollback will occur of any of the modifications fail
- blueyes.
- blueconsider a "read, decide, then update"
- blueconst account = await Account.lock(id); if (account.balance < amount) throw new Error("no funds"); await Account.update(...);
- blueif you don't lock the row for reading, two withdrawals could read the balance and approve it
- phalethok, but I think locking is the problem that the database handles itself
- phalethapparently zig is slow on linux https://dennisforbes.ca/blog/microblog/2026/10/the_accidental_12000x_sqlite_slowdown/
- nevetShlemiel the Painter Is Back: How Zig’s libc Rewrite Made SQLite 12,000× Slower - Dennis Forbes
- bluezig dumpster fire..
- bluedreamreal: FYI https://repopack.com/project/primate/tasks/350
- bluewe also got Java and Rust GO-NO-GO slices for 0.45
- dreamreal+1
- blueI do not expect GOs on all three, but maybe kotlin will make it
- blueawww: "The evidence supports NO-GO for 0.45: the language/runtime bridge is viable, but actual Core session/transaction context, Primate build/asset integration, and stable interop remain unproven release blockers"
- blueI'm getting a second opinion by Sol 6.1.
- dreamrealdon't forget to tell it "make no mistakes" and "tell me yes"
- blueSol 6.1 is carrying the NO-GO verdict, unfortunately
- bluemy hands are tied, dreamreal :P
- blueoh nvm, Sol 6.1 now revised his verdict
- blueoh man, those clankers are an unreliable mess
- blueI'm gonna ask him what are the blockers for a GO
- bluewe're gonna get down to brass tacks here
- * phaleth quit (Quit: phaleth)
- blueVerdict: GO for Primate 0.45 implementation
- bluehow quickly the wind blows in the other direction...
- bluedreamreal: ^
- dreamrealheh
- * jreicher quit (Quit: In transit)
- * jreicher joined #primate
- blueWB jreicher.
- jreicherOT: watched a documentary I really enjoyed recently, "Welcome to Yiddishland". Has a few people in it I know, so I'm a little biased, but still I thought it was good and interesting.
- jreicher(The use of the word "shlemiel" above made me think of it)
- dreamrealblue: if you can't tell, I admire mcconnell quite a bit
- jreicherdreamreal: ?
- dreamrealjreicher: draft article, will msg
- dreamrealwarning: sausage being made
- jreicherInteresting. I agree with that refinement I think.
- jreicherYou could probably make a comment about the role refactoring plays.
- dreamrealjreicher: there are thiings going on in that article beyond the actual content, FWIW
- blueMoscow Mitch?
- bluethis guy is dead, no?
- blue(he doesn't mean that one, obv)
- bluedreamreal: btw, I think I don't have enough fingers, on ALL four limbs, to count the number of times I heard you mention him, or that work
- blueor that *term*, for that matter
- dreamrealreally? Huh. I didn't think I brought him up all that often. VERY influential, though
- dreamrealaccretion IS a term I use a good bit
- bluewhich HAD BEAN hitherto only known to me from SPACE
- dreamrealI'd have thought i'd bring up Steve Maguire a lot more than McConnell, but I admire McConnell a good bit more
- blue*nod*
- bluefirst concrete kotlin issue: ktlint prefers PascalCase; routes aren't wired like that
- blueclanker suggested, and I tend to concur, to offer `routes/extended-route/Index.kt → /extended-route`
- bluebut this revealed a bug in primate which will be fixed, which is, accepting sensitive case in routes
- dreamreal+1!
- blue(primate already allows you to do x/index.ts instead of x.ts; but this will be the suggested form for kotlin, instead you need hyphens in your routes
- blue)
- blues/instead/in case/
- blue→ rp verify ./rp
- blueverified ./rp as repopack/rp 0.2.0 artifact rp-0.2.0-linux-amd64 (8888480 bytes)
- blueSHA-256 81858530ef5dab52babee1794de09c6f1bb3d516e24b086a851843190f0f8aa6; lifecycle normal; access public; observed 2026-11-04T23:25:56.910Z
- blueIdentity only: a SHA-256 match does not establish software safety or reproducibility.
- bluedreamreal: this is kinda cool, no?
- bluethe output could be improved I think, but still
- dreamrealhah, yes