Here's a great compilation of the latest in Explainable AI (XAI). Deep learning models (CNNs, RNNs, LLMs) as well as older models such as Support Vector Machines are covered. Techniques such as SHAP (short for Shapley Additive Explanations) are covered as well.
Programming is Not Rocket Science, Don't let AI Write Your Code, Fight Back, Learn from ODML
Tuesday, 30 September 2025
Monday, 29 September 2025
Open Source Community Communication with Discord
Mermaid Diagramming
Friday, 12 September 2025
dotnet.exe - what it means
dotnet.exe has many uses, but running compiled .NET executables distributed as EXE files is not one of them. One application is running .NET SDK commands.
File format for Jupyter Notebooks
Jupyter notebooks are stored as .ipynb files (which stands for interactive Python notebook).
Microsoft Semantic Kernel
Microsoft Semantic Kernel is a "lighweight, open-source development kit" to build AI agents and integrate models into C#, Python and Java code.
When you load up SK into a fresh Visual Studio Code (no extensions) it will prompt to install recommended extensions. These will include:
- ESLint - integrates ESLint JavaScript into VS Code (for static analysis)
- Prettier - integrates Prettier, the opinionated code formatter (for JavaScript, TypeScript and other webby stuff)
- Azure Functions - to quickly manage serverless apps directly from VS Code
- vscode-pdf - to display pdf files in VSCode (required to open PDF code maps for .NET and Python)
Cost Effective Deployment of Language Models
Cost effective deployment of language models (explicit financial as well as implicit environmental cost) is partly responsible for triggering the interest in small language models (SLMs) as alternatives for specific applications.
Nvidia Research have a great paper on this entitled "Small Language Models are the Future of Agentic AI" with the recommendation that more routine tasks (non reasoning tasks) move from LLMs to SLMs. Fine tuning these SLMs for specific tasks can also enhance the effectiveness of deployed models.
Thursday, 11 September 2025
Introducing the Mojo Programming Language
Tuesday, 9 September 2025
Where Winforms lives on Github
Can't Resize a Form in Design Mode for Winforms
Check a control with Docking.Fill set is not blocking the resize. This can intercept clicks meant for the form. You can workaround by temporarily setting Dock=None on the blocking control.
Resource-Aware Design in WinForms - TextBox versus RichTextBox
Monday, 8 September 2025
F7 and Shift-F7 - Key Visual Studio Solution Explorer Shortcuts
Environment Variables in Windows 11
To see your environment variables, type set in the command line. This will show you a bunch of stuff like:
ALLDATA=C:\Users\windowsjoe\AppData\Roaming
The setx command is an extension of set which allows you to create or modify environment variables, persisting the result across sessions. It was first integrated into Windows Vista and is a staple for Windows 10 and Windows 11.
To use setx to append to your PATH variable you will want to do something like this:
setx PATH "%PATH%;C:\Your\New\Directory"
For Windows Joe, a special scripts directory holds a lot of useful scripts. Hence, the path is updated to:
setx PATH "%PATH%;C:\users\windowsjoe\scripts"
If successful, you will see the message "SUCCESS: Specified value was saved.".
However, you will not be able to see the results using echo %PATH% until you start a new session.
Sunday, 7 September 2025
Alt-TNP - Package Manager Settings in Visual Studio
Alt-TNO - the Nuget Package Manager Console in Visual Studio
The Jungle of Text Encoding
Dealing with textual data on the Internet is like navigating a jungle.
Without some normalisation, you need to get adept at handling multiple encodings.
System.Text is your partner here.
This holds the Encoding class, which has various useful properties.
Saturday, 6 September 2025
PascalCase for WinForms Controls - Always
Key Properties of SplitContainer
- Panel1 - the leftmost or topmost panel in a SplitContainer
- Panel2 - the rightmost or bottommost panel in SplitContainer
- FixedPanel - which panel remains fixed sized when container is resized
- Orientation - orientation of the panels
- Panel1Collapsed - whether Panel1 is collapsed
- Panel2Collapsed - whether Panel2 is collapsed
- BorderStyle - container border style
Prompt Maintenance
Shortcuts for WinForms Custom Controls
Changes in .NET 6 to WinForms
Compiler Intrinsics - Basics, Pros and Cons
PROS
MASM Decoded
MASM is the Microsoft Macro Assembler.
It was introduced by Microsoft in the early 1980s to support x86 programming on DOS and Windows Platforms, and competed with IBM and Borland assembly tools. The "macro" in the naming refers to assembly macros - reusable code snippets to simplify complex or repetitive assembly tasks. It is an assembler in the sense it converts assembly language into executable machine code.
Inline assembler used to be a "thing" in earlier versions of Visual Studio. This allowed you to embed assembly language in a higher level programming language source code. This is no longer supported for x64 or ARM64 targets.
Options to port inline assembler include: conversion to C++, create separate assembly language source files, or use compiler intrinsics (supported by the Microsoft C++ compiler).
Visual Studio 2022 August 2025 Updates
Friday, 5 September 2025
Python platform module API shows errors - Oh Yeah
The Python platform module shows Windows 10 on Windows 11 machines - this is similar to other APIs which have been made to identify Windows 11 as a more advanced build of Windows 10 to avoid breaking backward compatibility. If build number is greater than 22000, you got Windows 11.