Ralph's Blog about this and that (RSS | Atom)

HTTP over TLS on localhost with Go server

Published: 28. November 2021  •  go

In this blog post, I'm going to show you how to set up TLS with a Go HTTP server listening on localhost.

Infrastructure as Code with Pulumi (Go)

Published: 29. November 2021  •  go, iac

In this blog post, I'm going to show you how to set up cloud resources on AWS with the infrastructure-as-code (IaC) tool Pulumi.

AWS Lambda development with Go and Pulumi

Published: 6. December 2021  •  go, iac

In this blog post, I will show you how to write AWS Lambdas with Go and deploy them with Pulumi (Go).

Implementing HTTP API back end on AWS - Part 1 Foundation

Published: 29. January 2022  •  go, aws

The first part of setting up an HTTP API back end on AWS shows you how to configure Amazon API Gateway and Amazon DynamoDB and build and deploy an AWS Lambda in Go to form the back end for a simple todo web application.

Implementing HTTP API back end on AWS - Part 2 User Authentication

Published: 29. January 2022  •  go, aws

The second part of setting up an HTTP API back end on AWS shows you how to transform the single-user application from the first part into a multi-user application where users can sign-up and sign in. User authentication will be implemented with Amazon Cognito and OAuth2.

Sending Protocol Buffers messages over SQS

Published: 15. January 2022  •  go, java, aws

In this blog post, I show you how to send and receive Protocol Buffers messages over Amazon Simple Queue Service (SQS). The examples of producers (send) and consumers (receive) are written in Java and Go.

Access HIBP Pwned Passwords with Go

Published: 10. February 2022  •  Updated: 11. March 2023  •  go

Various ways to access the Pwned Passwords database from Have I Been Pwned with Go

Git with go-git

Published: 1. August 2023  •  go

In this blog post, I'm going to show you how you can write Go programs that access Git repositories with the go-git library.

TLS with Go in production

Published: 1. August 2023  •  go

Setting up TLS with Go in production environments

Access LLMs on Azure and AWS with Go

Published: 26. September 2024  •  go, aws, azure

Access OpenAI GPT-4o on Azure and Stable Diffusion on AWS Bedrock from a Go application.

WebAuthn with Go

Published: 27. September 2024  •  Updated: 6. January 2025  •  go, angular

Implement a passwordless authentication system with WebAuthn in Go on the back end and Angular/Ionic on the front end.

Convert Web Pages and Office Documents to PDF with Gotenberg and Go

Published: 21. October 2024  •  go

Use Gotenberg with Go to convert web pages, HTML, and office documents to PDF.

Web Search with LLM in Go

Published: 28. October 2024  •  llm, go

Combine web search with an LLM in Go and query local models running on Ollama.

Running LLM-Generated Go Code in a Docker Container

Published: 17. January 2025  •  Updated: 10. September 2025  •  go, llm

In this article, I will show you how to write a Go program that generates Go code with the help of a large language model (LLM) and run this generated code in a Docker container.

Implementing WebAuthn Authentication with Bitwarden Passwordless.dev

Published: 17. January 2025  •  go, angular

In this blog post, I will show you how to implement WebAuthn authentication with Bitwarden Passwordless.dev, a SaaS solution that provides WebAuthn authentication as a service.

Writing a Go program that posts to Bluesky

Published: 23. February 2025  •  go, bluesky

In this blog post, I will show you how to write programs in Go that post to Bluesky.

Writing a Reply Bot for Bluesky in Go

Published: 17. July 2025  •  go, bluesky

Learn how to create a Reply Bot for Bluesky using Go that replies to mentions with AI-generated responses.

Exploring the Go slices and maps packages

Published: 31. July 2025  •  go

In this blog post we are going to explore the slices and maps packages from the Go standard library. The two packages provide useful and convenient methods to work with slices and maps.

Faster S3 Object Listing

Published: 25. July 2025  •  go, aws

This article shows how to list many objects in an S3 bucket quickly. Using the prefix parameter in the list objects request allows an application to start multiple goroutines and call the list objects endpoint in parallel.

Getting Started with MQTT Using Go and Java

Published: 6. August 2025  •  java, go, mqtt

This article provides an overview of the MQTT protocol, its basic features, and how to use it in Go and Java applications. It covers topics such as publish/subscribe model, message payloads, topics, quality of service (QoS), retained messages, persistent sessions, and more.

Containers in the Go Standard Library

Published: 7. September 2025  •  go

An overview of the container/collection types available in the Go standard library.

mTLS with Go

Published: 8. September 2025  •  go

Implementing Mutual TLS (mTLS) with Go's built-in HTTP server and client for secure client-server communication.

Model Context Protocol (MCP) with Go

Published: 1. December 2025  •  go, llm

Learn how to write MCP servers and clients in Go to build interoperable LLM tools using the Model Context Protocol (MCP).

Waiting for Goroutines with sync.WaitGroup and errgroup.Group

Published: 28. February 2026  •  go

Go makes it easy to run code in parallel with goroutines. To wait for them to finish, you can use sync.WaitGroup or errgroup.Group. This post explains how to use both and when to choose one over the other.

Generating PDFs with Playwright and Go

Published: 2. March 2026  •  go

In this blog post, I want to show you how to use Playwright, Go, and Docker to build a simple PDF generation service for creating PDFs from scratch with HTML and CSS.

Using the Z3 SMT Solver with Go

Published: 1. March 2026  •  go

Learn how to use the Z3 SMT solver with Go to solve complex problems declaratively. This post covers setting up Z3 with Go, core concepts, and real-world examples like package dependency resolution, RBAC policy verification, scheduling, and the knapsack problem.