JavaScript musician????? Building an open-source web-based rhythm game @bemusegame (please try it thx!). Amateur music composer (a.k.a. flicknote). Christian.
Race conditions are often not given the attention they deserve. @dtinth joined us from Bangkok for the 2nd time to share another insightful talk on coding practices, this time on managing these race conditions. https://t.co/kOYhneTan4
@mattpocockuk What works well for me is doing acceptance-/tdd (ATDD) at the unit level.
1. Grill on acceptance criteria + example
2. Translate the English example as closely as TypeScript syntax allows (pictured)
3. Agent implements the units, along with the tester DSL informing future tests
@johnny5feels@mitchellh Nowadays much easier: Ask a coding agent to compare changes between the originally-forked version and latest, then "port" in the new performance improvements.
@mattpocockuk@GergelyOrosz We run a bridge between Discord and a coding agent harness (OpenCode here), now we can have collaborative grilling sessions.
The bridge just pass along thread events from Discord (as JSON - the model can deal with it) and sends back model progress/output.
@mattpocockuk Yes, doing it before agents and now with agents. I don't see it as mutually exclusive to PRs though; we still use PRs but feature flags allows our PRs to be small.
Known as "scaled trunk based development", with feature flags as an enabler - https://t.co/QO4aFsiaiX
@thdxr It would depend on whether the server can hot-reload config.
Without it: I change opencode.json → Restart OpenCode → stale config → ??? → figured out it's the daemon that needs restarting, but how? (status quo better)
With hot-reload, having a bg server seems better.
Elysia research paper is now on ACM digital library talking about Elysia's "kinda compiler"
It's a 6 page so we can't cover all the stuff but it includes the idea, the basic implementation, and the benefit
@kumard_3@JorisvanHaeren@localhost_5173 I accidentally made bugs like this too, even when I used React since 2014—can confirm it's very subtle.
It's a small app; no CPU spike when rerendering. It’s Firebase so everything goes thru WS; no request spamming.
I only noticed when Firebase bills me $10/day for bandwidth.
@saltyAom I really enjoy deploying Elysia-based services to @deno_land Deno Deploy as a Playground.
Deno automatically fetches the Elysia dependency and deploys it, so I can quickly build adhoc endpoints.
https://t.co/nnMd4f4V3O
@mattpocockuk I define an interface with all base services like:
interface Ctx {
fs: typeof import('node:fs/promises')
// others…
}
Functions that participate in DI take a subset of `ctx` as 1st parameter:
async function loadArticle(ctx: Pick<Ctx, 'fs'>, …)
@JamesIvings My guess would be memoizing an unbounded number of things without clearing? e.g. using a Map/object instead of WeakMap / lru-cache / external cache store
@saltyAom Congrats on the new release!
I reported a few regressions.
Btw I’m taking my notes about Elysia here based on my use cases, using techniques inspired by snapshot testing, so I know when new releases caused something to crash:
https://t.co/K0riYXn23k
Deno 2.0 blog announcement mentioned that Deno HTT is faster than Bun
Following the blog they reference, there were no repo nor code we could run on our end
I edit my benchmark to include Deno and the result was Bun is significantly faster unlike the claim?
Excited to be sponsoring tickets for the next generation of JavaScript developers in Bangkok 🎓
Join @JSBangkok and learn from some awesome workshops and talks! Apply here 👇
@nucknyan@mattpocockuk oh you’re right!
the spec does specifically mention UTF-16:
“each element in the String is treated as a UTF-16 code unit value.”
i guess i tried to convey that ECMAScript uses UTF-16 for its character-code mapping, but not necessarily its encoding format.