lambda.cx blog Sharing notes with the internet

Fixing OpenBSD 6.7 httpd MIME Types

On OpenBSD's httpd, there are only a select few MIME types that are recognized by default. According to httpd.conf(5), those types are: ext/css, text/html, text/plain, image/gif, image/png, image/jpeg, image/svg+xml, and application/javascript. Everything else is said to be of type application/octet-stream by default. This is OK for most static hosting situations, but can be challenging for some common attachment types. For example, I recently made a blog post that had an attached PDF.

Talk: An Introduction to OpenBSD

I recently gave a talk at work to help introduce OpenBSD to my colleagues. It's a broad introduction to the fundamentals of security in OpenBSD, as well as some basic system administration tips and suggestions anyone coming from a Linux background might find useful. It's roughly split up into four sections; the history of OpenBSD, what sets it apart from other operating systems, a guided installation, and the system administration introduction.

Compiling Rakudo Star on OpenBSD 6.7

EDIT: After writing this post, tyil, the maintainer of rakudo star, reached out to me and added proper OpenBSD compatibility. The portion of this post dedicated to working around the failing downloads can now be ignored, and rstar now includes a warning if the user doesn't have a login class set. EDIT: The development version of Rakudo Star targets Rakudo 2020.07 instead of 2020.02, which has uses even more memory than the staff login class is allowed.

Setting up a DHCP server on OpenBSD 6.7

OpenBSD makes a great router. It's simplicity and ease of configuration makes it perfect for network infrastructure applications. Everything you need to build a network of any size is built into the base system, plus its man pages and examples cover everything you'd need to know. While I've been an OpenBSD user for years, I'm finally in the process of replacing the router provided by my ISP with a PC Engines APU2E4 running OpenBSD.

Installing OpenBSD 6.7 on a PC Engines APU2

If you're interested in the PC Engines APU2 line and what the differences are between models, I've covered it in a previous post here. I recently purchased a new PC Engines APU2E4 to use as a home router. I purchased the kit, which includes the board, case, and power supply from CorpShadow. I also ordered the DB9F to USB adapter (Silicon Labs CP2104), so I don't need to get a separate null modem connector.

Installing Bitwig Studio on Fedora 32

Bitwig Studio is an amazing cross platform digital audio workstation (DAW). One of its best features, at least for me, is that it works on Linux, which is pretty rare in the professional audio world. While they say on their website that they support "Linux", what they mean is that they support Debian-based distributions like Ubuntu, as they only provide .deb packages. Fortunately for Fedora users, there's a way to get around that using alien, an application that lets us convert .

Expanding a Directory With Tab in Dired Mode

dired mode is one of my favourite features of Emacs. I use it so often, it's pretty much my go-to file browser. I use it both on my local machine, and on remote machines via TRAMP. One feature of dired is the ability to enter sub-directories in the same buffer by inserting the contents under the current directory. While this is useful, I often want something quicker to check the contents of a directory without either opening it in a new buffer, or inserting it below.

How To Set An Image Title In Hugo Using Org-Mode Markup

One of the differences between using markdown and org-mode markup for writing Hugo pages is how you set the alternative text and title of an image. In markdown, you would write it as ![alt text](dummy-image.png "Image Title") Where in org-mode, typically you would use a caption like this #+CAPTION: Image Title [[file:dummy-image.png]] and that would be the end of it. However in Hugo, if we use that format, we end up with this

Hugo Org-Mode Default Archetype

I love using Hugo to write. Their org-mode markup support is absolutely top notch. The only real problem with it is that while it's well supported, the Hugo docs don't cover it very much, as Markdown and TOML are the main markup and configuration languages. One of the basic building blocks for Hugo blogs are Archetypes. Archetypes get used as the templates for new posts, and get automatically filled out with the title of the post and creation date.

Using emacsclient on MacOS

Emacs is an amazing editor, but it can be a little slow to start sometimes. That's why emacsclient lets you run Emacs as a daemon and connect to it as a client, negating the startup time and letting you jump directly into editing. The two primary ways of getting Emacs onto your Mac are by either downloading it from Emacs For MacOS X or by installing it through homebrew using brew cask install emacs.