<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>James Cunningham</title><link>https://jamescun.com/</link><description>Recent content on James Cunningham</description><generator>Hugo -- gohugo.io</generator><language>en-gb</language><lastBuildDate>Wed, 18 Jan 2023 19:16:00 +0000</lastBuildDate><atom:link href="https://jamescun.com/index.xml" rel="self" type="application/rss+xml"/><item><title>My Engineering Principles</title><link>https://jamescun.com/posts/my-engineering-principles/</link><pubDate>Wed, 18 Jan 2023 19:16:00 +0000</pubDate><guid>https://jamescun.com/posts/my-engineering-principles/</guid><description>A digital garden project, documenting the principles I follow after 12 years as a software engineer.</description></item><item><title>Write your own encryption</title><link>https://jamescun.com/posts/write-your-own-encryption/</link><pubDate>Tue, 17 Jan 2023 18:00:00 +0100</pubDate><guid>https://jamescun.com/posts/write-your-own-encryption/</guid><description>NEVER write your own encryption!
or so is often quipped online, and it&amp;rsquo;s good advice - but it&amp;rsquo;s not complete. It should be never productionize your own encryption!
One of the best ways to learn, at least for me, is to fuck around and find out. Recently I&amp;rsquo;ve written my own implementations of TLS and SSH, both protocols we use daily but rarely introspect. Would I ever trust my own implementation in a real environment?</description></item><item><title>Give Components Descriptive Names</title><link>https://jamescun.com/posts/descriptive-naming/</link><pubDate>Tue, 10 Jan 2023 18:26:00 +0000</pubDate><guid>https://jamescun.com/posts/descriptive-naming/</guid><description>Some thoughts on descriptive vs fun naming of system components.</description></item><item><title>Go Monorepos for Growing Teams</title><link>https://jamescun.com/posts/golang-monorepo-structure/</link><pubDate>Mon, 22 Aug 2022 21:02:16 +0100</pubDate><guid>https://jamescun.com/posts/golang-monorepo-structure/</guid><description>Some thoughts on structuring Monorepos and Go Microservices.</description></item><item><title>On the looming tech downturn</title><link>https://jamescun.com/posts/on-the-looming-tech-downturn/</link><pubDate>Sat, 28 May 2022 10:16:00 +0100</pubDate><guid>https://jamescun.com/posts/on-the-looming-tech-downturn/</guid><description>Thoughts on the looming tech downturn.</description></item><item><title>REST APIs with Go Generics</title><link>https://jamescun.com/posts/golang-generics-rest-api/</link><pubDate>Mon, 14 Mar 2022 16:26:05 +0100</pubDate><guid>https://jamescun.com/posts/golang-generics-rest-api/</guid><description>A brief guide on reducing boilerplate when writing REST APIs with Go and Generics.</description></item></channel></rss>