<?xml version="1.0" encoding="utf-8"?><feedxmlns="http://www.w3.org/2005/Atom"><generatoruri="https://jekyllrb.com/"version="4.3.3">Jekyll</generator><linkhref="https://www.theinternetvagabond.com/feed.xml"rel="self"type="application/atom+xml"/><linkhref="https://www.theinternetvagabond.com/"rel="alternate"type="text/html"/><updated>2025-01-09T13:43:39-06:00</updated><id>https://www.theinternetvagabond.com/feed.xml</id><titletype="html">The Internet Vagabond</title><author><name>Bill Niblock</name></author><entry><titletype="html">Oblivion on Linux: Lutris Edition</title><linkhref="https://www.theinternetvagabond.com/2025/01/09/oblivion-lutris.html"rel="alternate"type="text/html"title="Oblivion on Linux: Lutris Edition"/><published>2025-01-09T00:00:00-06:00</published><updated>2025-01-09T00:00:00-06:00</updated><id>https://www.theinternetvagabond.com/2025/01/09/oblivion-lutris</id><contenttype="html"xml:base="https://www.theinternetvagabond.com/2025/01/09/oblivion-lutris.html"><![CDATA[<h1 id="oblivion-on-linux-lutris-edition">Oblivion on Linux: Lutris Edition</h1>
<p>I love Oblivion. I’ve written before about setting up Oblivion on Linux using
the Steam version, Proton and a handful of aliases: <ahref="/2021/11/20/oblivion-linux.html">Part
1</a> covers most of the tooling setup, and <ahref="/2021/12/09/oblivion-linux-2.html">Part
2</a> covers some mods I liked. This setup
works, though it is a bit of a hassle to manage. It requires running the tools
individually through aliases from a terminal, which can be intimidating and
unfriendly. It also requires the Steam version of Oblivion.</p>
<p>When I recently decided to return to Cyrodiil and close some gates, I wanted to
review my setup, and also my mod list. I discovered that Wrye Bash now does have
a native Linux application (as does LOOT!). However, I opted to stick with using
Wine and Windows versions of these applications due to a complication of modding
Oblivion in general: the case-sensitive nature of the filesystem. On Linux, the
filesystem is case-sensitive; on Windows, the filesystem is <strong>not</strong>
case-sensitive. For modding, this means if you extract an archive with a
<codeclass="language-plaintext highlighter-rouge">Data/meshes</code> folder, but your current setup has a <codeclass="language-plaintext highlighter-rouge">Data/Meshes</code> directory, on
Linux you’ll end up with two directories: <codeclass="language-plaintext highlighter-rouge">Data/Meshes</code><em>and</em><codeclass="language-plaintext highlighter-rouge">Data/meshes</code>.
There are solutions to this problem on Linux, namely using an EXT-4 filesystem.
I don’t feel like reformatting my disks, and so I’ll let Wine handle it. It may
mean a slight performance hit, but it’s Oblivion - there are <strong>always</strong>
performance hits. If there aren’t performance hits, then you haven’t modded the
game enough yet.</p>
<h2id="setup-game">Setup: Game</h2>
<p>I’ll be using <ahref="https://lutris.net">Lutris</a> to handle installing and launching
the game. No more terminal aliases! I’m also using the <ahref="https://www.gog.com/en/game/elder_scrolls_iv_oblivion_game_of_the_year_edition_deluxe_the">GOG version of
Oblivion</a>.
Lutris allows you to link your GOG account, and easily install games using Wine
(or native versions, if available!). In Lutris, I install the game to my
preferred destination, using the default GOG Wine install script. After
installation, I launch the game once to generate some initial configuration
files, and verify things work as expected. Before the next steps, there is a
significant change: the Wine version. In order to use the latest version of Wrye
Bash through Lutris, I had to change the Wine version from my Lutris default,
<em>wine-ge-8-26</em>, to my latest system version, 9.22. There seems to be a Windows
API which Wrye Bash relies upon which isn’t handled well in Wine versions
previous to 9.</p>
<p>Lutris can also install from downloaded GOG installers, without having to link
accounts. Make sure to download all the parts (for Oblivion, there are 3: a
small EXE, and two BIN files). When installing, make sure all the downloaded
files are in the same directory. In Lutris, click the <codeclass="language-plaintext highlighter-rouge">+</code> button to add a new
game, and select “Install a Windows game from an executable.” Name the game as
you wish, and add identifier
<codeclass="language-plaintext highlighter-rouge">the-elder-scrolls-iv-oblivion-game-of-the-year-edition-deluxe</code> for the GOG
version. It’ll pull down nice looking images. On the next screen, click the
<codeclass="language-plaintext highlighter-rouge">Install</code> button next to “Setup file”, choose your desired directory, and then
select the EXE downloaded from the three files above. Lutris will create the
Wine prefix, and load the GOG Installer. Make note of the directory you chose
above for installation (default will be in the Lutris game library directory,
<p>Assuming everything is setup and running, the last step here is to note where
Lutris installed the game. The path to the directory will differ, but the
directory structure should be similar to the below. The Lutris “Directory”
(Right-Click -> Configure) value will bring you to the Wine directory (with
<codeclass="language-plaintext highlighter-rouge">drive_c</code>), and from there will be the <codeclass="language-plaintext highlighter-rouge">GOG Games</code> directory (or possibly
renamed; this can be changed during the GOG install process), and then the
<p>Mod manager, and <strong>everything else</strong> launcher in this setup. One of the most
exciting results of this setup is handling almost all modding management through
the Wrye Bash UI. From the Project Link, download the stand-alone executable
from the releases. I extract it to the <codeclass="language-plaintext highlighter-rouge">GOG Games</code> directory, which will create
a <codeclass="language-plaintext highlighter-rouge">Mopy</code> directory. Within that will be the executable, <codeclass="language-plaintext highlighter-rouge">Wrye Bash.exe</code>. Next,
in the <codeclass="language-plaintext highlighter-rouge">Mopy</code> directory, copy the <codeclass="language-plaintext highlighter-rouge">bash_default.ini</code> file to <codeclass="language-plaintext highlighter-rouge">bash.ini</code>. Make
the following changes (or replace <codeclass="language-plaintext highlighter-rouge">bash.ini</code> with this information):</p>
<spanclass="py">sBashModData</span><spanclass="p">=</span><spanclass="s">..</span><spanclass="se">\M</span><spanclass="s">ods</span><spanclass="se">\B</span><spanclass="s">ash Mod Data</span>
<p><codeclass="language-plaintext highlighter-rouge">BethINI</code> helps manage the “oblivion.ini” file, providing sane options and a
wizard for configuration. This is the only tool that is not run from Wrye Bash.
However, it’s still pretty easy to work with. Download the stand-alone archive,
extract it to the <codeclass="language-plaintext highlighter-rouge">GOG Games</code> directory.</p>
<p>To run the tool, in Lutris single-click on Oblivion. A bar should appear with
some additional details about Oblivion, including some buttons: one will say
“Play”, and one will look like a wine glass; each will have a small button with
an up-facing arrow. Click the arrow button next to the wine glass button, and
select “Run EXE inside Wine prefix.” Navigate into <codeclass="language-plaintext highlighter-rouge">drive_c</code>, then <codeclass="language-plaintext highlighter-rouge">GOG Games</code>,
and into the directory you just set up for BethINI, and select <codeclass="language-plaintext highlighter-rouge">BethINI.exe</code>.</p>
<p>Wrye Bash does allow for custom application short-cuts, but it requires creating
a Windows shortcut <codeclass="language-plaintext highlighter-rouge">.lnk</code> file, and I cannot figure out an easier way to do
that than to just run it from Lutris.</p>
<h2id="post-setup-tools">Post-Setup: Tools</h2>
<p>Verify each tool runs as expected. Conveniently, all the Bethesda DLCs are
“dirty,” so LOOT will notify you, and then you can clean them. Run BethINI,
generate LOD files, and run the game from Wrye Bash. Praise Todd.</p>
<h2id="mods">Mods</h2>
<p>Wrye Bash on Windows can install mods from an archive, but with this setup that
functionality is unreliable. Instead, I extract the mod archives manually before
installing them with Wrye Bash. For each mod that I want to use, I’ll create a
directory in the <codeclass="language-plaintext highlighter-rouge">Mods -> Bash Installers</code> directory, and extract the mod
archive into that directory. Then, within Wrye Bash, on the “Installers” tab, I
can install mods as expected.</p>
<p>For actually using Wrye Bash, I recommend <ahref="https://www.shrine-of-kynareth.de/wrye-bash-for-beginners-part-1-installation-and-installers-tab">laulajatar’s
guide</a>.
Obviously, you can skip the installation steps for both Wrye Bash and OBSE.
There is also the <ahref="https://wrye-bash.github.io/docs/Wrye%20Bash%20General%20Readme.html">Wrye Bash
<p>The most useful next step would be automating this process, by building a Lutris
install script. Also, resolving the alt-tab and windowed problems above.</p>]]></content><author><name>Bill Niblock</name></author><summarytype="html"><![CDATA[Oblivion on Linux: Lutris Edition]]></summary></entry><entry><titletype="html">Life in Progress: January, 2025</title><linkhref="https://www.theinternetvagabond.com/2025/01/03/life-update.html"rel="alternate"type="text/html"title="Life in Progress: January, 2025"/><published>2025-01-03T00:00:00-06:00</published><updated>2025-01-03T00:00:00-06:00</updated><id>https://www.theinternetvagabond.com/2025/01/03/life-update</id><contenttype="html"xml:base="https://www.theinternetvagabond.com/2025/01/03/life-update.html"><![CDATA[<h1 id="life-in-progress-january-2025">Life in Progress: January, 2025</h1>
<p>2024 was a significant year. The most notable change being that I was laid off
in April. The remaining 8 months were quite nice. Before April, the year doesn’t
feel much different or significant. From what I remember, I was stressed,
unhappy, and overall dissatisfied with my situation. I was in the process of
saving money to leave, when I was laid off and paid a generous (enough)
severance. It’s nice when the universe solves problems.</p>
<p>Much of April and May was time spent decompressing. A bit too much drinking,
from what I recall. I began receiving unemployment payments, and looking for
jobs, though only half-heartedly. I was already decided I would start my own
business. I also started my playthrough of <strong>Fallout 3</strong>.</p>
<p>At the end of May, I entered into a game jam, and made my first video game,
<ahref="https://vagabondazulien.itch.io/lander">L4-N-DER Training Simulator</a>. One thing
I do remember from the beginning of the year was speaking with some friends
about trying to publish a video game on Itch. I made the game using
<ahref="https://fennel-lang.org/">Fennel</a> and the <ahref="https://www.love2d.org/">LÖVE 2D game
engine</a>. It was incredibly rewarding, and a great
learning experience. This game would be the first of 5 that I published on my
Itch page this year.</p>
<p>Much of the summer was spent procrastinating starting my own business, and
golfing. At the beginning of summer, in June, my grandmother passed away. She
was about 2 weeks from her birthday, and so we round up and say she lived to 98.
I spent some time helping to clean and clear up her house too. In the beginning
of July I traveled to New York City to see Rezz. I also started properly
exploring WordPress, and working to understand better the business I was still
going to start. Around August, I began playing <strong>Morrowind</strong> for the first time.</p>
<p>In the fall is when I “got serious” about my business. I signed up for the New
York State Self-Employment Assistance Program (SEAP), and through them signed up
with SCORE to speak with a mentor and begin some small business training. I made
my first WordPress site, for a relative (and for free). I also entered into 3
more game jams during this period, publishing
<ahref="https://vagabondazulien.itch.io/ticsweeper">TICSweeper</a> (a Minesweeper clone
mde with the TIC-80); <ahref="https://vagabondazulien.itch.io/runr">RUNR</a> (another
TIC-80 game); and <ahref="https://vagabondazulien.itch.io/escape-the-crash">Escape The
Crash</a>. <em>Escape</em> was based on
some work of mine over the summer to better understand and implement ray-casting
in the TIC-80, which I then translated for use in Fennel and LÖVE. At the end of
fall, my remaining grandmother severely injured herself, placing her in town
through the end of the year. For the second year in a row, much of the holidays
would be spent visiting a rehabilitation center (the same one as my first
grandmother’s). Since the pandemic, I don’t think I’ve had a “normal” holiday
season.</p>
<p>At the end of the year, I formally started my business, <ahref="https://www.niblock.tech">Niblock Technology
Solutions</a>, and began working on websites for two
additional clients. Exploring this new world has been exciting, and there are a
lot of new challenges. I love working with others to solve problems, and I’m
looking forward to it. I’m also beginning work on a second business idea for a
game shop. I want to build a community space for people to play games, enjoy
company, and relax. Rounding the year out was my first playthrough of <strong>Deus
Ex</strong>.</p>
<h2id="now-january-2025">Now: January, 2025</h2>
<p>Now. Plenty of plans and ambitions.</p>
<p>Easiest: I started a playthrough of <strong>Oblivion</strong>. Similar to <strong>Fallout 3</strong> and
<strong>Morrowind</strong>, my goal is to complete the main story and all DLC’s. This time
around, I explored a new modding setup, using <ahref="https://lutris.net/">Lutris</a> to
install and manage the game (from GOG), and all the modding tools. For all three
of these games I want to write up a brief retrospective about my experiences and
any of the setup required for playing them on Linux. I already have two articles
for Oblivion (<ahref="/2021/11/20/oblivion-linux.html">Part 1</a>, <ahref="/2021/12/09/oblivion-linux-2.html">Part
2</a>) detailing using Steam and Proton. I think
the Lutris approach is a bit nicer.</p>
<p><em>Escape The Crash</em> was fun to make, but it’s not done yet. I want to add in a
floor, sound effects, a skybox, and objectives. And an actual ending condition.</p>
<p>Game-making in general I want to continue. I’ve started looking into the
<ahref="https://dragonruby.org/">DragonRuby game engine</a>. I also want to learn (more)
Godot. I have no shortage of ideas, only my regular struggles with motivation
and focus.</p>
<p>I’ve fallen into a few bad habits, and my health is worse for them. Its absurdly
easy for me to put on weight, and equally as difficult to lose it again. At my
heaviest I was over 320 pounds, and I’m now at a much better 240. I want to
bring that number down to 200, but I also want to remove as much significance
from that number as I can. It should be a metric, not a grade.</p>
<p>I’ve also set for myself several music goals. I want to get better at
sight-reading, and so I have a goal to read a new piece of music each week. I
also want to explore music production, and try making my own 45-60 minute mix.</p>
<p>There are the business goals. I need to have an income that supports my
lifestyle, which means more clients and (hopefully) more businesses!</p>
<p>Finally, I want to write more. I think about writing, but rarely follow-through.
As all my other ambitions develop, sharing them with the world will help me
formally catalog my successes. Plus, if I have something useful and helpful to
share, then I want to!</p>]]></content><author><name>Bill Niblock</name></author><summarytype="html"><![CDATA[Life in Progress: January, 2025]]></summary></entry><entry><titletype="html">Life in Progress: September, 2024</title><linkhref="https://www.theinternetvagabond.com/2024/09/24/life-in-progress-september.html"rel="alternate"type="text/html"title="Life in Progress: September, 2024"/><published>2024-09-24T00:00:00-05:00</published><updated>2024-09-24T00:00:00-05:00</updated><id>https://www.theinternetvagabond.com/2024/09/24/life-in-progress-september</id><contenttype="html"xml:base="https://www.theinternetvagabond.com/2024/09/24/life-in-progress-september.html"><![CDATA[<h1 id="life-in-progress-as-of-2024-09-24">Life In Progress, as of 2024-09-24</h1>
<ul>
<li>New hardware: laptop, phone, and NAS</li>
<li><strong>TWO</strong> game jams!</li>
<li>Finishing up Morrowind</li>
<li>SEAP/Self-Employment Progress</li>
</ul>
<h2id="new-hardware">New Hardware</h2>
<h3id="framework-laptop">Framework Laptop</h3>
<p>This new <ahref="https://frame.work">Framework</a> is great! I’ve only had it for a few
weeks, but it is wonderful. I’ve been slowly sync’ing and migrating workflows
from my various existing options to it. Being able to work for multiple hours
without worrying about battery life is nice.</p>
<p>Previously, the Chromebook I have was my go-to remote personal macine.
Considering its age, and the inherent limitations of a Chromebook, it served me
better than I ever could have hoped. However, I knew it’s time was drawing
near, and the Dell I got as part of my work severance was not going to cut it.
Considering I’m starting a business doing technology, I needed a reliable,
“all-day” machine with Linux. The ARM-based Macs are incredibly tempting, but
I am not a fan of Mac. I’ve been eyeing Framework for a bit now, and their
newest 13-inch model with AMD components checked enough of the boxen for me to
dive in.</p>
<h3id="phone">Phone</h3>
<p>For a while I’ve been eyeing Mint Mobile. In the US, they have a plan offering
unlimited text and talk, plus 5 GB of data, for $15 per month. I generally use
less than 1 GB of streaming data, so this seemed like a clearly better option
than the $30+ I was paying for Google Fi. When I decided to switch, they had an
incredible deal offering a Google Pixel 9 plus a year’s service for a great
price, so I not only switched carrier, I also snagged a new phone! I had a
Samsung S21, which was more than sufficient for my needs, so switching isn’t
quite as significant as with the laptop, but it’s still a nice new experience.
The OS and environment on the Pixel is much nicer than Samsung phones, so
that’s quite the plus!</p>
<h3id="nas">NAS</h3>
<p>I bought a 2-bay Synology NAS from a friend a few months ago, and with the
myriad other changes, decided to set it up proper. I setup
<ahref="https://www.navidrome.org/">Navidrome</a> for audio, and <ahref="https://jellyfin.org/">Jellyfin</a> for video. I had previously used Navidrome, then
switched to Jellyfin for both audio and video, but with the new phone comes a
return to form. I like <ahref="https://gitlab.com/ultrasonic/ultrasonic">Ultrasonic</a>,
and Navidrome plays nicely with it.</p>
<p>The other big additions with the NAS is more backup scripts, and also pulling
down some YouTube series I like for local copies. More details in a full post.</p>
<h2id="game-making">Game Making</h2>
<p>Two game jams! One for the entire month of September, <ahref="https://itch.io/jam/clone-jam-game-a-month">Clone
Jam</a>, and a
<ahref="https://itch.io/jam/mini-jam-167-cyber">Mini-Jam</a>. For the Clone Jam, I was
working on building a ray-casting-based dungeon scavenger, similar to “Legend
of Grimrock”, but with less combat. However, while I have made great progress
understanding how ray-casting works, and how to implement it, I won’t have time
to finish such a game. That knowledge won’t go to waste, though! There’s a
game-jam at the end of October where I intend to make use of it. Instead, I’ll
be touching-up and submitting a clone of Minesweeper I made:
<p>For the Mini-Jam, I decided to make a “runner” type game: you maneuver your
sprite to collect and/or avoid certain projectiles. I also made this game in
the <ahref="https://tic80.com">TIC-80</a>. While I didn’t pull any all-nighters, focusing
on a single project for 72-hours with as little down-time as possible is still
quite exhausting! My submission was called
<ahref="https://vagabondazulien.itch.io/runr">RUNR</a>. It ranked 48th out of 66
submissions, which is honestly disappointing, but not enough to demotivate me
from continuing my game-making journey!</p>
<h2id="game-playing">Game Playing</h2>
<p>I finally finished my play-through of Morrowind, and one of its two expansions,
Tribunal. (Note: before “DLC”, new game content for existing games was
distributed like the game itself, on a piece of data-storing media, such as a
CD. These were called “expansion packs.”) I have thoroughly enjoyed my time in
The Elder Scrolls III, and I definitely understand why many claim it as their
favorite. I will talk more about my experience in a full post, just like I did
for my recent Fallout 3 replay (I mean, just like I <em>will</em>. I <em>WILL!</em>)</p>
<h2id="business-time">Business Time</h2>
<p>Alas, while game making and playing are great uses of my time, they do not get
me the resources I need to pay my bills. I continue to work on starting my own
business. I’ve met with two mentors, one business and one technology, to help
get me started and provide guidance. In fact, this week marks what I would
consider the proper beginning of my business. With some dedication, I’ll have
more exciting news to share about this next time!</p>
<h2id="thats-all-for-now">That’s All For Now!</h2>
<p>I think the original intention of a “Now” page is to be less verbose, but I
find the monthly cadence of a somewhat comprehensive update to be more
appealing! Until next month!</p>]]></content><author><name>Bill Niblock</name></author><summarytype="html"><![CDATA[Life In Progress, as of 2024-09-24]]></summary></entry><entry><titletype="html">Life in Progress: August, 2024</title><linkhref="https://www.theinternetvagabond.com/2024/08/19/life-in-progress-august.html"rel="alternate"type="text/html"title="Life in Progress: August, 2024"/><published>2024-08-19T00:00:00-05:00</published><updated>2024-08-19T00:00:00-05:00</updated><id>https://www.theinternetvagabond.com/2024/08/19/life-in-progress-august</id><contenttype="html"xml:base="https://www.theinternetvagabond.com/2024/08/19/life-in-progress-august.html"><![CDATA[<h1 id="life-in-progress-as-of-2024-08-19">Life In Progress, as of 2024-08-19</h1>
<li>Building a custom WordPress Docker container that uses SQLite</li>
<li>Starting my own business</li>
</ul>
<h2id="music">Music</h2>
<p>Adam and I continue our semi-weekly jam sessions! We’ve settled on <ahref="https://www.youtube.com/watch?v=LZVpvJsqTMM">Stan Rogers’
<em>Bluenose</em></a> for our first piece. I
normally pick up lyrics pretty quick, but this song eludes me. We worked on the
chord progression last week, and I’ve been actually practicing!</p>
<h2id="game-dev">Game Dev</h2>
<p>Still having a blast with <ahref="https://tic80.com/">TIC-80</a>. I made a small farming
experiment game, to learn <ahref="https://fennel-lang.org">Fennel</a> some more and also
nail-down some basic design principles. Some of the ideas in that experiment,
namely generating the map with a loop and <codeclass="language-plaintext highlighter-rouge">mset</code> instead of using the built-in
map designer, gave me some insight for solving my darkness troubles in
Nightgolf. I’m still wrapping my head around it, but I think this will be a
solution.</p>
<p>The farming experiment game lives on
<ahref="https://vagabondazulien.itch.io/farm-experiment-1">Itch.io</a> and the <ahref="https://tic80.com/play?cart=3965">TIC-80
Webzone</a>.</p>
<h2id="tech-dev">Tech Dev</h2>
<p><ahref="https://forgejo.org/">Forgejo</a> continues to be rewarding, and I’m looking
forward to expanding my deployment of it by deploying my own <ahref="https://codeberg.org/Codeberg/pages-server/">“Pages”
server</a>. This will allow me to
deploy my static sites on my own infrastructure. I’m also working on an “Action”
for leveraging <ahref="https://itch.io/docs/butler/">butler</a> to publish games I publish
the source code for from my Forge to Itch.io.</p>
<p>In preparation for both my own use, and my business use, I need to learn more
about Nextcloud. I’m also working on building a custom WordPress Docker
container that relies on SQLite instead of MySQL.</p>
<p>Hovering about all this is backups and monitoring, both of which I sprinkle into
my learning voyage. I’m looking forward to writing up some documentation about
my implementation.</p>
<h2id="entrepreneurship">Entrepreneurship</h2>
<p>I’m happy to report I was accepted into New York’s Self-Employment Assistance
Program, <ahref="https://dol.ny.gov/SEAP">SEAP</a>. I will be starting a business offering
managed online services, such as website design and deployment, personal cloud,
and email. I would like to offer these services to local small businesses and
not-for-profits. I think of it as “Silicon Valley experience” at reasonable,
local prices. I’m excited to dive into the parts I’m not very familiar with,
namely the business side of things. I have extensive technical experience and
mastery, but I lack any significant business experience.</p>
<h2id="gaming">Gaming</h2>
<p>I’ve started a new playthrough of <ahref="https://en.wikipedia.org/wiki/Darkest_Dungeon">Darkest
Dungeon</a>. It’s mildly
frustrating, but mostly fun. I have fun yelling at the game; it’s like stress
relief. I’ve been generally successful, but the Crimson Court has been very
rough to me. It is a game about challenges and loss, though, so nothing
unexpected.</p>
<p>I’ve continued my play-through of
<ahref="https://en.wikipedia.org/wiki/Sundered">Sundered</a>, though have put it down for
a bit. I’m playing it on my Steam Deck using <ahref="https://lutris.net/">Lutris</a>, and
it works very well. Lutris continues to impress me, and I want to try writing an
installer for a game.</p>]]></content><author><name>Bill Niblock</name></author><summarytype="html"><![CDATA[Life In Progress, as of 2024-08-19]]></summary></entry><entry><titletype="html">Automatic Backups with RClone, systemd, and Backblaze</title><linkhref="https://www.theinternetvagabond.com/2023/05/07/rclone-backups.html"rel="alternate"type="text/html"title="Automatic Backups with RClone, systemd, and Backblaze"/><published>2023-05-07T00:00:00-05:00</published><updated>2023-05-07T00:00:00-05:00</updated><id>https://www.theinternetvagabond.com/2023/05/07/rclone-backups</id><contenttype="html"xml:base="https://www.theinternetvagabond.com/2023/05/07/rclone-backups.html"><![CDATA[<h1 id="automatic-backups-with-rclone-systemd-and-backblaze">Automatic Backups with RClone, systemd, and Backblaze</h1>
# Run every hour, sometime between the 15 minute and 45 minute mark
OnCalendar=*-*-* *:15:00
AccuracySec=30min
RandomizedDelaySec=5min
# The %i is whatever value is after the "@" for the configured unit. For
# example, rclone-backup@Books.timer will run the rclone-backup@Books.service
Unit=rclone-backup@%i.service
[Install]
WantedBy=timers.target
</code></pre></div></div>
<p>Then I can <codeclass="language-plaintext highlighter-rouge">enable</code> and <codeclass="language-plaintext highlighter-rouge">start</code> a timer for each directory to backup. To
minimize configuration, I also setup the service file to be a template. This
requires a bit of inflexible coordination: the directory name must match to a
<p>The <codeclass="language-plaintext highlighter-rouge">--config</code> option allows us to specify the configuration in the <codeclass="language-plaintext highlighter-rouge">/etc</code>
directory. I include <codeclass="language-plaintext highlighter-rouge">-v</code> to have some additional output in the journal.
Again, <codeclass="language-plaintext highlighter-rouge">--fast-list</code> and <codeclass="language-plaintext highlighter-rouge">--transfers</code> are used to speed up the process and keep
costs lower. Then I <codeclass="language-plaintext highlighter-rouge">--filter-from</code> the “default.filter” file.</p>
<p>Place each of these files (<codeclass="language-plaintext highlighter-rouge">rclone-backup@.timer</code> and <codeclass="language-plaintext highlighter-rouge">rclone-backup@.service</code>)
into <codeclass="language-plaintext highlighter-rouge">/etc/systemd/system</code>. For each directory, enable and start the timer
unit; <codeclass="language-plaintext highlighter-rouge">systemctl enable rclone-backup@Example.timer</code> and <codeclass="language-plaintext highlighter-rouge">systemctl start
rclone-backup@Example.timer</code> will backup <codeclass="language-plaintext highlighter-rouge">/path/to/Example/</code> to the
<p>I would like to get some sort of metrics and dashboards setup to track backup
status and statistics. It could be very useful to be notified if a backup ever
fails.</p>
<p>Eventually, I’ll upload this to a repository somewhere for ease of access and
backup. When I do, I’ll update this post.</p>]]></content><author><name>Bill Niblock</name></author><summarytype="html"><![CDATA[Automatic Backups with RClone, systemd, and Backblaze]]></summary></entry><entry><titletype="html">Funkwhale on Linode with Object Storage</title><linkhref="https://www.theinternetvagabond.com/2022/09/27/linode_funkwhale.html"rel="alternate"type="text/html"title="Funkwhale on Linode with Object Storage"/><published>2022-09-27T00:00:00-05:00</published><updated>2022-09-27T00:00:00-05:00</updated><id>https://www.theinternetvagabond.com/2022/09/27/linode_funkwhale</id><contenttype="html"xml:base="https://www.theinternetvagabond.com/2022/09/27/linode_funkwhale.html"><![CDATA[<h1 id="funkwhale-on-linode-with-object-storage">Funkwhale on Linode with Object Storage</h1>
<h2id="funkwhale-setup">Funkwhale Setup</h2>
<p><ahref="https://funkwhale.audio/">Funkwhale</a> is a decentralized music service,
connecting to the <ahref="https://en.wikipedia.org/wiki/Fediverse">fediverse</a> using the
ActivityPub protocol. It is a web-based application, allowing users to upload,
listen, and share music and podcasts. I think it’s a cool project, and I can
self-host it, so I did. For a while, Funkwhale offered an all-in-one Docker
container, but they shifted focus to a multi-container approach. I had delayed
my transition from all-in-one to multi-container, but finally this past weekend
I found myself with time and motivation to get it done. The installation of
Funkwhale using Docker is very straight forward. The community has developed a
series of templates that can be fetched, modified, and used to get started very
<p>The downside of Funkwhale’s S3-compatible object storage integration lies in how
files are uploaded. One cannot simply <del>walk into</del> upload files to the bucket;
music must be uploaded through Funkwhale’s API (via web or other means), and
then Funkwhale stores it accordingly (like for local uploads). I have a lot of
music, and I can’t be asked to manually upload it all. That’s, like, 2 hours of
half-hearted work. No, instead, the obvious solution is to build a script that
can automatically upload any new music from my local music directory to
Funkwhale automatically. What I’m considering now is how I want to do that. I
could leverage systemd to watch my local music directory, and run the upload
script whenever new music is uploaded. Could even expand it to remove music
whenever I delete it locally, though that seems a bit odd. I could instead setup
a cron or systemd-timer to run at a set interval, and check for any new files
since the last run, and upload them. Regardless of the trigger, the upload
functionality should ideally avoid duplicates, run in a non-blocking fashion,
maybe batch upload files, and be low impact on my desktop. So that’s next.</p>]]></content><author><name>Bill Niblock</name></author><summarytype="html"><![CDATA[Funkwhale on Linode with Object Storage]]></summary></entry><entry><titletype="html">Setting up Syncthing on the Steam Deck (Updated!)</title><linkhref="https://www.theinternetvagabond.com/2022/07/04/steam_deck_syncthing.html"rel="alternate"type="text/html"title="Setting up Syncthing on the Steam Deck (Updated!)"/><published>2022-07-04T00:00:00-05:00</published><updated>2022-07-04T00:00:00-05:00</updated><id>https://www.theinternetvagabond.com/2022/07/04/steam_deck_syncthing</id><contenttype="html"xml:base="https://www.theinternetvagabond.com/2022/07/04/steam_deck_syncthing.html"><![CDATA[<h1 id="syncthing-on-the-steam-deck-updated">Syncthing on the Steam Deck (Updated!)</h1>
<h2id="update">Update</h2>
<p>Turns out, when you update the SteamOS, it completely over-writes the operating
system. All of the setup I had originally written was great, if I never update,
which is unacceptable. Not all is lost; the quest simply gets harder. If I can’t
rely on system-wide services, then I rely on user services.</p>
<p>My first attempt was to setup Syncthing as a system-wide service managed by
<codeclass="language-plaintext highlighter-rouge">systemd</code>, installed via <codeclass="language-plaintext highlighter-rouge">pacman</code>. There are several problems with this. First,
it requires disabling the read-only file-system. Next, <codeclass="language-plaintext highlighter-rouge">pacman</code> is not setup nor
reliable, since every SteamOS update will over-write any changes I make to any
of the read-only file-system, including the directories that <codeclass="language-plaintext highlighter-rouge">pacman</code> relies on.
Related, the update will also erase the Syncthing package. This means I either
never update (inadvisable, and unacceptable), or I setup Syncthing not in the
read-only file-system.</p>
<h3id="the-right-way-user-services">The Right Way: User Services</h3>
<p>systemd allows for non-root-based services, called user services. The Arch Wiki
<li>No root privileges are required. No modifying the read-only file-system</li>
</ul>
<h2id="syncthing">Syncthing</h2>
<p>Syncthing is incredible. I’ve <ahref="2020/07/19/syncthing-part-1.html">written about it
before</a>, but the setup here is a bit more
involved. The Steam Deck runs Arch Linux (and have I told you yet today that I
do too?), so the Arch Wiki <ahref="https://wiki.archlinux.org/title/Syncthing">article on
Syncthing</a> gives some good insight.
When I initially started this process, I installed the SyncthingGTK application
from the Discover Store. This means it is a Flatpak application, and so doesn’t
require elevated user privileges. I also tried the Syncthingy application, which
explicitly calls out Steam Deck users. However, both require running the Flatpak
in the background (like some users do for Discord or Spotify). I don’t like
this, it feels off, and thus I sought a different approach.</p>
<h2id="sshd-still-incredibly-useful">SSHD: Still Incredibly Useful</h2>
<p>I got real tired real quick of using the on-screen keyboard. After
complaining, a friend recommended I enable <codeclass="language-plaintext highlighter-rouge">sshd</code> and just remote in to the
device. Doing so was a breeze, and I recommend to others who don’t have a
physical keyboard they can plug into their device. Drop to desktop mode
(hold the power button for a few seconds, and select the option), and start a
terminal (default is Konsole). Before remotely accessing the device, or using
elevated privileges via <codeclass="language-plaintext highlighter-rouge">sudo</code>, I need to set a password for the default user,
<em>deck</em>. In the terminal, type <codeclass="language-plaintext highlighter-rouge">passwd</code> and set it (and then put it in your
password vault so you don’t forget. You <em>do</em> have a password vault, right?).
Start the service, <codeclass="language-plaintext highlighter-rouge">sudo systemctl start sshd</code>, and optionally enable it to have
<codeclass="language-plaintext highlighter-rouge">sshd</code> automatically started on each boot (<codeclass="language-plaintext highlighter-rouge">sudo systemctl enable sshd</code>). Get
the device IP with <codeclass="language-plaintext highlighter-rouge">ip addr list</code>, from my desktop run <codeclass="language-plaintext highlighter-rouge">ssh deck@ip-address</code>,
type in the password, and now I’m a grade-A Hackermans.</p>
<p>This setting is not reset on SteamOS updates, that I can tell. Once enabled,
this will always start at boot, and always be on until explicitly turned off. Be
mindful of that if you decide to wander away from your home network; maybe turn
it off in public if you don’t need it.</p>
<h2id="setup">Setup</h2>
<p>There are 2 things required: a systemd service file, and the <codeclass="language-plaintext highlighter-rouge">syncthing</code>
binary. Syncthing is written in Go, and a compiled binary can be downloaded that
has no dependencies or installation requirements. It can be downloaded from
the <ahref="https://github.com/syncthing/syncthing/releases/tag/v1.20.3">Syncthing
Releases</a> page for
many platforms and architectures. The Steam Deck is a Linux platform, using the
AMD64 architecture (or x86_64), so I grab that one. I’ll note here, since I have
SSH access, I do all the editing and downloading on my desktop, and then
transfer the files using <codeclass="language-plaintext highlighter-rouge">scp</code> to the Deck. All of these steps can be done on
the Deck itself, without SSH access. Once the proper tarball has been
downloaded, extract it, and within will be the <codeclass="language-plaintext highlighter-rouge">syncthing</code> binary, ready to
rock. I copy/move the binary to <codeclass="language-plaintext highlighter-rouge">~/.local/bin/syncthing</code> on the Deck. The exact
location is less important than ensuring the binary is within my home directory
on the Deck.</p>
<p>The systemd serivce file can also be taken from the extracted tarball, but
requires modification. In the tarball, it is
<codeclass="language-plaintext highlighter-rouge">etc/linux-systemd/user/syncthing.service</code>. Copy this file to
<codeclass="language-plaintext highlighter-rouge">~/.config/systemd/user</code> on the Deck, and edit the “ExecStart” line in the
<p>Now, on my local machine I can open one tab to <codeclass="language-plaintext highlighter-rouge">localhost:8384</code>, to show
Syncthing on my local machine, and another tab to <codeclass="language-plaintext highlighter-rouge">localhost:31337</code> to show
Syncthing on my Deck. From here, I add my local machine as a device on my Deck,
and begin sharing folders.</p>
<h2id="closing-thoughts">Closing Thoughts</h2>
<p>I’ve been using this setup for about a week now. I’ve synced almost 20GB of
files, including configurations and saves for Retroarch. It works after
restarts, OS and client upgrades, and waking the device from sleep. It sits
quietly in the background, without having to start up applications. The biggest
problem is that it doesn’t automatically update to the newest version of
Syncthing. It’s also a bit involved to setup. To that end, I’ve written a tool
to help with setup: <ahref="https://codeberg.org/VagabondAzulien/steam-deck-syncthing">Steam Deck Syncthing
Setup</a>. I’m still
finishing it up, but I intend to make use of it to keep my version of Syncthing
up-to-date. If you use it, let me know!</p>]]></content><author><name>Bill Niblock</name></author><summarytype="html"><![CDATA[Syncthing on the Steam Deck (Updated!)]]></summary></entry><entry><titletype="html">Oblivion on Linux, with Mods! Part 2 - Mods</title><linkhref="https://www.theinternetvagabond.com/2021/12/09/oblivion-linux-2.html"rel="alternate"type="text/html"title="Oblivion on Linux, with Mods! Part 2 - Mods"/><published>2021-12-09T00:00:00-06:00</published><updated>2021-12-09T00:00:00-06:00</updated><id>https://www.theinternetvagabond.com/2021/12/09/oblivion-linux-2</id><contenttype="html"xml:base="https://www.theinternetvagabond.com/2021/12/09/oblivion-linux-2.html"><![CDATA[<p>Every player’s mod list is different. Some will focus on visuals, making the
game as graphically impressive and pretty as possible. Others care primarily
about additional content. I tend towards the later, with a preference for
additional survival or realism mods. I recommend starting with the “Core Mods”
section in the <ahref="https://www.nexusmods.com/oblivion/mods/49898">Oblivion Comprehensive Modding Guide by
Dispensation</a> which will cover
some essential performance and enhancement mods.</p>
<p>Below are some specific mods I would like to highlight, and which I enjoy.</p>
<h2id="survival-related">Survival Related</h2>
<h3id="basic-primary-needs--personal-hygiene">Basic Primary Needs & Personal Hygiene</h3>
<ul>
<li><ahref="https://www.nexusmods.com/oblivion/mods/37088">Nexus Link - Basic Primary Needs</a></li>
<li><ahref="https://www.nexusmods.com/oblivion/mods/42038_">Nexus Link - Basic Personal Hygiene</a></li>
</ul>
<p>These two mods cover most of the survival aspects of my mod pack. “Basic Primary
Needs” adds hunger, thirst, and fatigue, while “Basic Personal Hygiene” adds
cleanliness. Managing these will feel tedious to some, but I really like having
to eat and drink, and visiting a bath house after a long time adventuring.</p>
<p>Each mod can make use of <ahref="https://www.nexusmods.com/oblivion/mods/34905">additional HUD Status
<p>Rounding out the trio is a magic overhaul. Supreme Magicka approaches magic in
Oblivion in a similar way to Vanilla Combat Enhanced with combat: it seeks to
improve and expand, without replacing. To continue similarities, this mod is one
I haven’t sank my teeth into as much. The characters I’ve been playing most
recently haven’t achieved very powerful magical capabilities yet. An alternative
to this mod is <ahref="https://www.nexusmods.com/oblivion/mods/49096">Av Latta
Magicka</a>.</p>
<h2id="next-steps">Next Steps</h2>
<p>In the last part of this series, I want to walk through a complete install of
Oblivion from scratch.</p>]]></content><author><name>Bill Niblock</name></author><summarytype="html"><![CDATA[Every player’s mod list is different. Some will focus on visuals, making the game as graphically impressive and pretty as possible. Others care primarily about additional content. I tend towards the later, with a preference for additional survival or realism mods. I recommend starting with the “Core Mods” section in the Oblivion Comprehensive Modding Guide by Dispensation which will cover some essential performance and enhancement mods.]]></summary></entry><entry><titletype="html">Oblivion on Linux, with Mods! Part 1 - Tools</title><linkhref="https://www.theinternetvagabond.com/2021/11/20/oblivion-linux.html"rel="alternate"type="text/html"title="Oblivion on Linux, with Mods! Part 1 - Tools"/><published>2021-11-20T00:00:00-06:00</published><updated>2021-11-20T00:00:00-06:00</updated><id>https://www.theinternetvagabond.com/2021/11/20/oblivion-linux</id><contenttype="html"xml:base="https://www.theinternetvagabond.com/2021/11/20/oblivion-linux.html"><![CDATA[<p>Oblivion holds a special place in my heart. I remember spending a summer in the
town I went to college in, and playing Oblivion almost every day while listening
to Dream Theater’s <em>Systematic Chaos</em>. Back then, I wasn’t aware of modding, so
it was literally just vanilla Oblivion for hours upon hours. I also used
Windows, so the game would run fine. Now, things have changed. The easier issue
to deal with is playing Oblivion on Linux. Thanks to Valve, Oblivion runs
excellent with Proton out of the box. The more challenging issue is mods, and
that’s what this write-up is all about!</p>
<h1id="vanilla-oblivion">Vanilla Oblivion</h1>
<p>Starting from the beginning, Oblivion is available on many platforms, but my
experiences here will assume the Steam installation. The primary difference will
be with respect to how the tools used to mod Oblivion are run. I’ve got the
Game of the Year edition, which is Steam ID <codeclass="language-plaintext highlighter-rouge">22330</code>.</p>
<h1id="modding-tools">Modding Tools</h1>
<p>Much of modding Oblivion is done with the help of additional tools. A mod
manager is used for installing and configuring the mods. There are several
options for Oblivion, and the one I’ve been suggested and use is called <codeclass="language-plaintext highlighter-rouge">Wrye
Bash</code>. Mod load order is also important, and the tool I’m using to help with
that is <codeclass="language-plaintext highlighter-rouge">LOOT</code>. Finally, <codeclass="language-plaintext highlighter-rouge">TES4Edit</code>, <codeclass="language-plaintext highlighter-rouge">TES4LODGen</code> and <codeclass="language-plaintext highlighter-rouge">BethINI</code> each helps with
performance and configuration.</p>
<p>I have the following directory structure setup for my mods:</p>
/path/to/proton/proton run /path/to/OblivionMods/Tools/Mopy/Wrye\ Bash.exe'
</code></pre></div></div>
<p>Additionally, I copy the <em>Mopy/bash_default.ini</em> file to <em>Mopy/bash.ini</em> and set
the <codeclass="language-plaintext highlighter-rouge">sOblivionMods</code> to “Z:\path\to\OblivionMods\WryeBash”, <codeclass="language-plaintext highlighter-rouge">sBashModData</code> to
“Z:\path\to\OblivionMods\WryeBash\Bash Mod Data”, <codeclass="language-plaintext highlighter-rouge">sInstallersData</code> to
“Z:\path\to\OblivionMods\WryeBash\Bash Installers”, and <codeclass="language-plaintext highlighter-rouge">sOblivionPath</code> to
“Z:\path\to\steam\steamapps\common\Oblivion”. In Wine, <codeclass="language-plaintext highlighter-rouge">Z:</code> references your
local file system. Theoretically, because Wine is awesome, you may be able to
use Linux file system paths in the configuration, but I went with this.</p>
<h3id="usage">Usage</h3>
<p>The guides above provide a very thorough explanation of use. Of note: <codeclass="language-plaintext highlighter-rouge">Wrye
Bash</code> in Wine does not like drag-and-drop actions, so don’t do them. I don’t do
anything special with my usage of <codeclass="language-plaintext highlighter-rouge">Wrye Bash</code>: run the alias, install mods from
the Installers tab, enable or disable mods from the Mods tab. I generally don’t
<p><codeclass="language-plaintext highlighter-rouge">TES4Edit</code> is the Oblivion version of <codeclass="language-plaintext highlighter-rouge">xEdit</code>, which is an incredible tool. All
I use it for is to clean dirty mods. <codeclass="language-plaintext highlighter-rouge">LOOT</code> provides a link to the <ahref="https://tes5edit.github.io/docs/7-mod-cleaning-and-error-checking.html#ThreeEasyStepstocleanMods">quick cleaning
guide</a>,
which gives us exactly the steps required.</p>
<h3id="setup-2">Setup</h3>
<p>Download the latest build from GitHub, and extract it to <em>OblivionMods/Tools</em>.
This is the alias I use, which runs the “Quick Auto Clean” function; replace
/path/to/proton/proton run /path/to/OblivionMods/Tools/BethINI/BethINI.exe'
</code></pre></div></div>
<h3id="usage-4">Usage</h3>
<p>Just like the rest, run the alias and answer the questions. <codeclass="language-plaintext highlighter-rouge">BethINI</code> will make
backups of the modified INI files before over-writing them.</p>
<h1id="next-steps">Next Steps</h1>
<p>Once all the tools are assembled, and usable, the next step is mods! In my next
post, I’ll cover some of my favorite mods. The third part will then be a
complete walk-thru of my installation of my full mod list.</p>]]></content><author><name>Bill Niblock</name></author><summarytype="html"><![CDATA[Oblivion holds a special place in my heart. I remember spending a summer in the town I went to college in, and playing Oblivion almost every day while listening to Dream Theater’s Systematic Chaos. Back then, I wasn’t aware of modding, so it was literally just vanilla Oblivion for hours upon hours. I also used Windows, so the game would run fine. Now, things have changed. The easier issue to deal with is playing Oblivion on Linux. Thanks to Valve, Oblivion runs excellent with Proton out of the box. The more challenging issue is mods, and that’s what this write-up is all about!]]></summary></entry><entry><titletype="html">Character Write-up: Dabbledop Humblebumple</title><linkhref="https://www.theinternetvagabond.com/2020/10/23/gnome-cleric-wizard.html"rel="alternate"type="text/html"title="Character Write-up: Dabbledop Humblebumple"/><published>2020-10-23T00:00:00-05:00</published><updated>2020-10-23T00:00:00-05:00</updated><id>https://www.theinternetvagabond.com/2020/10/23/gnome-cleric-wizard</id><contenttype="html"xml:base="https://www.theinternetvagabond.com/2020/10/23/gnome-cleric-wizard.html"><![CDATA[<p>Gnomes are interesting. I can’t help but play them as small frantic stressballs.
Like hobbits from <em>Lord of the Rings</em>, dialed up to 11, minus the extra
breakfasts, and plus ceaseless banter. Gnomes are fun. This write up was for a
character for the same campaign as <ahref="/2018/01/27/halvar.html">Halvar</a>, when he had
to step away for a bit.</p>
<h2id="backstory">Backstory</h2>
<p>Nothing is more tiresome than midweek afternoon service. All the candles, and
the verses, and the never-ending procession. Odin’s great and all, but I don’t
think he cares about this. Of course, I mention that one time to the head priest
and it’s latrine duty for the week! I guess now it doesn’t matter. All these
acolyte duties were from many years ago. It was pure fate, the day my current
teacher Maell’ezharon wandered into our village. He needed certain gemstones,
which my family was renowned for, and which I was responsible for that day. I
just happened to bring exactly the number he needed with me to the church that
day. That’s a habit I have. The priests say I’m “blessed by foresight.”</p>
<p>Anyway, Maell’ezharon wanders in, and finds me, and I tell him I know he’s
looking for these gemstones, and he’s a bit surprised, but mentions that he
hadn’t had his serious anti-divination protections up, since he figured no one
would care. I told him I didn’t know what that meant. The priest chimed in that
I was blessed by foresight. Maell’ezharon said that was shit. I was blown away.
The priest huffed and wandered off, and I just stared at this elf who seemed
completely unphased by an ability the priests couldn’t stop fawning over me for.
So I push him a bit on it, and he says that divination is mighty common, and
that if I wanted to learn more he could teach me, and he’d be willing to give me
a discount on his services if I gave him a discount on the gems!</p>
<p>And man temples are booooring! So yeah, I just packed up some stuff and told the
priests I had to go because “foresight told me I had to!” and caught up with
Maell’ezharon and off we went! I brought some extra gems, and a few extra
sandwiches (which he seemed off-put by, which I account to his dainty elf ways,
which meant more for me!).</p>
<p>For the most part, it was kind of boring - but not as boring as the temple!
Nothing is as boring as that. Trust me. Just routine travel along “safe and
well-known roads” (says Maell’ezharon) to “respectable and trustworthy
merchants” (says Maell’ezharon) for “law-abiding and fair trade deals.” (says
Maell’ezharon). I was a bit surprised to find myself still saying a prayer here
and there but old habits die hard. The more we travelled, the more Maell’ezharon
would teach me. First he helped me refine my portent abilities, and got me a
spellbook, and let me copy some of his spells into it. Then, in each town we
went to, we would combine our powers to get the best deals possible. I would
call upon my divine powers to aid him, and he would wheel-and-deal his way
through trade deals and contracts. He insisted, time and again, that we do
things “legally and fair” (his words) which was fine by me.</p>
<p>Then, the event happened. And magic suddenly left, and Maell’ezharon… did not
take that well. I should say, this was probably 5 or so years into his
mentorship. He had taught me many things, and I was developing into “quite the
capable wizard, if I do say so myself” (Maell’ezharon said that). We had
travelled all over the place, and eventually Maell’ezharon decided he’d like to
“invest in real estate since it’s like free money” so he bought a tower and did
the whole typical wizard thing: magic plants, and a few animated objects as
guards, and what not. I helped with that too, which was really fun. Anyway when
the event happened, we were trading and suddenly I just felt this… emptiness.
Like, a part of my body was suddenly missing. I looked at Maell’ezharon and he
was pale as bone. He just stared at his hands, then looked at the merchant and
told him he had to go, and he just left. He didn’t even get his things, he just
stumbled out of the shop. I grabbed anything that was ours, and walked outside
and saw him just standing there, waving his arms and trying to say the words,
and his eyes were a bit crazy-like, and he was sweating. After about 20 minutes,
he just sat down and stared. It took me almost 4 hours to finally get him up and
to an inn. The next day we went back to the tower, and it was really quite a sad
sight. The plants had all died (and not because I forgot to water them I always
watered them I am responsible), the guards were piles of rubble. I helped him
in, to his room, to his favorite chair, where he just slumped down and stared
into the empty, cold fireplace. For a few weeks I tended to him, making sure he
at least ate. And I kept up the place, cleaning as best I could. But after a
while, I started worrying about my family, and so I hired a local farm boy to
take care of Maell’ezharon while I was gone (feed him twice a day, make sure he
uses the loo, and don’t let him hurt himself).</p>]]></content><author><name>Bill Niblock</name></author><summarytype="html"><![CDATA[Gnomes are interesting. I can’t help but play them as small frantic stressballs. Like hobbits from Lord of the Rings, dialed up to 11, minus the extra breakfasts, and plus ceaseless banter. Gnomes are fun. This write up was for a character for the same campaign as Halvar, when he had to step away for a bit.]]></summary></entry></feed>