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

Archive for the ‘Software Development’ Category

Going Native – Malicious Native Applications

Posted by jpluimers on 2025/02/25

On the reading list wondering which tool chains can deliver NtAPI based development: [Wayback/Archive] Going Native – Malicious Native Applications

Via [Wayback/Archive] Thread by @MrPc69257431 on Thread Reader App with first tweet at

https://x.com/MrPc69257431/status/1864855379651498292

Note that being able to call NtAPI from your code base does not mean NtAPI based development: Pure NtAPI means you need a linker that can target a different output. See the quote from the above article (emphasis mine):

So, to get started with an empty native executable, all we have to do is include the “phnt.h” file, and set up the NtProcessStartup function. Then it’s important to tell the linker that we want to link against ntdll, and that we’ll be making a native application by passing in the “Native” text to the Subsystem linker option

It means that for instance Delphi is kind of out of the question for this, see these links on why:

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development, Windows Development | Leave a Comment »

GitHub – Sanakan8472/copy-dialog-lunar-lander: Play lunar lander in you windows file copy dialog

Posted by jpluimers on 2025/02/25

[Wayback/Archive] Sanakan8472/copy-dialog-lunar-lander: Play lunar lander in you windows file copy dialog

Hard

Via:

--jeroen

Read the rest of this entry »

Posted in .NET, C#, Development, Power User, Software Development, Uncategorized, Windows, Windows 10, Windows 11, Windows Development | Leave a Comment »

How to send raw network packets in Python with tun/tap

Posted by jpluimers on 2025/02/20

For my link archive: [Wayback/Archive] How to send raw network packets in Python with tun/tap

I never really played around with tun and tap, so this is a nice opportunity to do so. I know they were the base for VPN on Linux, but just now I learned TUN/TAP are not available on nx, but also on Windows. Cool!

Via [Wayback/Archive] 🔎Julia Evans🔍 on Twitter: “how to send raw network packets in Python with tun/tap …”

--jeroen

Posted in *nix, *nix-tools, Development, Ethernet, Hardware, Linux, Network-and-equipment, Power User, Python, Scripting, Software Development | Leave a Comment »

Visual Studio Code: copying text when none is selected.

Posted by jpluimers on 2025/02/19

Last week, I wrote that I switched to Visual Studio Code for most of my text based coding: Visual Studio Code: blazingly fast text expansion with Emmet.

I also use vscode for documentation and text writing, which – yes sometimes I am a copy/paste person too – means you want a bit more flexibility than just copying the selected text.

In most of my previous development tools, either the tool itself, or a plugin, would allow me to copy the word under the cursor if none was selected.

I wanted to change that behaviour too and become more flexible.

So I did some searches:

Read the rest of this entry »

Posted in .NET, Conference Topics, Conferences, Development, Event, Keyboards and Keyboard Shortcuts, KVM keyboard/video/mouse, Lightweight markup language, MarkDown, Power User, Software Development, Visual Studio and tools, vscode Visual Studio Code | Leave a Comment »

Twitter image size suffixes reloaded: pbs.twimg.com URL information

Posted by jpluimers on 2025/02/18

It’s almost

Goal of the current post amend the above posts with information so I can later write a bookmarklet or web-page with JavaScript that – from a x.com or twitter.com – tweet URL can get the JSON, then the images and/or videos in all sizes, then generate a web-page from it for Wayback Machine archival.

Read the rest of this entry »

Posted in Development, HTML, JavaScript/ECMAScript, Scripting, SocialMedia, Software Development, Twitter, Web Development | Tagged: , , , , | Leave a Comment »

Code52/carnac: A utility to give some insight into how you use your keyboard (on Windows systems)

Posted by jpluimers on 2025/02/18

I unconsciously wanted a tool like this for a long time, and was glad I finally searched for it:

A keyboard logging and presentation utility for presentations, screencasts, and to help you become a better keyboard user.

[Wayback/Archive] Code52/carnac: A utility to give some insight into how you use your keyboard

The first time I saw something similar was in the Delphi days where it was part of a plugin for CodeRush in Delphi (think Delphi 5-6 era), the famous developer productivity tool by Mark Miller that later got rewritten for Visual Studio and became part of DevExpress.

So I searched for [Wayback/Archive] windows show keystrokes – Google Search which found [Wayback/Archive] How to show keystrokes on Windows 10 which in turn mentioned a fork of Carnac.

As it turns out Read the rest of this entry »

Posted in .NET, Delphi, Development, Hardware, Keyboards and Keyboard Shortcuts, KVM keyboard/video/mouse, Power User, Software Development, Windows, Windows Development | Leave a Comment »

Introduction to the Zettelkasten Method • Zettelkasten Method

Posted by jpluimers on 2025/02/17

Every now and then you bump into an interesting post on a workflow you already have but did not know the name for.

This time it is [Wayback/Archive] Introduction to the Zettelkasten Method which has this nice definition:

A Zettelkasten is a personal tool for thinking and writing. It has hypertextual features to make a web of thought possible. The difference to other systems is that you create a web of thoughts instead of notes of arbitrary size and form, and emphasize connection, not a collection.

I thought a bit about it and it feels quite a bit like this blog: the ~5k draft posts at the time of writing are similar to a Zettelkasten: short notes with title and links either internally or externally.

These drafts are private, but the actual blog posts are either public (already published: some 8k at the time of writing) or queued for publication (some 2 years at the time of writing).

Read the rest of this entry »

Posted in Blogging, Development, documentation, Knowledge Worker, LifeHacker, Lightweight markup language, MarkDown, Power User, reStructuredText, SocialMedia, Software Development | Tagged: , , , , | Leave a Comment »

Just released: the 2025 Annotated Edition of Mastering Delphi 5 by Marco Cantù

Posted by jpluimers on 2025/02/14

This just in: [Wayback/Archive] downloads.marcocantu.com/delphi5annotated.pdf

It has close to 200 annotations in some 300 pages plus a new preface, which is also at [Wayback/Archive] Mastering Delphi 5 2025 Annotated Edition

This brings the book current, but also showing how good Delphi is in backward compatibility.

Via:

  1. [Wayback/Archive] Marco Cantù: “Blog post “Mastering Delphi 5 2025 Annotated Edition” at blog.marcocantu.com/blog/2025-fe…” — Bluesky
  2. [Wayback/Archive] marcocantu.com-Books

--jeroen

Posted in Delphi, Delphi 5, Development, Software Development | Leave a Comment »

macos – How can I update everything installed through Homebrew after OSX upgrade? – Ask Different

Posted by jpluimers on 2025/02/13

[Wayback/Archive] macos – How can I update everything installed through Homebrew after OSX upgrade? – Ask Different

A

Use the command brew upgrade in the terminal to update all of the packages.

C

brew upgrade --cask not updated my excited packages like Flutter. using brew upgrade --g will be preferred as mentioned in Manpage : –g–greedyAlso include outdated casks with auto_updates true or version :latest. –greedy-latestAlso include outdated casks including those with version :latest. –greedy-auto-updatesAlso include outdated casks including those with auto_updates true.

C

Casks are not upgraded because of their internal auto-update capabilities and the conflict in these two auto-update mechanisms. See more details on docs.brew.sh/…

So if you want to upgrade casks as well, then run this (but read the warnings below first):

Read the rest of this entry »

Posted in Apple, Development, Home brew / homebrew, Power User, Software Development | Tagged: | Leave a Comment »

evilsocket/jscythe: Abuse the node.js inspector mechanism in order to force any node.js/electron/v8 based process to execute arbitrary javascript code.

Posted by jpluimers on 2025/02/13

This is based on SIGUSR1, so means you need to run as the same user on the same local system, but it can be used for interesting techniques like extending node.js/electron based applications beyond what they were designed for.

[Wayback/Archive] evilsocket/jscythe: Abuse the node.js inspector mechanism in order to force any node.js/electron/v8 based process to execute arbitrary javascript code.

The behaviour has been documented and was known for a long time: [Wayback/Archive] sigusr1 node.js – Twitter Search.

It got my attention because of [Wayback/Archive] Simone Margaritelli on Twitter: “You can force any v8/Electron process to execute arbitrary js code (child_process, http, etc) by forcefully enabling and abusing the builtin debug mechanism … here’s VS Code executing Calc, but I suspect any Electron app is susceptible 🔥 it works with SIP enabled on macOS”

Read the rest of this entry »

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