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,854 other subscribers

Archive for the ‘Delphi’ Category

delphi – What is the meaning of the bScan parameter value 0x45 in keybd_event? – Stack Overflow

Posted by jpluimers on 2024/06/06

From a long time go and a project that got cancelled, but maybe in the future I will need a similar thing again: back in the days not all raw key codes were readily documented or converted correctly from winuser.h to other environments (0x45 is the keyboard raw scan code value for VK_NUMLOCK of the Num Lock key).

[Wayback/Archive] delphi – What is the meaning of the bScan parameter value 0x45 in keybd_event? – Stack Overflow (thanks [Wayback/Archive] David Heffernan and [Wayback/Archive] kludg):

Read the rest of this entry »

Posted in .NET, Conference Topics, Conferences, Delphi, Development, Event, Software Development, Windows Development | Tagged: | Leave a Comment »

Field Tested Systems

Posted by jpluimers on 2024/05/14

Besides a cool portable spectrometer and software (written in Delphi), [WayBack] Field Tested Systems also has a really nice poster showing the spectrogram fingerprints of all the elements:

Via Delphi: 2 things to check when FMX/VCL units are inserted when you use VCL/FMX components (G+ post by Tom Field)

–jeroen

Posted in Delphi, Development, FireMonkey, LifeHacker, Power User, science, Software Development | Leave a Comment »

webcamoid/webcamoid: Webcamoid is a full featured and multiplatform webcam suite.

Posted by jpluimers on 2024/04/11

This is cool and works well (including the portable version) :[Wayback/Archive] webcamoid/webcamoid: Webcamoid is a full featured and multiplatform webcam suite.

Most code is C++ with bits using the QML language of the Qt cross platform UI library.

It reminded me of the Kylix days: the first Linux version of Delphi where the CLX GUI framework was a rework of VCL but based on Qt instead of Win32 GDI.

The downloads are at [Wayback/Archive] Webcamoid, The ultimate webcam suite! with installable and portable versions of 32-bit and 64-bit for Linux, Mac and Windows (I have tried the latter, see below why).

Read the rest of this entry »

Posted in C++, Delphi, Development, Kylix, kylix_rd, Qt, Software Development | Leave a Comment »

The Global Delphi Summit: June 13+14 in “Amsterdam” (actually the H20 venue in Purmerend)

Posted by jpluimers on 2024/03/15

Cool event – for me even relatively close (about 60 minutes driving) – [Wayback/Archive] The Global Delphi Summit taking place this year on June 13 and 14.

The speaker line-up is great as are their sessions. The main web-site pages are:

Via [Wayback/Archive] Delphi Summit 2024 – GDK Software

If you come from abroad, consider spending a few extra days. Purmerend has a nice old Dutch city center with roots going back as far as the 1100s. The map File:Waterland 1288.jpg – Wikimedia Commons shows it situated in between various lakes which in the 1600s all became land by pumping out the water and transforming them into polders. There are scenic routes over many of the dikes surrounding these polders.

Read the rest of this entry »

Posted in Conferences, Delphi, Delphi Summit, Development, Event, Software Development | Comments Off on The Global Delphi Summit: June 13+14 in “Amsterdam” (actually the H20 venue in Purmerend)

Oh boy, VB.NET and JavaScript both have a `with` keyword too!

Posted by jpluimers on 2024/03/05

Last year, within a week, I saw two tweets of languages that, like Pascal, have a with statement as well:

  1. [Archive.is] Shawn Wildermuth 💻☕🎸🎥🎮 on Twitter: “JavaScript’s Forgotten Keyword (with)”
  2. [Archive.is] John Kaster #BlackLivesMatter on Twitter: “@suited_aces @marcocantu @delphijunkie @JimMcKeeth @jpluimers I present “with”… “

The first points to an article that shows the JavaScript implementation of with is very similar to the Pascal one: [Wayback] JavaScript’s Forgotten Keyword (with) – DEV Community.

Just in case some of my readers do not know my opinion of the Pascal with statement  (it even has it’s own blog category), I really think you should not use it Delphi: you should avoid the with statement as it makes your code less future proof.

The reason not to use it is called [Wayback] Accidental Shadowing in computer language speak (it also can rear its head when you define variables at different block levels like for instance this golang example: [Wayback] Warning for accidental variable shadowing with block scope – Technical Discussion – Go Forum).

Even the JavaScript specification advises against using the with keyword in [Wayback] with – JavaScript | MDN

**Warning:**Use of the with statement is not recommended, as it may be the source of confusing bugs and compatibility issues. See the “Ambiguity Contra” paragraph in the “Description” section below for details.

There have been various proposals to extend the Delphi implementation of the with statement to make it more resilient to Accidental Shadowing by forcing the usage to be prepended by a . (dot) or alias, as for instance seen in [Wayback] Re: “with” Coders are Monsters – delphi / [Wayback] delphi • View topic • “with” Coders are Monsters:

This is in fact what the second twitter messages pointed to: a VB.NET example doing just that: prepend with a dot: [Wayback] Maarten Balliauw on Twitter: “Looks like using With makes it pretty clean!… “

I was not even aware that VB.NET had it, but it has: [Wayback] With…End With Statement – Visual Basic | Microsoft Docs

And it has similar debugging issues as with Delphi as per [Wayback] The VB.NET ‘With’ Statement – embrace or avoid? – Stack Overflow:

Find the beginning of a With statement and set a breakpoint. Step to the next line (so you’re hiding the first line right under the if block). Highlight it, then ‘Add Watch’. You should see this: ‘With’ contexts and statements are not valid in debug windows.

–jeroen

Posted in .NET, Delphi, Development, Go (golang), JavaScript/ECMAScript, Pascal, Scripting, Software Development, VB.NET, With statement | Leave a Comment »

In memory of Matthias Eißing (Embarcadero, formerly Borland/Inprise/Borland/CodeGear)

Posted by jpluimers on 2024/02/16

Earlier today, I got the sad news that my friend Matthias Eißing suddenly passed away in the night from Tuesday to Wednesday.

Valentines day will never be the same.

Rest in Peace dear Matthias Eißing. Hope you will virtually keep drinking beer and keep the great conversations that made you so many friends going.

🕯️

[Wayback/Archive] Eine sehr traurige Nachricht – Delphi-PRAXiS

Mit einer Mischung aus blankem Entsetzen und großer Trauer muss ich Euch leider mitteilen, dass unser langjähriges Community-Mitglied Matthias Eißing in der Nacht zu Mittwoch plötzlich und völlig unerwartet verstorben ist.

Helping others with is technical knowledge was what Matthias loved doing so much: in person (see [Wayback/Archive] Matthias Eißing – Entwickler Konferenz and [Wayback/Archive] Programm | EKON 27 – Die Entwickler Konferenz für Delphi & more), virtual (watch  [Wayback/Archive] Magdeburger Developer Days 2021 03.09.2021 – Matthias Eißing “Delphi Community Edition” – YouTube), individually (uncountable chat messages, phone and video calls, e-mails and in-company meetings), white papers / blog posts (like [Wayback/Archive] HighDPI Entwicklung unter Windows) and forum messages (just see the list at [Wayback/Archive] Delphi-PRAXiS – Ergebnis der Suchanfrage).

I had hoped to meet at EKON28 again, as our story goes back to the very first [Wayback/Archive] EKON – The Conference for Delphi & More in 1997 @ the Raunheim Astron Hotel Rhein-Main organised by Masoud Kamali ([Wayback/Archive] Massi Kamali (@MasoudMassi) / Twitter).

EKON was the first conference by Masoud/S&S. It and later conferences helped the Astron Hotels in the southern Frankfurter area (a few years Raunheim, Rüsselsheim and many years Mörfelden) grow a lot and it was the base were Matthias and a lot of other developers kept meeting up and started to know about each others personal lives as well.

Read the rest of this entry »

Posted in About, borland, Delphi, Development, History, Personal, Software Development | 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:

Read the rest of this entry »

Posted in .NET, C#, Delphi, Development, Software Development | 9 Comments »

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 »

Memories of the Twitter Fail Whale that got discontinued 10 years ago (HT @YiyingLu, @failwhale).

Posted by jpluimers on 2023/11/01

From 2008 to fall 2013, Twitter used the Fail Whale, a 2006 artwork by Yiying Lu originally titled “Lifting A Dreamer”, to indicate problems on their site.

Now that it is about a year after Musk burned some 44 milliard USD buying Twitter, it is also 10 years ago they phased out the Fail Whale, so it is a good time to remember it and a reminder to check out how Twitter faired during Elon’s ownership.

With Twitter down, you’d see the image from [Wayback/Archive] Yiying Lu 🐳 🥟🧋 on Twitter: “It has been 10 years since my art piece “Lifting a Dreamer” became the Twitter Fail Whale, a symbol as @Twitter’s service outrage during 2008-2013. It has inspired hundreds, probably thousands, of funny, clever & amusing homages and take-offs from users globally. Here are a few: …”:

Read the rest of this entry »

Posted in Delphi, Development, History, SocialMedia, Software Development, Twitter | 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 »