Coding projects (by me)

ZAAP

ZTreeWin Assistant Applications

Read More →

Fossil skins

My collection of Fossil skins (and ticket page) configurations.

Read More →

GetNewWallpapers

A small WinForms program to download wallpapers from Reddit, and preview them on all monitors.

Read More →

TownCrier

TownCrier is a Windows desktop application that lives in the system tray and displays Windows 11 toast notifications based on configurable rules.

Read More →

Mail Janitor

Command-line program that can sync e-mail messages, but also group e-mail messages present on the server, and according to certain criteria, perform some actions on (some of) the messages in the group.

Read More →

Toggl Tools

One or more convenience tools around the Toggl API.

Read More →

SyncToKDrive

Tool to synchronize a folder (and all its subfolders) to kDrive. C#

Read More →

mail-to-ntfy

(No description available)

Read More →

Relay Bluesky to Ntfy

The C# source for a command-line program to monitor a Bluesky account, and relay each post to ntfy.sh, and optionally like each post.

Read More →

ZTreeWin Forum

Forum for the ZTreeWin orthodox file manager.

Read More →

Preview HTML

"Preview HTML" is a plug-in for Notepad++ which allows previewing a HTML page inside Notepad++ while editing it. (No longer maintained, source available).

Read More →

Power Info

A GUI tool displaying Windows' power info, such as battery status etc.

Read More →

HTMLTag

HTMLTag plug-in for the Notepad++ editor. (No longer maintained, source available).

Read More →

Notification sender

Small .net core console program to pick a quote, and send it out using Pushbullet.

Read More →

Fossil Rss Aggregator

(No description available)

Read More →

Slides

WinForms program to index images in one or more folders (and their subfolders) and show a shuffled slide show of them (while indexing more images).

Read More →

Tempus Fugit

Tempus Fugit is a small Windows program that shows visually how many hours you still have to work.

Read More →

Stylemys

A graphical user interface for the Fossil SCM software, like the Tortoise* programs.

Read More →

Miscellaneous Command-line Tools

This project hosts a few command-line tools I've written: FinalPathName, IsWorkstationLocked, and ConvertCharset.

Read More →

Common code files

Shared code library. Lots of drop-in modules, units, functions and procedures.

Read More →

speedtest-graph

A small program to create an SVG chart of my internet connection speed.

Read More →

Fossil SCM provider for VSCode

Fossil SCM integrated Source Control for Visual Studio Code.

Read More →

Tekening

Simple drawing software. Initially written for my 3-year-old kids.

Read More →

Folder Watcher

(No description available)

Read More →

Olam

My (many) attempts at coming up with complete, thorough and usable time-tracking software.

Read More →

RAD Studio VCS Info

A plugin for Embarcadero RAD studio to show summary information on the current project's repository state.

Read More →

IIS Log Parser

Reads one or more IIS log files, and compiles that data into an SQLite database.

Read More →

FreePascal-tools

A collection of scripts for use with `instantfpc` (FreePascal's scripting engine).

Read More →

Wallpaper Cycler

Multi-monitor wallpaper generator

Read More →

Pascal Playground

A small Windows program that uses the Delphi compiler to run a bit of Delphi code, and shows the result. Nice for playing around to see how code performs.

Read More →

Simple Date Screen Saver

A simple screen saver, showing the current date and time.

Read More →

Heks

A simple Hex viewer.

Read More →

WMS Client

Test project to explore using WMS services.

Read More →

HTML Editor

HTML Editor (using the CKEditor WYSIWYG editor).

Read More →

Line Filter

Line Filter is a plug-in for Notepad++, which allows filtering a text file according to various parameters.

Read More →
Search
About this site

This page lists a few pieces of software I've written, or am writing. Most of them were written to scratch an itch I had. I’m releasing them here as open source in the hopes of it being useful to someone.

Recent ticket activity

Re: Crash on start on Qualcomm Snapdragon
Implemented in [](f8dac4fd8677) on [ticket-d2d9e5a5f3-snapdragon-startup-crash](/timeline?r=ticket-d2d9e5a5f3-snapdragon-startup-crash). Added graceful handling for architecture-incompatible Windows preview handlers and updated the ZPreview release/docs flow to publish win-x64 and win-arm64 archives. I could build ZPreview, build ZPreview.Tests, and publish win-x64/win-arm64 packages on Linux, but I could not run the WinForms/Desktop tests or verify COM preview activation on Windows ARM64 here, so leaving this in Review.
Re: Crash on start on Qualcomm Snapdragon
Starting implementation work for the Snapdragon startup crash.
Re: Crash on start on Qualcomm Snapdragon
> Does ZTreeWin run on a Snapdragon? yes, it's running windows64, and Ztree is fine (pobably using the built-in emulation) > Do you get the same error when you select one of the built-in handlers, like Image, Text or Hex? The error comes immediately after invoking ZPreview from within Ztree
Re: Crash on start on Qualcomm Snapdragon
Does ZTreeWin run on a Snapdragon? I didn't think it would, so I configured ZPreview to be built for win-x64 only. I didn't expect the Windows Preview Handlers to work there either, but then, who knows... Looking at the CLSID, it would appear that you do have the PowerToys preview handler(s) installed... I can set it to build for 'AnyCPU', but I don't know how that would impact the COM interfaces those require. Or I could disable the Windows Preview Handlers in that case. Do you get the same error when you select one of the built-in handlers, like Image, Text or Hex?
Crash on start on Qualcomm Snapdragon
My new PC has a Qualcomm Snapdragon Processor. I have installed the .NET 10 Framework for ARM architecture. This is not recognized by ZPreview. So, I installed the "self-contained" version. Howver, this crashes: > Retrieving the COM class factory for component with CLSID {0E6D5BDD-D5F8-4692-A089-8BB88CDD37F4} failed due to the following error: 800700c1 ist keine zulässige Win32-Anwendung. (0x800700C1). Here's the Details: ```text Weitere Informationen zum Aufrufen des JIT-Debuggens finden Sie am Ende dieser Nachricht, anstelle dieses Dialogfelds. ************** Ausnahmetext ************** System.BadImageFormatException: Retrieving the COM class factory for component with CLSID {0E6D5BDD-D5F8-4692-A089-8BB88CDD37F4} failed due to the following error: 800700c1 ist keine zulässige Win32-Anwendung. (0x800700C1). at System.RuntimeTypeHandle.AllocateComObject(Void* pClassFactory) at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions) at Zaap.ZPreview.PreviewHandlers.WindowsPreviewHostControl.TryStartPreview() at Zaap.ZPreview.PreviewHandlers.WindowsPreviewHostControl.<.ctor>b__14_1(Object _, EventArgs _) at System.Windows.Forms.Control.OnHandleCreated(EventArgs e) at System.Windows.Forms.Control.WmCreate(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(HWND hWnd, UInt32 msg, WPARAM wparam, LPARAM lparam) ************** Geladene Assemblys ************** System.Private.CoreLib Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Private.CoreLib.dll ---------------------------------------- ZPreview Assemblyversion: 1.0.0.1 Speicherort: C:\Progs\ZPreview\ZPreview.dll ---------------------------------------- System.Runtime Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Runtime.dll ---------------------------------------- Microsoft.Extensions.Hosting.Abstractions Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Hosting.Abstractions.dll ---------------------------------------- System.ComponentModel Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.ComponentModel.dll ---------------------------------------- System.Windows.Forms Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Windows.Forms.dll ---------------------------------------- System.ComponentModel.Primitives Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.ComponentModel.Primitives.dll ---------------------------------------- System.Windows.Forms.Primitives Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Windows.Forms.Primitives.dll ---------------------------------------- System.Private.Windows.Core Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Private.Windows.Core.dll ---------------------------------------- System.Private.Windows.GdiPlus Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Private.Windows.GdiPlus.dll ---------------------------------------- System.Drawing.Primitives Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Drawing.Primitives.dll ---------------------------------------- System.Collections.Specialized Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Collections.Specialized.dll ---------------------------------------- Microsoft.Extensions.DependencyInjection.Abstractions Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.DependencyInjection.Abstractions.dll ---------------------------------------- System.Runtime.InteropServices Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Runtime.InteropServices.dll ---------------------------------------- System.Threading Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Threading.dll ---------------------------------------- System.Collections Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Collections.dll ---------------------------------------- Microsoft.Extensions.Hosting Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Hosting.dll ---------------------------------------- Microsoft.Extensions.Configuration.Abstractions Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Configuration.Abstractions.dll ---------------------------------------- Microsoft.Extensions.Logging.Abstractions Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Logging.Abstractions.dll ---------------------------------------- Microsoft.Extensions.DependencyInjection Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.DependencyInjection.dll ---------------------------------------- System.Diagnostics.DiagnosticSource Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Diagnostics.DiagnosticSource.dll ---------------------------------------- System.Diagnostics.Tracing Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Diagnostics.Tracing.dll ---------------------------------------- Microsoft.Extensions.Configuration Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Configuration.dll ---------------------------------------- Microsoft.Extensions.Configuration.EnvironmentVariables Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Configuration.EnvironmentVariables.dll ---------------------------------------- Microsoft.Extensions.Configuration.CommandLine Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Configuration.CommandLine.dll ---------------------------------------- Microsoft.Extensions.Primitives Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Primitives.dll ---------------------------------------- Microsoft.Extensions.FileProviders.Abstractions Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.FileProviders.Abstractions.dll ---------------------------------------- Microsoft.Extensions.FileProviders.Physical Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.FileProviders.Physical.dll ---------------------------------------- Microsoft.Extensions.Configuration.FileExtensions Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Configuration.FileExtensions.dll ---------------------------------------- Microsoft.Extensions.Configuration.Json Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Configuration.Json.dll ---------------------------------------- Microsoft.Extensions.Configuration.UserSecrets Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Configuration.UserSecrets.dll ---------------------------------------- Microsoft.Extensions.Configuration.Binder Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Configuration.Binder.dll ---------------------------------------- System.Memory Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Memory.dll ---------------------------------------- System.Linq Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Linq.dll ---------------------------------------- System.IO.FileSystem.Watcher Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.IO.FileSystem.Watcher.dll ---------------------------------------- System.Collections.Concurrent Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Collections.Concurrent.dll ---------------------------------------- Microsoft.Extensions.FileSystemGlobbing Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.FileSystemGlobbing.dll ---------------------------------------- System.Threading.Overlapped Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Threading.Overlapped.dll ---------------------------------------- Microsoft.Win32.Primitives Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Win32.Primitives.dll ---------------------------------------- System.Text.Json Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Text.Json.dll ---------------------------------------- System.Text.Encoding.Extensions Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Text.Encoding.Extensions.dll ---------------------------------------- System.IO.Pipelines Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.IO.Pipelines.dll ---------------------------------------- Microsoft.Extensions.Options Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Options.dll ---------------------------------------- Microsoft.Extensions.Logging Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Logging.dll ---------------------------------------- Microsoft.Extensions.Diagnostics Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Diagnostics.dll ---------------------------------------- Microsoft.Extensions.Diagnostics.Abstractions Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Diagnostics.Abstractions.dll ---------------------------------------- Microsoft.Extensions.Logging.Configuration Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Logging.Configuration.dll ---------------------------------------- Microsoft.Extensions.Logging.Debug Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Logging.Debug.dll ---------------------------------------- Microsoft.Extensions.Logging.EventSource Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Logging.EventSource.dll ---------------------------------------- Microsoft.Extensions.Logging.EventLog Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Logging.EventLog.dll ---------------------------------------- Microsoft.Extensions.Logging.Console Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Logging.Console.dll ---------------------------------------- Microsoft.Extensions.Options.ConfigurationExtensions Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Extensions.Options.ConfigurationExtensions.dll ---------------------------------------- ZPreview.Abstractions Assemblyversion: 1.0.0.0 Speicherort: C:\Progs\ZPreview\ZPreview.Abstractions.dll ---------------------------------------- System.Console Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Console.dll ---------------------------------------- System.Threading.Thread Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Threading.Thread.dll ---------------------------------------- System.Diagnostics.EventLog Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Diagnostics.EventLog.dll ---------------------------------------- System.ComponentModel.TypeConverter Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.ComponentModel.TypeConverter.dll ---------------------------------------- System.Threading.ThreadPool Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Threading.ThreadPool.dll ---------------------------------------- System.Drawing.Common Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Drawing.Common.dll ---------------------------------------- System.ComponentModel.EventBasedAsync Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.ComponentModel.EventBasedAsync.dll ---------------------------------------- Accessibility Assemblyversion: 4.0.0.0 Speicherort: C:\Progs\ZPreview\Accessibility.dll ---------------------------------------- System.Numerics.Vectors Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Numerics.Vectors.dll ---------------------------------------- Microsoft.Win32.SystemEvents Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Win32.SystemEvents.dll ---------------------------------------- System.Runtime.Loader Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Runtime.Loader.dll ---------------------------------------- System.Windows.Forms.resources Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\de\System.Windows.Forms.resources.dll ---------------------------------------- System.Security.Cryptography Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Security.Cryptography.dll ---------------------------------------- System.Text.Encodings.Web Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Text.Encodings.Web.dll ---------------------------------------- System.Private.Uri Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Private.Uri.dll ---------------------------------------- System.Reflection.Emit.Lightweight Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Reflection.Emit.Lightweight.dll ---------------------------------------- System.Reflection.Primitives Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Reflection.Primitives.dll ---------------------------------------- System.Reflection.Emit.ILGeneration Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Reflection.Emit.ILGeneration.dll ---------------------------------------- System.Collections.NonGeneric Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Collections.NonGeneric.dll ---------------------------------------- ZaapZTreeState Assemblyversion: 1.0.0.0 Speicherort: C:\Progs\ZPreview\ZaapZTreeState.dll ---------------------------------------- Zaap.Sentinel Assemblyversion: 1.0.0.0 Speicherort: C:\Progs\ZPreview\Zaap.Sentinel.dll ---------------------------------------- Microsoft.Win32.Registry Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\Microsoft.Win32.Registry.dll ---------------------------------------- ZPreview.Core Assemblyversion: 1.0.0.0 Speicherort: C:\Progs\ZPreview\ZPreview.Core.dll ---------------------------------------- ZPreview.PreviewHandlers Assemblyversion: 1.0.0.0 Speicherort: C:\Progs\ZPreview\ZPreview.PreviewHandlers.dll ---------------------------------------- ZPreview.SQLitePreview Assemblyversion: 1.0.0.0 Speicherort: C:\Progs\ZPreview\ZPreview.SQLitePreview.dll ---------------------------------------- System.Runtime.Intrinsics Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Runtime.Intrinsics.dll ---------------------------------------- System.Diagnostics.StackTrace Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Diagnostics.StackTrace.dll ---------------------------------------- System.Reflection.Metadata Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Reflection.Metadata.dll ---------------------------------------- System.Collections.Immutable Assemblyversion: 10.0.0.0 Speicherort: C:\Progs\ZPreview\System.Collections.Immutable.dll ---------------------------------------- ************** JIT-Debuggen ************** ```