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 »
Archive for the ‘Conference Topics’ Category
From @forrestbrazeal: Boilerplate code through ChatGPT or Google slows development teams down similar to technical debt
Posted by jpluimers on 2025/07/30
Posted in AI and ML; Artificial Intelligence & Machine Learning, Conference Topics, Conferences, Development, Event, Software Development, Technical Debt | Leave a Comment »
Important debugging strategy from b0rk: “after the bug is fixed: write a postmortem”
Posted by jpluimers on 2025/07/24
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.
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: 48 | 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):
- [Wayback/Archive] Chocolatey Software | GitHub CLI 2.20.2
- [Wayback/Wayback] Chocolatey Software | glab 1.22.0 which depends on this actual install:
This was my install script:
Posted in Conference Topics, Conferences, Development, DVCS - Distributed Version Control, Event, git, GitHub, GitLab, Power User, Software Development, Source Code Management | Tagged: 233 | 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:
WHEREis applied before theSELECTis assembledHAVINGis applied after theSELECTis 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):
Posted in Conference Topics, Conferences, Database Development, Development, Event, MariaDB, MySQL, SQL, SQLite | Tagged: 1054, this | 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: ObjectPascal, pascal | 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:
Posted in Algorithms, Conference Topics, Conferences, Development, Event, Software Development | Tagged: DeepSeek, hashtable, innovation | 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.
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: 1, 18, 7 | 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
.callvirtinstructions, even if the method isn’t virtual. That forces a call sitenullcheck.”
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:
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:
- [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.”
- [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 »





