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

Archive for the ‘Conferences’ Category

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 »

Undergraduate Upends a 40-Year-Old Data Science Conjecture : programming – Andrew Krapivin et all invente a faster hashing algorithm

Posted by jpluimers on 2025/06/26

From a while back: [Wayback/Archive] Undergraduate Upends a 40-Year-Old Data Science Conjecture : programming which has a “TL;DR for non CS people” and a “Here’s an explanation” well worth reading.

It’s about the work of Andrew Krapivin with co-authors Martín Farach-Colton and William Kuszmaul.

A young computer scientist and two colleagues show that searches within data structures called hash tables can be much faster than previously deemed possible.

Reminder to self to find any real world implementations of this new hashing algorithm.

Materials are the “easier” article [Wayback/Archive] Undergraduate Upends a 40-Year-Old Data Science Conjecture | Quanta Magazine which refers to the actual paper:

Read the rest of this entry »

Posted in Algorithms, Conference Topics, Conferences, Development, Event, Software Development | Tagged: , , | Leave a Comment »

GitHub: finding the oldest commit on large repositories

Posted by jpluimers on 2025/06/25

The manual process of getting back to the earliest commit of a GitHub repository is easy for small repositories, but for a large one it is very tedious.

TL;DR: there are various ways, but the easiest was the INIT Bookmarklet below.

Note: 2 weeks before the scheduled post made it to the front of the queue, I got a report¹ that it started to fail. Here it still works.

It’s hard to debug because of the functional programming approach taken.

Read the rest of this entry »

Posted in Bookmarklet, C, Conference Topics, Conferences, Development, DVCS - Distributed Version Control, Event, git, GitHub, Go (golang), JavaScript/ECMAScript, Power User, Scripting, Software Development, Source Code Management, Web Browsers | Tagged: , , | Leave a Comment »

“C# emits .callvirt instructions, even if the method isn’t virtual. That forces a call site null check.” (Immo Landwerth on Twitter)

Posted by jpluimers on 2025/06/25

From a while back, which I initially missed because it was in the midst figuring out my ver increasing bowel problems leading up to all my cancer treatments, but still relevant:

[Wayback/Archive] Immo Landwerth @terrajobst@hachyderm.io on Twitter: “That’s why C# emits .callvirt instructions, even if the method isn’t virtual. That forces a call site null check.”

Except inside [Wayback/Archive] Extension Methods, referring to this will never return null.

Yes you can work around this using things like reflection, but the C# compiler will emit .callvirt for any method call which does an implicit null check by the caller which means you never have to check that in callees.

The above tweet quoted the first message of the [Wayback/Archive] Thread by @MStrehovsky on Thread Reader App on working around this .callvirt protection:

Read the rest of this entry »

Posted in .NET, C#, Conference Topics, Conferences, Development, Event, Software Development | Leave a Comment »

GitHub parody poster (but actually truth): “We trained copilot on your code. That’s why it sucks”

Posted by jpluimers on 2025/06/18

The image [Wayback/Archive] GjXf0EPWEAAaAoz.jpg:orig (1528×2048) posted by [WaybackSave/Archive] Deepak Kumar (दीपक) 😷💉 on X: “@Grady_Booch @jsngr” was a response to [Wayback/Archive] Grady Booch on X: “@jsngr …”

«

And what to we call a language with sufficient expressiveness and precision able to construct executable artifacts?

We call it a “programming language”.

At best, AI will revolutionize software development on the same manner as did the invention of compilers. The entire history

»

which also spared these interesting responses:

  1. [WaybackSave/Archive] Adiva 🏳️‍⚧️ on X: “@Grady_Booch @jsngr Also: libraries/packages. It’s been ages since anybody has needed to write every single thing by themselves. Lots of software writing is already creating logic that connects more specialized code written by other people without having understand its internals fully.”
  2. [WaybackSave/Archive] Fast Magpie on X: “@Grady_Booch @jsngr This is the correct take. The number of software engineers required to produce software will decline. The breadth and depth of skill required of those engineers will likely increase. The overall demand for software will increase.”

The library problem is even bigger than the XKCD single dependency one, as there are so many of those fragile dependencies which I discussed in Every conversation about dependencies since 2020 uses the same XKCD 2347 based image, which is a problem on multiple levels. AI will introduce even more dependencies and likely many of them from unknown background causing huge copyright issues.

Image (full size below) from [Wayback/Archive] Tweet JSON

--jeroen


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