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