The Hyperstack!
About a year ago I talked about developing my own personal technology.I wanted a codebase or foundation on which to build, well, literally anything.Something I could take with me wherever I went.
I think about software development, writing, and many other things.
About a year ago I talked about developing my own personal technology.I wanted a codebase or foundation on which to build, well, literally anything.Something I could take with me wherever I went.
No program can defy me for long!
Over the last few months, perhaps even years, a single thought has loomed before me.
Will the Plaintext Web finally disappear?
I’ve been wanting to build a dictionary utility on the terminal, so I did!
I’ve never owned a smartphone, and I never will.
I thought it might be interesting to demonstrate the smtpd-filters protocol with Ruby!
If you learn one thing, learn to control your jobs!
Let’s keep control of our systems—with runit!
A year or two ago, I built a cron scheduler Ruby. Here’s how you do the same thing—with runit!
Sometimes you want to add logging to your services. Here’s how you do it with runit!
I write and run quite a few services! Here’s how I do it—with runit!
Building your own build systems is always the best way!
Writing a book was the difficult part. Here’s how I made it easy for myself.
Sometimes you just want to schedule something…
I decided to purchase another watch for myself. I’ve had my eye on the Omega Speedmaster Professional for many long years now.
I try to avoid overcomplicating my system too much, which is why I chose herbe for notifications!
A few months after posting my earlier video on compiling Ruby from source, the knowledge therein became obsolete. Here’s why!
Last year I compiled a list of resolutions I’d had for the year. I thought I’d do it again this year.
Here’s how I extract URLs from Maildir files like in my mail inbox or in my RSS feeds.
My wife gifted me a slow watch a few weeks ago.
Here’s how I install OpenBSD onto a Proxmox virtual machine!
Here’s how I subscribe and consume content via RSS (or Atom) on the terminal, with sfeed, fdm, and mblaze!
The Memory Thief, part of the Thirteen Witches series, was written by Jodi Lynn Anderson. It is simply an amazing story. I read this book in late May, but I thought I’d share it now since I was thinking about it.
Here’s how I view and send mail on the command line, with OpenSMTPD, fdm, and mblaze!
This year was a bit of an odd one for me.
One of the many great things about OpenBSD is that it comes with OpenSMTPD by default, allowing my servers to communicate with themselves and each other via the SMTP protocol. This is used to send insecurity reports, failed cron jobs, et cetera to various users on the system.
I’ve been self-hosting some services on my homelab. However, since I don’t have a static IP through my Internet service provider, I need some sort of dynamic DNS script that will update the requisite A record on my name server.
There are so many stories nowadays about the loyalty a person owes to another, whether that be to family or to their company. Most of these stories are about that loyalty being betrayed in some way, but the language around these stories sticks with me and gives me pause.
I’ll be traveling a bit next year, and when I do I’ll want to have access to my homelab and all the services therein.
Despite the prevalence of rbenv or rvm in the Ruby development space, everyone should know and understand how to compile Ruby directly from the source code.
About two years ago, the company I worked for had an incident that shut down service to our main website and application for nearly 24 hours. Even when service was restored, the application suffered degrading performance problems for several weeks after that.
Lately, I’ve been thinking about how Ruby web applications are deployed.
One of the first things I did upon receiving my new Framework laptop was to provision a personal NTP server.
I’ve been playing around with operating systems lately that I wouldn’t have before building out my new infrastructure.
I purchased a new Framework laptop.
I was once a co-founder of a startup.
Facebook’s little mishap this week prompted the joke that some poor network engineer might be getting fired for mishandling a configuration file.
A little over six months ago, I wrote an essay about how technical assessments are dumb. And that’s still true.
There arose a situation this week where two developers discussed a design that I was sure was a mistake. As I sat there listening, I wondered whether I should continue to observe or if I should intervene in some way.
I started making videos in June, began posting them in July, and then took a break in September.
About a year or two ago, I started watching a lot of YouTube farming or homestead videos.
Homelabs are one of those things that quickly spiral out of control.
Using the Actor model of concurrent computation, I build a cron scheduler in Ruby intended to be a single lightweight process within a larger distributed system, its only purpose to schedule work that other processes on other larger server instances complete.
Eventide is a great tool for building evented, autonomous services, while Heroku allows developers to get projects deployed with very little fuss. This week I show how to deploy Eventide onto a Heroku dyno with very minimal hassle.
In this two-part tutorial sequence, I build upon the earlier event sourcing tutorial and develop welcome emails as a part of the application. Continuing in Part 2, I build a component that will subscribe to the registration component and send welcome emails to users that have registered with the application, even to ones that signed up before the development of this feature.
With this two-part tutorial sequence, I build upon my earlier event sourcing tutorial and develop welcome emails as a part of the application. In Part 1, I show how to create an SMTP package that we can control, observe, and test, which I will then use next week to build the welcome email component.
Continuing my earlier tutorial on event sourcing, I demonstrate how to validate data on the registration resource.
Managing multiple different Ruby projects can be daunting. Here’s how I manage my personal Ruby development environment with chruby, ruby-install, and bundle –standalone.
You should definitely learn to use Rack if you’re a Ruby developer.