In April 2023, I wrote about getting a Framework Laptop in December of 2022, putting Void Linux on it, and using it as my daily driver. It's been roughly two years since that purchase and I'd like to share my experiences with the hardware and software.
I've written about this before but I think the time is ripe for another look at the topic - how can Morrowind be enjoyed on a modern Linux distro? Please join me for part one of a two-part series as I explore using the original Windows executable and related modding tools.
It may seem like an odd intersection but leveraging CI/CD patterns can vastly improve both the developer and user experience if you're a content creator such as a mod-maker. Morrowind (my favorite video game, I'd say) has a very active modding community even 21+ years after its release. Read on to see how I use CI/CD to enhance mine and my users' experience and to learn a bit about the Morrowind modding process in general!
This past December I decided to replace my eight year old personal development machine (a Lenovo Ideapad Y510p) with a Framework laptop. Read on to find out what it's like buying into what could arguably be considered niche hardware!
Valve's Steam Deck is a portable gaming device that runs an Arch-based Linux distro called "SteamOS". It's meant to give the user a console-like experience with Steam, but because it's "just" a Linux machine there are plenty of things you can do outside of Steam and what it provides. Join me as I discuss some of what I've been doing!
I've recently taken the plunge on what some may consider a "cheap" guitar since it's obviously a knockoff of a very well known and much more expensive model. It's been a very interesting, mixed experience and I thought I'd take some time to write about it. Read on for my review of the Harley Benton SC-Custom Plus!
I've previously written about how it is viable to use a custom Emacs setup, but I didn't go too far into the details about what it's like to actually take that route. In this, the first post in a series on updating my custom Emacs setup, I'll talk about my workflow for upgrading packages to newer versions.
Godot Engine is an exquisitely powerful, free game engine. One of my favorite aspects of Godot is that its editor was created with Godot itself! And indeed, it's an excellent showcase of how the engine could be used for building a great GUI program. But as excellent as the editor is, including the code editor for the bespoke scripting language GDScript, as an Emacs user it doesn't quite fit into my workflow. Thankfully, Godot has support for the Language Server Protocol, so I'm able to use Emacs in my game development workflow. In this post I'll describe what's required to do this, and how it compares to the stock Godot editor.
Previously, I wrote about my "Linux recording studio" which is driven by free software. In this entry, about both the hardware and software involved, I'll describe how my setup has changed since then and why.
A while back, I did a post on playing Fallout New Vegas on Linux with DXVK. The goal with that was to play the game, but also mod it and do the entire process on Linux. Unfortunately, at the time it wasn't doable but I had hopes that with a little effort it would be. So has anything changed? Yes! But it is quite a long journey. Read on for the details.
Some time ago, I decided to convert my Django-based blog to a static website. At the time, I wrote a little bit about my motivations but that piece was light on the technical details of "why Soupault". In this piece, I'll go over those details in the hope that more folks will give Soupault a look!
It seems to be widely accepted that creating a powerful, useful Emacs setup "by hand" is just too much trouble, and you should choose a "distro" like Doom Emacs. But is it really all so bad? If you go the route of "hand-made", will you suffer through endless nights of fixing your setup? The answer is: probably not, but read on for more details!
As a follow up to my earlier pieces about using MPD , I present to you a rundown of my current setup for listening to music with MPD. Things are mostly the same as before, but I now do things somewhat differently so I thought this could be a nice opportunity to tie things together. There's no need to read my prior posts unless you want to; this one will cover everything end-to-end as they do. With that out of the way, let's crank the volume!
I've previously written about enjoying retroconsoles, specifically with the excellent Lakka distribution. But more recently, I've become aware of the FPGA gaming scene, and the devices built around it. Does the prospect of cycle-accurate emulation sound highly desireable to you? Then read to learn about the MiSTer FPGA!
A web application that will serve audio and video files over HTTP, and is usable on viewports of all sizes. MousikóFídi is something I made for myself, but it is dedicated to all music-lovers of the world. Read on to find out more about what it is, and why I made it.
A while back, I wrote about setting up a runit service for an Emacs daemon. The idea behind that post was that you'd have a system-level service for your user Emacs session. But what if you want a "user service", like what systemd-using folks have? Read on to find out how to replicate this with runit!
Having grown up with what are now considered "classic" or "retro" game consoles, as an adult that enjoys video games I find myself in particular still facsinated by these older platforms. Maybe it's because I grew up with them, or maybe it's because of an overall preference, but something keeps pulling me back to the classics. Join me as I discuss setting up a "retroconsole" with modern hardware and FOSS!
I've recently completed my first video production, and virtually the entire process was done on Linux. Screen capturing, audio recording, and complex video editing, all done with free software. It is totally doable, and rather pleasant too. Read on for the full story, or check out the video here!
As far as I know, official support for primus functionality on Linux is somewhat limited. I recall reading about some sort of official support from Nvidia themselves, but now that I look for evidence of this I'm unable to find it. As an alternative, I looked to using nvidia-xrun in order to more directly utilize the nvidia GPU inside my laptop. I've used primusrun, bumblebee, and friends before and they just aren't as easy to work with as this in my opinion - but most importantly, performance was lacking. Read on as I discuss how I did this, with Void Linux package recipes.
I've recently had the urge to remove Windows 10 from my gaming PC and go 100% Void Linux. Fallout New Vegas is one of my favorite games, and one that until now I only played on Windows. Nowadays, not only does the game work reliably but there are curated installers that get you rolling with optimal configurations that a newcomer would have no idea about. Read on as I describe this process, and the results!
Back when I was first learning to program, part of that learning experience involved rolling my own blog engine using Django. This had driven my website since it's inception, until yesterday. Join me as I discuss the how and why moving my blog to soupault!
Earlier this year I did an expansion to my entries on MPD, sort of a state of my setup piece, and I've decided to do the same thing for my Emacs and Python setups as well. If you write Python code and use Emacs, or are interested in either, read on!
So, you want to run an Emacs daemon as a runit service - and you also want to connect to it in your desktop session. Thanks to the new --fg-daemon option in Emacs 26.x you now can! I'm going to describe how to set up the service, as well as sudo rules for managing it without requiring a password each time. Read on for the exciting details!
I figured it was time for a follow-up to my previous entries on MPD that describes the current state of my setup with all of its evolutions. Here we go!
With a good suite of Selenium tests, you could have full confidence that your application fully works without manually using any part of it yourself. Join me as I discuss adding Selenium tests to a Django project that are ran both locally and in a CI environment on a headless server.
This clip is a testament to the living nature of the world in this game. I'm jumping off of a cliff while looking for something and drop in on a bit of unexpected wildlife...
Normally I wouldn't bother writing a piece about games because I don't play enough of them to comment on the state of what's out now. If it isn't called "Morrowind", chances are I won't be playing it much. But with all that being said this year I have managed to get my hands on a few games that are not only real gems, but modern masterpieces that deserve a bit of a callout. Come, stay a while and listen!
For me, 2017 has been an utterly fantastic year for music. Not just the new albums that've been released that are rocking my world, but the whole current of sound I've experienced throughout the year. It's been a year of musical reawakening for me, getting back into the "Metal" genre after many many years of being a casual observer and fan. If you're like me, music is more than just a way to fill time or whatever. It's that for sure but also something more, something that goes higher... At any rate, join me as I reflect on the musical year of 2017!
For a very long time, maybe close to eight years, I've used terminator as my terminal emulator. Based on gnome-terminal but offering features like split panes and more, it was easy to use, looked and worked well, and was widely available. The pane splitting was really a driver for my workflow, I came to (and still do) rely on it to be productive.
If you didn't know, ansible-vault is a nifty tool that lets you encrypt things for use with Ansible. For some reason that I've not yet discovered, ansible-vault doesn't care if you've set EDITOR /usr/bin/emacs in your fish.config. To work around this, I use the following alias function:
Normally when I want to do anything with Emacs it's a matter of writing some Elisp code and poof, I've got what I want. Anything can be realized, it's usually just a matter of knowing which internal to tweak or what to implement. With that in mind, now that I'm getting into the swing of using Org mode I thought it would be great to have org-agenda-list as my default buffer when I open Emacs. As it turns out, simply doing something like (setq initial-buffer-choice 'org-agenda-list) won't yield the same results between daemon and non-daemon Emacs. Wheee!
Tonight I went to see Soulfly play the Nailbomb record "Point Blank" in its entirety - openers were Lodi Kong, Noisem, and Cannabis Corpse. I've been to so many shows over the years but not a lot of metal shows actually. I've always loved fast, heavy music and Nailbomb is something I would have loved twenty years ago. The show was really good, they pulled off the set well and the openers were awesome too.
Not too short since the target host is slow, but you know. Watch as I set up a VM from nothing with ansible! Everything from sshd configs to the iptables rules is managed via a config management system.
I recently felt the need for a rotating desktop background - that is one that switches the image every so often. I'm not aware of any specifc programs that solve this exact problem, but feh sports some neat command-line options that make scripting up such a thing a cinch. Behold:
Imagine the following scenario: you keep the dotfiles for several machines under one git repo with some submodules, including one machine which clones a submodule from a GitHub repo that I own (so it's cloned over SSH, not HTTPS.) No problem when I do a recursive clone when using a key that's connected to my GitHub account - but when I'm on my gaming rig, or any other machine that is not connected, that clone URL fails as does the overall recursive clone operation. This can be "cleaned up" by hand but is a pain.
This is a very rough recording of a jam session of mine. My normal routine is to put a series of tunes on shuffle and just jam along - this is the result of today's second jam session:
This is a quick track I recorded to test my whole recording setup, as I set it up. The song is "Refuse/Resist" by Sepultura; I'm doing the rhythm, baby.
In this entry I'll discuss what is needed to run Morrowind via OpenMW, and how to get it -- but also in a way that's reproducible and mostly independent of your distribution. I'm not going to go into too much detail about mods (maybe in a part 2 perhaps) but I will go over some general recommendations. Let's go, outlander!
N64 is nowhere near my favorite classic console, but I won't hesitate to agree that it is home to the best wresting video games ever made. As it turns out, these games (particularly the Asmik ones) are still fun! In this entry I'm going to talk about how I've been playing WWF No Mercy on Void Linux. Although you (likely) won't be able to enjoy any of the many No Mercy mods that are out there, you can enjoy the very fun vanilla game with some modern enhancements like HD resolutions. Wooooooo!
I've recently decided to stick an SSD into an old Thinkpad T61 I have in an effort to make using it less painful. With a spinning disk, the age of the CPU really showed, but with an SSD it's back to being a total joy to use. This machine was my main driver for several years and it's great to refresh it again, and I've decided to try something new with my various secure keys this time. On this machine, there are no GPG, SSH, or VPN keys at all; those exist on a LUKS-encrypted flash drive which I mount and unlock as needed. This is technically more secure than just keeping said files on disk unencrypted at all times, and sounds pretty good I suppose, but is it actually a huge pain in the ass? Read on!
I recently grabbed a bluetooth speaker, intending to mostly use it with my phone, but I quickly found myself wanting to play my laptop's MPD through it. Today I'll describe how I got it going - and In the process we'll also resolve some issues with the setup described in my other MPD post. The process was pretty straight forward but it didn't just work so I figured I would talk about it a bit here.
For about three or four years now, I've been a pretty happy zsh user. I had a pretty decent, not-too-complex/customized setup based on a popular framework that bills itself as "minimal", but a recent whim prompted me to check out fish.
I rolled out a new style for the site a few weeks ago - I've dropped Bootstrap for Skeleton and cleaned up the style in general. I had been relying pretty heavily on Bootstrap for the style of the site, and it gave me what I wanted, but I wanted to shrink the size of each page and I knew that Bootstrap wasn't helping.
Using my Emacs configuration. C/C++ are the focus of this clip, but you'll be set up for much more. Most of the clip is sort of boring (waiting for stuff to download from MELPA and etc) but everything comes together at around 0:57 seconds in.
This is a follow-up to my earlier post about editing python with Emacs, as well as the start of a series on using Emacs effectively with a number of languages.
I'll go into what I use for editing python with Emacs and why, as well as how I set it all up. Let's go!
Recently, out of a desire to use less memory while listening to music, I've been exploring different ways of listening to music under GNU/Linux. There's a wealth of GUI-based as well as terminal-based music playing itrfaces out there, and I've never really been a fan of most of them. Terminal-based players never appealed to me; I'm not someone who needs to do everything in the terminal and find it limiting for some things.
I've been using Debian since I first began using GNU/Linux. Through the years I've tried other distros, and ultimately settled on a Debian-based distro rather than vanilla Debian. But now the time has come to leave my comfort zone behind and go boldy where I've gone but not really loved before - away from my comfort-zone distro!
Wine sometimes seems to get a bad wrap, but it really is an amazing project. With it, GNU/Linux users (and Mac users, too!) can run Windows applications - many of them nearly flawlessly. One thing I've found that's helped me get the most out of wine is to use the latest development versions. Debian and friends usually only keep stable releases in their repositories, so you can easily miss out on a lot.
When I was first learning to use GNU/Linux and scripting, I was dead set on creating the bestest backup script. You see, during this period I would very frequently hop distros and I wanted an easy way to restore various settings I wanted. I had never really used any kind of version control system, so methodical usage of tar seemed like the logical choice. Even if it wasn't the best solution, I was trying to do what I could to get the most out of my experience working and playing within this ecosystem. I wanted to shape it as close to exactly what I wanted as possible, and maybe along the way find out new things to try and add to the mix.
The first computers I ever used were Apple IIe systems. At the time, to me they were machines for playing video games that my SNES couldn't. They were magical devices.
Hello, world! Greetings and welcome to this, my website and blog. I'm just a dude that grew up in the midwest and has always been enamored with music, games, technology, and nature. I'd like to use this blog as a place to share my thoughts and ideas, especially those that might be useful to other folks.