<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Dirk Hoekstra on Medium]]></title>
        <description><![CDATA[Stories by Dirk Hoekstra on Medium]]></description>
        <link>https://medium.com/@dirk_hoekstra?source=rss-c9b10ccedfc9------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/2*eccitutK6ewir4D44skh3g.jpeg</url>
            <title>Stories by Dirk Hoekstra on Medium</title>
            <link>https://medium.com/@dirk_hoekstra?source=rss-c9b10ccedfc9------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 11:11:29 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@dirk_hoekstra/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[What You Need To Know About CORS and Vue.js To Boost Browser Security]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/better-programming/what-you-need-to-know-about-cors-and-vue-to-boost-browser-security-7c216252b20d?source=rss-c9b10ccedfc9------2"><img src="https://cdn-images-1.medium.com/max/2600/0*7hiUxMo2jc-zqUB0" width="5472"></a></p><p class="medium-feed-snippet">Boost your browser-side protection with the CORS framework</p><p class="medium-feed-link"><a href="https://medium.com/better-programming/what-you-need-to-know-about-cors-and-vue-to-boost-browser-security-7c216252b20d?source=rss-c9b10ccedfc9------2">Continue reading on Better Programming »</a></p></div>]]></description>
            <link>https://medium.com/better-programming/what-you-need-to-know-about-cors-and-vue-to-boost-browser-security-7c216252b20d?source=rss-c9b10ccedfc9------2</link>
            <guid isPermaLink="false">https://medium.com/p/7c216252b20d</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[vuejs]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Dirk Hoekstra]]></dc:creator>
            <pubDate>Tue, 16 Mar 2021 15:26:23 GMT</pubDate>
            <atom:updated>2021-03-16T15:35:15.581Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Everything Wrong With Javascript]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://levelup.gitconnected.com/everything-wrong-with-javascript-c91168fcfeb1?source=rss-c9b10ccedfc9------2"><img src="https://cdn-images-1.medium.com/max/2600/1*MPfHkwp_hAjkjIfbsW7LvQ.jpeg" width="5115"></a></p><p class="medium-feed-snippet">Disclaimer: This is my personal opinion, take it with a grain of salt.</p><p class="medium-feed-link"><a href="https://levelup.gitconnected.com/everything-wrong-with-javascript-c91168fcfeb1?source=rss-c9b10ccedfc9------2">Continue reading on Level Up Coding »</a></p></div>]]></description>
            <link>https://levelup.gitconnected.com/everything-wrong-with-javascript-c91168fcfeb1?source=rss-c9b10ccedfc9------2</link>
            <guid isPermaLink="false">https://medium.com/p/c91168fcfeb1</guid>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Dirk Hoekstra]]></dc:creator>
            <pubDate>Thu, 10 Sep 2020 11:06:41 GMT</pubDate>
            <atom:updated>2020-09-10T11:06:41.599Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Deploy a Node API to Cloud Run]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/better-programming/deploy-a-node-api-to-cloud-run-f93fea4ff2e6?source=rss-c9b10ccedfc9------2"><img src="https://cdn-images-1.medium.com/max/2600/1*90L-FJ25fkH3xzidNxbPPg.png" width="4160"></a></p><p class="medium-feed-snippet">Run custom Docker images on Google&#x2019;s Cloud Run infrastructure</p><p class="medium-feed-link"><a href="https://medium.com/better-programming/deploy-a-node-api-to-cloud-run-f93fea4ff2e6?source=rss-c9b10ccedfc9------2">Continue reading on Better Programming »</a></p></div>]]></description>
            <link>https://medium.com/better-programming/deploy-a-node-api-to-cloud-run-f93fea4ff2e6?source=rss-c9b10ccedfc9------2</link>
            <guid isPermaLink="false">https://medium.com/p/f93fea4ff2e6</guid>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[google-cloud-platform]]></category>
            <category><![CDATA[nodejs]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Dirk Hoekstra]]></dc:creator>
            <pubDate>Tue, 11 Aug 2020 14:57:21 GMT</pubDate>
            <atom:updated>2020-08-11T14:57:21.498Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Don’t Use Wait in Your Cypress Tests]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/better-programming/dont-use-wait-in-your-cypress-tests-cbe14746da71?source=rss-c9b10ccedfc9------2"><img src="https://cdn-images-1.medium.com/max/2600/1*diHaTN3fWUZeKXeRycNXSw.jpeg" width="6000"></a></p><p class="medium-feed-snippet">Fixing Cypress flakiness</p><p class="medium-feed-link"><a href="https://medium.com/better-programming/dont-use-wait-in-your-cypress-tests-cbe14746da71?source=rss-c9b10ccedfc9------2">Continue reading on Better Programming »</a></p></div>]]></description>
            <link>https://medium.com/better-programming/dont-use-wait-in-your-cypress-tests-cbe14746da71?source=rss-c9b10ccedfc9------2</link>
            <guid isPermaLink="false">https://medium.com/p/cbe14746da71</guid>
            <category><![CDATA[tdd]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[testing]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Dirk Hoekstra]]></dc:creator>
            <pubDate>Fri, 03 Apr 2020 15:02:17 GMT</pubDate>
            <atom:updated>2020-04-03T15:02:17.047Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Scrape the Web With Puppeteer in Node.js]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/better-programming/scrape-the-web-with-puppeteer-in-node-js-577168831612?source=rss-c9b10ccedfc9------2"><img src="https://cdn-images-1.medium.com/max/1955/1*v4LCcaj55G_xUBL8497I8Q.jpeg" width="1955"></a></p><p class="medium-feed-snippet">Write undetectable web scrapers</p><p class="medium-feed-link"><a href="https://medium.com/better-programming/scrape-the-web-with-puppeteer-in-node-js-577168831612?source=rss-c9b10ccedfc9------2">Continue reading on Better Programming »</a></p></div>]]></description>
            <link>https://medium.com/better-programming/scrape-the-web-with-puppeteer-in-node-js-577168831612?source=rss-c9b10ccedfc9------2</link>
            <guid isPermaLink="false">https://medium.com/p/577168831612</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[nodejs]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Dirk Hoekstra]]></dc:creator>
            <pubDate>Sun, 26 Jan 2020 23:20:31 GMT</pubDate>
            <atom:updated>2020-01-26T23:20:31.545Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[What is the Deal with Javascript Versions?]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://levelup.gitconnected.com/what-is-the-deal-with-javascript-versions-88334491906c?source=rss-c9b10ccedfc9------2"><img src="https://cdn-images-1.medium.com/max/2600/1*daLTTfVkp9YjkTov8R2M-A.jpeg" width="6000"></a></p><p class="medium-feed-snippet">A look at ECMAScript, Javascript interpreters, and transpilers.</p><p class="medium-feed-link"><a href="https://levelup.gitconnected.com/what-is-the-deal-with-javascript-versions-88334491906c?source=rss-c9b10ccedfc9------2">Continue reading on Level Up Coding »</a></p></div>]]></description>
            <link>https://levelup.gitconnected.com/what-is-the-deal-with-javascript-versions-88334491906c?source=rss-c9b10ccedfc9------2</link>
            <guid isPermaLink="false">https://medium.com/p/88334491906c</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[Dirk Hoekstra]]></dc:creator>
            <pubDate>Sun, 05 Jan 2020 23:26:10 GMT</pubDate>
            <atom:updated>2020-01-05T23:26:10.638Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[How I Build Robust, Scalable Go Applications]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/better-programming/how-i-build-robust-scalable-go-applications-192a0df32d1?source=rss-c9b10ccedfc9------2"><img src="https://cdn-images-1.medium.com/max/2600/1*oB5vkmczZrrsqUDIvWni7Q.jpeg" width="5935"></a></p><p class="medium-feed-snippet">How I use interfaces to keep my Go applications modular</p><p class="medium-feed-link"><a href="https://medium.com/better-programming/how-i-build-robust-scalable-go-applications-192a0df32d1?source=rss-c9b10ccedfc9------2">Continue reading on Better Programming »</a></p></div>]]></description>
            <link>https://medium.com/better-programming/how-i-build-robust-scalable-go-applications-192a0df32d1?source=rss-c9b10ccedfc9------2</link>
            <guid isPermaLink="false">https://medium.com/p/192a0df32d1</guid>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[design-patterns]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Dirk Hoekstra]]></dc:creator>
            <pubDate>Thu, 02 Jan 2020 23:38:00 GMT</pubDate>
            <atom:updated>2020-07-17T14:32:11.830Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Why and How To Squash Git Commits]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/better-programming/why-and-how-to-squash-git-commits-b508b3b0dba?source=rss-c9b10ccedfc9------2"><img src="https://cdn-images-1.medium.com/max/2600/1*de1uiBsZ5_pYdZ-srTD47w.jpeg" width="6000"></a></p><p class="medium-feed-snippet">A simple, instructional guide</p><p class="medium-feed-link"><a href="https://medium.com/better-programming/why-and-how-to-squash-git-commits-b508b3b0dba?source=rss-c9b10ccedfc9------2">Continue reading on Better Programming »</a></p></div>]]></description>
            <link>https://medium.com/better-programming/why-and-how-to-squash-git-commits-b508b3b0dba?source=rss-c9b10ccedfc9------2</link>
            <guid isPermaLink="false">https://medium.com/p/b508b3b0dba</guid>
            <category><![CDATA[git]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[github]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[development]]></category>
            <dc:creator><![CDATA[Dirk Hoekstra]]></dc:creator>
            <pubDate>Thu, 02 Jan 2020 22:34:14 GMT</pubDate>
            <atom:updated>2020-01-02T22:34:14.047Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Cloud Run vs App Engine]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/codeduck/cloud-run-vs-app-engine-dc1871abedca?source=rss-c9b10ccedfc9------2"><img src="https://cdn-images-1.medium.com/max/1947/1*JmOLbF0JtZ-BucPeiGonSw.jpeg" width="1947"></a></p><p class="medium-feed-snippet">Should you use Google&#x2019;s Cloud Run or Google&#x2019;s App Engine for your next project?</p><p class="medium-feed-link"><a href="https://medium.com/codeduck/cloud-run-vs-app-engine-dc1871abedca?source=rss-c9b10ccedfc9------2">Continue reading on CodeDuck »</a></p></div>]]></description>
            <link>https://medium.com/codeduck/cloud-run-vs-app-engine-dc1871abedca?source=rss-c9b10ccedfc9------2</link>
            <guid isPermaLink="false">https://medium.com/p/dc1871abedca</guid>
            <category><![CDATA[development]]></category>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[google-cloud-platform]]></category>
            <category><![CDATA[cloud-computing]]></category>
            <dc:creator><![CDATA[Dirk Hoekstra]]></dc:creator>
            <pubDate>Sun, 29 Dec 2019 09:49:50 GMT</pubDate>
            <atom:updated>2019-12-30T23:08:16.249Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[A Real-World Project: Typescript, Express and React]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/codeduck/a-real-world-project-typescript-express-and-react-4701c0458e9c?source=rss-c9b10ccedfc9------2"><img src="https://cdn-images-1.medium.com/max/2600/1*w4xKm6656o_-8IzQKcKPzQ.jpeg" width="4608"></a></p><p class="medium-feed-snippet">How I structure my Typescript + Express + React projects</p><p class="medium-feed-link"><a href="https://medium.com/codeduck/a-real-world-project-typescript-express-and-react-4701c0458e9c?source=rss-c9b10ccedfc9------2">Continue reading on CodeDuck »</a></p></div>]]></description>
            <link>https://medium.com/codeduck/a-real-world-project-typescript-express-and-react-4701c0458e9c?source=rss-c9b10ccedfc9------2</link>
            <guid isPermaLink="false">https://medium.com/p/4701c0458e9c</guid>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[Dirk Hoekstra]]></dc:creator>
            <pubDate>Sat, 28 Dec 2019 14:08:48 GMT</pubDate>
            <atom:updated>2019-12-29T07:56:49.647Z</atom:updated>
        </item>
    </channel>
</rss>