Peter Kröner
@sirpepe.bsky.social
130 followers 100 following 650 posts
Shitposting about vanilla #webdev. Also there's cat pictures and bursts of travel. Reading web technology specs and doing training/consulting on said web technologies. Also at @[email protected]
Posts Media Videos Starter Packs
Pinned
sirpepe.bsky.social
Öffentliche Erklärbär-Termine 1. Halbjahr 2025

www.peterkroener.de/oeffentliche...
sirpepe.bsky.social
Trapped in Lower Bavaria, send help
Phone connectivity status indicating mere traces of 2G
sirpepe.bsky.social
I'm sure it makes sense to her #cats
Ragdoll cat has wedged herself under a pillow
sirpepe.bsky.social
The plan was to just modularize language loading in Code.Movie's online playground. Now there is basically no pixel where it was before 🫠
sirpepe.bsky.social
Low-key hating the fact that #TypeScript does indeed type check the arguments to Array.prototype.includes(), Set.prototype.has() and the like.
const things = [1, "a", false];

// (╯°□°)╯︵ ┻━┻
if (things.includes(null)) {
}
sirpepe.bsky.social
Joke's on me: the conference has 4 AI tracks, one for Blockchain (!) and bunch of backend/culture stuff. Nothing for straight up JS 🤡
sirpepe.bsky.social
I am apparently going full joker for this next round of #webdev and #javascript conference CfPs.
Extreme Rules Lawyering with the ECMAScript Specifications

Nerds all over the galaxy agree: TECHNICALLY correct is the best kind of correct! So why not mine the ECMAScript specifications for some technically valid JavaScript programs that “work”, but only by exploiting a wide variety of obscure semantic loopholes on the way? This talk goes far beyond mere syntactical obfuscation and explores the absolute fringes of JavaScript—for fun and for very, very little profit. Let us summon forbidden objects, unearth unholy functions that are not meant to be developer-accessible, and abuse features that TC39 would REALLY like to sweep under the rug.

Anybody can follow “best practices” and write “readable code”, so how about learning something actually new and unique? This session will instantly turn you into a living and breathing JavaScript infohazard, uniquely able to conjure up valid JavaScript programs that even ChatGPT could not hallucinate.
Reposted by Peter Kröner
jcoglan.com
adding "genuinely concerned this is a cognitohazard" to my list of reasons for avoiding AI tools
Reposted by Peter Kröner
sirpepe.bsky.social
The quick and dirty #PWA that serves as my timer app for talks is 260 LOC JS (excluding the auto-generated service worker). This is simultaneously not much and quite a lot. But it would be SO MUCH MORE without the Temporal and Intl APIs! Truly game-changing additions to #JavaScript!
sirpepe.bsky.social
The quick and dirty #PWA that serves as my timer app for talks is 260 LOC JS (excluding the auto-generated service worker). This is simultaneously not much and quite a lot. But it would be SO MUCH MORE without the Temporal and Intl APIs! Truly game-changing additions to #JavaScript!
sirpepe.bsky.social
I need a derogatory term for moderately unhinged LLM enthusiasts that does not _immediately_ warrant challenging me to a duel. Cogsucker and botlicker are just too spicy for some use cases. Is there any established, but only mildly offensive term for that sort of guy?
Reposted by Peter Kröner
sirpepe.bsky.social
Started to add dashes to the names of all the custom events that I make up. This is not strictly required, but like with custom elements, it removes the risk of collision with new standards and makes custom and built-in events easy to tell apart.

#webdev #JavaScript #webcomponents
JavaScript class method definition:

@listen("click", "button[data-value]")
#handleQuickPick(evt) {
  this.dispatchEvent(
    Object.assign(new Event("gutter-editor-pick"), {
      value: evt.target.dataset.value,
    }),
  );
}
sirpepe.bsky.social
🤡 The so-called "International _JavaScript_ Conference" sports a track for Angular and a track for React.

Also there's a track for AI Devtools, one for GenAI & Agents (not to be confused with "GenAI and LLMs", which is its own separate track) and also AI Strategy and AI Governance of course.

Yeah.
sirpepe.bsky.social
Even more podcasting for @workingdraft.de! This time with @deadparrot.dev about the latest developments in and around #typescript
sirpepe.bsky.social
Idly fact-checking MDN (as you do) yields more superb error messages: "cannot directly construct builtin %TypedArray%"

Browsers are so bad at this. This is FF, but Chrome's "Abstract class TypedArray not directly constructable" is not better.

#webdev #JavaScript
Firefox reporting "Uncaught TypeError: cannot directly construct builtin %TypedArray%" when I try to coax a naked TypedArray into existence (which is supposed to be impossible)
sirpepe.bsky.social
Started to add dashes to the names of all the custom events that I make up. This is not strictly required, but like with custom elements, it removes the risk of collision with new standards and makes custom and built-in events easy to tell apart.

#webdev #JavaScript #webcomponents
JavaScript class method definition:

@listen("click", "button[data-value]")
#handleQuickPick(evt) {
  this.dispatchEvent(
    Object.assign(new Event("gutter-editor-pick"), {
      value: evt.target.dataset.value,
    }),
  );
}
sirpepe.bsky.social
It's true: if you DIY your web #frontend you miss out on numerous features! Like supply chain attacks, IP laundering via stochastic parrot, and, lately, simping for war criminals. But, y'know, tradeoffs! 🤡

#webdev #JavaScript

nitter.net/rauchg/statu...
Reposted by Peter Kröner
sirpepe.bsky.social
Current status:

#webdev #javascript
Fake O'Reilly book cover "Essential Changing Stuff and Seeing What Happens"
sirpepe.bsky.social
Current status:

#webdev #javascript
Fake O'Reilly book cover "Essential Changing Stuff and Seeing What Happens"