Managing Javascript Dependencies
2026 April 10
Over the past week I've spent about three days rewriting an old project from scratch. I kept the same requirements but have been rewriting it with ten years more experience. At this point I have a database design that is largely uncharged, an API written in PHP using the Clean Code inspired layer cake structure with a high level of unit test coverage, api tests, and a single page web application that supports login, log out, resuming sessions, and routing to content based on the location. I could perhaps have gotten further if I had used a framework, an ORM, or generative AI. I am not sure I would have the same kind of trust in the code nor would I have accomplished a key goal for me: re-examining the tech stack I've been evolving over the past five years to see if there are places for improvement.
Turns out there are a couple places for improvement that I have been over looking. So today I thought I'd take a break and write about one that is obvious in retrospect but completely missed in every tutorial, guide, or Stack Overflow post I've found.
Read More…
Extending HTML with Web Components
2026 April 01
In the beginning we had semantic markup because the people writing HTML were scientist and like minded nerds just trying to share research. Then the internet took off and everybody had to have a website. Tools were created to build websites and those tools let designers build templates for content owners to use to create pages. Templates broke easily and constantly. Next came content management systems with plugins that filled in templates for you. This was worse because the templates were harder to create and still broke. Along came HTML 5 and things looked better for a brief minute. Then came javascript frameworks and appification. The frameworks changed daily, added security problems, and still the templates still broke. Sure, dedicated folks could craft a website and maintain consistency the hard way by hand but who has time for that?
Sure would be nice if there was a way to return to the early days of semantic markup where you use HTML elements and the browser renders your page consistent with the rest of the content on your site without frameworks, plugins, management systems and expensive tools.
Fortunately modern HTML includes a set of technologies that can be combined to create html elements, Web Components, that work like templates without frameworks, plugins, or expensive tooling.
Read More…