Notes from the workshop.
Guides, explainers, honest comparisons and development journals, written by the people who build the apps.
Development journal entries, most recent first
Battle Bot Arena Engine·Part 2Delivering the tested arena build without changing the server around it
Battle Bot Arena Engine·Part 1Battle Bot Arena Engine 2.0 reaches the browser
DevZIP·Part 3DZCM: a context-mixing codec of our own
DevZIP·Part 2Compression levels and the cost of a smaller archive
DevZIP·Part 1DevZIP opens up its archive engine
FreeSpark·Part 4Route, gather, then write the answer once
FreeSpark·Part 3Checking whether Spark actually helps the model
FreeSpark·Part 2Making local work survive the next conversation
FreeSpark·Part 1FreeSpark: useful AI on the hardware you already have
FriendlyIP·Part 2Connecting FriendlyIP to the rest of PyroSoft
FriendlyIP·Part 1FriendlyIP: an address you can read over the phone
PSN Account ID Finder·Part 2Preserving the whole PSN identifier
PSN Account ID Finder·Part 1Finding the account ID a Remote Play client asks for
Steam Command Generator·Part 1Steam Command Generator: useful commands with the right expectations
Bourbon 26·Part 10Moving Bourbon safely, then making the verification faster
Bourbon 26·Part 9The audit that put saves and reset safety first
Bourbon 26·Part 8Native Steam integration and a library you can use from the couch
Bourbon 26·Part 7Keeping older tools and newer Steam clients in their own lanes
Bourbon 26·Part 6Giving SteamOS its own place in Bourbon
Bourbon 26·Part 5Activation, installers and knowing which program we launched
Bourbon 26·Part 4Smart Play starts figuring out unfamiliar games
Bourbon 26·Part 3Making setup and repair less disruptive
Bourbon 26·Part 2When the menus work but the game world is black
Bourbon 26·Part 1Bourbon 26: choosing the right way to play
Ferrum·Part 19Asynchronous I/O and the Bytes a Cancelled Write Keeps
Ferrum·Part 18A Real Archive Roundtrip and Better File Behavior
Ferrum·Part 17Making the Launcher Own Its Storage and Processes
Ferrum·Part 16Getting Wine's Real 32-Bit Startup to Run
Ferrum·Part 15Making Memory Protection and Lifetime Tests More Useful
Ferrum·Part 14Recovering the Project and Resuming Real Tests
Ferrum·Part 13Correcting the Ferrum Progress Report
Ferrum·Part 12Portal Reaches a Command Stream, With the Frame Still Ahead
Ferrum·Part 11A Launcher and a Freeze That Wasn't the Presenter
Ferrum·Part 10Working on Presentation and Controller Input
Ferrum·Part 9DirectX 12, Shader Caches, and the Steam Startup Work
Ferrum·Part 8Making Memory, Files, and Graphics State Agree
Ferrum·Part 7Building the 32-Bit Graphics Path
Ferrum·Part 6Game Progress and Measuring the Right Thing
Ferrum·Part 5Installers, Saves, Fonts, and the Parts Around the Game
Ferrum·Part 4Following a Game Through Its Opening Video
Ferrum·Part 3Building More of the Windows Runtime
Ferrum·Part 2From Return Values to Pixels and Sound
Ferrum·Part 1Bringing FEX to macOS: The First Windows Program
InfinitePIP·Part 5Click-through controls and the cross-platform download set
InfinitePIP·Part 4A better workspace for all your PiPs
InfinitePIP·Part 3Giving InfinitePIP a clearer front door
InfinitePIP·Part 2Rebuilding InfinitePIP around independent floating windows
InfinitePIP·Part 1InfinitePIP begins with a simple desktop idea
Virtual Audio Driver·Part 4Making the audio driver's foundations explicit
Virtual Audio Driver·Part 3Rolling back the effects experiment
Virtual Audio Driver·Part 2Exploring more formats, channels and audio controls
Virtual Audio Driver·Part 1Virtual audio endpoints for a computer without speakers
Virtual Display Driver·Part 6Safer monitor lifetimes and clearer driver replies
Virtual Display Driver·Part 5More precise GPU selection and multi-monitor corrections
Virtual Display Driver·Part 4Building the tools around the display driver
Virtual Display Driver·Part 3Fine-tuning the virtual display
Virtual Display Driver·Part 2HDR and choosing the GPU behind the virtual screen
Virtual Display Driver·Part 1A monitor without another panel on the desk
Virtual Driver Control·Part 5A rebuilt panel with displays, audio and an EDID lab
Virtual Driver Control·Part 4Moving the panel behind a clearer application boundary
Virtual Driver Control·Part 3Reconnecting the interface and fixing driver detection
Virtual Driver Control·Part 2Connecting the panel to everyday driver tasks
Virtual Driver Control·Part 1A control panel for the settings behind the driver
Virtual Drivers for macOS·Part 5Advanced controls, shared workflows and the bundled CLI
Virtual Drivers for macOS·Part 4Real camera sources, HID reports and a private peer tunnel
Virtual Drivers for macOS·Part 3Teaching the suite to recover its own devices
Virtual Drivers for macOS·Part 2Testing what the Mac devices actually deliver
Virtual Drivers for macOS·Part 1From a Mac virtual display to a driver suite