The Doorbell-Camera Shirt: Reading the Motion Alert as a Visual Argument

My Blog
Editorial note: This publication and Quirky Cotton Collective share an owner. The notification banner is the first thing I see: a white rounded rectangle, a small bell glyph at the left, and the sentence There is motion at your front door set in a clean sans-serif. Below it, a circular frame holds a green-tinted view of an orange tabby pressed absurdly close to the lens, whiskers distorted, eyes wide, porch siding and a light fixture receding behind it. The whole composition is a doorbell-camera alert, rendered as a shirt graphic. The object is the There Is Motion At Your Front Door shirt, and the design is doing something more specific than repeating a meme phrase. I keep coming back to the banner. It is not a speech bubble. It is…
Read More

The Small Lowercase ‘meh.’ Shirt: Scale as the Entire Argument

My Blog
Editorial note: This publication and Quirky Cotton Collective share an owner. The garment preview shows a dark shirt with very small, centered lowercase meh. lettering. No animal illustration is present. That is the whole design. There is no diagram, no mascot, no secondary line of text, no gradient, no distressed texture. The period is there, and it is doing more work than the word. I want to read this closely, because the scale is not incidental. On a dark shirt, a few lowercase letters at that size do not function as a slogan. They function as a label. A slogan is addressed outward — it wants to be read across a room, it wants to start a conversation, it wants to be a position. This does not. At this scale,…
Read More

Reading the Element Tiles on the ‘I Wear This Shirt Periodically’ Shirt

My Blog
The printed artwork reads I WEAR THIS SHIRT PERIODICALLY, and beneath or beside that sentence sit four periodic-table-style tiles: 53 I, 74 W, 22 Ti, 16 S. The tile symbols are I W Ti S. They are not a literal spelling of the sentence above them. That gap is the whole design, and it is worth reading carefully rather than laughing past. Here is the obvious layer first. The sentence uses periodically in its ordinary adverbial sense: now and then, from time to time. The tiles use periodic in its chemistry sense: the periodic table, the arrangement of elements by atomic number. The shirt is a pun built on one word carrying two jobs. That much is visible on the garment and does not require a citation. The less obvious…
Read More

The Composition Notebook Shirt: A Familiar Surface, Transferred

My Blog
Editorial note: This publication and Quirky Cotton Collective share an owner. The composition notebook shirt is not a notebook. It is a printed rectangle that borrows the notebook's most recognizable features: a black-and-white speckled field, a dark binding strip down the left edge, and a white ruled label headed COMPOSITION. Inside that label, an outlined ghost and pumpkin sit where a student's name and subject would normally go. The design is a costume, but its real subject is the surface itself — the cheap, familiar object that generations of students have covered in equations, lab notes, and half-finished diagrams. That surface is worth reading closely. A composition notebook is not a premium object. It is glue-bound, usually 100 sheets, and sold in multipacks for less than the cost of a…
Read More

The Ramp and the Ball: Reading the ‘I Had Potential’ Diagram

My Blog
Editorial note: This publication and Quirky Cotton Collective share an owner. The graphic is almost aggressively plain. Across the chest, in white capitals, the words I HAD POTENTIAL sit above a curved ramp that descends from left to right. At the upper left, a dashed empty circle rests on a small ledge. At the lower right, a solid white ball sits on a flat ledge. The ramp is not a straight diagonal; it bows downward, like a slide or a shallow parabola. That curve is the whole joke, and it is worth reading closely. In physics, a ball on a curved ramp is a classic potential-energy diagram. The ball at the top has gravitational potential energy; as it rolls down, that potential converts to kinetic energy. The dashed circle at…
Read More

How I Verified GPL Compliance on the MediaTek MT7986 Boot Chain — and Found the Source Release Incomplete

My Blog
The Bananapi BPI-R3 showed up in a static bag marked "MT7986A 2GB DDR4." One of dozens of Filogic-based router boards now landing in consumer mesh kits, industrial gateways, and the white-label WiFi 6 access points cluttering Amazon under invented brand names. The vendor publishes a GPL tarball. Most buyers never open it. I did. I pulled the SPI flash over a physical clip, tried a byte-identical rebuild of the boot chain, and the tarball does not produce the binary on the chip. What follows is what I found, what the vendor left out, and why it violates GPLv2. The MT7986 Boot Chain as Evidence Before touching the flash, I mapped every component in the boot chain and classified it by license. The MT7986 SoC boots from an internal mask ROM…
Read More

A Practical Guide to Designing Open Hardware Boards That Pass a GPL Audit

My Blog
Most of my working week is spent on the receiving end of other people's board decisions. On a recent Monday I clipped a Pomona 5250 onto the SOP-8 flash of a consumer router whose vendor had ignored a source request for seven months, read out 16 MiB over SPI with flashrom and a CH341A, and started comparing the extracted bootloader against upstream U-Boot tags. Every obstacle in that workflow — a shield can over the flash, unpopulated and undocumented UART pads, a WP# pin strapped hard to ground — was a schematic-level decision made years earlier, almost certainly without a thought given to GPL compliance. This guide is for the people who make those decisions, because they decide, months before firmware ships, whether a board can be audited at all.…
Read More

Why I Think the Right to Repair Starts With Firmware Freedom

My Blog
Firmware freedom, the way I use the term on this blog, is the practical ability to read the software off a device you own, rebuild it from source, fix it, update it, and share the result without asking a vendor for permission. It sits where right-to-repair advocacy, GPL compliance enforcement, and low-level hardware work — SPI, UART, SWD, JTAG — meet. Most of what I audit is Linux-based: consumer routers, Android TV boxes, single-board computers, industrial IoT gateways, and, increasingly, medical devices. For that class of hardware, firmware freedom is the precondition for durable repair. You can stock every capacitor and MOSFET on the planet, but when the failure is a bricked bootloader or a kernel that stopped getting CVE fixes years ago, spare parts alone won’t bring the device…
Read More

How I Documented a GPL Violation Across a Three-Stage Boot Chain Using a Structured Evidence Ledger

My Blog
Last March, a compliance officer at an industrial IoT company in Pune shipped me a device. White-label gateway, sold under a GPL source offer printed on the inside of the enclosure — the kind of perfunctory notice that says "this product contains GPL software; written source available upon request." She had requested source twice. Both times, the vendor sent a tarball of Buildroot package metadata. No kernel tree. No U-Boot source. No device tree bindings. She asked me to determine whether the device actually contained GPL code, and if so, to pin down exactly where the violation sat in the boot chain. What follows is the methodology I used. The device — I'll call it the Pune Gateway — turned out to have a three-stage violation: a U-Boot fork with…
Read More

How to Audit a Device for GPL Compliance

My Blog
GPL compliance auditing for embedded Linux devices means checking whether a vendor actually met the source-code disclosure and license-notice obligations of the GNU General Public License for the software shipped on a physical product. It sits at the intersection of firmware forensics, supply-chain verification, and bootloader analysis. For engineers working with industrial IoT gateways, consumer routers, single-board computers, and medical devices, an audit answers a concrete question: can I obtain, rebuild, and modify the exact GPL-licensed components running on this hardware? This article walks through a repeatable audit method using SPI flash extraction, U-Boot environment inspection, device tree review, and package manifest cross-checking. I have used this sequence on ARM-based routers, NXP i.MX6 industrial controllers, and a Rockchip RK3399 SBC, and the steps below reflect what actually worked in those…
Read More