Quoting in full from [Wayback/Archive] Nelson’s Weblog: tech / zero-width-space to demonstrate a zero-width-space problem with WordPress too.
Archive for the ‘Software Development’ Category
Should be easy to put in a Bookmarklet: Archive.is blog — What is the long version of the url please. …
Posted by jpluimers on 2024/07/10
[Wayback] Archive.is blog — What is the long version of the url please. …
Click on “share” button to see different forms of linking to a page.
For example
https://archive.vn/Aoans/share
So there are two tricks:
Posted in Bookmarklet, Development, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers | Leave a Comment »
Installing WhatsApp Desktop from the Console
Posted by jpluimers on 2024/07/09
Related to WhatsApp Desktop for Mac or PC cannot only chat but also voice and video call: installing WhatsApp from the command-line.
That was easy to do via winget:
c:\temp>winget install -e --id WhatsApp.WhatsApp Found WhatsApp [WhatsApp.WhatsApp] Version 2.2222.12 This application is licensed to you by its owner. Microsoft is not responsible for, nor does it grant any licenses to, third-party packages. Downloading https://web.whatsapp.com/desktop/windows/release/x64/WhatsAppSetup.exe ██████████████████████████████ 145 MB / 145 MB Successfully verified installer hash Starting package install... Successfully installed
This was a while ago, so the version number by now is dated, but it is about the command winget install -e --id WhatsApp.WhatsApp
Via:
- [Wayback/Archive] whatsapp desktop microsoft store – Recherche Google
- [Wayback/Archive] WhatsApp Desktop – Microsoft Store Apps which shows one of the IDs at the end of the URL:
https://apps.microsoft.com/store/detail/whatsapp-desktop/9NKSQGP7F2NH - [Wayback/Archive] Download and install WhatsApp with winget which shows the easier to use ID that I used above.
–jeroen
Posted in Batch-Files, Development, Power User, Scripting, Software Development, Windows, Windows 10, Windows 11, winget | Leave a Comment »
Interesting thread on the usefulness of running a syslog server and being able to write to it
Posted by jpluimers on 2024/07/04
For my link archive:
- [Wayback/Archive] jilles.com 🔜 MCH2022 🏳️🌈 on Twitter: “My Ubiquity setup stopped working (again). This happens way to often in my opinion. I have setup a monitoring environment to debug the issues and consider it not reliable enough for the amount of money I spend on it.”

- [Wayback/Archive] Rick on Twitter: “@jilles_com Waar heb je problemen mee? En ik tijdelijk een syslog server draaien. Dan je kun je gemakkelijker de logs doorspitten (kiwi heeft een simpele gratis versie)”
- [Wayback/Archive] jilles.com on Twitter: “@RickvanSoest Ik draai een grafana setup met syslog, snmp ingest en een losse traceroute om uit te sluiten of het aan de provider of de hardware ligt.”
- [Wayback/Archive] jilles.com on Twitter: “@RickvanSoest Software upgrades die falen. In dit geval een PoE switch die op z’n gat lag. In dit geval iets dat met een reboot gefixt is. Maar in geval van de upgrade was het een compleet nieuwe configuratie.”
In todays cross-platform world, it pays if your tooling can send logging to syslog.
Though originating from the CP/M and SunOS background, I have done most of my professional development work in Windows back-ends and front-ends, so here are some links relevant to that:
- Via [Wayback/Archive] .net – how to write to kiwi syslog server log c# – Stack Overflow:
- [Wayback/Archive] Janik Vonrotz – Forward Windows event log entries to syslog server
- Via [Wayback/Archive] features [Ararat Synapse]:
- Edit 20240811: new location of this unit, Thanks [Wayback/Archive] Steven Kamradt!
[Wayback/Archive] delphi-synapse/slogsend.pas at master · dimmaq/delphi-synapse (note this is from an old fork , I have to dig for a more recent synapse git repository as their main repository is SVN based [Wayback/Archive] Ararat Synapse download | SourceForge.net)
[Wayback/Archive] synapse/slogsend.pas at master · geby/synapse · GitHub - [Wayback/Archive] slogsend
BSD SYSLOG protocol
Used RFC: RFC-3164
- Edit 20240811: new location of this unit, Thanks [Wayback/Archive] Steven Kamradt!
- Via [Wayback/Archive] Syslog & Windows Event Log Utilities – I made this – Delphi-PRAXiS [en]:
--jeroen
Posted in .NET, C#, Delphi, Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management, Subversion/SVN | 2 Comments »
In potentially multi-threaded .NET Console applications, ensure `Console.EnsureInitialized` gets called for at least output, and potentially for input
Posted by jpluimers on 2024/07/02
An interesting issue at [Wayback/Archive] Khalid ⚡️: “I just used #JetBrainsRider to find a deadlock scenario in #dotnet that I would not have guessed would deadlock. The Console needs to be initialized since the initialization uses a lock the first time. Using it in parallel tasks causes deadlocks. #dotnet This is excellent tooling!…” – Mastodon.
It boils down to a non-public Console.EnsureInitialized method being called from multiple threads causes deadlocks. So far, it looks it can only be called as part of referring to Console.In or Console.Out.
I could only find one potentially related bug, which is [Wayback/Archive] NativeRuntimeEventSource behaving poorly in conjunction with other providers · Issue #88011 · dotnet/runtime · GitHub and being worked on, for .NET 9 or later:
Posted in .NET, Development, Multi-Threading / Concurrency, Software Development | Leave a Comment »
Reminder to self: write a Bookmarklet that shortens YouTube URLs to the youtu.be ones
Posted by jpluimers on 2024/07/02
When sharing YouTube videos via the mobile apps, they are shortened using the youtu.be domain.
So this is a reminder to write a Bookmarklet based URL-shortener myself for this and extend it so it also understands the various YouTube URL parameters (like start time).
The transformation is documented:
Posted in Bookmarklet, Conference Topics, Conferences, Development, Event, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers, Web Development | Leave a Comment »
GitHub – KirillOsenkov/LargeAddressAware: A build tools package that adds support for making 32-bit exes LARGEADDRESSAWARE (and some words on a 64-bit Delphi product)
Posted by jpluimers on 2024/06/26
[Wayback/Archive] GitHub – KirillOsenkov/LargeAddressAware: A build tools package that adds support for making 32-bit exes LARGEADDRESSAWARE
Hopefully this can be applied to Delphi projects as well. If not then in Delphi you can manually call this in an post-build task.
Addition late 20240626
[Wayback/Archive] Kirill Osenkov: “@wiert I also found that you can…” – Mastodon
@wiert I also found that you can target AnyCPU 32-bit preferred and it will give you the same address space. So that tool is only for x86.
Via [Wayback/Archive] Meik Tranel on X: “Please for the love of all that is holy. Do not build #dotnet tools to serve a non interactive task that is supposed to be run during a build – use an #MSBuild task package. Also #JS/#NPM devs should not be allowed to write tooling. Thanks for coming to my ted talk…”.
The Delphi bit inspired a few months ago by: [Wayback/Archive] Andreas on X: “Will there ever be a 64bit Delphi IDE or at least a LargeAddressAware version. Our Projekt crashes the IDE between 14-18 compilations because it runs out of memory. Maybe I have to patch the IDE myself by moving all .NET and Compiler memory allocations above the 2 GB address.”
Posted in .NET, Conference Topics, Conferences, Continuous Integration, Delphi, Development, Event, msbuild, Software Development | Leave a Comment »
Delphi has had a more type safe FreeAndNil or a while now, but in order to do so it lies to you
Posted by jpluimers on 2024/06/26
During my year+ of cancer treatments, Embarcadero did a tiny thing that makes [Wayback/Archive]FreeAndNil safer to use. In order to do so, the method now lies to you by taking a const [ref] parameter which technically it is not allowed to change, but the internal hackery allows it to. Dalija Prasnikar explained it in 2020: [Wayback/Archive] Magic behind FreeAndNil.
The new signature is this:
procedure FreeAndNil(const [ref] Obj: TObject); inline;
Posted in Conference Topics, Conferences, Delphi, Delphi 10.4 Sydney (Denali), Delphi 11.0 Alexandria (Olympus), Development, EKON, Event, Software Development | 2 Comments »
Lots of interesting programming learning games links via b0rk on Twitter
Posted by jpluimers on 2024/06/25
Every once in a while, b0rk (Julia Evans, of [Wayback/Archive] wizard zines fame) asks interesting questions like below that results in lot of cool links.
I have blogged assemblies of them before (see for instance Lots of interesting git links via b0rk on Twitter) and this one is no different:
[Wayback/Archive] Julia Evans on Twitter: “what are some helpful programming learning games? thinking of things like mystery.knightlab.com for SQL, and flexboxfroggy.com, and ohmygit.org especially interested in games that have helped you learn something”
- [Wayback/Archive] The SQL Murder Mystery
- [Wayback/Archive] Flexbox Froggy – A game for learning CSS flexbox
- [Wayback/Archive] Oh My Git!
The response was overwhelmingly good (I tried to indicate when games are not free or not playable from a web browser). I summarised it below.
Posted in *nix, *nix-tools, Conference Topics, Conferences, CSS, Database Development, Development, DVCS - Distributed Version Control, Event, Games, git, Multi-Threading / Concurrency, Power User, RegEx, Scripting, sh, Sh Shell, Software Development, Source Code Management, SQL, Web Development | Leave a Comment »
How to apply border inside a table ? – GeeksforGeeks
Posted by jpluimers on 2024/06/20
It is deprecated but still works and an easy way to quickly set the inner borders of an HTML table: use the rules attribute.
- [Wayback/Archive] How to apply border inside a table ? – GeeksforGeeks
Only Using HTML: In this case, we will use rules attribute of table. Rules is the attribute in HTML table which allows user to display only inside borders of the table which can be chosen among only rows, cols or all.
Posted in Development, HTML, HTML5, Software Development, Web Development | Leave a Comment »






