diff --git a/static/js/search/tinysearch_engine_bg.wasm b/static/js/search/tinysearch_engine_bg.wasm
index 713d8094..bb669b35 100644
Binary files a/static/js/search/tinysearch_engine_bg.wasm and b/static/js/search/tinysearch_engine_bg.wasm differ
diff --git a/tagmap.json b/tagmap.json
index 095b8a93..8f4f13b9 100644
--- a/tagmap.json
+++ b/tagmap.json
@@ -1 +1 @@
-{"__ALL__":{"articles\/a-simple-way-to-fix-legacy-code.html":["business","programming"],"articles\/alan-kay-and-missing-messages-a-follow-up.html":["oop"],"articles\/alan-kay-and-oo-programming.html":["oop"],"articles\/all-around-the-world-celebrating-ten-years.html":["business","perl"],"articles\/are-microservices-the-next-phase-of-object-oriented-programming.html":["oop"],"articles\/automated-software-standards.html":["programming"],"articles\/avoid-common-software-project-mistakes.html":["databases","programming"],"articles\/building-an-iphone-app-with-chatgpt.html":["business","programming"],"articles\/common-problems-in-object-oriented-code.html":["corinna","oop","perl","programming"],"articles\/constructive-versus-classical-logic-in-perl.html":["perl","programming"],"articles\/converting-object-oriented-code-to-corinna.html":["corinna","programming"],"articles\/corinna-in-the-perl-core.html":["corinna","oop","perl"],"articles\/current-corinna-status.html":["corinna","oop","perl"],"articles\/database-design-standards.html":["databases"],"articles\/death-by-database.html":["databases"],"articles\/dont-start-with-microservices.html":["business","programming"],"articles\/easy-git-workflow.html":["business","programming"],"articles\/estimating-development-costs-is-almost-useless.html":["business"],"articles\/feature-switch-best-practices.html":["business","programming"],"articles\/fixing-mvc-in-web-applications.html":["programming"],"articles\/gdpr-and-bankruptcy.html":["business"],"articles\/going-agile-can-hurt-your-company.html":["business"],"articles\/how-databases-can-hurt-your-startup.html":["business","databases"],"articles\/how-to-defeat-facebook.html":["business"],"articles\/introducing-moosexextended-for-perl.html":["corinna","oop","perl","programming"],"articles\/language-design-consistency.html":["corinna","oop","programming"],"articles\/making-complex-software-simple.html":["perl","programming"],"articles\/managing-a-remote-team.html":["business"],"articles\/managing-a-test-database.html":["databases","perl","programming"],"articles\/microservices-pros-and-cons.html":["business","programming"],"articles\/moving-from-oracle-to-postgresql.html":["business","databases"],"articles\/naming-and-object-oriented-code.html":["oop","programming"],"articles\/project-500.html":["business","databases","programming"],"articles\/project-management-in-three-numbers.html":["business"],"articles\/the-future-of-perl.html":["corinna","perl","programming"],"articles\/the-problem-with-builder.html":["corinna","oop","perl"],"articles\/the-surprises-of-ab-testing.html":["business"],"articles\/the-tyranny-of-budgets.html":["business"],"articles\/the-worst-job-offer.html":["business"],"articles\/tracking-elon-musks-plane-with-perl.html":["perl","programming"],"articles\/understanding-class-inheritance.html":["corinna","oop","programming"],"articles\/using-github-copilot-with-vim.html":["programming"],"articles\/using-immutable-datetime-objects-with-dbixclass.html":["corinna","databases","oop","perl"],"articles\/what-to-know-before-debating-type-systems.html":["programming"],"articles\/when-to-choose-agile.html":["business"],"articles\/why-is-object-oriented-programming-bad.html":["oop","programming"],"articles\/why-is-perl-not-putting-moose-in-the-core.html":["corinna","oop","perl"],"articles\/work-from-home-effectively.html":["business"],"articles\/zen-of-test-suites.html":["programming"],"blog\/adventures-in-traveling.html":["personal","writing"],"blog\/babylonian-numbers-for-8-year-olds.html":["math"],"blog\/coronavirus-fake-news.html":["politics"],"blog\/dont-defund-the-police.html":["politics"],"blog\/flash-fiction-charlatans.html":["writing"],"blog\/gustatorial-adumbration-and-the-sheep-of-the-universe.html":["personal","writing"],"blog\/how-i-got-caught-in-high-school.html":["family","writing"],"blog\/how-i-landed-the-worst-best-job.html":["personal"],"blog\/is-spacex-stumbling.html":["space"],"blog\/jeff-bezos-1000-problems.html":["space"],"blog\/life-on-venus.html":["science","space"],"blog\/marc-andreessen-techno-babble.html":["politics"],"blog\/missing-siblings.html":["family"],"blog\/moose-has-a-problem.html":["oop","programming"],"blog\/my-21-weddings.html":["personal"],"blog\/my-ai-life-simulator.html":["writing"],"blog\/my-facebook-experiment.html":["politics"],"blog\/my-father.html":["family","writing"],"blog\/politics-in-programming.html":["corinna"],"blog\/programming-in-1987-versus-today.html":["personal","programming"],"blog\/redefining-life-as-a-continuum.html":["science"],"blog\/resigning-from-the-perl-foundation.html":["personal"],"blog\/rocket-physics-101.html":["science","space"],"blog\/searching-for-alien-life.html":["science","space"],"blog\/searching-for-extraterrestrial-life-in-our-solar-system.html":["science","space"],"blog\/short-story-names.html":["writing"],"blog\/the-documentary-that-took-46-years-to-release.html":["writing"],"blog\/the-easy-solution-to-quadratic-equations.html":["math"],"blog\/the-murder-of-george-floyd-and-the-new-civil-rights-movement.html":["politics"],"blog\/the-reluctant-prince-an-unfinished-novel.html":["family","writing"],"blog\/the-wasp-sanctuary.html":["family","personal"],"blog\/time-to-invest-in-space.html":["space"],"blog\/what-is-socialism.html":["politics"],"blog\/why-black-people-hate-your-dreads.html":["politics"],"blog\/why-i-write.html":["writing"],"blog\/why-is-zero-factorial-equal-to-one.html":["math"],"blog\/why-you-will-say-no-to-living-abroad.html":["expat"],"blog\/will-it-rain-tomorrow.html":["math"],"blog\/young-persons-guide-to-moving-abroad.html":["expat"]},"business":{"count":21,"files":["articles\/a-simple-way-to-fix-legacy-code.html","articles\/all-around-the-world-celebrating-ten-years.html","articles\/building-an-iphone-app-with-chatgpt.html","articles\/dont-start-with-microservices.html","articles\/easy-git-workflow.html","articles\/estimating-development-costs-is-almost-useless.html","articles\/feature-switch-best-practices.html","articles\/gdpr-and-bankruptcy.html","articles\/going-agile-can-hurt-your-company.html","articles\/how-databases-can-hurt-your-startup.html","articles\/how-to-defeat-facebook.html","articles\/managing-a-remote-team.html","articles\/microservices-pros-and-cons.html","articles\/moving-from-oracle-to-postgresql.html","articles\/project-500.html","articles\/project-management-in-three-numbers.html","articles\/the-surprises-of-ab-testing.html","articles\/the-tyranny-of-budgets.html","articles\/the-worst-job-offer.html","articles\/when-to-choose-agile.html","articles\/work-from-home-effectively.html"],"name":"Business","titles":{"articles\/a-simple-way-to-fix-legacy-code.html":"A Simple Way to Fix Legacy Code","articles\/all-around-the-world-celebrating-ten-years.html":"All Around the World: Celebrating Ten Years","articles\/building-an-iphone-app-with-chatgpt.html":"Building an iPhone App with ChatGPT","articles\/dont-start-with-microservices.html":"Don't Start with Microservices","articles\/easy-git-workflow.html":"Easy Git Workflow","articles\/estimating-development-costs-is-almost-useless.html":"Estimating Development Costs is Almost Useless","articles\/feature-switch-best-practices.html":"Feature Switch Best Practices","articles\/gdpr-and-bankruptcy.html":"GDPR and Bankruptcy","articles\/going-agile-can-hurt-your-company.html":"When Going Agile Can Hurt Your Company","articles\/how-databases-can-hurt-your-startup.html":"How the Database Can Hurt Your Startup","articles\/how-to-defeat-facebook.html":"How to Defeat Facebook","articles\/managing-a-remote-team.html":"Building Remote Teams","articles\/microservices-pros-and-cons.html":"Microservices Pros and Cons","articles\/moving-from-oracle-to-postgresql.html":"Migrating from Oracle to PostgreSQL","articles\/project-500.html":"Case study: 500 TPS","articles\/project-management-in-three-numbers.html":"Project Management in Three Numbers","articles\/the-surprises-of-ab-testing.html":"The Surprises of A\/B Testing","articles\/the-tyranny-of-budgets.html":"The Tyranny of Budgets","articles\/the-worst-job-offer.html":"The Worst Job Offer","articles\/when-to-choose-agile.html":"When to Choose Agile","articles\/work-from-home-effectively.html":"Work From Home Effectively"}},"corinna":{"count":12,"files":["articles\/common-problems-in-object-oriented-code.html","articles\/converting-object-oriented-code-to-corinna.html","articles\/corinna-in-the-perl-core.html","articles\/current-corinna-status.html","articles\/introducing-moosexextended-for-perl.html","articles\/language-design-consistency.html","articles\/the-future-of-perl.html","articles\/the-problem-with-builder.html","articles\/understanding-class-inheritance.html","articles\/using-immutable-datetime-objects-with-dbixclass.html","articles\/why-is-perl-not-putting-moose-in-the-core.html","blog\/politics-in-programming.html"],"name":"Corinna","titles":{"articles\/common-problems-in-object-oriented-code.html":"Common Problems in Object-Oriented Code","articles\/converting-object-oriented-code-to-corinna.html":"Converting Object-Oriented Code to Corinna","articles\/corinna-in-the-perl-core.html":"Corinna in the Perl Core","articles\/current-corinna-status.html":"Current Corinna Status","articles\/introducing-moosexextended-for-perl.html":"Introducing MooseX::Extended for Perl","articles\/language-design-consistency.html":"Language Design Consistency","articles\/the-future-of-perl.html":"The Future of Perl","articles\/the-problem-with-builder.html":"Classes Should Not Override Parent Attributes","articles\/understanding-class-inheritance.html":"Understanding Class Inheritance","articles\/using-immutable-datetime-objects-with-dbixclass.html":"Why Do We Want Immutable Objects?","articles\/why-is-perl-not-putting-moose-in-the-core.html":"Why is Perl not putting Moose in the core?","blog\/politics-in-programming.html":"Politics in Programming"}},"databases":{"count":8,"files":["articles\/avoid-common-software-project-mistakes.html","articles\/database-design-standards.html","articles\/death-by-database.html","articles\/how-databases-can-hurt-your-startup.html","articles\/managing-a-test-database.html","articles\/moving-from-oracle-to-postgresql.html","articles\/project-500.html","articles\/using-immutable-datetime-objects-with-dbixclass.html"],"name":"Databases","titles":{"articles\/avoid-common-software-project-mistakes.html":"Avoid Common Software Project Mistakes","articles\/database-design-standards.html":"Database Design Standards","articles\/death-by-database.html":"Death By Database","articles\/how-databases-can-hurt-your-startup.html":"How the Database Can Hurt Your Startup","articles\/managing-a-test-database.html":"Managing a Test Database","articles\/moving-from-oracle-to-postgresql.html":"Migrating from Oracle to PostgreSQL","articles\/project-500.html":"Case study: 500 TPS","articles\/using-immutable-datetime-objects-with-dbixclass.html":"Why Do We Want Immutable Objects?"}},"expat":{"count":2,"files":["blog\/why-you-will-say-no-to-living-abroad.html","blog\/young-persons-guide-to-moving-abroad.html"],"name":"Moving Abroad","titles":{"blog\/why-you-will-say-no-to-living-abroad.html":"Why You Will Say \"No\" to Living Abroad","blog\/young-persons-guide-to-moving-abroad.html":"Young Person's Guide to Moving Abroad"}},"family":{"count":5,"files":["blog\/how-i-got-caught-in-high-school.html","blog\/missing-siblings.html","blog\/my-father.html","blog\/the-reluctant-prince-an-unfinished-novel.html","blog\/the-wasp-sanctuary.html"],"name":"Family","titles":{"blog\/how-i-got-caught-in-high-school.html":"How I Got Caught in High School","blog\/missing-siblings.html":"Missing Siblings?","blog\/my-father.html":"A Eulogy for My Father","blog\/the-reluctant-prince-an-unfinished-novel.html":"The Reluctant Prince: An Unfinished Novel","blog\/the-wasp-sanctuary.html":"The Wasp Sanctuary"}},"math":{"count":4,"files":["blog\/babylonian-numbers-for-8-year-olds.html","blog\/the-easy-solution-to-quadratic-equations.html","blog\/why-is-zero-factorial-equal-to-one.html","blog\/will-it-rain-tomorrow.html"],"name":"Math","titles":{"blog\/babylonian-numbers-for-8-year-olds.html":"Babylonian Numbers for 8-Year Olds","blog\/the-easy-solution-to-quadratic-equations.html":"The Easy Solution to Quadratic Equations","blog\/why-is-zero-factorial-equal-to-one.html":"Why is zero factorial equal to one?","blog\/will-it-rain-tomorrow.html":"Will It Rain Tomorrow?"}},"oop":{"count":15,"files":["articles\/alan-kay-and-missing-messages-a-follow-up.html","articles\/alan-kay-and-oo-programming.html","articles\/are-microservices-the-next-phase-of-object-oriented-programming.html","articles\/common-problems-in-object-oriented-code.html","articles\/corinna-in-the-perl-core.html","articles\/current-corinna-status.html","articles\/introducing-moosexextended-for-perl.html","articles\/language-design-consistency.html","articles\/naming-and-object-oriented-code.html","articles\/the-problem-with-builder.html","articles\/understanding-class-inheritance.html","articles\/using-immutable-datetime-objects-with-dbixclass.html","articles\/why-is-object-oriented-programming-bad.html","articles\/why-is-perl-not-putting-moose-in-the-core.html","blog\/moose-has-a-problem.html"],"name":"OOP","titles":{"articles\/alan-kay-and-missing-messages-a-follow-up.html":"Alan Kay and Missing Messages","articles\/alan-kay-and-oo-programming.html":"Alan Kay and OO Programming","articles\/are-microservices-the-next-phase-of-object-oriented-programming.html":"Are Microservices the Next Phase of Object-Oriented Programming?","articles\/common-problems-in-object-oriented-code.html":"Common Problems in Object-Oriented Code","articles\/corinna-in-the-perl-core.html":"Corinna in the Perl Core","articles\/current-corinna-status.html":"Current Corinna Status","articles\/introducing-moosexextended-for-perl.html":"Introducing MooseX::Extended for Perl","articles\/language-design-consistency.html":"Language Design Consistency","articles\/naming-and-object-oriented-code.html":"Naming and Object-Oriented Code","articles\/the-problem-with-builder.html":"Classes Should Not Override Parent Attributes","articles\/understanding-class-inheritance.html":"Understanding Class Inheritance","articles\/using-immutable-datetime-objects-with-dbixclass.html":"Why Do We Want Immutable Objects?","articles\/why-is-object-oriented-programming-bad.html":"Why is Object-Oriented Programming Bad?","articles\/why-is-perl-not-putting-moose-in-the-core.html":"Why is Perl not putting Moose in the core?","blog\/moose-has-a-problem.html":"Moose \"has\" a Problem"}},"perl":{"count":13,"files":["articles\/all-around-the-world-celebrating-ten-years.html","articles\/common-problems-in-object-oriented-code.html","articles\/constructive-versus-classical-logic-in-perl.html","articles\/corinna-in-the-perl-core.html","articles\/current-corinna-status.html","articles\/introducing-moosexextended-for-perl.html","articles\/making-complex-software-simple.html","articles\/managing-a-test-database.html","articles\/the-future-of-perl.html","articles\/the-problem-with-builder.html","articles\/tracking-elon-musks-plane-with-perl.html","articles\/using-immutable-datetime-objects-with-dbixclass.html","articles\/why-is-perl-not-putting-moose-in-the-core.html"],"name":"Perl","titles":{"articles\/all-around-the-world-celebrating-ten-years.html":"All Around the World: Celebrating Ten Years","articles\/common-problems-in-object-oriented-code.html":"Common Problems in Object-Oriented Code","articles\/constructive-versus-classical-logic-in-perl.html":"Constructive Versus Classical Logic in Perl","articles\/corinna-in-the-perl-core.html":"Corinna in the Perl Core","articles\/current-corinna-status.html":"Current Corinna Status","articles\/introducing-moosexextended-for-perl.html":"Introducing MooseX::Extended for Perl","articles\/making-complex-software-simple.html":"Making Complex Software Simple","articles\/managing-a-test-database.html":"Managing a Test Database","articles\/the-future-of-perl.html":"The Future of Perl","articles\/the-problem-with-builder.html":"Classes Should Not Override Parent Attributes","articles\/tracking-elon-musks-plane-with-perl.html":"Tracking Elon Musk's Plane with Perl","articles\/using-immutable-datetime-objects-with-dbixclass.html":"Why Do We Want Immutable Objects?","articles\/why-is-perl-not-putting-moose-in-the-core.html":"Why is Perl not putting Moose in the core?"}},"personal":{"count":7,"files":["blog\/adventures-in-traveling.html","blog\/gustatorial-adumbration-and-the-sheep-of-the-universe.html","blog\/how-i-landed-the-worst-best-job.html","blog\/my-21-weddings.html","blog\/programming-in-1987-versus-today.html","blog\/resigning-from-the-perl-foundation.html","blog\/the-wasp-sanctuary.html"],"name":"Personal","titles":{"blog\/adventures-in-traveling.html":"Adventures in Traveling","blog\/gustatorial-adumbration-and-the-sheep-of-the-universe.html":"Gustatorial Adumbration and the Sheep of the Universe","blog\/how-i-landed-the-worst-best-job.html":"How I Landed the Worst Best Job","blog\/my-21-weddings.html":"My 21 Weddings","blog\/programming-in-1987-versus-today.html":"Programming in 1987 Versus Today","blog\/resigning-from-the-perl-foundation.html":"Resigning From The Perl Foundation","blog\/the-wasp-sanctuary.html":"The Wasp Sanctuary"}},"politics":{"count":7,"files":["blog\/coronavirus-fake-news.html","blog\/dont-defund-the-police.html","blog\/marc-andreessen-techno-babble.html","blog\/my-facebook-experiment.html","blog\/the-murder-of-george-floyd-and-the-new-civil-rights-movement.html","blog\/what-is-socialism.html","blog\/why-black-people-hate-your-dreads.html"],"name":"Politics","titles":{"blog\/coronavirus-fake-news.html":"Coronavirus Fake News","blog\/dont-defund-the-police.html":"Donât Defund The Police","blog\/marc-andreessen-techno-babble.html":"Marc Andreessen: Techno Babble","blog\/my-facebook-experiment.html":"My Facebook Experiment","blog\/the-murder-of-george-floyd-and-the-new-civil-rights-movement.html":"The Murder of George Floyd and The New Civil Rights Movement","blog\/what-is-socialism.html":"What Is Socialism?","blog\/why-black-people-hate-your-dreads.html":"Why Black People Hate Your Dreads"}},"programming":{"count":27,"files":["articles\/a-simple-way-to-fix-legacy-code.html","articles\/automated-software-standards.html","articles\/avoid-common-software-project-mistakes.html","articles\/building-an-iphone-app-with-chatgpt.html","articles\/common-problems-in-object-oriented-code.html","articles\/constructive-versus-classical-logic-in-perl.html","articles\/converting-object-oriented-code-to-corinna.html","articles\/dont-start-with-microservices.html","articles\/easy-git-workflow.html","articles\/feature-switch-best-practices.html","articles\/fixing-mvc-in-web-applications.html","articles\/introducing-moosexextended-for-perl.html","articles\/language-design-consistency.html","articles\/making-complex-software-simple.html","articles\/managing-a-test-database.html","articles\/microservices-pros-and-cons.html","articles\/naming-and-object-oriented-code.html","articles\/project-500.html","articles\/the-future-of-perl.html","articles\/tracking-elon-musks-plane-with-perl.html","articles\/understanding-class-inheritance.html","articles\/using-github-copilot-with-vim.html","articles\/what-to-know-before-debating-type-systems.html","articles\/why-is-object-oriented-programming-bad.html","articles\/zen-of-test-suites.html","blog\/moose-has-a-problem.html","blog\/programming-in-1987-versus-today.html"],"name":"Programming","titles":{"articles\/a-simple-way-to-fix-legacy-code.html":"A Simple Way to Fix Legacy Code","articles\/automated-software-standards.html":"Automate Your Software Standards","articles\/avoid-common-software-project-mistakes.html":"Avoid Common Software Project Mistakes","articles\/building-an-iphone-app-with-chatgpt.html":"Building an iPhone App with ChatGPT","articles\/common-problems-in-object-oriented-code.html":"Common Problems in Object-Oriented Code","articles\/constructive-versus-classical-logic-in-perl.html":"Constructive Versus Classical Logic in Perl","articles\/converting-object-oriented-code-to-corinna.html":"Converting Object-Oriented Code to Corinna","articles\/dont-start-with-microservices.html":"Don't Start with Microservices","articles\/easy-git-workflow.html":"Easy Git Workflow","articles\/feature-switch-best-practices.html":"Feature Switch Best Practices","articles\/fixing-mvc-in-web-applications.html":"Fixing MVC in Web Applications","articles\/introducing-moosexextended-for-perl.html":"Introducing MooseX::Extended for Perl","articles\/language-design-consistency.html":"Language Design Consistency","articles\/making-complex-software-simple.html":"Making Complex Software Simple","articles\/managing-a-test-database.html":"Managing a Test Database","articles\/microservices-pros-and-cons.html":"Microservices Pros and Cons","articles\/naming-and-object-oriented-code.html":"Naming and Object-Oriented Code","articles\/project-500.html":"Case study: 500 TPS","articles\/the-future-of-perl.html":"The Future of Perl","articles\/tracking-elon-musks-plane-with-perl.html":"Tracking Elon Musk's Plane with Perl","articles\/understanding-class-inheritance.html":"Understanding Class Inheritance","articles\/using-github-copilot-with-vim.html":"Using Github Copilot with Vim","articles\/what-to-know-before-debating-type-systems.html":"What to Know Before Debating Type Systems ","articles\/why-is-object-oriented-programming-bad.html":"Why is Object-Oriented Programming Bad?","articles\/zen-of-test-suites.html":"The Zen of Test Suites","blog\/moose-has-a-problem.html":"Moose \"has\" a Problem","blog\/programming-in-1987-versus-today.html":"Programming in 1987 Versus Today"}},"science":{"count":5,"files":["blog\/life-on-venus.html","blog\/redefining-life-as-a-continuum.html","blog\/rocket-physics-101.html","blog\/searching-for-alien-life.html","blog\/searching-for-extraterrestrial-life-in-our-solar-system.html"],"name":"Science","titles":{"blog\/life-on-venus.html":"Life on Venus?","blog\/redefining-life-as-a-continuum.html":"Redefining Life as a Continuum","blog\/rocket-physics-101.html":"Rocket Physics 101","blog\/searching-for-alien-life.html":"Searching for Alien Life","blog\/searching-for-extraterrestrial-life-in-our-solar-system.html":"Searching for Extraterrestrial Life in Our Solar System"}},"space":{"count":7,"files":["blog\/is-spacex-stumbling.html","blog\/jeff-bezos-1000-problems.html","blog\/life-on-venus.html","blog\/rocket-physics-101.html","blog\/searching-for-alien-life.html","blog\/searching-for-extraterrestrial-life-in-our-solar-system.html","blog\/time-to-invest-in-space.html"],"name":"Space","titles":{"blog\/is-spacex-stumbling.html":"Is SpaceX Stumbling?","blog\/jeff-bezos-1000-problems.html":"Whatâs Wrong with Blue Origin?","blog\/life-on-venus.html":"Life on Venus?","blog\/rocket-physics-101.html":"Rocket Physics 101","blog\/searching-for-alien-life.html":"Searching for Alien Life","blog\/searching-for-extraterrestrial-life-in-our-solar-system.html":"Searching for Extraterrestrial Life in Our Solar System","blog\/time-to-invest-in-space.html":"Time to Invest in Space?"}},"writing":{"count":10,"files":["blog\/adventures-in-traveling.html","blog\/flash-fiction-charlatans.html","blog\/gustatorial-adumbration-and-the-sheep-of-the-universe.html","blog\/how-i-got-caught-in-high-school.html","blog\/my-ai-life-simulator.html","blog\/my-father.html","blog\/short-story-names.html","blog\/the-documentary-that-took-46-years-to-release.html","blog\/the-reluctant-prince-an-unfinished-novel.html","blog\/why-i-write.html"],"name":"Writing","titles":{"blog\/adventures-in-traveling.html":"Adventures in Traveling","blog\/flash-fiction-charlatans.html":"Flash Fiction: Charlatans","blog\/gustatorial-adumbration-and-the-sheep-of-the-universe.html":"Gustatorial Adumbration and the Sheep of the Universe","blog\/how-i-got-caught-in-high-school.html":"How I Got Caught in High School","blog\/my-ai-life-simulator.html":"My AI Life Simulator","blog\/my-father.html":"A Eulogy for My Father","blog\/short-story-names.html":"Short Story: The Names We Never Say","blog\/the-documentary-that-took-46-years-to-release.html":"The Documentary That Took 46 Years to Release","blog\/the-reluctant-prince-an-unfinished-novel.html":"The Reluctant Prince: An Unfinished Novel","blog\/why-i-write.html":"Why I Write"}}}
\ No newline at end of file
+{"__ALL__":{"articles\/a-simple-way-to-fix-legacy-code.html":["business","programming"],"articles\/alan-kay-and-missing-messages-a-follow-up.html":["oop"],"articles\/alan-kay-and-oo-programming.html":["oop"],"articles\/all-around-the-world-celebrating-ten-years.html":["business","perl"],"articles\/are-microservices-the-next-phase-of-object-oriented-programming.html":["oop"],"articles\/automated-software-standards.html":["programming"],"articles\/avoid-common-software-project-mistakes.html":["databases","programming"],"articles\/building-an-iphone-app-with-chatgpt.html":["ai","business","programming"],"articles\/common-problems-in-object-oriented-code.html":["corinna","oop","perl","programming"],"articles\/constructive-versus-classical-logic-in-perl.html":["perl","programming"],"articles\/converting-object-oriented-code-to-corinna.html":["corinna","programming"],"articles\/corinna-in-the-perl-core.html":["corinna","oop","perl"],"articles\/current-corinna-status.html":["corinna","oop","perl"],"articles\/database-design-standards.html":["databases"],"articles\/death-by-database.html":["databases"],"articles\/dont-start-with-microservices.html":["business","programming"],"articles\/easy-git-workflow.html":["business","programming"],"articles\/estimating-development-costs-is-almost-useless.html":["business"],"articles\/feature-switch-best-practices.html":["business","programming"],"articles\/fixing-mvc-in-web-applications.html":["programming"],"articles\/gdpr-and-bankruptcy.html":["business"],"articles\/going-agile-can-hurt-your-company.html":["business"],"articles\/how-databases-can-hurt-your-startup.html":["business","databases"],"articles\/how-to-defeat-facebook.html":["business"],"articles\/introducing-moosexextended-for-perl.html":["corinna","oop","perl","programming"],"articles\/language-design-consistency.html":["corinna","oop","programming"],"articles\/making-complex-software-simple.html":["perl","programming"],"articles\/managing-a-remote-team.html":["business"],"articles\/managing-a-test-database.html":["databases","perl","programming"],"articles\/microservices-pros-and-cons.html":["business","programming"],"articles\/moving-from-oracle-to-postgresql.html":["business","databases"],"articles\/naming-and-object-oriented-code.html":["oop","programming"],"articles\/project-500.html":["business","databases","programming"],"articles\/project-management-in-three-numbers.html":["business"],"articles\/the-future-of-perl.html":["corinna","perl","programming"],"articles\/the-problem-with-builder.html":["corinna","oop","perl"],"articles\/the-surprises-of-ab-testing.html":["business"],"articles\/the-tyranny-of-budgets.html":["business"],"articles\/the-worst-job-offer.html":["business"],"articles\/tracking-elon-musks-plane-with-perl.html":["perl","programming"],"articles\/understanding-class-inheritance.html":["corinna","oop","programming"],"articles\/using-github-copilot-with-vim.html":["ai","programming"],"articles\/using-immutable-datetime-objects-with-dbixclass.html":["corinna","databases","oop","perl"],"articles\/what-to-know-before-debating-type-systems.html":["programming"],"articles\/when-to-choose-agile.html":["business"],"articles\/why-is-object-oriented-programming-bad.html":["oop","programming"],"articles\/why-is-perl-not-putting-moose-in-the-core.html":["corinna","oop","perl"],"articles\/work-from-home-effectively.html":["business"],"articles\/zen-of-test-suites.html":["programming"],"blog\/adventures-in-traveling.html":["personal","writing"],"blog\/babylonian-numbers-for-8-year-olds.html":["math"],"blog\/coronavirus-fake-news.html":["politics"],"blog\/dont-defund-the-police.html":["politics"],"blog\/flash-fiction-charlatans.html":["writing"],"blog\/gustatorial-adumbration-and-the-sheep-of-the-universe.html":["personal","writing"],"blog\/how-i-got-caught-in-high-school.html":["family","writing"],"blog\/how-i-landed-the-worst-best-job.html":["personal"],"blog\/is-spacex-stumbling.html":["space"],"blog\/jeff-bezos-1000-problems.html":["space"],"blog\/life-on-venus.html":["science","space"],"blog\/marc-andreessen-techno-babble.html":["ai","politics"],"blog\/missing-siblings.html":["family"],"blog\/moose-has-a-problem.html":["oop","programming"],"blog\/my-21-weddings.html":["personal"],"blog\/my-ai-life-simulator.html":["writing"],"blog\/my-facebook-experiment.html":["politics"],"blog\/my-father.html":["family","writing"],"blog\/politics-in-programming.html":["corinna"],"blog\/programming-in-1987-versus-today.html":["personal","programming"],"blog\/redefining-life-as-a-continuum.html":["science"],"blog\/resigning-from-the-perl-foundation.html":["personal"],"blog\/rocket-physics-101.html":["science","space"],"blog\/searching-for-alien-life.html":["science","space"],"blog\/searching-for-extraterrestrial-life-in-our-solar-system.html":["science","space"],"blog\/short-story-names.html":["writing"],"blog\/the-documentary-that-took-46-years-to-release.html":["writing"],"blog\/the-easy-solution-to-quadratic-equations.html":["math"],"blog\/the-murder-of-george-floyd-and-the-new-civil-rights-movement.html":["politics"],"blog\/the-reluctant-prince-an-unfinished-novel.html":["family","writing"],"blog\/the-wasp-sanctuary.html":["family","personal"],"blog\/time-to-invest-in-space.html":["space"],"blog\/what-is-socialism.html":["politics"],"blog\/why-black-people-hate-your-dreads.html":["politics"],"blog\/why-i-write.html":["writing"],"blog\/why-is-zero-factorial-equal-to-one.html":["math"],"blog\/why-you-will-say-no-to-living-abroad.html":["expat"],"blog\/will-it-rain-tomorrow.html":["math"],"blog\/young-persons-guide-to-moving-abroad.html":["expat"]},"ai":{"count":3,"files":["articles\/building-an-iphone-app-with-chatgpt.html","articles\/using-github-copilot-with-vim.html","blog\/marc-andreessen-techno-babble.html"],"name":"Artificial Intelligence","titles":{"articles\/building-an-iphone-app-with-chatgpt.html":"Building an iPhone App with ChatGPT","articles\/using-github-copilot-with-vim.html":"Using Github Copilot with Vim","blog\/marc-andreessen-techno-babble.html":"Marc Andreessen: Techno Babble"}},"business":{"count":21,"files":["articles\/a-simple-way-to-fix-legacy-code.html","articles\/all-around-the-world-celebrating-ten-years.html","articles\/building-an-iphone-app-with-chatgpt.html","articles\/dont-start-with-microservices.html","articles\/easy-git-workflow.html","articles\/estimating-development-costs-is-almost-useless.html","articles\/feature-switch-best-practices.html","articles\/gdpr-and-bankruptcy.html","articles\/going-agile-can-hurt-your-company.html","articles\/how-databases-can-hurt-your-startup.html","articles\/how-to-defeat-facebook.html","articles\/managing-a-remote-team.html","articles\/microservices-pros-and-cons.html","articles\/moving-from-oracle-to-postgresql.html","articles\/project-500.html","articles\/project-management-in-three-numbers.html","articles\/the-surprises-of-ab-testing.html","articles\/the-tyranny-of-budgets.html","articles\/the-worst-job-offer.html","articles\/when-to-choose-agile.html","articles\/work-from-home-effectively.html"],"name":"Business","titles":{"articles\/a-simple-way-to-fix-legacy-code.html":"A Simple Way to Fix Legacy Code","articles\/all-around-the-world-celebrating-ten-years.html":"All Around the World: Celebrating Ten Years","articles\/building-an-iphone-app-with-chatgpt.html":"Building an iPhone App with ChatGPT","articles\/dont-start-with-microservices.html":"Don't Start with Microservices","articles\/easy-git-workflow.html":"Easy Git Workflow","articles\/estimating-development-costs-is-almost-useless.html":"Estimating Development Costs is Almost Useless","articles\/feature-switch-best-practices.html":"Feature Switch Best Practices","articles\/gdpr-and-bankruptcy.html":"GDPR and Bankruptcy","articles\/going-agile-can-hurt-your-company.html":"When Going Agile Can Hurt Your Company","articles\/how-databases-can-hurt-your-startup.html":"How the Database Can Hurt Your Startup","articles\/how-to-defeat-facebook.html":"How to Defeat Facebook","articles\/managing-a-remote-team.html":"Building Remote Teams","articles\/microservices-pros-and-cons.html":"Microservices Pros and Cons","articles\/moving-from-oracle-to-postgresql.html":"Migrating from Oracle to PostgreSQL","articles\/project-500.html":"Case study: 500 TPS","articles\/project-management-in-three-numbers.html":"Project Management in Three Numbers","articles\/the-surprises-of-ab-testing.html":"The Surprises of A\/B Testing","articles\/the-tyranny-of-budgets.html":"The Tyranny of Budgets","articles\/the-worst-job-offer.html":"The Worst Job Offer","articles\/when-to-choose-agile.html":"When to Choose Agile","articles\/work-from-home-effectively.html":"Work From Home Effectively"}},"corinna":{"count":12,"files":["articles\/common-problems-in-object-oriented-code.html","articles\/converting-object-oriented-code-to-corinna.html","articles\/corinna-in-the-perl-core.html","articles\/current-corinna-status.html","articles\/introducing-moosexextended-for-perl.html","articles\/language-design-consistency.html","articles\/the-future-of-perl.html","articles\/the-problem-with-builder.html","articles\/understanding-class-inheritance.html","articles\/using-immutable-datetime-objects-with-dbixclass.html","articles\/why-is-perl-not-putting-moose-in-the-core.html","blog\/politics-in-programming.html"],"name":"Corinna","titles":{"articles\/common-problems-in-object-oriented-code.html":"Common Problems in Object-Oriented Code","articles\/converting-object-oriented-code-to-corinna.html":"Converting Object-Oriented Code to Corinna","articles\/corinna-in-the-perl-core.html":"Corinna in the Perl Core","articles\/current-corinna-status.html":"Current Corinna Status","articles\/introducing-moosexextended-for-perl.html":"Introducing MooseX::Extended for Perl","articles\/language-design-consistency.html":"Language Design Consistency","articles\/the-future-of-perl.html":"The Future of Perl","articles\/the-problem-with-builder.html":"Classes Should Not Override Parent Attributes","articles\/understanding-class-inheritance.html":"Understanding Class Inheritance","articles\/using-immutable-datetime-objects-with-dbixclass.html":"Why Do We Want Immutable Objects?","articles\/why-is-perl-not-putting-moose-in-the-core.html":"Why is Perl not putting Moose in the core?","blog\/politics-in-programming.html":"Politics in Programming"}},"databases":{"count":8,"files":["articles\/avoid-common-software-project-mistakes.html","articles\/database-design-standards.html","articles\/death-by-database.html","articles\/how-databases-can-hurt-your-startup.html","articles\/managing-a-test-database.html","articles\/moving-from-oracle-to-postgresql.html","articles\/project-500.html","articles\/using-immutable-datetime-objects-with-dbixclass.html"],"name":"Databases","titles":{"articles\/avoid-common-software-project-mistakes.html":"Avoid Common Software Project Mistakes","articles\/database-design-standards.html":"Database Design Standards","articles\/death-by-database.html":"Death By Database","articles\/how-databases-can-hurt-your-startup.html":"How the Database Can Hurt Your Startup","articles\/managing-a-test-database.html":"Managing a Test Database","articles\/moving-from-oracle-to-postgresql.html":"Migrating from Oracle to PostgreSQL","articles\/project-500.html":"Case study: 500 TPS","articles\/using-immutable-datetime-objects-with-dbixclass.html":"Why Do We Want Immutable Objects?"}},"expat":{"count":2,"files":["blog\/why-you-will-say-no-to-living-abroad.html","blog\/young-persons-guide-to-moving-abroad.html"],"name":"Moving Abroad","titles":{"blog\/why-you-will-say-no-to-living-abroad.html":"Why You Will Say \"No\" to Living Abroad","blog\/young-persons-guide-to-moving-abroad.html":"Young Person's Guide to Moving Abroad"}},"family":{"count":5,"files":["blog\/how-i-got-caught-in-high-school.html","blog\/missing-siblings.html","blog\/my-father.html","blog\/the-reluctant-prince-an-unfinished-novel.html","blog\/the-wasp-sanctuary.html"],"name":"Family","titles":{"blog\/how-i-got-caught-in-high-school.html":"How I Got Caught in High School","blog\/missing-siblings.html":"Missing Siblings?","blog\/my-father.html":"A Eulogy for My Father","blog\/the-reluctant-prince-an-unfinished-novel.html":"The Reluctant Prince: An Unfinished Novel","blog\/the-wasp-sanctuary.html":"The Wasp Sanctuary"}},"math":{"count":4,"files":["blog\/babylonian-numbers-for-8-year-olds.html","blog\/the-easy-solution-to-quadratic-equations.html","blog\/why-is-zero-factorial-equal-to-one.html","blog\/will-it-rain-tomorrow.html"],"name":"Math","titles":{"blog\/babylonian-numbers-for-8-year-olds.html":"Babylonian Numbers for 8-Year Olds","blog\/the-easy-solution-to-quadratic-equations.html":"The Easy Solution to Quadratic Equations","blog\/why-is-zero-factorial-equal-to-one.html":"Why is zero factorial equal to one?","blog\/will-it-rain-tomorrow.html":"Will It Rain Tomorrow?"}},"oop":{"count":15,"files":["articles\/alan-kay-and-missing-messages-a-follow-up.html","articles\/alan-kay-and-oo-programming.html","articles\/are-microservices-the-next-phase-of-object-oriented-programming.html","articles\/common-problems-in-object-oriented-code.html","articles\/corinna-in-the-perl-core.html","articles\/current-corinna-status.html","articles\/introducing-moosexextended-for-perl.html","articles\/language-design-consistency.html","articles\/naming-and-object-oriented-code.html","articles\/the-problem-with-builder.html","articles\/understanding-class-inheritance.html","articles\/using-immutable-datetime-objects-with-dbixclass.html","articles\/why-is-object-oriented-programming-bad.html","articles\/why-is-perl-not-putting-moose-in-the-core.html","blog\/moose-has-a-problem.html"],"name":"OOP","titles":{"articles\/alan-kay-and-missing-messages-a-follow-up.html":"Alan Kay and Missing Messages","articles\/alan-kay-and-oo-programming.html":"Alan Kay and OO Programming","articles\/are-microservices-the-next-phase-of-object-oriented-programming.html":"Are Microservices the Next Phase of Object-Oriented Programming?","articles\/common-problems-in-object-oriented-code.html":"Common Problems in Object-Oriented Code","articles\/corinna-in-the-perl-core.html":"Corinna in the Perl Core","articles\/current-corinna-status.html":"Current Corinna Status","articles\/introducing-moosexextended-for-perl.html":"Introducing MooseX::Extended for Perl","articles\/language-design-consistency.html":"Language Design Consistency","articles\/naming-and-object-oriented-code.html":"Naming and Object-Oriented Code","articles\/the-problem-with-builder.html":"Classes Should Not Override Parent Attributes","articles\/understanding-class-inheritance.html":"Understanding Class Inheritance","articles\/using-immutable-datetime-objects-with-dbixclass.html":"Why Do We Want Immutable Objects?","articles\/why-is-object-oriented-programming-bad.html":"Why is Object-Oriented Programming Bad?","articles\/why-is-perl-not-putting-moose-in-the-core.html":"Why is Perl not putting Moose in the core?","blog\/moose-has-a-problem.html":"Moose \"has\" a Problem"}},"perl":{"count":13,"files":["articles\/all-around-the-world-celebrating-ten-years.html","articles\/common-problems-in-object-oriented-code.html","articles\/constructive-versus-classical-logic-in-perl.html","articles\/corinna-in-the-perl-core.html","articles\/current-corinna-status.html","articles\/introducing-moosexextended-for-perl.html","articles\/making-complex-software-simple.html","articles\/managing-a-test-database.html","articles\/the-future-of-perl.html","articles\/the-problem-with-builder.html","articles\/tracking-elon-musks-plane-with-perl.html","articles\/using-immutable-datetime-objects-with-dbixclass.html","articles\/why-is-perl-not-putting-moose-in-the-core.html"],"name":"Perl","titles":{"articles\/all-around-the-world-celebrating-ten-years.html":"All Around the World: Celebrating Ten Years","articles\/common-problems-in-object-oriented-code.html":"Common Problems in Object-Oriented Code","articles\/constructive-versus-classical-logic-in-perl.html":"Constructive Versus Classical Logic in Perl","articles\/corinna-in-the-perl-core.html":"Corinna in the Perl Core","articles\/current-corinna-status.html":"Current Corinna Status","articles\/introducing-moosexextended-for-perl.html":"Introducing MooseX::Extended for Perl","articles\/making-complex-software-simple.html":"Making Complex Software Simple","articles\/managing-a-test-database.html":"Managing a Test Database","articles\/the-future-of-perl.html":"The Future of Perl","articles\/the-problem-with-builder.html":"Classes Should Not Override Parent Attributes","articles\/tracking-elon-musks-plane-with-perl.html":"Tracking Elon Musk's Plane with Perl","articles\/using-immutable-datetime-objects-with-dbixclass.html":"Why Do We Want Immutable Objects?","articles\/why-is-perl-not-putting-moose-in-the-core.html":"Why is Perl not putting Moose in the core?"}},"personal":{"count":7,"files":["blog\/adventures-in-traveling.html","blog\/gustatorial-adumbration-and-the-sheep-of-the-universe.html","blog\/how-i-landed-the-worst-best-job.html","blog\/my-21-weddings.html","blog\/programming-in-1987-versus-today.html","blog\/resigning-from-the-perl-foundation.html","blog\/the-wasp-sanctuary.html"],"name":"Personal","titles":{"blog\/adventures-in-traveling.html":"Adventures in Traveling","blog\/gustatorial-adumbration-and-the-sheep-of-the-universe.html":"Gustatorial Adumbration and the Sheep of the Universe","blog\/how-i-landed-the-worst-best-job.html":"How I Landed the Worst Best Job","blog\/my-21-weddings.html":"My 21 Weddings","blog\/programming-in-1987-versus-today.html":"Programming in 1987 Versus Today","blog\/resigning-from-the-perl-foundation.html":"Resigning From The Perl Foundation","blog\/the-wasp-sanctuary.html":"The Wasp Sanctuary"}},"politics":{"count":7,"files":["blog\/coronavirus-fake-news.html","blog\/dont-defund-the-police.html","blog\/marc-andreessen-techno-babble.html","blog\/my-facebook-experiment.html","blog\/the-murder-of-george-floyd-and-the-new-civil-rights-movement.html","blog\/what-is-socialism.html","blog\/why-black-people-hate-your-dreads.html"],"name":"Politics","titles":{"blog\/coronavirus-fake-news.html":"Coronavirus Fake News","blog\/dont-defund-the-police.html":"Donât Defund The Police","blog\/marc-andreessen-techno-babble.html":"Marc Andreessen: Techno Babble","blog\/my-facebook-experiment.html":"My Facebook Experiment","blog\/the-murder-of-george-floyd-and-the-new-civil-rights-movement.html":"The Murder of George Floyd and The New Civil Rights Movement","blog\/what-is-socialism.html":"What Is Socialism?","blog\/why-black-people-hate-your-dreads.html":"Why Black People Hate Your Dreads"}},"programming":{"count":27,"files":["articles\/a-simple-way-to-fix-legacy-code.html","articles\/automated-software-standards.html","articles\/avoid-common-software-project-mistakes.html","articles\/building-an-iphone-app-with-chatgpt.html","articles\/common-problems-in-object-oriented-code.html","articles\/constructive-versus-classical-logic-in-perl.html","articles\/converting-object-oriented-code-to-corinna.html","articles\/dont-start-with-microservices.html","articles\/easy-git-workflow.html","articles\/feature-switch-best-practices.html","articles\/fixing-mvc-in-web-applications.html","articles\/introducing-moosexextended-for-perl.html","articles\/language-design-consistency.html","articles\/making-complex-software-simple.html","articles\/managing-a-test-database.html","articles\/microservices-pros-and-cons.html","articles\/naming-and-object-oriented-code.html","articles\/project-500.html","articles\/the-future-of-perl.html","articles\/tracking-elon-musks-plane-with-perl.html","articles\/understanding-class-inheritance.html","articles\/using-github-copilot-with-vim.html","articles\/what-to-know-before-debating-type-systems.html","articles\/why-is-object-oriented-programming-bad.html","articles\/zen-of-test-suites.html","blog\/moose-has-a-problem.html","blog\/programming-in-1987-versus-today.html"],"name":"Programming","titles":{"articles\/a-simple-way-to-fix-legacy-code.html":"A Simple Way to Fix Legacy Code","articles\/automated-software-standards.html":"Automate Your Software Standards","articles\/avoid-common-software-project-mistakes.html":"Avoid Common Software Project Mistakes","articles\/building-an-iphone-app-with-chatgpt.html":"Building an iPhone App with ChatGPT","articles\/common-problems-in-object-oriented-code.html":"Common Problems in Object-Oriented Code","articles\/constructive-versus-classical-logic-in-perl.html":"Constructive Versus Classical Logic in Perl","articles\/converting-object-oriented-code-to-corinna.html":"Converting Object-Oriented Code to Corinna","articles\/dont-start-with-microservices.html":"Don't Start with Microservices","articles\/easy-git-workflow.html":"Easy Git Workflow","articles\/feature-switch-best-practices.html":"Feature Switch Best Practices","articles\/fixing-mvc-in-web-applications.html":"Fixing MVC in Web Applications","articles\/introducing-moosexextended-for-perl.html":"Introducing MooseX::Extended for Perl","articles\/language-design-consistency.html":"Language Design Consistency","articles\/making-complex-software-simple.html":"Making Complex Software Simple","articles\/managing-a-test-database.html":"Managing a Test Database","articles\/microservices-pros-and-cons.html":"Microservices Pros and Cons","articles\/naming-and-object-oriented-code.html":"Naming and Object-Oriented Code","articles\/project-500.html":"Case study: 500 TPS","articles\/the-future-of-perl.html":"The Future of Perl","articles\/tracking-elon-musks-plane-with-perl.html":"Tracking Elon Musk's Plane with Perl","articles\/understanding-class-inheritance.html":"Understanding Class Inheritance","articles\/using-github-copilot-with-vim.html":"Using Github Copilot with Vim","articles\/what-to-know-before-debating-type-systems.html":"What to Know Before Debating Type Systems ","articles\/why-is-object-oriented-programming-bad.html":"Why is Object-Oriented Programming Bad?","articles\/zen-of-test-suites.html":"The Zen of Test Suites","blog\/moose-has-a-problem.html":"Moose \"has\" a Problem","blog\/programming-in-1987-versus-today.html":"Programming in 1987 Versus Today"}},"science":{"count":5,"files":["blog\/life-on-venus.html","blog\/redefining-life-as-a-continuum.html","blog\/rocket-physics-101.html","blog\/searching-for-alien-life.html","blog\/searching-for-extraterrestrial-life-in-our-solar-system.html"],"name":"Science","titles":{"blog\/life-on-venus.html":"Life on Venus?","blog\/redefining-life-as-a-continuum.html":"Redefining Life as a Continuum","blog\/rocket-physics-101.html":"Rocket Physics 101","blog\/searching-for-alien-life.html":"Searching for Alien Life","blog\/searching-for-extraterrestrial-life-in-our-solar-system.html":"Searching for Extraterrestrial Life in Our Solar System"}},"space":{"count":7,"files":["blog\/is-spacex-stumbling.html","blog\/jeff-bezos-1000-problems.html","blog\/life-on-venus.html","blog\/rocket-physics-101.html","blog\/searching-for-alien-life.html","blog\/searching-for-extraterrestrial-life-in-our-solar-system.html","blog\/time-to-invest-in-space.html"],"name":"Space","titles":{"blog\/is-spacex-stumbling.html":"Is SpaceX Stumbling?","blog\/jeff-bezos-1000-problems.html":"Whatâs Wrong with Blue Origin?","blog\/life-on-venus.html":"Life on Venus?","blog\/rocket-physics-101.html":"Rocket Physics 101","blog\/searching-for-alien-life.html":"Searching for Alien Life","blog\/searching-for-extraterrestrial-life-in-our-solar-system.html":"Searching for Extraterrestrial Life in Our Solar System","blog\/time-to-invest-in-space.html":"Time to Invest in Space?"}},"writing":{"count":10,"files":["blog\/adventures-in-traveling.html","blog\/flash-fiction-charlatans.html","blog\/gustatorial-adumbration-and-the-sheep-of-the-universe.html","blog\/how-i-got-caught-in-high-school.html","blog\/my-ai-life-simulator.html","blog\/my-father.html","blog\/short-story-names.html","blog\/the-documentary-that-took-46-years-to-release.html","blog\/the-reluctant-prince-an-unfinished-novel.html","blog\/why-i-write.html"],"name":"Writing","titles":{"blog\/adventures-in-traveling.html":"Adventures in Traveling","blog\/flash-fiction-charlatans.html":"Flash Fiction: Charlatans","blog\/gustatorial-adumbration-and-the-sheep-of-the-universe.html":"Gustatorial Adumbration and the Sheep of the Universe","blog\/how-i-got-caught-in-high-school.html":"How I Got Caught in High School","blog\/my-ai-life-simulator.html":"My AI Life Simulator","blog\/my-father.html":"A Eulogy for My Father","blog\/short-story-names.html":"Short Story: The Names We Never Say","blog\/the-documentary-that-took-46-years-to-release.html":"The Documentary That Took 46 Years to Release","blog\/the-reluctant-prince-an-unfinished-novel.html":"The Reluctant Prince: An Unfinished Novel","blog\/why-i-write.html":"Why I Write"}}}
\ No newline at end of file
diff --git a/tags/ai.html b/tags/ai.html
new file mode 100644
index 00000000..7610501d
--- /dev/null
+++ b/tags/ai.html
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tags: Artificial Intelligence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
If you'd like top-notch consulting or training, email me and let's discuss
+ how I can help you. Read my hire me page
+ to learn more about my background.