Saturday 9 March 2024

GitHub Copilot is Making Waves in Development Teams

GitHub Copilot is the new pair programmer on the block. One key application of it is writing test code.

Sunday 28 January 2024

What Version of Microsoft Edge am I using?

 Click the three dots in the top right of the Edge browser and click on the Gears.

Friday 6 October 2023

Windows Sandbox - Triumph of Virtualization

Windows Sandbox allows you to run applications in isolation. Software in the sandbox runs separately from the host machine.

Control-Alt- Break switches into Full Screen Mode. The break key on a laptop may not be labelled such, and delete with or without a function key complement may be required.

Sunday 16 July 2023

Volume Shadow Copy Service Eating Disk

The Volume Shadow Copy Service is effectively a backup and restore service. It was introduced way back when in Windows Server 2003.  Shadow copy is another term for Snapshot or Point-in-time copy, or Point-in-time Snapshot. There is a bunch of terms used in the context of the VSS. These include:

  • The VSS Service - part of the Windows operating system that enables all parties in the shadow copy workflow to communicate.
  • The VSS Requestor - actually requests the creation of the shadow copy (or operations thereon e.g. importing or deleting shadow copies).

WebAssembly Debugging with DWARF Information - but what is DWARF?

DWARF is a standardized debugging data format, originally designed alongside the ELF data format.

Saturday 9 July 2022

Describing an Azure Service Fabric Service using ServiceManifest.xml

The ServiceManifest.xml declares information relevant to your microservice. 

Whether your service is stateless (no persistent storage, or state stored outside of the service, for example, through Azure Storage, Azure SQL Database, Azure Cosmos DB) or stateful, where Service Fabric manages your service state via Reliable Collections or Reliable Actors programming models.

Stateful applications are particularly interesting from an availability standpoint. The Reliable Collections API builds on System.Collections, and in particular, System.Collections.Concurrent, to create highly available (stateful) data structures while keeping code complexity to a minimum.

Reliable Collections ensure underlying data is replicated for high availability, operate asynchronously to ensure no blocking IO operations and transactional to ensure strong consistency (ensuring transaction commits finish only once changes are replicated on the majority quorum of replicas including the primary). They can also be persisted or volatile, the former where data is persisted to disk to protect against large scale outages.

Relevant data structures can be found in Microsoft.ServiceFabric.Data.Collections and in the assembly Microsoft.ServiceFabric.Data.Interfaces.dll.

Salesforce Apex Programming Language

Apex is an object-oriented programming language which is "native" to Salesforce. The Apex code runs on the so-called "Lightning Platform". A task you might do in Apex for example may be to loop through a bunch of customer accounts. Lists, Maps and Sets are the standard data structures in Apex.