<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Dave Bernhard</title><description>The personal website and blog for Dave Bernhard, a senior frontend developer based in London.</description><link>https://davebernhard.com/</link><item><title>The creative process as heroin</title><link>https://davebernhard.com/blog/creative-process-heroin/</link><guid isPermaLink="true">https://davebernhard.com/blog/creative-process-heroin/</guid><description>Musings on the appeal of the limerick and on what it is to make things</description><pubDate>Mon, 10 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Notes on Database Normalization</title><link>https://davebernhard.com/blog/database-normalization-notes/</link><guid isPermaLink="true">https://davebernhard.com/blog/database-normalization-notes/</guid><description>Research notes I&apos;m making with a view to understanding the concept of database normalization.</description><pubDate>Thu, 23 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Learning note: DDIA Chapter 1</title><link>https://davebernhard.com/blog/ddia-1/</link><guid isPermaLink="true">https://davebernhard.com/blog/ddia-1/</guid><description>Notes on chapter one of Designing Data-Intensive Applications by Martin Kleppmann</description><pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Avoiding font piracy on a Netlify-deployed static site</title><link>https://davebernhard.com/blog/github-font-piracy/</link><guid isPermaLink="true">https://davebernhard.com/blog/github-font-piracy/</guid><description>How to self-host web fonts without accidentally committing font piracy</description><pubDate>Mon, 27 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Read the docs. Every last word.</title><link>https://davebernhard.com/blog/read-the-docs/</link><guid isPermaLink="true">https://davebernhard.com/blog/read-the-docs/</guid><description>A summary of lessons learned by reading all of the styled-components documentation. Both about the tech itself and about documentation.</description><pubDate>Mon, 28 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Regex to match a string that doesn&apos;t contain a string</title><link>https://davebernhard.com/blog/regex-excluding-strings/</link><guid isPermaLink="true">https://davebernhard.com/blog/regex-excluding-strings/</guid><description>A code snippet for a regex that matches strings that don&apos;t contain certain patterns</description><pubDate>Wed, 13 Jul 2022 00:00:00 GMT</pubDate></item><item><title>Stalin loves a rebase</title><link>https://davebernhard.com/blog/stalin-loves-rebase/</link><guid isPermaLink="true">https://davebernhard.com/blog/stalin-loves-rebase/</guid><description>A workflow to clean up messy commits and keep your git history clean. Use with caution!</description><pubDate>Thu, 08 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Is writing tests hard? Or does your code suck?</title><link>https://davebernhard.com/blog/testing-react-components/</link><guid isPermaLink="true">https://davebernhard.com/blog/testing-react-components/</guid><description>Some pratical tips for writing tests for React components using Mocha, Enzyme and Sinon</description><pubDate>Mon, 24 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Things I care about now that I&apos;m a dad</title><link>https://davebernhard.com/blog/things-i-care-about-now-im-a-dad/</link><guid isPermaLink="true">https://davebernhard.com/blog/things-i-care-about-now-im-a-dad/</guid><description>Things I care about now that I&apos;m a dad</description><pubDate>Mon, 16 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Design exploration: Todoist</title><link>https://davebernhard.com/blog/todoist-design-crit/</link><guid isPermaLink="true">https://davebernhard.com/blog/todoist-design-crit/</guid><description>Learning from good design: an exploration of Todoist</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item></channel></rss>