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

Archive for the ‘Software Development’ Category

Every conversation about dependencies since 2020 uses the same XKCD 2347 based image, which is a problem on multiple levels

Posted by jpluimers on 2024/08/01

The below picture is a modification of [Wayback/Archive] 2347: Dependency – explain xkcd

Title text: Someday ImageMagick will finally break for good and we’ll have a long period of scrambling as we try to reassemble civilization from the rubble.

It actually emphasises the problem both that [Wayback/Archive] xkcd 2347: Dependency is way too optimistic, and that everyone uses that to point out dependency issues or worse as a thought-terminating cliché .

The second problem amplifies itself by increasing the popularity of the comic, and the attracts people to use it even if they hardly know about dependencies.

In turn it diminishes the meaning of it, kind of making it more optimistic by basically amplifying the message “there is just one really fragile project our design/infrastructure depends on” (the infamous “A project some random person in Nebraska has been thanklessly maintaining since 2003”).

The sad reality is that this single fragile project is just not true. Modern development and infrastructure systems usually are underpinned by package managers installing the complex graphs of dependencies of which dozens, heck thousands are maintained for “free” by, more often than not, a single worn out maintainer per dependency.

It’s just that over the last few decades usually only one such package at a time posed a serious problem. But with dependencies on very small building blocks, the amount of blocks is rising as is their usage. Just two examples out of the Node JS world (mind you, each development and infrastructure stack lives in comparable worlds):

Mind you, these links are 2021 and 2022, so the numbers have increased.

Many think such problems are limited to programming errors, but over the last decade these have become the tip of the iceberg. The real problems now are that maintainers are fading away as they have for instance been worn out for too long, or simply are aging. So what we have seen over the last decade is the rise of supply chain attacks.

One such example was the XZ utils backdoor which was, by sheer luck because one guy tried to investigate why connecting over ssh had become much slower than before, barely detected in time. It had a CVSS score of 10.0, the highest possible score.

So be prepared that the below picture will have “your business structure” on the top, and towards the bottom a bunch of small fragile pillars with the text “many projects, each maintained by a worn out person on the verge of collapse”.

Read the rest of this entry »

Posted in Awareness, Conference Topics, Conferences, Design Patterns, Development, Event, Fun, Software Development, Systems Architecture, Technical Debt, xkcd | Leave a Comment »

Programming Quotes: “No code is faster than no code…” – Mastodon

Posted by jpluimers on 2024/07/31

Important code optimisation thought: [Wayback/Archive] Programming Quotes: “No code is faster than no code. — merb motto” – Mastodon

--jeroen

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

PoshCode/PowerShellPracticeAndStyle: The Unofficial PowerShell Best Practices and Style Guide

Posted by jpluimers on 2024/07/31

For my link archive, the source code [Wayback/Archive] PoshCode/PowerShellPracticeAndStyle: The Unofficial PowerShell Best Practices and Style Guide and on-line “book” version that starts with:

[Wayback/Archive] About this Guide – PowerShell Practice and Style

It covers many topics grouped into a Style Guide and Best Practices:

Read the rest of this entry »

Posted in Development, PowerShell, Scripting, Software Development | Leave a Comment »

CrazyMyra: “After AI took his job as an online assistant, Mr Clippy was obliged to seek work in other sectors…” – beige.party

Posted by jpluimers on 2024/07/30

I love the new title-text for the 2018 “Clippy” picture at [Wayback/Archive] CrazyMyra: “After AI took his job as an online assistant, Mr Clippy was obliged to seek work in other sectors…” – beige.party

A metal toilet paper holder in a corner od a bathro,with an empty roll, that looks similar to a large paperclip

Read the rest of this entry »

Posted in AI and ML; Artificial Intelligence & Machine Learning, Conference Topics, Conferences, Development, Event, Fun, History, JavaScript/ECMAScript, LifeHacker, LLM, Meme, Office, Power User, Scripting, Software Development, Web Development, Windows | Leave a Comment »

Saving an era of indie games: Ruffle – an Adobe Flash Player written in Rust compiled to WebAssembly

Posted by jpluimers on 2024/07/30

I forgot this was in the queue: [Wayback/Archive] ruffle-rs/ruffle: A Flash Player emulator written in Rust.

It is cool and plays a lot of Adobe Flash content and supports quite a bit of the underlying ActionScript language.

I really wish the web version could play web.archive.org/web/20160706140910oe_/http://games.erdener.org/laser/laser.swf (older), web.archive.org/web/20061211011310/http://www.gamuz.com/jeux/laser.swf (newer) or web.archive.org/web/20030827220214oe_/http://www.lurghi.net/laser/laser.swf (newest) but alas when running from https://ruffle.rs/demo/, that SWF is trying to download https://ruffle.rs/demo/config.txt some 20-30 times per second.

Maybe there is a workaround, as I have only tried the [Wayback/Archive] Ruffle Web Demo page (which is the easiest way to get started).

Read the rest of this entry »

Posted in Adobe, Development, Flash, Power User, Rust, Software Development | Leave a Comment »

Without prior warning, Twitter shares your data with grok AI, even for EU Twitter users

Posted by jpluimers on 2024/07/27

Mentioned this on various social media already yesterday, as then suddenly  – even for EU users, which is against their GDPR regulations – Twitter turned on data sharing with Grok AI of your Twitter data at x.com/settings/grok_settings (direct settings link) without given prior warning at all

[Wayback/Archive] GTarqIOWEAAs4jy.png (768×290)

I got this default setting despite living in The Netherlands and Twitter knowing that:

Read the rest of this entry »

Posted in AI and ML; Artificial Intelligence & Machine Learning, Development, GDPR/DS-GVO/AVG, LLM, Power User, Privacy, SocialMedia, Software Development, Twitter | Leave a Comment »

Figuring out what domains/IPs to whitelist for installing/updating winget sources and packages

Posted by jpluimers on 2024/07/25

A few years ago I asked for some help figuring out what to whitelist so that winget can update its sources and install packages.

This is how I found out.

The queste started with [Wayback/Archive] Need help trying to figure out what domains/IPs to whitelist for installing packages · Discussion #2304 · microsoft/winget-cli

Read the rest of this entry »

Posted in Batch-Files, Development, Firewall, Fritz!, Fritz!Box, Hardware, Network-and-equipment, Power User, Scripting, Software Development, Windows, Windows 10, Windows 11, winget | Leave a Comment »

David Fowler on Twitter: “Playing around with using static interface methods and the new IParsable to make generic callsites for HTTP APIs. Before .NET 7 there was no way to write generic code that did {Type}.TryParse/{Type}.Parse. The type system didn’t have a way to describe these contracts. #dotnet”

Posted by jpluimers on 2024/07/25

Reminder to check out this [Wayback/Archive] David Fowler on Twitter: “Playing around with using static interface methods and the new IParsable to make generic callsites for HTTP APIs. Before .NET 7 there was no way to write generic code that did {Type}.TryParse/{Type}.Parse. The type system didn’t have a way to describe these contracts. #dotnet” (and OCR the images):

Read the rest of this entry »

Posted in .NET, .NET Core, C#, C# 11, Development, Software Development | Leave a Comment »

Goldman Sachs: AI Is Overhyped, Wildly Expensive, and Unreliable

Posted by jpluimers on 2024/07/24

If even companies that normally charge a fukcton of money* to advise the obvious gets it, why are so many still falling for it?

[Wayback/Archive] Goldman Sachs: AI Is Overhyped, Wildly Expensive, and Unreliable

“Despite its expensive price tag, the technology is nowhere near where it needs to be in order to be useful for even such basic tasks”

Via [Wayback/Archive] tldr.nettime – tante: “”What this means in plain Engl…”

“What this means in plain English is that one of the largest financial institutions in the world is seeing what people who are paying attention are seeing with their eyes: Companies are acting like generative AI is going to change the world and are acting as such, while the reality is that this is a technology that is currently deeply unreliable and may not change much of anything at all.”

(Original title: Goldman Sachs: AI Is Overhyped, Wildly Expensive, and Unreliable)

  • do I really need to mention the USD 4 million contact for figuring out that for NYC, putting garbage bags on OTTO garbage wheelie bins would  on the streets would work better than putting plain garbage bags on the streets?

Read the rest of this entry »

Posted in AI and ML; Artificial Intelligence & Machine Learning, Development, LLM, Software Development | Leave a Comment »

Need to give this some thought: Poor Man’s Auto Update. by Chris Bensen | by Chris Bensen

Posted by jpluimers on 2024/07/23

Sometimes you need a relatively low-tech solution for updating.

I will need to give this some thought: [Wayback/Archive] Poor Man’s Auto Update. by Chris Bensen | by Chris Bensen | Jun, 2022 | Medium

Back then I posted some edits on Twitter which by now should be reflected in the script and GitHub repository at [Wayback/Archive] chris-blogs/PoorManAutoUpdate.md at main · chrisbensen/chris-blogs (with script at [Wayback/Archive] chris-blogs/updater.sh at main · chrisbensen/chris-blogs)

Read the rest of this entry »

Posted in *nix, *nix-tools, cron, Development, Hardware Development, Linux, Power User, Python, Raspberry Pi, Scripting, Software Development | Leave a Comment »