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

  • Email Subscription

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

    Join 716 other subscribers

Archive for the ‘Algorithms’ Category

Morgan McGuire on Twitter: “It wasn’t until I’d *taught* algorithms a few times that I finally understood why sorting is in the CS curriculum. Unfortunately, most curricula don’t explain this! It is NOT because sorting is an important algorithm to learn to implement…”

Posted by jpluimers on 2026/10/14

We teach sorting in algorithms classes because it is a simple and easy to motivate EXAMPLE of different algorithms for accomplishing the same task. The solution isn’t the point in the classroom. The problem is the point…

I fully agree with the thread starting at [Wayback/Archive] Morgan McGuire on Twitter: “It wasn’t until I’d taught algorithms a few times that I finally understood why sorting is in the CS curriculum. Unfortunately, most curricula don’t explain this! It is NOT because sorting is an important algorithm to learn to implement…”

The rest of the thread is archived in bits because of ThreadReaderApp failing, and not all archival sites archiving the full thread based on a single tweet from the thread.

All because of [Wayback/Archive] Ryan Winchester on Twitter: “As a 41 year-old software developer do you know how many times I’ve had to manually implement QuickSort? Zero. Maybe we should test for more useful skills like taking a slow SQL query and optimizing it.”.

–jeroen

Posted in Algorithms, Development, Software Development | Leave a Comment »

floating point representation

Posted by jpluimers on 2026/07/15

Like many programmers, in my early days I was totally unaware how floating point values were stored. Even seemingly simple data structures are worth explaining, especially when debugging.

So I was glad getting referenced to [Wayback/Archive] Float Exposed and to [Wayback/Archive] Floating Point Visually Explained which I will quote a few bits below.

About bits: did you notice you can flick on the float.exposed bits to flip them? Try it!

The references came from replies to [Wayback/Archive] Julia Evans on Twitter: “floating point representation”

Read the rest of this entry »

Posted in 8087, Algorithms, Conference Topics, Conferences, Debugging, Development, Event, Floating point handling, Software Development | Leave a Comment »

ISO8601 Date Converter Online – DenCode

Posted by jpluimers on 2026/03/19

A while ago, I needed to check if 20251120T0700Z was a valid ISO 8601 timestamp. [Archive] ISO8601 Date Converter Online – DenCode showed it was.

It can even be called directly: [Archive] ISO8601 Date Converter Online – DenCode: 20251120T0700Z Europe/Amsterdam .

Not sure what language it was developed in (it runs server side), but it is a great tool to do some occasional testing of timestamp values.

Query: [Archive] datetime parse iso 8601 online at DuckDuckGo

I didn’t have time to check all the links from the Query in depth, but one seems to be JavaScript and another one is server side:

Read the rest of this entry »

Posted in Algorithms, Date and Time algorithms, Development, ISO 8601, Power User, Software Development | Leave a Comment »

Memories of the past: “Microsoft® Computer Dictionary, Fifth Edition”, ISBN 9780735614956

Posted by jpluimers on 2026/02/13

While researching early Intel 8087 documentation distributed via LISTSERV, the below blast from the past also turned up: back in 2002 computer dictionaries were also available as … books!

[Wayback/Archive] Microsoft® Computer Dictionary, Fifth Edition (Cpg-Other): 9780735614956: Computer Science Books @ Amazon.com

  • Publisher ‏ : ‎ Microsoft Press; 5th ed. edition (June 1, 2002)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 637 pages
  • ISBN-10 ‏ : ‎ 0735614954
  • ISBN-13 ‏ : ‎ 978-0735614956
  • Item Weight ‏ : ‎ 2.85 pounds
  • Dimensions ‏ : ‎ 7.33 x 1.76 x 9.25 inches

It is available from various sources including [Wayback/Archive] Microsoft Computer Dictionary – Microsoft Press – Google Books and [Wayback/Archive] microsoft_computer_dictionary__fifth_edition1.pdf.

Read the rest of this entry »

Posted in 6502, 68k, 8086, 8087, 8087, 8088, Development, History, Software Development | Leave a Comment »

Some lesser known achievements of Phil (Philip A.) Kaufman

Posted by jpluimers on 2026/02/10

Sometimes Wikipedia entries are way too short, for instance Philip A. Kaufman – Wikipedia, who in 1992 – at the age of around 50 – died way to early, does not do justice to his time at Intel.

His name rang a bell when searching for early Intel 8087 documentation distributed via LISTSERV, so below is a bit more information on Phil.

True, his life after Intel was very important especially on the front of electronic design automation. That in fact sparked the posthumous instantiation of the Phil Kaufman Award which you can read for instance at [Wayback/Archive] The Phil Kaufman Award Dinner Is Later this Month. Who Was Phil Kaufman? – Breakfast Bytes – Cadence Blogs – Cadence Community.

After his floating-point endeavours at Intel and the IEEE, he was also very instrumental at Intel in finding another big market for silicon: network controller chips (and getting the Ethernet standard going: think DIX (Digital/Intel/Xerox) [Wayback/Archive] Ethernet Blue Book (1980) which was named that way earlier than the PostScript Blue Book (1986) and CD Blue Book (1986)).

This period is very well described in the [Wayback/Archive] 1988 Computer History Museum interview of Phil Kaufman by James L. Pelkey (via [Wayback/Archive] Phil Kaufman | History of Computer Communications).

Back to floating point: Phil’s post from 1987 way better describes what early processor technologies at Intel he was involved with than the above links. That period was instrumental in getting IEEE_754-1985 going (it was released way after the 8087!) and still shapes the floating point aspects of almost any CPU from any vendor today so I quote it in full from [Wayback/Archive] Info-IBMPC V6 #59:

Read the rest of this entry »

Posted in 8086, 8087, 8087, 8088, Algorithms, Assembly Language, Development, Floating point handling, History, x86 | Leave a Comment »

Cool visualisations of graph searching: Introduction to the A* Algorithm

Posted by jpluimers on 2025/10/21

This is so cool: graphical [Wayback/Archive] Introduction to the A* Algorithm

It is still being updated, which is even cooler:

Created 26 May 2014, updated Aug 2014, Feb 2016, Jun 2016, Jun 2020, Jul 2023

These are for general graph traversal. That Wikipedia article only mentions depth-first search and breadth-first search, but forgets the A* search algorithm which is an extension of the also not mentioned Dijkstra’s algorithm which in turn is based on breadth-first search.

The visualisations cover the breadth-first algorithms.

The example code is Python based, but easy to translate into other languages.

The visualisation code is in JavaScript, using these files (they Archive.is versions are more accurate than the Wayback Machine ones):

Read the rest of this entry »

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

Algorism and algorithm are named after Muhammad ibn Musa al-Khwarizmi, founder of algebra (via @annefleurdd)

Posted by jpluimers on 2025/10/14

I was in my 50s when I learned that both algorism and algorithm are named after the 9th-century Persian mathematician Muhammad ibn Musa al-Khwarizmi who founded algebra.

Related:

Via:

–jeroen

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

Undergraduate Upends a 40-Year-Old Data Science Conjecture : programming – Andrew Krapivin et all invente a faster hashing algorithm

Posted by jpluimers on 2025/06/26

From a while back: [Wayback/Archive] Undergraduate Upends a 40-Year-Old Data Science Conjecture : programming which has a “TL;DR for non CS people” and a “Here’s an explanation” well worth reading.

It’s about the work of Andrew Krapivin with co-authors Martín Farach-Colton and William Kuszmaul.

A young computer scientist and two colleagues show that searches within data structures called hash tables can be much faster than previously deemed possible.

Reminder to self to find any real world implementations of this new hashing algorithm.

Materials are the “easier” article [Wayback/Archive] Undergraduate Upends a 40-Year-Old Data Science Conjecture | Quanta Magazine which refers to the actual paper:

Read the rest of this entry »

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

For my link archive: Counting the leading zeroes and ones in a binary number with C#

Posted by jpluimers on 2025/03/13

From a while back, but still interesting:

  1. [Wayback/Archive] Counting the leading zeroes in a binary number with C#
  2. [Wayback/Archive] c# – Getting the number of leading 1 bits – Stack Overflow (thanks [Wayback/Archive] Barry Kelly and [Wayback/Archive] SoapBox)

Especially the first link explains the algorithm very well and is similar to links referred to from the Stack Overflow question as it is based on counting ones (and leading ones are basically leading zeros but bit-inverted).

It also explains a cool thing for leading zeros: modern CPU have instructions which .NET Core.

Read the rest of this entry »

Posted in .NET, AArch64/arm64, Algorithms, ARM, Assembly Language, C, C#, C++, Delphi, Development, Software Development, x64, x86 | Tagged: , , | Leave a Comment »

Decodering van code uiterste verkoopdatum op groenten en fruit (via Joost Schellevis Twitter)

Posted by jpluimers on 2024/10/22

[Wayback/Archive] Joost Schellevis on Twitter: “het blijkt geen algemeen gangbare kennis dat dit de uiterste verkoopdatum is. in dit geval: c = woensdag, 31 = week 31. (a = maandag, g = zondag. dus e40: de vrijdag van week 40). staat op veel voorverpakt fruit en groente. weet je dat ook weer.”.

Oh ja:

Read the rest of this entry »

Posted in Algorithms, Conference Topics, Conferences, Development, Event, LifeHacker, Power User, Software Development | Leave a Comment »