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 2,420 other followers

Archive for the ‘Web Development’ Category

Where my tweet about testing in production gained me knowledge about the Covid QR code systems

Posted by jpluimers on 2021/07/06

Even though RIVM twitter-care did not respond at all on my raised issue that the production environment leaded an acceptation environment URL, it did gain me some knowledge on their systems and the (then upcoming) European QR code systems.

[] Jeroen Wiert Pluimers on Twitter: “Onhandig op de #CoronaCheck site van het @rivm de link hier (1) wijst nog naar de acceptatie omgeving en daar heb je authorisatie voor nodig. Zonder “.acc” werkt het ook niet: (2) Dit werkt wel: (3) CC @locuta… “


The problem digging into it was that it only reproduces when inside the [] Coronacheck Print Portaal after you have logged on via DigiD, so you cannot save it in the WayBack machine nor

This print portal isn’t a straightforward hierarchy of web-pages, but an actual Vue.js app that injects itself into [Wayback/] nl-covid19-coronacheck-website/index.html at main · minvws/nl-covid19-coronacheck-website and dynamically changes the URL depending on the application state.

It also means that you cannot archive pages like or as the Vue.js app will not understand state from those sub-URLs and go back to

The only other results of [Wayback] “” – Google Search were:

Acceptance URLs in production

I had a hunch the CoronaCheck code would be open source, though finding it through the most obvious [Wayback] open source coronacheck app – Google Search failed. Since the web-site and app look very similar to the CoronaMelder web-site and app, I tried [Wayback] open source coronamelder app – Google Search and found the page with links: [Wayback] Colophon – Stop the spread of the coronavirus, download CoronaMelder.

Note that [Wayback] Open-Source Project Corona-Warn-App is a different beast. Though internationally available and released way earlier than the Dutch apps, the Dutch government has a huge ego (maybe even abbreviatable to Hugo) resulting in severe “not invented here” syndrome despite having had to be bailed out when “code black” happened in hospitals.

One thing that I learned is that there is one version of the code behind in the main branch of that has only acceptance URLs. They are in these locations:

Apparently, replacing these with production URLs is done during deployment, but I could not find the code that does it in the main repositories at [Wayback]

European Corona/COVID-19 Green Pass QR certificate

One answer to my tweet was [] Joel Haasnoot on Twitter: “… “ which provides more information on the European

These are the links I thought were interesting:


Read the rest of this entry »

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

Microsoft subdomains

Posted by jpluimers on 2021/06/02

Almost every company I know has more than one subdomain, but while researching why could not be archived in the WayBack machine, I realised how many they have and bumped into a few sites listing most of them:

All via subdomains – Google Search.


Posted in Development, DNS, Internet, Power User, Software Development, Web Development | Leave a Comment »

Every site should have a script like

Posted by jpluimers on 2021/06/02

I run in too many sites that keep creating new cookies, but never delete the old ones, ultimately leading to 5xx errors.

Every site should have a page like [WayBack] that cleans non-current cookies.

So I copied toe source to [WayBack] Copy of · GitHub for inspiration to look at.


Read the rest of this entry »

Posted in Development, Power User, Software Development, Web Development | Leave a Comment »

Reminder to self: check if @NS_online finally accepts email addresses having a plus sign in them

Posted by jpluimers on 2021/05/12

Quite a while back, @NS_Online (Dutch railroads) did not accept plus signs in email addresses. I verified a few times over the years and not much progress.

This is a reminder to myself to re-check.

Below the fold the Twitter thread that started with [WayBack] Jeroen Pluimers on Twitter: “Toch jammer dat @NS_online valide email adressen met een plus-teken erin weigert.… “

Hopefully by now they retraced themselves from the bad company of many other parties failing to adhere to clear and long existing internet standards: [WayBack] User:Me at work/plushaters | Mozilla Community | FANDOM powered by Wikia.

Their web care team and their developers made a assumptions there:

  • questioning the use of a + in email addresses
  • questioning the email address used
  • diminishing the popularity of using a + inside email addresses
  • when you never heard of something, it does not exist
  • you can validate an email address without actually trying to deliver it

Some links on email addresses and their validity:

A bit takeaway:

  • when doing server side validation using XHR (XMLHttpRequest – Wikipedia), then be aware that you need to encode strings properly so you do not loose information


Read the rest of this entry »

Posted in Development, Power User, Software Development, Web Development | Leave a Comment »

Chrome supported extension IDs

Posted by jpluimers on 2021/05/11

I wonder how you can programmatically open a Hangouts link from Chrome?

These dit not help:

So did some more digging.

TL;DR: did not find a solution; so any help is appreciated.

I found the IDs of then in [WayBack] extensions/common/ – chromium/src.git – Git at Google

namespace extension_misc {
const char kPdfExtensionId[] = "mhjfbmdgcfjbbpaeojofohoefgiehjai";
const char kQuickOfficeComponentExtensionId[] =
const char kQuickOfficeInternalExtensionId[] =
const char kQuickOfficeExtensionId[] = "gbkeegbaiigmenfmjfclcdgdpimamgkj";
const char kMimeHandlerPrivateTestExtensionId[] =
const char kProdHangoutsExtensionId[] = "nckgahadagoaajjgafhacjanaoiihapd";
const char* const kHangoutsExtensionIds[6] = {
    "ljclpkphhpbpinifbeabbhlfddcpfdde",  // Debug.
    "ppleadejekpmccmnpjdimmlfljlkdfej",  // Alpha.
    "eggnbpckecmjlblplehfpjjdhhidfdoj",  // Beta.
    "jfjjdfefebklmdbmenmlehlopoocnoeh",  // Packaged App Debug.
    "knipolnnllmklapflnccelgolnpehhpl"   // Packaged App Prod.
    // Keep in sync with _api_features.json and _manifest_features.json.
// Error returned when scripting of a page is denied due to enterprise policy.
const char kPolicyBlockedScripting[] =
    "This page cannot be scripted due to an ExtensionsSettings policy.";
}  // namespace extension_misc

The odd thing is that the source does not match the Chrome web store designation:

Hangouts ExtensionId Source name Web store name
nckgahadagoaajjgafhacjanaoiihapd kProdHangoutsExtensionId Google Hangouts
ljclpkphhpbpinifbeabbhlfddcpfdde Debug Google Hangouts (Extension, Beta); GOOGLE CONFIDENTIAL – FOR INTERNAL USE ONLY
ppleadejekpmccmnpjdimmlfljlkdfej Alpha Google Hangouts (Extension, Debug)
eggnbpckecmjlblplehfpjjdhhidfdoj Beta Google Hangouts (Extension, Alpha)
jfjjdfefebklmdbmenmlehlopoocnoeh Packaged App Debug 404 error
knipolnnllmklapflnccelgolnpehhpl Packaged App Prod Google Hangouts; Hangouts Chrome App is deprecated. Please switch to the Hangouts Chrome Extension.

You can not start the extensions in a tab; they need to start their view through the extension.

So these links do not work:

  • chrome-extension://nckgahadagoaajjgafhacjanaoiihapd/mainapp.html?uv_main_window
  • chrome-extension://ljclpkphhpbpinifbeabbhlfddcpfdde/mainapp.html?uv_main_window
  • chrome-extension://ppleadejekpmccmnpjdimmlfljlkdfej/mainapp.html?uv_main_window
  • chrome-extension://eggnbpckecmjlblplehfpjjdhhidfdoj/mainapp.html?uv_main_window
  • chrome-extension://jfjjdfefebklmdbmenmlehlopoocnoeh/mainapp.html?uv_main_window
  • chrome-extension://knipolnnllmklapflnccelgolnpehhpl/mainapp.html?uv_main_window


Read the rest of this entry »

Posted in Chrome, Development, Google, GoogleHangouts, Power User, Software Development, Web Development | Leave a Comment »

%d bloggers like this: