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

No, You Are Not Getting a CVE for That (as it rather involved being on the other side of this airtight hatchway)

Posted by jpluimers on 2025/04/25

A great rambling on “It rather involved being on the other side of this airtight hatchway” (I really want that printed on a T-Shirt):

[Wayback/Archive] No, You Are Not Getting a CVE for That.

Lot’s of references by [Wayback/Archive] Parsia to great posts by [Wayback/Archive] Raymond Chen mainly on security issues that are not: there is only a vulnerability when you get from the other side of the outside of the airtight hatchway to the inside, not when you are already inside.

And of course this great reference to H2G2 (The Hitchhiker’s Guide to the Galaxy), a trilogy in five parts by Douglas Adams:

Arthur: But can’t you think of something?!
Ford: I did.
Arthur: You did!
Ford: Unfortunately, it rather involved being on the other side of this airtight hatchway—
Arthur: oh.
Ford: —that’s just sealed behind us.
Douglas Adams —Hitchhiker’s Guide to the Galaxy – Fit The Second

Via:

--jeroen

Posted in Blue team, Fun, History, Power User, Quotes, Red team, Security | Tagged: | Leave a Comment »

Finding most recent forks of gists and github repositories

Posted by jpluimers on 2025/04/24

A while ago I found out that gist.github.com/lynatan/673e574faa8343fa01d7a91e75065c54 which I mentioned before in Delphi analog to C# ?? null-coalescing operator and Light Table like debugger evaluation and I wanted to

  1. find it back
  2. find the most recent forks of it

The reason was that I was working on the [WaybackSave/Archive] bit Time Professionals on X: “Live now: “Hidden Gems of Delphi Language: Operator Overloading and Class/Record helpers” @jpluimers” session which I presented at [Wayback/Archive] ITDevCon 2024 | Home where I also could enjoy the company of the other [Wayback/Archive] ITDevCon 2024 | Speakers and the famous [Wayback/Archive] IT DevCon 2024 speaker dinner (which attendees can also join for a slight surcharge).

The presentation is at [Wayback/Archive] ITDevCon2024/delphi_language_hidden_gems/delphi_language_hidden_gems.md at main · jpluimers/ITDevCon2024 · GitHub and pictures of the event at [Wayback/Archive] ITDevCon2024 – Google Photos.

Back to the problem at hand

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Development, DVCS - Distributed Version Control, Event, gist, GitHub, ITDevCon, Software Development, Source Code Management | Leave a Comment »

TIL you can run SQL queries directly against CSV files as a one-liner using the default sqlite3 command line utility

Posted by jpluimers on 2025/04/24

[Wayback/Archive] One-liner for running queries against CSV files with SQLite | Simon Willison’s TILs

I figured out how to run a SQL query directly against a CSV file using the sqlite3 command-line utility:
sqlite3 :memory: -cmd '.mode csv' -cmd '.import taxi.csv taxi' \
  'SELECT passenger_count, COUNT(*), AVG(total_amount) FROM taxi GROUP BY passenger_count'
This uses the special :memory: filename to open an in-memory database. Then it uses two -cmd options to turn on CSV mode and import the taxi.csv file into a table called taxi. Then it runs the SQL query.
Instead of setting the mode with .mode you can use .import -csv like this (thanks, [Wayback/Archive] Mark Lawrence):
sqlite3 :memory: -cmd '.import -csv taxi.csv taxi' \
  'SELECT passenger_count, COUNT(*), AVG(total_amount) FROM taxi GROUP BY passenger_count'

Via [Wayback/Archive] Simon Willison on Twitter: “TIL you can run SQL queries directly against CSV files as a one-liner using the default sqlite3 command line utility”

Read the rest of this entry »

Posted in CSV, Database Development, Development, Software Development, SQLite | Leave a Comment »

How TINY Can I go? The BEST Power Board is here! – YouTube – GreatScott!

Posted by jpluimers on 2025/04/23

[Wayback/Archive] How TINY Can I go? The BEST Power Board is here! – YouTube – GreatScott!

I will try to remake an AliExpress PCB. It is a very handy voltage converter that can take a varying battery voltage and convert it into 3.3V or 5V while only requiring very little current (25uA) on the input. Sounds awesome, but the board is way too huge. That is why I try to push the size limits in this video to the minimum.

Via: [Wayback/Archive] Making a Tiny PCB Design #electronics #diy #greatscott #science #engineering #pcb #tiny – YouTube

--jeroen

Read the rest of this entry »

Posted in Development, Electronics Development, Hardware, Hardware Development, Power User, USB, USB-C | Tagged: , , , , , , | Leave a Comment »

Windows event log querying from the command line: wevtutil (with XPath query parameters and XML output)

Posted by jpluimers on 2025/04/23

A while ago, I needed to investigate reboot events on some Windows 10 systems. I wanted to use the console instead of the eventvwr GUI Event Viewer.

There is a tool for that called wevtutil which – like eventvwr – uses XPath query parameters and produces XML output.

Postprocessing XML can be a thing, but since .NET has great XML support, you can use PowerShell for that (which for me often is way easier than going the XSLT route, for instance because Windows lacks built-in console XSLT tooling).

Based on the help and the below links, my query command then on these machines turned out to be this: Read the rest of this entry »

Posted in Batch-Files, CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development, XML, XML/XSD, XPath, XSLT | Leave a Comment »

Ook Nederlandse web-pagina’s vervuilen met AI-gegenereerde pagina’s zoek-resultaten (en daarmee de AI generatoren)

Posted by jpluimers on 2025/04/22

Waar velen al over waarschuwden gebeurt ook in het Nederlandstalige gebied: AI-gegenereerde web-pagina’s komen hoog in de zoekresultaten en vervuilen daarmee Large Language Models van nieuwe AI-tools.

Voorbeelden die ik tegenkwam:

Ze zijn echt heel makkelijk te ontkrachten, ondanks dat de tekst er heel mooi en netjes uitziet: de inhoud klopt gewoon, en juist dat de tekst er zo mooi en netjes uitziet maakte het voor mij verdacht.

De eerste site is het oude domain van [Wayback/Archive] Baarnse Onafhankelijke Partij wat al heel snel na het opheffen van die partij (zie Baarnse Onafhankelijke Partij – Wikipedia) werd overgenomen.

De domains behoren beide tot SEO sites.

Queries die zowel laten zien hoe hoog sommige pagina’s komen als hoe eenvoudig hun inhoud te ontkrachten is:

--jeroen

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

“Towards Inserting One Billion Rows in SQLite Under A Minute”

Posted by jpluimers on 2025/04/22

From a long time ago, but the (impressive!) leaderboard still has the same order (the Rust implementation did get faster!).

[Wayback/Archive] Towards Inserting One Billion Rows in SQLite Under A Minute – blag

Recently, I ran into a situation where I needed a test database with lots of rows and needed it fast. So I did what any programmer would do: wrote a Python script to generate the DB. Unfortunately, it was slow. Really slow. So I did what any programmer would do: went down the rabbit hole of learning more about SQLite, Python, and eventually Rust… in my quest to get a 1B row database under a minute. This blog post is a summary of this fun and educational exercise.

Repository at [Wayback/Archive] avinassh/fast-sqlite3-inserts: Some bunch of test scripts to generate a SQLite DB with 1B rows in fastest possible way

Leaderboard

(for 100M insertions)
Variant Time
Rust 23 seconds
PyPy 126 seconds
CPython 210 seconds

Via: [Wayback/Archive] Shawn Wildermuth #000000 { lives: matter; } 🇺🇦 on Twitter: “Towards Inserting One Billion Rows in SQLite Under A Minute””

--jeroen

Read the rest of this entry »

Posted in Database Development, Development, SQLite | Tagged: | Leave a Comment »

Pentium to Powerhouse! Dell 3070 Micro Transformation: how to upgrade the CPU, RAM and Storage – YouTube

Posted by jpluimers on 2025/04/21

Didn’t know these CPUs were user-replaceable:

[Wayback/Archive] Pentium to Powerhouse! Dell 3070 Micro Transformation: how to upgrade the CPU, RAM and Storage – YouTube

--jeroen


Posted in Dell Optiplex 3060/5060/7060 Micro, Hardware, Power User | Leave a Comment »

BMW E61 Trunk Leak – Sunroof Drain Failure – 2004-2010 5 Series Wagon

Posted by jpluimers on 2025/04/21

Use this guide only as a last resort: [Wayback/Archive] BMW E61 Trunk Leak – Sunroof Drain Failure – 2004-2010 5 Series Wagon.

Try first to remove any debris from the drains from the panoramic sunroof/moonroof side or remove the valve with grommet at the lowest end. Some YouTube video’s explain how to do that.

It looks like a sunroof often has front drain holes clogged and a panoramaroof often the back drain holes; where it leaks depends how your car is tilted while parked.

You might want to move the electronics that are in the well under the spare wheel to the left hand side of the trunk.

Furthermore, the electric cabling on the E61 that runs underneath the hinges of the trunk and trunk window mechanisms tend to break over time causing all kinds of electrical issues.

A list related to those first:

Read the rest of this entry »

Posted in cars, E61 530xd touring, LifeHacker, Power User | Leave a Comment »

How I Setup My Mac – Liam Beeton

Posted by jpluimers on 2025/04/18

Inspiration: [Wayback/Archive] How I Setup My Mac – Liam Beeton

Via

--jeroen

Posted in Apple, Apple Silicon, ARM Mac, M1 Mac, Mac, Mac OS X / OS X / MacOS, macOS 14 Sonoma, Power User | Leave a Comment »