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 ‘Conferences’ Category

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 »

Some notes on testing locally modified chocolatey packages

Posted by jpluimers on 2025/08/01

A few notes after I helped updating [Wayback/Archive] Chocolatey Software | SetACL (Portable) 3.0.6.0 to version 3.1.2.0 and [Wayback/Archive] Updates glab from 1.22.0 to 1.24.1; fixes #2 by jpluimers Β· Pull Request #3 Β· corbob/ChocoPackages.

As the burden on maintainers (not just Chocolatey ones) is high, not all packages get updated soon after new underlying software versions arrive.

Which means the maintainers are often very happy when an occasional user helps and preferably sends in a pull request.

That brings me to the an important point IN DOCUMENTATION DO NOT LIMIT EXAMPELS TO ONLY ABBREVIATED PARAMETERS OR VERBSΒ as that scares away occasional and novice users of your software.

Chocolatey documentation is no exception on this, hence this blog post meant for people other than maintaining chocolatey packages on a day to day base.

Read the rest of this entry »

Posted in CertUtil, Chocolatey, CommandLine, Conference Topics, Conferences, Development, Event, Power User, PowerShell, PowerShell, Scripting, Software Development, Windows | Tagged: , , , , | Leave a Comment »

Not just for Delphi, but any environment: Why You Should Use NowUTC Instead of Now in Delphi: A Quick Guide

Posted by jpluimers on 2025/07/30

The video is from a while back, but very relevant and shows in Delphi what I have been advocating to software developers for a very long time:

  • when timestamping use UTC
  • when storing the timestamp store both the UTC timestamp and optionally the UTC timezone/offset and optionally daylight saving indicator of the region it was recorded from

This holds for any environment, so .NET / C#, Python, Delphi and many others as well:

Read the rest of this entry »

Posted in Conferences, Delphi, Development, EKON, Event | Leave a Comment »

From @forrestbrazeal: Boilerplate code through ChatGPT or Google slows development teams down similar to technical debt

Posted by jpluimers on 2025/07/30

Via [Wayback/Archive] Angie Jones on Twitter: “Chart by Forrest Brazeal” I found the original at [Wayback/Archive] Forrest Brazeal on Twitter: “Just saying. “ Read the rest of this entry »

Posted in AI and ML; Artificial Intelligence & Machine Learning, Conference Topics, Conferences, Development, Event, Software Development, Technical Debt | Leave a Comment »

Today, very briefly, Tweakers.net leaked the WHY2025 badge: a Konsool/Tanmatsu remix with two ESP32s, a LORA module, screen, keyboard and sensors

Posted by jpluimers on 2025/07/24

The leak was short enough for Google to index the imagery and this text:

WHY2025 nam het zekere voor het onzekere door een ESP32-controller, een lora-chip en een kraakhelder scherm in zijn badge te verwerken. Tweakers …

Edit 20250727: two days later the page got reinstated without in their “Gathering of Tweakers” portion of the site a clarification why it was taken off-line for two days. It is still at the same URL, so I re-archived it: [Wayback/ArchiveBad] Dit is de WHY2025-badge met twee ESP32’s en een loramodule (need to re-archive in Archive.is as their IP got blocked)

The page now is a nice 404: [Wayback/Archive] Dit is de WHY2025-badge met twee ESP32’s en een loramodule

Not sure why the page got retracted, as the specs got released on LinkedIn a month ago at [Wayback/Archive] πŸš€ Officially public launched: the WHY2025 Badge! | Jelmer Lopes Terto:

Read the rest of this entry »

Posted in Conferences, Development, ESP32, Event, Hardware Development, WHY2025 | Leave a Comment »

Important debugging strategy from b0rk: “after the bug is fixed: write a postmortem”

Posted by jpluimers on 2025/07/24

[Wayback/Archive] Julia Evans on Twitter: “after the bug is fixed: write a postmortem”

title: write a postmortem For very tricky bugs, writing up an explanation of what went wrong and how it was fixed is an amazing way to share knowledge and make sure I really understand it. Ways I've done this in the past: * complain about it in the internal chat! (so people can search for it!) * write a quick explanation in the pull request description * write a fun blog post telling my tale of woe! * for really important work bugs, write a 5-page document with graphs explaining all the weird stuff I learned along the way

–jeroen

Posted in Conference Topics, Conferences, Debugging, Development, Event, Software Development | Leave a Comment »

Disabling the ever returning screens after Windows install/upgrade, and advertisements/feeds

Posted by jpluimers on 2025/07/21

This started out ad a post to make things easier for my mentally brother, but then I figured it makes it so much easier for myself as well: getting rid of the evern returning Windows nag screens. Not just the ones after logon during initial Windows install that get back about every other Windows 20H update (thank god they stepped away from 19## version numbering that felt so, ehm, last millennium), but also the various “suggestions” in start menu, on the taskbar and elsewhere.

I understand that basically giving Windows 10 and 11 for free to many Windows 7/8 licensed machines or Windows-preinstalled machines induces Microsoft to see Windows as an advertising environment, but hey: many users can do without these distractions.

It is hard to solve, as even the underlying registry settings seem to be reset every once in a while, and solving it globally is not an option: the settings are a per-user one. Which means you need to run script early during every Windows logon to overwrite these settings.

Read the rest of this entry »

Posted in Batch-Files, CommandLine, Conference Topics, Conferences, Development, Event, Power User, PowerShell, PowerShell, Registry Files, Scripting, Software Development, Windows, Windows 10, Windows 11, Windows Development | Tagged: | Leave a Comment »

Installing and authenticating the GitHub CLI gh and GitLab CLI glab on Windows

Posted by jpluimers on 2025/07/16

As a keyboard person, I prefer to live on the CLI (command-line interface), so when possible I prefer command-line tools over GUI tools (especially since command-line tool are way easier to script).

In the past on non-Windows systems I used gist (see below), but that is not available on Windows unless you have a Ruby environment.

Some notes on Windows to install and authenticate GitHub CLI (gh) and GitLab CLI (glab), both of which I previously mentioned in Tribal Knowledge? Getting the public keys from github and gitlab users from their username.

For me, installing is easiest through Chocolatey (version numbers from the time of writing; the non-archived URLs point to the most current version available):

This was my install script:

Read the rest of this entry »

Posted in Conference Topics, Conferences, Development, DVCS - Distributed Version Control, Event, git, GitHub, GitLab, Power User, Software Development, Source Code Management | Tagged: | Leave a Comment »

SQL: WHERE versus HAVING

Posted by jpluimers on 2025/07/08

While writing Some SQLite things I recently learned a while ago I bumped into SQLite extending the SQL syntax allowing SELECT column aliases in WHERE and ON conditions of JOIN clauses whereas standard SQL only allows it in the HAVING clause (some other DMBS allow this as well).

It reminded I never wrote a blog post about WHERE versus HAVING, which can be phrased into just two points:

  • WHERE is applied before the SELECT is assembled
  • HAVING is applied after the SELECT is assembled

This also means WHERE has a lot more influence on performance than HAVING, so using HAVING just so you can use aliases there instead of in the WHERE clauses is not a smart idea unless you verify in the query plan and query optimisation output of our DBMS this has no influence (some DBMS even allow you to see the results of query rewriting which you can use to verify if two queries really are equivalent from the DBMS perspective).

Since HAVING can be used without GROUP BY, many people work around the WHERE alias limitation. Given the above effects on performance, this is not a wise idea, despite the same end-results. See the example below that uses the [Wayback/Archive] MySQL :: Sakila Sample Database: customer table.

Luckily there has been enough other material explaining WHERE versus HAVING, so I can reference it from here, for instance (note note limited to MySQL/MariaDB) [Wayback/Archive] mysql – WHERE vs HAVING – Stack Overflow (thanksΒ [Wayback/Archive] baloo and [Wayback/Archive] Fishdrowned):

Read the rest of this entry »

Posted in Conference Topics, Conferences, Database Development, Development, Event, MariaDB, MySQL, SQL, SQLite | Tagged: , | Leave a Comment »

GitHub – PascalCorpsman/FPC_DOOM: FPC Port of DOOM

Posted by jpluimers on 2025/07/03

Indeed: DOOM in Pascal. Not Delphi: Free Pascal.

Repository: [Wayback/Archive] GitHub – PascalCorpsman/FPC_DOOM: FPC Port of DOOM

It is based on [Wayback/Archive] GitHub – fabiangreffrath/crispy-doom: Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom..

Hopefully, this summer I can play around with it a bit.

Via [Wayback/Archive] International Pascal Congress on X: “DOOM in Pascal!! πŸ˜πŸ‘πŸ‘ Do you want to play or compile it? πŸ˜‰ #Pascal #ObjectPascal …”.

--jeroen

Posted in Conference Topics, Conferences, Delphi, Development, Event, FreePascal, Pascal, Power User, Retrocomputing, Software Development | Tagged: , | Leave a Comment »