Recent Posts
Archives

Posts Tagged ‘dotJS2025’

PostHeaderIcon [DotJs2025] Prompting is the New Scripting: Meet GenAIScript

As generative paradigms proliferate, scripting’s syntax strains under AI’s amorphous allure—prompts as prosaic prose, yet perilous in precision. Yohan Lasorsa, Microsoft’s principal developer advocate and Angular GDE, unveiled GenAIScript at dotJS 2025, a JS-inflected idiom abstracting LLM labyrinths into lucid loops. With 15 years traversing IoT’s interstices to cloud’s canopies, Yohan likened this lexicon to jQuery’s jubilee: DOM’s discord domesticated, now GenAI’s gyrations gentled for mortal makers.

Yohan’s yarn recalled jQuery’s jihad: browser balkanization banished, events etherealized—20 years on, GenAI’s gale mirrors, models multiplying, APIs anarchic. GenAIScript’s grace: JS carapace cloaking complexities—await ai.chat('prompt') birthing banter, ai.forEach(items, 'summarize') distilling dossiers. Demos danced: file foragers (fs.readFile), prompt pipelines (ai.pipe(model).chat(query)), even AST adventurers refactoring Angular artifacts—CLI’s churn supplanted by semantic sorcery.

This superstructure spans: agents’ autonomy (ai.agent({tools})), RAG’s retrieval (ai.retrieve({query, store})), even vision’s vignettes (ai.vision(image)). Yohan’s yield: ergonomics eclipsing exhaustion—built-ins for Bedrock, Ollama; extensibility via plugins. Caveat’s cadence: tool for tinkering, not titanic tomes—yet frameworks’ fledglings may flock hither.

GenAIScript’s gospel: prompting’s poetry, scripted sans strife—democratizing discernment in AI’s ascent.

jQuery’s Echo in AI’s Era

Yohan juxtaposed jQuery’s quirk-quelling with GenAI’s gale—models’ menagerie, APIs’ anarchy. GenAIScript’s girdle: JS’s jacket jacketting journeys—chat’s cadence, forEach’s finesse.

Patterns’ Parade and Potentials

Agents’ agency, RAG’s recall—pipelines pure, vision’s vista. Yohan’s yarns: Angular migrations mended, Bedrock bridged—plugins’ pliancy promising proliferation.

Links:

PostHeaderIcon [DotJs2025] Code in the Physical World

The chasm between ethereal algorithms and tangible actuators has long tantalized technologists, yet bridging it demands more than simulation’s safety nets— it craves platforms that tame the tangible’s caprice. Joyce Lin, head of developer relations at Viam, bridged this divide at dotJS 2025, chronicling how open-source orchestration empowers coders to infuse IoT and robotics with JS’s fluidity. A trailblazer in hardware-software symphonies, Joyce demystified the real world’s rebellion against unit tests, spotlighting Viam’s registry as a conduit for browser-bound brains commanding distant drones.

Joyce’s epiphany echoed Rivian’s rueful recall: OTA firmware’s folly, bricking 3% of fleets via certificate snafus—simulation’s simulacrum shattered by deployment’s deluge. The physical’s peculiarities—unpredictable pings, sensor skews, mechanical murmurs—defy CI/CD’s certainties; failures fleck the field, from rover ruts to vacuum voids. Viam’s virtue: a modular mosaic, JS SDKs scripting behaviors atop a cloudless core. Joyce vivified with vignettes: a browser dashboard dispatching drone dances, logic lingering in tabs while peripherals pulse commands via WebSockets. Serial symphonies follow: laptop-launched loops querying quadrature encoders, fusing firmware’s fidelity with JS’s finesse.

This paradigm pivots potency: core cognition—path plotting, peril parsing—resides in reprovable realms, devices demoted to dutiful doers. Viam’s vista: modular motions, from gimbal glides to servo sweeps, orchestrated sans silos. AI’s infusion amplifies: computer vision’s vintage, now vivified by low-cost compute—models marshaled, fleets federated, data’s deluge distilled into adaptive arcs. NASA’s pre-planned probes pale beside this plasticity; vacuums’ vacuums evolve, shelves’ sentinels self-optimize.

Joyce’s jubilee: tech’s tangible thrust—from wearables’ whispers to autonomous autos—blurs bytes and brass. Viam’s vault: docs delving devices, SDKs summoning synths—inviting artisans to animate the ambient.

From Simulation to Sentience

Joyce juxtaposed Rivian’s reckoning with Viam’s resilience: OTA’s overreach underscoring physicality’s pitfalls—cert snares, signal storms. Browser-bound bastions: WebRTC webs weaving commands, logic liberated from latency’s lash.

Orchestrating the Observable

Viam’s vernacular: registries routing routines, JS junctions juggling joints—gimbal gazes, encoder echoes. AI’s ascent: models’ maturity, compute’s cascade—rover reflexes refined, vacuum vigils vivified.

Links:

PostHeaderIcon [DotJs2025] Supercharge Web Performance with Shared Dictionaries: The Next Frontier in HTTP Compression

In an era where digital payloads traverse global networks at breakneck speeds, the subtle art of data compression remains a cornerstone of efficient web delivery, often overlooked amid flashier optimizations. Antoine Caron, engineering manager for frontend teams at Scaleway, reignited this vital discourse at dotJS 2025, advocating for shared dictionaries as a transformative leap in HTTP efficiency. With a keen eye on performance bottlenecks, Antoine dissected how conventional compressors like Gzip and Brotli falter on repetitive assets, only to unveil a protocol that leverages prior transfers as reference tomes, slashing transfer volumes by up to 70% in real-world scenarios. This isn’t arcane theory; it’s a pragmatic evolution, already piloted in Chrome and poised for broader adoption via emerging standards.

Antoine’s clarion call stemmed from stark realities unearthed in the Web Almanac: a disconcerting fraction of sites neglect even basic compression, forfeiting gigabytes in needless transit. A Wikipedia load sans Gzip drags versus its zipped twin, a 15% velocity boon; jQuery’s minified bulk evaporates over 50KB under maximal squeeze, a 70% payload purge sans semantic sacrifice. Yet, Brotli’s binary prowess, while superior for static fare, stumbles on dynamic deltas—vendor bundles morphing across deploys. Enter shared dictionary compression: an HTTP extension where browsers cache antecedent responses as compression glossaries, enabling servers to encode novelties against these baselines. For jQuery’s trek from v3.6 to v3.7, mere 8KB suffices; YouTube’s quarterly refresh yields 70% thrift, prior payloads priming the pump.

This mechanism, rooted in Google’s erstwhile SDCH (Shared Dictionary Compression over HTTP) and revived in IETF drafts like Compression Dictionary Transport, marries client-side retention with server-side savvy. Chrome’s 2024 rollout—flagged under chrome://flags/#shared-dictionary-compression—harnesses Zstandard or Brotli atop these shared tomes, with Microsoft Edge’s ZSDCH echoing for HTTPS. Antoine emphasized pattern matching: regex directives tag vendor globs, caching layers sequester these corpora, subsequent fetches invoking them via headers like Dictionary: . Caveats abound—staticity’s stasis, cache invalidation’s curse—but mitigations like periodic refreshes or hybrid fallbacks preserve robustness.

Antoine’s vision extends to edge cases: CDN confederacies propagating dictionaries, mobile’s miserly bandwidths reaping richest rewards. As Interop 2025 mandates cross-browser parity—Safari and Firefox intent-to-ship signaling convergence—this frontier beckons builders to audit headers, prototype pilots, and pioneer payloads’ parsimony. In a bandwidth-beleaguered world, shared dictionaries don’t merely optimize; they orchestrate a leaner, more equitable web.

The Mechanics of Mutual Memory

Antoine unraveled the protocol’s weave: clients stash responses in a dedicated echelon, servers probe via Accept-Dictionary headers, encoding diffs against these reservoirs. Brotli’s static harbors, once rigid, now ripple with runtime references—Zstd’s dynamism amplifying for JS behemoths. Web Almanac’s diagnostics affirm: uncompressed ubiquity persists, yet 2025’s tide, per Chrome’s telemetry, portends proliferation.

Horizons of Header Harmony

Drafts delineate transport: dictionary dissemination via prior bodies or external anchors, invalidation via etags or TTLs. Antoine’s exhortation: audit via Lighthouse, experiment in canaries—Scaleway’s vantage yielding vendor variances tamed. As specs solidify, this symbiosis promises payloads pared, performance propelled.

Links:

PostHeaderIcon [DotJs2025] Coding and ADHD: Where We Excel

In tech’s torrent, where focus frays and novelty beckons, ADHD’s archetype—attention’s anarchy—often masquerades as malaise, yet harbors hidden harmonics for code’s cadence. Abbey Perini, a full-stack artisan and technical scribe from Atlanta’s tech thicket, celebrated these synergies at dotJS 2025. A Nexcor developer passionate about accessibility and advocacy, Abbey unpacked DSM-5’s deficits—deficit a misnomer for regulation’s riddle—subtypes’ spectrum (inattentive, impulsive, combined), reframing “disorder” as distress’s delimiter.

Abbey’s audit: ADHD’s allure in dev’s domain—dopamine’s deficit sated by puzzles’ pursuit, hyperfocus’s hurricane on hooks or heuristics. Rabbit holes reward: quirks queried, systems synthesized—Danny Donovan’s “itchy” unknowns quelled by Google’s grace. Creativity cascades: unconventional conundrums cracked, prototypes proliferating. Passion’s pendulum: “passionate programmer” badge, hobbies’ graveyard notwithstanding—novelty’s nectar, troubleshooting’s triumph.

Managerial missives: resets’ rapidity (forgetfulness as feature), sprints’ scaffolding (tickets as tethers, novelty’s nod). Praise’s potency: negativity’s nectar negated. Abbey’s anthem: fireworks in cubic confines—embrace eccentricity, harness hyperactivity for heuristics’ harvest.

Neurodiversity’s Nexus in Code

Abbey anatomized: DSM’s dated diction, subtypes’ shades—combined’s chaos, yet coding’s chemistry: dopamine drafts from debugging’s depths.

Strengths’ Spotlight and Strategies

Rabbit trails to resolutions, creativity’s cornucopia—Abbey’s arc: interviews’ “passion,” rabbit holes’ recall. Managerial mantra: sprints soothe, praise potentiates—ADHD’s assets amplified.

Links:

PostHeaderIcon [DotJs2025] The Wind & Waves: The Formation of Framework Waves from the Epicenter

Innovation’s lore lionizes lone geniuses, yet history hums with harmonies—cumulative currents cresting into cascades. Sarah Drasner, Google’s senior director of engineering for core web, Android, iOS, and multiplatform infrastructure, charted this choreography at dotJS 2025. A Vue core emerita, Netlify VP alumna, and O’Reilly scribe, Sarah traced frameworks’ flux—from Backbone’s bones to Angular’s avalanches—positing epicenters as convergence crucibles, birthing waves that buoy the brigade.

Sarah’s seascape: computers’ chronicle, from Jacquard’s loom to Turing’s theorem—ENIAC’s expanse atop Shannon’s switches, Colossus’s knobs yielding to Atanasoff’s binaries. JS’s journey mirrors: Knockout’s observables igniting reactivity, Backbone’s MVC mutating into Ember’s ambitions, React’s components catalyzing cascades. Angular’s arc: 2010’s directive deluge, RxJS’s reactive rivers, Ivy’s incremental ignition—each epoch echoing externalities, from mobile’s mandate to PWAs’ promise.

2025’s surge: signals’ symphony across Solid, Svelte, Vue—Angular’s zoneless zeal, deferrable views. Sarah spotlighted simplifications: routing’s brevity, docs’ dynamism—sandboxes, examples emergent. Future’s froth: DevEx elevations, injection’s alacrity, forms’ finesse—frameworks as flotillas, not fortresses.

This tidal tale: waves from winds of whim and wisdom, epicenters echoing eternally.

Historic Harmonies and Heuristics

Sarah surveyed swells: Knockout’s knots to React’s rivulets, Angular’s directives damming data flows—each innovation an eddy, externalities (mobile, PWA) eddying onward.

Angular’s Avalanche and Allies

Ivy’s ignition, signals’ spread—zoneless zephyrs, defer’s dispatch. Sarah’s stewardship: docs distilled, routing refined—frameworks’ fellowship fostering flux.

Links:

PostHeaderIcon [DotJs2025] Modern Day Mashups: How AI Agents are Reviving the Programmable Web

Nostalgia’s glow recalls Web 2.0’s mashup mania—APIs alchemized into novelties, Google Maps wedding Craigslist for HousingMaps’ geospatial grace. Angie Jones, Block’s global VP of developer relations and 27-patent savant, resurrected this renaissance at dotJS 2025, heralding AI agents as programmable web’s phoenix via MCP (Model Context Protocol). An IBM Master Inventor turned educator, Angie’s odyssey—from virtual worlds to Azure’s principal—now orchestrates Goose, Block’s open-source agent, mashing MCPs for emergent enchantments.

Angie’s arc: 2000s’ closed gardens yielded to API avalanches—crime overlays, restaurant radars—yet silos stifled. AI’s advent: agents as conductors, LLMs querying MCPs—modular connectors to calendars, codebases, clouds. Goose’s genesis: MCP client, extensible via SDKs, wielding refs like filesystem fetches or GitHub grapples. Demos dazzled: Slack summons, Drive dossiers, all agent-autonomous—prompts birthing behaviors, mashups manifesting sans scaffolding.

MCP’s mosaic: directories like Glama AI’s report cards (security scores, license litmus), PostMCP’s popularity pulses, Block’s nascent registry—metadata-rich, versioned vaults. 2025’s swell: thousands tally, community curating—creators crafting custom conduits, from Figma flows to Figma fusions. Angie’s axiom: revive 2000s’ whimsy, amplified—productivity’s polish, creativity’s canvas—democratized by open forges.

This resurgence: agents as artisans, web as workshop—mash to manifest, share to spark.

Mashup’s Metamorphosis

Angie animated epochs: HousingMaps’ heuristic hacks to MCP’s modular might—agents querying conduits, emergent apps from elemental exchanges. Goose’s grace: SDK-spawned servers, refs routing realms—Slack’s summons, Drive’s deluge.

MCP’s Marketplace and Momentum

Directories discern: Glama’s grades, PostMCP’s pulses—Block’s beacon unifying. Thousands thrive, tinkerers tailoring—Figma to finance, fun’s frontier.

Links:

PostHeaderIcon [DotJs2025] Live Coding with Ryan Dahl: Deno and OpenTelemetry

Observability’s quest in serverless seas once drowned in bespoke boilerplate; enter Deno’s alchemy, fusing runtime rigor with OpenTelemetry’s ubiquity. Ryan Dahl, Node’s progenitor and Deno Land’s CEO, live-wove this tapestry at dotJS 2025, showcasing zero-config traces illuminating JS’s shadowy underbelly. From UCSD’s mathematical meadows to ML’s machine wilds, Ryan’s odyssey—secure-by-default Deno, TypeScript’s native nest—now embraces OTEL’s triad: logs, metrics, spans.

Ryan’s canvas: a toy API, user IDs fetched, errors eventual—mundane yet ripe for revelation. Deno’s infusion: Deno.metrics(), console.log piped to OTEL, spans auto-spanning HTTP arcs. Exporter’s elegance: Jaeger console, traces unfurling waterfalls—entrypoints to exits, attributes annotating arcs. Live, Ryan scaffolded: import OTEL, configure exporter, instrument fetches—redeploy to Deno Deploy, logs and traces blooming in tandem. Nanoseconds’ narrative: cold starts eclipsed, polyglot peace via WIT interfaces—Rust greeters yielding to TS handlers.

This symbiosis scales: production probes sans proxies, Deno Deploy’s horizon harboring holistic views. Ryan’s aside: Oracle’s JS trademark tyranny—a cease-and-desist specter stifling “JSConf”—spurred javascript.tm’s petition, amassing allies against anachronistic anchors.

Deno’s decree: OTEL’s open arms, JS’s joyful instrumentation—debugging demystified, deployments discerned.

Instrumentation’s Instantaneity

Ryan rendered realms: metrics via Deno.metrics(), logs laced with OTEL, spans spanning sans strife. Jaeger’s vista: waterfalls whispering workflows, attributes authoring arcs—live, a fetch’s fate traced, errors etched eternally.

Horizons and Heresies

Deno Deploy’s dawn: traces native, nanoseconds’ narrative. Ryan rallied: sign javascript.tm, reclaim JS’s soul—petition’s progress, public’s power against Oracle’s overhang.

Links:

PostHeaderIcon [DotJs2025] Love/Hate: Upgrading to Web2.5 with Local-First

The web’s saga brims with schisms—web versus native, TypeScript versus vanilla—each spawning silos where synergy beckons. Kyle Simpson, a human-centric technologist and getify’s architect, bridged these chasms at dotJS 2025, advocating “Web2.5”: a local-first ethos reclaiming autonomy from cloud colossi. Acclaimed for “You Don’t Know JS” and a million course views, Kyle chronicled divides’ deceit, positing device-centric data as the salve for privacy’s plight and ownership’s erosion.

Kyle’s parable evoked binaries’ burden: HTML/CSS zealots scorning JS behemoths, frontend sentinels eyeing backend warily. False forks abound—privacy or ease? Security or swiftness? Ownership or SaaS servitude? Web2’s vendor vassalage—Apple/Google hoarding silos—exacts tribute: data’s ransom, identity’s lease. Local-first inverts: custody on-device, apps as data weavers, CRDTs (conflict-free replicated data types) syncing sans servers. Kyle’s trinity: user sovereign identity (DID—decentralized identifiers), data dominion (P2P meshes like IPFS), app perpetuity (long-now principle: timeless access).

Ink & Switch’s manifesto inspired: seven tenets—privacy by design, gradual sync, offline primacy—Kyle adapted for Web2.5. ElectricSQL’s Postgres mirror, Triplit’s reactive stores—tools transmuting apps into autonomous agents. No zero-sum: convenience persists via selective shares, resilience through federated backups. Kyle’s mea culpa: complicit in Web2’s centralization, now atonement via getify’s culture forge, championing minimalism’s maxim.

This ascent demands audacity: query complicity in data’s despoliation, erect bridges via local-first. Web2.5 beckons—a participatory paradigm where users, not platforms, preside.

Divides’ Deception and Bridges’ Blueprint

Kyle cataloged rifts: frameworks’ feuds, stacks’ schisms—each zero-sum sophistry. Local-first liberates: DIDs for self-sovereign selves, CRDTs for seamless merges, eschewing extractive empires. Ink & Switch’s axioms—user control, smooth sync—Kyle reframed for web’s wilderness.

Pillars of Possession

Autonomy’s arch: device-held data, P2P propagation—ElectricSQL’s replicas, Triplit’s reactivity. Longevity’s lore: apps eternal, subscriptions supplanted. Kyle’s query: perpetuate Web2’s plunder or pioneer Web2.5’s plenty?

Links:

PostHeaderIcon [DotJs2025] Using AI with JavaScript: Good Idea?

Amid the AI deluge reshaping codecraft, a tantalizing prospect emerges: harnessing neural nets natively in JavaScript, sidestepping Python’s quagmires or API tolls. Wes Bos, a prolific Canadian educator whose Syntax.fm podcast and courses have schooled half a million in JS mastery, probed this frontier at dotJS 2025. Renowned for demystifying ES6 and React, Wes extolled browser-bound inference via Transformers.js, weighing its virtues—privacy’s fortress, latency’s lightning—against hardware’s hurdles, affirming JS’s prowess for sundry smart apps.

Wes’s overture skewered the status quo: cloud fetches or Python purgatory, both anathema to JS purists. His heresy: embed LLMs client-side, ONNX Runtime fueling Hugging Face’s arsenal—sentiment sifters, translation tomes, even Stable Diffusion’s slimmer kin. Transformers.js’s pipeline paradigm gleams: import, instantiate (pipeline('sentiment-analysis')), infer (result = await pipe(input)). Wes demoed a local scribe: prompt yields prose, all sans servers, WebGPU accelerating where GPUs oblige. Onyx.js, his bespoke wrapper, streamlines: model loads, GPU probes, inferences ignite—be it code completion or image captioning.

Trade-offs tempered triumph. Footprints fluctuate: 2MB wisps to 2GB behemoths, browser quotas (Safari’s 2GB cap) constraining colossi. Compute cedes to client: beefy rigs revel, mobiles murmur—Wes likened Roblox’s drain to LLM’s voracity. Yet, upsides dazzle: zero egress fees, data’s domicile (GDPR’s grace), offline oases. 2025’s tide—Chrome’s stable WebNN, Firefox’s flag—heralds ubiquity, Wes forecasting six-month Safari stability. His verdict: JS, with its ubiquity and ecosystem, carves niches where immediacy reigns—chatbots, AR filters—not every oracle, but myriad muses.

Wes’s zeal stemmed personal: from receipt printers to microcontroller React, JS’s whimsy fuels folly. Transformers.js empowers prototypes unbound—anime avatars, code clairvoyants—inviting creators to conjure without concessions.

Client-Side Sorcery Unveiled

Wes unpacked pipelines: sentiment sorters, summarizers—Hugging Face’s trove, ONNX-optimized. Onyx’s facade: await onnx.loadModel('gpt2'), GPU fallback, inferences instantaneous. WebGPU’s dawn (Chrome 2025 stable) unlocks acceleration, privacy paramount—no telemetry trails.

Balancing Bytes and Burdens

Models’ mass mandates moderation: slim variants suffice for mobile, diffusion downsized. Battery’s bite, CPU’s churn—Wes warned of Roblox parallels—yet offline allure and cost calculus compel. JS’s sinew: ecosystem’s expanse, browser’s bastion, birthing bespoke brains.

Links:

PostHeaderIcon [DotJs2025] Node.js Will Use All the Memory Available, and That’s OK!

In the pulsating heart of server-side JavaScript, where applications hum under relentless loads, a persistent myth endures: Node.js’s voracious appetite for RAM signals impending doom. Matteo Collina, co-founder and CTO at Platformatic, dismantled this notion at dotJS 2025, revealing how V8’s sophisticated heap stewardship—far from a liability—empowers resilient, high-throughput services. With over 15 years sculpting performant ecosystems, including Fastify’s lean framework and Pino’s swift logging, Matteo illuminated the elegance of embracing memory as a strategic asset, not an adversary. His revelation: judicious tuning transforms perceived excess into a catalyst for latency gains and stability, urging developers to recalibrate preconceptions for enterprise-grade robustness.

Matteo commenced with a ritual lament: weekly pleas from harried coders convinced their apps hemorrhage resources, only to confess manual terminations at arbitrary thresholds—no crashes, merely preempted panics. This vignette unveiled the crux: Node’s default 1.4GB cap (64-bit) isn’t a leak’s harbinger but a deliberate throttle, safeguarding against unchecked sprawl. True leaks—orphaned closures, eternal event emitters—defy GC’s mercy, accruing via retain cycles. Yet, most “leaks” masquerade as legitimate growth: caches bloating under traffic, buffers queuing async floods. Matteo advocated profiling primacy: Chrome DevTools’ heap snapshots, clinic.js’s flame charts—tools unmasking culprits sans conjecture.

Delving into V8’s bowels, Matteo traced the Orinoco collector’s cadence: minor sweeps scavenging new-space detritus, majors consolidating old-space survivors. Latency lurks in these pauses; unchecked heaps amplify them, stalling event loops. His panacea: hoist the ceiling via --max-old-space-size=4096, bartering RAM for elongated intervals between majors. Benchmarks corroborated: a 4GB tweak on a Fastify benchmark slashed P99 latency by 8-10%, throughput surging analogously—thinner GC curves yielding smoother sails. This alchemy, Matteo posited, flips economics: memory’s abundance (cloud’s elastic reservoirs) trumps compute’s scarcity, especially as SSDs eclipse HDDs in I/O velocity.

Enterprise vignettes abounded. Platformatic’s observability suite, Pino’s zero-allocation streams—testaments to lean design—thrive sans austerity. Matteo cautioned: leaks persist, demanding vigilance—nullify globals, prune listeners, wield weak maps for caches. Yet, fear not the fullness; it’s V8’s vote of confidence in your workload’s vitality. As Kubernetes autoscalers and monitoring recipes (his forthcoming tome’s bounty) democratize, Node’s memory ethos evolves from taboo to triumph.

Demystifying Heaps and Collectors

Matteo dissected V8’s realms: new-space for ephemeral allocations, old-space for tenured stalwarts—Orinoco’s incremental majors mitigating stalls. Defaults constrain; elevations liberate, as 2025’s guides affirm: monitor via --inspect, profile with heapdump.js, tuning for 10% latency dividends sans leaks.

Trading Bytes for Bandwidth

Empirical edges: Fastify’s trials evince heap hikes yielding throughput boons, GC pauses pruned. Platformatic’s ethos—frictionless backends—embodies this: Pino’s streams, Fastify’s routers, all memory-savvy. Matteo’s gift: enterprise blueprints, from K8s scaling to on-prem Next.js, in his 296-page manifesto.

Links: