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 ‘Development’ Category

Douglas Crockford – Google+ – on why comments got removed from JSON

Posted by jpluimers on 2025/07/01

Since this question keeps popping up around me every now and then, despite JSON being around for like 25 years now, this statement from the original designer Douglas Crockford:

[Wayback/Archive] Douglas Crockford – Google+ – Comments in JSON …

I removed comments from JSON because I saw people were using them to hold parsing directives, a practice which would have destroyed interoperability. I know that the lack of comments makes some people sad, but it shouldn’t.

Suppose you are using JSON to keep configuration files, which you would like to annotate. Go ahead and insert all the comments you like. Then pipe it through JSMin before handing it to your JSON parser.

Yup, Google+ has been dead for more than 6 years now, so it is important to quote these insights for posterity to find them back.

Related:

Via: [Wayback/Archive] Can comments be used in JSON? – Stack Overflow with several answers mentioning the above G+ post.

Query: [Wayback/Archive] json comment – Google Search

--jeroen

Posted in Development, JavaScript/ECMAScript, JSON, Scripting, Software Development | Leave a Comment »

Some Mastodon servers allow themselves to be wrapped with the cuckoo.social to give a G+ (Google Plus) like user interface

Posted by jpluimers on 2025/07/01

[Wayback/Archive] Cuckoo+ is a wrapper around Mastodon that makes the UI look like Google+ (G+ / Google Plus).

It is open source at [Wayback/Archive] NanaMorse/Cuckoo.Plus: A GooglePlus-Like third-party web client for mastodon. with hardly any updates like lik because the author is not active on Mastodon any more according to [Wayback/Archive] Is dead the repo ? · Issue #237 · NanaMorse/Cuckoo.Plus (via [Wayback/Archive] Issues · NanaMorse/Cuckoo.Plus)

Note that in some Mastodon instances it fails because of CORS issues:

Read the rest of this entry »

Posted in Development, G+: GooglePlus, JavaScript/ECMAScript, Scripting, SocialMedia, Software Development, TypeScript, Web Development | Tagged: | 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 »

Robust Links – Make Your Link Robust: automagically amend them with archived versions

Posted by jpluimers on 2025/06/26

Need to look into this further: [Wayback/Archive] Robust Links – Make Your Link Robust.

Likely running it on my blog requires JavaScript to be enabled which means going from the premium to the small business plan (at te time of writing from USD 8 to USD 25 per month: a 200+% increase).

Let’s first start with an example:

Read the rest of this entry »

Posted in archive.is / archive.today, CSS, Development, Internet, InternetArchive, JavaScript/ECMAScript, link rot, Power User, Scripting, Software Development, WayBack machine | Leave a Comment »

GitHub: finding the oldest commit on large repositories

Posted by jpluimers on 2025/06/25

The manual process of getting back to the earliest commit of a GitHub repository is easy for small repositories, but for a large one it is very tedious.

TL;DR: there are various ways, but the easiest was the INIT Bookmarklet below.

Note: 2 weeks before the scheduled post made it to the front of the queue, I got a report¹ that it started to fail. Here it still works.

It’s hard to debug because of the functional programming approach taken.

Read the rest of this entry »

Posted in Bookmarklet, C, Conference Topics, Conferences, Development, DVCS - Distributed Version Control, Event, git, GitHub, Go (golang), JavaScript/ECMAScript, Power User, Scripting, Software Development, Source Code Management, Web Browsers | Tagged: , , | Leave a Comment »

“C# emits .callvirt instructions, even if the method isn’t virtual. That forces a call site null check.” (Immo Landwerth on Twitter)

Posted by jpluimers on 2025/06/25

From a while back, which I initially missed because it was in the midst figuring out my ver increasing bowel problems leading up to all my cancer treatments, but still relevant:

[Wayback/Archive] Immo Landwerth @terrajobst@hachyderm.io on Twitter: “That’s why C# emits .callvirt instructions, even if the method isn’t virtual. That forces a call site null check.”

Except inside [Wayback/Archive] Extension Methods, referring to this will never return null.

Yes you can work around this using things like reflection, but the C# compiler will emit .callvirt for any method call which does an implicit null check by the caller which means you never have to check that in callees.

The above tweet quoted the first message of the [Wayback/Archive] Thread by @MStrehovsky on Thread Reader App on working around this .callvirt protection:

Read the rest of this entry »

Posted in .NET, C#, Conference Topics, Conferences, Development, Event, Software Development | Leave a Comment »

NEN 5152 – Wikipedia: “Technische tekeningen – Elektrotechnische symbolen”

Posted by jpluimers on 2025/06/24

Apart from the 1973 and 1977 editions mentioned in NEN 5152 – Wikipedia it also links to a 2016 edition. After a little digging, it has at least had new editions in these  years:

Read the rest of this entry »

Posted in Development, Electronics Development | Leave a Comment »

Some testla.com artifacts indicate it runs on PHP being deployed from a git repository

Posted by jpluimers on 2025/06/24

A few years back, a few interesting files turned up that are directly served from the testla.com web-site right in the middle when Musk used their software engineers to asses twitter.com code quality:

Some do not exist (of which some any more):

Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, git, PHP, Scripting, Software Development, Source Code Management, Web Development | Tagged: | Leave a Comment »

zxcvbn: Low-Budget Password Strength Estimation | USENIX

Posted by jpluimers on 2025/06/19

Many web-sites and password managers have a strength indicator built-in.

This is a really good example (with open source JavaScript code!) of one: [Wayback/Archive] zxcvbn: Low-Budget Password Strength Estimation | USENIX

Be aware though that it stores a plain text file named passwords.txt on your system (this seems to confuse some users, especially when their password is in it).

Homans password behaviour does not change much over time, so this half hour 2016 presentation on it is still current: [Wayback/Archive] USENIX Security ’16 – zxcvbn: Low-Budget Password Strength Estimation – YouTube for which you can download:

Read the rest of this entry »

Posted in Chrome, Development, Edge, Firefox, JavaScript/ECMAScript, Power User, Safari, Scripting, Software Development, Web Browsers, Windows, Windows 10, Windows 11 | 2 Comments »

GitHub parody poster (but actually truth): “We trained copilot on your code. That’s why it sucks”

Posted by jpluimers on 2025/06/18

The image [Wayback/Archive] GjXf0EPWEAAaAoz.jpg:orig (1528×2048) posted by [WaybackSave/Archive] Deepak Kumar (दीपक) 😷💉 on X: “@Grady_Booch @jsngr” was a response to [Wayback/Archive] Grady Booch on X: “@jsngr …”

«

And what to we call a language with sufficient expressiveness and precision able to construct executable artifacts?

We call it a “programming language”.

At best, AI will revolutionize software development on the same manner as did the invention of compilers. The entire history

»

which also spared these interesting responses:

  1. [WaybackSave/Archive] Adiva 🏳️‍⚧️ on X: “@Grady_Booch @jsngr Also: libraries/packages. It’s been ages since anybody has needed to write every single thing by themselves. Lots of software writing is already creating logic that connects more specialized code written by other people without having understand its internals fully.”
  2. [WaybackSave/Archive] Fast Magpie on X: “@Grady_Booch @jsngr This is the correct take. The number of software engineers required to produce software will decline. The breadth and depth of skill required of those engineers will likely increase. The overall demand for software will increase.”

The library problem is even bigger than the XKCD single dependency one, as there are so many of those fragile dependencies which I discussed in Every conversation about dependencies since 2020 uses the same XKCD 2347 based image, which is a problem on multiple levels. AI will introduce even more dependencies and likely many of them from unknown background causing huge copyright issues.

Image (full size below) from [Wayback/Archive] Tweet JSON

--jeroen


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