Our Fight With Oracle Is Getting Crazy…, by @deno_land:
Our Fight With Oracle Is Getting Crazy…, by @deno_land:
The new integrated Markdown parser I’ve been implementing in Kitten has been kicking my ass for the past few weeks but I think I finally have it fully working and seamlessly so. Expect a new release this/next week that brings the parsing of Markdown pages (.page.md files) in your apps up to the standard of the recently-improved runtime Markdown parsing in Kitten HTML tagged-template strings (within `<markdown>…</markdown>` blocks).
The coolest thing is I was able to implement this without introducing any new syntax. In fact, I was able to simplify things so that you can now add arbitrary JavaScript to your Markdown pages within a multi-line script block in the YAML front matter (`script: |`) and use JavaScript string interpolation syntax in your Markdown (and, of course, Kitten components and conditionals, which, themselves, rely on string interpolation).
The only place where you have to deviate from standard Markdown in your Markdown pages is if you have JavaScript string interpolations or Kitten components/conditionals in code fences within your Markdown. In that case, you’ll have to escape them (e.g., `<\${Component} />`, `\<if \${something}>something\</if>`, etc.). And, to be fair, the person most impacted by this is likely me as the Kitten documentation at https://kitten.small-web.org is written in Kitten so I had a lot of escaping to do. But for any other use case, it means that things should just work and work exactly as they do in JavaScript pages (page.js files).
Anyway, so this is going to be a breaking change so I thought I’d give you (the three of you playing with Kitten right now?) a heads up. Of course, I’ll be updating the documentation to reflect all this.
(Remember, Kitten is in pre-release and it’s the framework I’m building/using to create Catalyst – the Small Web hosting solution – and Yarn – a small web – peer to peer – personal site app. So Kitten isn’t the means, not the end. And, at least until the Version 1 API freeze, things can and will break. That said, there’s nothing stopping you from playing with it now and, to be fair, at this point, such breaking changes should become rarer and rarer).
**Update**
There's actually a simpler workaround for the problem of a button within a shadow root not being able to target its host with a command invocation. Check out the updated CodePen contained herein!
(hint: it's all thanks to the handy-dandy `commandForElement` property!)
https://thathtml.blog/2025/07/more-fun-with-invoker-commands-web-components/
Version 2.4 of "Famsite", my self-hosted social media site, now features my Faceclick Emoji picker. (I'll be releasing Faceclick itself soon, I just need to finish the README.)
The Emoji picker more than doubled the size of the project, it's over 100Kb now. But hey, you can still fit 10 copies on a floppy!
Also note that 2.1 added the grouping of daily word game result comments, a huge improvement for _my_ family.
My criticism about #PHP Fibers after two years of implementation:
You will still use #FrankenPHP.
I'm still wishing for PHP to handle async IO like #Golang does, especially when you want a database query or a file processing that will take its sweet time while you do something else.
JavaScript Isn’t the Problem—Replacing the Browser Was, by @p4p8.bsky.social (@redwoodjs.com):
Mocking! Wie mache ich denn das?
Wir haben 3 Patterns für euch, die wir gerne nutzen.
Schaut doch mal rein!
#DevLog: #Anklang #IPC Bindings
Cleaned up #API for IPC and simplified it
Rewrote C++ <-> #JavaScript binding generator in #TypeScript
Improved code generation for handling of accessors
Tested updated #NPM dependencies
Ah, and also, forgot to mention this change:
Improved:
• Debugging your Kitten app is now easier when you run it using `INSPECT=true kitten …` as the Node runtime is launched using the `--inspect-brk` tag instead of the `--inspect` tag. This means that execution will wait for your debugger (e.g., Chromium’s DevTools at `chrome://inspect`, etc.) to connect before starting the server. This makes it possible to hit breakpoints that might previously have been impossible to reach as they occured before you had a chance to run the debugger.
Full change log:
https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2025-08-12
New Kitten Release
Housekeeping:
• Updated runtime version to Node version 22.18.0 (latest LTS).
• Removed `--experimental-global-customevent` in node launch command (as `CustomEvent` is no longer behing the CLI flag since Node v19.0.0)
• Renamed `--experimental-loader` flag to `--loader` as the experimental prefix is no longer required.
Enjoy!
So, JavaScript Proxy objects
A neat effect I just noticed in my "frontend framework": the render logic looks for a method called "render" to, well, render the component. Making the method private changes its _actual_ name from "render" to "#render" (because that's how JS rolls), which means that the render logic just does nothing (because there's no method named "render") instead of crashing while trying to access a private method. Just because private identifiers are different from regular identifiers
A good friend of mine is looking for a JavaScript developer to code a small interactive animation as part of an art project that will be exhibited at the Photography Triennale in Indonesia in September.
For details about the project and the payment contact Rebecco Ann Tess at studio@rebeccaanntess.com https://rebeccaanntess.com
Javascript des tages
Na, wie gut klappt das mit dem verschleiern, was javascript eigentlich tut?
Das kannte ich noch gar nicht. Gefunden habe ich den lustigen link bei golem [arschivversjon], wo über etwas anderes, genau so absurdes berichtet wurde, das mir ebenfalls noch nicht bewusst war:
Die meisten Anwender halten Bilddateien für harmlos und neigen daher dazu, diese leichtfertig zu öffnen. Jedoch sind SVG-Dateien in XML geschrieben und können auch Javascript-Code enthalten, der bei der Anzeige ausgeführt wird. Bei den von Malwarebytes untersuchten Fällen war dieser Code zum Großteil durch eine Technik namens JSFuck verschleiert.
Aufgabe des Schadcodes in den SVG-Dateien war es, den Likejack-Trojaner nachzuladen. Dieser betätigte dann im Hintergrund heimlich den Like-Button der Facebook-Beiträge der Pornoseitenbetreiber. Dafür muss der Besucher zwar parallel in seinem Webbrowser bei Facebook angemeldet sein, bei regelmäßig aktiven Nutzern ist diese Bedingung allerdings häufig erfüllt
In SVG-bildchen kann man javascript reinmachen? Warum, zum hackenden henker, warum? Und ein webbrauser, der das bildchen dann anzeigt, führt das javascript einfach aus? Warum, zum hackenden henker, warum? Welches reale technische problem — jenseits der wünsche einer halbseidenen und asozjalen reklame- und überwachungswirtschaft — wird mit diesem funkzjonsmerkmal in webbrausern gelöst? Na, dann auch weiterhin viel spaß beim rumklicken! Wird halt alles mit scheiße zugeschissen.
Sit On Your Ass Web Development
https://blog.jim-nielsen.com/2025/sit-on-your-ass-web-dev/
"Trust your research. Trust your choices. Don’t tinker. Don’t micromanage. Don’t panic. Just let the compounding effects of a good choice work in your favor."
#TypeScript 5.9 is here!
New in this release: Support for deferred imports
Improved default project setup via the scaffolding flag
More stable module resolution mode for Node.js v20
Learn more: https://bit.ly/4fycgmB
Now this animation is available for the 1000 sequences decomposed on my website.
Accessible from the 3Dgraph, 2Dgraph500terms and 2dgraphs pages https://decompwlj.com
A little more work on axis sizing and controls.
4: The palindromes in base 10 (A002113) https://decompwlj.com/3DgraphGen/Palindromes.html
3: The triangular numbers (A000217) https://decompwlj.com/3DgraphGen/Triangular_numbers.html