{"posts":[{"slug":"frivolous-concatenation","title":"Frivolous Concatenation","description":"","date":"2025-10-25","url":"https://haspar.us/frivolous-concatenation","markdownUrl":"https://haspar.us/frivolous-concatenation.md"},{"slug":"shaman-update","title":"Shaman Update","description":"","date":"2025-08-13","url":"https://haspar.us/shaman-update","markdownUrl":"https://haspar.us/shaman-update.md"},{"slug":"dont-leak-export","title":"Don't leak. Export.","description":"","date":"2025-06-18","url":"https://haspar.us/dont-leak-export","markdownUrl":"https://haspar.us/dont-leak-export.md"},{"slug":"lore-dumps","title":"Lore Dumps","description":"","date":"2025-06-18","url":"https://haspar.us/lore-dumps","markdownUrl":"https://haspar.us/lore-dumps.md"},{"slug":"redundant","title":"Redundant","description":"","date":"2025-04-06","url":"https://haspar.us/redundant","markdownUrl":"https://haspar.us/redundant.md"},{"slug":"node-crypto-is-underused","title":"node:crypto is underused","description":"","date":"2023-08-13","url":"https://haspar.us/node-crypto-is-underused","markdownUrl":"https://haspar.us/node-crypto-is-underused.md"},{"slug":"three-types-of-software","title":"Three Types of Software","description":"","date":"2023-08-12","url":"https://haspar.us/three-types-of-software","markdownUrl":"https://haspar.us/three-types-of-software.md"},{"slug":"in-defense-of-exceptions","title":"In Defense of Exceptions","description":"","date":"2023-07-29","url":"https://haspar.us/in-defense-of-exceptions","markdownUrl":"https://haspar.us/in-defense-of-exceptions.md"},{"slug":"its-hard-to-sell-a-mental-model","title":"It's Hard to Sell a Mental Model","description":"","date":"2023-07-17","url":"https://haspar.us/its-hard-to-sell-a-mental-model","markdownUrl":"https://haspar.us/its-hard-to-sell-a-mental-model.md"},{"slug":"i-love-arc-boosts","title":"I Love Arc Boosts","description":"","date":"2023-06-28","url":"https://haspar.us/i-love-arc-boosts","markdownUrl":"https://haspar.us/i-love-arc-boosts.md"},{"slug":"malleable-apps","title":"Malleable Software of Past Decades","description":"","date":"2023-04-05","url":"https://haspar.us/malleable-apps","markdownUrl":"https://haspar.us/malleable-apps.md"},{"slug":"unreliable-llms-vs-the-community","title":"Unreliable LLMs vs the Community","description":"","date":"2023-03-26","url":"https://haspar.us/unreliable-llms-vs-the-community","markdownUrl":"https://haspar.us/unreliable-llms-vs-the-community.md"},{"slug":"2023-homepage-rebuild","title":"2023 Homepage Rebuild","description":"","date":"2023-01-14","url":"https://haspar.us/2023-homepage-rebuild","markdownUrl":"https://haspar.us/2023-homepage-rebuild.md"},{"slug":"2022-and-change","title":"2022 and Change","description":"","date":"2022-10-01","url":"https://haspar.us/2022-and-change","markdownUrl":"https://haspar.us/2022-and-change.md"},{"slug":"writing-rm-because-of-windows","title":"Writing `rm` because of Windows","description":"","date":"2022-05-16","url":"https://haspar.us/writing-rm-because-of-windows","markdownUrl":"https://haspar.us/writing-rm-because-of-windows.md"},{"slug":"tiny-alternative-to-storybook","title":"Tiny Alternative to Storybook","description":"","date":"2021-06-09","url":"https://haspar.us/tiny-alternative-to-storybook","markdownUrl":"https://haspar.us/tiny-alternative-to-storybook.md"},{"slug":"wcag20-1-4","title":"Excerpts from WCAG20 Guideline 1.4 Distinguishable","description":"","date":"2020-10-24","url":"https://haspar.us/wcag20-1-4","markdownUrl":"https://haspar.us/wcag20-1-4.md"},{"slug":"languages-for-engineering","title":"Languages for Engineering, not for Coding","description":"","date":"2020-05-12","url":"https://haspar.us/languages-for-engineering","markdownUrl":"https://haspar.us/languages-for-engineering.md"},{"slug":"why-did-you-render","title":"Why Did You Render?","description":"","date":"2020-04-01","url":"https://haspar.us/why-did-you-render","markdownUrl":"https://haspar.us/why-did-you-render.md"},{"slug":"lines-of-code","title":"Lines of Code","description":"","date":"2020-03-28","url":"https://haspar.us/lines-of-code","markdownUrl":"https://haspar.us/lines-of-code.md"},{"slug":"reasonable-language-choice","title":"Reasonable Language Choice","description":"","date":"2020-03-08","url":"https://haspar.us/reasonable-language-choice","markdownUrl":"https://haspar.us/reasonable-language-choice.md"},{"slug":"theme-ui__components","title":"AAR: Adding Theme UI Components to DefinitelyTyped","description":"","date":"2020-01-19","url":"https://haspar.us/theme-ui__components","markdownUrl":"https://haspar.us/theme-ui__components.md"},{"slug":"deliver","title":"Goal for 2020: Deliver","description":"","date":"2019-12-08","url":"https://haspar.us/deliver","markdownUrl":"https://haspar.us/deliver.md"},{"slug":"you-deserve-more-than-proptypes","title":"You Deserve More than PropTypes","description":"","date":"2019-11-17","url":"https://haspar.us/you-deserve-more-than-proptypes","markdownUrl":"https://haspar.us/you-deserve-more-than-proptypes.md"},{"slug":"refinement-types","title":"Refinement Types","description":"","date":"2019-10-07","url":"https://haspar.us/refinement-types","markdownUrl":"https://haspar.us/refinement-types.md"},{"slug":"matryoshka-code","title":"Matryoshka Code","description":"","date":"2019-05-29","url":"https://haspar.us/matryoshka-code","markdownUrl":"https://haspar.us/matryoshka-code.md"}]}