<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Shaffer Dehmlow</title><link>https://sdehm.dev/</link><description>Recent content on Shaffer Dehmlow</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 14 Dec 2022 10:23:47 -0700</lastBuildDate><atom:link href="https://sdehm.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Making a Static Blog Dynamic: Websockets and Morphdom with a Go Server</title><link>https://sdehm.dev/posts/making-a-static-blog-dynamic/</link><pubDate>Wed, 14 Dec 2022 10:23:47 -0700</pubDate><guid>https://sdehm.dev/posts/making-a-static-blog-dynamic/</guid><description>&lt;h2 id="inspiration-and-introduction"&gt;Inspiration and Introduction&lt;/h2&gt;&#10;&lt;p&gt;Server side rendering is becoming more popular and has a number of advantages over alternatively heavy client frameworks.&#10;One trend that has allowed server rendered content to be dynamic without serving a lot of Javascript uses a persistent websocket connection to synchronize state.&#10;The server generates pieces of html that it sends back to the client which then is only responsible for patching the DOM with simple html.&#10;A popular Javascript library to do this patching is &lt;a href="https://github.com/patrick-steele-idem/morphdom"&gt;morphdom&lt;/a&gt; that aims to be lightweight and fast.&lt;/p&gt;</description></item><item><title>Concurrency Abstractions in Go: Queues, Tasks, and Actors</title><link>https://sdehm.dev/posts/concurrency-abstractions-in-go/</link><pubDate>Wed, 19 Oct 2022 00:00:00 +0000</pubDate><guid>https://sdehm.dev/posts/concurrency-abstractions-in-go/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;&#10;&lt;p&gt;Concurrency is built-in to the Go programming language and is one of the most powerful features of the language.&#10;There are many great resources that explain how concurrency works out of the box in Go.&#10;This post will cover a basic overview of how concurrency works in Go and then explore some concurrency abstractions that are common in other languages and how they can be implemented in Go.&#10;This post will also cover some basic usage of generics and managing state with closures.&lt;/p&gt;</description></item></channel></rss>