lambda.cx blog Sharing notes with the internet

Creating an Always On E-Ink Org Agenda

I recently made a post about how I was able to configure the new tab page in my browser to display my org agenda. Since then I've been working on another project similar to that, trying to take the concept even further. A while ago I purchased an Inkplate 6 during its crowd funding stage on Crowd Supply, with the exact intention of creating something like this. At the core of the Inkplate 6 is the ESP32.

Org Agenda As My New Tab Page

I absolutely love org mode. I use it extensively almost every day to keep track of tasks and due dates, both for my personal life and at work. A lot of this workflow centres around the org agenda, which compiles all the current and upcoming tasks and due dates from several files into a single view. The only gripe I had with it was that I had to be within Emacs to use it.

How I Keep Track of My Servers

I manage a lot of servers. Some are serving static content like this blog, with others running services like Nextcloud, ZNC, Shadowsocks, or Mumble. I also have one or two game servers to play with my family and friends. These are spread across two providers for cost and geographic reasons. In addition, I have several machines running in my house, one running FreeNAS with some jails, another running Proxmox with several VMs and containers.

My Emacs on Android Setup

Not too long ago I purchased a Samsung Galaxy Tab A. I bought it mostly for browsing the internet and reading PDFs, but I've been using it a lot more for working in Emacs recently. With the help of Termux, I've gotten more or less a fully functional development and writing environment which has both a small physical size, and long battery life. With the use of a bluetooth keyboard, I have everything required to work, and comfortably at that.

Installing Hak5's Cloud C2 on Alpine Linux

I recently purchased some products from Hak5, some of which integrate with their self-hosted service for monitoring your equipment called the Cloud C2. I decided to run it on one of my servers which runs one of my favourite Linux distributions, Alpine Linux. You have the option to purchase the community edition for free from their shop, after which you'll receive a product registration code via email. This email will also contain a link to download the Cloud C2 software, which are distributed as (mostly) statically linked go binaries for several platforms all bundled together in a zip folder.

Creating a VPN Gateway with OpenBSD 6.7

The Problem Say you have an account with a VPN provider. Maybe there are a limit to how many connections you can have with one account. Maybe you want to put more machines than you have connections on the account. Or maybe you want to put a large number of machines of the connection, maybe some FreeBSD Jails, LXC containers, or VMs, and you don't want to download the VPN profiles, sign in and configure them all individually.

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.