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; …
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, …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
October 25, 2026