RSSAmplifier

Blog

🪄 Technical Sourcery

Recent content on 🪄 Technical Sourcery

technicalsourcery.netRSS feed ↗9 posts

Latest posts

Giving QR Codes Superpowers

QR codes are popular because they can store more information than bar codes, but they can’t store binary data and have no inherent structure. In this post, I’ll show how to overcome these limitations and give QR codes superpowers! QR Codes and Their Limitations QR codes were invented by the Japanese company Denso Wave in the mid-90s as a way to get higher information density in…

About Me

I’m Karl, a Canadian software developer by profession with a passion for open source. Over the years, I’ve built many systems that businesses and people depend upon, including: Current: Concise Encoding 2012: KSCrash (crash reporter for Apple devices) 2010: ObjectAL (audio library for Apple devices) 2006: HSE (MVC web component framework for Java) 1997: Musashi M680x0 emulator (used in…

Test-driving a NixOS VM using libvirt

NixOS has a lot of really cool ideas, but unfortunately installing on a VM is still tricky. This guide is designed as a “just get me something working, please!” way to get a headless NixOS install up and running in a libvirt VM. Prerequisites You will need to have libvirt and virt-install on your system. On Ubuntu: 1sudo apt update 2sudo apt install qemu-kvm libvirt-daemon-system…

On Endianness

Byte Endianness in computers has been a constant source of conflict for decades. But is there really a clear advantage to one over the other? Let’s explore together! Origins of the Term The terms “Little Endian” and “Big Endian” originate from Jonathan Swift’s 1726 novel “Gulliver’s Travels”. It tells of long strife culminating in a great and…

Line Lengths

Line lengths, like tab sizes, tabs vs spaces, and brace positioning, are among the most contentious topics in programming. This is to be expected, as predicted by Sayre’s Law : “In any dispute, the intensity of feeling is inversely proportional to the value of the issues at stake.” Naturally, contentious topics make for popular blog posts, so here we go! I’ve been…

Virtual Linux Remote Desktop

Have you ever wanted a persistent Linux virtual desktop that you could host anywhere and access remotely? Now you can do it, using only Ubuntu and a cheap VPS! I like having deterministic work environments. Disaster recovery becomes a cinch when you can just destroy and rebuild your desktop container, map your home directory back in, and continue working. How it Works There are remote desktop…

Introduction to High Availability

How important is uptime to you? How bad would it be if your services went down for 10 seconds? 10 minutes? 10 hours? 10 days? Every system has its breaking point, where the consequences become so severe that heads start rolling. Once the breaking point for downtime is shorter than your worst-case time for fixing things, you need high-availability. What is High Availability? High availability is a…

Time and Timezones: Getting it Right

Time is a tricky beast - quite possibly one of the trickiest things to get right in software engineering. Walk with me on a tour of time, and see why we keep getting it wrong. There are two levels of time problems: advancing time and storing time. Advancing time deals with the nuances of leap years and leap seconds, and when and how and where you resolve the lost or gained time.

Offline