{{ define "title" }} software | samanthony.xyz {{ end }} {{ define "style" }} {{ end }} {{ define "body_content" }}

samanthony.xyz

This website


Get a copy of the source code with git clone git://samanthony.xyz/samanthony.xyz.git.

The site uses HTML templates to avoid tedium and for the ability to make small changes across the entire site without editing multiple files. It uses the html/template package included in Go's standard library.

A server is required to serve these templates. Once again Go provides with the built in http package. This makes writing a web server extremely easy. All you have to do is write a function to handle incoming requests and call http.ListenAndServe(). Painless.

Since I'm running OpenBSD, TLS can be dealt with external to the webserver by using relayd. As an aside, I encourage anyone looking for an operating system to give OpenBSD a look. It's been an absolute pleasure to work with so far. As long as you don't expect it to be exactly like a Linux-based system (it's not), then not only is it more secure, but also easier to use than something Linux-based. Even for a noob like myself. Sane design and good documentation go a long way.

Inspiration was taken from httpd and the server runs chroot'd. When serving content it also drops down to an unprivileged user with setuid.

{{ end }}