Reminder to check out this [Wayback/Archive] David Fowler on Twitter: “Playing around with using static interface methods and the new IParsable to make generic callsites for HTTP APIs. Before .NET 7 there was no way to write generic code that did {Type}.TryParse/{Type}.Parse. The type system didn’t have a way to describe these contracts. #dotnet” (and OCR the images):
Archive for the ‘C#’ Category
David Fowler on Twitter: “Playing around with using static interface methods and the new IParsable to make generic callsites for HTTP APIs. Before .NET 7 there was no way to write generic code that did {Type}.TryParse/{Type}.Parse. The type system didn’t have a way to describe these contracts. #dotnet”
Posted by jpluimers on 2024/07/25
Posted in .NET, .NET Core, C#, C# 11, Development, Software Development | 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 »
Script alternatives to the Windows-L keyboard shortcut (SwitchUser / LockWorkstation)
Posted by jpluimers on 2024/05/23
More than a decade ago I wrote about Programmatic alternatives to Windows-L keyboard shortcut (SwitchUser / LockWorkstation).
Still, I see many scripts invoke rundll32.exe or to call the [Wayback/Archive] LockWorkStation function (winuser.h) inside user32.dll. Don’t!
The BOOL LockWorkStation()function has a calling convention that is incompatible with rundll32.exe () which will corrupt the call stack likely will lead to random problems as after two decades, this post from Raymond Chen still holds: [Wayback/Archive] What can go wrong when you mismatch the calling convention? – The Old New Thing
Posted in .NET, Batch-Files, C#, CommandLine, Development, Power User, PowerShell, PowerShell, Scripting, Security, Software Development, Windows, Windows 10, Windows 11, Windows 7, Windows 8, Windows 8.1, Windows Server 2016 | Leave a Comment »
sharplab.io – ashmind/SharpLab: .NET language playground
Posted by jpluimers on 2024/05/08
[Wayback/Archive] ashmind/SharpLab: .NET language playground is hosted on [Wayback/Archive] SharpLab.io and has this README:
Posted in .NET, C#, C# 10, C# 11, Development, F#, Software Development, VB.NET | Leave a Comment »
Not sure I like this without tail recursion
Posted by jpluimers on 2024/05/07
A while ago Andy Gocke posted this bit of C# 11 code:
[Wayback/Archive] Andy Gocke on Twitter: “Can’t believe none of that “C# is turning into F#” people have noted that this is legal code in C# 11″
Posted in .NET, C#, C# 10, C# 11, Development, F#, Software Development | Leave a Comment »
Please do not make your C# code an obfuscation contest
Posted by jpluimers on 2024/04/23
You. This is valid C# code. Guess what it does [Wayback/Archive]:
for ( var (f,l) = (1, 10); f <= 10; Console.WriteLine($"{f} + {l} = {f + l}"), f++, l-- );
Via [Wayback/Archive] Khalid 🐕🦺🐕🐩 on Twitter: “I’m trying some programming in #csharp today. Am I doing this right? #dotnet”
–jeroen
Posted in .NET, C#, C# 10, C# 11, Development, Software Development | Leave a Comment »
C# List Patterns: csharplang/list-patterns.md at main · dotnet/csharplang
Posted by jpluimers on 2024/02/07
For my URL list:
Posted in .NET, C#, C# 11, Development, Software Development | Leave a Comment »
awaescher/Fusion: 🧰 A modern alternative to the Microsoft Assembly Binding Log Viewer (FUSLOGVW.exe)
Posted by jpluimers on 2023/12/18
[Wayback/Archive] awaescher/Fusion: 🧰 A modern alternative to the Microsoft Assembly Binding Log Viewer (FUSLOGVW.exe)
So, do you know what “Enable immersive logging” means? Or why you should separate log categories from “Default” and “Native Images”? Did you ever forget to disable the log again and wondered why every .NET application was that slow and your disk ran out of space?
…
Forget all the setup upfront – just hit “Record” to capture your assembly logs. If you are done, click “Stop” again. That’s it.
Via [Wayback/Archive] Meik Tranel on Twitter: “@Nick_Craver Take this: github.com/awaescher/Fusion Nice UI and never forget to disable that env var ever again.”.
–jeroen
Posted in .NET, C#, Development, F#, Software Development, VB.NET | Leave a Comment »
Watching “Why is C# Evolving This Way?” strengthened my realisation that the Delphi 12 language by now is light years behind C# 12
Posted by jpluimers on 2023/12/07
Though after C# 4 (covariance and contravariance) and C# 5 (async/await) the evolvement of C# might have seemed to slow down a bit, the big picture hasn’t as shown in the [Wayback/Archive] Why is C# Evolving This Way? – YouTube video by Zoran Horvat which comes down to:
Posted in .NET, C#, Delphi, Development, Software Development | 9 Comments »
With Unicode symbols and the ever rising number of operators, C# sometimes seems steadily to evolve into APL
Posted by jpluimers on 2023/11/27
Finally someone phrased the feeling I had for almost a decade about the ever evolving C#: with the increasing number of operators and allowing Unicode symbols, it is slowly turning into something like APL: harder and harder to read for the majority of C# developers.
[Wayback/Archive] Matthew Crews on Twitter: “@buhakmeh Let’s be honest, we should all just be working in APL”
Via [Wayback/Archive] Khalid Needs A New Car on Twitter: “C# needs more operators.”
Related:
- [Wayback/Archive] Maarten Balliauw on Twitter: “@buhakmeh It’s already quite expressive! …”
[Wayback/Archive] Gist: Disapprove exception – from https://twitter.com/maartenballiauw/status/1508785216613199876
throw new ಠ_ಠ(); class ಠ_ಠ : public class : Exception { } - [Wayback/Archive] Look of disapproval and other emoticons · GitHub
- [Wayback/Archive] Look of disapproval and other emoticons (updated fork)
–jeroen
Posted in .NET, APL, C#, Development, History, Software Development | Leave a Comment »







