Sunday, 22 February 2026

Saturday, 21 February 2026

Tuesday, 17 February 2026

Amazon Bedrock

Amazon Bedrock is the AWS fully managed platform for building generative AI services. It is basically (like LangChain) a unified API to call into various models and provides managed capabilities like retrieval-augmented generation (RAG), vector embeddings, guardrails and agents/agent orchestration.

Vercel

Vercel is a deployment technology that also exists as a GitHub app.

It's good for product teams that want to ship quickly without managing infrastructure.

Friday, 13 February 2026

Windows Baseline Security

Windows Baseline Security is something new for the Age of AI Agents.

The AI Agent Prevention Society

One of the obstacles to AI agents becoming all powerful is the technology infrastructure that actively seeks to obstruct agents.

This technology has various names, one being WAF, or web application firewall.  

The purpose of a WAF is to stop web applications from common attacks. 

Recall the OWASP Top Ten Risks? Some of the motivation behind these protections are good - for example, guarding against bot-driven DDoS attacks.

There are various vendors and products in this space; such as Imperva WAF, Cloudflare, Akamai Site Defender, AWS WAF, Azure Web Application Firewall and Google Cloud Armor.

These solutions are all effective at detecting and blocking agents, headless browsers, scrapers, credential stuffing bots (where leaked usernames and passwords are used across numerous websites to exploit potential duplication) and automated (even if legitimate) login attempts.

Action taken could range from limiting requests based on IP, presenting CAPTCHA challenges and blocking certain geographies.  However, these actions may prevent legitimate bots from using required services, or performing agentic actions on behalf of legitimate users.

Hushlogins

Wednesday, 11 February 2026

CloudFlare R2

The CloudFlare R2 Developer's Guide is good reading for developers needing to use this CDN.

Applications include storage for cloud native applications, podcast content as well as storage for batch process output.

Core concepts are Buckets and Objects.

Accelerating "safe AI adoption" is one of the company's current mantras.

Immutable Github Releases

Some software is distributed as immutable Github releases (this is for software supply chain security). One such example is Inno Setup.

Windows SDK

Windows SDK is needed for MSIX packaging. Windows 11 SDK includes Windows Performance Toolkit, Application Verifier for Windows and Debugging Tools for Windows.

Ingress and Egress Fees

Ingress and egress fees refer to the cost of data transfer into and out of the cloud.
  • Ingress fees are typically zero - allowing users to upload data to Amazon S3 or Azure Blob Storage with no additional charge. 
  • Egress fees are typically charged when data exits the cloud. These fees can differ significantly between providers and source and destination region.
Hosting on S3 will set you back $0 for 1 GB download per month, and around 1000 downloads of a 50MB file will cost you just under $5 a month.

Microsoft Store Policies

Microsoft Store (Windows Store) has policies on Product and Content, which developers must abide by.

There are a few rules around IAP - short for "in app purchases".

What is DXCore ... really?

Suppose you run wsl --version and see your DXCore version listed as 10.0.26100.  

This happens to be a similar version code to your Windows version. 

So, what is DXCore?

DXCore is the low-level engine inside Windows that talks directly to graphics hardware. It is the foundation layer that modern graphics APIs (like Direct3D 12) run on.

The IARC and Windows Software

The IARC is the International Age Rating Coalition, a global initiative to streamline age ratings for games and applications. Over 19m games and apps have so far been published using IARC. Developers must abide by the IARC Terms of Use.

Tuesday, 10 February 2026

Uploading App Packages to the Windows Store

There are a bunch of rules to follow when uploading packages to the Windows Store.

One hard requirement is a "Package URL" which is a versioned, secure URL pointing to the app package (MSI/EXE) hosted on your CDN.

An example could be https://windowscottoneyejoe/downloads/1.1/setup.exe

When a customer installs a package, the Store downloads the package from the URL. Good CDN practices should be followed - to ensure the URL is performant, reliable and available in your relevant target markets.

(Sidebar - Google have some great recommendations on CDN best practices (they also have their own commercial CDN products known as Cloud CDN and Media CDN, other vendors offer CDN services too, including CloudFlare).

Note: as your application versions evolve, you may need to update the package URL. This is done by using the Update submission option in Partner Center to specify the new package URL.

Windows Store Apps - Pricing

If you are a Windows Store developer, you have a few pricing options: Free, Freemium (optional in-app purchases, Subscription or Paid (one time payment).

Quick Guide to the GDK

The GDK, or Game Development Kit, enables developers to develop games on Xbox and Windows.

The Whats New page covers new developments to the GDK.

Monday, 9 February 2026

Do Not Commit csproj.user file

This contains per developer, per machine settings.

For example, when you last run a Debug session, it will have a record of what you selected in the dropdown next to the Run/Debug button under _lastSelectedProfile. This may also contain user-specific folder paths as well.

What is Ready to Run (R2R) Compilation in Visual Studio?

Ready-to-run compilation is a feature in .NET that improves startup performance by compiling them in Ready-to-run format. This is a form of AOT (ahead-of-time) compilation that reduces work for the JIT compiler as the application loads. Your binary contains IL and precompiled IL. It only works if you target specific environments such as Linux x64 or Windows x64.

Rust uses C++

Tales of the end of C++ are greatly exaggerated. Rust uses C++ in the shape of LLVM which is built in C++. Sure, the Rust compiler (rustc - which was initially OCaml'd and rewritten in Rust) is mostly Rust with some legacy bits in C++, but the backend (LLVM) used for code generation is C++ code. The standard library has some C bindings too, but that's by the by.

The Return of C++ Tools in Visual Studio

Today - C# programmers must embrace C++ development tools. There is No Alternative.  C++ tools container the valuable link.exe to create standalone .exe files.  Publishing .NET programs as standalone EXEs needing no runtime need this toolkit. Install it! Give up that 1.5 GB of space for some C++ tooling!

How Does GitHub Copilot Analyze Unexpected Behaviour

Suppose you have a release EXE file that has an unexpected dependency at runtime on a DLL. Github Copilot will analyze your project file (Csproj) for build settings and request permissions to view the build log output from your most recent build. It then makes recommendations (e.g. fill in a missing step in the build to remediate your problem).

Where did the .csproj file go in Visual Studio??

Ooh tricky one.  Go to Solution Explorer. 

Double click on your project under Solution XYZ (1 of N projects).

It pops up.

If still stuck - GitHub Copilot always knows where it's hiding.

GitHub Copilot Integration in Visual Studio

GitHub Copilot integrates neatly into Visual Studio - if a little slowly.  A little green tick in the top right of your IDE shows you that Copilot is active.  You also get a "Copilot Consumptions" screen that shows you your consumption in terms of requests and code completions.

Control-Shift-A

Create a new resource in the Solution Explorer in Visual Studio.

Windows Application Packaging Project

The best way to build an MSIX.

Lift the Hood, Change the Oil

...understand all the components... This technology is so important to the future. You must have some tactical understanding of it. Recommends Jensen Huang, 2026.

The Most Important Part of AI is Applications

 ..all the layer underneath is just infrastructure stuff (Jensen Huang, 2026).

How Users Can do Side-Loading

Here's a how to.

  • Double-click the .msix or .msixbundle file
  • Install via PowerShell: Add-AppxPackage
  • Deploy and distribute internally
Add-AppxPackage is a cmdlet.


WinUI Blank App (Packaged)

This is project template for creating a WinUI app along with a MSIX package for side-loading or distribution via the Microsoft Store.

Side-loading in the above case refers to installing an app outside of the Microsoft Store, usually by providing the MSIX package to users.


A Closer Look at System.Drawing's Bitmap Class

The System namespace is your root namespace for all foundational features in .NET. Primitive types (Int32, String, Boolean) as well as core base classes (Object, Exception) are found here.

The System.Drawing namespace is the home of GDI+ functionality (GDI+ is the enhanced form of the Windows Graphics Device Interface, or GDI, in use since Windows XP i.e. since 2001).

Within this, you have the Bitmap class, which represents a GDI+ bitmap where a bitmap is simply an image defined by pixel data.  The code lives in System.Drawing.Common.dll.

It is a sealed class, which prevents it from being inherited.

If you are missing the relevant package in your .NET project, run the following command in your project directory: 

dotnet add package System.Drawing.Common

(dotnet add package, adds package references to a designated project file, or searches the current directory for one if not specified).

Recover Solution Explorer

If you have closed Solution Explorer (for example, to have a more complete view of your code) then Control-Alt-L is the classic key combination to recover the Solution Explorer.

Enable Native AOT Publish

Native AOT (Ahead-of-time) deployment compiles your app to native code avoiding the need for a runtime. Compilation takes longer but the app runs faster, and with lower memory usage. Debugging may be more complicated relative to regular .NET applications.

The Solution Explorer project file contains the essential code required for this.

<PublishAot>true</PublishAot>

More details on AOT deployment here.

Top Level Statements (TLS) in .NET

Top level statements were introduced in .NET 9 as a way to avoid Main methods in .NET programs. This makes .NET programs look more like simple scripts.

STS versus LTS in .NET Versioning (STANDARD vs LONG)

STS and LTS have very specific meanings in .NET versioning. WinJoes must be truly on top of these different versioning schemes.

For example, WinJane may be faced with a choice to build a console app with .NET 8.0 (LTS) or .NET 9.0 (STS) and should understand the trade-offs between the two.

STS = Standard Term Support (NOT short term support, which might be seen as the natural counter to LTS).

STS releases have a shorter support window, faster iteration and more frequent updates. It is needed for developers needing newest features and ok with no multi-year stability guarantees. It is intended to keep the platform evolving quickly. Since .NET 5, STS releases have odd version numbers.

STS releases have a typical lifetime around 18 months, and LTS around 3 years.

Software teams have different strategies: 1) anchor on LTS for stability, 2) use STS to ride the innovation wave. Microsoft keep odd numbered versions as STS and even numbered as LTS.

Saturday, 7 February 2026

Keep up to Speed with C# Language Design Discussions

The content of language meetings are detailed here.

Thursday, 5 February 2026

Personal AI Assistants

Personal AI assistants are here, but security controls are askew.  

OpenClaw is an example of such an assistant.  It acts as a bridge between messaging devices (such as WhatsApp, Telegram, iMessage) and AI agents.

You will find OpenClaw "advertised" on openclaw.im (the im suffix indicates the country code top-level domain (ccTLD) for the Isle of Man. You don't need to be in the Isle of Man to have this domain, and it had become quite popular with instant messaging software with registrations from Meebo and Yahoo! amongst others (Meebo was acquired by Google in June 2012 at which point it had 100m users).

Some of its taglines include "Your Code, Your AI, Your Rules". Its GitHub location is here.

Ollama integrates with OpenClaw. In this context, Ollama acts as a local LLM provider.

Sunday, 1 February 2026

GGUF = GPT-Generated Unified Format

GGUF is a special model file format used to run LLMs efficiently on your own computer. It stands for GPT-Generated Unified Format. It is the successor to GGML. Privacy-sensitive workflows are one application of these optimized-for-local execution model packages.