Posted by jpluimers on 2025/11/12
I forgot both to archive this 10+ year old G+ post and schedule a blog post about it This is nice #geekporn. ASCII Art that’s truly useful.….
ASCII to bezier drawn images in a very clever way.
Found it back when searching for prior blog posts on ASCII art, because of my yesterday’s blog-post ASCII Art Archive, so here it finally is: the links about how to go from ASCII art to bezier images. Have fun!
Read the rest of this entry »
Posted in .NET, ASCII art / AsciiArt, C#, Delphi, Development, FireMonkey, Fun, ObjectiveC, Ruby, Software Development | Tagged: geekporn | Leave a Comment »
Posted by jpluimers on 2025/10/14
I forgot how I bumped into this, but a while ago I found this interesting 2023 post: [Wayback/Archive] It’s Time For A Change: datetime.utcnow() Is Now Deprecated – miguelgrinberg.com explaining naive (without time zone) and aware (with time zone) date time objects.
It reminded me of Delphi, where NowUTC – as Delphi does have neither naive or aware date time objects – returns a floating point value (yes, it has a separate TDateTime type, but it represents the number of days that have passed since December 30, 1899 which in face stems from the Windows OLE Automation era* (OLE Automation is a subset of COM), see [Wayback/Archive] DateTime.ToOADate Method (System) | Microsoft Learn.
That method is mentioned in [Wayback/Archive] Why You Should Use NowUTC Instead of Now in Delphi: A Quick Guide – YouTube and Delphi deserves a way better infrastructure of date and time handling.
So this post is also a reminder to myself: figure out if there is an object oriented DateTime library for Delphi yet, and if not see if there is interest to create one similar to [Wayback/Archive] Noda Time | Date and time API for .NET by Jon Skeet.
Delphi references
Read the rest of this entry »
Posted in .NET, .NET Framework, .NET Standard, C#, Conference Topics, Conferences, Delphi, Development, Event, Jon Skeet, Python, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2025/09/10
[Wayback/Archive] What Every Programmer Should Know about How CPUs Work • Matt Godbolt • GOTO 2024 – YouTube
Main takeaways for me:
- CPU pipelines have grown a lot longer than I was aware off
- there are many more internal registers than I was anticipating
- clever ways to convert if statements to non-jumps
--jeroen
Posted in .NET, Assembly Language, C, C#, C++, Delphi, Development, Python, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2025/08/19
A while ago I bumped into the error [Wayback/Archive] .net – The library hostpolicy.dll was not found – Stack Overflow (thanks [Wayback/Archive] Nate Barbettini for asking) which prevented me to debug in Visual Studio Code, but none of the answers applied to my case, so I added this one: Read the rest of this entry »
Posted in .NET, C#, Development, Software Development, vscode Visual Studio Code | Leave a Comment »
Posted by jpluimers on 2025/07/16
I originally missed this as back then I was in the midst of managing trouble in my parental family, unaware I was already having rectum cancer. Then things went fast, not even including the Covid-19 years, so I was glad last year I got reminded of this mid-2019 article:
[Wayback/Archive] Alan Turing Wrote Object-Oriented Code In C And Ran It On BEAM – De Programmatica Ipsum writes a lot of interesting things on programming paradigms, starting with
In his rare 1994 book “Object-Oriented Programming In C” Axel Tobias Schreiner explains how to do inheritance, class methods, class hierarchies, and even how to raise exceptions using nothing else than pure, simple, pointer arithmetic-filled, ANSI C.
then arguing basically most of not all modern languages share the majority of programming paradigms and all these paradigms are repeats of the past:
But none of this is new. Smalltalk, arguably the precursor of object orientation, had collect and select methods which were the grandparents of our more common map and filter functional friends.
What sets modern languages apart is that they the majority covers all the paradigms you might need, just differing in how well they support the paradigm-du-jour.
It means programming language wars should have been a thing of the past for about two decades now.
Please let that sink in.
Oh: if you look for that ANSI C book, here it is: [Wayback/Archive] https://www.cs.rit.edu/~ats/books/ooc.pdf [Wayback PDF View/PDF View]
Via: [Wayback/Archive] De Programmatica Ipsum: “”In his rare 1994 book “Object…” – mas.to
--jeroen
Posted in .NET, C, C#, C++, Cloud, COBOL, Containers, Design Patterns, Development, Docker, Erlang, F#, Go (golang), Haskell, Infrastructure, Java, Java Platform, Kotlin, Kubernetes (k8n), ObjectiveC, OOP (Object Oriented Programming), Perl, Scala, Scripting, Software Development, Swift, VB.NET | Leave a Comment »
Posted by jpluimers on 2025/07/10
Below is a really cool tool-set for Visual Studio Code of which its development started when I was recovering from life-saving bowel-surgery during the series of procedures to get rid of my metastasised rectum cancer.
It supports decompilation of various languages (.NET C# and F#, GO, Rust and clang) into either x86 assembler or IR (Intermediate Representation, on the .NET side often also called IL for Intermediate Language) to research how well a compiler stack behaves.
[Wayback/Archive] badamczewski/PowerUp: ⚡ Decompilation Tools and High Productivity Utilities ⚡:
Read the rest of this entry »
Posted in .NET, C#, C++, Development, F#, Go (golang), Rust, Software Development | Leave a Comment »
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 »
Posted by jpluimers on 2025/05/27
This case, it was C# accessing a SQL back-end, but the responses to the Tweet how so many more examples not even related to software development.
Remember that plane crashing because they overloaded while they thought the fuel load numbers were in Imperial pounds where in fact they were in metric kilograms?
That’s why naming things that contain numbers should contain the unit in their name!
Related blog post: Watch “Felienne Hermans: How patterns in variable names can make code easier to read” on YouTube
Tweet: [Wayback/Archive] Nick Craver on Twitter: “Troubleshooting a hanging test suite and godDAMMIT. “In seconds”. Integer timeouts should be a felony offense punishable by an indeterminate amount of seconds/milliseconds/hours/fortnights/whatever the judge chooses.”

var csb = new SqlConnectionStringBuilder(TestConfig.Current. SQLServerConnectionString) { ConnectTimeout = 2000 }; int SqlConnectionStringBuilder.ConnectTimeout { get; set; } Gets or sets the length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error. Returns: The value of the SqlConnectionStringBuilder, ConnectTimeout property, or 15 seconds if no value has been supplied.
Read the rest of this entry »
Posted in .NET, Agile, C#, Code Quality, Conference Topics, Conferences, Database Development, Development, Event, Software Development, SQL, SQL Server, Systems Architecture | Leave a Comment »
Posted by jpluimers on 2025/05/22
I used these .NET Source Browsers quite few times over the last decade, first for the .NET Framework and later for .NET Core (now called .NET, sometimes .NET Runtime) as well, but forgot to blog about them, so now that I discovered there is one for the Roslyn Compiler Platform as well, let’s list them all:
It was introduced as [Wayback/Archive] referencesource-beta.microsoft.com by [Wayback/Archive] A new look for .NET Reference Source – .NET Blog which explains how to use it for browsing (on-line and off-line), Visual Studio integration, debugging, and more. In about a month however it got out of beta and became the primary as it functioned so well (you can verify this while browsing through the 2014 Wayback links).
All are powered by [Wayback/Archive] KirillOsenkov/SourceBrowser:
Read the rest of this entry »
Posted in .NET, .NET 4.8, .NET Core, .NET Framework, C#, Development, Software Development | Leave a Comment »