The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘JavaScript/ECMAScript’ Category

Know your TypeScript/JavaScript operators… or why having little ceremony sometimes makes programmers life harder

Posted by jpluimers on 2026/05/12

const a = undefined; const result1 = a ?? 0 + 10; const b = 100; const result2 = b ?? 0 + 10;Take this cool example I extended from [Wayback/Archive] Thomas 🅰️🇨🇵 on Twitter: “#Typescript quizz What will be the value of result1 and result2 ?” which lacked alt-badge, so I [Wayback/Archive] responded with the image on the right that has alt-text.

Based on that, I added a bit of logging:

const a = undefined;
const result1 = a ?? 0 + 10;

const b = 100;
const result2 = b ?? 0 + 10;

console.log(result1);
console.log(result2);

Two questions:

  1. What is the output of both log lines?

Read the rest of this entry »

Posted in .NET, C#, Conference Topics, Conferences, Continuous Integration, Delphi, Development, Event, Java, Java Platform, JavaScript/ECMAScript, Maven, Scripting, Software Development, TypeScript | Leave a Comment »

Devs of VS Code extensions are leaking secrets en masse • The Register

Posted by jpluimers on 2026/05/07

Reminder from a while back: all your development tools are belong to us: [Wayback/Archive] Devs of VS Code extensions are leaking secrets en masse • The Register

--jeroen

Posted in Development, JavaScript/ECMAScript, Scripting, Software Development, TypeScript, vscode Visual Studio Code | Leave a Comment »

AbortController is your friend

Posted by jpluimers on 2026/05/06

Cool post [Wayback/Archive] AbortController is your friend starting with

One of my favorite new features of JS is the humble AbortController, and its AbortSignal. It enables some new development patterns, which I’ll cover below, but first: the canonical demo.

It’s to use AbortController to provide a fetch() you can abort early:

It then continues with a series of nice use cases.

Via [Wayback/Archive] Roderick Gadellaa on Twitter: “Late to the party here (was published in June last yr) but great read if you (like me) missed it”.

Video at [Wayback/Archive] AbortController is your friend – YouTube.

–jeroen

Read the rest of this entry »

Posted in Development, JavaScript/ECMAScript, Scripting, Software Development, Web Development | Leave a Comment »

A retro font: Glass TTY VT220

Posted by jpluimers on 2026/05/04

Via [Wayback/Archive] Der Kneisner M100 – oder das “once in a lifetime project” | Computermuseum Visselhövede, about an IMSAI 8080 clone, I bumped into the VT220 based Glass TTY VT220 font and found some links of it and it’s modifications which are listed below by category

Read the rest of this entry »

Posted in 8080, Development, Font, History, JavaScript/ECMAScript, LifeHacker, Power User, Retrocomputing, Scripting, Software Development | Tagged: , , , | Leave a Comment »

Some Twitter internals after I found GitHub – offish/twitter-broadcast-downloader: Download Twitter broadcasts/lives

Posted by jpluimers on 2026/04/30

Found this while trying to find the source from which I constructed this Bookmarklet which from a Tweet URL returns the JSON metadata which has all the links to media (like images and videos) as it failed for broadcasts:

javascript:{ tweetID = document.location.href.split('/').filter(e => e).slice(-1); url = new URL(`https://cdn.syndication.twimg.com/tweet-result?id=${tweetID}&token=!`); open(url); }

I could not find that back, but did find [Wayback/Archive] GitHub – offish/twitter-broadcast-downloader: Download Twitter broadcasts/lives via these query steps:

Read the rest of this entry »

Posted in Bookmarklet, Development, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers | Leave a Comment »

Some pages that have lists of Amazon toplevel domains

Posted by jpluimers on 2026/04/16

Amazon has activities spread across many different countries and regions, heck they even own their own toplevel domain .amazon.

Yesterday in Online tools to test JSONPath Queries (plus a small list of Amazon top level domains) I wrote about the JSON parsing I did for Download your Kindle books soon, because Amazon will block them after February 25, 2025 .

The source of that list is [Wayback/Archive] Amazon operating domains by country. · GitHub [Wayback/Archive] in the file amazon-domains.json.

In the meantime, I finally managed to go through a list of old open browser tabs having more of such lists. Here they are:

Read the rest of this entry »

Posted in Development, JavaScript/ECMAScript, JSON, JSONPath, Scripting, Software Development, Web Development | Leave a Comment »

Online tools to test JSONPath Queries (plus a small list of Amazon top level domains)

Posted by jpluimers on 2026/04/15

I wanted to parse some JSON being sent back during an XMLHttpRequest (what a wrongly named call is that!) of which I grabbed the content using the web development tools of my Chromium based browser.

Input

I got this list of amazon top level domain names from research I did for my blog post Download your Kindle books soon, because Amazon will block them after February 25, 2025 . The source is [Wayback/Archive] Amazon operating domains by country. · GitHub [Wayback/Archive] in the file amazon-domains.json:

{
    "us": "https://www.amazon.com",
    "uk": "https://www.amazon.co.uk",
    "ca": "https://www.amazon.ca",
    "de": "https://www.amazon.de",
    "es": "https://www.amazon.es",
    "fr": "https://www.amazon.fr",
    "it": "https://www.amazon.it",
    "jp": "https://www.amazon.co.jp",
    "in": "https://www.amazon.in",
    "cn": "https://www.amazon.cn",
    "sg": "https://www.amazon.com.sg",
    "mx": "https://www.amazon.com.mx",
    "ae": "https://www.amazon.ae",
    "br": "https://www.amazon.com.br",
    "nl": "https://www.amazon.nl",
    "au": "https://www.amazon.com.au",
    "tr": "https://www.amazon.com.tr",
    "sa": "https://www.amazon.sa",
    "se": "https://www.amazon.se",
    "pl": "https://www.amazon.pl"
}

The list is far from complete, so tomorrow I will post some more sources in Some pages that have lists of Amazon toplevel domains.

The queries and results show you that the original JSONPath (2007) and its RFC 9535 definition (2024, just 2 years ago) do not support getting the key names of the above list the ~ part in the first query below fails, and only the second query works.

This means that finding the right tooling is important.

Example

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Development, Event, JavaScript/ECMAScript, JSON, JSONPath, PHP, Python, Scripting, Software Development, TypeScript, Web Development | Tagged: | Leave a Comment »

Sweep the Strait: Minesweeper, but in the Straitt of Hormuz (plus some tests with RawGit alternatives)

Posted by jpluimers on 2026/03/31

Forgot to schedule this one when I saw it two weeks ago: [Wayback/Archive] Sweep the Strait.

Apart from demonstrating that Trump never had a plan, does not and will not have a plan, it is cool to see Minesweeper developed in JavaScript, HTML and CSS mapped with some geodata onto a real map of the Strait of Hormuz.

Cool idea!

It has a function Windows 3.x UI with functional menu (Game -> New Game; Help -> How to Play)

At first, I thought the original developer is this:

However, in fact the developer is:

Read the rest of this entry »

Posted in CSS, Development, HTML, JavaScript/ECMAScript, Opinions, OS/2, Power User, Retrocomputing, Scripting, Software Development, Web Development, Windows, Windows 3.11 | Leave a Comment »

Some links on non-official Ring API libraries and tools

Posted by jpluimers on 2026/03/26

There is no official Ring API. But there are libraries and tools around that can talk to a Ring ecosystem, mostly written in JavaScript or Python.

Some links I found:

Read the rest of this entry »

Posted in *nix, *nix-tools, cURL, Development, Hardware, IoT Internet of Things, JavaScript/ECMAScript, Network-and-equipment, Power User, Python, Ring Doorbell/Chime (Amazon), Scripting, Software Development | Leave a Comment »

Why octal is important (via @jpluimers on Twitter: “@b0rk @jilles_com Acids vs bases.”)

Posted by jpluimers on 2026/03/03

A few years back I tweeted [Wayback/Archive] Jeroen Wiert Pluimers @wiert@mastodon.social on Twitter: “@b0rk @jilles_com Acids vs bases.”

Ph scale of acids vs bases.

It was a kind of tongue-in-cheek reaction (with a way better picture below) to a very valuable post by b0rk (Julia Evans) on both Twitter and Mastodon [Wayback/Archive] Julia Evans on Twitter: “bases” / [Wayback/Archive] Julia Evans: “bases title: bases # we usually…” – Mastodon for two reasons:

  1. There are various interpretations of bases
  2. Octal is very important to educate as errors introduced by its support are hard to spot even if you do know about octal.

Back to Julia’s post:

Read the rest of this entry »

Posted in *nix, *nix-tools, 68k, 8086, Assembly Language, bash, bash, C, C++, Chemistry, Conference Topics, Conferences, Development, EPS/PostScript, Event, Haskell, History, Java, Java Platform, JavaScript/ECMAScript, Jon Skeet, LifeHacker, Mathematics, PDP-11, Perl, PHP, Power User, Python, science, Scripting, Software Development, x86 | Leave a Comment »