Wednesday, 15 November 2023

Basics of Git Branching

Git branching is described well in the book Pro Git.

Just like in other VCS, git provides branching support. Creating a branch is a lightweight operation, Understanding the "way of branching" in Git requires an understanding of its data model.

Wednesday, 1 November 2023

Why Git is not Delta Based Version Control

Many version control systems e.g. Subversion, use delta-based version control. They see code as a set of files with changes added over time.  So each time you are tracking deltas to a base version of your files.

Git on the other hand stores data as a stream of snapshots. To save disk space, any duplicated or unchanged content is stored as links to previous versions. This makes Git more like a mini file system. This has some benefits in terms of speed and performance.

With Git, most operations become local, by this we mean they only require local files and resources. This differs from most CVCS's (Centralised Version Control Systems) where network latency becomes an overhead. Git gives you the entire history of the project on your local disk.

There are several advantages here. Operations like browsing file history are instantaneous. Doing file comparisons is faster without remote server overheads.  If you are offline, you can still work effectively.

Git uses SHA-1 hash for checksum to ensure integrity. You cannot therefore change the contents of a file or directory without Git being aware. Information lost in transit or corrupted will therefore be detected by Git. The SHA-1 hash is a 40 character string with a bunch of hexadecimal characters (0-9, a-f). Git stores everything in its database using this hash.

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.