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,854 other subscribers

Archive for the ‘Web Development’ Category

Example how not to return a HTPP-500 result: Amazon DE – Tut uns Leid!

Posted by jpluimers on 2025/08/14

Amazon shows how not to return an HTTP 500 (Internal Server Error) result page: a page with content 500, but result HTTP 200 (OK).

[Wayback] https://www.amazon.de/errors/500

--jeroen

Posted in Communications Development, Development, HTML, HTTP, Internet protocol suite, Software Development, TCP, Web Development | Leave a Comment »

html – What can cause Chrome to give an net::ERR_FAILED on cached content against a server on localhost? – Stack Overflow

Posted by jpluimers on 2025/08/07

On my research list [Wayback/Archive] html – What can cause Chrome to give an net::ERR_FAILED on cached content against a server on localhost? – Stack Overflow

The reason what that back then this would fail (but worked in Firefox and Safari, and because I was in a hurry I didn’t research further): [Wayback/Archive] https://www.office.com/

This site can’t be reached

The webpage at https://www.office.com/ might be temporarily down or it may have moved permanently to a new web address.

ERR_FAILED

Thanks [Wayback/Archive] Mason Wheeler and [Wayback/Archive] Joel Davey.

Details:

Read the rest of this entry »

Posted in Chrome, Communications Development, Development, Encryption, HTTP, https, HTTPS/TLS security, Power User, Security, TCP, TLS, Web Browsers, Web Development | Leave a Comment »

linux – Get final URL after curl is redirected – Stack Overflow (plus some Twitter scraping tricks)

Posted by jpluimers on 2025/08/06

Sometimes I need [Wayback/Archive] Redirect Checker | Check your Statuscode 301 vs 302 on the command-line, so cURL to the rescue: [Wayback/Archive] linux – Get final URL after curl is redirected – Stack Overflow. The relevant portions of answers and comments further below.

TL;DR:

Since I prefer verbose command-line arguments (you can find them at the [Wayback/Archive] curl – How To Use on-line man page) especially in scripts this HTTP GET request is what works with Twitter:

% curl --location --silent --output /dev/null --write-out "%{url_effective}\n" https://twitter.com/anyuser/status/20
https://x.com/anyuser/status/20

This failed (twitter dislikes HTTP HEAD requests):

% curl --head --location --silent --output /dev/null --write-out "%{url_effective}\n" https://twitter.com/anyuser/status/20
https://twitter.com/anyuser/status/20

Notes

Given so many of my scripts now run on zsh, I added the new-line because of command line – Why does a cURL request return a percent sign (%) with every request in ZSH? – Stack Overflow. You can strip that bit.

Note that these do not perform client side redirects, so they do not return the ultimate originating URL https://x.com/jack/status/20 (which was the first ever Tweet on what was back then called twttr) as Twitter on the client-side overwrites window.location.href with the final URL. Similar behaviour for getting the Twitter user handle of a Twitter user ID, more on Twitter tricks below.

Tweet by TweetID trick via [Wayback/Archive] Accessing a tweet using only its ID (and without the Twitter API) – Bram.us.

Further reading (thanks [Wayback/Archive] vise, [Wayback/Archive] Daniel Stenberg, [Wayback/Archive] Ivan, [Wayback/Archive] AndrewF, [Wayback/Archive] Roger Campanera, and [Wayback/Archive] Dave Baird):

Read the rest of this entry »

Posted in *nix, *nix-tools, bash, Batch-Files, Bookmarklet, Communications Development, Conference Topics, Conferences, CSS, cURL, Development, Event, HTTP, Internet protocol suite, JavaScript/ECMAScript, Power User, Scripting, SocialMedia, Software Development, TCP, Twitter, Web Browsers, Web Development | Tagged: | Leave a Comment »

Wakamai Fondue, the tool that answers the question “what can my font do?”

Posted by jpluimers on 2025/07/24

What Can my Font do - beta pageVery cool web site that I only discovered last year, with the clever name: [Wayback/Archive] Wakamai Fondue, the tool that answers the question “what can my font do?”

Drop a font!
Fonts aren’t uploaded,
they stay on your computer

Back then I used it to investigate some properties of SMuFL (Standard Music Font Layout) fonts as sometimes editing a PDF is easier than manually entering/transcribing it in MuseScore.

Of course you can use local font tools, but this is far easier for occasional use.

The beta can do even more at the risk of bumping into bugs: [Wayback/Archive] Wakamai Fondue, the tool that answers the question “what can my font do?”

Note the colour matching of the text around the circle with the fondue background image.

Oh: it is open source too, written mainly in JavaScript, CSS and a tiny bits of HTML and Python, based on Vue.js and npm, and available as parts in the repositories of [Wayback/Archive] Wakamai Fondue · GitHub:

Read the rest of this entry »

Posted in CSS, Development, Font, HTML, JavaScript/ECMAScript, npm, Python, Scripting, Software Development, Vue.js, Web Development | Leave a Comment »

DNS/web options: How to verify your Bluesky account – Bluesky

Posted by jpluimers on 2025/07/21

Just in case I ever want to bind a BSKY handle to a domain name I own:

Via:

--jeroen

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

What is the purpose of the ‘figure’ tag in html? – Stack Overflow

Posted by jpluimers on 2025/07/10

Not being a front-end web-developer, I hadn’t seen¹ the figure element in HTML code before, so here are some links:

TL;DR – figure it is like a div element, but context specific: it groups elements that logically for one figure, including an optional description in the figcaption.

The group can be moved outside the main content flow without changing the meaning of that flow.

Query: [Wayback/Archive] what is a html figure for – Google Search

--jeroen

¹ I surely am not the only one, as the figure element isn’t even on the element usage graph in the [Wayback/Archive] HTML Study – AWR SEO Guide.

Posted in Development, HTML, HTML5, Software Development, Web Development | Leave a Comment »

Some Mastodon servers allow themselves to be wrapped with the cuckoo.social to give a G+ (Google Plus) like user interface

Posted by jpluimers on 2025/07/01

[Wayback/Archive] Cuckoo+ is a wrapper around Mastodon that makes the UI look like Google+ (G+ / Google Plus).

It is open source at [Wayback/Archive] NanaMorse/Cuckoo.Plus: A GooglePlus-Like third-party web client for mastodon. with hardly any updates like lik because the author is not active on Mastodon any more according to [Wayback/Archive] Is dead the repo ? · Issue #237 · NanaMorse/Cuckoo.Plus (via [Wayback/Archive] Issues · NanaMorse/Cuckoo.Plus)

Note that in some Mastodon instances it fails because of CORS issues:

Read the rest of this entry »

Posted in Development, G+: GooglePlus, JavaScript/ECMAScript, Scripting, SocialMedia, Software Development, TypeScript, Web Development | Tagged: | Leave a Comment »

Robust Links – Make Your Link Robust: automagically amend them with archived versions

Posted by jpluimers on 2025/06/26

Need to look into this further: [Wayback/Archive] Robust Links – Make Your Link Robust.

Likely running it on my blog requires JavaScript to be enabled which means going from the premium to the small business plan (at te time of writing from USD 8 to USD 25 per month: a 200+% increase).

Let’s first start with an example:

Read the rest of this entry »

Posted in archive.is / archive.today, CSS, Development, Internet, InternetArchive, JavaScript/ECMAScript, link rot, Power User, Scripting, Software Development, WayBack machine | Leave a Comment »

Some testla.com artifacts indicate it runs on PHP being deployed from a git repository

Posted by jpluimers on 2025/06/24

A few years back, a few interesting files turned up that are directly served from the testla.com web-site right in the middle when Musk used their software engineers to asses twitter.com code quality:

Some do not exist (of which some any more):

Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, git, PHP, Scripting, Software Development, Source Code Management, Web Development | Tagged: | Leave a Comment »

Delphi 10 and up install notes

Posted by jpluimers on 2025/06/18

I try to keep an eye on older Delphi versions as, despite lacking features of newer versions, they do not suffer from issues (hi-dpi, language server, refactoring, stability).

Some notes below.

Tools to always install after Delphi

Install in this order so that GExperts gets the Alt-X menu shortcut and MMX the Alt-M menu shortcut.

  1. GExperts
  2. MMX (Model Maker code eXplorer)
  3. Project Magician
  4. TestInsight

Then download at least these libraries:

Delphi 10 Seattle requires .NET 3.5

You’d think the easiest to install it is through Chocolatey via [Wayback/Archive] Chocolatey Software | Dot Net 3.5 3.5.20160716

choco install dotnet3.5

This fails (Windows 11 is lacking wmic.exe)

The solution in Deploy .NET Framework 3.5 by using Deployment Image Servicing and Management (DISM) | Microsoft Learn still works (and still takes a long time, even on fast hardware with a fast internet connection):

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All

License manager fails to import registration .txt file

It loads the .txt file, but after closing the license manager it is not really imported.

Cause: you renamed the .txt file so that it contains more readable meta-information in the filename.

Solution: put the license file into a directory that has a readme.md file with the meta-information (like computername: that is what the license binds itself to in the online registration wizard).

This brought me an aha moment, as I had encountered it in the past and solved it, but forgot to make a note of it.

So this time, there was no need to follow the steps in either of these:

Delphi 12 still has the same icons for all 3 personalities

Icons in C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\bds.exe

Icons in C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\bds.exe

By now, I had hoped the devteam had finally ensured there were three different icons for the personalicties:

  • Delphi
  • C++ Builder
  • RAD Studio

False hope:

Icons for Delphi 12, C++ Builder 12 and RAD Studio 12: they are all the same.

Icons for Delphi 12, C++ Builder 12 and RAD Studio 12: they are all the same.

And very easy to fix as bds.exe includes all the needed icons and more – see image on the right.

Images:

Delphi 12.1 offline installer bugs not fixed in Delphi 12.2

[Administrator] RAD Studio 12

Java JDK not found on this machine. Please, install Java JDK before.

OK

image

image

If I ever get this to work, I want to use the OpenJDK; some links for that:

This was introduced in Delphi 12.1:

…………………………………………………………………………………………………………………………………………………………………………………

In addition, these Delphi 12.0 installation issues have not been fixed in Delphi 12.2 either (but the C++ Builder path issue seems fixed in the 12.2 Path 1 inline ISO of the off-line installer):

  • [Wayback/Archive] Installation Notes – RAD Studio (12.0 Athens, 20231207)

    Installation performed with Offline Installer results in missing subdirectories

    • Delphi
      When using the offline installer, the Browsing path for Delphi/64bit Linux lacks various directories.
    • C++ Builder
      When using the offline installer, the System include path for C++ / 32-bit Windows is missing the FMX subfolder.

    Note the “64bit” should be spelled “64-bit” and the “C++ / 32-bit” should be spelled “C++/32-bit” to be consistent with “Delphi/64-bit”.

    Similarly, the documentation misses that there is an intermediate node “Language” missing befer you get to either “Delphi” or “C++”, and that the “Compiler” mentioned tab for “C++” does not exist. It is this lack of attention to detail which you see all over the product, including the RTL library source code.

    Also note that these are not just a few “various” subdirectories or just “the FMX subfolder”, and besides in Delphi 12.0, you still have to fix them in Delphi 12.1 and 12.2 directly when you run it the first time after installation:

    • Delphi – add these 42 (FORTY TWO!) directories to the System include path field under Tools > Options > Language > Delphi > Library > 64-bit Linux:

      $(BDS)\source\rtl\common;$(BDS)\source\rtl\sys;$(BDS)\source\rtl\linux;$(BDS)\source\ToolsAPI;$(BDS)\source\IBX;$(BDS)\source\Internet;$(BDS)\source\Property Editors;$(BDS)\source\soap;$(BDS)\source\xml;$(BDS)\source\Indy10\Core;$(BDS)\source\Indy10\system;$(BDS)\source\Indy10\Protocols;$(BDS)\source\fmx;$(BDS)\source\databinding\components;$(BDS)\source\databinding\engine;$(BDS)\source\databinding\graph;$(BDS)\source\data;$(BDS)\source\data\ado;$(BDS)\source\data\cloud;$(BDS)\source\data\datasnap;$(BDS)\source\data\dbx;$(BDS)\source\data\dsnap;$(BDS)\source\data\Test;$(BDS)\source\data\vclctrls;$(BDS)\source\rtl\posix;$(BDS)\source\rtl\posix\linux;$(BDS)\source\data\datasnap\connectors;$(BDS)\source\data\datasnap\proxygen;$(BDS)\source\DataExplorer;$(BDS)\source\Experts;$(BDS)\source\indy\abstraction;$(BDS)\source\indy\implementation;$(BDS)\source\indyimpl;$(BDS)\source\Property Editors\Indy10;$(BDS)\source\soap\wsdlimporter;$(BDS)\source\Visualizers;$(BDS)\source\data\rest;$(BDS)\source\data\firedac;$(BDS)\source\tethering;$(BDS)\source\DUnitX;$(BDS)\source\data\ems;$(BDS)\source\rtl\net

      Likely there is one more directory missing as the Embarcadero documentation page has TWO semicolons here: $(BDS)\source\Visualizers;;$(BDS)\source\data\rest

    • C++ Builder – add these 8 directories to the System include path field under Tools > Options > Language > C++ > Paths and Directories > 32-bit Windows:

      $(BDSINCLUDE);$(BDSINCLUDE)\dinkumware64;$(BDSINCLUDE)\windows\crtl;$(BDSINCLUDE)\windows\sdk;$(BDSINCLUDE)\windows\rtl;$(BDSINCLUDE)\windows\vcl;$(BDSINCLUDE)\windows\fmx;$(BDSCOMMONDIR)\hpp\$(Platform)

  • ………………………………………………………………………………………………………………………

Delphi 12 (and 11) don’t really search for Git/Hg/Svn, but just complain they can’t be found

It does not matter if you use the offline installer or on-line getit installer.

Note I will personally never trust getit: Embarcadero is known for not being able to keep their infrastructure working without long outages, and known for not communicating about infrastructure changes, see for instance:

Their single most stable server is the altd one. Don’t tell them, as it might make them too self confident and start making modifications to it forgetting this lessen: never fiddle with a thing that has been very stable for a very long time.

Upon first start of Delphi 12.2 patch 1 after installation, you get these warning messages:

  • ⚠ Git executable not found
  • ⚠ Hg executable not found
  • ⚠ Subversion folder not found

This despite these being available on the search PATH:

C:\Users\jeroenp>where git.exe
C:\Program Files\Git\cmd\git.exe

C:\Users\jeroenp>where hg.exe
C:\Program Files\Mercurial\hg.exe

C:\Users\jeroenp>where svn.exe
C:\Program Files (x86)\Subversion\bin\svn.exe

Note you have to enter them as full paths to git.exehg.exe and svn-folder (without svn.exe):

C:\Program Files\Git\cmd\git.exe
C:\Program Files\Mercurial\hg.exe
C:\Program Files (x86)\Subversion\bin

Note this has been an issue for Delphi 11 as well, and not responded to in comments it also being present in Delphi 12, see:

Delphi 12.2 inline release cannot be modified after install

A modification (like installing more/less features) requires a full re-install when doing the off-line installer. The steps are referred to by [Wayback/Archive] Adding or Removing Features Using the Offline Installer – RAD Studio:

After you install an initial set of RAD Studio features using the Offline Installer, you can use the installer again to add or remove RAD Studio features.

To add or remove features from your RAD Studio installation:

  1. Run the Offline Installer.
  2. On the Welcome page, check the Modify option and select Next.
  3. On the following pages, configure the features that you want to add or remove from your installation.

Detailed steps are at [WaybackSave/Archive] Using the Offline Installer – RAD Studio are also wrong:

To install RAD Studio using the Offline Installer:
  1. Open the Offline Installer:
    1. Download the ISO image that contains the Offline Installer.
    2. Mount the ISO image in the system where you want to install RAD Studio.
      You can do either of the following to mount the image:
      • Burn the ISO image on a double-layer high-capacity DVD, and put that DVD on the optical disk drive of the target system.
      • Mount the ISO image as a virtual disk with a software solution like WinCDEmu.
    3. Open install_RADStudio.exe in the mounted ISO image to start the Offline Installer.

There is no install_RADStudio.exe any more. The installer .exe filename depends on the Delphi version you install. For Delphi 12.2 inline Patch 1, the offline installer name is radstudio_12_esd_119782a.exe.

I forgot during which Delphi version Embarcadero changed the installer technology, but it has been at least since Delphi 10.4, as reported by Brian Long in [Wayback/Archive] It’s a blong, blong, blong road…: Installer tip.

Note that the online getit installer enables the [Wayback/Archive] Using the Feature Manager – RAD Studio, which is not available when installing using the offline installer..

Links

Some lists of off-line installers are here:

  1. [Wayback/Archive] Pliki instalacyjne RAD Studio (obraz ISO i instalator Webowy) | BSC Polska is way more complete than the below one, but lacks XE3 and 12.2 patch 1 and has the wrong location https://altd.embarcadero.com/download/RADStudioXE/delphicbuilder_xe_3953B_win.iso for XE
  2. [Wayback/Archive] RAD Studio Installation links (ISO and Web installers) – Barnsten.com misses XE3, includes 12.2 patch 1 – which has download issues – and has a link for 12.0 that used to work in the past, but has download issues as well: https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_2_i_0329_C2CC.iso fails for 12.2 inline https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_0_inline_116924a.iso fails for 12.0 and  https://altd.embarcadero.com/download/RADStudioXE/delphicbuilder_xe_3953B_win.iso for XE
  3. [Wayback/Archive] alfasoft.com/wp-content/uploads/RAD-Studio-Installation-links.pdf [PDF View] misses XE3 and 12.2, has the wrong download link http://altd.embarcadero.com/download/radstudio/10.3/delphicbuilder10_3_0_94364.is for 10.3 (definitely not tested with the .is extension instead of .iso)
  4. [Wayback/Archive] RAD Studio 2010/xe/xe2/xe3/xe4/xe5 official ISO Download address (updated 2013-12-12) has not been updated for a long time, but had a lot of intermediate versions, but has these wrong links: https://altd.embarcadero.com/download/radstudio/xe2/delphicbuilder_xe2_win_dl.iso and https://altd.embarcadero.com/download/RADStudioXE/delphicbuilder_xe_3953_win.iso

Somewhere in the future, I will try to make a complete list as not all of these altd links work. For now, this has to do: [WaybackSave/Archive] altd site:wiert.me – Google Suche

This one for instance didn’t always work (they failed at least from 20241102 until 20241104 downloading way too short files):

Just look at the download sizes and you understand why – his is also why people should publish URL, size and hashes (preferably sha1 or sha256, optionally md5) – filtered on M (mebibyte) sizes – yes, Delphi 7 was that small:

12M  ./altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_2_i_0329_C2CC.iso
22M  ./altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_0_inline_116924a.iso
649M ./altd.embarcadero.com/download/delphi/d7/english/ent/delphi_7_ent_en.iso

I need to check all of the above and especially the two below, which means first finding hashes for them as the sizes match:

https://web.archive.org/web/20240929231113if_/https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_0_inline_116924a.iso
https://web.archive.org/web/20241104165704if_/https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_2_i_0329_C2CC.iso

Probably the 12.0 one is OK, but the 12.2 inline got truncated to 2 gibibytes:

2.0G ./web.archive.org//web/20241104165704if_/https:/altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_2_i_0329_C2CC.iso
7.1G ./web.archive.org//web/20240929231113if_/https:/altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_0_inline_116924a.iso

I need to check which HTTP header fields in the HTTP request will help alleviate this. Hopefully just a HTTP referer header works fine. A job for somewhere in the future, as I already had obtained copies of these files from someone that already had them downloaded a while ago.

Sizes from:

du -h `find ./altd.embarcadero.com/ | grep iso` | grep M && du -h `find ./web.archive.org/ | grep iso` | grep G

These ones for instance didn’t work at all:

  • https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_0_inline_116924a.iso (not available any more)
  • https://altd.embarcadero.com/download/radstudio/xe2/delphicbuilder_xe2_win_dl.iso (missing a build number)
  • https://altd.embarcadero.com/download/RADStudioXE/delphicbuilder_xe_3953_win.iso (missing the b at the end of the build number)
  • https://altd.embarcadero.com/download/RADStudioXE/delphicbuilder_xe_3953B_win.iso (yes, case is important with unix filenames people!)
  • https://altd.codegear.com/download/radstudio2007/CodeGearRADStudio2007_Dec2007.iso (invalid certificate because of the domain name)
  • https://altd.codegear.com/download/radstudio2007/CodeGearRADStudio2007setup.exe (invalid certificate because of the domain name)

These ones do:

This one was missing completely in the first two lists:

Queries:

--jeroen

Posted in Delphi, Delphi 10 Seattle, Development, GetIt, Java, Java Platform, Software Development, Web Development | Tagged: | 1 Comment »