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

Archive for the ‘Event’ Category

When you broke code, finding back where it got broken is easier if you have small change increment (i.e. bisection and binary tree search)

Posted by jpluimers on 2024/09/26

A while ago [Wayback/Archive] b0rk (Julia Evans [Wayback/Archive) wrote an interesting Tweet on finding back where you broke code of which the OCR text reads like this:

strategy: change working code into broken code

If I have a working version of the program, I like to:

  1. go back to the working code
  2. slowly start changing it to be more like my broken code
  3. test if it’s still working after every single tiny change
·      ⬊˙˙⸳              OH THAT’S WHAT BROKE IT!!!

I like this because it puts me back on solid ground: with every change make that DOESN’T cause the bug to come back, I know that wasn’t the problem.

by JULIA EVANS @bork wizardzines.com

This is similar (her arrows were of varying length) to using a binary search algorithm hunting for where the code was broken using bisection: repeatedly halving your search space to quickly zoom into the problem.

Another important aspect is that small commits while fiddling to solve an issue can help you determine what small commit was actually solving the issue.

Read the rest of this entry »

Posted in Algorithms, Conference Topics, Conferences, Development, DVCS - Distributed Version Control, Event, git, Mercurial/Hg, Ruby, Software Development, Source Code Management, Versioning | Leave a Comment »

Ringzer0: “Support your local OSS Devs ” – Infosec Exchange

Posted by jpluimers on 2024/09/24

Important, as it is the only way to keep your development stack functioning well: [Wayback/Archive] Ringzer0: “Support your local OSS Devs ” – Infosec Exchange

Read the rest of this entry »

Posted in Awareness, Conference Topics, Conferences, Development, Event, Open Source, Software Development | Leave a Comment »

string – Check if MyString[1] is an alphabetical character? – Stack Overflow (and how Embarcadero broke one of the product version neutral redirects)

Posted by jpluimers on 2024/09/24

Quite a while ago [Wayback/Archive] string – Check if MyString[1] is an alphabetical character? – Stack Overflow asked by [Wayback/Archive] User Jeff was answered by [Wayback/Archive] Andreas Rejbrand:

The simplest approach is

function GetAlphaSubstr(const Str: string): string;
const
  ALPHA_CHARS = ['a'..'z', 'A'..'Z'];
var
  ActualLength: integer;
  i: Integer;
begin
  SetLength(result, length(Str));
  ActualLength := 0;
  for i := 1 to length(Str) do
    if Str[i] in ALPHA_CHARS then
    begin
      inc(ActualLength);
      result[ActualLength] := Str[i];
    end;
  SetLength(Result, ActualLength);
end;

but this will only consider English letters as “alphabetical characters”. It will not even consider the extremely important Swedish letters Å, Ä, and Ö as “alphabetical characters”!

Slightly more sophisticated is

function GetAlphaSubstr2(const Str: string): string;
var
  ActualLength: integer;
  i: Integer;
begin
  SetLength(result, length(Str));
  ActualLength := 0;
  for i := 1 to length(Str) do
    if Character.IsLetter(Str[i]) then
    begin
      inc(ActualLength);
      result[ActualLength] := Str[i];
    end;
  SetLength(Result, ActualLength);
end;

Back in 2011 I added a comment that for more than a decade would redirect to the most current documentation on the IsLetter method:

+1 for using IsLetter which checks the Unicode definition for being a letter or not [Wayback] docwiki.embarcadero.com/VCL/en/Character.TCharacter.IsLetter

Back then, Delphi X2 was current, so it would redirect

  1. from [Wayback] http://docwiki.embarcadero.com/VCL/en/Character.TCharacter.IsLetter
  2. to [Wayback] http://docwiki.embarcadero.com/VCL/XE2/en/Character.TCharacter.IsLetter
  3. then to [Wayback] http://docwiki.embarcadero.com/VCL/XE2/en/Character.TCharacter.IsLetter
  4. ending at [Wayback] http://docwiki.embarcadero.com/Libraries/XE2/en/System.Character.TCharacter.IsLetter

After a long outage in 2022 (see The Delphi documentation site docwiki.embarcadero.com has been down/up oscillating for 4 days is now down for almost a day.) only the Alexandria help was restored.

This killed the above redirect.

Luckily [Wayback/Archive] George Birbilis noticed that and commented this:

@JeroenWiertPluimers the correct link now is: docwiki.embarcadero.com/Libraries/Alexandria/en/…

In order to refer to the most recent Delphi version, now you have to use [Wayback] http://docwiki.embarcadero.com/Libraries/en/System.Character.TCharacter.IsLetter.

This redirects:

  1. via [Wayback] http://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Character.TCharacter.IsLetter to
  2. to [Wayback] https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Character.TCharacter.IsLetter

The above breaks the help integration from older Delphi products which is bad. It is also bad because it makes it harder to port legacy Delphi code to more modern Delphi versions.

Hopefully the above gives you a bit insight how the docwiki help system was designed and what is left of that design.

–jeroen

Posted in Communications Development, Conference Topics, Conferences, Delphi, Development, Encryption, Event, HTML, HTTP, https, HTTPS/TLS security, Internet protocol suite, Power User, Security, Software Development, TCP, TLS, Web Development | Leave a Comment »

The codewali on Twitter: “How API works?”

Posted by jpluimers on 2024/09/17

[Wayback/Archive] Wayback (Video further below)

[Wayback/Archive] K9pQFPQr3KM4HSYj.jpg (720×966)

Videos:

Read the rest of this entry »

Posted in Conference Topics, Conferences, Development, Event, Software Development | Leave a Comment »

Cool nginx playground by b0rk (Julia Evans)

Posted by jpluimers on 2024/08/28

This is a really cool interactive [Wayback/Archive] nginx playground!

It starts with a default nginx configuration which you can edit and spins up a docker container for each run showing the results of that configuration.

How cool is that to learn how nginx works (:

This is how I found out about it:

Read the rest of this entry »

Posted in *nix, *nix-tools, Conference Topics, Conferences, Development, Event, nginx, Power User, Software Development, Web Development | Leave a Comment »

I need to contemplate about (not) using standards Commit Messages and Commit Emojis

Posted by jpluimers on 2024/08/27

These Tweets from Kris are food for thought about using standards for Commit Messages and Commit Emojis.

It is the “writing zzzz by convention” mantra all over the place (where zzzz can be anything from code to documentation): does it add value, should it be formalised, can it by achieved by other means?

I need to think about it later, so I saved his tweets below:

Read the rest of this entry »

Posted in Conference Topics, Conferences, Development, DVCS - Distributed Version Control, Event, git, Software Development, Source Code Management | 2 Comments »

Kevlin Henney on generative AI creating job security for programmers:

Posted by jpluimers on 2024/08/13

Kevlin Henney being interviewd by Richard Seidl

Kevlin Henney being interviewd by Richard Seidl [Wayback/Archive] MDVxFQrqZnh1OxlP.jpg (1200×675)

The quote from this abstract of the January 2024 interview with Kevlin Henney by Richard Seidl  is important:

You really need to understand history. First of all, you need to understand history. Then, you need to understand language. And you need to go and talk to some customers. And then, you will realize how safe your job is. Because programming is not merely the assembly of syntax. It is the application of precision. It is the seeking of precision.And what is the answer? What is it that I’m trying to do?And it turns out that if you specify something badly in natural language, it works out even worse than if you did it in code.And we already know, for example– we can actually take inspiration from the most widely used programming paradigm on the planet, the spreadsheet. What we know from the spreadsheet is that most people who use a spreadsheet do not have a software development background.

Yes.

We also know that most spreadsheets are unmaintainable, incomprehensible, and buggy. If we are saying that the future of software development is people who are not software experts doing this stuff, your job is safe.

It is a fragment of the vodcast episode [Wayback/Archive] Software Engineering im Jahr 2034 – Richard Seidl which limits the quote to this:

Read the rest of this entry »

Posted in AI and ML; Artificial Intelligence & Machine Learning, Conference Topics, Conferences, Development, EKON, Event, GitHub Copilot, LLM, Software Development | Leave a Comment »

The regexp for an emoticon ?

Posted by jpluimers on 2024/08/08

I responded to [Wayback/Archive] jilles.com on Twitter: “@0xD4ni @Twitter What is the regexp for an emoticon ?” with [Wayback/Archive] Jeroen Wiert Pluimers on Twitter: “@jilles_com @0xD4ni @Twitter \p{So}+ See …”.

I got the answer from [Wayback/Archive] java – What is the regex to extract all the emojis from a string? – Stack Overflow (thanks [Wayback/Archive] vishalaksh, and [Wayback/Archive] Desgard_Duan) which refers to the quoted section below.

Note that correctly matching highly depends on the versions of the libraries you use: there have been lots of releases of Unicode versions over the last years (since 2014 roughly every 12 months) each usually adding more Emoji.

In addition, many Emoji are not single Unicode codepoints: often they are code points (with or without any of the variation selectors) stacked on top of each other with zero-width joiners like I described in Kris on Twitter: “Company chat: »Right, we need more languages with Emoji as variable type indicators and pointer symbols.«….

I tried fiddling on [Wayback/Archive] regex101: build, test, and debug regex and could not always getting it to work as I hoped for, but also could not figure out how recent their libraries are.

Read the rest of this entry »

Posted in Conference Topics, Conferences, Development, Emoticons, Encoding, Event, Geeky, RegEx, Software Development, Unicode | Leave a Comment »

Some notes on codepoints.net and beta.codepoints.net

Posted by jpluimers on 2024/08/07

At the time of writing a lot of this might be more recent, but for quite some time codepoints.net had not been updated with code point information newer Unicode releases.

Basically it was stuck at Unicode version 8.0 with some 120k glyphs. At the time of writing Unicode version 15.0 is in beta and the difference between 15.0 and 8.0 is some 24k glyphs.

So I had a quick twitter chat with the author and jotted down the links in this blog post so I won’t forget them.

There I learned it was open source (I think it is the only Unicode codepoint site that is).

Here it goes:

Read the rest of this entry »

Posted in *nix, *nix-tools, Apache2, codepoints.net, Conference Topics, Conferences, Database Development, Debian, Development, DVCS - Distributed Version Control, Encoding, Event, GitHub, Linux, MySQL, PHP, Power User, Scripting, Software Development, Source Code Management, Unicode, Web Development | Leave a Comment »

Leah Neukirchen: “Lesser known pop music facts: The song “Nothing compares 2 U” is actually about the floating point value NaN. …” – BLÅHAJ Social

Posted by jpluimers on 2024/08/06

From about a year ago, but too funny not to repeat:

[Wayback/Archive] Leah Neukirchen: “Lesser known pop music facts: The song “Nothing compares 2 U” is actually about the floating point value NaN. …” – BLÅHAJ Social

Via [Wayback/Archive] Jeroen Wiert Pluimers @wiert@mastodon.social on X: “Lesser known pop music facts: The song “Nothing compares 2 U” is actually about the floating point value NaN. blahaj.social/@leah/110781718156325459

--jeroen

Posted in Algorithms, Conference Topics, Conferences, Development, Event, Floating point handling, Fun, Meme, Quotes, Software Development | Leave a Comment »