{"posts":[{"slug":"delivering-the-tested-arena-build-without-changing-the-server-around-it","kind":"Development journal","title":"Delivering the tested arena build without changing the server around it","stand":"The exact public package, preserved rollback and a separate desktop browser check.","read":"2 min","product":"battle-bot-arena-engine","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-12","work_end":"2026-10-12","updated":"2026-10-21","series":{"id":"battle-bot-arena-engine-journal","title":"Battle Bot Arena Engine development journal","name":"Battle Bot Arena Engine","product":"battle-bot-arena-engine","part":2,"of":2},"url":"https://pyrosoft.pro/blog/delivering-the-tested-arena-build-without-changing-the-server-around-it","markdown_url":"https://pyrosoft.pro/blog/delivering-the-tested-arena-build-without-changing-the-server-around-it.md"},{"slug":"battle-bot-arena-engine-2-0-reaches-the-browser","kind":"Development journal","title":"Battle Bot Arena Engine 2.0 reaches the browser","stand":"Workshop, Garage and combat behavior in the exact WebGL build.","read":"2 min","product":"battle-bot-arena-engine","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-12","work_end":"2026-10-12","updated":"2026-10-21","series":{"id":"battle-bot-arena-engine-journal","title":"Battle Bot Arena Engine development journal","name":"Battle Bot Arena Engine","product":"battle-bot-arena-engine","part":1,"of":2},"url":"https://pyrosoft.pro/blog/battle-bot-arena-engine-2-0-reaches-the-browser","markdown_url":"https://pyrosoft.pro/blog/battle-bot-arena-engine-2-0-reaches-the-browser.md"},{"slug":"dzcm-a-context-mixing-codec-of-our-own","kind":"Development journal","title":"DZCM: a context-mixing codec of our own","stand":"A new experimental backend, with its strong and weak cases recorded.","read":"2 min","product":"devzip","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-06-04","work_end":"2026-06-04","updated":"2026-10-21","series":{"id":"devzip-journal","title":"DevZIP development journal","name":"DevZIP","product":"devzip","part":3,"of":3},"url":"https://pyrosoft.pro/blog/dzcm-a-context-mixing-codec-of-our-own","markdown_url":"https://pyrosoft.pro/blog/dzcm-a-context-mixing-codec-of-our-own.md"},{"slug":"compression-levels-and-the-cost-of-a-smaller-archive","kind":"Development journal","title":"Compression levels and the cost of a smaller archive","stand":"Best-of-N selection and content-aware transforms in the June overhaul.","read":"2 min","product":"devzip","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-06-04","work_end":"2026-06-04","updated":"2026-10-21","series":{"id":"devzip-journal","title":"DevZIP development journal","name":"DevZIP","product":"devzip","part":2,"of":3},"url":"https://pyrosoft.pro/blog/compression-levels-and-the-cost-of-a-smaller-archive","markdown_url":"https://pyrosoft.pro/blog/compression-levels-and-the-cost-of-a-smaller-archive.md"},{"slug":"devzip-opens-up-its-archive-engine","kind":"Development journal","title":"DevZIP opens up its archive engine","stand":"A native Windows engine, a readable container and a measured starting point.","read":"2 min","product":"devzip","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-04-13","work_end":"2026-04-13","updated":"2026-10-21","series":{"id":"devzip-journal","title":"DevZIP development journal","name":"DevZIP","product":"devzip","part":1,"of":3},"url":"https://pyrosoft.pro/blog/devzip-opens-up-its-archive-engine","markdown_url":"https://pyrosoft.pro/blog/devzip-opens-up-its-archive-engine.md"},{"slug":"route-gather-then-write-the-answer-once","kind":"Development journal","title":"Route, gather, then write the answer once","stand":"A simpler pipeline and a more practical automatic model choice.","read":"2 min","product":"freespark","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-12","work_end":"2026-09-13","updated":"2026-10-21","series":{"id":"freespark-journal","title":"FreeSpark development journal","name":"FreeSpark","product":"freespark","part":4,"of":4},"url":"https://pyrosoft.pro/blog/route-gather-then-write-the-answer-once","markdown_url":"https://pyrosoft.pro/blog/route-gather-then-write-the-answer-once.md"},{"slug":"checking-whether-spark-actually-helps-the-model","kind":"Development journal","title":"Checking whether Spark actually helps the model","stand":"A growing prompt suite, bare-model comparisons and fixes from real answers.","read":"2 min","product":"freespark","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-10","work_end":"2026-09-11","updated":"2026-10-21","series":{"id":"freespark-journal","title":"FreeSpark development journal","name":"FreeSpark","product":"freespark","part":3,"of":4},"url":"https://pyrosoft.pro/blog/checking-whether-spark-actually-helps-the-model","markdown_url":"https://pyrosoft.pro/blog/checking-whether-spark-actually-helps-the-model.md"},{"slug":"making-local-work-survive-the-next-conversation","kind":"Development journal","title":"Making local work survive the next conversation","stand":"IndexedDB chats, workspace previews and a context budget.","read":"2 min","product":"freespark","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-09","work_end":"2026-09-10","updated":"2026-10-21","series":{"id":"freespark-journal","title":"FreeSpark development journal","name":"FreeSpark","product":"freespark","part":2,"of":4},"url":"https://pyrosoft.pro/blog/making-local-work-survive-the-next-conversation","markdown_url":"https://pyrosoft.pro/blog/making-local-work-survive-the-next-conversation.md"},{"slug":"freespark-useful-ai-on-the-hardware-you-already-have","kind":"Development journal","title":"FreeSpark: useful AI on the hardware you already have","stand":"Local inference, clearer online boundaries and the first reliability pass.","read":"2 min","product":"freespark","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-09","work_end":"2026-09-09","updated":"2026-10-21","series":{"id":"freespark-journal","title":"FreeSpark development journal","name":"FreeSpark","product":"freespark","part":1,"of":4},"url":"https://pyrosoft.pro/blog/freespark-useful-ai-on-the-hardware-you-already-have","markdown_url":"https://pyrosoft.pro/blog/freespark-useful-ai-on-the-hardware-you-already-have.md"},{"slug":"connecting-friendlyip-to-the-rest-of-pyrosoft","kind":"Development journal","title":"Connecting FriendlyIP to the rest of PyroSoft","stand":"Shared navigation without losing the local tool menu.","read":"2 min","product":"friendlyip","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-14","work_end":"2026-09-14","updated":"2026-10-21","series":{"id":"friendlyip-journal","title":"FriendlyIP development journal","name":"FriendlyIP","product":"friendlyip","part":2,"of":2},"url":"https://pyrosoft.pro/blog/connecting-friendlyip-to-the-rest-of-pyrosoft","markdown_url":"https://pyrosoft.pro/blog/connecting-friendlyip-to-the-rest-of-pyrosoft.md"},{"slug":"friendlyip-an-address-you-can-read-over-the-phone","kind":"Development journal","title":"FriendlyIP: an address you can read over the phone","stand":"A documented snapshot of the IPv4 converter and its related tools.","read":"2 min","product":"friendlyip","cover":null,"author":"Mike Rodriguez","date_kind":"snapshot","work_start":"2026-09-14","work_end":"2026-09-14","updated":"2026-10-21","series":{"id":"friendlyip-journal","title":"FriendlyIP development journal","name":"FriendlyIP","product":"friendlyip","part":1,"of":2},"url":"https://pyrosoft.pro/blog/friendlyip-an-address-you-can-read-over-the-phone","markdown_url":"https://pyrosoft.pro/blog/friendlyip-an-address-you-can-read-over-the-phone.md"},{"slug":"preserving-the-whole-psn-identifier","kind":"Development journal","title":"Preserving the whole PSN identifier","stand":"Correct large-integer conversion, request limits and clearer attribution.","read":"2 min","product":"psn-account-id-finder","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-14","work_end":"2026-09-14","updated":"2026-10-21","series":{"id":"psn-account-id-finder-journal","title":"PSN Account ID Finder development journal","name":"PSN Account ID Finder","product":"psn-account-id-finder","part":2,"of":2},"url":"https://pyrosoft.pro/blog/preserving-the-whole-psn-identifier","markdown_url":"https://pyrosoft.pro/blog/preserving-the-whole-psn-identifier.md"},{"slug":"finding-the-account-id-a-remote-play-client-asks-for","kind":"Development journal","title":"Finding the account ID a Remote Play client asks for","stand":"The retained baseline for the PSN Account ID Finder.","read":"2 min","product":"psn-account-id-finder","cover":null,"author":"Mike Rodriguez","date_kind":"snapshot","work_start":"2026-09-13","work_end":"2026-09-13","updated":"2026-10-21","series":{"id":"psn-account-id-finder-journal","title":"PSN Account ID Finder development journal","name":"PSN Account ID Finder","product":"psn-account-id-finder","part":1,"of":2},"url":"https://pyrosoft.pro/blog/finding-the-account-id-a-remote-play-client-asks-for","markdown_url":"https://pyrosoft.pro/blog/finding-the-account-id-a-remote-play-client-asks-for.md"},{"slug":"steam-command-generator-useful-commands-with-the-right-expectations","kind":"Development journal","title":"Steam Command Generator: useful commands with the right expectations","stand":"An App ID workflow, copy controls and a clear limit on guessed depot IDs.","read":"2 min","product":"steam-command-generator","cover":null,"author":"Mike Rodriguez","date_kind":"snapshot","work_start":"2026-09-13","work_end":"2026-09-14","updated":"2026-10-21","series":{"id":"steam-command-generator-journal","title":"Steam Command Generator development journal","name":"Steam Command Generator","product":"steam-command-generator","part":1,"of":1},"url":"https://pyrosoft.pro/blog/steam-command-generator-useful-commands-with-the-right-expectations","markdown_url":"https://pyrosoft.pro/blog/steam-command-generator-useful-commands-with-the-right-expectations.md"},{"slug":"moving-bourbon-safely-then-making-the-verification-faster","kind":"Development journal","title":"Moving Bourbon safely, then making the verification faster","stand":"Qualified candidate work and a later storage improvement that still needs its own gate.","read":"2 min","product":"bourbon-26","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-19","work_end":"2026-10-20","updated":"2026-10-20","series":{"id":"bourbon-26-journal","title":"Bourbon 26 development journal","name":"Bourbon 26","product":"bourbon-26","part":10,"of":10},"url":"https://pyrosoft.pro/blog/moving-bourbon-safely-then-making-the-verification-faster","markdown_url":"https://pyrosoft.pro/blog/moving-bourbon-safely-then-making-the-verification-faster.md"},{"slug":"the-audit-that-put-saves-and-reset-safety-first","kind":"Development journal","title":"The audit that put saves and reset safety first","stand":"Protecting newer environments before broadening the feature work.","read":"2 min","product":"bourbon-26","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-19","work_end":"2026-10-19","updated":"2026-10-20","series":{"id":"bourbon-26-journal","title":"Bourbon 26 development journal","name":"Bourbon 26","product":"bourbon-26","part":9,"of":10},"url":"https://pyrosoft.pro/blog/the-audit-that-put-saves-and-reset-safety-first","markdown_url":"https://pyrosoft.pro/blog/the-audit-that-put-saves-and-reset-safety-first.md"},{"slug":"native-steam-integration-and-a-library-you-can-use-from-the-couch","kind":"Development journal","title":"Native Steam integration and a library you can use from the couch","stand":"A new bridge, bigger controls and more careful cloud-save setup.","read":"2 min","product":"bourbon-26","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-17","work_end":"2026-10-18","updated":"2026-10-20","series":{"id":"bourbon-26-journal","title":"Bourbon 26 development journal","name":"Bourbon 26","product":"bourbon-26","part":8,"of":10},"url":"https://pyrosoft.pro/blog/native-steam-integration-and-a-library-you-can-use-from-the-couch","markdown_url":"https://pyrosoft.pro/blog/native-steam-integration-and-a-library-you-can-use-from-the-couch.md"},{"slug":"keeping-older-tools-and-newer-steam-clients-in-their-own-lanes","kind":"Development journal","title":"Keeping older tools and newer Steam clients in their own lanes","stand":"Targeted runtime work, safer repairs and evidence from the real client.","read":"2 min","product":"bourbon-26","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-13","work_end":"2026-10-16","updated":"2026-10-20","series":{"id":"bourbon-26-journal","title":"Bourbon 26 development journal","name":"Bourbon 26","product":"bourbon-26","part":7,"of":10},"url":"https://pyrosoft.pro/blog/keeping-older-tools-and-newer-steam-clients-in-their-own-lanes","markdown_url":"https://pyrosoft.pro/blog/keeping-older-tools-and-newer-steam-clients-in-their-own-lanes.md"},{"slug":"giving-steamos-its-own-place-in-bourbon","kind":"Development journal","title":"Giving SteamOS its own place in Bourbon","stand":"A separate guest lifecycle and tighter launch observation.","read":"2 min","product":"bourbon-26","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-09","work_end":"2026-10-12","updated":"2026-10-20","series":{"id":"bourbon-26-journal","title":"Bourbon 26 development journal","name":"Bourbon 26","product":"bourbon-26","part":6,"of":10},"url":"https://pyrosoft.pro/blog/giving-steamos-its-own-place-in-bourbon","markdown_url":"https://pyrosoft.pro/blog/giving-steamos-its-own-place-in-bourbon.md"},{"slug":"activation-installers-and-knowing-which-program-we-launched","kind":"Development journal","title":"Activation, installers and knowing which program we launched","stand":"Small recovery fixes followed by more careful Windows software analysis.","read":"2 min","product":"bourbon-26","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-02","work_end":"2026-10-08","updated":"2026-10-20","series":{"id":"bourbon-26-journal","title":"Bourbon 26 development journal","name":"Bourbon 26","product":"bourbon-26","part":5,"of":10},"url":"https://pyrosoft.pro/blog/activation-installers-and-knowing-which-program-we-launched","markdown_url":"https://pyrosoft.pro/blog/activation-installers-and-knowing-which-program-we-launched.md"},{"slug":"smart-play-starts-figuring-out-unfamiliar-games","kind":"Development journal","title":"Smart Play starts figuring out unfamiliar games","stand":"Reading game files before choosing a runtime.","read":"2 min","product":"bourbon-26","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-29","work_end":"2026-09-30","updated":"2026-10-20","series":{"id":"bourbon-26-journal","title":"Bourbon 26 development journal","name":"Bourbon 26","product":"bourbon-26","part":4,"of":10},"url":"https://pyrosoft.pro/blog/smart-play-starts-figuring-out-unfamiliar-games","markdown_url":"https://pyrosoft.pro/blog/smart-play-starts-figuring-out-unfamiliar-games.md"},{"slug":"making-setup-and-repair-less-disruptive","kind":"Development journal","title":"Making setup and repair less disruptive","stand":"Better readiness checks and more careful handling of active sessions.","read":"2 min","product":"bourbon-26","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-30","work_end":"2026-09-06","updated":"2026-10-20","series":{"id":"bourbon-26-journal","title":"Bourbon 26 development journal","name":"Bourbon 26","product":"bourbon-26","part":3,"of":10},"url":"https://pyrosoft.pro/blog/making-setup-and-repair-less-disruptive","markdown_url":"https://pyrosoft.pro/blog/making-setup-and-repair-less-disruptive.md"},{"slug":"when-the-menus-work-but-the-game-world-is-black","kind":"Development journal","title":"When the menus work but the game world is black","stand":"Following the real game executable and isolating the graphics route.","read":"2 min","product":"bourbon-26","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-17","work_end":"2026-08-17","updated":"2026-10-20","series":{"id":"bourbon-26-journal","title":"Bourbon 26 development journal","name":"Bourbon 26","product":"bourbon-26","part":2,"of":10},"url":"https://pyrosoft.pro/blog/when-the-menus-work-but-the-game-world-is-black","markdown_url":"https://pyrosoft.pro/blog/when-the-menus-work-but-the-game-world-is-black.md"},{"slug":"bourbon-26-choosing-the-right-way-to-play","kind":"Development journal","title":"Bourbon 26: choosing the right way to play","stand":"Native Mac games, per-game Wine choices and a more useful Bottle Shelf.","read":"2 min","product":"bourbon-26","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-07-31","work_end":"2026-07-31","updated":"2026-10-20","series":{"id":"bourbon-26-journal","title":"Bourbon 26 development journal","name":"Bourbon 26","product":"bourbon-26","part":1,"of":10},"url":"https://pyrosoft.pro/blog/bourbon-26-choosing-the-right-way-to-play","markdown_url":"https://pyrosoft.pro/blog/bourbon-26-choosing-the-right-way-to-play.md"},{"slug":"async-io-and-the-bytes-a-cancelled-write-keeps","kind":"Development journal","title":"Asynchronous I/O and the Bytes a Cancelled Write Keeps","stand":"The latest verified candidate passes focused 64-bit read and write profiles on both pipe routes. The tests caught real EOF, completion-block, and cancellation-accounting mistakes.","read":"3 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-11","work_end":"2026-10-11","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":19,"of":19},"url":"https://pyrosoft.pro/blog/async-io-and-the-bytes-a-cancelled-write-keeps","markdown_url":"https://pyrosoft.pro/blog/async-io-and-the-bytes-a-cancelled-write-keeps.md"},{"slug":"real-archive-roundtrip-and-file-behavior","kind":"Development journal","title":"A Real Archive Roundtrip and Better File Behavior","stand":"The original 7-Zip command-line tool created, tested, and extracted an archive, with all four files compared byte for byte.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-11","work_end":"2026-10-11","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":18,"of":19},"url":"https://pyrosoft.pro/blog/real-archive-roundtrip-and-file-behavior","markdown_url":"https://pyrosoft.pro/blog/real-archive-roundtrip-and-file-behavior.md"},{"slug":"making-the-launcher-own-its-work","kind":"Development journal","title":"Making the Launcher Own Its Storage and Processes","stand":"Managed storage and an app-local process supervisor are part of turning a development engine into an application people can safely launch and stop.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-11","work_end":"2026-10-11","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":17,"of":19},"url":"https://pyrosoft.pro/blog/making-the-launcher-own-its-work","markdown_url":"https://pyrosoft.pro/blog/making-the-launcher-own-its-work.md"},{"slug":"getting-wines-real-32-bit-startup-to-run","kind":"Development journal","title":"Getting Wine's Real 32-Bit Startup to Run","stand":"The ordinary Wine loader path needed real process, thread, locale, and shutdown state. A command prompt that prints and relaunches became a useful application milestone.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-09","work_end":"2026-10-11","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":16,"of":19},"url":"https://pyrosoft.pro/blog/getting-wines-real-32-bit-startup-to-run","markdown_url":"https://pyrosoft.pro/blog/getting-wines-real-32-bit-startup-to-run.md"},{"slug":"memory-protection-and-lifetime-tests","kind":"Development journal","title":"Making Memory Protection and Lifetime Tests More Useful","stand":"The memory work checked more than successful allocation: page permissions, decommit, release, reuse, process-image data, and the bytes around each result.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-06","work_end":"2026-10-09","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":15,"of":19},"url":"https://pyrosoft.pro/blog/memory-protection-and-lifetime-tests","markdown_url":"https://pyrosoft.pro/blog/memory-protection-and-lifetime-tests.md"},{"slug":"recovering-the-project-and-resuming-real-tests","kind":"Development journal","title":"Recovering the Project and Resuming Real Tests","stand":"The resumed work established the source baseline, exercised real NT/file behavior, and added bounded Intel Mac command-line evidence.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-05","work_end":"2026-10-05","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":14,"of":19},"url":"https://pyrosoft.pro/blog/recovering-the-project-and-resuming-real-tests","markdown_url":"https://pyrosoft.pro/blog/recovering-the-project-and-resuming-real-tests.md"},{"slug":"correcting-the-progress-report","kind":"Development journal","title":"Correcting the Ferrum Progress Report","stand":"Some earlier 32-bit checks proved placeholder outputs rather than real NT behavior. The recovery work started by separating useful code from unsupported completion claims.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-02","work_end":"2026-10-02","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":13,"of":19},"url":"https://pyrosoft.pro/blog/correcting-the-progress-report","markdown_url":"https://pyrosoft.pro/blog/correcting-the-progress-report.md"},{"slug":"portal-reaches-a-command-stream","kind":"Development journal","title":"Portal Reaches a Command Stream, With the Frame Still Ahead","stand":"More Vulkan commands and application imports were connected for Portal. The recorded run still did not establish an intro, menu, or visible game frame.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-23","work_end":"2026-09-26","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":12,"of":19},"url":"https://pyrosoft.pro/blog/portal-reaches-a-command-stream","markdown_url":"https://pyrosoft.pro/blog/portal-reaches-a-command-stream.md"},{"slug":"a-launcher-and-a-freeze-that-wasnt-the-presenter","kind":"Development journal","title":"A Launcher and a Freeze That Wasn't the Presenter","stand":"The launcher made the project easier to approach. A separate graphics investigation showed why a changing frame counter wasn't enough to prove a changing picture.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-15","work_end":"2026-09-17","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":11,"of":19},"url":"https://pyrosoft.pro/blog/a-launcher-and-a-freeze-that-wasnt-the-presenter","markdown_url":"https://pyrosoft.pro/blog/a-launcher-and-a-freeze-that-wasnt-the-presenter.md"},{"slug":"windows-that-keep-up-and-controllers-that-wake","kind":"Development journal","title":"Working on Presentation and Controller Input","stand":"Presentation timing and controller discovery needed tests outside a simple offscreen run. The Mac has its own window and input rules to account for.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-07","work_end":"2026-09-12","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":10,"of":19},"url":"https://pyrosoft.pro/blog/windows-that-keep-up-and-controllers-that-wake","markdown_url":"https://pyrosoft.pro/blog/windows-that-keep-up-and-controllers-that-wake.md"},{"slug":"directx-12-shader-caches-and-steam","kind":"Development journal","title":"DirectX 12, Shader Caches, and the Steam Startup Work","stand":"The graphics feature work and Steam startup fixes advanced useful components. Neither a feature probe nor a running Steam process closed the application journey.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-04","work_end":"2026-09-06","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":9,"of":19},"url":"https://pyrosoft.pro/blog/directx-12-shader-caches-and-steam","markdown_url":"https://pyrosoft.pro/blog/directx-12-shader-caches-and-steam.md"},{"slug":"making-runtime-state-consistent","kind":"Development journal","title":"Making Memory, Files, and Graphics State Agree","stand":"Adjacent allocations, runtime-loaded modules, media resources, and pipeline caching showed why a growing API surface still needs consistent state underneath it.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-02","work_end":"2026-09-03","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":8,"of":19},"url":"https://pyrosoft.pro/blog/making-runtime-state-consistent","markdown_url":"https://pyrosoft.pro/blog/making-runtime-state-consistent.md"},{"slug":"building-the-32-bit-graphics-path","kind":"Development journal","title":"Building the 32-Bit Graphics Path","stand":"The 32-bit path progressed from API setup to real Vulkan commands and a known-pixel readback. That established important pieces without establishing a visible Portal frame.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-28","work_end":"2026-09-01","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":7,"of":19},"url":"https://pyrosoft.pro/blog/building-the-32-bit-graphics-path","markdown_url":"https://pyrosoft.pro/blog/building-the-32-bit-graphics-path.md"},{"slug":"gameplay-performance-and-measuring-the-right-thing","kind":"Development journal","title":"Game Progress and Measuring the Right Thing","stand":"Controlled gameplay in King's Pass was useful progress. Understanding the route, memory growth, and test conditions was just as important as reaching another screen.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-23","work_end":"2026-08-27","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":6,"of":19},"url":"https://pyrosoft.pro/blog/gameplay-performance-and-measuring-the-right-thing","markdown_url":"https://pyrosoft.pro/blog/gameplay-performance-and-measuring-the-right-thing.md"},{"slug":"installers-saves-fonts-and-audio","kind":"Development journal","title":"Installers, Saves, Fonts, and the Parts Around the Game","stand":"A silent 7-Zip installation and progress on saves, fonts, and audio brought more ordinary Windows behavior into the development stack.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-21","work_end":"2026-08-22","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":5,"of":19},"url":"https://pyrosoft.pro/blog/installers-saves-fonts-and-audio","markdown_url":"https://pyrosoft.pro/blog/installers-saves-fonts-and-audio.md"},{"slug":"following-a-game-through-its-opening-video","kind":"Development journal","title":"Following a Game Through Its Opening Video","stand":"A game's opening sequence connected video formats, input timing, and its own state machine. Fixing the picture was only part of getting past it.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-19","work_end":"2026-08-20","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":4,"of":19},"url":"https://pyrosoft.pro/blog/following-a-game-through-its-opening-video","markdown_url":"https://pyrosoft.pro/blog/following-a-game-through-its-opening-video.md"},{"slug":"windows-runtime-threads-and-older-directx","kind":"Development journal","title":"Building More of the Windows Runtime","stand":"Older DirectX, thread state, windows, and system objects all became part of the same job: answering the requests real Windows components make.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-12","work_end":"2026-08-18","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":3,"of":19},"url":"https://pyrosoft.pro/blog/windows-runtime-threads-and-older-directx","markdown_url":"https://pyrosoft.pro/blog/windows-runtime-threads-and-older-directx.md"},{"slug":"from-return-values-to-pixels-and-sound","kind":"Development journal","title":"From Return Values to Pixels and Sound","stand":"A window, a sound, and a changing image answer different questions. This phase started connecting translated Windows code to results a person can actually see and hear.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-08","work_end":"2026-08-11","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":2,"of":19},"url":"https://pyrosoft.pro/blog/from-return-values-to-pixels-and-sound","markdown_url":"https://pyrosoft.pro/blog/from-return-values-to-pixels-and-sound.md"},{"slug":"bringing-fex-to-macos","kind":"Development journal","title":"Bringing FEX to macOS: The First Windows Program","stand":"Getting the translation engine to build was the first step. Getting a real Windows executable to run showed where Ferrum's Mac-side work actually begins.","read":"2 min","product":"ferrum","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-05","work_end":"2026-08-07","updated":"2026-10-20","series":{"id":"ferrum-journal","title":"Ferrum development journal","name":"Ferrum","product":"ferrum","part":1,"of":19},"url":"https://pyrosoft.pro/blog/bringing-fex-to-macos","markdown_url":"https://pyrosoft.pro/blog/bringing-fex-to-macos.md"},{"slug":"click-through-controls-and-the-cross-platform-download-set","kind":"Development journal","title":"Click-through controls and the cross-platform download set","stand":"Recovery controls, Linux capture evidence and a verified upload record.","read":"2 min","product":"infinitepip","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-08","work_end":"2026-09-09","updated":"2026-10-20","series":{"id":"infinitepip-journal","title":"InfinitePIP development journal","name":"InfinitePIP","product":"infinitepip","part":5,"of":5},"url":"https://pyrosoft.pro/blog/click-through-controls-and-the-cross-platform-download-set","markdown_url":"https://pyrosoft.pro/blog/click-through-controls-and-the-cross-platform-download-set.md"},{"slug":"a-better-workspace-for-all-your-pips","kind":"Development journal","title":"A better workspace for all your PiPs","stand":"Dashboard navigation, capture controls and a more deliberate packaging process.","read":"2 min","product":"infinitepip","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-30","work_end":"2026-08-30","updated":"2026-10-20","series":{"id":"infinitepip-journal","title":"InfinitePIP development journal","name":"InfinitePIP","product":"infinitepip","part":4,"of":5},"url":"https://pyrosoft.pro/blog/a-better-workspace-for-all-your-pips","markdown_url":"https://pyrosoft.pro/blog/a-better-workspace-for-all-your-pips.md"},{"slug":"giving-infinitepip-a-clearer-front-door","kind":"Development journal","title":"Giving InfinitePIP a clearer front door","stand":"A project site that explains the floating-window workflow.","read":"2 min","product":"infinitepip","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-05-14","work_end":"2026-05-14","updated":"2026-10-20","series":{"id":"infinitepip-journal","title":"InfinitePIP development journal","name":"InfinitePIP","product":"infinitepip","part":3,"of":5},"url":"https://pyrosoft.pro/blog/giving-infinitepip-a-clearer-front-door","markdown_url":"https://pyrosoft.pro/blog/giving-infinitepip-a-clearer-front-door.md"},{"slug":"rebuilding-infinitepip-around-independent-floating-windows","kind":"Development journal","title":"Rebuilding InfinitePIP around independent floating windows","stand":"Source selection, crop preview and controls for each PiP.","read":"2 min","product":"infinitepip","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2025-12-24","work_end":"2025-12-26","updated":"2026-10-20","series":{"id":"infinitepip-journal","title":"InfinitePIP development journal","name":"InfinitePIP","product":"infinitepip","part":2,"of":5},"url":"https://pyrosoft.pro/blog/rebuilding-infinitepip-around-independent-floating-windows","markdown_url":"https://pyrosoft.pro/blog/rebuilding-infinitepip-around-independent-floating-windows.md"},{"slug":"infinitepip-begins-with-a-simple-desktop-idea","kind":"Development journal","title":"InfinitePIP begins with a simple desktop idea","stand":"Keep the useful part of another window nearby.","read":"2 min","product":"infinitepip","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2025-12-23","work_end":"2025-12-23","updated":"2026-10-20","series":{"id":"infinitepip-journal","title":"InfinitePIP development journal","name":"InfinitePIP","product":"infinitepip","part":1,"of":5},"url":"https://pyrosoft.pro/blog/infinitepip-begins-with-a-simple-desktop-idea","markdown_url":"https://pyrosoft.pro/blog/infinitepip-begins-with-a-simple-desktop-idea.md"},{"slug":"making-the-audio-driver-s-foundations-explicit","kind":"Development journal","title":"Making the audio driver's foundations explicit","stand":"WDK and Sysvad attribution, with the remaining validation work kept visible.","read":"2 min","product":"virtual-audio-driver","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-03-03","work_end":"2026-03-03","updated":"2026-10-20","series":{"id":"virtual-audio-driver-journal","title":"Virtual Audio Driver development journal","name":"Virtual Audio Driver","product":"virtual-audio-driver","part":4,"of":4},"url":"https://pyrosoft.pro/blog/making-the-audio-driver-s-foundations-explicit","markdown_url":"https://pyrosoft.pro/blog/making-the-audio-driver-s-foundations-explicit.md"},{"slug":"rolling-back-the-effects-experiment","kind":"Development journal","title":"Rolling back the effects experiment","stand":"A more focused topology and a reminder to read the actual format tables.","read":"2 min","product":"virtual-audio-driver","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-01-15","work_end":"2026-01-15","updated":"2026-10-20","series":{"id":"virtual-audio-driver-journal","title":"Virtual Audio Driver development journal","name":"Virtual Audio Driver","product":"virtual-audio-driver","part":3,"of":4},"url":"https://pyrosoft.pro/blog/rolling-back-the-effects-experiment","markdown_url":"https://pyrosoft.pro/blog/rolling-back-the-effects-experiment.md"},{"slug":"exploring-more-formats-channels-and-audio-controls","kind":"Development journal","title":"Exploring more formats, channels and audio controls","stand":"A wider Windows audio experiment before the later simplification.","read":"2 min","product":"virtual-audio-driver","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2025-11-14","work_end":"2025-11-14","updated":"2026-10-20","series":{"id":"virtual-audio-driver-journal","title":"Virtual Audio Driver development journal","name":"Virtual Audio Driver","product":"virtual-audio-driver","part":2,"of":4},"url":"https://pyrosoft.pro/blog/exploring-more-formats-channels-and-audio-controls","markdown_url":"https://pyrosoft.pro/blog/exploring-more-formats-channels-and-audio-controls.md"},{"slug":"virtual-audio-endpoints-for-a-computer-without-speakers","kind":"Development journal","title":"Virtual audio endpoints for a computer without speakers","stand":"The early Windows audio driver, format work and a quieter microphone path.","read":"2 min","product":"virtual-audio-driver","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2025-01-02","work_end":"2025-07-14","updated":"2026-10-20","series":{"id":"virtual-audio-driver-journal","title":"Virtual Audio Driver development journal","name":"Virtual Audio Driver","product":"virtual-audio-driver","part":1,"of":4},"url":"https://pyrosoft.pro/blog/virtual-audio-endpoints-for-a-computer-without-speakers","markdown_url":"https://pyrosoft.pro/blog/virtual-audio-endpoints-for-a-computer-without-speakers.md"},{"slug":"safer-monitor-lifetimes-and-clearer-driver-replies","kind":"Development journal","title":"Safer monitor lifetimes and clearer driver replies","stand":"The latest retained driver changes focus on ownership and the control channel.","read":"2 min","product":"virtual-display-driver","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-31","work_end":"2026-08-31","updated":"2026-10-20","series":{"id":"virtual-display-driver-journal","title":"Virtual Display Driver development journal","name":"Virtual Display Driver","product":"virtual-display-driver","part":6,"of":6},"url":"https://pyrosoft.pro/blog/safer-monitor-lifetimes-and-clearer-driver-replies","markdown_url":"https://pyrosoft.pro/blog/safer-monitor-lifetimes-and-clearer-driver-replies.md"},{"slug":"more-precise-gpu-selection-and-multi-monitor-corrections","kind":"Development journal","title":"More precise GPU selection and multi-monitor corrections","stand":"PCI-based adapter resolution, HDR bit depth and swapchain threading.","read":"2 min","product":"virtual-display-driver","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-01-08","work_end":"2026-06-22","updated":"2026-10-20","series":{"id":"virtual-display-driver-journal","title":"Virtual Display Driver development journal","name":"Virtual Display Driver","product":"virtual-display-driver","part":5,"of":6},"url":"https://pyrosoft.pro/blog/more-precise-gpu-selection-and-multi-monitor-corrections","markdown_url":"https://pyrosoft.pro/blog/more-precise-gpu-selection-and-multi-monitor-corrections.md"},{"slug":"building-the-tools-around-the-display-driver","kind":"Development journal","title":"Building the tools around the display driver","stand":"Configuration, community automation and better device identification.","read":"2 min","product":"virtual-display-driver","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2025-01-01","work_end":"2025-11-30","updated":"2026-10-20","series":{"id":"virtual-display-driver-journal","title":"Virtual Display Driver development journal","name":"Virtual Display Driver","product":"virtual-display-driver","part":4,"of":6},"url":"https://pyrosoft.pro/blog/building-the-tools-around-the-display-driver","markdown_url":"https://pyrosoft.pro/blog/building-the-tools-around-the-display-driver.md"},{"slug":"fine-tuning-the-virtual-display","kind":"Development journal","title":"Fine-tuning the virtual display","stand":"Hardware cursors, custom EDID and fractional refresh rates.","read":"2 min","product":"virtual-display-driver","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2024-09-01","work_end":"2024-12-31","updated":"2026-10-20","series":{"id":"virtual-display-driver-journal","title":"Virtual Display Driver development journal","name":"Virtual Display Driver","product":"virtual-display-driver","part":3,"of":6},"url":"https://pyrosoft.pro/blog/fine-tuning-the-virtual-display","markdown_url":"https://pyrosoft.pro/blog/fine-tuning-the-virtual-display.md"},{"slug":"hdr-and-choosing-the-gpu-behind-the-virtual-screen","kind":"Development journal","title":"HDR and choosing the GPU behind the virtual screen","stand":"Expanding the display path while improving configuration.","read":"2 min","product":"virtual-display-driver","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2023-12-02","work_end":"2024-08-31","updated":"2026-10-20","series":{"id":"virtual-display-driver-journal","title":"Virtual Display Driver development journal","name":"Virtual Display Driver","product":"virtual-display-driver","part":2,"of":6},"url":"https://pyrosoft.pro/blog/hdr-and-choosing-the-gpu-behind-the-virtual-screen","markdown_url":"https://pyrosoft.pro/blog/hdr-and-choosing-the-gpu-behind-the-virtual-screen.md"},{"slug":"a-monitor-without-another-panel-on-the-desk","kind":"Development journal","title":"A monitor without another panel on the desk","stand":"The early Virtual Display Driver work on modes, refresh rates and setup.","read":"2 min","product":"virtual-display-driver","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2023-10-14","work_end":"2023-10-21","updated":"2026-10-20","series":{"id":"virtual-display-driver-journal","title":"Virtual Display Driver development journal","name":"Virtual Display Driver","product":"virtual-display-driver","part":1,"of":6},"url":"https://pyrosoft.pro/blog/a-monitor-without-another-panel-on-the-desk","markdown_url":"https://pyrosoft.pro/blog/a-monitor-without-another-panel-on-the-desk.md"},{"slug":"a-rebuilt-panel-with-displays-audio-and-an-edid-lab","kind":"Development journal","title":"A rebuilt panel with displays, audio and an EDID lab","stand":"The React and TypeScript rewrite, followed by more careful driver replies.","read":"2 min","product":"virtual-driver-control","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-06-12","work_end":"2026-08-31","updated":"2026-10-20","series":{"id":"virtual-driver-control-journal","title":"Virtual Driver Control development journal","name":"Virtual Driver Control","product":"virtual-driver-control","part":5,"of":5},"url":"https://pyrosoft.pro/blog/a-rebuilt-panel-with-displays-audio-and-an-edid-lab","markdown_url":"https://pyrosoft.pro/blog/a-rebuilt-panel-with-displays-audio-and-an-edid-lab.md"},{"slug":"moving-the-panel-behind-a-clearer-application-boundary","kind":"Development journal","title":"Moving the panel behind a clearer application boundary","stand":"Context isolation, a preload bridge and native window controls.","read":"2 min","product":"virtual-driver-control","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-01-12","work_end":"2026-01-13","updated":"2026-10-20","series":{"id":"virtual-driver-control-journal","title":"Virtual Driver Control development journal","name":"Virtual Driver Control","product":"virtual-driver-control","part":4,"of":5},"url":"https://pyrosoft.pro/blog/moving-the-panel-behind-a-clearer-application-boundary","markdown_url":"https://pyrosoft.pro/blog/moving-the-panel-behind-a-clearer-application-boundary.md"},{"slug":"reconnecting-the-interface-and-fixing-driver-detection","kind":"Development journal","title":"Reconnecting the interface and fixing driver detection","stand":"A busy revision with installation controls temporarily pulled back.","read":"2 min","product":"virtual-driver-control","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2025-08-17","work_end":"2025-08-17","updated":"2026-10-20","series":{"id":"virtual-driver-control-journal","title":"Virtual Driver Control development journal","name":"Virtual Driver Control","product":"virtual-driver-control","part":3,"of":5},"url":"https://pyrosoft.pro/blog/reconnecting-the-interface-and-fixing-driver-detection","markdown_url":"https://pyrosoft.pro/blog/reconnecting-the-interface-and-fixing-driver-detection.md"},{"slug":"connecting-the-panel-to-everyday-driver-tasks","kind":"Development journal","title":"Connecting the panel to everyday driver tasks","stand":"Real progress, tray controls, XML editing and audio-driver management.","read":"2 min","product":"virtual-driver-control","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2025-05-01","work_end":"2025-07-24","updated":"2026-10-20","series":{"id":"virtual-driver-control-journal","title":"Virtual Driver Control development journal","name":"Virtual Driver Control","product":"virtual-driver-control","part":2,"of":5},"url":"https://pyrosoft.pro/blog/connecting-the-panel-to-everyday-driver-tasks","markdown_url":"https://pyrosoft.pro/blog/connecting-the-panel-to-everyday-driver-tasks.md"},{"slug":"a-control-panel-for-the-settings-behind-the-driver","kind":"Development journal","title":"A control panel for the settings behind the driver","stand":"From a nonfunctional shell to early commands and XML editing.","read":"2 min","product":"virtual-driver-control","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2025-01-27","work_end":"2025-02-22","updated":"2026-10-20","series":{"id":"virtual-driver-control-journal","title":"Virtual Driver Control development journal","name":"Virtual Driver Control","product":"virtual-driver-control","part":1,"of":5},"url":"https://pyrosoft.pro/blog/a-control-panel-for-the-settings-behind-the-driver","markdown_url":"https://pyrosoft.pro/blog/a-control-panel-for-the-settings-behind-the-driver.md"},{"slug":"advanced-controls-shared-workflows-and-the-bundled-cli","kind":"Development journal","title":"Advanced controls, shared workflows and the bundled CLI","stand":"The path through the layout patches to 26.10.5.6, build 41.","read":"2 min","product":"virtual-drivers-macos","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-05","work_end":"2026-10-05","updated":"2026-10-20","series":{"id":"virtual-drivers-macos-journal","title":"Virtual Drivers for macOS development journal","name":"Virtual Drivers for macOS","product":"virtual-drivers-macos","part":5,"of":5},"url":"https://pyrosoft.pro/blog/advanced-controls-shared-workflows-and-the-bundled-cli","markdown_url":"https://pyrosoft.pro/blog/advanced-controls-shared-workflows-and-the-bundled-cli.md"},{"slug":"real-camera-sources-hid-reports-and-a-private-peer-tunnel","kind":"Development journal","title":"Real camera sources, HID reports and a private peer tunnel","stand":"Build 36 turns several remaining paths into measurable native workflows.","read":"2 min","product":"virtual-drivers-macos","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-05","work_end":"2026-10-05","updated":"2026-10-20","series":{"id":"virtual-drivers-macos-journal","title":"Virtual Drivers for macOS development journal","name":"Virtual Drivers for macOS","product":"virtual-drivers-macos","part":4,"of":5},"url":"https://pyrosoft.pro/blog/real-camera-sources-hid-reports-and-a-private-peer-tunnel","markdown_url":"https://pyrosoft.pro/blog/real-camera-sources-hid-reports-and-a-private-peer-tunnel.md"},{"slug":"teaching-the-suite-to-recover-its-own-devices","kind":"Development journal","title":"Teaching the suite to recover its own devices","stand":"Resource journals, atomic audio installation and safer storage handling.","read":"2 min","product":"virtual-drivers-macos","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-10-05","work_end":"2026-10-05","updated":"2026-10-20","series":{"id":"virtual-drivers-macos-journal","title":"Virtual Drivers for macOS development journal","name":"Virtual Drivers for macOS","product":"virtual-drivers-macos","part":3,"of":5},"url":"https://pyrosoft.pro/blog/teaching-the-suite-to-recover-its-own-devices","markdown_url":"https://pyrosoft.pro/blog/teaching-the-suite-to-recover-its-own-devices.md"},{"slug":"testing-what-the-mac-devices-actually-deliver","kind":"Development journal","title":"Testing what the Mac devices actually deliver","stand":"Audio measurements, MIDI round trips and a real disk-image workflow.","read":"2 min","product":"virtual-drivers-macos","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-09-06","work_end":"2026-09-08","updated":"2026-10-20","series":{"id":"virtual-drivers-macos-journal","title":"Virtual Drivers for macOS development journal","name":"Virtual Drivers for macOS","product":"virtual-drivers-macos","part":2,"of":5},"url":"https://pyrosoft.pro/blog/testing-what-the-mac-devices-actually-deliver","markdown_url":"https://pyrosoft.pro/blog/testing-what-the-mac-devices-actually-deliver.md"},{"slug":"from-a-mac-virtual-display-to-a-driver-suite","kind":"Development journal","title":"From a Mac virtual display to a driver suite","stand":"A native control center begins expanding beyond monitors.","read":"2 min","product":"virtual-drivers-macos","cover":null,"author":"Mike Rodriguez","date_kind":"work","work_start":"2026-08-30","work_end":"2026-08-31","updated":"2026-10-20","series":{"id":"virtual-drivers-macos-journal","title":"Virtual Drivers for macOS development journal","name":"Virtual Drivers for macOS","product":"virtual-drivers-macos","part":1,"of":5},"url":"https://pyrosoft.pro/blog/from-a-mac-virtual-display-to-a-driver-suite","markdown_url":"https://pyrosoft.pro/blog/from-a-mac-virtual-display-to-a-driver-suite.md"},{"kind":"Tutorials","title":"Free manual Windows gaming setup on Apple Silicon: step by step","stand":"Install Sikarugir, create a Wine wrapper, configure graphics, install Steam or a standalone game, and troubleshoot your first launch. Plus honest paid alternatives.","read":"15 min","slug":"manual-windows-gaming-apple-silicon-free-2026","product":"bourbon-26","cover":"/assets/images/bourbon26/games.jpg","url":"https://pyrosoft.pro/blog/manual-windows-gaming-apple-silicon-free-2026","date_published":"2026-09-05","disclosure":"Some links to other products on this page are affiliate links, and we may earn a commission if you buy through them. It costs you nothing extra, and it has not changed what this article says — where a competitor is the better answer, we say so.","markdown_url":"https://pyrosoft.pro/blog/manual-windows-gaming-apple-silicon-free-2026.md"},{"kind":"Explainers","title":"Windows games on Mac","stand":"Every way to run Windows games on a Mac in 2026 — translation, streaming, virtual machines — and which one fits the games you actually play.","read":"7 min","slug":"windows-games-on-mac","product":"bourbon-26","cover":"/assets/images/bourbon26/games.jpg","url":"https://pyrosoft.pro/blog/windows-games-on-mac","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/windows-games-on-mac.md"},{"kind":"Explainers","title":"Steam on Mac","stand":"Steam runs on macOS, and most of its catalog can reach your Mac one way or another. What's native, what needs translation, and what streams.","read":"5 min","slug":"steam-on-mac","product":"bourbon-26","cover":"/assets/images/bourbon26/stores.jpg","url":"https://pyrosoft.pro/blog/steam-on-mac","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/steam-on-mac.md"},{"kind":"Explainers","title":"Anti-cheat on Mac","stand":"Kernel-level anti-cheat is why Fortnite, Valorant and Apex won't run on a Mac through any translation layer — and what actually works instead.","read":"5 min","slug":"anti-cheat-on-mac","product":"bourbon-26","cover":"/assets/images/bourbon26/remote-play.jpg","url":"https://pyrosoft.pro/blog/anti-cheat-on-mac","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/anti-cheat-on-mac.md"},{"kind":"Explainers","title":"Boot Camp on Apple Silicon","stand":"Boot Camp doesn't exist on M-series Macs. What replaced it for games, and when you actually need a full Windows install.","read":"4 min","slug":"boot-camp-apple-silicon","product":"bourbon-26","cover":"/assets/images/bourbon26/advanced.jpg","url":"https://pyrosoft.pro/blog/boot-camp-apple-silicon","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/boot-camp-apple-silicon.md"},{"kind":"Guides","title":"Play Windows games on Mac for free","stand":"The genuinely free routes — raw Wine, Game Porting Toolkit, what's left of Whisky — what they cost you in time, and when $29.99 stops being worth avoiding.","read":"5 min","slug":"free-windows-games-on-mac","product":"bourbon-26","cover":"/assets/images/bourbon26/home.jpg","url":"https://pyrosoft.pro/blog/free-windows-games-on-mac","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/free-windows-games-on-mac.md"},{"kind":"Product","title":"Bourbon 26 system requirements","stand":"What Bourbon 26 needs, everything it installs, and how much disk the whole Windows-gaming stack actually takes.","read":"6 min","slug":"bourbon-26-system-requirements","product":"bourbon-26","cover":"/assets/images/bourbon26/settings.jpg","url":"https://pyrosoft.pro/blog/bourbon-26-system-requirements","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/bourbon-26-system-requirements.md"},{"kind":"Explainers","title":"DXVK vs D3DMetal","stand":"DXVK, VKD3D, DXMT, WineD3D or D3DMetal — what each renderer translates, and which one your game wants on a Mac.","read":"6 min","slug":"dxvk-vs-d3dmetal","product":"bourbon-26","cover":"/assets/images/bourbon26/advanced.jpg","url":"https://pyrosoft.pro/blog/dxvk-vs-d3dmetal","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/dxvk-vs-d3dmetal.md"},{"kind":"Product","title":"Wine bottles on Mac","stand":"What a Wine bottle (prefix) is, why every game deserves its own, and how Bourbon 26's Bottle Shelf manages runtimes per title.","read":"5 min","slug":"wine-bottles-on-mac","product":"bourbon-26","cover":"/assets/images/bourbon26/bottle-shelf.jpg","url":"https://pyrosoft.pro/blog/wine-bottles-on-mac","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/wine-bottles-on-mac.md"},{"kind":"Guides","title":"AIL eAPP on Mac","stand":"How to run the AIL eAPP on macOS with Bourbon 26, step by step.","read":"7 min","slug":"ail-eapp-on-mac","product":"bourbon-26","cover":"/assets/images/bourbon26/windows-apps.jpg","url":"https://pyrosoft.pro/blog/ail-eapp-on-mac","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/ail-eapp-on-mac.md"},{"kind":"Guides","title":"Run .exe files on Mac","stand":"How to open and run Windows .exe and .msi files on macOS — safely, in their own bottle.","read":"5 min","slug":"run-exe-on-mac","product":"bourbon-26","cover":"/assets/images/bourbon26/windows-apps.jpg","url":"https://pyrosoft.pro/blog/run-exe-on-mac","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/run-exe-on-mac.md"},{"kind":"Guides","title":"Notepad++ on Mac","stand":"Notepad++, PuTTY, WinSCP and the small Windows utilities worth keeping on your Mac — and the native swaps worth taking instead.","read":"5 min","slug":"notepad-plus-plus-on-mac","product":"bourbon-26","cover":"/assets/images/bourbon26/windows-apps.jpg","url":"https://pyrosoft.pro/blog/notepad-plus-plus-on-mac","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/notepad-plus-plus-on-mac.md"},{"kind":"Alternatives","title":"Whisky alternative","stand":"Whisky is no longer maintained. What that means for your bottles, and the closest like-for-like replacement on macOS.","read":"6 min","slug":"whisky-alternative","product":"bourbon-26","cover":"/assets/images/bourbon26/games.jpg","url":"https://pyrosoft.pro/blog/whisky-alternative","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/whisky-alternative.md"},{"kind":"Alternatives","title":"CrossOver alternative","stand":"CrossOver charges yearly; Bourbon 26 is $29.99 once. Where CodeWeavers still earns its price, and where the alternative wins.","read":"6 min","slug":"crossover-alternative","product":"bourbon-26","cover":"/assets/images/bourbon26/advanced.jpg","url":"https://pyrosoft.pro/blog/crossover-alternative","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/crossover-alternative.md"},{"kind":"Alternatives","title":"Parallels alternative","stand":"Parallels runs a whole Windows; Bourbon 26 runs just your games. Which approach fits, and when a full VM is genuinely the right call.","read":"6 min","slug":"parallels-alternative","product":"bourbon-26","cover":"/assets/images/bourbon26/stores.jpg","url":"https://pyrosoft.pro/blog/parallels-alternative","date_published":"2026-07-26","disclosure":"Some links to other products on this page are affiliate links, and we may earn a commission if you buy through them. It costs you nothing extra, and it has not changed what this article says — where a competitor is the better answer, we say so.","markdown_url":"https://pyrosoft.pro/blog/parallels-alternative.md"},{"kind":"Explainers","title":"Game Porting Toolkit","stand":"What Apple's Game Porting Toolkit is, who it's actually for, and how Bourbon 26 packages the same technology for people who just want to play.","read":"5 min","slug":"game-porting-toolkit","product":"bourbon-26","cover":"/assets/images/bourbon26/settings.jpg","url":"https://pyrosoft.pro/blog/game-porting-toolkit","date_published":"2026-07-26","markdown_url":"https://pyrosoft.pro/blog/game-porting-toolkit.md"},{"kind":"Explainers","title":"Windows on Apple Silicon","stand":"Every way to run Windows software on an M-series Mac in 2026 — translation, emulation, VMs — and how to pick per app.","read":"9 min","slug":"windows-on-apple-silicon","product":"bourbon-26","cover":"/assets/images/bourbon26/android.jpg","url":"https://pyrosoft.pro/blog/windows-on-apple-silicon","date_published":"2026-07-26","disclosure":"Some links to other products on this page are affiliate links, and we may earn a commission if you buy through them. It costs you nothing extra, and it has not changed what this article says — where a competitor is the better answer, we say so.","markdown_url":"https://pyrosoft.pro/blog/windows-on-apple-silicon.md"},{"kind":"Explainers","title":"What Wine can't run","stand":"Drivers, kernel services, anti-cheat and the other Windows software no translation layer can handle — where a VM is the honest answer.","read":"5 min","slug":"what-wine-cant-run","product":"bourbon-26","cover":"/assets/images/bourbon26/unlock.jpg","url":"https://pyrosoft.pro/blog/what-wine-cant-run","date_published":"2026-07-26","disclosure":"Some links to other products on this page are affiliate links, and we may earn a commission if you buy through them. It costs you nothing extra, and it has not changed what this article says — where a competitor is the better answer, we say so.","markdown_url":"https://pyrosoft.pro/blog/what-wine-cant-run.md"}],"count":86}
