blog.jlcarveth.dev

A log of my technical pursuits.

Systemd Units vs Docker Containers - Why I Choose the Former for Running Services

John L. Carveth

Docker is a great tool for building and running containerized applications, but it is not the best solution for running services on Linux. In this post, I will explain why I prefer using systemd units over Docker containers for running services on Linux, based on three criteria: simplicity, integration, and reliability.

Read More

Introducing Nutty Version 1.0: A Self-Hosted HTTP Paste Server

John L. Carveth

I am excited to announce the release of version 1.0 of Nutty1, an HTTP paste server that allows for easy storage and sharing of plaintext files via a simple HTTP API.

Read More

Bringing the Power of an IDE to the Terminal

John L. Carveth

Recently, I decided to take the plunge and switch from my usual editor-of-choice, VSCode, to the terminal-based Neovim. I had already been using the terminal for more and more things in my day-to-day workflow, and I had a sense of the power and efficiency it offered. It was only when I read a comment on a Hackernews thread about "living in the terminal" that I decided to take the plunge. That comment fascinated me, and I needed to find out exactly how a terminal-based text editor could come even close to the feature-set offered by my at-the-time favorite IDE. The promise of sub-100ms start-times was the cherry on top.

Read More

Implementing Role-based Access Control (RBAC) with Express.js and SQLite

John L. Carveth

Role-based access control (RBAC) is a valuable technique for restricting access to computer resources based on a user's role within that system. Imagine an organization with multiple departments. An employee who works in shipping and recieving will need access to a "Shipping" view in an application, but has no need to access the "Expense Reports" view. RBAC facilitates rules such as this through the concept of "roles" and "permissions".

Read More

Generating a Logo Using Dall-E

John L. Carveth

I was recently granted access to Dall-E, a new artificial intelligence that can generate images from a single text prompt. I had already read an article about generating a logo using the technology and I knew it was something I wanted to pursue. So I went about generating some images. The first prompt I tried was incredibly succinct: cute mascot logo. ||||| |---|---|---|---| |||||

Read More

Monitoring a Directory with Systemd

John L. Carveth

I've been using Linux as my daily driver OS for a couple of years now, but it's only recently that I started using Linux everyday as a part of my job. A lot of those days, I find myself using systemd. It's wonderful. I can manage software deployments, schedule tasks, listen to network sockets, and as the title of this article suggests I can use systemd to monitor a certain path for changes.

Read More

Scheduling Tasks with Systemd Timers

John L. Carveth

I have been using systemd to manage services on my many Linux boxes for a while now. Compared to writing initd scripts, systemd service files are dead simple. Recently, I needed to setup a backup solution for a new linux box being setup at work. This server was running Ubuntu Server 22.04, which comes with systemd 249 (249.11-0ubuntu3.4) out of the box.

Read More

Welcome to blog.jlcarveth.dev

John L. Carveth

This is the first post on the blog setup using Deno.

Read More