{"id":"e5252b80-03b3-4d8c-a0ba-b1cab81449a8","timestamp":1789027367009,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":["/","/cperez/2026-09-03/xamarin-to-dotnet-maui-migration-what-changes","/cperez/2026-08-11/ai-prototype-to-production-business-results","/cperez/2026-08-20/ai-code-review-verifying-generated-software","/cperez/2026-09-01/what-happens-if-you-keep-running-xamarin-app","/ewahl/2026-08/ai-coding-agents-software-methodology","/cperez/2026-09-10/legacy-desktop-application-modernization-partner","/cperez/2026-08-27/ai-software-requirements-grounded-in-context","/cperez/2026-09-08/original-developers-gone-custom-software-takeover","/tags/legacy desktop migration","/cperez/2026-08-18/legacy-software-holding-business-back","/tags/legacy modernization","/authors/cperez","/authors/ewahl","/tags/ai-assisted migration","/tags/mid-market","/tags/discovery","/tags/legacy software","/tags/xamarin","/tags/.net maui","/tags/ai","/tags/technical debt","/tags/legacy migration","/tags/ai requirements gathering","/tags/ai discovery","/tags/ai hallucinations","/tags/legacy software discovery","/tags/legacy software modernization","/tags/agentic ai","/tags/ai coding agents","/tags/humans in the loop","/tags/spec-driven development","/tags/agile software development","/tags/ai code review","/tags/ai software development","/tags/vibe coding","/tags/ai-assisted modernization","/tags/software rescue","/tags/vibe-coded application rescue","/tags/ai prototype development","/cperez/2026-08-06/turnover-reveals-weak-software-architecture","/tags/ai application modernization","/cperez/2026-08-04/technical-debt-enterprise-value","/cperez/2026-07-28/ai-assisted-legacy-modernization-business-logic","/cperez/2026-07-02/hidden-costs-of-legacy-software","/cperez/2026-06-17/xamarin-to-maui","/cperez/2026-06-25/ai_makes_modernization_feasible","/cperez/2026-07-23/why-ai-agents-need-software-developers","/cperez/2026-07-21/building-digital-health-platforms-beyond-samd","/cperez/2026-07-16/rebuild-vs-modernize-software-cfo-guide","/cperez/2026-07-09/5-rs-application-modernization-legacy-software","/cperez/2026-07-07/why-ai-projects-fail","/cperez/2026-06-30/how-ceos-should-evaluate-ai-investments","/tags/custom ai software development","/tags/engineering turnover","/tags/software architecture","/tags/tech debt","/tags/application modernization","/tags/code migration","/tags/.net","/tags/maui","/tags/app migration","/tags/mobile","/ewahl/2026-07/goodharts-law-ai-coding-agents","/ewahl/2025-06/argued_with_ai","/ewahl/2025-05/escape_deployment_hell","/tags/ai investment","/tags/chatbots","/tags/ai agents","/tags/security","/tags/ai development","/tags/samd","/tags/legacy","/tags/modernization","/tags/biomedical","/tags/healthcare","/tags/5-rs","/tags/ethics","/tags/software development","/tags/human in the loop","/tags/devops","/tags/aws","/tags/python","/ckeefer/2017-3/morepwatoya-part2","/ckeefer/2017-2/morepwatoya-part1","/jbagley/2025-08/a_developers_primer_on_apple_tracking_transparency","/ckeefer/2024-7/vpubsub","/tags/pwa","/authors/ckeefer","/tags/series","/phendry/2023-01-19/badcode","/phendry/2021-10-30/spotthevulnloopsandtermconditions","/phendry/2021-07-30/spotthevulndataranges","/nharrison/2012-07/core-data","/avogan/2012-07/salt-2","/authors/jbagley","/tags/app tracking transparency","/avogan/2012-07/salt","/tags/att","/tags/ios","/tags/macos","/tags/vue","/tags/pub/sub","/tags/js","/jbagley/2021-07/softwaresenescence","/authors/nharrison","/authors/phendry","/authors/avogan","/tags/core-data","/tags/encryption","/tags/objective-c","/tags/cryptography","/jestep/2023-3/fastapi","/dpopowich/2023-8/postgres-pubsub","/dpopowich/2021-07-30/data-collector","/ckeefer/2016-8/herokupdf","/ckeefer/2016-4/djangochannels2","/ckeefer/2016-3/djangochannels1","/ckeefer/2016-2/paymentprocessing","/ckeefer/2015-3/emailvalidation","/tags/project-management","/ckeefer/2017-1/downloadingclientsidecontent","/ckeefer/2019-1/unlockingwebaudio","/authors/jestep","/authors/dpopowich","/tags/fastapi","/tags/django","/tags/flask","/tags/pyramid","/tags/postgresql","/tags/async","/ckeefer/2024-3/e2e_testing","/tags/how-to","/tags/heroku","/ckeefer/2020-1/why-vue","/ckeefer/2016-6/gofetch1","/ckeefer/2016-7/gofetch2","/ckeefer/2016-1/ajaxbinarycaching","/tags/pdf","/ckeefer/2015-5/file-reader-chunking","/ckeefer/2015-2/js-frameworks","/ckeefer/2015-1/writeonce","/ckeefer/2014-8/behold-views","/ckeefer/2014-7/promises","/ckeefer/2014-6/backbonesocketsync","/ckeefer/2014-5/cgwin2","/tags/websockets","/ckeefer/2014-4/hidden-options","/tags/jquery","/ckeefer/2014-3/customgmapsinfowindow","/ckeefer/2013-5/ajax-uploader","/ckeefer/2014-1/still-using-php","/ckeefer/2013-12/deploying-with-git","/ckeefer/2013-4/teaching-programming","/ckeefer/2013-11/jquery-ajax-blobs","/ckeefer/2013-2/xslt","/ckeefer/2013-08/fullproof-fulltext-search","/ckeefer/2013-1/misc","/ckeefer/2013-07/anchors-hash","/ckeefer/2013-07/static-vmware-host","/ckeefer/2014-2/ajax-upload-2","/ckeefer/2013-3/ajax-upload","/tags/audio","/tags/qa","/tags/software-testing","/tags/e2e","/tags/playwright","/alalande/2023-2/heuristics","/alalande/2023-1/escaping_text","/phendry/2022-07-28/migratingfromexpresstofastifypart2","/phendry/2022-07-21/migratingfromexpresstofastifypart1","/rbrubaker/2012-06/coffee-backbone-3","/rbrubaker/2012-06/coffee-backbone-2","/tags/backbone","/tags/google-maps","/tags/xhr2","/tags/php","/tags/git","/tags/programming","/tags/data-formats","/tags/xml","/rbrubaker/2012-06/coffe-backbone-1","/tags/xsl","/tags/xslt","/tags/search","/phendry/2023-01-31/forgetaboutcodestyle","/phendry/2023-05-16/doyouneedacsspreprocessor","/phendry/2021-08-15/exploringdependenttypesinidris","/jbagley/2021-08-01/accuratetiming","/rbrubaker/2012-07/whither-pm","/jbagley/2023-06-01/universal_ffmpeg_custom_builds","/tags/xmlhttprequest","/jbagley/2019-4/makingspectrogramsinjuce","/tags/html5","/rbrubaker/2012-07/prototypal-js","/shuey/2012-07/reset-button","/authors/alalande","/authors/rbrubaker","/tags/educational","/tags/backbone-js","/tags/coffeescript","/tags/c++","/shuey/2012-07/mixer","/tags/timing","/asherbrooke/2020-4/watchwah","/shuey/2012-06/thoughts-ios6","/shuey/2012-05/rubymotion","/tags/c","/tags/bash","/tags/ffmpeg","/tags/juce","/tags/apple","/phendry/2021-06/smoothupgradestovue3","/phendry/2023-11-06/frontendframeworksin2024","/bporter/2020-10/reanimated","/authors/shuey","/tags/android","/authors/asherbrooke","/tags/watch","/tags/cocoa","/tags/ruby","/phendry/2023-07-28/dependencymanagement","/phendry/2023-04-02/semantichtml","/phendry/2019-3/restfromthebottomup","/tags/react","/tags/svelte","/authors/bporter","/tags/ui","/bporter/2019-3/animator","/tags/rest","/tags/api","/tags/web","/tags/architecture","/areichert/2023-10/rapid-testing-techniques-for-web-and-mobile","/authors/areichert","/cmacksey/2012-5/php-musings","/shuey/2012-05/cloud","/authors/cmacksey","/tfarrel/2012-07","/bporter/2019-4/aesannounce","/scharette/2019-4/discover_machine_learning","/rbrubaker/2012-06/arduino-thermometer","/tags/icloud","/authors/tfarrel","/tags/steganography","/authors/scharette","/tags/a+l","/tags/event","/tags/machine-learning","/tags/neural-networks","/bporter/2012-6/dsl","/shuey/2012-05/baas","/bporter/2012-5/learntocode","/tags/arduino","/tags/java","/shuey/2012-05/economics-android","/shuey/2012-05/iot","/tags/dsl","/tags/erlang","/tags/go","/tags/baas","/tags/learn-to-code","/bporter/2012-5/improtech","/bporter/2012-5/cd_player","/bstevens/2019-3","/tags/big-data","/tags/iot","/tags/improvisation","/tags/music","/authors/bstevens"]}