Lorbic

Learn slow and steady.

Understanding Private-Public Key Encryption

Understanding Private-Public Key Encryption - The Backbone of Modern Security.

The 5-Minute Refactor

Learn how to refactor your code in 5 minutes.

Introducing Quark

A Minimal Note-Taking System for Thoughts, Ideas, Questions, and Actions

Why Your Password Habits Will Get You Hacked

Practical, unsentimental steps to lock down your passwords, devices, and online identity before someone else owns them.

Stealth VPN with Outline over HTTPS

Running Outline VPN over HTTPS (port 443) to slip past censorship. Learn how to blend in with HTTPS traffic and what it actually takes to stay invisible.

How to Resolve Huge Git Merge Conflicts Without Losing Your Mind

A no-fluff, step-by-step guide for software engineers dealing with massive Git merge conflicts during migrations or long-lived branches. Includes real anecdotes and ASCII diagrams.

What Facebook's Memcache Taught Me About Systems Thinking

A deep dive into Facebook's memcache architecture and the hard lessons it teaches about real-world system design, performance, and failure.

Bitmasking In Go

Bitmasking is one of those computer science tricks that feels like wizardry, until you realize it’s just some clever shifting and binary math. This blog explores the idea, shows how we use it in Go, and why it's surprisingly useful when working with databases like Couchbase.

How to Backup and Restore Docker Volumes

When working with Docker, persistent data is often stored in volumes. Unlike container filesystems, volumes survive restarts and recreations. But what if you need to move this data from one machine to another? Here's a quick and reliable way to back up a Docker volume on one computer and restore it on another.

Testing Types

Understanding different types of software testing is crucial for delivering a reliable application. Smoke Testing checks basic stability after a new build, while Sanity Testing verifies specific bug fixes or minor updates. Functional Testing ensures that features work as expected based on business requirements. Regression Testing prevents new changes from breaking existing functionality. End-to-End (E2E) Testing simulates real-world user workflows, and Performance Testing checks system speed, load handling capacity, and responsiveness. Implementing these (some or all) test types helps maintain software quality and prevent critical failures.