RSSAmplifier

Blog

Nothing Is Simple

A complicated website.

nothingissimple.ablatedsprocket.comRSS feed ↗42 posts

Latest posts

Configuring Rootless Podman

It's been a while since I've written a post, but that doesn't mean I've been idle. I really like the idea of the separation involved with running things in containers. Until now, I accomplished this using Docker and Docker Compose. After spending some time with NixOS, I looked through its packages and found that everything I had running in Docker containers was available in Nix and enjoyed the…

Doing Taxes in Emacs

This year is my third year submitting tax forms that were filled out programmatically with Emacs. There is way too much to cover in one blog post, so I will be glossing over things. As usual, the source code is available on Codeberg for perusal. In this post, I'm only covering the logic that went in to generating a 1040, but there are functions for generating a number of other forms as well. Fair…

Migrating Appointments and Holidays to Diary

I use Org for many things, two of which are managing appointments and tracking my paid time off. I just learned about Emacs' Diary package from one of Protesilaos Stavrou's videos, and decided to see if moving my appointments and holidays to Diary made sense.

Git Links in Org

After looking through Mastodon the other day I stumbled upon an old post by Tony Aldon about making Org hyperlinks to git repositories and opening them in Magit. I have this weird thing where when I see people make things for Magit, I try to do the same thing for VC. I'm giving myself a little slack here, though, because I've been thinking about how nice it would be to link Git commits to my Org…

Org File Housekeeping

The other night I had a dream. In this dream, I was talking with a fictitious colleague about the merits of Confluence as an information management system. The conversation began with pleasantries, but as soon as it turned to information management, my mind immediately contextualized the conversation in terms of Emacs. This is a habit I have taken up in my waking world that seems to have become so…

Things I Discovered Using VC in Emacs

I am one of the few people who use VC over Magit. It's true, VC doesn't have the feature set that Magit does; it doesn't support cherry-picking, rebasing, all of Git's myriad switches, and unlike Magit, no one talks about using Emacs purely for VC. VC does however have nice integrations with other modes and some handy features worth mentioning that I haven't seen discussed elsewhere.

Building a Website: A Cautionary Tale

I've written a number of announcement/introductory-style posts about using different static site generators, as well as more technical posts about implementing various features in my Org-to-HTML export scheme. Each touches on a larger narrative about creating a website, but shies away from going into any detail for fear of veering dangerously off-topic. The intent behind this post is to finally…

Website Improvements and a Sprinkling of Accessibility

Inspired by a post on general website improvements and a post on enhancing website longevity, neither of which I can now find, I made some changes to my website! While I was at it, I finally decided to make some minor accessibility changes I've been thinking about for a while. As a warning, this site is created using Emacs to export Org files to HTML, so there is some Emacs lisp code! There's also…

Moving to Codeberg

This post is a bit late, but I've moved all of my code from GitLab to Codeberg. I've been thinking about moving to a different platform for a while now, and while I like the idea of Source Hut a little better, I ultimately chose Codeberg because I found it easier to navigate. Eventually, Source Hut is probably where I'll land, but for now I'm afraid of people avoiding my code because Source Hut's…

Integrating Pass into Emacs

For bettor or worse, I've been using Pass to manage my passwords since around mid-October of last year, and although I like its simplicity, using it was always intimidating. Creating a password is easy enough, but I didn't get comfortable enough with the CLI to search my password store for things effectively, and when it came time to edit a password, it was easier to just open the file in Emacs…

Webmention Comments

After maybe 8 hours of distracted effort, my website now builds its comments from webmentions instead of using Cusdis. This was a bit of a feat, as I didn't even know what webmentions were before a couple weeks ago. For the similarly uninitiated, webmentions provide a notification protocol which establishes a communication standard. This protocol is one of several which link the various components…

Foraging with Org

Probably three years ago now I got into the hobby of foraging for fungi. I've managed to find chicken of the woods, puffballs, a couple varieties of oyster, and most recently wood ear in my area. I've heard whispers of the coveted morel, but I have yet to find any, much to my chagrin. Anyway, after rooting around for mushrooms for a while, I decided I would like to forage for more things than just…

My vCard Backend for Org

Some time ago, I started using Org to manage my contacts and wrote a backend to export my contacts file to vCard, and I'm finally writing a post about it. Before I begin in earnest, I'd like to acknowledge that there's a vCard backend in Org-Contrib, but I decided against using it for a couple of reasons. And no, I don't consider Not-Invented-Here syndrome to be one of these reasons, although I…

Secret Synergy

I'll open by saying that my password solution up until about yesterday was not great. I spend most of my computer time in Emacs and I prefer to use it wherever I can, so at first I kept my sensitive info in my .authinfo.gpg file, an old Emacs standby. This is great for logins, but the format is pretty rigid. Each line wants a host, username, password, and maybe a port and a URL if you have one.…

We Have a Peanut Gallery Now

Ever since moving everything to the HTML exporter I adapted from ox-slimhtml, I've been admittedly pretty enamored with the machinery involved in publishing this site. Sometimes I change something just so I can push it up to GitLab and watch the whole process kick off. It's a very special and nerdy variety of ambrosia for me.

Mail with Gnus

After two years with Mu4e, I have moved over to Gnus as my mail client. I've started using RSS to consume news, and the move was mainly motivated by the appeal of having news and email in the same place. On the whole, Gnus is probably easier to get going than Mu4e. It doesn't require using Mbsync or some other process to manage a local copy of your mail and there's no need for an external program…

Finances with Ledger and Org

Managing finances has always been a bit painful, but I've recently finally become somewhat comfortable with Ledger to make a report that's made the whole process easier. I started with trying to stay strictly within ledger-mode in Emacs, which is definitely an upgrade from the CLI, but it was still hard to use the reports effectively, so I decided to give the reports more context by compiling them…

SVG Images in Org Mode

I have taken an interest in chemistry, and have taken to using org-noter to take notes on the books that I read. Since it's organic chemistry, I thought it would be great to somehow incorporate my own diagrams of benzene rings and things into my notes. I like using GIMP for editing images, but thought a simpler image editing tool would be better for making simple diagrams. Since I wanted to use…

My Arch Installation Experience

Just a notice, I originally published this in December of 2021, but I updated it in May of 2023 for "readability". If you think it's bad now, you should have seen it then! Anyhow, happy reading.

Super Pi Part 9: WebDAV

Just when I thought I was done adding things to Super Pi, I discovered another thing to add: a WebDAV server. I already have a Samba share, why do I need WebDAV? I've been looking at getting a Pine phone for at least 6 months now, and if I've learned anything about myself, it's that if I've been thinking about getting something that long, eventually it's going to happen. To make sure I would be…

Org and Groceries

One of the things that was interesting to me about Org-mode is how people from myriad vocations find it useful in (if not integral to) their day-to-day workflow. Unfortunately, I'm somewhat locked into my professional tool set, so a couple of months ago, I decided to try to use Org-mode to make my personal life more efficient in some way. This post marks my first foray into Org-ing up.

Ox-Slimhtml Table Transcoder

A previous post went over how to create figures using a wrapper around Ox-Slimhtml's link transcoder. Feeling buffeted by my successes there, I decided to tackle writing a table transcoder next. As a disclaimer, I'm not trying to write extensible and versatile transcoders. In my case, I think it would have actually been a bad idea to take that approach. It would have taken a lot longer, and I…

Super Pi Part 8: Samba

I admit that this part of Super Pi probably isn't the best use of resources. When I first got a Pi, I set up a Samba share as my first project. I actually had kind of a hard time getting it working. I later set up a NAS on my router when I got one that supported it. That worked well until I recently moved to OpenWRT, which is more than capable of hosting a NAS, but I have a much easier time…

Getting Figure Tags Using Ox-Slimhtml

I'm using Ox-Slimhtml to generate this website now, and it works great once it's configured as long as you don't need anything it doesn't provide. In my experience, Ox-Slimhtml works pretty well for one-off exports, but I wasn't able to get it to export projects on its own using the example in the documentation. The backend is a bit bare-bones, so there's a good chance you will find yourself…

Migrating to Org Publish

This post marks the move from generating this website with Weblorg to Org publish with Ox-Slimhtml. I'll write another post about the specifics later, for now I mostly just want to celebrate my accomplishment, it's been a long time coming. I want to start by saying if you're interested in a static site generator that translates Org to HTML, I enthusiastically recommend Weblorg: good Jinja-style…

Super Pi Part 7: Firewall

I thought of another configuration component to add to my Super Pi: a firewall. I will be using UncomplicatedFirewall, commonly known as UFW. It's an abstraction over IP-Tables, which came up in my research for my post on Wireguard a couple of times. Even though UFW is easier to use, IP-Tables has a lot more examples for my use case. I experimented with it and got a configuration working, and at…

Super Pi Part 6: HTTPS and NGINX

I'm feeling good about everything being behind an NGINX proxy, but I'm not a fan of the red shield in my browser notifying me that the connections are insecure because I'm not using HTTPS. Luckily, this issue isn't terribly difficult to address and I can use tools I already have. Like any proxy worth its salt, NGINX is HTTPS-capable, but there are some implementation details to decide on that…

Super Pi Part 5: Git Server

I don't have a great reason for running a Git server on my network, except for maybe the old adage about storing data in three places. I first started using one when Microsoft bought out GitHub and I didn't know about Gitlab. I try not to spread too much hate, but I avoid Microsoft products partly on principle and partly because I use them all the time at work and get tired of them. Configuring my…

Super Pi Part 4: NGINX

My next task was to proxy the Pi-Hole UI with NGINX instead of Lighttpd, following this guide with a few customizations. My main reason for moving to NGINX is that I wanted to host some household HTML documents alongside Pi-Hole and any other services I might add, all under different domains. I have used NGINX before to handle redirecting traffic to HTTPS and proxying it to a non-SSL application…

Super Pi Part 3: Node-RED

It would be nice if I had an automated way of renewing my IP address with DuckDNS. I could write a shell script and set up a CRON job to run it every so often, but since I'm interested in home automation, I'm going to use documentation on getting started with a Pi. The doc recommends a bash script for installing everything. There's a package in the apt repository, but it seems to be finnicky. I…

Super Pi Part 2: WireGuard

I wanted a WireGuard VPN to have Pi-Hole on the go. Before getting to that point, though, I registered a domain with DuckDNS since the IP address of my router changes periodically or when I reset it. I'll have to do a little more work to make sure DuckDNS gets notified when my IP address changes, but that's for a later post. For now, I just have to remember that if WireGuard doesn't work, it's…

Super Pi Part 1: Pi-Hole

So I have quite a few Raspberry Pi computers, five in fact. Three 3B+, one 0W, and one 4B. The 4B is a media center in progress, the 0W isn't used for anything currently, maybe some kind of brewing thing somewhere down the line. I was going to delegate various home automation tasks between the remaining Pis: WireGuard, Pi-Hole, a Git server, Node-RED. It occurred to me, though, that I can run all…

Emacs as a Mail Client

I wanted to write a few posts on how I use Emacs. As a disclaimer, I'm using Pop!_OS, so these are all Linux posts. Sorry for not being able to contribute to the dearth of material available to Windows users. On an unrelated note, I think previously I said that I wanted to make content accessible, and this is probably a step in the wrong direction on that front, but I find myself just not writing…

Turning Gears

I think if there's one thing I struggle with, it's probably routine maintenance. I've put a lot of effort into trying to make this struggle manageable, but I am stubborn, and do not give up my misgivings with things easily. This issue has always flummoxed me because I don't mind the idea of maintaining things, just actually doing the maintaining.

Coming Out Emacs

This post has proven to be a difficult one to write. I keep rethinking it! Is it a good idea to write about tech? Is it a good idea to write about something I'm passionate about but that is also extremely difficult to relate to? Am I willing to come off as a hipster programmer? It's time to find out, once and for all.

The First Post

So this is the inaugural post of my new website. While the thing is still small and has literally zero traffic, I find there's some small comfort afforded by the lack of lookers-on, and I am compelled to start with a confession. That confession, friends, is that this happens to be the fourth reboot of my website. That's right, four. Will this one actually go anywhere? Will I muster the chutzpah to…

Python, NGINX, and HTTPS

In this article I'm going to try to remember what I did to get my computer to talk to a Python app over HTTPS hosted on my Pi.

Giving the Old Bird An Upgrade

This past week I decided to update my website. I wanted to update my build process to use Python 3, I wanted to remove my jQuery dependency, and I finally wanted to get rid of Anaconda. First I prepared for the update: I backed up my site to a new directory and decided to update the backup to Python 3. I exported all my dependencies to a text file using pip freeze > requirements.txt . To make sure…

Building a Static Site with Pelican

In this post, my plan is to provide a comprehensive walkthrough of how I generated this site on my Windows machine. As I was going through tutorials, I found a lot of them were not very clear, or I had to really dig to find the information I was looking for. My hope is that by putting all of the information I managed to scrap together in one place, I can spare some other poor OCD soul the…

Pelican Website Debut!

The day is finally here, I rewrote my website with Pelican and it's live! It's crazy that I wrote a post over two weeks ago thinking I was almost ready to put my site up. It turned out there was more tweaking I wanted to do, which is good. I was thinking I'd put it up in a much more raw state, but I've managed to put a lot of work into getting everything exactly the way I wanted it. I'll write a…

Why Programming, Though?

It turns out putting up this website has been a great thing because it's gotten me thinking a lot. I've had a hard time making sense of the job hunting process (mostly how long it takes) so having a way to process all of that has been enormously helpful. Yesterday I had an interview over the phone with a neat company I've applied to a couple times called Exotic Metals, and one thing the…

Jekyll Debut!

This post marks the debut of my website. The reason this is named the first HTML post is because the default format is Markdown and I wanted to keep that post in case the HTML one didn't fly so well. It went fine, so here we are. I programmed everything you see here in HTML5 and CSS3 and used Jekyll to build the site and Github-Pages to host it. There's a pretty good learning curve to doing…