Skip to content

Posts

Git Basics: Preview Untracked Cleanup with git clean

Build leftovers and local notes can both be untracked. Before removing anything, inspect exactly which paths Git would select. Every git clean invocation here is a dry run; …

Read more →

October 27, 2026

Git Basics: Limit Working Files with Sparse Checkout

A repository can contain more directories than one task needs. Sparse checkout controls which tracked paths appear in the working tree. This local fixture selects one application, …

Read more →

October 27, 2026

Git Basics: Export a Committed Snapshot with git archive

A source handoff sometimes needs files without Git history. git archive exports a tree from a commit. This example gives the archive a top-level directory and excludes an internal …

Read more →

October 27, 2026

SQLite Basics: Update Rows from a Matched Source with UPDATE FROM

An imported price list, a set of usage events, or a revised device configuration can drive an UPDATE. SQLite’s UPDATE FROM joins those source rows to the table being changed. The …

Read more →

October 25, 2026

SQLite Basics: See Which Changes Survive a Constraint Error

A failed insert does not always undo the same amount of work. SQLite’s ABORT, FAIL, and ROLLBACK policies have different boundaries. A small import with one duplicate name makes …

Read more →

October 25, 2026

SQLite Basics: Match Text Deliberately with LIKE and GLOB

A search term containing an underscore or percent sign can match more rows than expected. LIKE treats those characters as patterns unless you escape them. GLOB uses a different …

Read more →

October 25, 2026

SQLite Basics: Inspect Binary Values with BLOB, hex, and unhex

Binary values can contain zero bytes, non-text bytes, and empty payloads. Keep them as BLOBs and use hexadecimal rendering when you need to inspect them. A string that looks like …

Read more →

October 25, 2026

SQLite Basics: Choose Between INTEGER PRIMARY KEY and AUTOINCREMENT

An ordinary SQLite table can assign integer IDs without the AUTOINCREMENT keyword. That keyword changes reuse rules, not whether automatic IDs exist. Understanding the difference …

Read more →

October 25, 2026

Python Basics: Share Binary Buffers with memoryview

A binary parser often needs a small region of a larger buffer. A memoryview lets that region refer to the existing storage rather than copying its bytes. That can also expose …

Read more →

October 25, 2026

Python Basics: Preconfigure Calls with partial and partialmethod

Several callbacks may perform the same operation with different options. functools.partial creates a callable with some arguments already supplied, leaving the remaining inputs for …

Read more →

October 25, 2026