<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://schmole.com/</id> <title>schmole.com</title> <subtitle>Deep dives into computer hardware design, microarchitecture, silicon implementation, performance engineering, and the tools that support them.</subtitle> <updated>2026-05-08T18:07:16-07:00</updated> <author> <name>F. Schmole</name> <uri>https://schmole.com/</uri> </author> <link rel="self" type="application/atom+xml" href="https://schmole.com/feed.xml"/> <link rel="alternate" type="text/html" hreflang="en" href="https://schmole.com/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 F. Schmole </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry> <title>Bare-Bones GPT-2 Inference from Scratch</title> <link href="https://schmole.com/2026/05/08/bare-bones-gpt2-inference/" rel="alternate" type="text/html" title="Bare-Bones GPT-2 Inference from Scratch" /> <published>2026-05-08T13:00:00-07:00</published> <updated>2026-05-08T13:00:00-07:00</updated> <id>https://schmole.com/2026/05/08/bare-bones-gpt2-inference/</id> <content type="text/html" src="https://schmole.com/2026/05/08/bare-bones-gpt2-inference/" /> <author> <name>F. Schmole</name> </author> <category term="Architecture" /> <summary>I built a from-scratch GPT-2 inference engine for educational purposes — no frameworks, no shortcuts. Rust handles the tensor math (via PyO3), Python handles everything else: tokenizer, transformer, generation, and CLI. The full source is at github.com/fschmole/bare-bones-inference. Why Most tutorials either hand-wave the internals or drown you in framework abstractions. I wanted to unders...</summary> </entry> <entry> <title>From Formal Model to Sequence Diagram: TLA+ as a Machine-Readable Specification</title> <link href="https://schmole.com/2026/02/22/tlaplus-sequence-diagrams/" rel="alternate" type="text/html" title="From Formal Model to Sequence Diagram: TLA+ as a Machine-Readable Specification" /> <published>2026-02-22T18:00:00-08:00</published> <updated>2026-02-22T18:00:00-08:00</updated> <id>https://schmole.com/2026/02/22/tlaplus-sequence-diagrams/</id> <content type="text/html" src="https://schmole.com/2026/02/22/tlaplus-sequence-diagrams/" /> <author> <name>F. Schmole</name> </author> <category term="Architecture" /> <summary>In a previous post I argued that machine-readable specifications are the foundation for AI-augmented hardware design. This post digs into a specific tool for that job: TLA+ and its procedural front-end PlusCal. What TLA+ Brings to Hardware Architecture TLA+ (Temporal Logic of Actions) is a formal specification language for describing concurrent and distributed systems. PlusCal is a pseudoco...</summary> </entry> <entry> <title>Machine-Readable Specifications: The Single Source of Truth for AI-Augmented Hardware Design</title> <link href="https://schmole.com/2026/02/16/machine-readable-specs-single-source-of-truth/" rel="alternate" type="text/html" title="Machine-Readable Specifications: The Single Source of Truth for AI-Augmented Hardware Design" /> <published>2026-02-16T14:00:00-08:00</published> <updated>2026-02-16T14:00:00-08:00</updated> <id>https://schmole.com/2026/02/16/machine-readable-specs-single-source-of-truth/</id> <content type="text/html" src="https://schmole.com/2026/02/16/machine-readable-specs-single-source-of-truth/" /> <author> <name>F. Schmole</name> </author> <category term="Architecture" /> <summary>Every hardware team has lived this: a 400-page PDF spec says one thing, the RTL says another, and the testbench assumes a third. The bug that falls out is nobody’s fault and everybody’s problem. Now multiply that failure mode by an LLM that has no judgment about which source to trust — and “making something up” becomes the default behavior whenever the input is ambiguous. If we are serious a...</summary> </entry> <entry> <title>Data-Driven Fabric Architecture: Visualizing GPU Traffic Patterns Over PCIe</title> <link href="https://schmole.com/2026/02/09/data-driven-fabric-architecture/" rel="alternate" type="text/html" title="Data-Driven Fabric Architecture: Visualizing GPU Traffic Patterns Over PCIe" /> <published>2026-02-09T10:00:00-08:00</published> <updated>2026-02-09T10:00:00-08:00</updated> <id>https://schmole.com/2026/02/09/data-driven-fabric-architecture/</id> <content type="text/html" src="https://schmole.com/2026/02/09/data-driven-fabric-architecture/" /> <author> <name>F. Schmole</name> </author> <category term="Architecture" /> <summary>Architectural decisions for a high-performance I/O-memory fabric should be grounded in data, not gut feel. It sounds obvious, but in practice the pressure to “just pick something reasonable” is real — timelines are tight, the design space is enormous, and canonical answers are rarely published. The antidote is to look at the traffic before committing silicon resources to serve it. Why Data Be...</summary> </entry> <entry> <title>Welcome to schmole.com</title> <link href="https://schmole.com/2026/02/02/welcome/" rel="alternate" type="text/html" title="Welcome to schmole.com" /> <published>2026-02-02T09:00:00-08:00</published> <updated>2026-02-02T09:00:00-08:00</updated> <id>https://schmole.com/2026/02/02/welcome/</id> <content type="text/html" src="https://schmole.com/2026/02/02/welcome/" /> <author> <name>F. Schmole</name> </author> <category term="General" /> <summary>Welcome to schmole.com — a space for engineering notes, deep dives, and tools from my work in silicon hardware architecture. Posts here will cover fabric architecture trade-offs, formal specification workflows, data-driven trace analysis, and the Python and browser-based utilities I build to make hardware design faster and more rigorous.</summary> </entry> </feed>
