Archive for the ‘Software Development’ Category
Posted by jpluimers on 2025/04/23
A while ago, I needed to investigate reboot events on some Windows 10 systems. I wanted to use the console instead of the eventvwr GUI Event Viewer.
There is a tool for that called wevtutil which – like eventvwr – uses XPath query parameters and produces XML output.
Postprocessing XML can be a thing, but since .NET has great XML support, you can use PowerShell for that (which for me often is way easier than going the XSLT route, for instance because Windows lacks built-in console XSLT tooling).
Based on the help and the below links, my query command then on these machines turned out to be this: Read the rest of this entry »
Posted in Batch-Files, CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development, XML, XML/XSD, XPath, XSLT | Leave a Comment »
Posted by jpluimers on 2025/04/22
Waar velen al over waarschuwden gebeurt ook in het Nederlandstalige gebied: AI-gegenereerde web-pagina’s komen hoog in de zoekresultaten en vervuilen daarmee Large Language Models van nieuwe AI-tools.
Voorbeelden die ik tegenkwam:
Ze zijn echt heel makkelijk te ontkrachten, ondanks dat de tekst er heel mooi en netjes uitziet: de inhoud klopt gewoon, en juist dat de tekst er zo mooi en netjes uitziet maakte het voor mij verdacht.
De eerste site is het oude domain van [Wayback/Archive] Baarnse Onafhankelijke Partij wat al heel snel na het opheffen van die partij (zie Baarnse Onafhankelijke Partij – Wikipedia) werd overgenomen.
De domains behoren beide tot SEO sites.
Queries die zowel laten zien hoe hoog sommige pagina’s komen als hoe eenvoudig hun inhoud te ontkrachten is:
--jeroen
Posted in AI and ML; Artificial Intelligence & Machine Learning, Development, LLM, Software Development | Leave a Comment »
Posted by jpluimers on 2025/04/16
Just in case I ever think “oh, I might try want to go the Variadic function arguments way in Delphi” again, I must remember “maybe not a good idea” and re-read these posts:
- [Wayback/Archive] Variadic function – Wikipedia which in C is implemented with in [Wayback/Archive]
varargs.h – Wikipedia (now in [Wayback/Archive] stdarg.h – Wikipedia) with the identifiers va_list, va_start, va_arg, and va_end.
- [Wayback/Archive] Delphi “array of const” to “varargs” – Stack Overflow with great insights from former Delphi compiler developer [Wayback/Archive] Barry Kelly.
- [Wayback/Archive] E2591 Only
cdecl functions may use varargs (Delphi) – RAD Studio (I already knew this, but it is good to have that bit linked here as well)
- [Wayback/Archive] gmp-wrapper-for-delphi/gmp_lib.pas at master · EricGrange/gmp-wrapper-for-delphi · GitHub with an example how
varargs support got introduced in Delphi 6: for external cdecl functions.
- [Wayback/Archive] Rudy’s Delphi Corner – Pitfalls of converting (still *the* reference article on translating C/C++ headers to Delphi) has this on
varargs:
Fortunately, since Delphi 6, you can declare external functions like wsprintf using the varargs directive.
- [Wayback/Archive] How to create a Delphi variadic method similar to Write/Writeln without requiring brackets for arguments? – Algorithms, Data Structures and Class Design – Delphi-PRAXiS [en] has a nice 64-bit Delphi example using the undocumented Delphi identifiers
TVarArgList, VarArgStart, VarArgGetValue, and VarArgEnd.
Note that this example, despite the description indicates it is, it is actually not varargs by array of const (which requires using TVarRec as under the hood it is an open array of TVarRec): [Wayback/Archive] How to create functions that can accept variable number of parameters such as Format().
Then some Free Pascal links, which is different from, but also similar to Delphi:
Queries:
--jeroen
Posted in .NET, C, C#, Delphi, Development, FreePascal, Pascal, Software Development | Leave a Comment »
Posted by jpluimers on 2025/04/15
Empirically, these are show the same behaviour where “command 2″and “command 3″are documented, but still present a lot as the only solution in blog posts and help sites:
git config commands
command 1: list |
command 2: --list |
command 3: -l |
what config is shown |
git config list --local |
git config --list --local |
git config -l --local |
--local config for current repository |
git config list --global |
git config --list --global |
git config -l --global |
--global config for the current user |
git config list --system |
git config --list --system |
git config -l --system |
--system config for all users |
git config list |
git config --list |
git config -l |
all 3 levels of config combined, for convenience
without telling which configuration setting is on which level |
Based on [Wayback/Archive] git config: list all variables and their default values – Stack Overflow (thanks [Wayback/Archive] Matteo Meil): Read the rest of this entry »
Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management, Versioning | Leave a Comment »
Posted by jpluimers on 2025/04/15
The problem with error messages is that they just displays errors as a fact without providing the user of future steps.
Offer them with a helpful, actionable message instead.
Not just for people with a visual impairment, I added readable text to the image below.
Read the rest of this entry »
Posted in accessibility (a11y), Conference Topics, Conferences, Development, Event, Software Development, Usability, User Experience (ux) | Tagged: HelpMessages | Leave a Comment »
Posted by jpluimers on 2025/04/10
A while ago I assisted to translate parts of some software from English to Dutch.
Knowing from the last, that there were on-line guidelines for this, I tried to find them back.
That was tough, and I got a feeling many of the past ones vanished.
Here are some links – in the order I browsed them – for a future self in case I want to find them again (in bold, the useful resources):
Read the rest of this entry »
Posted in Development, Software Development | Leave a Comment »
Posted by jpluimers on 2025/04/10
Over the last years a few C:\Windows.msi vulnerabilities have been discovered (and fixed), of which some are linked below.
The core is that the Windows Installer tries to be transactional, and NTFS is, but the combination with installer processes isn’t.
That leads into vulnerabilities where you can insert malicious Roll Back Scripts (.rbs files) and Roll Back Files (.rbf files), and I wonder if by now more have been discovered.
So this post is a kind of reminder to myself (:
Oh, and I learned much more about whoami on Windows, as there whoami /groups shows very detailed SID information. From that, I learned more on the internals of SIDs too!
Read the rest of this entry »
Posted in Blue team, C++, Development, Power User, Red team, Security, Software Development, Visual Studio C++, Windows, Windows Development | Tagged: 1, else, endif, if | Leave a Comment »
Posted by jpluimers on 2025/04/09
This is soooo cool: [Wayback/Archive] GitHub – PluMGMK/vbesvga.drv: Modern Generic SVGA driver for Windows 3.1
Modern Generic SVGA driver for Windows 3.1
This is a rewrite of the Windows 3.1 SVGA driver, designed to support
ALL available 8-bit, 16-bit, 24-bit or 32-bit graphic modes on any system providing the
VESA BIOS Extensions (hence the
VBE in the name). It is based on the Video 7 SVGA driver included in the
Win16 Driver Development Kit, with most of the hardware-specific code gutted out, and with support added for multi-byte pixels.
Related:
It reminds me of other endevours to keep retro-software easy to use: Read the rest of this entry »
Posted in Assembly Language, Delphi, Delphi 1, Development, Power User, Software Development, Windows, Windows 3.11, x86 | Leave a Comment »