← Back to blog

Hello, World!

The obligatory "Hello, World!" first blog post

Welcome to my blog! This first post is simply to ensure this brand new site and blog works as expected.

What does this blog run on?

This blog is powered by a Go server with SQLite storage and Markdown rendering. Here's the stack overview:

  • Go HTTP server
  • SQLite with WAL mode for storage
  • Goldmark for Markdown → HTML
  • GitHub OAuth for admin authentication

Code example

Here's the Go handler that serves this very post:

func (h *blogHandler) handlePost(w http.ResponseWriter, r *http.Request) {
    slug := r.PathValue("slug")
    post, err := db.GetPostBySlug(h.db, slug)
    if err != nil || post == nil {
        http.NotFound(w, r)
        return
    }
    h.postTmpl.Execute(w, post)
}

The Future

Future readers can expect blog posts on random (mostly) tech-related topics that I worked on, struggled with, or simply found interesting.

← Back to blog