The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,830 other subscribers

Archive for the ‘.NET’ Category

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:

Read the rest of this entry »

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:

–jeroen

Posted in .NET, APL, C#, Development, History, Software Development | Leave a Comment »

Happy birthday Turbo Pascal! Some marketing and Borland Conference videos

Posted by jpluimers on 2023/11/20

Some of you might remember [WayBack] Borland – Wikipedia, that today in 1983 shipped the first version of Turbo Pascal [Wikipedia].

It was of great influence, leading to other Turbo languages, Delphi, and – through it’s creator Anders Hejlsberg – eventually C#, .NET and TypeScript.

From the mid 1990s until the early 2000s, the Borland organised conferences (having various names, like Borland Language Conference, Borland Conference, Borland Developers Conference, Inprise Conference) had famous opening videos, and product marketing videos.

Some of them are below the signature.

Hopefully by the time of publishing, all of them are still there.

Edit 20231202:

I scheduled this post back in Winter 2019/2020 in between radiation therapy and surgery.

By now, more information on the anniversary has appeared online.

For more Turbo Pascal history, including – in reverse chronological order – old screenshorts and the first advertisements (and how quickly they changed from the pink on white to full colour ones), see my 2021 blog post Much Turbo Pascal history (via What is a Delphi DCU file? – Stack Overflow). It had many screenshots including a Turbo Pascal 1.0 screenshot, which I have added it here to the right. By now  Turbo Pascal – Wikipedia and Borland Graphics Interface – Wikipedia are quite complete history of Turbo Pascal.

Read the rest of this entry »

Posted in .NET, C#, Delphi, Development, Pascal, QC, Software Development, Turbo Pascal | Leave a Comment »

C#/.NET: for personally identifiable information, use Gaev.Blog.Examples/PiiString.cs at 3.1.1 · gaevoy/Gaev.Blog.Examples

Posted by jpluimers on 2023/10/12

A while ago [Wayback/Archive] Vladimir Gaevoy wrote a great blog post which I bumped into through his tweet [Wayback/Archive] “Blogged: .NET type for personally identifiable information (PII). Working with PII with the help of .NET String is painful. Let’s see the benefits of PiiString as explicit .NET type instead of .NET String  #pii #dotnet #gdpr #security “

The tweet does not fully do justice to his blog post [Wayback/Archive] .NET type for personally identifiable information (PII), as the post not only discusses the background (GDPR and other requirements, for instance the [Wayback/Archive] GDPR compliance checklist – GDPR.eu) and the class, but also with examples how to use it for:

  • conversion to/from user interface plain text
  • hashing to pseudonymized/anonymized form
  • encryption for more secure storage

In addition, more examples cover JSON, Entity Framework, [Wayback/Archive] NLog, and [Wayback/Archive] Serilog — simple .NET logging with fully-structured events.

Read the rest of this entry »

Posted in .NET, C#, Development, Power User, Privacy, Security, Software Development | Leave a Comment »

Seams I might in part be the cause of (#3186) Remove easter egg “You are smarter than the average bear …” by pauby · Pull Request #3276 · chocolatey/choco

Posted by jpluimers on 2023/09/11

Only having really learned to speak English starting in my late teens, I never got the “smarter than the average bear” reference, so I filed what I thought was a bug early 2019: [Wayback/Archive] “You must be smarter than the average bear…” after upgrading to 7zip.install v18.6 and notepadplusplus.install v7.6.2 · Issue #1700 · chocolatey/choco which last year got this useful comment

I had this for several packages now, since I am updating them daily.
I am assuming there is a way to remove versions, which leads to this error until there is a new update.

It was confirmed this summer from

I’m smarter than the average bear at least once or twice a month. I think it might be packages which are pulled back and you happen to have installed that version

The bug got referenced this summer from [Wayback/Archive] Remove warning message about “smarter than the average bear” · Issue #3186 · chocolatey/choco.

This in turn lead to [Wayback/Archive] (#3186) Remove easter egg “You are smarter than the average bear …” by pauby · Pull Request #3276 · chocolatey/choco

That made me realise that for large groups of English speaking people “smarter than the average bear” would actually be a well known thing.

So I searched and learned a thing or two:

Read the rest of this entry »

Posted in .NET, Chocolatey, CommandLine, Development, Power User, PowerShell, PowerShell, Scripting, Software Development, Windows | Leave a Comment »

.NET/C#: Small command-line tool to query REST JSON results from a batch file.

Posted by jpluimers on 2023/08/29

Often the power is in the combinations of tools.

Read until the epilogue…

Prologue

In this case, I needed to be able to query the JSON results of calls to REST services from the command-line so I could process them in Batch files.

Since I could not find anything readily available, I originally Originally I opted for the PowerShell command-line scripting tool, as that ships with recent Windows versions and can re-use anything that .NET brings. But though [Wayback/Archive] .NET has built in JSON serialization support, there is [Wayback/Archive] no querying support in it.

Then I thought about Delphi, as it [Wayback/Archive] too has a built-in JSON parser, but even the well known [Wayback/Archive] JSON SuperObject library has no query support.

Back to .NET, which – like Delphi – has a well known and respected third party JSON library as well: [Wayback/Archive] NewtonSoft JSON aka JSON.net and that one [Wayback/Archive] does have support for querying JSON with the SelectToken function.

That’s the fundament of the rest of this article, with the potential to be used in a cross-platform as well.

So no need for a plan B.

Read the rest of this entry »

Posted in *nix, *nix-tools, .NET, Batch-Files, Conference Topics, Conferences, Development, Event, JavaScript/ECMAScript, jq, JSON, Power User, Scripting, Software Development, Windows, Windows Development | Leave a Comment »

Bruce Tate on Twitter: “What’s the most unique feature of your favorite programming language?”

Posted by jpluimers on 2023/08/24

For my link archive: [Wayback/Archive] Bruce Tate on Twitter: “What’s the most unique feature of your favorite programming language?” / Twitter

From the languages that I have been using most:

It was a kind of follow-up on his earlier tweet that also sparked nice responses at [Archive] Bruce Tate on Twitter: “What is a #programming technique or construct that other people like but you think is overused?” / Twitter.

In my respons I phrased my decades long pet peeve [Archive] Jeroen Wiert Pluimers on Twitter: “@redrapids OOP: inheritance over composition. This leads to deep hierarchies that eventually nobody understands.” / Twitter.

Whereas with OOP (object-oriented programming) one should use composition over inheritance, often the reverse is true.

Actually my take can be generalised into two directions as these hierarchies:

  1. often crowd a single namespace, so: crowding namespaces is bad.
    One does see this outside the Object Oriented realm a well.
  2. often have many levels of indirection, so: overdoing indirection is bad
    One does see this outside the Object Oriented realm a well, just not as pronounced.

–jeroen

Posted in .NET, C#, Conference Topics, Conferences, Delphi, Development, Event, JavaScript/ECMAScript, Pascal, Scripting, Software Development | Leave a Comment »

SignalR and Design Patterns for .NET developers

Posted by jpluimers on 2023/08/22

https://leanpub.com/b/signalr-and-designpatterns-for-dotnet-developers/c/Ap5p8r8xJwd9

Via

Posted in .NET, Design Patterns, Development, R (statistics/graphics), Software Development | Leave a Comment »

Troubleshoot black screen or blank screen errors

Posted by jpluimers on 2023/08/08

Via Jan Gentleman, I learned

  • about the Ctrl+⇧ Shift+⊞ Win+B shortcut on Windows 10 and 11 that restarts starts video driver
  • that documentation is in [Wayback/Archive] Troubleshoot black screen or blank screen errors as

    Action 1: Try a Windows Key sequence to wake the screen.

    If you’re using a device with a keyboard connected to it, select Windows logo key Ctrl Shift B. If you’re in tablet mode, press the volume-up and volume-down buttons simultaneously three times within two seconds. If Windows is responsive, a short beep will sound and the screen will blink or dim while Windows attempts to refresh the screen.

Via:

 

Later I found out it also is in Table of keyboard shortcuts – Wikipedia: General shortcuts

Restart Video Driver Windows 10: Ctrl+⇧ Shift+⊞ Win+B[2][3]

Also I learned how people order the modifier keys is varying.

–jeroen

Posted in .NET, Development, Power User, Software Development, Visual Studio and tools, Windows, Windows 10, Windows 11 | Leave a Comment »

State machines in Delphi and .NET

Posted by jpluimers on 2023/02/15

Forgot to schedule this in 2014, so here it finally is, as the content is still relevant:

A long time ago (almost 10 years) I did some stuff with State Machines in .NET.

Since then the world has changed, and a lot more libraries have become available.

As I mainly use .NET and Delphi and there is a reasonable chance I need to do some more state machine work, here are some links about State Machines in both environments.

Read the rest of this entry »

Posted in .NET, C#, Conference Topics, Conferences, Delphi, Development, Diagram, Event, Java, Java Platform, Software Development, UML | Leave a Comment »