Logan Barnett’s blog

Thoughts of a software engineer, miniature painter, sword sparer(?), father, and other labels I forgot about.

Jerry the Joblin

This campaign now lives on the Dirshum site: loganbarnett.github.io/site-dirshum/jerry-the-joblin/

2025-03-30 · 1 min · 9 words · Logan Barnett

Age of Golemancy Golemancy

Age of Golemancy Introduction History Light Hold To the Surface Classless Old World Gods and Magic Monsters Artifice Golems The Golem Mind A Tenuous Grasp Artificial Bodies The Cohesion System Mind Break Mind Broken Golem Death Scrapped Repairs WISP WISP Directives Memory Wipe Combat Experience Golem Weapons Void Chosen:archive: Character Creation Starting Golem Golem Backgrounds Nobody Heinous Criminal Sacrifice Volunteer Blank Reborn General abilities Creator Guild Creator - Ornatum Consortium Creator - Axis Mechanica Creator - Ebonspire Assembly Creator - Nomad:archive: Production Type Jigged Specialty Magnum Opus Golem Weapon Anchor Golem Surge Golem Traits Existential Fortitude Eternal Fast Quick Loader Narcolepsy Prescience Leg Day Martial Expert Stretchy Hit and Run Snap Shot Elemental Loader Elemental Seeder Elemental Application Cold Affinity WISP Resistant Staggering Shatter Knockback Chain Lightning Volatile Combustion Glowing Hot Frozen Nomads:archive: Voidborn Taxonomy Voidborn Generation Approach Type Target Type Attack Pattern Defensive Trait Captains Purpose Training Backgrounds Career Change Naive Debutante Petty Criminal Sentence Captain Traits Tactically Prepared Stay in Formation Focus Fire Inspired to Greatness Emergency Field Repairs Artifice Tinkerer TODO Voidborn Expert Back from the Brink Organizations Crafting Guilds Ornatum Consortium Axis Mechanica Ebonspire Assembly Crimson Line Dusk Reach Golemancers Golemancer Specialty Golemancer Ranking Golemancer Working Conditions Casters Caster Types Scattercaster Longcaster Battlecaster Sidecaster Scrapcaster Day Breaker Elemental Effects Elemental Types Acid Cold Fire Lightning Poison Thunder Elemental Interactions Shatter Explosion Armor Softening Spreading Fire Smoke Screen Matrix Introduction The era of golemancy details the extinction of all sapient life on the world of Dirshum, a fantasy world for a Dungeons and Dragons campaign. In this world, all sapient species except humans have been destroyed by nearly invincible monsters. Only humans have survived, who exist in a single, underground city. Golems, the name given for the artificial super-humans, are the only thing holding back their demise. ...

2025-01-15 · 54 min · 11375 words · Logan Barnett

Rename me

Building the Actual Derivation/Flake If you’ve been following along in the series, at this point I’ve got my physical, standalone machine ready for generating machine learning images. In this segment, my plan is to make a derivation or flake (probably a flake) which handles standing up the server (server being the application, and host being the computer). The Plan My overall goals look like this: Configuration is entirely controlled via the Nix flake. Models, LoRAs, and other large entities I want to create a kind of download function for. So whether you’re pulling these from http://civitai.com or https://huggingface.com, you can just declare the things you want installed and Nix will see to that. New settings changes will send the appropriate signal to the web application so they can be reloaded. Restarts can be “scheduled” if the queue is running. This is more of a stretch goal, but it would be really cool to have a Nix declaration for an image. So you say what the prompt is, what settings it should have, the seed, the model, etc. and the result is an image that you can throw around to other Nix plumbing, or just have on disk. Actually I can’t do any of that yet Of course nothing ever just works when you’re the one trail blazing. In this case, I immediately ran into issues with stable-diffusion-webui just trying to run it via the automatic1111-webui-nix repository. ...

2024-03-03 · 34 min · 7042 words · Logan Barnett

Nix Adventures Part 3: stable-diffusion-webui

Table of Contents What is this? Adventure: Standing up a stable-diffusion-webui server on a new host Preparing the Host Refactor the Host repository Fixing all of the errors Direct builds What is this? See Nix Adventures Part 1 for the introduction for all of this. Adventure: Standing up a stable-diffusion-webui server on a new host This is going to loosely be broken up into two parts: Build an x86_64-linux or i686-linux image for the new host. Improve upon the existing stable-diffusion-webui Nix Flakes setup such that the server can be installed and configured via Nix itself. Preparing the Host Preparing the host entails getting cross compilation working on the host repository. Since I’ve done that earlier for a Raspberry Pi image, I want this new host’s base image to leverage that prior work. As part of doing this, I expect to refactor the repository a bit such that reusable bits needn’t be repeated, and there are clean, free standing modules that can be included a la carte for new hosts. ...

2024-02-16 · 112 min · 23680 words · Logan Barnett

Nix Adventures

Generating a Raspberry Pi image Setting up Machine Learning tools

2024-02-11 · 1 min · 10 words · Logan Barnett

Machine Learning - Stable Diffusion Prompt Engineering

1 Introduction From my prior adventures during Nix Adventures Part 2, I managed to stand up a local instances of stable-diffusion-webui and I’ve been having both a lot of fun and some frustration with it. This domain is not quite as push-button as I thought it would be. There’s a lot of information here, some of it dated, and much of it sitting on YouTube. I hope this serves as a repository of the knowledge I gain here. I will do my best to keep this documentation entirely reproducible - meaning that you can see version numbers, commit hashes, generation parameters (seeds, models, sample sizes), etc. This is one thing I have found lacking on some of the communities out there. ...

2024-02-06 · 16 min · 3224 words · Logan Barnett

Nix Adventures Part 2: Machine Learning Servers

Table of Contents What is this? Today’s adventure: Building a Suite of Machine Learning Servers Building on macOS (LocalAI) Building on macOS (stable-diffusion-webui) What is this? See Nix Adventures Part 1 for the introduction for all of this. Today’s adventure: Building a Suite of Machine Learning Servers I want to get a machine learning platform setup in my local network. I love the power of the Internet and I hate how dependent we are upon it, and the lack of privacy and control we have as a result. But with lots of spare time anyone can setup their own servers with this stuff. LocalAI looks good for this. Cool kids can tell me if there’s something better. ...

2024-01-19 · 43 min · 9030 words · Logan Barnett

Nix Adventures (part 1 of ?)

Table of Contents What is this? Introduction Nix Thus Far Today’s Project: Working on a Raspberry Pi Somehow Write to the Pi SD card Empower Editing SD Card Files from macOS Directly Making Edits to the SD Card sshd Connecting to the Pi (USB-C fail) Imaging the Pi Correctly Abandon Nix and Just Get it Done:private: Building the Image Prior Art Doing Real Nix Things on macOS Building the NixOS Pi image Trying to Make it Work with digga Just Use nix-generators Extracting the Image No Joy on Boot Back, and Display Ports Actually Joy on Boot Conclusion Nix Adventures part 1! ...

2023-12-22 · 44 min · 9234 words · Logan Barnett

A Message to Students and Alumni

As a fresh college graduate I was eager to jump right into the workforce just like y’all are now. I hit up all the online sources, sent lots of applications out, and tried to present myself as the perfect candidate for each hand picked position I thought I could ace. I had a wall of opportunities (WoO) for short where I pinned all of my in-flight applications. It didn’t take long before bills became due. I had a job via my college, so upon graduation I was without any kind of work. I wound up following a lot of my classmates to scrub radar parts at around $10/hr or something lower. ...

2023-03-31 · 7 min · 1397 words · Logan Barnett

Checklist for Good Command Line Programs

Introduction This is to provide a detailed checklist on what makes for a good command line program. The quick list: Provide usage information. Output parse-able output to stdout. Output logging to stderr. Have a --help that describes basic usage and general purpose. Use exit code 0 for expected results, and positive, non-zero exit codes for unexpected results. Disclaimer You can always view my résumé here on the blog. From that you can infer a lot about my experience and things I’ve done. I don’t wish to appeal to authority, but having some experience in the field should amount to something. I deal with this stuff on a day to day basis, and from that I’ve learned some things. You can decide for yourself if it’s poorly acquired trauma or wisdom that comes with age. ...

2022-08-29 · 7 min · 1324 words · Logan Barnett