blog.jlcarveth.dev

A log of my technical pursuits.

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

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

Read More