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

Archive for the ‘Algorithms’ Category

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 »

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 »

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 »

Lots of interesting git links via b0rk on Twitter

Posted by jpluimers on 2024/05/22

A few years back [Wayback/Archive] 🔎Julia Evans🔍 (@b0rk) / Twitter asked for tips on learning git which resulted in a wealth of resources.

Related: [Wayback/Archive] xkcd: Git

So the below are for my link archive.

Yes, I have removed most of not all Unicode emojis as they are a pain for visually impaired to listen to from screen readers.

Future

Later I want to categorise all these, maybe using categories like these:

  • Videos
  • Stories/narrations
  • Levels (beginner/intermediate/advance)
  • Direction (inside-out vs outside-in)
  • (Rough) reimplementations
  • Perspectives from different version control systems
  • Failures: learning from or preventing them

I need to contemplate about that for a while.

--jeroen

Read the rest of this entry »

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