Automated Publish
This commit is contained in:
parent
9db994e2b3
commit
2dee78b17a
48 changed files with 14850 additions and 0 deletions
740
2015/01/01/Ireland-Log.html
Normal file
740
2015/01/01/Ireland-Log.html
Normal file
|
@ -0,0 +1,740 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Ireland Log</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2015/01/01/Ireland-Log.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="day-1-072710">Day 1: 07/27/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Melon... *scatter*
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Today is travel day! Heading out right now towards JFK, then a 5 hour lay-over
|
||||
there, then finally taking off towards the Emerald Isle! I’m both excited and
|
||||
anxious, but surprisingly calm. I think it’s to the point where I’m ready to get
|
||||
things moving.</p>
|
||||
|
||||
<p>This flight will be rather uneventful: short 55 minute hop to JFK. I’m looking
|
||||
forward to the longer flight. The time will give me opportunity to read, relax
|
||||
and think… something I haven’t done enough of in the past week.</p>
|
||||
|
||||
<h1 id="day-2-072810">Day 2: 07/28/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Left is safe!
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Today we finally arrived in Ireland, first in Dublin and then Shannon. The trip
|
||||
over was a bit of a challenge: a lack of sleep combined with an atmosphere
|
||||
trying to promote one, all wrapped in the situation of no comfortable way to
|
||||
actually get sleep helped to contribute to me not sleeping more than 30 minutes
|
||||
tops. On the plus side, I did get to watch Dorian Grey and Percy Jackson on the
|
||||
way over. Also, they served a very delicious beef stew for dinner; I was
|
||||
pleasantly surprised.</p>
|
||||
|
||||
<p>Upon arrival, we immediately set out to retrieve our luggage, which arrived
|
||||
mostly unmolested. Then, as we proceeded out of the terminal, we finally found
|
||||
our 4th member, Suf, waiting eagerly for our arrival; he had arrived a day
|
||||
earlier, and had many a story to share about his adventures in Limerick (our
|
||||
eventual destination for the day). We got our car, forgot our GPS, recovered our
|
||||
GPS, and began driving toward Limerick from Shannon Airport. We quickly
|
||||
discovered that, given our American driving-habits, we thought every car driving
|
||||
on the “wrong side of the road” was going to kill us. I think twice we all
|
||||
panicked for fear of our lives. But, once we adjusted (or at least, once Suf
|
||||
did… Cary is still a bit iffy) the drive was relatively quick and painless. We
|
||||
arrived not more than 30 minutes later in Limerick, and made for the City Center
|
||||
to explore on foot the many shops and eateries that the city had to offer, as
|
||||
well as pay a visit to “The Bitter End” Pub, where Suf had visited on the
|
||||
previous night. We explored for a bit, had lunch at The Bitter End, visited a
|
||||
shop so Cary could purchase a couple shilelagh (spelling), wander to a tourist
|
||||
booth for information and, with said acquired directions, made for our first B&B
|
||||
of the trip: Coonagh Lodge. We relaxed and napped a bit at the Lodge, enough to
|
||||
recouperate for a voyage back to Limerick, and made for some dinner and
|
||||
adventure. We explored around, eventually stopping in at a place called
|
||||
“Wokking” for some authentic Irish Chinese food, which turned out to be very
|
||||
tasty and filling. We then explored for a pub, stopping at “Charlie St.
|
||||
George’s” pub for a quick pint and some people-watching. Then, we explored a bit
|
||||
more, and wound up back at The Bitter End to enjoy an evening cup of tea and
|
||||
some relaxing time. After this, we made back to the B&B, where I discovered that
|
||||
my power brick likes to make a weird noise as it charges my laptop. I account it
|
||||
to the different voltage, and pray that it doesn’t explode and kill us all.</p>
|
||||
|
||||
<p>Of most important note, Suf decided to enlighten us with some of his arab cab
|
||||
driving slang, most notable of which is “Why for you fuck my road?” An important
|
||||
question, to be sure, and one to be answered in the days to come. A very steady
|
||||
lean into this adventure, which I prefer to the alternative “kick-in-the-door”
|
||||
style. Hopefully I can figure out some way to get my computer to connect to WPA2
|
||||
connections so I can have internet more readily. At least for tonight, I
|
||||
probably won’t get back on (unfortunate news for my KoL desires. Too many
|
||||
adventures will be wasted after I waste the NS… Oh well…)</p>
|
||||
|
||||
<h1 id="day-3-072910">Day 3: 07/29/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"Ya know, you keep that shirt on much longer, you gonna get jungle rot" - Biff McBodyspray
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Today was our first big travel day. We left Limerick around 11:00 am and made
|
||||
for Galway. Along the way we stopped in at the Cliffs of Moher, and then
|
||||
continued on to our destination in Kinvara.</p>
|
||||
|
||||
<p>The Cliffs of Moher are quite the site to see. Set along the Atlantic Ocean is a
|
||||
couple-mile stretch of sheer cliffs, topped with walkways and occasional watch
|
||||
towers, or at least ruins of them. We walked the Cliffs for about an hour, just
|
||||
exploring the different angles and particulars of the cliffs themselves: the
|
||||
numerous outcroppings, the way the waves would collide with the rock, the caves
|
||||
and small inlets that the water had born away. All these details helped to
|
||||
complete one heck of a view! I also enjoyed the visitor center, which was built
|
||||
into the hillsides near the cliffs.</p>
|
||||
|
||||
<p>After the cliffs, we make our way to Kinvara. We stop briefly at the Burren, a
|
||||
barren area of rocks and not much else. Once we arrive, we check into our B&B
|
||||
and decide to hold off on Galway until tomorrow night. This leaves us with
|
||||
plenty of time to explore Kinvara proper. We relax for a bit and make to town
|
||||
for some dinner and adventures. We decided to stop in at an Italian place called
|
||||
‘The Full Tide Inn’, and while waiting for our food, had quite the heated
|
||||
philosophical discussion. It really put into perspective for me just how
|
||||
unprepared I am to defend my own view/the Stoic view of topics. After dinner, we
|
||||
walked out to Dunguaire Castle, which was unfortunately closed, but we still
|
||||
were able to explore the surrounding grounds. We learned a bit of background
|
||||
from a fellow tourist, and then made our way back into town to buy a few snacks
|
||||
before heading back to our B&B. That night, despite our best laid plans, we
|
||||
weren’t able to get to Scion. However, luckily for me, the internet access at
|
||||
the B&B was unprotected and therefore I could hop onto KoL and finish up my
|
||||
ascension! I bought the trophie available to me (the one regarding food
|
||||
recipies) and clammered through the astral gash to return once more to my life
|
||||
of adventuring. I ascended as a Sauceror, holding onto Pastamancy so I can
|
||||
really start to rack up the bonus adventures from my cooking. A few adventures
|
||||
gone, I manage to get to level 2 the first day, and am very excited to really
|
||||
get this sauce boiling.</p>
|
||||
|
||||
<h1 id="day-4-073010">Day 4: 07/30/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Be-buh-buh-day, be-buh-buh-day, E-DAY-OH, E-DAY-OH, THAT'S OK!
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Holy crap, today seemed like an entire month’s worth of exploration and
|
||||
adventure. After a delicious traditional Irish breakfast, we made for Galway.</p>
|
||||
|
||||
<p>In Galway we parked and set out for our busiest and most fun day yet. I can tell
|
||||
you now that my feet are none to happy about the amount of walking we achieved,
|
||||
but if nothing else this is a good reminder to properly prepare next time: make
|
||||
sure my shoes are comfortable enough to walk around in almost constantly. So, we
|
||||
park and make towards the city center. Galway is situated along the coast of
|
||||
Galway Bay (go figure…) and has a river running through the center of town. We
|
||||
head down the busy pedestrian walkway and hit up a few shops. Chris, Suf and
|
||||
Cary all check out a couple tattoo parlours, and me being less interested make
|
||||
for some good people watching and relax a bit. We continue our walk through the
|
||||
busy crowds, and eventually make our way to the river. Exploring it for a bit,
|
||||
Cary and I decide to stop off at a river-side restaurant called ‘Mustard’, where
|
||||
I get one of the most delicious pulled-pork sandwiches I’ve ever enjoyed.
|
||||
Afterwards, we met back up with Chris and Suf, and walked out towards the bay a
|
||||
bit. As we voyaged further away from the city, we met with a couple of fellow
|
||||
travelers, and discovered a great bar to stop at in town, known as ‘E Brun’ or
|
||||
‘The Bridge.’ At the bar we met Bill, a local of Galway, who told us of many
|
||||
great sites and happenings around town. An important detail of our stay in
|
||||
Galway is that the Galway Races were going on. Evidently, they’re a big deal.</p>
|
||||
|
||||
<p>So, after our stop in the pub and a delicious Guiness, we make to explore and
|
||||
find ‘The Crane,’ where Shela’s son will be playing live music later in the
|
||||
evening. We find it, and gather from another local (and rather attractive) girl
|
||||
the location of a couple of good niteclube. After finding the Crane we decide to
|
||||
hunt our a place to eat, and eventually wander back to ‘Kelly’s’, which helps to
|
||||
bring back nostalgic memories of Geneseo and our own Kelly’s. We enjoy a
|
||||
deliciously filling meal there, compliments of Chris, and find out that later in
|
||||
the evening we can enjoy Crane for some authentic (and rather good) Irish jazz
|
||||
(which sounds not much different from any other type of jazz…). Thus far,
|
||||
although I’ve been able to explain our day in only a few short paragraphs, we’ve
|
||||
experienced to us what has felt like a lifetime worth of exploration. But, the
|
||||
fun is only just about to start.</p>
|
||||
|
||||
<p>10:20pm, and we just left The Crane Bar to head back to the B&B for some
|
||||
kick-ass Scion action. Along the way, we overhear a few clubs, but nothing
|
||||
really catches our ear until we get to Kelly’s. We can hear the beats from
|
||||
outside, we can feel our feet aching but wanting to join in, so we head upstairs
|
||||
and find (!!!)… a bunch of people standing around as a DJ mixes. What a let
|
||||
down! Well, Suf wouldn’t have any of this, and neither would the rest of us, so
|
||||
after settling into our comfortable corner, Suf finally finds a song that he’ll
|
||||
groove to. And groove he does. Following quickly in suite, we join him on the
|
||||
floor and find ourselves almost alone dancing. The 4 American tourists are the
|
||||
only ones dancing in the Irish Niteclub. Almost poetic, mostly pathetic. Well,
|
||||
this quickly changes, as more people flock to the dance floor after seeing our
|
||||
amazing example. And by no means am I exaggerating! We literally started the
|
||||
dance party at a niteclub. We groove it and move it for a good couple of hours
|
||||
before we take off for new adventures. After a bit of exploring, and a lot of
|
||||
drunk people, we decide to split up: Chris and Suf head back to Kelly’s for some
|
||||
more dancing, Cary wanders the street talking to people, and I, the lamest of
|
||||
the group, head back to the car to call it a night. Before long, we all
|
||||
reconvene, load up the GPS and make our way back to the B&B. This night has been
|
||||
legendary, and no degree of detailed description can truly capture just how epic
|
||||
the night was.</p>
|
||||
|
||||
<p>Simply put: Galway was unforgetable.</p>
|
||||
|
||||
<h1 id="day-5-073110">Day 5: 07/31/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"Where are we heading again? Ballerina?" "BALLINA!"
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>After the unbelievable adventure of Galway, we head out for our next stop in
|
||||
Northwest Ireland: Ballina.</p>
|
||||
|
||||
<p>We set off after saying goodbye to our thus-far favorite B&B and host Shiela,
|
||||
and head north. As we’re driving, we spot a few turn offs and decide to stop at
|
||||
one of them to explore a bit of the countryside. We find our way onto a
|
||||
mountain, scale the smaller hills leading up to it, and eventually make our way
|
||||
back to the car to continue walking. As we’re driving, we happen across one of
|
||||
the more epic scenes of our voyage: the carved out “seat” of a mountain, which
|
||||
we refer to afterwards as ‘The God Seat.’ Surely, the scene of epic Scion games
|
||||
to come.</p>
|
||||
|
||||
<p>As we continue along our voyage, we stop off at Kylemore Abbey, the most
|
||||
stunning scene I’ve seen in my life thus far. Imagine a white and grey castle,
|
||||
then make it less war-oriented and more beautiful, then set it on a gorgeous
|
||||
lake, at the base of a very impressive mountain. That’s Kylemore Abbey. We park
|
||||
and explore a bit, and I get several good pictures. Further, I manage to spot a
|
||||
statue of something half way up the mountain, made of white stone. Whoever made
|
||||
this statue certainly had a lot of determination!</p>
|
||||
|
||||
<p>We leave the Abbey and finish our journey to our B&B for the evening. We relax,
|
||||
settle in, and finally get to playing some Scion. Cary volunteered to run
|
||||
first, so we play through the first half of his one shot: saving a ‘shie’ from
|
||||
an Irish scion and his giant lackies. My character, a defensive tank named
|
||||
Derrick Nasher, does quite well. We finish up the session, spend our exp (making
|
||||
us even more boss), and crash for a relatively early night.</p>
|
||||
|
||||
<p>This B&B also has an encrypted internet, so at first I’m out of luck. However,
|
||||
on a whim I try out the Chromium build I brought along (thanks Hexxeh!!), and
|
||||
manage to easily set up a connection through that! I can’t upload any files or
|
||||
pictures very well, but I can still play some KoL and post a few updates to my
|
||||
social sites. Also, Google Voice has proven to be a godsend! Being able to text
|
||||
from a website has been my primary means of keeping in contact with the family
|
||||
back at home.</p>
|
||||
|
||||
<h1 id="day-6-080110">Day 6: 08/01/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"...just chillax..."
|
||||
|
||||
"Woah... I never expected to hear 'chillax' outside of the states!"
|
||||
|
||||
- A conversation between Kim and Chris
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Day 2 of our stay in Ballina. We eat an early breakfast and make for Killary
|
||||
Adventure for some archery!</p>
|
||||
|
||||
<p>We arrive in Killary around noon, and enjoy an hour of arching with our
|
||||
instructor Kim and another instructor named Dugal. I managed to shoot 2
|
||||
bullseyes! It’s amazing that if you actually hold the weapon properly and keep
|
||||
proper form, you can actually aim with it. Never would have thought otherwise…
|
||||
(/sarcasm). We joked, tried out some trick shooting, played a HORSE-style game,
|
||||
and all-in-all came out of the adventure feeling really great. Plus, we all got
|
||||
some wicked “battle wounds” from the bow on our forearms.</p>
|
||||
|
||||
<p>After the archery, we decide to head to Westport, on advice from Kim, for some
|
||||
shopping and to get lunch. We immediately (perhaps fatefully) stumble upon a
|
||||
place called ‘The Asgard’ and decide that there’s no better place to eat in town
|
||||
than here. I enjoy some Bangers and Mash - Asgard Style - and feel the wonderful
|
||||
feeling of fulness once more. This trip has been a wonderful venture in
|
||||
delicious foods. The traditional Irish breakfast (Egg, real bacon, sausages,
|
||||
black and white pudding, half a tomatoe, toast, tea and juice) is so filling
|
||||
that most of the time we feel no need to eat before dinner. Today, though, was a
|
||||
glaring exception; that, and we had a different breakfast of pancakes and
|
||||
poached eggs. After the Bangers and Mash, we split up: I head off to explore the
|
||||
riverway and the port, while the others go shopping. I manage to snap quite a
|
||||
few nice pictures, and figure out some more features on the camera, before we
|
||||
meet back up and head back to Ballina, and then onwards to Enniscrone, the
|
||||
birthplace of Cary’s ancestors, the Grimes.</p>
|
||||
|
||||
<p>We arrive in Enniscrone around 4:00 in the afternoon, to a beautiful sunny day
|
||||
and warm weather. Enniscrone in a beach town, so we split up once again, with me
|
||||
heading out towards the beach and the others once more hitting up the shops. I
|
||||
walk along the Atlantic Ocean, soaking in the waves and the rays, and eventually
|
||||
make my way back to the car to relax for a bit. We head back to the B&B, rest
|
||||
for a bit, and decide that heading back to Enniscrone for some delicious,
|
||||
authentic Irish-Chinese food would be best. And best it was: we discovered the
|
||||
awesomness and addictivness that is puffed-rice prawn crisps. Dinner was good,
|
||||
too.</p>
|
||||
|
||||
<p>We head back to the B&B and finish up Cary’s session of Scion. Chris set his
|
||||
crab-tank relic for self-destruct and took care of all the giants for us, while
|
||||
I managed to manipulate our crazy Irish scion friend Brian that he forgot how to
|
||||
fight, which led to his untimely demise (or at least him falling
|
||||
unconscious…). We saved the ‘shie’, secured the relic protected inside it, and
|
||||
got Brian’s birthrights for ourselves. A success, and a good start to our Scion
|
||||
adventures yet to come. Cary hands the GM torch over to Chris, and we begin his
|
||||
session tonight: we get tasked by Brigid (one of the Tuatha) to help out one of
|
||||
her daughters. We manage to find her just in time for the night to expire, and
|
||||
so we call it there. In KoL, I’ve managed to get to level 4, half-way towards 5,
|
||||
before I call it a night. I haven’t yet played all my available turns, but I’m
|
||||
making decent progress. With a bit more practice I can probably get getting to
|
||||
level 6 a 2-day process, which will help to speed through the slower part of the
|
||||
game.</p>
|
||||
|
||||
<h1 id="day-7-080210">Day 7: 08/02/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Worst. Bank. Holiday. Ever.
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>After a restful evening, and another delicious breakfast of pancakes and poached
|
||||
eggs, we enjoy a quick chat with John, our host, before heading off on our
|
||||
“driving day from hell.” Our course will take us through the middle of Ireland,
|
||||
stopping off at Athlone to see the oldest bar in Ireland (and perhaps the world)
|
||||
and eventually into Tipperary for the evening</p>
|
||||
|
||||
<p>Our first stop of the day is in Athlone, a city smack-dab in the middle of
|
||||
Ireland. The drive to Athlone was a bit long, but still strikingly beautiful. It
|
||||
seems like Ireland, despite it’s rather small size, is still host to some of the
|
||||
most grandiouse and beautiful scenes I’ve ever seen. We arrive in Athlone around
|
||||
noon, and wander around a bit. Suf, Cary and I all stop in at ‘The Snug’ for a
|
||||
quick pint, before we take off across the bridge in the middle of town to hit up
|
||||
some shopping. We stop off in Athlone Castle along the way for some great
|
||||
pictures, and run into Chris, who had wandered off to find some shops, after we
|
||||
cross the bridge. Chris and I decide to backtrack to the Castle, then wander
|
||||
around before we head back to Sean’s. Sean’s is the oldest bar in Ireland,
|
||||
dating back towards 900AD, and quite possible the oldest bar in the world.
|
||||
Obviously, I enjoy a pint of Guiness before we head back to the car and continue
|
||||
along our day’s journey.</p>
|
||||
|
||||
<p>We decide to stop off at Clanmocnoise Abbey, a ruined abbey just south of
|
||||
Athlone, before heading out to Tipperary. The sites there are truely amazing,
|
||||
and the ruined Abbey is quite cool as well. The conservation attempts have, thus
|
||||
far, done a good job of maintaining what was salvageable, but the Abbey itself
|
||||
is beyond repair. After some cool pictures, we continue on our way to Tipperary.</p>
|
||||
|
||||
<p>We finally arrive at our destination for the evening. Tipperary is a small town,
|
||||
with a good amount of shops and a very comfortable atmosphere. Unfortunately,
|
||||
and unknown to us, due to the Bank Holiday most of the food shops are closed. We
|
||||
settle for a fast-food place called “American Stars” and apologize to our
|
||||
digestive tracks before heading back to our B&B for some Scion action.</p>
|
||||
|
||||
<p>Scion has us defending Nikki from a couple of Fenrir, which we succeed in doing,
|
||||
and then finding out our target was, in fact, a doppleganger. We discover this a
|
||||
bit too late, though, and end our session assaulting ‘The God Seat’ and a Norse
|
||||
Scion, who claims that “the ginger bitch has got to go.” Well, Derrick’ll be
|
||||
damned if he let’s a potential future employer die that easily. The stage is set
|
||||
as both Derrick and the Norse Scion enter their Collosus Armor, Cary’s Scion
|
||||
enters his Warpspasm, and Suf’s Scion prepares to make pincushins out of the
|
||||
Frost Giants. After Scion comes KoL, which sees my progression to level 5 and
|
||||
acquisition of Advanced Sausecrafting. I adventure for a bit more, before
|
||||
fatigue wins and I succumb to sleep.</p>
|
||||
|
||||
<h1 id="day-8-080310">Day 8: 08/03/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"There any bars... excuse me... pubs around here?"
|
||||
|
||||
"Welcome to Ireland, lad!"
|
||||
|
||||
- A conversation between me and a bouncer
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Today we headed back to the Rock of Cashel to get a great tour around the castle
|
||||
grounds. I took lots of pictures, bought a few things for myself and a great
|
||||
sweater for my mom, fall down a few steps while wandering the castle grounds
|
||||
(resulting in a beautiful leg-bruise to match my archery-provided battle wound
|
||||
on my forearm), and we wrap up Tipperary and head to Cork.</p>
|
||||
|
||||
<p>We arrive in Cork and are immediately thrust into the realization that Cork is
|
||||
quite the large, industrial city. After a bit of confusion finding our way to
|
||||
our B&B for the night, we decide to take some naps to recover some energy and
|
||||
mana, and head out to find dinner and some nighttime entertainment. On the
|
||||
generocity of our very funny and cheery innkeep, we head to a place called
|
||||
Zak’s, and are pleasantly surprised in the meal; I had a delicious Irish-beef
|
||||
burger, some awesome garlic bread, and a Murphy’s to wash it all down (Murphy’s
|
||||
is brewed in Cork; Guiness is not very welcomed here). We finish dinner, and
|
||||
head out to find some clubs for the night.</p>
|
||||
|
||||
<p>We start our evening off wandering the neighborhood around Zak’s. We find a
|
||||
place, rather populated and playing somewhat good music, but quickly discover
|
||||
it’s overpopulated with Binfo for the night. We pass this pub, and ask the
|
||||
bouncer for any suggestions, and get pointed towards a place called “Sober
|
||||
Lane.” Ignoring the odd name, we head off in the appropriate direction and run
|
||||
into a metal pub along the way, so I insist we stop in and enjoy a drink. We get
|
||||
a pint, enjoy the music, and move on. ‘Sober Lane’ turns out to be a much
|
||||
younger-oriented pub, which doesn’t dissappoint us, but it really pulls through
|
||||
when Chris discovers the dart board in the back corner. We quickly take it over,
|
||||
playing darts until the pub closes (oddly early, for our expectations), and
|
||||
Chris and I head out to relax outside. Cary and Suf, being the charmers that
|
||||
they are, end up chatting it with two girls local to the area, who invite all of
|
||||
us back to a place called ‘Cruscien Lar’ (which we all continually misunderstand
|
||||
as crusifixion). We follow them through the streets of Cork, and eventually wind
|
||||
up at the closed pub. They hit the secret side enterence, and convince the owner
|
||||
and co. to let us in.</p>
|
||||
|
||||
<p>Cruscien Lar (which I’m sure I’m spelling wrong), ended up being the undeniable
|
||||
high point of Cork. Once we got a bit more comfortable and began chatting with
|
||||
everyone, we really ended up enjoying ourselves! And then, we met Alan. Alan is
|
||||
a veritable world travelling musician. He has been pretty much everywhere,
|
||||
including state side, with his band ‘The Jordans’ and he had many tales to share
|
||||
with us. He mentioned that the prices for alcohol (and women (…and drugs))
|
||||
were best in Slovakia, that you’ll never see anything more beautiful than the
|
||||
Southeastern Asian countries, and that Russia really isn’t that bad a place.
|
||||
Really a lot of what we talked about fell into those topics, and it was a
|
||||
conversation which I enjoyed thoroughly. Alan taught me that being a world
|
||||
traveller doesn’t take gobs of money and resources. All it takes is a desire to
|
||||
explore, and a willingness to step outside your comfortable little box.</p>
|
||||
|
||||
<p>Throughout the night we talked with Alan, and his friends Marie and Ger (the
|
||||
girls which Cary and Suf connected with), about not only their travels, but also
|
||||
their taste in music (which was gloriously metal-oriented), their careers, their
|
||||
adventures and their aspirations. As the night wound down, we all said our
|
||||
farewells, and left through the side door. Our night was almost at an end! As we
|
||||
wandered back to the B&B, we stumbled across a rather rowdy bunch, and Suf,
|
||||
being the social butterfly that he is, decided to hop on board. We eventually
|
||||
were introduced to Nollagh and her friends, who were travelling in our direction
|
||||
to a supposed party. Considering we’re still young, as was the night, we tagged
|
||||
along and were eager to arrive at another Irish party. Sadly, the party was a
|
||||
bit of a bust, and seeing as we were so close to home, we decided to just call
|
||||
it a night. An awesome night, almost so much to as to rival our crazy adventures
|
||||
in Galway.</p>
|
||||
|
||||
<h1 id="day-9-080410">Day 9: 08/04/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>My father's name is Merry Merry Mack!
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>After a rather enjoyable rest, we departed from Cork on our way to our final
|
||||
“big city” stop: Killarney. Killarney has a very homey feel about it. There are
|
||||
plenty of tourist shops, plenty of sites and sounds to experience, and the night
|
||||
life is absolutely amazing, but more on that in a bit.</p>
|
||||
|
||||
<p>We arrived at our B&B to find that the owner had stepped out for a bit, so we
|
||||
decided to just park and wander into town. We quickly found some great shops,
|
||||
restaurants, pubs, and other such attractions. Chris and I wandered around a few
|
||||
places, and I ended up finding a few good gifts for the family: a corkscrew and
|
||||
wine stopper for dad, both made of pewter; and a hat for Eric, which I think
|
||||
will suit him quite nicely. After a bit more wandering, we headed back to the
|
||||
B&B to relax and recover before we hit the town.</p>
|
||||
|
||||
<p>I think the most memorable part of Killarney for me was all the festivities
|
||||
going on at night in the city. Almost every pub had live music, there were
|
||||
people out walking and having a great time. There were lights, and food, and
|
||||
music, and drinks… it just felt like a fun place to be! We started our night
|
||||
wandering around a bit, and found ourselves at an outside banquet of sorts, with
|
||||
life music. Suf and I, exemplifying our boistrious nature, led the singing of
|
||||
the chorus (see the quote), and made our mark early in the Killarney
|
||||
perspective. After our job was done there, we found our way to a pub called
|
||||
‘Scruffy’s’, near an amazing hotel. The band playing there had some great
|
||||
traditional music as well, which we joined in on. Had a pint, made some friends,
|
||||
moved on down the road to our final destination for the evening: McSorley’s.
|
||||
McSorley’s is appropriately named because my feet at the end of the night were
|
||||
very McSore. To say the least, McSorely’s is about 50% enough to keep me in
|
||||
Ireland. The drinks were great, the atmosphere was amazing, and, the best part
|
||||
of all, the music was fantastic. This particular evening we were treated to a
|
||||
performance by a ground called “Zoot Allures”, a cover band. They played an
|
||||
AMAZING set, with so many great songs, and such great energy, that it made me
|
||||
really wish American clubs would pull their heads out of their asses and
|
||||
actually play good music. Anyways, amazing music was played, several videos
|
||||
were filmed, more-than-several beverages were consumed, and at the end of the
|
||||
night, the lead singer from the group gave me a great, big bear hug. Naturally,
|
||||
I returned the favor.</p>
|
||||
|
||||
<p>Well, Zoot Allures wasn’t the end of the night for us, as McSorely’s has a
|
||||
secret back room dance club, so we obviously had to make use of that. We danced
|
||||
for a good while, then Chris, Cary and I decided to take off and get back to the
|
||||
B&B to sleep. We left a window open for Suf. Once again, to say the least,
|
||||
Killarney is absolutely amazing!</p>
|
||||
|
||||
<h1 id="day-10-080510">Day 10: 08/05/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>The room fell silent, as the man lowered his microphone to the crowd. A single
|
||||
bewildered bystander asked, "Yeah?" The man only nodded, a knowning nod. The
|
||||
bystander tipped his head back, and breathed deep the pub air, and finally, as
|
||||
the tension grew to an unberable level, cried out: "THUNDERSTRUCK!!!"
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>I thought the first night was amazing. Holy crap this town just keeps getting
|
||||
better and better!</p>
|
||||
|
||||
<p>So, day 2. After some great, great sleep (which, of the 4 of us, I’m the only
|
||||
one to wake up in time for breakfast), I clean myself up and head to town.
|
||||
Yesterday I had seen an “internet cafe,” and figured it would be similar to what
|
||||
we call internet cafes in America (I was wrong), so I made my way there to get
|
||||
my KoL fix, and check up on the tubes. Well, the internet cafe was a
|
||||
pay-per-use computer room, so I threw my cash at the front desk and got a couple
|
||||
hours of hardcore internet access. KoL Update: beat the boss bat, the Goblin
|
||||
King, and the first part of my Nemesis quest. Not bad, I guess, but I think it’s
|
||||
safe to say that juggling an acension with travelling abroad is a bit difficult,
|
||||
unless you know what you’re doing. I don’t, for the most part.</p>
|
||||
|
||||
<p>After lunch at a (surprise!) Chinese food place, we decided to take the
|
||||
afternoon off and head back to the B&B to play some more Scion, before
|
||||
McSorley’s opened up again. We did some great stuff, saved the freckled Scion,
|
||||
then I made the decision to let her die (which ended up coinciding with some
|
||||
major character development, so that’s nice), and then Cary’s character died
|
||||
defending her. So, all in all, we failed our mission, but succeeded at Scion.
|
||||
Huh.</p>
|
||||
|
||||
<p>Anyways, McSorley’s opened up shortly after the game, so we hit up dinner (more
|
||||
Chinese), and I spent some time wandering around getting pictures of the pubs we
|
||||
had visited. It’s funny: my dad complimented me on all the pictures of the
|
||||
beautiful scenary and what not, but he asked a very important questions: where
|
||||
are all the pubs?? So I tried to rectify that our last night in Killarney,
|
||||
snapping a picture of a few placed before winding my way back to McSorley’s for
|
||||
the evening. Round 2… FIGHT!</p>
|
||||
|
||||
<p>The cover band at McSorley’s tonight was not as good as the other band, which is
|
||||
the equivalent as saying that the 200000 Candle-Power flashlight isn’t as bright
|
||||
as the 300000 Candle-power one: they’re both way brighter (or, awesomer in this
|
||||
case) than the required flashlight (or, typical American cover band, in this
|
||||
case). Tonight’s show was by Revenge, who paid tribute to some of the older
|
||||
songs, including quite a bit of ACDC. We rocked out hard core, really supporting
|
||||
the band out front by dancing and singing along. Then the moment happened, the
|
||||
moment that Chris has claimed is the most epic moment of the trip. The quote
|
||||
says it all, but in short: the band was playing Thunderstruck by ACDC, and the
|
||||
lead singer lowered the mic to me to scream “THUNDERSTRUCK!!” into, and it was
|
||||
amazing timing. I do have to say, sometimes my timing is spectacular. Anyways,
|
||||
that memory will stick with me forever, and I think with Chris, Suf and Cary as
|
||||
well, so I consider this night an unbelievable success.</p>
|
||||
|
||||
<p>Once more, we invaded the back room, only this time we stayed until close. We
|
||||
danced our way into another dance party, because evidently we’re all Lords of
|
||||
the Dance, and met some new friends: May, a French girl there with friends. We
|
||||
danced with them, we danced with total strangers, and we danced until we
|
||||
couldn’t dance any more! I literally understood what it meant to be out of mana
|
||||
that night. I had barely the energy to return home, before I just passed out on
|
||||
my bed.</p>
|
||||
|
||||
<p>Killarney is the city I would most enjoy in Ireland. Of all the places we’ve
|
||||
gone, it’s the city which feels the most alive. It has the loudest pulse, the
|
||||
brightest flash, the sweetest music; it’s the type of environment I want to live
|
||||
in. While I don’t think Ireland is quite the island for me, if I did decide to
|
||||
live here, Killarney would be my final destination.</p>
|
||||
|
||||
<h1 id="day-11-080610">Day 11: 08/06/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Wow, this place is nice. I don't think we belong here.
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Today we all are taking a bit of a down day. After the past 2 nights, I’m
|
||||
exhausted, and ready to just sit around a do nothing for a bit. Well,
|
||||
conveniently Cary is getting his tattoo today, so I got my wish. We check out of
|
||||
our B&B, pack up the car, park in town and go exploring a bit more. After I
|
||||
stop at the Tourist Information, I learn of a free Wi-Fi pub nearby, and relax
|
||||
there for a couple of hours, enjoying some tea and playing some KoL. I don’t
|
||||
really achieve anything of any worth in game, and Suf, Cary and Chris show up
|
||||
just in time for us to work on our Scion characters a bit and head to dinner. We
|
||||
go to the Chinese food place we hit up last night for lunch, and then Cary must
|
||||
depart for his tattoo. Chris, Suf and I all decide to wander back into the pub
|
||||
for a bit, where I finish up my KoL for the day, enjoy some more Scion, check
|
||||
the email, and generally just chillax.</p>
|
||||
|
||||
<p>We leave Killarney around 5:30 and arrive at our second-to-last destination,
|
||||
Ballyseede Castle Hotel. Since we have nothing to do until later, we settle in,
|
||||
relax for a bit and get to playing some more Scion. That’s right: WE ROLEPLAYED
|
||||
IN A CASTLE.</p>
|
||||
|
||||
<p>After the session, we split up: Cary, Suf and Chris all head back to Killarney
|
||||
(a whopping 15 minute drive) to hit up McSorley’s again, and I lame out and take
|
||||
the night off. Whilst waiting for sleep to drift in, I enjoy some good ol’
|
||||
American past-time and watch a bit o’ telly: ‘Analyze That’ was on. I watched
|
||||
‘Analyze That’ in a castle. Today is just full of achievements!</p>
|
||||
|
||||
<h1 id="day-12-080710">Day 12: 08/07/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"Ma'am? A quick question. We named the dogs: this one is named Roger the Mighty,
|
||||
and this one is named George the Stout. How close were we?"
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>After a wonderful night’s rest in the castle, we pack up our things, enjoy a
|
||||
delicious breakfast, explore the castle grounds a bit more, and head off to our
|
||||
final B&B, just outside of Shannon.</p>
|
||||
|
||||
<p>As we approached our destination, we decided to stop by Limerick for
|
||||
lunch/dinner and just explore our initial landing grounds one last time. We
|
||||
wander to ‘The Bitter End’, take some pictures, and find our way to a Chinese
|
||||
food place (big surprise) and an outdoor pub. Since we couldn’t decide on which
|
||||
one to go to, I suggested we go to both. This decision was met with much
|
||||
happiness. After we finished our Chinese food (quite delicious), we headed next
|
||||
door, and was met with delicious desserts and beautiful women. Our waitress let
|
||||
slip it was her birthday, so in true, boistrious American style, we sang her
|
||||
‘Happy Birthday!’ (Hope it was a good one, Sam!). Apparently she got in trouble
|
||||
for that… Oops…</p>
|
||||
|
||||
<p>Anyways, we hit up our B&B to drop stuff off, and repack our bags for tomorrow’s
|
||||
trip, and finish up our Scion campaign. We hopped out to ‘Durty Nelly’s’ for a
|
||||
quick dinner (and sadly, our waitress Una already had her birthday a month ago)
|
||||
of traditional Fish and Chips, then back to the B&B to finish up our night
|
||||
rolling the dice. With the campaign finished, we hit the hay in preparation for
|
||||
tomorrow’s voyage. Hopefully none of my loot get’s wrecked!</p>
|
||||
|
||||
<h1 id="day-13-080810">Day 13: 08/08/10</h1>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"Do I really have to be the asshole to say that we travelled back in time in
|
||||
that hot tub?" - Hot Tub Time Machine
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>And just as quickly as it began, our whirlwind tour comes to an end. We left the
|
||||
B&B early this morning to get to the airport, returned the car without a fuss,
|
||||
checked in our baggage, shuffled through customs and passport checks, and
|
||||
eventually found our way to the gate. The airport in Shannon has free Wi-Fi,
|
||||
which is epic, so I whiddle away at my turn-count in KoL, achieving little but
|
||||
still enjoying the game. Shoot off a text to mom letting her know things are on
|
||||
time, and eventually board my first of three flights for the day.</p>
|
||||
|
||||
<p>The flight is rather uneventful. We’re seated next to a kid flying back from a
|
||||
wedding, so it was fun to chat with him for a bit. Then, onto the free movies:
|
||||
Iron Man 2 (pretty boss), Hot Tub Time Machine (really, quite the unknown
|
||||
comedy. Hilarious!) and Repo Men (meh, not really my bowl of soup…) round out
|
||||
the trip. We land soundly in JFK, disembark, and find our next flight delayed,
|
||||
so Chris, Suf and I, after bidding farewell to Cary at the Terminal, head to
|
||||
‘NYC Sports Grill’, right outside our arrival gate from the beginning of the
|
||||
voyage, and enjoy some good ol’ fashion American burgers before our flight to
|
||||
Boston.</p>
|
||||
|
||||
<p>The flight to Boston is painless, despite the Logan Airport’s best attempt at
|
||||
being the worst air port ever (I just really don’t like it). We land safe and
|
||||
sound back home, and I eagerly make my way to baggage claim to make sure
|
||||
everything is safe there. I get my bags (w00t), find everything in one piece and
|
||||
accounted for (w00t x2), and bid Chris and Lindsay farewell as my parents drive
|
||||
up in the van.</p>
|
||||
|
||||
<p>Thus, our voyage ends. A successful first trip overseas, and a more-or-less
|
||||
successful first attempt at travel blogging too. Methinks I’ll have to try this
|
||||
again sometime. Farewell, and as they say on the Emerald Isle: CHEERS!</p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2015-01-01
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/other">other</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
223
2015/04/28/Farewell-to-Windows-Tour.html
Normal file
223
2015/04/28/Farewell-to-Windows-Tour.html
Normal file
|
@ -0,0 +1,223 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Bye Bye Windows</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2015/04/28/Farewell-to-Windows-Tour.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1>Farewell to Windows Tour 2015</h1>
|
||||
<p>It has come time to bid Windows farewell. Once upon a time Windows was
|
||||
the only digital world I knew. It began when I was young, during the
|
||||
venerable 3.1 era. I remember booting up our family computer into DOS, and
|
||||
before starting Windows I could start Doom 2 or Keen's Dream, or any
|
||||
number of other games. That was my first interaction with a command line.
|
||||
My, my, how times have changed.</p>
|
||||
|
||||
<p>From Doom 2 and Keen I went on to Baldur's Gate and Battlezone. I
|
||||
dabbled here and there in NES/Sega/SNES/Genesis stuff, but PC gaming
|
||||
always held my attention. The only exception to this was my Gameboy with
|
||||
Pokemon, because that game is literal crack to a 12 year old. Baldur's
|
||||
Gate held my attention like only a classic RPG can, and I remember
|
||||
pouring over the manual and this guidebook I had to learn as much as I
|
||||
could about the world the game created. Around this time I was also
|
||||
getting into Dungeons and Dragons (Satan's game!), so there was a
|
||||
definite mixture of digital and tabletop gaming. Battlezone, on the
|
||||
other hand, was introduced to me by my good friend Rob, and became a
|
||||
classic among my group of friends. Then, of course, Smash Bros became
|
||||
a thing and that was our game of choice. That and Soul Calibur; ah
|
||||
memories.</p>
|
||||
|
||||
<p>It wasn't until relatively recently that I ever even tried gaming on
|
||||
Linux. My senior year of high school I was introduced to Linux by my
|
||||
friend Ben. That spawned the interest, but it was always secondary to
|
||||
my true love of computers, gaming. Throughout college I had an Asus
|
||||
netbook, which was always my Linux machine, but I still had my Windows
|
||||
desktop, which was my gaming machine. Windows was essential for gaming:
|
||||
Steam; Final Fantasy 11 (yes, I know.); triple-A titles. These
|
||||
were "Windows Exclusives," unless I wanted to venture into console
|
||||
territory. Thus it remained, throughout college and my early-mid 20's.
|
||||
Then something magical happened: Steam came to Linux. That was the
|
||||
deathblow to Windows in my book, at least for my needs. I had long ago
|
||||
dropped my interest in many games, leaving a small but well-loved list of
|
||||
games that I do still care about. The majority of these are now supported
|
||||
on Linux, but there are a few which remain Windows only. That is what this
|
||||
"tour" is for; the last few games I want to play on Windows, before I go
|
||||
Linux only.</p>
|
||||
|
||||
<h3>Featuring</h3>
|
||||
<p>The list isn't huge, but there are some definite strong players:</p>
|
||||
<ul>
|
||||
<li>Dark Souls and Dark Souls 2</li>
|
||||
<li>Dishonored</li>
|
||||
<li>Duke Nuken Forever</li>
|
||||
<li>Far Cry 3: Blood Dragon</li>
|
||||
<li>Spec Ops: The Line</li>
|
||||
</ul>
|
||||
<p>Mostly "newer" games, mostly graphics-intensive games. I know these
|
||||
run fine on Windows, and they may work in Wine but I don't feel like
|
||||
either figuring out if they do, or trying to make them play nice.</p>
|
||||
|
||||
<h3>Special Guest Appearances By</h3>
|
||||
<p>There are a few games that I will fiddle with to get working in Wine
|
||||
though, and these are games I don't quite want to let go, but still are
|
||||
Windows only: Skyrim and Guild Wars 2. I love Guild Wars 2, I think it's
|
||||
the best MMO on the market, with the most supportive and friendly
|
||||
community and one of the best developers. Skyrim is, well, Skyrim; I like
|
||||
hitting things. Chivalry would be a close third on this list, but Chivalry
|
||||
is on Linux now, so I can scream my lungs out and stab people whenever I
|
||||
want. Regardless, I imagine I'll be playing plenty of each of these while
|
||||
finishing up the main list.</p>
|
||||
|
||||
<h3>Tickets on Sale Now!</h3>
|
||||
<p>Well, not exactly. But this would be a fantastic way to get into
|
||||
streaming, and maybe I'll transition from Windows to Linux with that as
|
||||
well. Streaming has always been something I've wanted to do, but never had
|
||||
the time nor effort to pursue. So, either tradition will hold strong, or a
|
||||
new challenger will appear. Until then.</p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2015-04-28
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
248
2015/05/04/Philosophy-of-Bill-1.html
Normal file
248
2015/05/04/Philosophy-of-Bill-1.html
Normal file
|
@ -0,0 +1,248 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Philosophy of Bill</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2015/05/04/Philosophy-of-Bill-1.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="perception-and-thought">Perception And Thought</h1>
|
||||
|
||||
<p>I consider myself a very philosophical person. That doesn’t mean I’m any
|
||||
good at philosophy, I just tend to think a lot about ethics, morality, and
|
||||
happiness. Recently I’ve been thinking more about my worldview, what I
|
||||
value as important, and how I achieve happiness in my daily life. I wanted
|
||||
to jot down what I feel is a brief examination of my basic tenants; the
|
||||
basic Philosophy of Bill.</p>
|
||||
|
||||
<p>I derive a lot of my philosophy from my Christian up-bringing and
|
||||
Stoicism. I’m not a very religious person, though. I never really was. My
|
||||
belief of what God is falls strongly under the agnostic category: I’m not
|
||||
sure what God is, or if I believe in a God, but I do believe in a higher
|
||||
power of some sort. I feel it’s logical to always assume there is something
|
||||
more powerful than yourself, but I also feel it’s impossible to prove this.
|
||||
I like to define faith as simply irrational belief. I have faith in many
|
||||
things, both permanent and temporary. I like faith, actually, quite a bit.
|
||||
I admire those who have strong faith, so long as they maintain reason and
|
||||
are not fanatical. I also try to maintain a very open approach to religion.
|
||||
I believe everyone has the right to worship however they choose, so long as
|
||||
it does not involve anything overly immoral, such as killing. I have a hard
|
||||
time tolerating people who are overly zealous about their faith, or about
|
||||
denouncing someone else’s faith. Nothing is more disgusting than attacking
|
||||
someone for their beliefs. They are called beliefs for a reason; they are
|
||||
not fact, they are opinion. It’s ineffective to attack opinions, because
|
||||
they are ephemeral to begin with. Like trying to hit a ghost with a
|
||||
lamp-post: it just won’t do what you think it will.</p>
|
||||
|
||||
<p>I love debate and discussion, but there is a clear difference between
|
||||
debate for truth and argument for winning. I try to keep in the first camp,
|
||||
but I’m not super-human and I have an ego so I often visit the later.
|
||||
However, I always learn when I make mistakes, and I cherish when I fail,
|
||||
because it only serves to better myself. I think that’s the most
|
||||
fundamental under-lying theme of my philosophy: always better myself;
|
||||
always learn something. That ego thing, though, that’s a tough monster to
|
||||
handle. I’ve found myself adopting views similar to Zen Buddism (I think)
|
||||
often when trying to quell my ego:</p>
|
||||
|
||||
<ul>
|
||||
<li>All will return to nothingness.</li>
|
||||
<li>Ergo, what I do will be inconsequential.</li>
|
||||
<li>Ergo, I am inconsequential.</li>
|
||||
</ul>
|
||||
|
||||
<p>I think most people hear this and grow disheartened or depressed, but I
|
||||
view it as very uplifting. There’s a certain freedom in knowning that, no
|
||||
matter how much I fail, in the end it won’t matter much. It’s sobering to
|
||||
remember that no matter how much I’ve achieved or won, in the end it won’t
|
||||
matter much. It’s important to remember that I am nothing but an improbable
|
||||
spec of matter floating on a rock in an unimaginably vast and empty space.
|
||||
Too many people get caught up on that “in the end” part, though, and they
|
||||
begin to question why they should act at all. Well, there’s a bit of time
|
||||
between now and “the end” and you need to fill the void with something. For
|
||||
me, that’s learning, and understanding, and appreciating.</p>
|
||||
|
||||
<p>In my studies, I’ve discovered and adopted Stoicism as a philosophy. I
|
||||
won’t explain too much what Stoicism is about, since there are many sources
|
||||
online which do that. I apply Stoicism mostly in the mental aspects of the
|
||||
philosophy, and less in the faith/religious aspects. From Stoicism, I have
|
||||
reinforced my beliefs in the importance of understanding our environment. I
|
||||
remind myself every day of things I cannot control, and that I can only
|
||||
control my perception of things. I try to act according to logic and
|
||||
wisdom, and not according to feelings, which can hamper reason. For
|
||||
example, I try not to let anger control my actions if I get trolled by my
|
||||
friend Nick. I understand that anger, love, stress, and all other feelings
|
||||
are very much out of my control, but allowing them to control me is well
|
||||
within my control. In other words, I very much get angry, or grow lustful,
|
||||
or prideful, but I try not to let those feelings dictate my actions. I
|
||||
believe it was Seneca the Younger who said, “Men are not angered by things,
|
||||
but by their perceptions of them.” One of many mantra I keep in
|
||||
reserve.</p>
|
||||
|
||||
<p>The most important thing in my life, though, is not control but
|
||||
happiness. I can seek to control my perceptions and emotions all I want,
|
||||
but if it does not lead to happiness, it is a fruitless endeavor. I find
|
||||
happiness most when I learn; when I understand a system. I’m an engineer at
|
||||
heart, so I view the world as a system of systems (of systems, of
|
||||
systems…) each of which is bare to understanding. I free myself from ego
|
||||
and oppression so that I can learn without fear of failure or the
|
||||
disapproval of my peers. I like to always remind myself that the only
|
||||
person who truly cares about me, is me. That’s not to say others don’t care
|
||||
about me, but they care about themselves first, and me afterwards. That’s
|
||||
how things are; it’s not wrong or depressing or hurtful it’s just the way
|
||||
the system works. I care for many people, but I’m always number one on the
|
||||
list.</p>
|
||||
|
||||
<p>While all this is well and good, philosophy is an ever changing system;
|
||||
a CICD environment. I am constantly integrating new ideas and concepts into
|
||||
my understanding of the world, and sometimes purging old or unnecessary
|
||||
ones. I have my fair-share of quandries, perhaps more so than others;
|
||||
perhaps it’s an unfair-share. That’s what makes it worth it, though, to me.
|
||||
I seek to learn, and in doing so, find happiness and confusion. It’s a
|
||||
recursive system: the confusion leads to learning, which leads to happiness
|
||||
and confusion. And I love recursion.</p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2015-05-04
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
294
2015/05/06/TLS-Part-1.html
Normal file
294
2015/05/06/TLS-Part-1.html
Normal file
|
@ -0,0 +1,294 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: An Examination of TLS, Part 1</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2015/05/06/TLS-Part-1.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1>TLS: An Examination Into the Security of the Internet, Part 1</h1>
|
||||
|
||||
<p>TLS, more often referred to as SSL, is the means by which a secure
|
||||
connection is established over a computer network. Most often these
|
||||
connections are established over the Internet, between a client (ex., web
|
||||
browser) and a server (ex., a web site). In the specific case of web sites,
|
||||
HTTP is layered on TLS/SSL to ensure a secure and private connection; HTTPS
|
||||
is not a separate protocol, rather a combination or protocols. Establishing
|
||||
a secure connection thus requires a few steps:</p>
|
||||
|
||||
<h2>Step 1: Establish an TCP connection</h2>
|
||||
|
||||
<p>TCP is a transport-layer protocol that establishes a connection which is
|
||||
reliable and fault-tolerant. As opposed to UDP, TCP will seek to verify
|
||||
that information is transferred successfully and as intended. This is
|
||||
important for the next step. The connection is established as follows:</p>
|
||||
|
||||
<ol>
|
||||
<li>A client will contact a server and announce it wishes to
|
||||
establish a connection. (Called a SYN, short for synchronize). This
|
||||
SYN is a number, stored as part of the TCP header; we'll call it
|
||||
A.</li>
|
||||
<li>The server will respond to the client announcing it has
|
||||
received the client's wish, and also state that it wishes to establish
|
||||
a connection. (Called a SYN-ACK, short for synchronize-acknowledge).
|
||||
Ths SYN-ACK is actually two values: One is the ACK value, A+1. The
|
||||
second is the server's SYN value, which we'll call B.</li>
|
||||
<li>The client then acknowledged the server's wish, thus
|
||||
establishing a connection (Called simply an ACK). Because it was
|
||||
expecting an ACK value in step 2, and expecting that value to be A+1,
|
||||
it can verify that this connection is the same as the one it started.
|
||||
Additionally and similarly, the ACK which gets returned to the server
|
||||
as B+1.</li>
|
||||
<li>At this point, the connection is established. Both client and
|
||||
server have assured themselves of a proper connection thanks to the
|
||||
three-way handshake described above. From this point forward, the
|
||||
server has bound a specific port to listen for any further
|
||||
communications with the client. </li>
|
||||
</ol>
|
||||
|
||||
<h2>Step 2: Establish an SSL/TLS Connection</h2>
|
||||
|
||||
<p>TLS, Transport Layer Security, is appropriately on the same layer as
|
||||
TCP, the transport layer. TLS relies on public key authentication to
|
||||
establish a secure connection between the aforementioned client and server.
|
||||
The connection is established as follows:</p>
|
||||
|
||||
<ol>
|
||||
<li>A client will announce to the server it wishes to establish a
|
||||
TLS/SSL connection. It will include information such as it's TLS/SSL
|
||||
version, the ciphersuites it wishes to use, and which compression
|
||||
methods it wishes to use.</li>
|
||||
<li>The server then uses the highest possible TLS/SSL version, chooses
|
||||
one of the ciphersuites available to the client, chooses one of the
|
||||
compression methods available to the client, and sends it's
|
||||
certificate. A certificate is basically a container for a server's
|
||||
public key, but with many additional details, and often signed by a
|
||||
certificate authority, to further verify the certificate contains the
|
||||
proper key. More on certificates in part 2.</li>
|
||||
<li>The client then uses the server's public key to encrypt a secret.
|
||||
This secret is then sent back to the server.</li>
|
||||
<li>The server decrypts the secret with it's private key. This secret
|
||||
is now shared by only the client and the server, and from this point
|
||||
on is used for symmetric encryption.</li>
|
||||
</ol>
|
||||
|
||||
<p>From this point forward, the connection is encrypted and secure from
|
||||
external threats. Of course, this all depends on a trusted certificate and
|
||||
proper encryption algorithms.</p>
|
||||
|
||||
<h2>Step 3: Establish an HTTP connection</h2>
|
||||
|
||||
<p>HTTP is an application-layer protocol, and is responsible for translating
|
||||
the information from the transport layer into information used by an
|
||||
application. Your web browser, for example, will utilize HTTP to translate
|
||||
a bunch of hexidecimal information into alpha-numeric information, which is
|
||||
then formatted and presented to you as a web page. Security is previously
|
||||
established thanks to TLS/SSL, and reliability is previously established
|
||||
thanks to TCP.</p>
|
||||
|
||||
<p>Part 2 focuses more on the specifics of TLS: certificates, cipher
|
||||
suites, and public key authentication.</p>
|
||||
|
||||
<h1>Sources</h1>
|
||||
<ul>
|
||||
<li><a href="https://en.wikipedia.org/wiki/Public-key_cryptography">
|
||||
Wikipedia: Public-key Cryptography</a></li>
|
||||
<li><a
|
||||
href="https://security.stackexchange.com/questions/6290/how-is-it-possible-that-people-observing-an-https-connection-being-established-w">Stack
|
||||
Exchange: How is it possible that people observing an HTTPS
|
||||
connection being established wouldn't know how to decrypt
|
||||
it?</a></li>
|
||||
<li><a
|
||||
href="https://security.stackexchange.com/questions/20803/how-does-ssl-tls-work">
|
||||
Stack Exchange: How Does SSL/TLS work?</a></li>
|
||||
</ul>
|
||||
|
||||
<!-- ================================= -->
|
||||
<!-- ================================= -->
|
||||
|
||||
<!-- Notes (because why remove them?)
|
||||
Asymmetric Key Authentication:
|
||||
- Relies on two keys: Public key, Private key
|
||||
- Both keys are related, but impossible (computationally infeasable) to
|
||||
identify the private key based on the public key [1][2]
|
||||
- The public key can be distributed publicly
|
||||
- Used to encrypt message to the owner of the private paired key
|
||||
- Used to verify signatures from the private key
|
||||
- The private key is kept secret
|
||||
- Used to decrypt message from the public paired key
|
||||
- Used to as a digital signature
|
||||
|
||||
Basics of an Asymmetric Key handshake:
|
||||
1. Client reaches out to server, requesting a secure connection
|
||||
2. Server acknowledges request, sends back it's public key
|
||||
- This is commonly known as a certificate. Often signed by a
|
||||
third-party to ensure it is what it's supposed to be.
|
||||
3. Client uses this public key to encrypt a secret, and sends the package
|
||||
back to the server.
|
||||
4. The server then uses it's private key to decrypt the public-key
|
||||
encrypted secret, and uses that secret hence forth to encrypt all traffic.
|
||||
5. A private connection is now established.
|
||||
|
||||
Basics of Certificates
|
||||
1. A certificate is a vessel for a server to provide authentication
|
||||
information.
|
||||
2. Typically a certificate will contain the following information:
|
||||
- A UUID of the certificate itself
|
||||
- The subject of the certificate
|
||||
- The signature, and signature algorithm used
|
||||
- The issuer of the certificate, as well as dates when it is valid
|
||||
- The purpose of the key
|
||||
- The thumbprint, and algorithm, used to hash the key
|
||||
- The public key itself
|
||||
3. Certificate Authorities act as a third part to verify the integrity of
|
||||
public keys.
|
||||
-->
|
||||
|
||||
<!-- ================================= -->
|
||||
<!-- ================================= -->
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2015-05-06
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
209
2015/07/09/A-Friends-Father.html
Normal file
209
2015/07/09/A-Friends-Father.html
Normal file
|
@ -0,0 +1,209 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: A Good Friend's Father</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2015/07/09/A-Friends-Father.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1>A Good Friend's Father</h1>
|
||||
<p> A good friend's father died. He was quite a strong figure in my
|
||||
childhood. He was compassionate, endearing, strong, and happy. He is
|
||||
succeeded by two of my best childhood friends, and his second wife. I will
|
||||
always remember him as smiling, or laughing, or even sometimes frustrated
|
||||
with his children.</p>
|
||||
|
||||
<p> When I learned of his passing, I immediately thought of my position in
|
||||
life. My father is roughly the same age, and my mother slightly younger.
|
||||
Was this death too early? Is there such a thing? If I stick to my
|
||||
philosophical beliefs, then death is fated, regardless of where or when;
|
||||
never early, never late. When I told a friend of the passing, his remarks
|
||||
were expectedly typical: "That's fucked up. He died so early. He died so
|
||||
young." The trick with beliefs is they are always tested. I found myself
|
||||
caught up in grief and worry. Surprised at the passing, worried with the
|
||||
thought of my parents dying. I even grew anxious of the funeral and calling
|
||||
hours. Suddenly this anxiety was like a weed, finding it's way into the
|
||||
cracks in my beliefs and understanding, unsettling and disrupting my peace
|
||||
of mind. Instead of mourning the loss, I tangled myself into an emotional
|
||||
knot, and selfishly so.</p>
|
||||
|
||||
<p> I sat, a few days after the news, watching the rain. I considered how
|
||||
the rain falls where it is due, regardless of what it falls on. The
|
||||
rain cares not, it simply is. I considered the millions of drops falling on
|
||||
the millions of people all around the globe. Their situations in life as
|
||||
unique as each drop; in structure similar, yet in action ever slightly
|
||||
divergent. In life, I cannot decide where or when I exist, I can only
|
||||
decide how to perceive my existance. Epictetus wrote, "man is disturbed not
|
||||
by things, but by the views he takes of them." My perceptions were skewed,
|
||||
my understanding flawed, and thus I was disturbed.</p>
|
||||
|
||||
<p> One of my favorite analogies is Bruce Lee's metaphor about water. It is
|
||||
a reminder to be fluid and formless, adaptable and potent; "If nothing
|
||||
within you stays rigid, outward things will disclose themselves." There's
|
||||
no way for me to know what will be asked of me, as my life moves forward.
|
||||
I must be shapeless, so when obstacles appear I flow around or through
|
||||
them, without hesitation. I cannot affect when or how these obstacles
|
||||
appear, only how I perceive them. I had forgotten this. </p>
|
||||
|
||||
<p> A good friend's father died, and he reminded me how to live.</p>
|
||||
|
||||
<!-- ================================= -->
|
||||
<!-- ================================= -->
|
||||
|
||||
<!-- Notes
|
||||
|
||||
Rest in peace, Chaz. You were a good man, a good father, and a friend.
|
||||
|
||||
-->
|
||||
|
||||
<!-- ================================= -->
|
||||
<!-- ================================= -->
|
||||
<!-- cursor: 11 -->
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2015-07-09
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
<a href="/topics/other">other</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
277
2015/11/10/TLS-Part-2.html
Normal file
277
2015/11/10/TLS-Part-2.html
Normal file
|
@ -0,0 +1,277 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: An Examination of TLS, Part 2</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2015/11/10/TLS-Part-2.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1>TLS: An examination into the Security of the Internet, Part 2</h1>
|
||||
|
||||
<p>TLS, more often referred to as SSL, is the means by which a secure
|
||||
connection is established over a computer network. Part 1 examines how to
|
||||
establish a secure connection using TLS. This article examines further the
|
||||
techniques and technology that makes TLS secure. Specifically, a brief
|
||||
examination of certificates, cipher suites, and public-key
|
||||
authentication.</p>
|
||||
|
||||
<h2>Certificates</h2>
|
||||
<p>A certificate is a vessel for a domain to provide authentication
|
||||
information. More specifically, and perhaps most importantly, a certificate
|
||||
is the package which transfers a key. TLS relies entirely upon Public-Key
|
||||
Authentication to setup a secure connection. The challenge with Public-Key
|
||||
Authentication is often sharing keys in a verifiable and secure manner.
|
||||
This is to say that, despite public keys being public, you still need to
|
||||
verify the owner of the key. This is where certificates, and Certificate
|
||||
Authorities come in. Each certificate is tailored to a specific domain. It
|
||||
includes not only the public key for a user to connect to the server with,
|
||||
but also meta-data about the certificate: a UUID, and information about the
|
||||
Certificate Authority; a signature authorizing the certificate, as well as
|
||||
the encryption used for the signature; a thumbprint of the key, and details
|
||||
of the algorithm used to hash the key; and a purpose for the certificate.
|
||||
Certificates may contain additional details, but the aforementioned list is
|
||||
required.</p>
|
||||
|
||||
<p>A Certificate Authority (CA) is a trusted third-party repository of
|
||||
signed keys. The purpose of a CA is very specific: verification. A CA will
|
||||
generate and issue a key-pair to a domain. The domain can then share the
|
||||
public key using a certificate. How specifically a CA verifies the domains
|
||||
and keys is out of scope of this discussion, but Wikipedia provides many
|
||||
details on the techniques used.</p>
|
||||
|
||||
<h2>Cipher Suites</h2>
|
||||
<p>A cipher is the algorithm used to encrypt information. Ciphers are
|
||||
incredibly complex mathematical formulae, and are well beyond my
|
||||
understanding. However, it is important to note that the strength of a key
|
||||
is only as strong as the cipher suite used to generate it. Likewise, the
|
||||
strength of a certificate is only as strong as the cipher used to sign
|
||||
it. Keep this in mind when you generate and work with keys.</p>
|
||||
|
||||
<h2>Public-Key Authentication</h2>
|
||||
<p>The most important part of TLS is public-key authentication. I would
|
||||
argue that public-key authentication is one of the most important facets of
|
||||
the technical world. Because of this, I want to recap in more general terms
|
||||
how public-key authentication works:</p>
|
||||
|
||||
<ol>
|
||||
<li>Two parties want to establish a secure connection.</li>
|
||||
<li>Each party generates two keys: one to share publicly, one to keep
|
||||
secret.</li>
|
||||
<li>Each party then shares their public keys.</li>
|
||||
</ol>
|
||||
|
||||
<p>Now, whenever one of the two parties wants to securely communicate with
|
||||
the other, they "sign" (encrypt) the communication with their private key.
|
||||
The second party can then use the public key of the first party to verify
|
||||
the identify of the sender, and decrypt the message.
|
||||
|
||||
<h2>Conclusion</h2>
|
||||
<p>Security is a very deep and involved topic, but one I feel every
|
||||
Sys-Admin should know a bit about. While these posts are only meant to serve
|
||||
as a high-level overview of TLS, there are many more-detailed sources
|
||||
available. I would suggest a visit to your local Wikipedia as a good first
|
||||
step. Thanks for reading.</p>
|
||||
|
||||
<h1>Sources</h1>
|
||||
<ul>
|
||||
<li><a href="https://en.wikipedia.org/wiki/Public-key_cryptography">
|
||||
Wikipedia: Public-key Cryptography</a></li>
|
||||
<li><a
|
||||
href="https://security.stackexchange.com/questions/6290/how-is-it-possible-that-people-observing-an-https-connection-being-established-w">Stack
|
||||
Exchange: How is it possible that people observing an HTTPS
|
||||
connection being established wouldn't know how to decrypt
|
||||
it?</a></li>
|
||||
<li><a
|
||||
href="https://security.stackexchange.com/questions/20803/how-does-ssl-tls-work">
|
||||
Stack Exchange: How Does SSL/TLS work?</a></li>
|
||||
</ul>
|
||||
|
||||
<!-- ================================= -->
|
||||
<!-- ================================= -->
|
||||
|
||||
<!-- Notes (because why remove them?)
|
||||
Asymmetric Key Authentication:
|
||||
- Relies on two keys: Public key, Private key
|
||||
- Both keys are related, but impossible (computationally infeasible) to
|
||||
identify the private key based on the public key [1][2]
|
||||
- The public key can be distributed publicly
|
||||
- Used to encrypt message to the owner of the private paired key
|
||||
- Used to verify signatures from the private key
|
||||
- The private key is kept secret
|
||||
- Used to decrypt message from the public paired key
|
||||
- Used to as a digital signature
|
||||
|
||||
Basics of an Asymmetric Key handshake:
|
||||
1. Client reaches out to server, requesting a secure connection
|
||||
2. Server acknowledges request, sends back it's public key
|
||||
- This is commonly known as a certificate. Often signed by a
|
||||
third-party to ensure it is what it's supposed to be.
|
||||
3. Client uses this public key to encrypt a secret, and sends the package
|
||||
back to the server.
|
||||
4. The server then uses it's private key to decrypt the public-key
|
||||
encrypted secret, and uses that secret hence forth to encrypt all traffic.
|
||||
5. A private connection is now established.
|
||||
|
||||
Basics of Certificates
|
||||
1. A certificate is a vessel for a server to provide authentication
|
||||
information.
|
||||
2. Typically a certificate will contain the following information:
|
||||
- A UUID of the certificate itself
|
||||
- The subject of the certificate
|
||||
- The signature, and signature algorithm used
|
||||
- The issuer of the certificate, as well as dates when it is valid
|
||||
- The purpose of the key
|
||||
- The thumbprint, and algorithm, used to hash the key
|
||||
- The public key itself
|
||||
3. Certificate Authorities act as a third part to verify the integrity of
|
||||
public keys.
|
||||
-->
|
||||
|
||||
<!-- ================================= -->
|
||||
<!-- ================================= -->
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2015-11-10
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
332
2016/01/30/Revelations-Stoic-Understanding.html
Normal file
332
2016/01/30/Revelations-Stoic-Understanding.html
Normal file
|
@ -0,0 +1,332 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Developing Stoic Understanding</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2016/01/30/Revelations-Stoic-Understanding.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1>Revelations: Developing Stoic Understanding</h1>
|
||||
<p>Sherman J. Clark wrote a fantastic article on the Stoicism Today blog in
|
||||
December which really spoke to me. It approached some of the questions and
|
||||
problems I've had with Stoicism in an elegant and enlightening way, which
|
||||
has led to my significantly greater understanding of Stoicism. Notably, and
|
||||
what I want to highlight here, were the topics of <i>Selfishness</i>,
|
||||
<i>Metaphysics</i>, and <i>Balance</i>.</p>
|
||||
|
||||
<h3>Selfishness</h3>
|
||||
<p>I have a difficult time with the idea of a universal brotherhood. I
|
||||
cannot properly picture it, nor understand how to approach or pursue it.
|
||||
When Stoicism speaks of the importance of community or of a universal
|
||||
brotherhood, I generally switch off. Appropriately, I have a difficult time
|
||||
understanding how Stoic pursuit is anything but selfish. Everything I
|
||||
pursue, everything I read and try to apply, seems to benefit solely me.
|
||||
There is an argument to be made that by bettering myself I better others
|
||||
around me, but that does not provide a fulfilling conclusion. It doesn't
|
||||
actually promote social action, rather it proposes a benefit if I take
|
||||
action. I'm looking for a reason to take that action, which seems to be
|
||||
lacking. Clark specifically cites this issue towards the end of his
|
||||
article: "I do not believe it possible to find within stoicism any
|
||||
principle that definitively rules out selfishness or guarantees
|
||||
other-regarding behavior." My thoughts exactly. Clark thus proposes that
|
||||
the impetus for selflessness, or at least community, comes from the simple
|
||||
fact that learning is best done communally. This I can certainly agree
|
||||
with, if only considering the obvious fact that I do not know every answer
|
||||
to every question, and thus I must seek them from external sources.
|
||||
Learning with others promotes diverse opinions and solutions, often outside
|
||||
the scope of my approach.</p>
|
||||
|
||||
<p><i>"Not only do we need the insights of others to help us understand our
|
||||
world better, but our own experience and understanding is best achieved not
|
||||
in isolation but in shared conversation—dialectic."</i></p>
|
||||
|
||||
<p>This point is building block 1; the first of three pieces to a puzzle:
|
||||
<b>learning promotes selflessness</b>.</p>
|
||||
|
||||
<h3>Metaphysics</h3>
|
||||
<p>To paraphrase Carl Sagan, we are the universe's way of understanding
|
||||
itself. To Stoics, the universe is often synonymous with Nature. Living in
|
||||
accordance with Nature is basically Stoic virtue. That's a very big
|
||||
basically, and a very simplified view of Stoic virtue. However (a) I'm not
|
||||
very good at explaining this; and (b) it's a <b>very</b> involved topic. I
|
||||
want to touch on it briefly, since it is both covered by Clark and also
|
||||
relevant to the discussion. Clark makes a very straight-forward argument
|
||||
that Physics, or science to a more general degree, is appropriate as a
|
||||
Stoic virtue. Again he touches on the importance of learning, and expands
|
||||
it to how science is the means by which we can learn and understand the
|
||||
beauty and order of our universe. By learning and understanding more about
|
||||
the universe (Nature), we can better live in accordance with Nature. I'm
|
||||
simplifying again significantly, but I think it boils down to knowledge.
|
||||
Temperance and courage, two significant Stoic virtues, are defined by Clark
|
||||
as a symptom of awareness. Temperance is the awareness that what others
|
||||
crave is not worth craving after; courage is the awareness that what others
|
||||
fear is not worth fearing. If virtues are best defined as properly attuned
|
||||
awareness, then what better awareness to develop than the awareness of how
|
||||
the universe works? As a computer scientist, and a person who finds great joy
|
||||
in understanding systems and why they work, this makes perfect sense to me.
|
||||
Building block 2: <b>awareness and understanding is the foundation of
|
||||
virtue</b>.
|
||||
|
||||
<h3>Balance</h3>
|
||||
<p> By balance, I mean the balance of stoic thought managing emotions. It
|
||||
is common for Stoic teaching to be applied to negative emotions and
|
||||
situations. Many blogs, books, and classes focus on applying a Stoic
|
||||
mindset to stress, anxiety, depression, and the unfavorable situations that
|
||||
cause those and other similar types of emotions to arise. Clark is
|
||||
quick to propose a more important question: what happens when this approach
|
||||
is fully applied? What happens when a full pursuit of Stoicism is taken
|
||||
seriously? I appreciate Clark's use of the word "serious" when he speaks of
|
||||
this pursuit. It implies to me that half-way applying Stoic thought is an
|
||||
immature pursuit. That is to say, similar to an immature fruit tree, you
|
||||
have only part of the system available to you. This is often how I've felt.
|
||||
I know and understand the power of applying Stoic thought to difficult
|
||||
situations. I want to know, as Clark puts it, if there is any room left for
|
||||
joy after we've fully applied the Stoic philosophy.</p>
|
||||
|
||||
<p><i>"It is neither appealing nor intellectually honest to take comfort
|
||||
from a philosophy that works only if you do not think about it too
|
||||
carefully."</i></p>
|
||||
|
||||
<p>Clark investigates 5 possible answers to this dilemma, none of which
|
||||
fully answer our question. However, he does propose a solution, and it is a
|
||||
solution which resonates with me deeply: <b>"true stoic joy comes through
|
||||
comprehension, understanding, and insight</b>." And that's the final
|
||||
building block.</p>
|
||||
|
||||
<h2>Completing the Puzzle</h2>
|
||||
<p>Putting it all together, what I took from Clark, and what has helped me
|
||||
to better understand Stoicism as it applies to me:</p>
|
||||
|
||||
<p><b>True stoic joy comes from learning about our universe,
|
||||
together.</b></p>
|
||||
|
||||
<p>This has always been what has brought me the most happiness, but to hear
|
||||
it from someone else now makes it much more potent. Almost ironically so,
|
||||
considering one of the first topics I wrote about above was my general
|
||||
disregard of community in Stoicism. In retrospect, it makes perfect sense
|
||||
why I find computers so fascinating, or puzzles, or even video games: they
|
||||
force me to learn about a system. And what more complex and unexplored
|
||||
system exists than the literal infinity of the universe? When we pursue the
|
||||
Stoic ideal too completely, there is a perceived risk that we will grow
|
||||
completely apathetic, forced to acknowledge that while negative emotions
|
||||
are not worth concern, so too are positive emotions, including joy! With
|
||||
the revelation that true joy comes from understanding, the flawed
|
||||
perception is then clarified to show flawed pursuit: we grow apathetic not
|
||||
because we incorrectly realise nothing in the world is worthwhile, but
|
||||
because we fail to understand the system. We grow apathetic by not
|
||||
understanding the universe, or at the very least by ignoring the call to
|
||||
curiosity. Everything boils down to understanding: we develop temperance
|
||||
by understanding what is worth pursuit; we develop courage by understanding
|
||||
fear; we develop wisdom by understanding how to learn; we develop justice
|
||||
by understanding righteousness and wellness.</p>
|
||||
|
||||
<h3>Challenge</h3>
|
||||
<p>My challenge now is to embrace this lifestyle completely. In the confines
|
||||
and privacy of my own mind, it's very easy to follow. The only emotions and
|
||||
opinions I need to concern myself with are my own, and I work hard to
|
||||
properly concern myself with them. When it comes to others, I will
|
||||
face emotions and opinions which I may disagree with, which may be
|
||||
downright harmful, or which will hinder my pursuits. I will face failure
|
||||
and frustration, especially so when opinions are concerned. This is where I
|
||||
must double my efforts, and lead by example: show that the point is not to
|
||||
win, or be the best, but to learn and understand. But what if this hinders
|
||||
another, or makes them uncomfortable, or causes them harm? When I'm in
|
||||
social interactions, I go out of my way to avoid uncomfortable or harmful
|
||||
scenarios. I try not to call out others on their faults or failures,
|
||||
because I don't believe them to be capable of handling it. That may be
|
||||
worse than an accusation: to assume weakness or inability!</p>
|
||||
|
||||
<p>I must learn to act in accordance with Nature. I must seek to understand
|
||||
all that I experience. I will seek the experience of others to verify or
|
||||
improve my understanding as often as possible. Likewise, I will provide
|
||||
others with my experience, so that they may learn and improve their
|
||||
understanding. I will never do so in an attempt to prove myself superior,
|
||||
because I know that pursuit is fruitless; pride does not bestow
|
||||
understanding. And if others try to prove themselves superior to me, then I
|
||||
will most likely let them, because pride does not bestow understanding.
|
||||
Plus, if they are superior to me, then I have a source of knowledge!</p>
|
||||
|
||||
<p>In summary, I'm left with a question, and a revelation. The revelation
|
||||
is that the greatest joy in life is understanding the universe. The
|
||||
question is, how do I share this joy with others without being offensive or
|
||||
insensitive? So long as my intentions are pure, I'm doing what I can to
|
||||
avoid those problems, and the remainder rests on the audience.</p>
|
||||
|
||||
<h2>Source</h2>
|
||||
<p>Sherman J. Clark's article can be found on the Stoicism Today blog,
|
||||
linked here: [<a
|
||||
href="https://blogs.exeter.ac.uk/stoicismtoday/2015/12/19/how-now-horatio-the-stoic-joy-of-physics-and-friendship-by-sherman-j-clark/">Link</a>]</p>
|
||||
|
||||
<!-- ================================= -->
|
||||
<!-- ================================= -->
|
||||
|
||||
<!-- Notes
|
||||
|
||||
Source:
|
||||
https://blogs.exeter.ac.uk/stoicismtoday/2015/12/19/how-now-horatio-the-stoic-joy-of-physics-and-friendship-by-sherman-j-clark/
|
||||
|
||||
|
||||
- Selfish vs community
|
||||
|
||||
- Nature
|
||||
- nature is the universe
|
||||
- we should live in accordance with nature. what does that mean?
|
||||
- best way is to constantly seek to understand nature
|
||||
|
||||
- Positive and negative emotions
|
||||
- Easy to apply stoic practices to negative emotions
|
||||
- What happens when applied to positive emotions?
|
||||
- "it is neither appealing nor intellectually honest to take comfort from a
|
||||
philosophy that works only if you do not think about it too carefully"
|
||||
- I like how a full pursuit of Stoicism is often classified by Clark as
|
||||
"serious" pursuit. Several implications; importance of the word.
|
||||
-->
|
||||
|
||||
<!-- ================================= -->
|
||||
<!-- ================================= -->
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2016-01-30
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
333
2016/03/11/Random-Thoughts-1.html
Normal file
333
2016/03/11/Random-Thoughts-1.html
Normal file
|
@ -0,0 +1,333 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Random Thoughts</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2016/03/11/Random-Thoughts-1.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1>Disjointed Thoughts</h1>
|
||||
|
||||
<p>I'm on vacation this week, which is pretty grand. Thus far I've
|
||||
accomplished one of the 4 rather meager goals I set for myself, played
|
||||
plenty of games, caught up on some reading and videos and feeds, and slept
|
||||
in far later than I should have. In doing the reading, primarily an article
|
||||
on 'Wait, But Why' about Elon Musk [
|
||||
<a
|
||||
href="http://waitbutwhy.com/2015/11/the-cook-and-the-chef-musks-secret-sauce.html">link</a>
|
||||
], I found my mind wandering across a few different thoughts, that I felt
|
||||
were worth jotting down, though I couldn't imagine dedicating an entire
|
||||
post to; paragraph-worthy thoughts. So, let's just throw them all
|
||||
together!</p>
|
||||
|
||||
<h2>Thought 1: Chef and Automation</h2>
|
||||
<p>The aforementioned article speaks a lot of the idea of a chef versus a
|
||||
cook, and how we should all aspire to be chefs. This coincides mostly in
|
||||
name alone, but also by proxy with Chef, the configuration management
|
||||
software. We've been implementing Chef at work, and I dabbled in it a bit
|
||||
here and there. Actually, the primary impetus behind learning Ruby was
|
||||
Chef. A solution Chef was supposed to provide was the opportunity for
|
||||
automation. On the surface, I was onboard. Once I learned more, I cannot
|
||||
agree with Chef being the proper tool. I should preface any
|
||||
computer-related topics I discuss with the disclaimer that I find the Unix
|
||||
Philosophy very appealing, that I believe that efficient tools don't need
|
||||
fancy GUIs or complicated philosophies or use cases, and that the terminal
|
||||
is a very beautiful place. Chef's use is as configuration management:
|
||||
ensuring that all hosts managed by it are kept synchronized. With respect
|
||||
to automation, this means Chef is ideal for placing the automation files
|
||||
onto hosts, ensuring they're current, and accessible. However, when it
|
||||
comes to automation, I think a different tool is required. My initial
|
||||
thought is using SSH to run the remote commands. I've got a bit of a crush
|
||||
on SSH. I think it's an incredible and powerful tool. I think the
|
||||
combination of Chef for configuration deployment and SSH for remote
|
||||
execution is a pretty dang good couple.</p>
|
||||
|
||||
<h2>Thought 2: Ayn Rand and Objectivism</h2>
|
||||
<p>I have taken an unfair and rather ignorant position against Rand and her
|
||||
objectivism. I can all but blame my father for the position, since as an
|
||||
angsty teenager, hearing him support something, however slightly, meant I
|
||||
had to disagree with it. That being said, my experience of Rand is probably
|
||||
the same as many other Americans: I read a few of her works in high-school,
|
||||
promptly forgot about it, and then learned via blog posts and Wikipedia
|
||||
what she was all about. Even writing this I have a bit of a sour taste,
|
||||
formed by biases developed in ignorance. I have decided to test my
|
||||
assumptions, by reading and analysing Rand's works and philosophy
|
||||
first-hand. Look forward (or don't) to a post specifically on Rand, her
|
||||
works, and her philosophy. Just... don't wait up for it. This one will take
|
||||
me a while...</p>
|
||||
|
||||
<h2>Thought 3: Developments</h2>
|
||||
<p>A few projects I've been working on that have excited me.</p>
|
||||
<h3>IRC Bot</h3>
|
||||
<p>I love IRC. I think it's still the most powerful chat service available,
|
||||
and doubly so for technical chat needs. I can certainly understand why
|
||||
HipChat or Slack is chosen over IRC, but I can't agree with the decision.
|
||||
Regardless of that battlefield, to better make use of IRC, I am creating a
|
||||
bot. Thus far I've built it using Cinch [ <a
|
||||
href="https://github.com/cinchrb/cinch">link</a> ], but I think in the
|
||||
future the goal will be to refactor Cinch out in favor of my own code.
|
||||
Nothing against Cinch, but the fewer dependencies the better. The one
|
||||
unavoidable dependency is Gearman, which is a distributed job system.
|
||||
Gearman allows me to have a bot written in Ruby, but execute shell scripts
|
||||
natively without exposing a shell, and without tying up resources. This is
|
||||
very useful considering the purpose of the bot is mostly for operational
|
||||
information, such as host health, network quality, and even automation.
|
||||
It's been a very fun process thus far, and I look forward to continuing to
|
||||
expand and consider functionality.</p>
|
||||
|
||||
<h3>Dotfiles</h3>
|
||||
<p>My dotfiles are like a beautiful garden secluded from the world: fun to
|
||||
work on, but generally fruitless. In a continuing effort to remove any
|
||||
unnecessary dependencies, I have resumed my investigation into using Make
|
||||
to manage my dotfiles. I found a fantastic article detailing
|
||||
self-documented Makefiles [ <a
|
||||
href="http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html">link</a>
|
||||
] and some assorted sources of others using Makefiles to manage their
|
||||
dotfiles. I'm quite excited about this development, because it means my
|
||||
dotfiles should be deployable across any Unix platform.</p>
|
||||
|
||||
<h3>Documentation</h3>
|
||||
<p>I find myself writing a decent amount of documentation at work. While
|
||||
speaking with co-workers about this, and pondering why documentation is
|
||||
often so lacking, I've decided on the following conclusions: documentation
|
||||
is tedious; and documentation is hard. I've been mulling over the idea of a
|
||||
documentation engine build on git and leveraging GitHub technology. When I
|
||||
think about documentation, I like comparing it to programming:
|
||||
documentation is just code in English. If you follow my premise, then it's
|
||||
perfectly reasonable to expect the same services for documentation as we
|
||||
have for code: linters, style guides, builders, automated deployments, pull
|
||||
requests, etc. Git (and GitHub) already provide version control, which
|
||||
should be essential for any documentation engine. Build on top of that
|
||||
services which hook into the repositories, and I think documentation could
|
||||
be made significantly less tedious, while considerably more standardized,
|
||||
accessible, and useful.</p>
|
||||
|
||||
<h2>Thought 4: Guild Wars 2</h2>
|
||||
<p>I really enjoy Guild Wars 2. However, one unfortunate thing is the state
|
||||
of my favorite class, warrior, in the standardized player-versus-player
|
||||
format (sPvP). I've been thinking a bit about how to improve warrior, and I
|
||||
think I've come up with some interesting ideas. On the off-chance that
|
||||
someone from ANet finds this post, let me here and now give you full
|
||||
permission to use any and all ideas related to GW2 as you see fit;
|
||||
considering it in the public domain. My favorite warrior, WilsonStorm, once
|
||||
quipped that warriors don't have any fancy magic to do their stuff with,
|
||||
they just hit things. I like this summary: the warrior is a martial master,
|
||||
who relies on pure physical capabilities and eschews any magical help. With
|
||||
that in mind, I would propose the following 3 major changes:</p>
|
||||
|
||||
<p><ul>
|
||||
<li style="font-weight: bold">Embrace the Adrenaline</li>
|
||||
<li style="font-weight: bold">Make Stances Like Attunements</li>
|
||||
<li style="font-weight: bold">Make Banners Like Spirit Weapons</li>
|
||||
</ul></p>
|
||||
|
||||
<h3>Embrace the Adrenaline</h3>
|
||||
<p>I would like to see more functionality provided by default from
|
||||
adrenaline. An example would be decreasing weapon-skill cooldown based on
|
||||
the level of adrenaline, 1 second less per level of adrenaline. I like
|
||||
keeping some functionality in traits, though, because it encourages build
|
||||
diversity and can force critical decisions.</p>
|
||||
|
||||
<h3>Make Stances Like Attunements</h3>
|
||||
<p>Not as in they become F1-F4, but in the following sense: Only one stance
|
||||
can be active at a time, activating stances provides an ongoing lesser
|
||||
benefit, and activating the stance again provides a temporary significant
|
||||
benefit but ends the stance. Let's take Berserker Stance as an example. In
|
||||
its current iteration, it gives you adrenaline every second, and resistance
|
||||
every 3 seconds, for the duration of the stance. In my revised iteration,
|
||||
you would activate a stance, and have a passive benefit plus a new active
|
||||
option. So, you activate Berserker Stance and start gaining adrenaline
|
||||
every second (while in combat). Then you can activate it again to gain
|
||||
resistance (say, 3 stacks every 3 seconds for 6 seconds). This would remove
|
||||
the passive benefit of Berserker Stance, and put it onto cooldown. However,
|
||||
you can only have one stance active at a time! So, say you were in
|
||||
Berserker Stance, and suddenly you wanted to be in Balanced Stance. By
|
||||
activating Balanced Stance, you would deactivate Berserker Stance without
|
||||
using it's active ability, putting it onto a shorter cooldown than normal.
|
||||
As part of this change, I would probably revisit what each stance does as
|
||||
well, since some wouldn't properly fit into the new format.</p>
|
||||
|
||||
<h3>Make Banners Like Spirit Weapons</h3>
|
||||
<p>Again, not exactly like Spirit Weapons, but drawing similarities. First,
|
||||
instead of banners being bundles summoned at a location, they would provide
|
||||
an aura around the warrior when activated. This would be visually apparent
|
||||
by the warrior literally having a banner on their back. Each aura would do
|
||||
what the current banners do, but would be centered on the warrior. After
|
||||
being activated, the banner skill will flip to a secondary skill similar to
|
||||
how Spirit Weapons flip after being summoned. This would be the previous
|
||||
on-summon ability. So, when you activate Battle Standard, you start
|
||||
eminating the passives to everyone around you for the entire duration.
|
||||
After being activated, Battle Standard flips to a secondary skill that is
|
||||
the AoE revive. Unlike stances (and just like spirit weapons), multiple
|
||||
banners can be active at once, so the passives could need adjustment, but
|
||||
probably not much. The only downfall to this is the loss of the banner as a
|
||||
bundle/weapon, but I can't imagine many people actually use it as such.</p>
|
||||
|
||||
<p>I think the really excited thing about these changes would be the build
|
||||
potential. Consider a build that uses a stance and a banner! There's
|
||||
suddenly actual use for banners outside of niche builds or one-off uses in
|
||||
dungeons! Stances and banners actually require planning and tactical usage
|
||||
rather than reactionary button-mashing to break stuns or revive team mates!
|
||||
And warriors gain much-needed viability in a team, due to providing buffs
|
||||
to team mates, and better damage output.</p>
|
||||
|
||||
<!-- ================================= -->
|
||||
<!-- ================================= -->
|
||||
|
||||
<!-- Notes
|
||||
|
||||
Sources:
|
||||
http://waitbutwhy.com/2015/11/the-cook-and-the-chef-musks-secret-sauce.html
|
||||
|
||||
-->
|
||||
|
||||
<!-- ================================= -->
|
||||
<!-- ================================= -->
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2016-03-11
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
273
2018/01/11/Character-Azulien.html
Normal file
273
2018/01/11/Character-Azulien.html
Normal file
|
@ -0,0 +1,273 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Azulien Blackblade</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2018/01/11/Character-Azulien.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<p>Here’s the character backstory for one of my older characters from a game long
|
||||
since forgotten: Azulien Blackblade. This character was a fighter-sorcerer,
|
||||
built for a custom 3.5 game run by my friend Bill. He was loads of fun to play,
|
||||
though I may have spoken up when I should have stayed silent. He died as a pile
|
||||
of pieces, after taunting a demi-god and, expectedly, being eviserated. Enjoy!</p>
|
||||
|
||||
<h2 id="character-backstory-azulien-blackblade">Character Backstory: Azulien Blackblade</h2>
|
||||
|
||||
<p>I was a prestigious man. Once I wore the robes of a wizard. I studied at the
|
||||
greatest libraries, spoke with the most intelligent scholars, and kept company
|
||||
with the Archmages. But one day that all changed. The day I will never forget in
|
||||
all my life: the day the Urdeshi attacked.</p>
|
||||
|
||||
<p>We were travelling through the northern regions of the desert, making our way to
|
||||
ruins located among the dunes. As we stopped to drink and rest, our party was
|
||||
beset upon by raiders, shielding their faces with wrapped fabrics, and attacking
|
||||
us relentlessly with blades and spears. Of the 15 in our band, only 3 lived
|
||||
through the attack. We were the unlucky ones. My robes were bloodied and torn,
|
||||
my spellbook was burned before my eyes, my components along with it, and my
|
||||
knowledge of the arcane became a secret lest I beg for death. Many times I had
|
||||
considered revealing my talents, and welcoming the purge that would follow. The
|
||||
particular group of Urdesh we found were skeptical of magic: they broke all our
|
||||
potions, our wands, anything that didn’t smell normal. My familiar, my dear
|
||||
raven, was roasted and force fed to me. I didn’t eat for days afterwards.</p>
|
||||
|
||||
<p>They tought me how to fight. How to use the weapons they used. They tought me
|
||||
how to skirmish with only a scimitar to defend myself with. How to cast aside
|
||||
blows, how to use a handful of sand to distract my opponent from my incoming
|
||||
blow. They taught me pain. They taught me to not fear an incoming attack. Not to
|
||||
fear death. From that, only rage grew. My hatred for the Urdesh slowly filled my
|
||||
now-empty mind. Where once was scholarly knowledge and magical aptitude there
|
||||
stood only revenge. A lust that was never fulfilled. A hunger that was never
|
||||
sated.</p>
|
||||
|
||||
<p>For 5 years of my life I was haunted and tormented by the Urdesh. I was made a
|
||||
puppet in their games; a gladiator in their arenas. My skills with the scimitar
|
||||
and spear grew to legend. Armed with my rage and my revenge, I would let no
|
||||
other gladiator steal from me the potential to see my captors destroyed. I would
|
||||
never bow, never break, never surrender. My blade grew black from all the blood
|
||||
and sand and grime. With each fight, I became more. I was no longer a slave, now
|
||||
I was a name: Blackblade; the Raven Swordsman; Death. Names appropriate to my
|
||||
appearance and my promise. The old me was dead, and the new me was never alive.</p>
|
||||
|
||||
<p>My insatiable revenge crept into the corners of my mind, revealing the
|
||||
locked-away arcane knowledge. The fury of hundreds of gladitorial battles,
|
||||
thousands of cracks of the whips, and millions of possibilities of better lives
|
||||
all converged on the power I had stored away. No longer was I afraid of them. No
|
||||
longer did their skepticism seem like a threat. Now it was their weakness. Now,
|
||||
vengeance was mine.</p>
|
||||
|
||||
<p>With the cover of darkness, I scoured my memories for every shred of arcane
|
||||
knowledge I could muster. I found my cantrips, my little tricks I had used to
|
||||
harass the pretty girls at the college. Flares and dancing lights wouldn’t do
|
||||
what I needed, but they could help. I needed more power. I crept deeper. There I
|
||||
felt it. The coldness of death, but the screaming of life, entwined. I could
|
||||
feel the grasp of skeletons and ghasts, but they did not scare me; it was almost
|
||||
like familiy. I could see the faces of people I had never known. They seemed
|
||||
familiar, almost connected to me. I could feel their anger, their undying need
|
||||
for vengeance. Like me, they were captives of fear and torment. Their rage was
|
||||
almost unbearable, but I would not turn away. I would not submit to an illogical
|
||||
existance as a mindless machine of death. I would overcome the rage, channel the
|
||||
rage, harness the anger, focus the vengeance. I would take their blessings of
|
||||
undeath and turn them upon my enemies as a curse. I knew now that the power I
|
||||
had was not from study. It was always within me, welled up like a great lake,
|
||||
full of untapped resources. I felt the presence of their blood grow, their power
|
||||
now released. They were now me. I was their vessel. The scimitar I used, Raven I
|
||||
called it, was now a weapon of death.</p>
|
||||
|
||||
<p>Their time had come. They had no reason to fear the unknown, until now.</p>
|
||||
|
||||
<p>The first to go was the guard. As he came, right on schedule, to deliver my
|
||||
food, I offered him a choice. I had grown to like Mukeesh. He was stupid, and
|
||||
because of that he was compasionate. He was too afraid. He was too loyal. He
|
||||
died. From him, I lifted the keys with magic, commanding them into the lock,
|
||||
releasing me. As I left, I could feel his blood calling to me. With his
|
||||
head-wrap and Raven I made my way to the barracks. It was night time. There were
|
||||
little defenses around those who defend. They died one by one. I would cup their
|
||||
mouth, and slit their throat just enough for them to wake before they bled out.
|
||||
Their last moments were all the same: horror, struggling, moaning, pleading,
|
||||
acceptance, sorrow. They wept occassionally. There were a few who were
|
||||
unsurprised, and stared into my eyes until their’s went dark. They were the
|
||||
brave. They had faced death. But none can win against death. The blood running
|
||||
from my captors veins was unbearable. I tasted it, the nector of life. It was
|
||||
ambrosia, life itself, sustaining me. Their lives were my feast.</p>
|
||||
|
||||
<p>I made my way through the camp, finally settling on the gladiator pits. Some of
|
||||
my bretheren ran, some clung to some twisted form of loyaly and fought. The all
|
||||
died. I drank in their life, their essence, and their sacrifice healed me.
|
||||
Through the death of my enemies I grew strong, through the blood of the fallen
|
||||
did I reclaim my dominance. Not only were the powers of death mine to harness,
|
||||
but the fruits of its labor were sweet and nourishing.</p>
|
||||
|
||||
<p>The last to fall was my teacher. He was the only one I awoke before I killed
|
||||
him. I waited for him to pray, to be ready for his gods. He tried to fight me,
|
||||
but the master had become weak. His attacks were predictable. His tactics were
|
||||
rotten. His flesh was soft, and my blade was sharp. He died a warrior, as he had
|
||||
lived. His blood was the most satisfying of them all. I have no remorse for him.
|
||||
It is pathetic to pity anyone; death comes for all.</p>
|
||||
|
||||
<p>I gathered up all the resources I needed, took all the coin I could find, and
|
||||
left. To this day I still hear tales of the Swordsman of Death who slaughtered
|
||||
an entire Urdesh gladiator camp. “They are right to fear him.” I always reply.
|
||||
“Death is patient but swift. It may come on the wings of an angel or the sword
|
||||
of a stranger. But death always comes.” I escaped that night and found a human
|
||||
settlement. My scars and tattoos I covered as best I could, but they always
|
||||
found me out. A run-away slave, an escaped prisoner; a fugitive. The humans
|
||||
would at least treat my as their own. I found temporary refuge, but left
|
||||
quickly. In the following days there were many hunters that I encountered. One
|
||||
of them gave me the scar that marks me today. His name was Al-Kadaf, and his
|
||||
blade was called Plight. It cut me from above my left eye to my right cheek. He
|
||||
told me that wound would stay forever. My blade ending his life was my only
|
||||
response.</p>
|
||||
|
||||
<p>Still I am hunted. Still the Urdesh search for the Raven Swordsman. But I go by
|
||||
a different name now. I am Azulien Blackblade, Scourge of the Urdesh. Send your
|
||||
hunters. Send your armies. I walk with death. I hunger for your life. And
|
||||
tonight, I will feast.</p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2018-01-12
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
188
2018/01/15/Letters-To-Lucilius.html
Normal file
188
2018/01/15/Letters-To-Lucilius.html
Normal file
|
@ -0,0 +1,188 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Moral Letters :: Index</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2018/01/15/Letters-To-Lucilius.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<p>My friend Rob and I have recently been disucssing Seneca's
|
||||
Moral Letters to Lucilius. As a companion to those discussions, I'm
|
||||
documenting my responses to each letter. This page will serve as an index for
|
||||
all of my responses.</p>
|
||||
|
||||
<h2>Seneca's Moral Letters to Lucilius</h2>
|
||||
<ul>
|
||||
<li><a href="
|
||||
/2018/01/15/letter-to-lucilius-1.html">
|
||||
Letter 1: On Time</a></li>
|
||||
<li><a href="
|
||||
/2018/01/15/letter-to-lucilius-2.html">
|
||||
Letter 2: On discursiveness in reading</a></li>
|
||||
<li><a href="
|
||||
/2018/01/28/letter-to-lucilius-3.html">
|
||||
Letter 3: On True and False Friendship</a></li>
|
||||
<li><a href="
|
||||
/2018/01/28/letter-to-lucilius-4.html">
|
||||
Letter 4: On the Terrors of Death</a></li>
|
||||
<li><a href="
|
||||
/2018/02/11/letter-to-lucilius-5.html">
|
||||
Letter 5: On the Philosopher's Mean</a></li>
|
||||
<li><a href="
|
||||
/2018/02/11/letter-to-lucilius-6.html">
|
||||
Letter 6: On Sharing Knowledge</a></li>
|
||||
<li><a href="
|
||||
/2018/01/28/letter-to-lucilius-11.html">
|
||||
Letter 11: On the Blush of Modesty</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Source</h3>
|
||||
<p><a href="https://en.wikisource.org/wiki/Moral_letters_to_Lucilius">
|
||||
Collection of Seneca's Moral Letters to Lucilius on Wikisource
|
||||
</a></p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2018-01-15
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
247
2018/01/15/letter-to-lucilius-1.html
Normal file
247
2018/01/15/letter-to-lucilius-1.html
Normal file
|
@ -0,0 +1,247 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Seneca's Letter to Lucilius, Letter 1</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2018/01/15/letter-to-lucilius-1.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1>Letter 1: On Time</h1>
|
||||
|
||||
<h2>Original Text</h2>
|
||||
<p> Greetings from Seneca to his friend Lucilius.</p>
|
||||
|
||||
<p>1. Continue to act thus, my dear Lucilius – set yourself free for your own
|
||||
sake; gather and save your time, which till lately has been forced from you,
|
||||
or filched away, or has merely slipped from your hands. Make yourself
|
||||
believe the truth of my words, – that certain moments are torn from us, that
|
||||
some are gently removed, and that others glide beyond our reach. The most
|
||||
disgraceful kind of loss, however, is that due to carelessness. Furthermore,
|
||||
if you will pay close heed to the problem, you will find that the largest
|
||||
portion of our life passes while we are doing ill, a goodly share while we
|
||||
are doing nothing, and the whole while we are doing that which is not to the
|
||||
purpose. 2. What man can you show me who places any value on his time, who
|
||||
reckons the worth of each day, who understands that he is dying daily? For
|
||||
we are mistaken when we look forward to death; the major portion of death
|
||||
has already passed. Whatever years be behind us are in death's hands.</p>
|
||||
|
||||
<p>Therefore, Lucilius, do as you write me that you are doing: hold every hour
|
||||
in your grasp. Lay hold of to-day's task, and you will not need to depend so
|
||||
much upon to-morrow's. While we are postponing, life speeds by. 3. Nothing,
|
||||
Lucilius, is ours, except time. We were entrusted by nature with the
|
||||
ownership of this single thing, so fleeting and slippery that anyone who
|
||||
will can oust us from possession. What fools these mortals be! They allow
|
||||
the cheapest and most useless things, which can easily be replaced, to be
|
||||
charged in the reckoning, after they have acquired them; but they never
|
||||
regard themselves as in debt when they have received some of that precious
|
||||
commodity, – time! And yet time is the one loan which even a grateful
|
||||
recipient cannot repay.</p>
|
||||
|
||||
<p>4. You may desire to know how I, who preach to you so freely, am practising.
|
||||
I confess frankly: my expense account balances, as you would expect from one
|
||||
who is free-handed but careful. I cannot boast that I waste nothing, but I
|
||||
can at least tell you what I am wasting, and the cause and manner of the
|
||||
loss; I can give you the reasons why I am a poor man. My situation, however,
|
||||
is the same as that of many who are reduced to slender means through no
|
||||
fault of their own: every one forgives them, but no one comes to their
|
||||
rescue.</p>
|
||||
|
||||
<p>5. What is the state of things, then? It is this: I do not regard a man as
|
||||
poor, if the little which remains is enough for him. I advise you, however,
|
||||
to keep what is really yours; and you cannot begin too early. For, as our
|
||||
ancestors believed, it is too late to spare when you reach the dregs of the
|
||||
cask. Of that which remains at the bottom, the amount is slight, and the
|
||||
quality is vile. Farewell.</p>
|
||||
|
||||
<h2>Response</h2>
|
||||
|
||||
<p>Time management. I'm pretty bad at time management. It's interesting
|
||||
re-reading this letter after having read ahead a few. This one reads much
|
||||
less personal than his later letters. Perhaps an indication of a developing
|
||||
relationship.</p>
|
||||
|
||||
<p>Much of the letter emphasizes the importance of being present, and aware. One
|
||||
of the most impactful parts of this letter epitomizes this: "Whatever years
|
||||
be behind us are in death's hands." The acceptance of death as a necessary
|
||||
and constant part of life is a Stoic theme, but this sentence reminds us of
|
||||
this reality without remorse. Replace 'years' with 'time', and the letter's
|
||||
theme is laid bare: time is an expense account you can only hope to balance,
|
||||
and never credit. Seneca himself makes this comparison, noting that he only
|
||||
balances his by being aware of his expenditures. To him, it seems being
|
||||
aware of the waste is enough to balance the waste itself, which I find
|
||||
interesting.</p>
|
||||
|
||||
<p>Seneca's account of how we spend our time strikes me as a tad cynical:
|
||||
"...the largest portion of our life passes while we are doing ill, a goodly
|
||||
share while we are doing nothing, and the whole while we are doing that
|
||||
which is not to the purpose." Essentially, we spend most of our life not
|
||||
doing what we intend to do, either because we fail to act, or we "[do] ill".
|
||||
If I interpret "doing ill" to mean not pursuing Stoic virtue, I can
|
||||
extrapolate "the purpose" to mean living a virtuous life. I think the
|
||||
statement seeks more specific examples than the entirety of life's pursuit,
|
||||
though, and in those cases "doing ill" could mean doing that which does not
|
||||
benefit the specific pursuit. This could be playing video games instead of
|
||||
cleaning my house, for example. In this case, it seems apt to define "doing
|
||||
ill" as procrastination, and "the purpose" being whatever our goal is at
|
||||
that particular moment. Though an interesting third option is more of a
|
||||
relativity approach: we feel that life passes us by fastest while "doing
|
||||
ill" or doing nothing, and in general life seems to pass by faster when we
|
||||
are not focusing on our task than when we are. The ol' "Time flies while
|
||||
you're having fun" chestnut. Not to say "doing ill" is having fun, though.
|
||||
Rather, "doing ill" is like partying until 4am, and wondering how it got so
|
||||
late.</p>
|
||||
|
||||
<p> Live in the moment, be aware of how you spend your time, and always act to
|
||||
spend it wisely. Just be aware: no matter how carefully you budget, your
|
||||
account will always be indebted to death.</p>
|
||||
|
||||
<h3>Source</h3>
|
||||
<p><a href="https://en.wikisource.org/wiki/Moral_letters_to_Lucilius/Letter_1">
|
||||
Moral Letters to Lucilius, Letter 1 on Wikisource
|
||||
</a></p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2018-01-15
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
226
2018/01/15/letter-to-lucilius-2.html
Normal file
226
2018/01/15/letter-to-lucilius-2.html
Normal file
|
@ -0,0 +1,226 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Seneca's Letter to Lucilius, Letter 2</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2018/01/15/letter-to-lucilius-2.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1>Letter 2: On Discursiveness in Reading</h1>
|
||||
|
||||
<h2>Original Text</h2>
|
||||
<p>1. Judging by what you write me, and by what I hear, I am forming a good
|
||||
opinion regarding your future. You do not run hither and thither and distract
|
||||
yourself by changing your abode; for such restlessness is the sign of a
|
||||
disordered spirit. The primary indication, to my thinking, of a well-ordered
|
||||
mind is a man's ability to remain in one place and linger in his own company.
|
||||
2. Be careful, however, lest this reading of many authors and books of every
|
||||
sort may tend to make you discursive and unsteady. You must linger among a
|
||||
limited number of master thinkers, and digest their works, if you would derive
|
||||
ideas which shall win firm hold in your mind. Everywhere means nowhere. When a
|
||||
person spends all his time in foreign travel, he ends by having many
|
||||
acquaintances, but no friends. And the same thing must hold true of men who
|
||||
seek intimate acquaintance with no single author, but visit them all in a hasty
|
||||
and hurried manner. 3. Food does no good and is not assimilated into the body
|
||||
if it leaves the stomach as soon as it is eaten; nothing hinders a cure so much
|
||||
as frequent change of medicine; no wound will heal when one salve is tried
|
||||
after another; a plant which is often moved can never grow strong. There is
|
||||
nothing so efficacious that it can be helpful while it is being shifted about.
|
||||
And in reading of many books is distraction.</p>
|
||||
|
||||
<p>Accordingly, since you cannot read all the books which you may possess, it is
|
||||
enough to possess only as many books as you can read. 4. "But," you reply, "I
|
||||
wish to dip first into one book and then into another." I tell you that it is
|
||||
the sign of an overnice appetite to toy with many dishes; for when they are
|
||||
manifold and varied, they cloy but do not nourish. So you should always read
|
||||
standard authors; and when you crave a change, fall back upon those whom you
|
||||
read before. Each day acquire something that will fortify you against poverty,
|
||||
against death, indeed against other misfortunes as well; and after you have run
|
||||
over many thoughts, select one to be thoroughly digested that day. 5. This is
|
||||
my own custom; from the many things which I have read, I claim some one part
|
||||
for myself.</p>
|
||||
|
||||
<p>The thought for today is one which I discovered in Epicurus; for I am wont
|
||||
to cross over even into the enemy's camp, – not as a deserter, but as a scout.
|
||||
6. He says: "Contented poverty is an honourable estate." Indeed, if it be
|
||||
contented, it is not poverty at all. It is not the man who has too little, but
|
||||
the man who craves more, that is poor. What does it matter how much a man has
|
||||
laid up in his safe, or in his warehouse, how large are his flocks and how fat
|
||||
his dividends, if he covets his neighbour's property, and reckons, not his past
|
||||
gains, but his hopes of gains to come? Do you ask what is the proper limit to
|
||||
wealth? It is, first, to have what is necessary, and, second, to have what is
|
||||
enough. Farewell.</p>
|
||||
|
||||
<h2>Response</h2>
|
||||
|
||||
<p>I'm not sure who named the letters, but I think they should always read "On
|
||||
Whatever I Intend to Write About, oh and this generally unrelated quote
|
||||
probably from Epicurus." Which isn't to complain, I just find it amusing.
|
||||
And, to be fair, this letter and quote combination do fit together.</p>
|
||||
|
||||
<p>The gist of this letter is the importance of focus. Seneca posits having too
|
||||
broad a focus with regard to authors or topics will make Lucilius
|
||||
"discursive and unsteady." A jack-of-all-trades is a master of none. His
|
||||
comparisons with travel, food, medicine, and agriculture are all apt, though
|
||||
a tad misleading, as each topic necessitates a differing degree of focus,
|
||||
not to mention each may pursue different ends; the pursuit of reading or
|
||||
travel may be ephemeral, whereas the pursuit of medicine or treatment may be
|
||||
more lasting. Considering the theme of the letter, though, I don't want to
|
||||
argue these particulars, since I like the metaphors.</p>
|
||||
|
||||
<p>The secondary theme of the letter deals with possessions. Both Seneca, and
|
||||
the surprisingly on-topic quote from Epicurus encourage only owning enough
|
||||
to cover what is needed, not necessarily what is desired. "It is, first, to
|
||||
have what is necessary, and, second, to have what is enough." As an aspiring
|
||||
minimalist, I couldn't agree more.</p>
|
||||
|
||||
<h3>Source</h3>
|
||||
<p><a href="https://en.wikisource.org/wiki/Moral_letters_to_Lucilius/Letter_2">
|
||||
Moral Letters to Lucilius, Letter 2 on Wikisource
|
||||
</a></p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2018-01-15
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
374
2018/01/27/halvar.html
Normal file
374
2018/01/27/halvar.html
Normal file
|
@ -0,0 +1,374 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Character Write-up: Halvar</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2018/01/27/halvar.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="character-backstory-halvar-rune-bearer">Character Backstory: Halvar, Rune Bearer</h1>
|
||||
|
||||
<p>The boy stirred. A movement in his room brought his senses to him. It moved like
|
||||
a shadow, hunting across his wall, and he feared he was the prey. Slipping
|
||||
quietly from his blankets, he reached under his bed, and swiftly brought forth
|
||||
the shield his father had given him. None too soon, as green flame erupted from
|
||||
the shadow, streaking across the room. The boy raised his shield, as the flames
|
||||
crashed upon him. In the same moment it was over, the boy standing among the
|
||||
scorched wood, his shield glowing brightly from the runes inscribed on its face.
|
||||
The shadow stepped forward, no longer a monster but a human figure, and bowed
|
||||
deeply.</p>
|
||||
|
||||
<p>“You have within you the secret of the runes,” it said in a voice impossible to
|
||||
place. Shifting in tone and pitch, the boy was uncertain if he was watching a
|
||||
woman or a man. He was starting to think it was another entirely.</p>
|
||||
|
||||
<p>“The gods are not dead, nor is magic. Your sword, your blood, is proof enough.
|
||||
Your destiny calls you, Halvar. Take forth your sword, and learn its true name.
|
||||
Reveal the secret of the runes. You, Halvar, you will–”</p>
|
||||
|
||||
<p>A loud belch erupted from the man next to him.</p>
|
||||
|
||||
<p>“Give it up, Halvar! We’ve heard your tale a thousand times. It’s a good story
|
||||
but a better lullaby once we get into the mead!”</p>
|
||||
|
||||
<p>Laughter sprung up, and Halvar leaned back into his chair. The dark bedroom
|
||||
faded from his mind, replaced with the warmth of the nearby fire. The inn was
|
||||
empty, save them, and it felt vast compared to his memories. After a long drink
|
||||
from his cup, he spoke.</p>
|
||||
|
||||
<p>“Alright Baldur, I see I may talk you children to sleep with my tales of
|
||||
greatness and destiny. Come then, you tell us one!”</p>
|
||||
|
||||
<p>As others rallied the cry, the door to the inn was thrown open, and a figure
|
||||
stumbled in. Dressed in the armor of a town guard, he glanced around the room in
|
||||
a panic, before focusing on the hearth and the gathering of men there.</p>
|
||||
|
||||
<p>“The road! Wolves! The caravan is under attack!” He shouted.</p>
|
||||
|
||||
<p>Halvar rose without hesitation, as those around him looked to him.</p>
|
||||
|
||||
<p>“Baldur, watch closely. This is how legends are made!”</p>
|
||||
|
||||
<p>He ran from the inn, reaching to his hip and finding his sword. He hadn’t
|
||||
remembered putting his belt on earlier. He must have done so without thinking.</p>
|
||||
|
||||
<p><em>Too eager for song and drink!</em> He mused.</p>
|
||||
|
||||
<p>As he neared the edge of the village, several others joined with him, and
|
||||
together they began down the road. Howling could be heard on the wind, and the
|
||||
woods were lit with the dancing light of torches.</p>
|
||||
|
||||
<p>Halvar turned to the others. “I will go first, and draw their attention. Ivar,
|
||||
try to target the ones in the back with that bow. Tad, you go for the wagon. Our
|
||||
goal is to draw them from the caravan. Once they’re away, get the wagon moving!”</p>
|
||||
|
||||
<p>He turned, then, and ran, not waiting for his companions replies. He knew time
|
||||
was short, and greatness lay only around the bend.</p>
|
||||
|
||||
<p>Running fast, sword in hand, he came upon the caravan. The horses were frenzied,
|
||||
but still harnessed. A small blessing, he thought, then regretted, seeing the
|
||||
first of the dead. To his left he could see two wolves in the brush, and he
|
||||
guessed three more must be near his flank. He turned his back on the two,
|
||||
taunting them, as he moved past the wagon. His simple farce worked, and the
|
||||
wolves made to pounce. The first wolf fell to his blade, as the second danced to
|
||||
his side. From behind, he heard movement, then a yelp. He dared a glance, and
|
||||
saw two more wolves. One was laying on its side, an arrow from its neck. The
|
||||
other began to circle.</p>
|
||||
|
||||
<p>A sudden crack of reins drew his attention away to see the cart lurch forward.
|
||||
The distraction was enough, and one of the circling wolves lunged. It caught
|
||||
Halvar’s empty arm, and pulled him off balance, to the ground. Slashing wildly,
|
||||
Halvar quickly recovered. His arm was mangled, the blood dripping from his hand
|
||||
as the spittle dripped from the wolves mouths. The second wolf then lept, but
|
||||
was caught mid flight by an arrow, and fell to the ground lifeless. Now
|
||||
outnumbered, the remaining wolf retreated to the darkness of the woods.</p>
|
||||
|
||||
<p>Ivar was upon him then, supporting him as they quickly made after the caravan.
|
||||
His arm burned, his chest pounded, and his head swam with anticipation of
|
||||
Baldur’s face, when he shared of his glory.</p>
|
||||
|
||||
<p>“Good shooting, Ivar! That’s two for you and two for me! Wait until Baldur–”</p>
|
||||
|
||||
<p>In a white blur, Ivar was torn from his side. Stumbling slightly, he turned to
|
||||
see a great white wolf, the size of a small horse, with Ivar’s neck in its
|
||||
teeth. With a snarl, it ripped the life from him, and as blood dripped from its
|
||||
mouth, it spoke in the common tongue.</p>
|
||||
|
||||
<p>“You will die this night, rune bearer. You cannot be allowed to live.”</p>
|
||||
|
||||
<p>Halvar took up his stance. His left arm useless, he put it between him and his
|
||||
enemy. The wolf then bellowed an unearthly howl, which echoed in the woods and
|
||||
was joined by more voices.</p>
|
||||
|
||||
<p><em>Unfortunate</em>, he thought, <em>This would make for a great tale. And not a single
|
||||
skald around to watch!</em></p>
|
||||
|
||||
<p>The two circled. The great wolf snarled a laugh of sorts.</p>
|
||||
|
||||
<p>“Do you know of me, manling? I am a daughter of Fenrir. I am to join my father
|
||||
in Ragnarok. I will feast upon your gods carcasses, and drink of their blood!
|
||||
You are not a god. What hope have you against one as great as me? Bare your
|
||||
neck, and I will end your life quickly.”</p>
|
||||
|
||||
<p>Halvar smiled. “Do you know of me, pup? I am Halvar, son of Haakon, son of
|
||||
Eirik, son of Odinson. I carry the secrets of the runes, and will herald the
|
||||
return of the gods! You dare impede my destiny?! You will serve only to further
|
||||
my legend!”</p>
|
||||
|
||||
<p>With renewed vigor, Halvar attacked. Sword was met with fang, as blow after blow
|
||||
was traded. The great wolf, no stranger to the weapons of man, danced around the
|
||||
blade. As each grew bloodied, they parted, panting and weary.</p>
|
||||
|
||||
<p>“You fight well, for a runt.” Halvar managed between breaths. “Tell me your
|
||||
name, great wolf. No warrior should live in legend unknown!”</p>
|
||||
|
||||
<p>The wolf bared its teeth, perhaps mimicking a smile. “I am called Ísstonn, ice
|
||||
fang. A vetrgarmr. Daughter of Vetrkona, Daughter of Hati Hróðvitnisson.”</p>
|
||||
|
||||
<p>A crushing of snow behind him signalled more wolves. Halvar knew his time was
|
||||
over.</p>
|
||||
|
||||
<p><em>Never a skald around…</em> He began, then was interrupted by a yelp and a thud. He
|
||||
glanced over his shoulder to see one of the two wolves laying still, an ax in
|
||||
its side. From the woods, a figure emerged.</p>
|
||||
|
||||
<p>“You’re not a skald, but you’ll do!” Halvar shouted, a grin now upon his face.
|
||||
His father stepped forth, drawing the handax from the wolf, and moved to join
|
||||
him.</p>
|
||||
|
||||
<p>“Father and son shall fall by my fangs!” Ísstonn barked, and the fight resumed.</p>
|
||||
|
||||
<p>Once more, sword met fang, and blows were traded. Halvar and Haakon fought the
|
||||
winter wolf, as other wolves howled in the dark woods. The bravery and skill of
|
||||
the two was too much for the great wolf, and before long she lay bloodied and
|
||||
defeated on the snow.</p>
|
||||
|
||||
<p>“You fight with conviction, Haakonson,” she spit, as blood ran from her mouth.
|
||||
“Beware my father’s fang, manling. He will devour your gods.” The light faded
|
||||
from the great beast, as the last fog of its breath disappeared into the cold night
|
||||
air.</p>
|
||||
|
||||
<p>The two men made haste to the village. The night now silent.</p>
|
||||
|
||||
<p>“Halvar, what happened tonight, no one in the village may know of it.” Haakon
|
||||
said, as he bandaged Halvar’s arm.</p>
|
||||
|
||||
<p>“Surely you joke! What happened tonight is a story to rival the legends of old!
|
||||
Ow!” Haakon squeezed Halvar’s arm tightly. Tears welled in his eyes, as he
|
||||
stared with an intensity Halvar had not seen for many years.</p>
|
||||
|
||||
<p>“Halvar. You indeed have a great destiny before you. This village is in danger
|
||||
if you remain. You must leave here, and find your legend beyond these fields.”</p>
|
||||
|
||||
<p>Haakon then stood, and dared clear his eyes with his sleeve. After a brief
|
||||
pause, he went and retrieved a small chest. He heaved the heavy container onto
|
||||
the floor besides Halvar, and beckoned him open it.</p>
|
||||
|
||||
<p>Within, Halvar found a suit of chain mail, polished and oiled. Beneath it, a
|
||||
leather tunic, and nestled next to it all, a helmet.</p>
|
||||
|
||||
<p>“This was your grandfather’s, and his before him.” Haakon said. “If the stories
|
||||
are to be believed, this mail saw many battles, some during the great war.”</p>
|
||||
|
||||
<p>Haakon then placed two hand axes next to the chest. “These are yours now. Muninn
|
||||
and Huginn, named for the All Father’s favorite ravens. May they serve you well,
|
||||
as they do him”</p>
|
||||
|
||||
<p>Finally, he laid Halvar’s sword upon his lap. “And this, you know of. What you
|
||||
may not know is the legend of this sword. Here, a drink and our final toast.”
|
||||
Haakon handed a cup to Halvar, and they drank.</p>
|
||||
|
||||
<p>“Ages past, when myths were made, and magic was commonplace, the keepers of the
|
||||
runes used their powers to gift man with powerful weapons and armor and other
|
||||
trinkets. This sword is one such weapon. I know not its true name. My father
|
||||
told me it was called Eljunvegr, Enduring Hope, as I have told you, but there
|
||||
is another name, lost to time. These runes, they are more than just decoration,
|
||||
as you well know. Legend says, in the time of the great war, this sword was used
|
||||
by a great berserker of Odin. Odin’s ritual to save humanity would destroy any
|
||||
and all around him, and Odin commanded his men flee and live. This berserker
|
||||
refused the command of the god, and fought alone to protect the All Father,
|
||||
ensuring his victory. He fought with this sword, as you now will.”</p>
|
||||
|
||||
<p>Haakon then helped Halvar don his armor, and brought to him a pack. They then
|
||||
went outside, to meet the dawn. Haakon led to Halvar a horse, and then returned
|
||||
to the house. Before entering, he turned.</p>
|
||||
|
||||
<p>“You do honor to your family, Halvar. Never forget that.” With that, Haakon
|
||||
moved inside, and closed the door.</p>
|
||||
|
||||
<p>As Halvar neared the edge of the village, there stood two men. He recognized one
|
||||
as Baldur, and after a moment recognized the second as Tad.</p>
|
||||
|
||||
<p>“Leaving so soon? Surely you’ve tales of your daring rescue last night?” Baldur
|
||||
said, stifling a yawn. “Where are you off to so early? It looks like you ride to
|
||||
war!” He chuckled.</p>
|
||||
|
||||
<p>“You saved this village last night. That caravan had food and medicine.” Tad
|
||||
chimed in.</p>
|
||||
|
||||
<p>“We saved the village, Tad. You, me and Ivar. We did.” Halvar replied, his voice
|
||||
lacking in its usual bravado.</p>
|
||||
|
||||
<p>“Well, seems your adventures were a bit humbling. I admit, I fear what an actual
|
||||
adventure will make you!” Baldur laughed. His expression then grew sober. “Every
|
||||
great warrior needs a shield, Halvar. I know how much this means to you. I
|
||||
restored it as best I could.”</p>
|
||||
|
||||
<p>From his side, Baldur lifted a round shield. It was expertly crafted, and
|
||||
perfectly balanced. Upon its face, a rune was burned into the wood, and gelded
|
||||
in silver.</p>
|
||||
|
||||
<p>“Take this too, it’s from my family.” Tad held forth a horn, carved of bone with
|
||||
a steel mouthpiece. “Consider them a reminder: your legend started here. Now go,
|
||||
your father will have our beards if we’re seen with you.”</p>
|
||||
|
||||
<p>With a nod, Halvar rode from the village. He knew not to where he went, but he
|
||||
knew his destiny would not let him stray far.</p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2018-01-27
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
255
2018/01/28/letter-to-lucilius-11.html
Normal file
255
2018/01/28/letter-to-lucilius-11.html
Normal file
|
@ -0,0 +1,255 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Seneca's Letter to Lucilius, Letter 11</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2018/01/28/letter-to-lucilius-11.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="letter-11-on-the-blush-of-modesty">Letter 11: On the Blush of Modesty</h1>
|
||||
|
||||
<h2 id="original-text">Original Text</h2>
|
||||
|
||||
<p>[1] Your friend and I have had a conversation. He is a man of ability; his very
|
||||
first words showed what spirit and understanding he possesses, and what progress
|
||||
he has already made. He gave me a foretaste, and he will not fail to answer
|
||||
thereto. For he spoke not from forethought, but was suddenly caught off his
|
||||
guard. When he tried to collect himself, he could scarcely banish that hue of
|
||||
modesty, which is a good sign in a young man; the blush that spread over his
|
||||
face seemed so to rise from the depths. And I feel sure that his habit of
|
||||
blushing will stay with him after he has strengthened his character, stripped
|
||||
off all his faults, and become wise. For by no wisdom can natural weaknesses of
|
||||
the body be removed. That which is implanted and inborn can be toned down by
|
||||
training, but not overcome. [2] The steadiest speaker, when before the public,
|
||||
often breaks into a perspiration, as if he had wearied or over-heated himself;
|
||||
some tremble in the knees when they rise to speak; I know of some whose teeth
|
||||
chatter, whose tongues falter, whose lips quiver. Training and experience can
|
||||
never shake off this habit; nature exerts her own power and through such a
|
||||
weakness makes her presence known even to the strongest. [3] I know that the
|
||||
blush, too, is a habit of this sort, spreading suddenly over the faces of the
|
||||
most dignified men. It is, indeed more prevalent in youth, because of the warmer
|
||||
blood and the sensitive countenance; nevertheless, both seasoned men and aged
|
||||
men are affected by it. Some are most dangerous when they redden, as if they
|
||||
were letting all their sense of shame escape. [4] Sulla, when the blood mantled
|
||||
his cheeks, was in his fiercest mood. Pompey had the most sensitive cast of
|
||||
countenance; he always blushed in the presence of a gathering, and especially at
|
||||
a public assembly. Fabianus also, I remember, reddened when he appeared as a
|
||||
witness before the senate; and his embarrassment became him to a remarkable
|
||||
degree. [5] Such a habit is not due to mental weakness, but to the novelty of a
|
||||
situation; an inexperienced person is not necessarily confused, but is usually
|
||||
affected, because he slips into this habit by natural tendency of the body. Just
|
||||
as certain men are full-blooded, so others are of a quick and mobile blood, that
|
||||
rushes to the face at once.</p>
|
||||
|
||||
<p>[6] As I remarked, Wisdom can never remove this habit; for if she could rub out
|
||||
all our faults, she would be mistress of the universe. Whatever is assigned to
|
||||
us by the terms of our birth and the blend in our constitutions, will stick with
|
||||
us, no matter how hard or how long the soul may have tried to master itself. And
|
||||
we cannot forbid these feelings any more than we can summon them. [7] Actors in
|
||||
the theatre, who imitate the emotions, who portray fear and nervousness, who
|
||||
depict sorrow, imitate bashfulness by hanging their heads, lowering their
|
||||
voices, and keeping their eyes fixed and rooted upon the ground. They cannot,
|
||||
however, muster a blush; for the blush cannot be prevented or acquired. Wisdom
|
||||
will not assure us of a remedy, or give us help against it; it comes or goes
|
||||
unbidden, and is a law unto itself.</p>
|
||||
|
||||
<p>[8] But my letter calls for its closing sentence. Hear and take to heart this
|
||||
useful and wholesome motto: “Cherish some man of high character, and keep him
|
||||
ever before your eyes, living as if he were watching you, and ordering all your
|
||||
actions as if he beheld them.” [9] Such, my dear Lucilius, is the counsel of
|
||||
Epicurus; he has quite properly given us a guardian and an attendant. We can get
|
||||
rid of most sins, if we have a witness who stands near us when we are likely to
|
||||
go wrong. The soul should have someone whom it can respect, – one by whose
|
||||
authority it may make even its inner shrine more hallowed. Happy is the man who
|
||||
can make others better, not merely when he is in their company, but even when he
|
||||
is in their thoughts! And happy also is he who can so revere a man as to calm
|
||||
and regulate himself by calling him to mind! One who can so revere another, will
|
||||
soon be himself worthy of reverence. [10] Choose therefore a Cato; or, if Cato
|
||||
seems too severe a model, choose some Laelius, a gentler spirit. Choose a master
|
||||
whose life, conversation, and soul-expressing face have satisfied you; picture
|
||||
him always to yourself as your protector or your pattern. For we must indeed
|
||||
have someone according to whom we may regulate our characters; you can never
|
||||
straighten that which is crooked unless you use a ruler. Farewell.</p>
|
||||
|
||||
<h2 id="response">Response</h2>
|
||||
|
||||
<p>This letter stikes me as another casual writing of Seneca’s. Some of his letters
|
||||
seem very serious, and some are much more conversational. In this letter, Seneca
|
||||
remninds us that the faults which nature gave us are beyond the power of wisdom
|
||||
to fix. This, he assures us, is not something we should feel ashamed of or take
|
||||
as a weakness, since it lies outside our control. His examples generally focus
|
||||
on blushing, hence the title and theme, but it’s easy for us to extend it to
|
||||
many facets of our physical self; height comes to mind most immediately.</p>
|
||||
|
||||
<p>As with many sources of Stoicism, when I read the reassurances of authors long
|
||||
since gone, I can’t help but feel a sense of comfort. The problems of today, the
|
||||
personal struggles we all endure, the anxieties we fight to overcome; they’re
|
||||
not new. Others before us have encountered them, and others after us will. I
|
||||
think the Stoics would be quick to remind us, it is our place to endure and then
|
||||
help others endure. At least, that’s what I am quick to remind myself of.</p>
|
||||
|
||||
<p>The quote, another from Epicurus (Seneca’s secret man-crush, no doubt), speaks
|
||||
of finding a good role-model. Reflecting on his quote made me realize I don’t
|
||||
have many role-models in life, at least not many living. Perhaps that matters
|
||||
little, but I think having a living example you can work from makes matters
|
||||
easier. Seneca rightly shows how it goes beyond simply living by your
|
||||
role-model’s standards, but also using them as an ever-present companion, in
|
||||
order to help with decisions and actions. Very reminiscent of “What would Jesus
|
||||
do?” Personally, I like this idea, and I must look for a role-model I can
|
||||
follow. A few names jump out: Tim Ferris, and Elon Musk. Ferris for his
|
||||
unrelenting pursuit to better himself, and Musk for his unrelenting pursuit to
|
||||
better the world around him.</p>
|
||||
|
||||
<h1 id="sources">Sources</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://en.wikisource.org/wiki/Moral_letters_to_Lucilius/Letter_11">Moral Letters to Lucilius, Letter 11 on Wikisource</a></li>
|
||||
</ul>
|
||||
|
||||
<h6 id="letter-index"><a href="/2018/01/15/Letters-To-Lucilius.html">Letter Index</a></h6>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2018-01-28
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
252
2018/01/28/letter-to-lucilius-3.html
Normal file
252
2018/01/28/letter-to-lucilius-3.html
Normal file
|
@ -0,0 +1,252 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Seneca's Letter to Lucilius, Letter 3</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2018/01/28/letter-to-lucilius-3.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1>Letter 3: On True and False Friendship</h1>
|
||||
|
||||
<h2>Original Text</h2>
|
||||
<p>1. You have sent a letter to me through the hand of a "friend" of yours, as
|
||||
you call him. And in your very next sentence you warn me not to discuss with
|
||||
him all the matters that concern you, saying that even you yourself are not
|
||||
accustomed to do this; in other words, you have in the same letter affirmed
|
||||
and denied that he is your friend. 2. Now if you used this word of ours in
|
||||
the popular sense, and called him "friend" in the same way in which we speak
|
||||
of all candidates for election as "honourable gentlemen," and as we greet
|
||||
all men whom we meet casually, if their names slip us for the moment, with
|
||||
the salutation "my dear sir," – so be it. But if you consider any man a
|
||||
friend whom you do not trust as you trust yourself, you are mightily
|
||||
mistaken and you do not sufficiently understand what true friendship means.
|
||||
Indeed, I would have you discuss everything with a friend; but first of all
|
||||
discuss the man himself. When friendship is settled, you must trust; before
|
||||
friendship is formed, you must pass judgment. Those persons indeed put last
|
||||
first and confound their duties, who, violating the rules of Theophrastus,
|
||||
judge a man after they have made him their friend, instead of making him
|
||||
their friend after they have judged him. Ponder for a long time whether you
|
||||
shall admit a given person to your friendship; but when you have decided to
|
||||
admit him, welcome him with all your heart and soul. Speak as boldly with
|
||||
him as with yourself. 3. As to yourself, although you should live in such a
|
||||
way that you trust your own self with nothing which you could not entrust
|
||||
even to your enemy, yet, since certain matters occur which convention keeps
|
||||
secret, you should share with a friend at least all your worries and
|
||||
reflections. Regard him as loyal, and you will make him loyal. Some, for
|
||||
example, fearing to be deceived, have taught men to deceive; by their
|
||||
suspicions they have given their friend the right to do wrong. Why need I
|
||||
keep back any words in the presence of my friend? Why should I not regard
|
||||
myself as alone when in his company?</p>
|
||||
|
||||
<p>4. There is a class of men who communicate, to anyone whom they meet, matters
|
||||
which should be revealed to friends alone, and unload upon the chance
|
||||
listener whatever irks them. Others, again, fear to confide in their closest
|
||||
intimates; and if it were possible, they would not trust even themselves,
|
||||
burying their secrets deep in their hearts. But we should do neither. It is
|
||||
equally faulty to trust everyone and to trust no one. Yet the former fault
|
||||
is, I should say, the more ingenuous, the latter the more safe. 5. In like
|
||||
manner you should rebuke these two kinds of men, – both those who always
|
||||
lack repose, and those who are always in repose. For love of bustle is not
|
||||
industry, – it is only the restlessness of a hunted mind. And true repose
|
||||
does not consist in condemning all motion as merely vexation; that kind of
|
||||
repose is slackness and inertia. 6. Therefore, you should note the
|
||||
following saying, taken from my reading in Pomponius: "Some men shrink into
|
||||
dark corners, to such a degree that they see darkly by day." No, men should
|
||||
combine these tendencies, and he who reposes should act and he who acts
|
||||
should take repose. Discuss the problem with Nature; she will tell you that
|
||||
she has created both day and night. Farewell.</p>
|
||||
|
||||
<h2>Response</h2>
|
||||
|
||||
<p>In this letter I take away two themes: one of friendship, and one of
|
||||
discussions. Of friendship, I think Seneca's definition sets a high bar,
|
||||
though rightfully so. A friend (perhaps a "true friend", considering
|
||||
Facebook et al) is one you can confide in without restriction, except for
|
||||
the most tightly held of secrets. I can personally count the number of
|
||||
people I could call this type of friend on one hand. To Seneca, as with me,
|
||||
friend is an honorable position.</p>
|
||||
|
||||
<p>In today's social-media-fueled world, I find that the term "friend" resonates
|
||||
much closer to Seneca's sick burn: "friend" in the same way in which we
|
||||
speak of all candidates for election as "honorable gentlemen." Perhaps,
|
||||
though, there's a bit of syntactic significance here. To the Stoics, the
|
||||
importance of community and brotherhood is found throughout. Marcus Aurelius
|
||||
has a famous quote about it, as masterfully illustrated by the great Gavin
|
||||
at Zen Pencils: [<a href="https://zenpencils.com/comic/aurelius/"> Link
|
||||
</a>]. I think it safe to say we should be friendly and helpful to all we meet,
|
||||
whereas to welcome one as a friend is a significant event, and one which
|
||||
requires careful consideration.</p>
|
||||
|
||||
<p>The second theme, discussion, is only touched on but I think is significant
|
||||
enough to warrant attention. Seneca mentions the importance of moderation in
|
||||
trust and discussion with others. Do not share freely and constantly, and
|
||||
also do not withdraw within yourself too far. I think here we see a
|
||||
blueprint for discussion with others. To borrow from Marcus, we are all
|
||||
brothers, and in that sense we should be comfortable discussing common
|
||||
matters. However, it is only with friends that we should be comfortable
|
||||
discussing more personal matters, and even then we must be considerate. Once
|
||||
again, our social-media-centric world finds many of us sharing freely into a
|
||||
void we do not recognize as a crowd. Many would do well to remember: social
|
||||
media is not empty! There are those who greedily capture every word you give
|
||||
freely, like a stray animal to a buffet. Judge well what you decide to
|
||||
share, for likely it is not with "true friends" that the message solely
|
||||
goes.</p>
|
||||
|
||||
<p>Reflecting on this letter made me carefully evaluate my friendships. I rarely
|
||||
have difficulty with people, though admittedly I take time to "warm up" to
|
||||
them. In terms of discussions, I don't find much to be beyond common topics.
|
||||
In that sense, I think I am a bit too loose-lipped, though perhaps not as
|
||||
much as I think. However, I do know that it is a small group with which I
|
||||
confide the most personal challenges or achievements I have made. And, as
|
||||
Seneca does suggest, I do not allow entry into this group lightly!</p>
|
||||
|
||||
<h3>Source</h3>
|
||||
<p><a href="https://en.wikisource.org/wiki/Moral_letters_to_Lucilius/Letter_3">
|
||||
Moral Letters to Lucilius, Letter 3 on Wikisource
|
||||
</a></p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2018-01-20
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
295
2018/01/28/letter-to-lucilius-4.html
Normal file
295
2018/01/28/letter-to-lucilius-4.html
Normal file
|
@ -0,0 +1,295 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Seneca's Letter to Lucilius, Letter 4</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2018/01/28/letter-to-lucilius-4.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1>Letter 4: On the Terrors of Death</h1>
|
||||
|
||||
<h2>Original Text</h2>
|
||||
<p>1. Keep on as you have begun, and make all possible haste, so that you may
|
||||
have longer enjoyment of an improved mind, one that is at peace with itself.
|
||||
Doubtless you will derive enjoyment during the time when you are improving
|
||||
your mind and setting it at peace with itself; but quite different is the
|
||||
pleasure which comes from contemplation when one's mind is so cleansed from
|
||||
every stain that it shines. 2. You remember, of course, what joy you felt
|
||||
when you laid aside the garments of boyhood and donned the man's toga, and
|
||||
were escorted to the forum; nevertheless, you may look for a still greater
|
||||
joy when you have laid aside the mind of boyhood and when wisdom has
|
||||
enrolled you among men. For it is not boyhood that still stays with us, but
|
||||
something worse, – boyishness. And this condition is all the more serious
|
||||
because we possess the authority of old age, together with the follies of
|
||||
boyhood, yea, even the follies of infancy. Boys fear trifles, children fear
|
||||
shadows, we fear both.</p>
|
||||
|
||||
<p>3. All you need to do is to advance; you will thus understand that some
|
||||
things are less to be dreaded, precisely because they inspire us with great
|
||||
fear. No evil is great which is the last evil of all. Death arrives; it
|
||||
would be a thing to dread, if it could remain with you. But death must
|
||||
either not come at all, or else must come and pass away.</p>
|
||||
|
||||
<p>4. "It is difficult, however," you say, "to bring the mind to a point where
|
||||
it can scorn life." But do you not see what trifling reasons impel men to
|
||||
scorn life? One hangs himself before the door of his mistress; another hurls
|
||||
himself from the house-top that he may no longer be compelled to bear the
|
||||
taunts of a bad-tempered master; a third, to be saved from arrest after
|
||||
running away, drives a sword into his vitals. Do you not suppose that virtue
|
||||
will be as efficacious as excessive fear? No man can have a peaceful life
|
||||
who thinks too much about lengthening it, or believes that living through
|
||||
many consulships is a great blessing. 5. Rehearse this thought every day,
|
||||
that you may be able to depart from life contentedly; for many men clutch
|
||||
and cling to life, even as those who are carried down a rushing stream
|
||||
clutch and cling to briars and sharp rocks.</p>
|
||||
|
||||
<p>Most men ebb and flow in wretchedness between the fear of death and the
|
||||
hardships of life; they are unwilling to live, and yet they do not know how
|
||||
to die. 6. For this reason, make life as a whole agreeable to yourself by
|
||||
banishing all worry about it. No good thing renders its possessor happy,
|
||||
unless his mind is reconciled to the possibility of loss; nothing, however,
|
||||
is lost with less discomfort than that which, when lost, cannot be missed.
|
||||
Therefore, encourage and toughen your spirit against the mishaps that
|
||||
afflict even the most powerful. 7. For example, the fate of Pompey was
|
||||
settled by a boy and a eunuch, that of Crassus by a cruel and insolent
|
||||
Parthian. Gaius Caesar ordered Lepidus to bare his neck for the axe of the
|
||||
tribune Dexter; and he himself offered his own throat to Chaerea.[1] No man
|
||||
has ever been so far advanced by Fortune that she did not threaten him as
|
||||
greatly as she had previously indulged him. Do not trust her seeming calm;
|
||||
in a moment the sea is moved to its depths. The very day the ships have made
|
||||
a brave show in the games, they are engulfed. 8. Reflect that a highwayman
|
||||
or an enemy may cut your throat; and, though he is not your master, every
|
||||
slave wields the power of life and death over you. Therefore I declare to
|
||||
you: he is lord of your life that scorns his own. Think of those who have
|
||||
perished through plots in their own home, slain either openly or by guile;
|
||||
you will that just as many have been killed by angry slaves as by angry
|
||||
kings. What matter, therefore, how powerful he be whom you fear, when every
|
||||
one possesses the power which inspires your fear? 9. "But," you will say,
|
||||
"if you should chance to fall into the hands of the enemy, the conqueror
|
||||
will command that you be led away," – yes, whither you are already being
|
||||
led.[2] Why do you voluntarily deceive yourself and require to be told now
|
||||
for the first time what fate it is that you have long been labouring under?
|
||||
Take my word for it: since the day you were born you are being led thither.
|
||||
We must ponder this thought, and thoughts of the like nature, if we desire
|
||||
to be calm as we await that last hour, the fear of which makes all previous
|
||||
hours uneasy.</p>
|
||||
|
||||
<p>10. But I must end my letter. Let me share with you the saying which pleased
|
||||
me to-day. It, too, is culled from another man's Garden:[3] "Poverty brought
|
||||
into conformity with the law of nature, is great wealth." Do you know what
|
||||
limits that law of nature ordains for us? Merely to avert hunger, thirst,
|
||||
and cold. In order to banish hunger and thirst, it is not necessary for you
|
||||
to pay court at the doors of the purse-proud, or to submit to the stern
|
||||
frown, or to the kindness that humiliates; nor is it necessary for you to
|
||||
scour the seas, or go campaigning; nature's needs are easily provided and
|
||||
ready to hand. 11. It is the superfluous things for which men sweat, – the
|
||||
superfluous things that wear our togas threadbare, that force us to grow old
|
||||
in camp, that dash us upon foreign shores. That which is enough is ready to
|
||||
our hands. He who has made a fair compact with poverty is rich.
|
||||
Farewell.</p>
|
||||
|
||||
<h2>Response</h2>
|
||||
|
||||
<p>Letter 4 is the first letter I ever read by Seneca. I read it during a time
|
||||
of anxiety and stress, appropriately enough about my health and life.
|
||||
Every time I read this letter, I am reminded of why I like Stoicism. During
|
||||
the worst of my anxiety, I considered other avenues to find respite.
|
||||
Religion, distractions, drugs. None seemed complete; all held a catch.
|
||||
Religion asked me to put my faith in gods, to trust that which I cannot
|
||||
know. Distractions, though myriad, always ended with me back in reality. And
|
||||
as bad as my anxiety was, I'm not willing to subject myself to any degree of
|
||||
drugs unless absolutely necessary. Time and again, I found myself back at
|
||||
Stoicism. Whether it be the teachings of Epictetus or these letters, the
|
||||
teachings within gave me inspiration.</p>
|
||||
|
||||
<p>Letter 4 deals with the fear of death, a fear I am all too familiar with.
|
||||
Though, to my credit, I don't think I'm alone in this fear. Seneca
|
||||
emphasizes the importance of overcoming this fear, as only a mind free from
|
||||
fear can be truly at peace. It is not enough to just renounce the fear
|
||||
though, you must conquer it. Like invaders at a gate, it will return in force,
|
||||
and each time you must defeat it. Fear is a constant companion, but it need
|
||||
not be a constant nuisance. To me, overcoming fear means learning, and
|
||||
understanding. I like to define fear as a lack of knowledge. We fear the
|
||||
darkness, because we know not what it holds, not because of the inherent
|
||||
qualities of darkness. To conquer fear is to learn, and grow, and improve,
|
||||
relentlessly. Overcome the ignorance, and recognize what is real. As Seneca
|
||||
reminds us, old age is not a cure for ignorance, but rather an extension:
|
||||
"Boys fear trifles, children fear shadows, we fear both." It is not enough
|
||||
to grow old, for adults are just larger children. We must mature in mind as
|
||||
well as body.</p>
|
||||
|
||||
<p>Death is the great equalizer. Whether a king or a beggar, death comes for
|
||||
all. To live is inevitably to die; when may be unknown, but it is certain to
|
||||
come. An Onion article once said it best: "World Death Rate Holding Steady
|
||||
at 100 Percent." The Stoics are quick to remind us it is fruitless to
|
||||
concern ourselves with something outside our control, and death is no
|
||||
exception. Seneca is quick with examples: the highwayman or another enemy;
|
||||
your slave or your king; Nature itself. Accepting that death is the natural
|
||||
progress of life, and that it is outside our control, is paramount to living
|
||||
a life free of fear.</p>
|
||||
|
||||
<p>Finally, the quote at the end. Once more, I feel the quote is unrelated but
|
||||
welcomed. Another suggestion towards minimalist living. Epicurus has a lot
|
||||
of good advice! This quote emphasizes the importance of recognizing and
|
||||
understanding what is necessary to live a good life. Both Epicurians and
|
||||
Stoics promote this to be living in accordance with Nature, though the
|
||||
details of what exactly that is may differ slightly. However, it's a lesson
|
||||
many today have foregone, instead relying too much on externals to find
|
||||
solace and reward. I like how Seneca sums it, though: "He who has made a
|
||||
fair compact with poverty is rich." Replace "poverty" with life, and it
|
||||
still holds. Live modestly, accept your shortcomings, and you will recognize
|
||||
how well off you are.</p>
|
||||
|
||||
<h3>Source</h3>
|
||||
<p><a href="https://en.wikisource.org/wiki/Moral_letters_to_Lucilius/Letter_4">
|
||||
Moral Letters to Lucilius, Letter 4 on Wikisource
|
||||
</a></p>
|
||||
<p><a href="https://www.theonion.com/world-death-rate-holding-steady-at-100-percent-1819564171">
|
||||
The Onion, "World Death Rate Holding Steady at 100 Percent"
|
||||
</a></p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2018-01-20
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
265
2018/02/11/letter-to-lucilius-5.html
Normal file
265
2018/02/11/letter-to-lucilius-5.html
Normal file
|
@ -0,0 +1,265 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Seneca's Letter to Lucilius, Letter 5</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2018/02/11/letter-to-lucilius-5.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="letter-5-on-the-philosophers-mean">Letter 5: On the Philosopher’s Mean</h1>
|
||||
|
||||
<h2 id="original-text">Original Text</h2>
|
||||
|
||||
<p>I commend you and rejoice in the fact that you are persistent in your studies,
|
||||
and that, putting all else aside, you make it each day your endeavour to become
|
||||
a better man. I do not merely exhort you to keep at it; I actually beg you to do
|
||||
so. I warn you, however, not to act after the fashion of those who desire to be
|
||||
conspicuous rather than to improve, by doing things which will rouse comment as
|
||||
regards your dress or general way of living. Repellent attire, unkempt hair,
|
||||
slovenly beard, open scorn of silver dishes, a couch on the bare earth, and any
|
||||
other perverted forms of self-display, are to be avoided. The mere name of
|
||||
philosophy, however quietly pursued, is an object of sufficient scorn; and what
|
||||
would happen if we should begin to separate ourselves from the customs of our
|
||||
fellow-men? Inwardly, we ought to be different in all respects, but our exterior
|
||||
should conform to society. Do not wear too fine, nor yet too frowzy, a toga.
|
||||
One needs no silver plate, encrusted and embossed in solid gold; but we should
|
||||
not believe the lack of silver and gold to be proof of the simple life. Let us
|
||||
try to maintain a higher standard of life than that of the multitude, but not a
|
||||
contrary standard; otherwise, we shall frighten away and repel the very persons
|
||||
whom we are trying to improve. We also bring it about that they are unwilling to
|
||||
imitate us in anything, because they are afraid lest they might be compelled to
|
||||
imitate us in everything.</p>
|
||||
|
||||
<p>The first thing which philosophy undertakes to give is fellow-feeling with all
|
||||
men; in other words, sympathy and sociability. We part company with our promise
|
||||
if we are unlike other men. We must see to it that the means by which we wish to
|
||||
draw admiration be not absurd and odious. Our motto, as you know, is “Live
|
||||
according to Nature”; but it is quite contrary to nature to torture the body, to
|
||||
hate unlaboured elegance, to be dirty on purpose, to eat food that is not only
|
||||
plain, but disgusting and forbidding. Just as it is a sign of luxury to seek
|
||||
out dainties, so it is madness to avoid that which is customary and can be
|
||||
purchased at no great price. Philosophy calls for plain living, but not for
|
||||
penance; and we may perfectly well be plain and neat at the same time. This is
|
||||
the mean of which I approve; our life should observe a happy medium between the
|
||||
ways of a sage and the ways of the world at large; all men should admire it, but
|
||||
they should understand it also.</p>
|
||||
|
||||
<p>“Well then, shall we act like other men? Shall there be no distinction between
|
||||
ourselves and the world?” Yes, a very great one; let men find that we are unlike
|
||||
the common herd, if they look closely. If they visit us at home, they should
|
||||
admire us, rather than our household appointments. He is a great man who uses
|
||||
earthenware dishes as if they were silver; but he is equally great who uses
|
||||
silver as if it were earthenware. It is the sign of an unstable mind not to be
|
||||
able to endure riches.</p>
|
||||
|
||||
<p>But I wish to share with you to-day’s profit also. I find in the writings of
|
||||
our Hecato that the limiting of desires helps also to cure fears: “Cease to
|
||||
hope,” he says, “and you will cease to fear.” “But how,” you will reply, “can
|
||||
things so different go side by side?” In this way, my dear Lucilius: though they
|
||||
do seem at variance, yet they are really united. Just as the same chain fastens
|
||||
the prisoner and the soldier who guards him, so hope and fear, dissimilar as
|
||||
they are, keep step together; fear follows hope. I am not surprised that they
|
||||
proceed in this way; each alike belongs to a mind that is in suspense, a mind
|
||||
that is fretted by looking forward to the future. But the chief cause of both
|
||||
these ills is that we do not adapt ourselves to the present, but send our
|
||||
thoughts a long way ahead. And so foresight, the noblest blessing of the human
|
||||
race, becomes perverted. Beasts avoid the dangers which they see, and when they
|
||||
have escaped them are free from care; but we men torment ourselves over that
|
||||
which is to come as well as over that which is past. Many of our blessings bring
|
||||
bane to us; for memory recalls the tortures of fear, while foresight anticipates
|
||||
them. The present alone can make no man wretched. Farewell.</p>
|
||||
|
||||
<h2 id="response">Response</h2>
|
||||
|
||||
<p>Mean as in average. Not, like… being a jerk. In this letter, Seneca encourages
|
||||
us to live a life which does not ostracize us from society. Instead, we should
|
||||
look beyond the facade, and understand the intentions behind our and others’
|
||||
actions. Living within and conforming to society is not a problem, so long as we
|
||||
do not neglect our virtue: “Inwardly, we ought to be different in all respects,
|
||||
but our exterior should conform to society.”</p>
|
||||
|
||||
<p>I take from this letter two important lessons: live your life for you, not for
|
||||
others; and don’t be afraid to be normal. Though, maybe “live your life for you
|
||||
and pursue virtue” is better. Seek modesty (and moderation) in all things. Be a
|
||||
philosopher in thought, word, and deed, but be an everyday person too, and
|
||||
perhaps primarily. Nobody likes being lectured to, but people do enjoy talking
|
||||
to each other. A big aspect of Stoicism is sharing what we learn with others;
|
||||
improving ourselves to improve others. The only way to do that is by being, for
|
||||
lack of a better word, normal. As Seneca puts it, “We part company with our
|
||||
promise if we are unlike other men.”</p>
|
||||
|
||||
<p>Seneca’s included quote at the end comes from Hecato, and re-enforces the
|
||||
significance of moderation. “Cease to hope, and you will cease to fear.” Seneca
|
||||
expands on this to stress the importance of staying present: “…memory recalls
|
||||
the tortures of fear, while foresight anticipates them.” The way Seneca
|
||||
approaches and expands the quote, though, is simply poetic, and something I will
|
||||
certainly remember moving forward: “Just as the same chain fastens the prisoner
|
||||
and the soldier who guards him, so hope and fear, dissimilar as they are, keep
|
||||
step together; fear follows hope.”</p>
|
||||
|
||||
<p>A few more things worth noting:</p>
|
||||
|
||||
<p>“Repellent attire, unkempt hair, slovenly beard, open scorn of silver dishes, a
|
||||
couch on the bare earth, and any other perverted forms of self-display, are to
|
||||
be avoided.” This seems like a direct response (and another patented Seneca Sick
|
||||
Burn) to the Cynics.</p>
|
||||
|
||||
<p>“It is the sign of an unstable mind not to be able to endure riches.” I read
|
||||
this a few different ways. First, endure the riches of others, and do not let
|
||||
them effect your sense of self-worth. Second, endure the riches of yourself, and
|
||||
do not let it inflate your self-worth. Finally, endure all riches, and recognize
|
||||
them as an indifference, preferred but never at the expense of virtue.</p>
|
||||
|
||||
<h1 id="source">Source</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://en.wikisource.org/wiki/Moral_letters_to_Lucilius/Letter_5">Moral Letters to Lucilius, Letter 5 on Wikisource</a></li>
|
||||
</ul>
|
||||
|
||||
<h6 id="letter-index"><a href="/2018/01/15/Letters-To-Lucilius.html">Letter Index</a></h6>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2018-02-11
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
242
2018/02/11/letter-to-lucilius-6.html
Normal file
242
2018/02/11/letter-to-lucilius-6.html
Normal file
|
@ -0,0 +1,242 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Seneca's Letter to Lucilius, Letter 6</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2018/02/11/letter-to-lucilius-6.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="letter-6-on-sharing-knowledge">Letter 6: On Sharing Knowledge</h1>
|
||||
|
||||
<h2 id="original-text">Original Text</h2>
|
||||
|
||||
<p>I feel, my dear Lucilius, that I am being not only reformed, but transformed. I
|
||||
do not yet, however, assure myself, or indulge the hope, that there are no
|
||||
elements left in me which need to be changed. Of course there are many that
|
||||
should be made more compact, or made thinner, or be brought into greater
|
||||
prominence. And indeed this very fact is proof that my spirit is altered into
|
||||
something better, – that it can see its own faults, of which it was previously
|
||||
ignorant. In certain cases sick men are congratulated because they themselves
|
||||
have perceived that they are sick.</p>
|
||||
|
||||
<p>I therefore wish to impart to you this sudden change in myself; I should then
|
||||
begin to place a surer trust in our friendship, – the true friendship which hope
|
||||
and fear and self-interest cannot sever, the friendship in which and for the
|
||||
sake of which men meet death.</p>
|
||||
|
||||
<p>I can show you many who have lacked, not a friend, but a friendship; this,
|
||||
however, cannot possibly happen when souls are drawn together by identical
|
||||
inclinations into an alliance of honourable desires. And why can it not happen?
|
||||
Because in such cases men know that they have all things in common, especially
|
||||
their troubles.</p>
|
||||
|
||||
<p>You cannot conceive what distinct progress I notice that each day brings to me.
|
||||
And when you say: “Give me also a share in these gifts which you have found so
|
||||
helpful,” I reply that I am anxious to heap all these privileges upon you, and
|
||||
that I am glad to learn in order that I may teach. Nothing will ever please me,
|
||||
no matter how excellent or beneficial, if I must retain the knowledge of it to
|
||||
myself. And if wisdom were given me under the express condition that it must be
|
||||
kept hidden and not uttered, I should refuse it. No good thing is pleasant to
|
||||
possess, without friends to share it.</p>
|
||||
|
||||
<p>I shall therefore send to you the actual books; and in order that you may not
|
||||
waste time in searching here and there for profitable topics, I shall mark
|
||||
certain passages, so that you can turn at once to those which I approve and
|
||||
admire. Of course, however, the living voice and the intimacy of a common life
|
||||
will help you more than the written word. You must go to the scene of action,
|
||||
first, because men put more faith in their eyes than in their ears, and second,
|
||||
because the way is long if one follows precepts, but short and helpful, if one
|
||||
follows patterns.</p>
|
||||
|
||||
<p>Cleanthes could not have been the express image of Zeno, if he had merely heard
|
||||
his lectures; he shared in his life, saw into his hidden purposes, and watched
|
||||
him to see whether he lived according to his own rules. Plato, Aristotle, and
|
||||
the whole throng of sages who were destined to go each his different way,
|
||||
derived more benefit from the character than from the words of Socrates. It was
|
||||
not the class-room of Epicurus, but living together under the same roof, that
|
||||
made great men of Metrodorus, Hermarchus, and Polyaenus. Therefore I summon you,
|
||||
not merely that you may derive benefit, but that you may confer benefit; for we
|
||||
can assist each other greatly.</p>
|
||||
|
||||
<p>Meanwhile, I owe you my little daily contribution; you shall be told what
|
||||
pleased me to-day in the writings of Hecato; it is these words: “What progress,
|
||||
you ask, have I made? I have begun to be a friend to myself.” That was indeed a
|
||||
great benefit; such a person can never be alone. You may be sure that such a man
|
||||
is a friend to all mankind. Farewell.</p>
|
||||
|
||||
<h2 id="response">Response</h2>
|
||||
|
||||
<p>This letter is very casual, more of an update than anything, I feel. Seneca
|
||||
draws reference to the significance of friendship once more, as was covered in
|
||||
letter three. Expanding upon it, he emphasizes the importance of sharing
|
||||
knowledge: “And if wisdom were given me under the express condition that it must
|
||||
be kept hidden and not uttered, I should refuse it. No good thing is pleasant to
|
||||
possess, without friends to share it.” Beyond just sharing, though, is the
|
||||
importance of experiencing. His mentions of Cleanthes to Zeno, and Plato or
|
||||
Aristotle to Socrates, help illustrate this notion.</p>
|
||||
|
||||
<p>What strikes me of significance in this letter is the quote Seneca includes from
|
||||
Hecato: “What progress, you ask, have I made? I have begun to be a friend to
|
||||
myself.” It reminds me of a quote from an article I read written in the 1920s:
|
||||
“I am persuaded that no one ever achieves anything worth-while in this world
|
||||
unless he has so great a respect for his work that he compels all other men to
|
||||
respect it.” In my eyes, the first is a requirement for the second; before you
|
||||
can respect yourself and your work, you must be a friend with yourself. Instead
|
||||
of fighting against every negative feeling or doubt, you must find strength and
|
||||
power. Only then will you live with such assurance that you will harbor respect
|
||||
wherever you walk.</p>
|
||||
|
||||
<h1 id="sources">Sources</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://en.wikisource.org/wiki/Moral_letters_to_Lucilius/Letter_6">Moral Letters to Lucilius, Letter 6 on Wikisource</a></li>
|
||||
<li><a href="https://mikecanex.wordpress.com/2012/12/26/1922-why-i-quit-being-so-accommodating/">Why I Quit Being So Accomidating</a></li>
|
||||
</ul>
|
||||
|
||||
<h6 id="letter-index"><a href="/2018/01/15/Letters-To-Lucilius.html">Letter Index</a></h6>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2018-02-11
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
247
2020/06/03/post.html
Normal file
247
2020/06/03/post.html
Normal file
|
@ -0,0 +1,247 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: An Update</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2020/06/03/post.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="an-update">An Update</h1>
|
||||
|
||||
<p>There is nothing I’ve experienced as humbling as powerlessness. The immediate
|
||||
realization that, despite all the capabilities which may be before you, you can
|
||||
do nothing to affect a situation. It is a powerful reminder that we are, all,
|
||||
parts of a whole. That could mean “cogs in a machine” or other such cynical
|
||||
metaphors, or it could mean part of a team, working together towards a goal. I
|
||||
often fall for the former, and rally to the later. Right now, I see examples of
|
||||
the later all around me: protesters on streets, in parks, joining together to
|
||||
oppose a borderline dictator who chooses military action over reform. Yet, I
|
||||
don’t understand how I can fit in. I understand how, literally, I can join in
|
||||
the protests. I’m not worried about my health or my status in doing so, yet I
|
||||
still hesitate. Because I feel powerless. Because I look at protests, and I see
|
||||
peaceful citizens opposed by military bullies. I see the desperate grasps for
|
||||
control furthering oppression and injustice. I see “their” power, and I feel
|
||||
“their” power, and I sit here, thoughts gasping for breath in a sea of rage and
|
||||
regret. I know adding my voice would not be in vain. I understand that another
|
||||
body in the crowd is not just a number, but a show of support. And yet I still
|
||||
hesitate. Perhaps out of fear; perhaps I was wrong to boldly claim I was
|
||||
unconcerned with my health or status. I like to think I can set aside those and
|
||||
other “indifferents” during times when virtuous action is required; I like to
|
||||
think I would be one to race towards danger, if it was the right thing to do.
|
||||
Yet, as the saying goes, often our actions speak louder than words.</p>
|
||||
|
||||
<p>But perhaps this is a misperception. There are many ways to show support, many
|
||||
avenues to fight oppression. If fear dictate I stay in my house, “safe” from the
|
||||
troubles in the world, then what can I do from here? Much like a voice in the
|
||||
crowd, throwing a blog post out to the world may seem ineffective, but to expect
|
||||
change on this scale be made only by my voice, is selfish and fantasy. This blog
|
||||
post represents my voice online. It is my space, where I can share my ideas and
|
||||
theories, my creations and my fears. In our digital world, this is my personal
|
||||
park from which I can protest, and so I shall. And just like protest in
|
||||
meatspace, it need not end at this. I can still contact my representative, my
|
||||
congressperson, and anyone I feel can and should know my opinion. And so I
|
||||
shall. And I encourage anyone who stumbles across this post, in good times and
|
||||
bad alike, to know that you have options. That powerlessness, while humbling, is
|
||||
not a force of oppression, but a call to examine your perceptions.</p>
|
||||
|
||||
<h2 id="resources">Resources</h2>
|
||||
|
||||
<p><a href="https://www.house.gov/representatives/find-your-representative">Find your
|
||||
Representative</a></p>
|
||||
|
||||
<p><a href="https://www.senate.gov/senators/contact">Find your Senators</a></p>
|
||||
|
||||
<h1 id="and-now-for-something-completely-different">And now for something completely different…</h1>
|
||||
|
||||
<p>Rails! I’ve been learning Ruby on Rails (again… again) as a means to build
|
||||
some of the applications I’ve been thinking of. The most immediate, and the
|
||||
motivation for the recent return, is to build a character sheet system for
|
||||
roleplaying games, specifically Pathfinder and D&D 5e. For a long time, I have
|
||||
considered how cool it would be to have a dynamic character sheet that can
|
||||
calculate all my rolls for me, help me level up, and provide me contextual
|
||||
information. I want to explore tying it to a chat bot, available first on Matrix
|
||||
but later on Discord and perhaps others, to allow for in-line reference and
|
||||
rolling with character awareness, for both players and DMs. I’ve been working my
|
||||
way through Michael Hart’s <a href="https://www.learnenough.com/ruby-on-rails-6th-edition">Ruby on Rails
|
||||
Tutorial</a>. I’m literally
|
||||
on the last chapter of building the example application, and look forward to
|
||||
using it as the foundation to build my application. I also played around with
|
||||
<a href="https://matrix.org/">Matrix</a> and a <a href="https://github.com/ananace/ruby-matrix-sdk">Ruby
|
||||
API</a> for building a bot. Glaub, my
|
||||
WIP bot, was able to connect to the Heroku-deployed application and query it for
|
||||
information via REST calls. I look forward to exploring this more as well.</p>
|
||||
|
||||
<p>I also stumbled across <a href="https://100daystooffload.com">#100DaysToOffload</a>. I
|
||||
think it’s a cool idea, and I’m going to try and pursue it. I have plenty I
|
||||
think about and do every day, and some of it may be helpful.</p>
|
||||
|
||||
<p>Finally, I’ve been very interested in a number of things since being confined
|
||||
during quarantine: self-hosting, decentralized platforms, exercise, cooking,
|
||||
gaming, streaming. Some of these are continued hobbies, some of these are
|
||||
relatively new, and some are completely new to me. I see many synergies between
|
||||
them, and as part of my writing goals, I want to explore them. I already
|
||||
highlighted one: Matrix, a decentralized platform, and building a
|
||||
character-sheet bot. In fact, it also incorporates self-hosting, since I
|
||||
followed <a href="https://matrix.org/blog/2020/04/06/running-your-own-secure-communication-service-with-matrix-and-jitsi">this fun
|
||||
tutorial</a>
|
||||
and setup and configured my own Matrix homeserver and Jitsi Meet instance.
|
||||
Because part of the #100DaysToOffload is to share these posts on socials, I’m
|
||||
also resuming my look into <a href="https://joinmastodon.org/">Mastodon</a> and considering
|
||||
self-hosting a homeserver of that as well. I’m also considering finding a
|
||||
<a href="https://joinpeertube.org/">Peertube</a> community to upload videos to. I think
|
||||
Peertube is a cool idea, and as someone pointed out, there’s not a lot of gaming
|
||||
content on it. I could help promote the platform as an alternative for finding
|
||||
fun gaming videos. Well, at least, for finding gaming videos.</p>
|
||||
|
||||
<p>That’s all for now. Stay safe, stay vigilant, pursue virtue in all that you do.
|
||||
If you’re not sure what to do, consider writing a blog! I’m writing this post as
|
||||
part of <a href="https://100daystooffload">#100DaysToOffload</a>, an initiative to inspire
|
||||
writing habits. Perhaps you could do the same.</p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2020-06-03
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
<a href="/topics/other">other</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
374
2020/06/14/setting-up-btrfs.html
Normal file
374
2020/06/14/setting-up-btrfs.html
Normal file
|
@ -0,0 +1,374 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Setting Up a BTRFS RAID-1</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2020/06/14/setting-up-btrfs.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="btrfs-smooth-as-butter">BTRFS: Smooth as Butter</h1>
|
||||
|
||||
<p>I have a habit of calling BTRFS “butter-F-S.” Conveniently in text I don’t feel
|
||||
a need to say that, because it’s easier to type out BTRFS than “butter-F-S”, as
|
||||
opposed to being easier to say the latter than the former. Regardless, BTRFS is
|
||||
a file system, which can be thought of as the organization system used by a hard
|
||||
drive to store files. File systems provide the functionality necessary for
|
||||
handling data; without one, data would exist on a disk with no means of (simple,
|
||||
reliable) access, management, or use. Every operating system provides the
|
||||
necessary configurations for using at least one file system, and often times can
|
||||
be expanded to understand more file systems, as is the case with Linux. If
|
||||
you’re used to Windows, you’ll be primarily familiar with two file systems:
|
||||
NTFS, and FAT. If you’re familiar with Linux, you’ll have probably dealt with
|
||||
those, as well as EXT. If you’re adventerous, you have have tried additional
|
||||
file systems such as ZFS, or BTRFS.</p>
|
||||
|
||||
<p>When I returned to Linux full-time on my desktop, I decided I wanted to setup a
|
||||
storage system. I initially shopped around for a NAS: network-attached storage.
|
||||
This would be a separate device, basically a motherboard with hard-drives. It
|
||||
would include software for storing data reliably, as well as applications for
|
||||
serving that data, such a Plex. There are many top-rated off-the-shelf options
|
||||
available, but many are costly, propietary, and lock you in to that solution. I
|
||||
decided to go with something a bit more readily available, and turn two existing
|
||||
3 terrabyte drives into a storage system that would live as part of my desktop.
|
||||
The remainder of this post will deal with how I setup BTRFS on my Linux desktop,
|
||||
using sub-volumes, creating automated snapshots, and setting up a back-up
|
||||
schedule.</p>
|
||||
|
||||
<h2 id="setting-up-btrfs">Setting up BTRFS</h2>
|
||||
|
||||
<p>Linux has “first-class” support for BTRFS, which was a deciding force between it
|
||||
and ZFS. (Though, recently, ZFS has made some strides as well.) The only
|
||||
requirements necessary for using BTRFS is to install the <code class="language-plaintext highlighter-rouge">btrfs-progs</code> program,
|
||||
which is required for basic operations. With requirements done, the next step is
|
||||
to setup the filesystem on your disk of choice. This will delete all information
|
||||
on your disk, so only do this when you’re certain any existing data has been
|
||||
backed-up, or you don’t mind losing it.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkfs.btrfs /dev/partition
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>I decided to go with a partitionless setup, which is a slightly modified version
|
||||
of the above command. The above command also allows for adding a disk label, as
|
||||
well as a few other options; <code class="language-plaintext highlighter-rouge">man mkfs.btrfs</code> will give you all the details. I
|
||||
decided to call my BTRFS storage system my “Bag of Holding.”</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkfs.btrfs -L BagOfHolding /dev/sdg
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Creating a partitionless setup removes the MBR or GPT partitioning schemes, and
|
||||
relies on subvolumes to simulate partitions. Because I’m only using these disks
|
||||
for storage, and I won’t be booting from them, this seemed like the way to go.</p>
|
||||
|
||||
<p>My setup will take two drives, and combine them together into a RAID-1. In order
|
||||
to allow for me to get the data from the drives into my new RAID, I did one disk
|
||||
at a time, and moved data between them, I then balanced the RAID.</p>
|
||||
|
||||
<h2 id="configuring-a-btrfs-raid">Configuring a BTRFS RAID</h2>
|
||||
|
||||
<p>At this point, I have two separate drives. One of my drives has all my data on
|
||||
it, the other drive is a raw, partitionless filesystem. At this point, we can
|
||||
leverage BTRFS to combine both our disks into a single “device”, and then
|
||||
balance it. All these commands will leverage the <code class="language-plaintext highlighter-rouge">btrfs</code> command, which needs to
|
||||
be run as root.</p>
|
||||
|
||||
<p>First, mount one of the drives. In my case, I mounted the drive with data</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mount -t btrfs /dev/sdg /mnt/BagOfHolding
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Next, I added my second device to the mounted file system</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>btrfs device add /dev/sdh /mnt/BagOfHolding
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>At this point, we have a filesystem with two devices, but the data and metadata
|
||||
hasn’t been balanced yet. To simply balance the data, and replicate a RAID-0
|
||||
setup, you would run the <code class="language-plaintext highlighter-rouge">btrfs balance</code> command, specifying the
|
||||
mounted filesystem. In my case, I wanted to replicate a RAID-1 setup, having the
|
||||
two disks mirrored instead of striped. The command is modified to include a
|
||||
“balance filter”:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>btrfs balance -dconvert=raid1 -mconvert=raid1 /mnt/BagOfHolding
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>This command will take time, since it has to re-balance the data across the
|
||||
devices. A convenient time for a short aside:</p>
|
||||
|
||||
<h3 id="buzzwords-of-butter">Buzzwords of Butter</h3>
|
||||
|
||||
<ul>
|
||||
<li>Copy-on-Write (COW): Basically, only make copies to data when there are
|
||||
written changes to it. I don’t fully understand Copy-on-Write, and is
|
||||
possibly a good candidate for a future post.</li>
|
||||
<li>Subvolumes: Like a partition, but not a block device. The BTRFS Wiki defines
|
||||
it as “an independently mountable POSIX filetree.” I think of subvolumes as
|
||||
“software partitions” which I’m sure is both wrong and infuriating to people
|
||||
who know more about it than I do.</li>
|
||||
<li>Snapshots: A snapshot is a subvolume that shares its data with another
|
||||
subvolume, using copy-on-write. This means if there are no changes to the
|
||||
underlying data, a snapshot is basically just a reference to the exactly
|
||||
same data as the initial subvolume. As changes get made, the snapshot
|
||||
references a copy of “old” data, as opposed to the new data. Thus, a
|
||||
snapshot represents data at a specific point in time.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="setting-up-subvolumes">Setting up Subvolumes</h2>
|
||||
|
||||
<p>At this point, I have a single device made of two disks. The device, when
|
||||
queried using <code class="language-plaintext highlighter-rouge">btrfs filesystem show</code> shows the total available and used space,
|
||||
and the individual disks composing it. Creating subvolumes is optional; by
|
||||
default, a BTRFS filesystem has one subvolume (with id 5) as the “root.” If you
|
||||
mount the device, you’ll mount that, and see the entire device. I wanted a bit
|
||||
more organization, and options for snapshots, so I created a number of
|
||||
subvolumes for different files: Books, Code, Documents, Games, Misc, Music,
|
||||
Pictures, Videos. I mount each separately, and then sym-link directories in my
|
||||
home directory to a corresponding subvolume.</p>
|
||||
|
||||
<p>Creating a subvolume is very straight forward, using the <code class="language-plaintext highlighter-rouge">brtfs subvolume
|
||||
create</code> command. I made many, as mentioned before, and I’ll walk through how I
|
||||
setup the Books subvolume. I followed the same steps for all other subvolumes.</p>
|
||||
|
||||
<p>First, I created it:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>btrfs subvolume create /mnt/BagOfHolding/Books
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Then, I configured it to automatically mount. This involved adding a line to my
|
||||
fstab file:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>...
|
||||
UUID=658cc4e0-93e1-43b5-b068-d889b44ae98d /mnt/BagOfHolding/Books btrfs subvol=/Books,defaults,nofail,x-systemd.device-timeout=5
|
||||
...
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Looks very similar to other entries, except that the option <code class="language-plaintext highlighter-rouge">subvol=/Books</code> is
|
||||
necessary! This whole line tells the file system to mount the BTRFS subvolume
|
||||
located at Books <em>relative to the “root” subvolume</em>, to the mount point
|
||||
“/mnt/BagOfHolding/Books”. The other important thing to remember is that
|
||||
subvolumes are not block devices. For the BTRFS device, there is only one block
|
||||
device, and that’s the RAID we setup earlier. If you run <code class="language-plaintext highlighter-rouge">btrfs filesystem show</code>
|
||||
you’ll see the device has a single UUID, despite having the two individual
|
||||
disks. In fact, if you were to mount either of the disk devices, you would mount
|
||||
the raid; in my case, if I were to use <code class="language-plaintext highlighter-rouge">/dev/sdg</code> or <code class="language-plaintext highlighter-rouge">/dev/sdh</code> instead of the
|
||||
UUID, it would do the same thing. UUIDs are more reliable, though, so I tend
|
||||
towards them. My fstab has a line like the above for each subvolume. Once that’s
|
||||
done, unmount the RAID, and then either run <code class="language-plaintext highlighter-rouge">mount -a</code> or restart to get each
|
||||
individual subvolume mounted. The final step I did was to symbolic link
|
||||
directories from my home directory to the corresponding subvolumes. Following
|
||||
with Books, I did <code class="language-plaintext highlighter-rouge">ln -s /mnt/BagOfHolding/Books Books</code> from my home directory.
|
||||
Now, if I <code class="language-plaintext highlighter-rouge">cd ~/Books</code> I get to the subvolume on my RAID.</p>
|
||||
|
||||
<h2 id="scheduling-snapshots">Scheduling Snapshots</h2>
|
||||
|
||||
<p>With the RAID established, and subvolumes created, mounted and linked, I now can
|
||||
schedule automatic snapshots. An easy way to do so is with a program called
|
||||
Snapper. Installing that provides the application, as well as schedules both via
|
||||
cron and Systemd. Because I’m running Arch, we’ll rely on the Systemd timer.
|
||||
Before that, we need to create a Snapper configuration.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo snapper -c books create-config /mnt/BagOfHolding/Books
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>This will create the configuration file in “/etc/snapper/configs/”. The
|
||||
configuration includes limits on how many snapshots to keep of different types
|
||||
(“hourly”, “weekly”, etc..). The defaults seemed sane enough for me. Without a
|
||||
cron scheduler, though, nothing else happens. (If you have a cron scheduler,
|
||||
then it will have started automatically and will run accordingly). The final
|
||||
step is to enable and start the “snapper-timeline” timer. If desired, modify the
|
||||
timer frequency (I believe the default is hourly, which is good enough).</p>
|
||||
|
||||
<p>One last thing to do for Systemd is to also enable and start the
|
||||
“snapper-cleanup” timer, which will cull snapshots down to the configured amount
|
||||
from the configuraiton file.</p>
|
||||
|
||||
<p>An interesting thing about snapshots is that, unless something has changed, they
|
||||
won’t take up space. Creating 10 snapshots will not replicate data 10 times.
|
||||
What each snapshot will capture are any changes that have been made to the data.</p>
|
||||
|
||||
<h2 id="creating-backups-from-snapshots">Creating Backups from Snapshots</h2>
|
||||
|
||||
<p>The final phase of my BTRFS journey is to establish backups. One thing that must
|
||||
be emphasized: <strong>SNAPSHOTS ARE NOT BACKUPS</strong>. They can be used to make backups,
|
||||
though. The way I’m doing that currently is with a program called snap-sync.
|
||||
snap-sync will iterate through each Snapper config, and send a snapshot from
|
||||
each to a remote BTRFS-formatted source. In my case, the remote source is an
|
||||
external hard drive. I formatted it similar to my RAID drives, without a
|
||||
partition. Once done, I ran <code class="language-plaintext highlighter-rouge">snap-sync</code> as root, which provides guidance for
|
||||
choosing a disk, and walks through each Snapper config. I ran it once, to get
|
||||
each directory established on the external drive. The manual (<code class="language-plaintext highlighter-rouge">man snap-sync</code>)
|
||||
includes example Systemd timers, which I used to create a timer and service in
|
||||
“/usr/lib/systemd/system”. Then, I enabled and started the timer. The example
|
||||
runs once a week, though I think I may update that to once a day.</p>
|
||||
|
||||
<h2 id="conclusion">Conclusion</h2>
|
||||
|
||||
<p>With that, I feel I have a good solution to my storage needs. I can keep all my
|
||||
data on a RAID drive with backups, accessible easily from the primary machine I
|
||||
use. I further synchronize music and pictures to and from my phone using
|
||||
Syncthing, which will be an upcoming topic of discussion. Some next steps:</p>
|
||||
|
||||
<ul>
|
||||
<li>setup and configure Calibre for my books</li>
|
||||
<li>better configure Demlo for my music</li>
|
||||
<li>look into accessing my RAID from my Raspberry Pi, perhaps via NFS, and
|
||||
leveraging wake-on-lan, to allow for streaming media remotely whenever,
|
||||
without having to leave my desktop on</li>
|
||||
</ul>
|
||||
|
||||
<p>I’m writing this post as part of <a href="https://100daystooffload.com">#100DaysToOffload</a>, an initiative to inspire writing habits. Perhaps
|
||||
you could do the same.</p>
|
||||
|
||||
<h1 id="sources">Sources</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://wiki.archlinux.org/index.php/Btrfs">btrfs on the Arch Wiki</a></li>
|
||||
<li><a href="https://wiki.archlinux.org/index.php/Snapper">Snapper on the Arch Wiki</a></li>
|
||||
<li><a href="https://github.com/wesbarnett/snap-sync">snap-sync</a></li>
|
||||
<li><a href="https://btrfs.wiki.kernel.org/index.php/Main_Page">The BTRFS Wiki</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2020-06-14
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
282
2020/06/18/gabriella_s-fall.html
Normal file
282
2020/06/18/gabriella_s-fall.html
Normal file
|
@ -0,0 +1,282 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Character Story: Gabriella's Fall</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2020/06/18/gabriella_s-fall.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="character-story-gabriellas-fall">Character Story: Gabriella’s Fall</h1>
|
||||
|
||||
<p><em>Gabriella de la Rodriguez Alejandra Santa Lucia, you are hereby relieved of
|
||||
duty and dishonorably discharged from the Barakhan Army.</em></p>
|
||||
|
||||
<p>The morning was cold. It’s always cold. Something Gabriella knew but rarely
|
||||
experienced. She had not slept well since the hearing, and had taken to
|
||||
wandering the city.</p>
|
||||
|
||||
<p><em>You are charged with gross negligence, gross incompetence, and failure to
|
||||
repair. The results of your actions have cost the lives of 8 Barakhan soldiers
|
||||
under your command.</em></p>
|
||||
|
||||
<p>With a start she awoke to fresh dew. She had apparently dozed off. How swiftly
|
||||
her discipline had faltered. Yet another indication of her failure.</p>
|
||||
|
||||
<p><em>Gareth Brand. Ryal Cross. Willem Frost. Davis Mason.</em></p>
|
||||
|
||||
<p>She stopped paying for rooms, since she spent so little time in them. The
|
||||
streets weren’t that bad at night, despite what some may think. In the gardens
|
||||
or along the parkways, there were always trees to rest beneath. The city, the
|
||||
one she had dreamt about as a child; the one she has sworn to defend; the one
|
||||
she now walked as a ghost. The city somehow still welcomed her, still provided
|
||||
for her. Who was she to deserve it?</p>
|
||||
|
||||
<p><em>Francis Potter. Cordon Stone. Richard Stone. Samuel White.</em></p>
|
||||
|
||||
<p>She did not.</p>
|
||||
|
||||
<p><em>All possessions of the army are now to be reclaimed. You will doff your armor,
|
||||
remove your shield, and place them on the floor beside you. All possessions
|
||||
which belong to you have been gathered, and are now presented to you.</em></p>
|
||||
|
||||
<p>A sack, with several sets of clothing. A few books. Her Uncle’s sword. These
|
||||
items were handed to her by a court clerk. She took them, and in stunned
|
||||
silence, stared at the floor in front of her.</p>
|
||||
|
||||
<p><em>This dismissal is now complete. As of this moment, you are forbidden interaction
|
||||
with any members of House Barakhan, until you return to Mnemar and make amends
|
||||
for your actions.</em></p>
|
||||
|
||||
<p>She couldn’t move. She could barely breathe. The Field Marshall closed the book,
|
||||
and placed it on the table before him. The Imperial Magister, with the slightest
|
||||
smirk on his face, was the first to leave. After what seemed like ages, one of
|
||||
Field Marshall Barakhan Randall’s captains escorted Gabriella to the exit.</p>
|
||||
|
||||
<p>This was the fourth time she walked into the temple. This time she was
|
||||
determined to at least try. She spotted a secluded space, and knelt at a pew.
|
||||
After a few moments, she rose. This is pointless, she thought, and began to walk
|
||||
out. She paused, then slowly returned to the pew. Again she knelt, and as she
|
||||
had done so many times since Rattimas, whispered quietly the names of her men.
|
||||
<em>Gareth, Ryal, Willem, Davis, Francis.</em> She stopped, took a deep breath, and
|
||||
continued. <em>Cordon, Richard, Samuel.</em> Silence. She stared at her hands, clasped
|
||||
before her.</p>
|
||||
|
||||
<p>“I’ve never done this before. I’ve seen my men pray to gods. I’ve seen the
|
||||
citizens and refugees with their shrines and books. I’ve never been convinced it
|
||||
was worth my time. I guess, now that I have nothing left, it doesn’t seem such a
|
||||
waste.”</p>
|
||||
|
||||
<p>She smiled, and laughed quietly. “This is pointless.”</p>
|
||||
|
||||
<p>She rose, and as she did, a voice from behind her spoke.</p>
|
||||
|
||||
<p>“Where I walk, so must you.”</p>
|
||||
|
||||
<p>Gabriella turned, and before her saw a woman dressed in stately attire. Her
|
||||
white gown was precisely fitted, and simply decorated with pearls and rubies.
|
||||
Her hair was fashioned up into a wide fin around a golden comb. In her hands she
|
||||
held a scepter, of golden shaft and topped with a red orb, which itself was
|
||||
surrounded by a golden crown.</p>
|
||||
|
||||
<p>“Beg your pardon, ma’am. I am not so desperate as to find employ as a servant.”
|
||||
Gabriella replied.</p>
|
||||
|
||||
<p>“You have always been my servant, Gabriella. Ever since you first dreamt of my
|
||||
city.” The woman sat, and gestured for Gabriella to do the same. As she did, the
|
||||
woman continued.</p>
|
||||
|
||||
<p>“My city is under threat, and you have come very far to protect it. The army
|
||||
provided you with training, which will serve you well. While your discharge from
|
||||
the army is unfortunate, it is but a slight bump in the road.”</p>
|
||||
|
||||
<p>The woman waited, then. Gabriella returned her gaze, confused. This woman was
|
||||
not present at her dismissal, and news of it had not spread outside the
|
||||
barracks. If this woman was Barakhan, she was forbidden to speak with Gabriella.</p>
|
||||
|
||||
<p>“I am not worthy of protecting this city. My failures are paramount, and my
|
||||
actions found wanting. I have failed my family, my army, my homeland, and
|
||||
myself.” Gabriella replied.</p>
|
||||
|
||||
<p>“The events which led to your dismissal are unfortunate, but the judgement is
|
||||
fair.”</p>
|
||||
|
||||
<p>Gabriella winced. If the woman noticed, she paid no heed.</p>
|
||||
|
||||
<p>“You will make amends yet. Now is no time for this pathetic exercise in
|
||||
self-pity. For nearly two weeks you have lived as a vagrant and it has not done
|
||||
you well. Cities have inns for a reason. Get a room at The Red River Way. Tork,
|
||||
the keeper, is a good man and will charge you a fair price. You need a bath, and
|
||||
to properly dress yourself. I cannot give you the armor you are familiar with,
|
||||
but this cloak will keep you warm.”</p>
|
||||
|
||||
<p>The woman rose then, and looked down upon Gabriella.</p>
|
||||
|
||||
<p>“You must walk my city. Every road and alley way. Upon its stones and bricks you
|
||||
will discover your strength. You have asked for help, and this is how you shall
|
||||
earn it. You once swore to protect this city, and by proxy have sworn fealty to
|
||||
me. In return, once you have proven your fealty, I will extend my blessing to
|
||||
you.”</p>
|
||||
|
||||
<p>Gabriella stood, as the woman thrust the cloak into her arms.</p>
|
||||
|
||||
<p>“I will find you once more, here, when you are done.”</p>
|
||||
|
||||
<p>“Who are you to command me? I have no commander. I have no lord. I don’t want
|
||||
your charity and I don’t want your chores!” Gabriella responded, a fury rising
|
||||
in her voice.</p>
|
||||
|
||||
<p>“I am the patron of Silent Fall. I am Erathis. You asked for my help. I have
|
||||
given it.”</p>
|
||||
|
||||
<h1 id="100-days">100 Days</h1>
|
||||
<p>I’m writing this post as part of
|
||||
<a href="https://100daystooffload.com">#100DaysToOffload</a>, an initiative to inspire
|
||||
writing habits. Perhaps you could do the same.</p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2020-06-18
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
309
2020/06/19/jhoric_background.html
Normal file
309
2020/06/19/jhoric_background.html
Normal file
|
@ -0,0 +1,309 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Character Write-up: Jhoric Stonehammer</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2020/06/19/jhoric_background.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<p>Jhoric Stonehammer is the character I’m playing in the <code class="language-plaintext highlighter-rouge">Descent into Avernus</code>
|
||||
campaign. The backstory was originally developed for a different character, and
|
||||
a different campaign. However, by Moradin’s Hammer, I decided to play a cleric,
|
||||
and as I began building the character, I realized the dwarven cleric I had in
|
||||
reserve would do fine. The last bit of his backstory was quickly thrown
|
||||
together, as part of the hook into the campaign, but it works well enough.</p>
|
||||
|
||||
<h1 id="character-backstory-jhoric-stonehammer">Character Backstory: Jhoric Stonehammer</h1>
|
||||
|
||||
<p>Most of the great halls of the world have been built by dwarven masons and
|
||||
smiths. The mighty vaulted ceilings and buttresses of cathedrals, the
|
||||
impregnable walls of keeps, and the humble alcoves of libraries, can all call
|
||||
themselves brethren. Birthed by the greatest architectural minds of the realms,
|
||||
dwarven craftsmanship is unparalleled. The secret, any dwarf will tell you, is a
|
||||
dedication to the lifelong pursuit of absolute creation. Dwarves do not seek
|
||||
merely to craft stone, but to shape stone; not to carve, but to coerce it. The
|
||||
great stone masons of old, so the legends tell, willed stone into shapes. They
|
||||
worked with the stone, not against it. When they finished, the product was one
|
||||
never seen before, and never to be seen after. Unique not only in shape, but in
|
||||
spirit. The lifeforce of the dwarf, with the lifeforce of the stone, combined
|
||||
into a creation of such quality, the divines would be impressed. In fact, as
|
||||
many a dwarf will boast, the Halls of Valhalla are built by their ancestors.</p>
|
||||
|
||||
<p>Becoming a stonemason is a great honor for a dwarf. Many of the families of many
|
||||
settlements have long and storied histories and traditions, none-the-least of
|
||||
which involves dedicating a child to the masons or smiths. Being of a trusted
|
||||
family is not enough, though. No dwarf is admitted to the mason’s craft before
|
||||
forty. Until then, it is expected that would-be mason spend his time learning
|
||||
not only of stone, but of history. They must learn the history of their clan, of
|
||||
their bloodline, and of all dwarves. Often, they are sent with expeditions to
|
||||
ruins, as scribes and laborers. They may accompany trade caravans to foreign
|
||||
lands (though generally to dwarven settlements), as assistants or guards. They
|
||||
are often called upon by priests and clerics to aid in ceremonies. One of the
|
||||
first pre-mason stone-working jobs they may be given is helping to shape
|
||||
gravestones, though not for any significant figure. As their knowledge of
|
||||
history, tradition, and lore improves, they are invited to more prestigious
|
||||
tasks. For smiths this may be helping to create mundane tools. For masons, this
|
||||
may be helping the architects in their daily activities, or cutting blocks.
|
||||
Still, they are taught to focus on learning. As they grow, the students begin to
|
||||
see the learning opportunities in all they do. Every tool created offers secrets
|
||||
of iron; every block cut reveals the history of the stone. When a dwarf exclaims
|
||||
this revelation to his masters, only then is he considered eligible for
|
||||
training.</p>
|
||||
|
||||
<p>Now, having been worthy of applying to become a mason or a smith, a dwarf must
|
||||
begin work on his entrance piece. For a smith, this is often a weapon of
|
||||
masterwork quality. For a mason, this may be an architectural design, or a
|
||||
finely crafted stone idol. Once their creation is completed, a task which may
|
||||
take a decade or more, they submit it to the council of their chosen profession.
|
||||
If the council is pleased, they will announce that you are eligible to seek an
|
||||
apprenticeship. If they are not, they will tell you to do better and return to
|
||||
them when you have done so. Once eligible for an apprenticeship, a dwarf
|
||||
generally seeks his bloodline. As tradition dictates, blood teaches blood, as
|
||||
stone teaches blood, as iron teaches blood. In circumstances where a bloodline
|
||||
relative is not an option, a dwarf may find apprenticeship to the second or
|
||||
third representative from a bloodline. In doing so, the dwarf generally seeks to
|
||||
renew their bloodline, through the assistance of the stronger one. This is seen
|
||||
as an honorable position for a second or third representative of a bloodline.</p>
|
||||
|
||||
<p>As an apprentice, the dwarf discontinues any previous expeditions in favor of
|
||||
working exclusively in the workshop of his chosen craft. For a decade or more,
|
||||
the dwarf apprentice practices their craft. A smith may start off working the
|
||||
bellows of his master’s smith. After several years, the dwarf may be trusted to
|
||||
smelt ore into ingots. After that, the dwarf may be trusted to help hold and
|
||||
quench items. It is often a decade before an apprentice smith touches the
|
||||
hammer. A stonemason may start off cutting stone, and also learning the
|
||||
difficulty in transporting stone. They then may move to assisting architects
|
||||
with drawings or measurements. Often apprentice masons are called upon to assist
|
||||
with cosmetic fixes through plaster, or to cut uncommon shapes. A daily ritual
|
||||
for every mason is often to create several pallets worth of cut blocks, whether
|
||||
it be stone, brick, or less common materials, and to assemble the necessary
|
||||
chemicals for mixture into plaster, grout, and other cements. After many years
|
||||
of this, the apprentice is often called upon to assist their master with
|
||||
foundations, extensions, roadwork, and more intricate stone working.</p>
|
||||
|
||||
<p>Generally after two decades of apprenticeships, a dwarf will be given the title
|
||||
of journeyman. At this point, they are permitted by the councils to open their
|
||||
own shops, and sell their own services. Journeyman shops are often specialized,
|
||||
so as to find a niche they can work in and profit. Once they have proven their
|
||||
craft, journeyman shops will expand and generalize more and more, until they
|
||||
claim proficiency over their craft on the whole. Once this is done, a journeyman
|
||||
dwarf may apply to the council for the title of master. On average, this
|
||||
transition takes five decades. During this time it is not uncommon for
|
||||
journeymen to coordinate and form guilds or shared shops. Once the title of
|
||||
master is given to a dwarf, they are considered proficient in their art. At this
|
||||
point, they are permitted application to the council, and application to receive
|
||||
apprentices. This is also when a dwarf is permitted (and sometimes expected) to
|
||||
leave their settlement in search of foreign (though still often dwarven)
|
||||
settlements in need of their craftsmanship. It is expected at this time, when a
|
||||
dwarf is generally 110 to 150 years of age, that they start and family to
|
||||
continue their tradition.</p>
|
||||
|
||||
<p>It is not the first time that Jhoric defied expectations.</p>
|
||||
|
||||
<p>Jhoric Stonehammer, born of Namrok Stonehammer and Hilga Stoutwood, was the
|
||||
second born. His older brother, Horace, was to be a smith, and so Jhoric was to
|
||||
be trained a stonemason. He was trained in the tradition of his Uncle, Hilga’s
|
||||
brother Thordon. In his 23rd year, Jhoric went on a 5 year expedition to the
|
||||
ruins of an ancient giant trading post. Upon returning, he spent 2 years cutting
|
||||
bricks of clay for Thordon. In his 31st year, he was dispatched as a caravan
|
||||
guard along a trade route. He travelled with several merchants, selling stone
|
||||
from Thordon’s shop, and returning with iron, for Horace’s master’s shop. In his
|
||||
38th year, Jhoric assisted with an excavation of an ancient temple of unknown
|
||||
patronage. There, he helped to recover many tomes of knowledge, which the
|
||||
priests of Moradin were extremely happy to receive. In his 39th year, he
|
||||
assisted in the construction of a new mineshaft at the local quarry. In his 41st
|
||||
year, Jhoric began work on his entrance piece to the mason’s council: a lectern,
|
||||
the base of which was granite, the stand of which was marble, the desk of which
|
||||
was yellowstone sandstone. The desk was decorated as a scroll, inlay with
|
||||
obsidian lettering of a prayer to Moradin. After his admission as an apprentice
|
||||
to Thordon, Jhoric donated the lecturn to the temple of Moradin.</p>
|
||||
|
||||
<p>Jhoric’s apprenticeship initially saw him dealing primarily with block cutting
|
||||
and transportation. Drawing on their previous arrangements, Jhoric arranged with
|
||||
Horace a caravan to transport cut stone and iron. The arrangement was further
|
||||
improved when the shops of Thordon and Horace (who had attained the rank of
|
||||
journeyman during Jhoric’s 50th year) joined. As a result, Jhoric’s focus shifted
|
||||
to construction and architecture fixing. In his 55th year, Horace left the
|
||||
settlement to establish his second shop. At this time, Thordon’s shop was called
|
||||
upon to assist with the construction of a new temple to Moradin. Jhoric assisted
|
||||
directly with architectural design, structural design, foundation laying, and
|
||||
resource acquisitions. On his 70th birthday, Thordon and the council announced
|
||||
that Jhoric had achieved the rank of journeyman. Jhoric continued to assist with
|
||||
the construction of the temple, until it’s completion during his 87th year.
|
||||
During those 17 years, Jhoric had established his own shop to work from and for.</p>
|
||||
|
||||
<p>On his 88th birthday, Jhoric had a divine vision, and was compelled by Moradin
|
||||
to pursue a specific artifact in a lost temple. After consultation and
|
||||
confirmation with the priest of Moradin at the temple he just completed, Jhoric
|
||||
assembled a small adventuring party and pursued the relic. He obtained the relic
|
||||
during his 91st year. Upon returning the relic, the priest of Moradin instructed
|
||||
Jhoric that he must travel to Baldur’s Gate. Little detail was given as to the
|
||||
reasoning, aside from that Moradin had once again chosen Jhoric’s path. He
|
||||
transferred ownership of his shop to Thordon.</p>
|
||||
|
||||
<p>Upon arrival in Baldur’s Gate, Jhoric took up employ with the Shattershield
|
||||
Guild. Having learned that this guild constructed the walls around Baldur’s
|
||||
Gate, it seemed the most appropriate place for him. A wealthy noble, Jopalin,
|
||||
contracted him through the guild to construct some elaborate building materials
|
||||
for an addition to his building, which contains his tea shop as well his living
|
||||
quarters. After several weeks, the materials were completed. Plans to deliver
|
||||
the materials to the construction site were temporarily waylaid by ruffians
|
||||
attempting to steal some of the finer looking items. By Moradin’s hammer, they
|
||||
were smote. As Jhoric stood outside the building watching the construction, the
|
||||
tea shop exploded. Nearly everyone, including Jopalin, died. There was one
|
||||
survivor from inside the shop: a half elf. A contingent from the Flaming Fist
|
||||
arrested Jhoric, the half-elf, and a nearby gnome that witnessed the explosion.
|
||||
This is where his story truly begins.</p>
|
||||
|
||||
<h1 id="100-days">100 Days</h1>
|
||||
<p>I’m writing this post as part of
|
||||
<a href="https://100daystooffload.com">#100DaysToOffload</a>, an initiative to inspire
|
||||
writing habits. Perhaps you could do the same.</p>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2020-06-19
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
543
2020/07/10/crater-of-igrevor.html
Normal file
543
2020/07/10/crater-of-igrevor.html
Normal file
|
@ -0,0 +1,543 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Pathfinder One-Shot: The Crater of Igrevor</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2020/07/10/crater-of-igrevor.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="preamble-to-the-pathfinder">Preamble to the Pathfinder</h1>
|
||||
|
||||
<p>For many years now, I’ve been playing in several Pathfinder games. I very much
|
||||
enjoy the system, if only because I love options in roleplaying games. During
|
||||
the COVID-19 pandemic and lockdown, in addition to my weekly game, a second
|
||||
group started a weekly game. This one, unlike the campaign I’ve been playing in
|
||||
for the last 6 years (we’re level 9), sees the characters level up after
|
||||
each adventure, and is meant more as a quick and fun string of one-shots. After
|
||||
a few weeks of Lizzie starting and running the “campaign,” I volunteered to run.
|
||||
This post covers my one-shot <code class="language-plaintext highlighter-rouge">The crater of Igrevor</code>.</p>
|
||||
|
||||
<h2 id="background">Background</h2>
|
||||
|
||||
<p>Before hopping in, a little background. The party at this point had gone on
|
||||
several adventures and made a name for themselves in a relatively small town.
|
||||
They decided to settle down, and because the details of this town weren’t known
|
||||
at the time, all the players collaborated to establish the Town of Ulriksted. I
|
||||
took some liberties with the what we established, and decided that a powerful
|
||||
wizard has also moved to the town, seeing it as an opportunity for trade, but
|
||||
also a good place for a fancy tower. Wizards love their towers. Thus, Igrevor
|
||||
was born.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Igrevor Thel'lessell
|
||||
|
||||
Lawful Neutral Elf
|
||||
|
||||
Cleric of Abadar: 3 // Wizard (Conjurer: Teleportation): 3 // Mystic Theurge: 10
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>As a follower of Abadar, Igrevor is very interested in trade and travel, both on
|
||||
the material and other planes. His arcane studies also focus on extraplanar
|
||||
travel and research. And because I’ve always been interested in the <code class="language-plaintext highlighter-rouge">Mystic
|
||||
Theurge</code> class, I decided this was a perfect opportunity to make use of it. As a
|
||||
trader, I focused his build on several magical crafting feats: wonderous items,
|
||||
magical arms and armor, and constructs.</p>
|
||||
|
||||
<p>Igrevor’s tower sits to the north of town, along the river which flows through
|
||||
Ulriksted. He offers his arcane services to the town, as well as crafting and
|
||||
selling his magical wares to adventurers when they travel through. Unfortunately
|
||||
for him, a powerful <a href="https://www.d20pfsrd.com/bestiary/monster-listings/monstrous-humanoids/hag/hag-night">Night
|
||||
Hag</a>
|
||||
has taken an interest in him, and has been haunting his dreams for a while now.
|
||||
Being a powerful wizard, he’s been able to defend himself and his tower
|
||||
accordingly, but the Hag has decided to get some assistance. You see, Igrevor
|
||||
has established a powerful teleportation and planar travel system within his
|
||||
tower, albeit a well protected one. The Hag, studying this herself, conspired to
|
||||
exploit this with the help of a several extraplanar allies: Several
|
||||
<a href="https://www.d20pfsrd.com/bestiary/monster-listings/outsiders/xill">Xill</a>
|
||||
raiding parties, to which she provided
|
||||
<a href="https://www.d20pfsrd.com/bestiary/monster-listings/outsiders/nightmare/">Nightmare</a>
|
||||
mounts; and two <a href="https://www.d20pfsrd.com/bestiary/monster-listings/dragons/dragon/-primal-umbral/umbral-dragon-juvenile">Umbral
|
||||
Dragon</a>
|
||||
brothers.</p>
|
||||
|
||||
<h1 id="the-crater-of-igrevor">The Crater of Igrevor</h1>
|
||||
|
||||
<blockquote>
|
||||
<p><em>While enjoying a pint and a quiet night at Tuckleberry’s tavern, The Leaf and
|
||||
Lyre, the party is rudely interrupted by the sound of a massive explosion,
|
||||
north of town. As they race outside, they see a swirling vortex of colors
|
||||
stretching high into the sky, roughly where Igrevor’s tower is. Screams shortly
|
||||
follow, and as the party pulls their attention closer, they see looming shapes
|
||||
approaching the town.</em></p>
|
||||
</blockquote>
|
||||
|
||||
<p><strong>Encounter: Xill Raiding Party</strong></p>
|
||||
|
||||
<blockquote>
|
||||
<p><em>Four-armed, flame-red insect-like humanoid creatures, riding upon steeds of
|
||||
smoke and fire</em></p>
|
||||
</blockquote>
|
||||
|
||||
<p>The first encounter is relatively easy for the party, considering at this point
|
||||
they’re level 9. There are 4 Xill, each riding a Nightmare. Each has a special
|
||||
elemental key, tied to each of the four elemental planes: earth, air, water, and
|
||||
fire. The last Xill looted also has a note, written in Infernal: “These keys
|
||||
will keep the portals open, and the tower inaccessible. Once you have your new
|
||||
hosts, return to the Ethereal plane. DO NOT LOSE THEM!” Whoops.</p>
|
||||
|
||||
<blockquote>
|
||||
<p><em>As you move further, the party can clearly see the vortex of colors that now
|
||||
envelop Igrevor’s tower. A chaotic flow of earth, wind, water and fire create an
|
||||
impenetrable globe around what remains of the upper half of the tower, which
|
||||
hangs unsupported in the sky. Beneath it, a crater is all that remains of the
|
||||
bottom of the tower. As the party draws closer, you can make out 4 shimmering
|
||||
portals, at each of the cardinal directions. From each, a distinct color and
|
||||
element can be seen: north, a verdant green and stony landscape identifies a
|
||||
portal to the plane of earth; south, a clear portal surrounded by gusts of
|
||||
strong winds indicate the portal to the plane of air; to the west, a fiery
|
||||
hellscape indicates the portal to the plane of fire; and to the east, a flood of
|
||||
water flowing from the portal to the plane of water. Where the 4 regions meet,
|
||||
the elements clash and swirl about, surging upward, creating the sphere around
|
||||
the tower. As the party takes in the scene, they suddenly receive a Sending from
|
||||
Igrevor: <strong>In dire need of assistance. Tower under attack. Must close portals.
|
||||
Please hurry! WILL REWARD! Use teleportation circle in foyer; top of tower</strong></em></p>
|
||||
</blockquote>
|
||||
|
||||
<p>At this point, I also introduce a small mechanic related to the portals: Each
|
||||
elemental portal gives the PCs a boon:</p>
|
||||
|
||||
<ul>
|
||||
<li>Plane of Earth: DR 1/- for each elemental planar portal open</li>
|
||||
<li>Plane of Fire: Aura, 5ft: 1 fire damage for each elemental planar portal open</li>
|
||||
<li>Plane of Water: Fast Healing 1 for each elemental planar portal open</li>
|
||||
<li>Plane of Air: Bonus 1ft. Movement speed for each elemental planar portal open</li>
|
||||
</ul>
|
||||
|
||||
<p>Each of these boons is removed as soon an the associated portal is closed.</p>
|
||||
|
||||
<p><strong>Puzzle: The Elemental Portals</strong></p>
|
||||
|
||||
<p>To reach the tower, the party much figure out a way to close the portals.
|
||||
Initially, each portal claims a quarter of the ground around the portal. Closing
|
||||
a portal causes the adjacent portals to claim the ground, increasing their power
|
||||
and decreasing the power of the opposite portal. If coordinated, it should be
|
||||
possible for the party to close all portals simultaneously.</p>
|
||||
|
||||
<blockquote>
|
||||
<p>Earth Portal</p>
|
||||
|
||||
<ul>
|
||||
<li>Trying to close the earth portal causes vines to sprout. If fire is still
|
||||
open, the fire aura burns away the vines before they can entangle.</li>
|
||||
<li>Closing the earth portal causes the fire and water portals to increase in
|
||||
power, and the air portal to decrease in power (modified DC)</li>
|
||||
<li>Entangle, DC 15: Thorny vines restrict movement and deal damage. Each round,
|
||||
any creature trying to move through the area must make a reflex save or become
|
||||
entangled, reducing movement speed to 10 feet and dealing 1d6 acid damage.
|
||||
<ul>
|
||||
<li>If the Fire or Water portal has been closed, the DC increases by 2, to a
|
||||
maximum of 19 if both portals are closed.</li>
|
||||
<li>If the Air portal has been closed, the DC decreases by 2</li>
|
||||
<li>If a creature enters the area with the fire aura, the entangle checks
|
||||
automatically succeed: The aura from the plane of wire withers the vines as
|
||||
they try to wrap around you.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>Fire Portal</p>
|
||||
<ul>
|
||||
<li>Trying to close the fire portal causes intense heat waves. If water is still
|
||||
open, the aura cools the temperature</li>
|
||||
<li>Closing the fire portal causes earth and air to increase in power, and the
|
||||
water portal to decrease in power (modified DC)</li>
|
||||
<li>Heat Waves, DC 15: Intense heat radiating from the portal causes damage and
|
||||
fatigue. Each round, any creature trying to move through the area must make a
|
||||
fortitude save or become fatigued and take 1d6 fire damage.
|
||||
<ul>
|
||||
<li>If the Earth or Wind portal has been closed, the DC increases by 2, to a
|
||||
maximum of 19 if both portals are closed</li>
|
||||
<li>If the water portal has been closed, the DC decreases by 2</li>
|
||||
<li>If a creature enters the area with the water aura, the fatigue checks
|
||||
automatically succeed: The aura for the plane of water cools the area,
|
||||
keeping the heat at bay.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>Water Portal</p>
|
||||
<ul>
|
||||
<li>Trying to close the water portal causes buffeting waves and sheets of rain to
|
||||
disorient and hamper the player. If the air portal is still open, the aura
|
||||
keeps visions clear.</li>
|
||||
<li>Closing the water portal causes the earth and air portals to increase in
|
||||
power, and the fire portal to decrease in power (modified DC)</li>
|
||||
<li>Stormy Weather, DC 15: Torrential rain and slick ground causes difficult
|
||||
terrain and disorientation. Each round, any creature trying to move through
|
||||
the area must make a reflex save or fall prone, and a will save or become
|
||||
disoriented, moving in a random direction (Roll 1d4: 1, move in intended
|
||||
direction; 2, move to the left; 3, move to the right; 4, move backwards)
|
||||
<ul>
|
||||
<li>If the Earth or Wind portal has been closed, the DC increases by 2, to a
|
||||
maximum of 19 if both portals are closed</li>
|
||||
<li>If the earth portal has been closed, the DC decreases by 2</li>
|
||||
<li>If a creature enters the area with the air aura, there is no risk of
|
||||
disorientation. If a creature enters the area with the earth aura, there is
|
||||
no risk of falling.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>Air Portal</p>
|
||||
<ul>
|
||||
<li>Trying to close the air portal causes strong winds and electrical shocks. If
|
||||
the earth portal is still open, it helps to resist the winds.</li>
|
||||
<li>Closing the air portal causes the fire and water portals to increase in power,
|
||||
and the earth portal to decrease in power (modified DC)</li>
|
||||
<li>Tornado, DC 15: Strong winds buffet and shock. Each round, any creature trying
|
||||
to move through the area must make a fortitude save or be blown 10 ft away
|
||||
from the portal, and take 1d6 electricity damage.
|
||||
<ul>
|
||||
<li>If the water or fire portal has been closed, the DC increases by 2, to a
|
||||
maximum of 19 if both portals are closed</li>
|
||||
<li>If the earth portal has been closed, the DC decreases by 2</li>
|
||||
<li>If a creature enters the area with the earth aura, the push checks
|
||||
automatically succeed: The earth aura grounds you, giving you resistance to
|
||||
the forceful winds</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p><em>As the last portal closes, the last remnants of the elemental sphere around the
|
||||
tower dissipate. The tower floats silently above the group, with ruins frozen in
|
||||
the air hanging beneath it. The closest pieces, which could be used to climb
|
||||
into the tower proper, are 20 feet in the air.</em></p>
|
||||
</blockquote>
|
||||
|
||||
<p>With the four elemental portals closed, the tower is now accessible. The party
|
||||
must somehow ascend 20 feet into the air to get to the lowest ruins, and then a
|
||||
Climb (DC 10) check to get to the rest of the tower, 10 feet further up. This,
|
||||
like a few other obstacles, was a way to force the party to use resources. The
|
||||
sorcerer of the group knows fly, and so this was a way to get him to use a
|
||||
spell. The way I tend to run many of my games is to try and force my players to
|
||||
think about their resources, and manage them accordingly. To be fair, I try to
|
||||
give alternatives. For example, the party could use rope to climb up. I think in
|
||||
this case, they used either <code class="language-plaintext highlighter-rouge">Mage Hand</code> or a familiar to loop rope around some
|
||||
rubble, then the fighter climbed up and attached a better rope, and they were
|
||||
able to ascend without expending many resources at all.</p>
|
||||
|
||||
<blockquote>
|
||||
<p><em>Once inside, there is a corkscrew stairwell along the walls of the tower,
|
||||
ascending roughly another 20 feet. At the top, light and shadows play on the
|
||||
wall near where the stairs enter a new floor.</em></p>
|
||||
</blockquote>
|
||||
|
||||
<p>If the party is perceptive or stealthy enough, they can notice several figures
|
||||
waiting on the next floor, as well as get the drop on them!</p>
|
||||
|
||||
<p><strong>Encounter: Xill and Night Hag</strong></p>
|
||||
|
||||
<blockquote>
|
||||
<p><em>A tall, gaunt figure with long limbs stands with two more Xill. Her skin
|
||||
stretches tightly across her bones, and a grin stretches across her nightmarish
|
||||
visage. Claws and fangs betray her intent.</em></p>
|
||||
</blockquote>
|
||||
|
||||
<p>Here, again, I tried to force a change of tactics. The room the party fights in
|
||||
is only 20 by 20. The usual <code class="language-plaintext highlighter-rouge">Fireball</code> approach would be dangerous. The party
|
||||
was clever and perceptive, though, and the sorcerer was able to approach the
|
||||
room invisibly, and place a <code class="language-plaintext highlighter-rouge">Fireball</code> in a way so as to kill the Xill. The Hag
|
||||
is immune to fire, conveniently, and so the party had to deal with her some
|
||||
other way. Also, she can cast <code class="language-plaintext highlighter-rouge">Invisibility</code> at will, which helper her get the
|
||||
drop on the party. The sorcerer <code class="language-plaintext highlighter-rouge">Fireball</code>’s the room, ducking down the
|
||||
stairwell to avoid the blast. While no one can see her, she goes invisible. The
|
||||
party doesn’t see any threats, enters the room, and she pounces. Hag’s are great
|
||||
opponents. They have a great kit for DMs to play with; great defenses, including
|
||||
damage reduction, a solid set of immunities, and spell resistance 24! The lore
|
||||
of hags, as extraplanar scavengers and traders, is also fascinating. I’d like to
|
||||
use one in a future campaign, especially an evil campaign, and have this be a
|
||||
companion NPC or something.</p>
|
||||
|
||||
<p>With this encounter completed, the party stands in the aforementioned foyer, and
|
||||
on the ground they see an arcane circle: the teleportation circle.</p>
|
||||
|
||||
<blockquote>
|
||||
<p><em>The corpse of the night hag fades into shadow, as it disappears from the
|
||||
material plane. With the room now secured, you see arcane symbols inscribed in
|
||||
the center of the room. This must be the teleportation circle Igrevor mentioned
|
||||
in his sending. As you step into the circle, you find yourself transported to a
|
||||
large, cylindrical room. An inner wall breaks at four equidistant places,
|
||||
revealing an outer wall, and a shimmering pool of light in a small alcove.</em></p>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p><em>Exploring the space, the inner room has the teleportation circle, and many
|
||||
arcane symbols drawn into the stone and the walls.</em> A Knowledge(Arcana) or
|
||||
Spellcraft, DC 15, reveals the symbols to be protections related to
|
||||
teleportation, plane shifting, and the like. <em>Checking the outer ring, you find
|
||||
the four aforementioned pools, as well as a wall of force blocking a hallway.</em></p>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p><em>Oh a whim, you glance up, and see two spheres circling the room. One is pure
|
||||
white, and the other black. They maintain a perfect distance from each other.</em> A
|
||||
Knowledge(Planes), DC 15, identifies the spheres as being made of pure positive
|
||||
and negative energy, respectively. <em>You now notice, as the spheres pass by the
|
||||
alcoves, the pools briefly shift towards the color of the sphere, and the wall
|
||||
of force slightly…</em></p>
|
||||
</blockquote>
|
||||
|
||||
<p>Or, at least, that was the original intention. As so often happens, I wasn’t
|
||||
quite satisfied with this part of the original adventure, and modified this it
|
||||
slightly. Originally, the party was going to fight a “Planar Scion.” Initially,
|
||||
the party would find two humanoid energy beings, one made of positive energy and
|
||||
one made of negative energy. The beings would be indestructible, and the party
|
||||
would have to merge them to create a single being, which was now vulnerable.
|
||||
But, I couldn’t figure out a good way to convey this information, while making
|
||||
the combat engaging, in the time I had, so I scrapped it for a puzzle instead.</p>
|
||||
|
||||
<p><strong>Puzzle: Spheres and Pools</strong></p>
|
||||
|
||||
<blockquote>
|
||||
<p><em>As you navigate the room, you find the hallway leading from this room, and an
|
||||
opaque barrier blocking the way forward.</em></p>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p><em>Oh a whim, you glance up, and see four spheres circling the room. Two are pure
|
||||
white, and the others black. They maintain a perfect distance from each other.</em> A
|
||||
Knowledge(Planes), DC 15, identifies the spheres as being made of pure positive
|
||||
and negative energy, respectively. <em>You now notice, as the spheres pass by the
|
||||
alcoves, the pools briefly shift towards the color of the sphere, and the
|
||||
barrier slightly dissipates</em></p>
|
||||
</blockquote>
|
||||
|
||||
<p>The only way through this barrier is to stop the rotating spheres. As alluded to
|
||||
in the descriptive text, the pools and the spheres are related. As the spheres
|
||||
pass over the pools, they shift the pools from clear towards the color of the
|
||||
sphere, and I added that the spheres appear to slow down very slightly. The
|
||||
party had to use positive and negative energy sources to shift the pools to the
|
||||
appropriate attunement, which stopped the spheres, and opened the barrier.</p>
|
||||
|
||||
<p><strong>Final Encounter: Umbral Dragon</strong></p>
|
||||
|
||||
<blockquote>
|
||||
<p><em>As the spheres stop, above the pools, they descend into the pools, and
|
||||
dissolve the barrier blocking the way out of the room. Moving through the
|
||||
hallway, you come to a large meeting hall. An oak table, which could almost
|
||||
seat the entire town of Ulriksted, sits in the middle of the hall, with chairs
|
||||
and tables strewn about. Making your way into hall, you see Igrevor to your
|
||||
right, as he finishes casting a spell and striking down one of two juvenile
|
||||
dragons standing opposite him. He turns to you, and speaks, “The Lords of
|
||||
Ulriksted! And just in time! I am sorry, friends, I cannot assist you further;
|
||||
one of these beasts took most of my arsenal to defeat. I beg your assistance!”
|
||||
As he finishes, you see a sphere arise around him, and him kneel to catch his
|
||||
breath.</em></p>
|
||||
</blockquote>
|
||||
|
||||
<p>The boss battle! The juvenile Umbral Dragon! I toned down the beast a bit, but I
|
||||
definitely shouldn’t have. It was a good fight, and the barbarian did not hold
|
||||
back. As the party defeated them, Igrevor thanked them, and their reward was any
|
||||
single magical item that he can make. In addition, because I’m prone to giving
|
||||
my PCs overpowered items, I allowed each of them to have an item made from the
|
||||
scales of the dragon, which gives them the immunities of the dragon. This turned
|
||||
out to be a <em>very</em> powerful option: immune to cold, death effects, negative
|
||||
energy, paralysis, sleep.</p>
|
||||
|
||||
<h1 id="aftermath">Aftermath</h1>
|
||||
|
||||
<p>I had a lot of fun with this one. The party made their way with through with
|
||||
consistent progress, and the boss battle was challenging but not overwhelming. I
|
||||
think, if run again, I wouldn’t tone down the boss. I ended up running a
|
||||
follow-up adventure, which is currently untitled, but which became a two parter,
|
||||
and the driving motivation for my upcoming third adventure. I look forward to
|
||||
sharing those as well! Feel free to make use of this adventure in your own
|
||||
games!</p>
|
||||
|
||||
<h1 id="maptools">MapTools</h1>
|
||||
|
||||
<p>But wait, there’s more! This adventure was my first foray into MapTools, a free
|
||||
and open-source virtual table top system. It allows you to create detailed
|
||||
maps, add tokens, set sight lines, and much more. You can host a server locally
|
||||
that your players can connect to, and they can move things around themselves.
|
||||
Or, if you’re a bit lazier like me, you can share your screen on your voice call
|
||||
of choice, and just move the tokens for players instead. I had a lot of fun
|
||||
crafting Igrevor’s Tower in MapTools, and then sharing that with my players
|
||||
during the session. It really made the game more enjoyable, and more immersive
|
||||
than just a standard voice-and-video call.</p>
|
||||
|
||||
<p>The community for the MapTool suite has built a lot of tokens, tile sets, and
|
||||
additional assets to really explore and build <em>exactly</em> what you want. I
|
||||
certainly made good use of CSP’s Dungeon Geomorphs (available for free directly
|
||||
within MapTools, and made by <a href="https://www.crookedstaff.co.uk/">Kristian
|
||||
Richards</a>), <a href="https://immortalnights.com/tokensite/">Devin
|
||||
Night’s</a> tokens (some of which are
|
||||
available for free, but are well worth the price) and Torstan’s Markers and
|
||||
Objects (also available directly within MapTools). I’m not sure if the campaign
|
||||
will load without those enabled, but for anyone interested, you can find a link
|
||||
to the campaign maps for this adventure <a href="https://www.theinternetvagabond.com/src/campaigns/crater_of_igrevor.cmpgn">here (click to download)</a>.</p>
|
||||
|
||||
<h1 id="100-days">100 Days</h1>
|
||||
<p>I’m writing this post as part of
|
||||
<a href="https://100daystooffload.com">#100DaysToOffload</a>, an initiative to inspire
|
||||
writing habits. Perhaps you could do the same.</p>
|
||||
|
||||
<h1 id="sources">Sources</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.rptools.net/toolbox/maptool/">MapTools</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2020-07-10
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
247
2020/07/19/syncthing-part-1.html
Normal file
247
2020/07/19/syncthing-part-1.html
Normal file
|
@ -0,0 +1,247 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Brief Exploration of Syncthing</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2020/07/19/syncthing-part-1.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="a-brief-exploration-of-syncthing">A Brief Exploration of Syncthing</h1>
|
||||
|
||||
<p>Syncthing is an incredible tool. Many days past I stumbled upon it as an
|
||||
alternative to Dropbox. It’s different from Dropbox, or similar services,
|
||||
though, in a number of ways. For one, Syncthing is a peer-to-peer
|
||||
synchronization program, whereas Dropbox is a centralized file storage and
|
||||
synchronization service. When you setup and use Syncthing, the files only ever
|
||||
live on whichever peers you setup. This is different from Dropbox, or similar
|
||||
services, where files live on their servers. There’s more to it, and for all the
|
||||
details, the <a href="https://syncthing.net/">Syncthing</a> website provides plentiful
|
||||
information.</p>
|
||||
|
||||
<p>In this post, I want to discuss how to setup Syncthing, and some use-cases for
|
||||
it. In future posts, I want to explore setting up custom relay servers, and
|
||||
perhaps some more use-cases as well.</p>
|
||||
|
||||
<h2 id="setup">Setup</h2>
|
||||
|
||||
<p>Install the appropriate package for your operating system. Syncthing is
|
||||
available on just about every OS out there. Syncthing already has <a href="https://docs.syncthing.net/intro/getting-started.html">thorough
|
||||
installation
|
||||
documentation</a>, so I
|
||||
won’t re-write what’s already available. I will discuss how I setup my Syncthing
|
||||
instead.</p>
|
||||
|
||||
<p>On my desktop, running Arch Linux, I installed the necessary package:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo pacman -S syncthing
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>When I was running Gnome, I also installed <code class="language-plaintext highlighter-rouge">syncthing-gtk</code> to provide a tray
|
||||
icon. After my switch to KDE Plasma, the Syncthing application displays a tray
|
||||
icon by default, and so I removed the now unnecessary package. When I had a
|
||||
Windows partition, I also installed <code class="language-plaintext highlighter-rouge">SyncTrazor</code> for a tray icon.</p>
|
||||
|
||||
<p>The second device of choice is my Android phone, where I installed the Syncthing
|
||||
app (helpfully available on F-Droid too!).</p>
|
||||
|
||||
<p>With packages installed on both devices, I then followed the guide. All things
|
||||
considered, it was a very easy process.</p>
|
||||
|
||||
<h2 id="use-case-music">Use-Case: Music</h2>
|
||||
|
||||
<p>One of the most immediate uses I had for Syncthing was music. I finally decided
|
||||
to drop all streaming services, and start buying my music. As a result, I
|
||||
suddenly had a growing music library available on my desktop. This was the
|
||||
primary reason I decided to try Syncthing: to get music files from my desktop
|
||||
onto my phone. After setup, syncing was a breeze. The new problem became space:
|
||||
I have quite a bit of music now, and I don’t necessarily want all of it on my
|
||||
phone. Conveniently, Syncthing allows for creating a <code class="language-plaintext highlighter-rouge">.stignore</code> file, which
|
||||
tells Syncthing which files to exclude from synchronizing. The
|
||||
<a href="https://docs.syncthing.net/users/ignoring.html">documentation</a> provides a great
|
||||
breakdown of available options. One challenge is that the <code class="language-plaintext highlighter-rouge">.stignore</code> file is
|
||||
<strong>not</strong> synchronized. To get around this, I setup my ignore file to include a
|
||||
second file, which <em>does</em> get synchronized. That file lists every directory and
|
||||
subdirectory in my music folder, and then ends with <code class="language-plaintext highlighter-rouge">**/*</code>. For any directory or
|
||||
subdirectory (generally artist and album, respectively) that I want to sync, I
|
||||
place a <code class="language-plaintext highlighter-rouge">!</code> before it. The eventual plan is to automatically update the file
|
||||
whenever new music is added to the directory. When I get around to that, I’ll
|
||||
almost certainly post about it.</p>
|
||||
|
||||
<h2 id="use-case-notes--to-do">Use-Case: Notes / To-Do</h2>
|
||||
|
||||
<p>Not long after music, I started looking around for a good to-do / note-taking
|
||||
app for my phone. I wanted an application that was simple, without bells and
|
||||
whistles. I tried a few before settling on
|
||||
<a href="https://gsantner.net/project/markor.html">Markor</a>. This app is wonderful.
|
||||
Everything I want, with almost nothing I don’t. It’s open-source, actively
|
||||
developed, available on F-Droid; it works on local files, and <em>that’s it</em>. I
|
||||
started using it to track my gym workouts, make grocery lists, or track
|
||||
suggestions for media. As long as I was on wi-fi, those files were waiting for
|
||||
me on my desktop. Very convenient, simple, and effective.</p>
|
||||
|
||||
<h2 id="use-case-pictures">Use-Case: Pictures</h2>
|
||||
|
||||
<p>Another straight-forward use case: synchronizing pictures. As I continue to
|
||||
“de-Google” my life, I needed a replacement for Google Photos. I have a Flickr,
|
||||
but I’m not certain that I’ll hang onto it. For now, I just need a simple way to
|
||||
synchronize pictures between my phone and my desktop, and Syncthing provides
|
||||
that.</p>
|
||||
|
||||
<h1 id="100-days">100 Days</h1>
|
||||
<p>I’m writing this post as part of
|
||||
<a href="https://100daystooffload.com">#100DaysToOffload</a>, an initiative to inspire
|
||||
writing habits. Perhaps you could do the same.</p>
|
||||
|
||||
<h1 id="sources">Sources</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://syncthing.net/">Syncthing</a></li>
|
||||
<li><a href="https://github.com/canton7/SyncTrayzor">SyncTrayzor</a></li>
|
||||
<li><a href="https://gsantner.net/project/markor.html">Markor</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2020-07-19
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
417
2020/09/06/pathfinder-druid.html
Normal file
417
2020/09/06/pathfinder-druid.html
Normal file
|
@ -0,0 +1,417 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Pathfinder: Let's Make a Druid</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2020/09/06/pathfinder-druid.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="lets-make-a-druid">Let’s Make a Druid</h1>
|
||||
|
||||
<p>Pathfinder has been the tabletop game of choice for my longest-running group.
|
||||
One of my favorite activities is creating characters. I love theory crafting,
|
||||
pouring through source material, and setting limits. While I’ve made many,
|
||||
<em>many</em> characters, once class I haven’t touched is druid. The first character I
|
||||
ever made, back in a D&D Second Edition, was a druid. I don’t remember much from
|
||||
that character, except that I had a double-scimitar (think Darth Maul
|
||||
lightsabre, but scimitars). Since that, I haven’t done much with druids, which I
|
||||
think is a shame, because it’s a fascinating class that ticks many of the boxes
|
||||
I look for in a character. I love characters with options, that require a bit of
|
||||
mastery to play. Many characters I like the most are multi-classed, mixing
|
||||
spellcasting with melee combat. Some classes, though, provide all this
|
||||
out-of-the-box. From the core book, both cleric and druid satisfy my demands. I
|
||||
hold, still, that cleric is the most powerful class. I had this belief in D&D
|
||||
Third Edition, and I carry it forward into Pathfinder and D&D Fifth Edition.
|
||||
That’s a topic for another post, though.</p>
|
||||
|
||||
<h2 id="concept">Concept</h2>
|
||||
|
||||
<p>All of my characters come from a concept. Sometimes the concept is really
|
||||
straight forward: I want a “realistic” fighter. I want a “proper” Eldritch
|
||||
Knight. Sometimes, the concept is more story based, as is the case with this
|
||||
druid. I read a story about a moose in Alaska that ate some apples which had
|
||||
fermented, and wandered into a town drunk. I thought, “that would make a fun
|
||||
animal companion!”, and thus the idea for a druid. The full backstory for the
|
||||
character will be around here somewhere. For now, I’ll spend the rest of this
|
||||
post focusing on the build.</p>
|
||||
|
||||
<h2 id="build">Build</h2>
|
||||
|
||||
<p>Drunk moose. Drunk… spirit moose! OK, now we’re getting somewhere. As I
|
||||
fleshed out the story, and spoke with a friend about druid, I liked the idea of
|
||||
dipping one level in barbarian, then continuing with druid. That one level gets
|
||||
me quite a bit: d12 hit dice (and max at first level!); +1 BAB; +10 movement
|
||||
speed; and rage. The biggest downside is a delay in spellcasting, but I think
|
||||
it’s a fair trade-off. Considering the build is equally focused on spellcasting
|
||||
and melee combat, the rage will provide an additional resource where spells and
|
||||
standard attacks may not be sufficient. Obviously, druid will be our favored
|
||||
class.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Barbarian 1, Druid X
|
||||
</code></pre></div></div>
|
||||
|
||||
<h2 id="skills">Skills</h2>
|
||||
|
||||
<p>Druid’s aren’t reknown for being particularly skillful, but they get some great
|
||||
class skills. Of note, we get Handle Animal, Heal, Knowledge(Nature),
|
||||
Perception, and Survival. At 4+INT skill points, we can reliably grab most of
|
||||
these. Throw a point of two into Fly, Climb, and Swim, and between having a
|
||||
great strength, and wild shape, we can deal with whatever obstacles those skills
|
||||
require.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Handle Animal
|
||||
Heal
|
||||
Knowledge (Nature)
|
||||
Perception
|
||||
Survival
|
||||
</code></pre></div></div>
|
||||
|
||||
<h2 id="race">Race</h2>
|
||||
|
||||
<p>Pathfinder has no shortage of races to choose from. For most of my builds, I try
|
||||
to stick to the “basics” provided in the Core Rulebook, but I also allow myself
|
||||
the Advanced Race Guide races. For this build, though, mostly due to the
|
||||
backstory/concept, I went human. We’ll opt for a bonus HP each level in druid,
|
||||
for our favored class bonus.</p>
|
||||
|
||||
<h2 id="feats">Feats</h2>
|
||||
|
||||
<p>Human gets a bonus first level feat, then all characters get a first level feat.
|
||||
I tend to make characters for whatever level our campaign is at, and for now
|
||||
that’s 8th level. That gives me five feats total. At fifth level, I’m taking
|
||||
Natural Spell. Since I’m a melee bruiser, I’m interested in Power Attack, Vital
|
||||
Strike, Toughness, and Powerful Shape, but I can’t get the last one just yet.
|
||||
Druids are fantastic summoners, and it’s very tempting to pick up Augmented
|
||||
Summons. For this build, though, it’s a two feat investment for a strategy I
|
||||
won’t be using much. For first level, I went with Toughness and Power Attack. As
|
||||
a first level barbarian, those two feats give me a lot of staying power. As a
|
||||
druid, my BAB won’t progress as strongly, but in wild shape it can give me a lot
|
||||
of damage. Combined with vital strike, certain shapes will give me a single,
|
||||
“two-handed” attack for a significant amount of damage at a good attack bonus.</p>
|
||||
|
||||
<p>Thematically, I’ve opted for the feat Spirit’s Gift. It fits my drunken spirit
|
||||
moose concept perfectly.</p>
|
||||
|
||||
<p>That leaves level 7. The aforementioned vital strike could be a great option.
|
||||
There’s also furious focus: for a single, two-handed power attack, remove the
|
||||
power attack penalty. Since we’ll be taking advantage of our animal companion,
|
||||
there’s also the option for teamwork feats. Animal companions get feats, too,
|
||||
and there are a few in particular that would work very well: Shake It Off would
|
||||
give us both +1 on all saves; Improved Spell Sharing would let me share buffs
|
||||
better; and then there are the charges. These interested me. I need to step back
|
||||
briefly to consider the animal companion, so we’ll leave our feats in an
|
||||
undecided state for now.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Bonus: Toughness
|
||||
Lvl 1: Power Attack
|
||||
Lvl 3: Spirit's Gift
|
||||
Lvl 5: Natural Spell
|
||||
Lvl 7: ???
|
||||
</code></pre></div></div>
|
||||
|
||||
<h2 id="animal-companion">Animal Companion</h2>
|
||||
|
||||
<p>By now it should be clear this is not really a min-max guide. There are plenty
|
||||
of guides that exist already for that sort of build; I’ll link a few I’ve
|
||||
referenced below. In those guides, animal companion choses are pretty clear:
|
||||
take a wolf/dire wolf if you want to be a trip artist; take a big cat for
|
||||
superior damage; take one of any number of dinosaurs for superior options. No
|
||||
where is a moose mentioned, because they’re not “optimal.” That’s fine. I don’t
|
||||
want optimal, I want drunken spirit moose.</p>
|
||||
|
||||
<p>Moosen start off pretty bland. They don’t get any special attacks, they’re
|
||||
medium size, an average AC, an average attack, and relatively low damage. At
|
||||
level 7, they get significantly better: large size; better AC; better damage,
|
||||
and powerful charge. For this build, I’ll focus on charging. Both I and the
|
||||
moose will charge hard into whatever enemy we want to focus first. With some of
|
||||
the team work feats alluded to above, we can emphasize significant bonuses and
|
||||
improvements to charging.</p>
|
||||
|
||||
<p>If I wanted to change this to a more optimal build, I’d probably go for an axe
|
||||
beak. It could be the in-universe thematic equivalent of a moose. Qwark.</p>
|
||||
|
||||
<h2 id="feats-completed-this-time">Feats, Completed This Time</h2>
|
||||
|
||||
<p>In addition to my feats, I get feats for my animal companion. At character level
|
||||
8, I’m a 7th level druid, which means my animal companion gets 3 feats, with a
|
||||
4th coming next level. The charge feats I’m considering would be 3 feats
|
||||
minimum: 2 teamwork feats, and then Coordinated Charge. The requirements for
|
||||
Coordinated Charge are 2 teamwork feats, and a BAB +10. My animal companion, of
|
||||
any flavor, won’t have that until level 17! That’s a bit of a downer, but there
|
||||
are some other interesting ones that lead up to it nicely. Distracting Charge
|
||||
would give either my moose or me a +2 to hit against the target of a charge.
|
||||
Intercept Charge could provide significant defensive benefits, though neither my
|
||||
moose nor I are particularly defensive oriented. Shake It Off would give Moose
|
||||
and Me +1 on all saves while we’re adjacent. And Improved Spell Sharing helps
|
||||
with buffing. The one thing about ISS though is the requirements are a bit…
|
||||
odd. It <em>seems</em> to be intended for use by a class that can share their teamwork
|
||||
feats, but I think a discussion with a DM can resolve the issue.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Druid:
|
||||
- Bonus: Toughness
|
||||
- Lvl 1: Power Attack
|
||||
- Lvl 3: Spirit's Gift
|
||||
- Lvl 5: Natural Spell
|
||||
- Lvl 7: Improved Spell Sharing
|
||||
|
||||
Moose:
|
||||
- Lvl 1: Toughness
|
||||
- Lvl 2: Weapon Focus (Gore)
|
||||
- Lvl 5: Improved Spell Sharing
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Looking forward slightly, next level we each get another feat.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Druid:
|
||||
- Lvl 9: Powerful Shape
|
||||
|
||||
Moose:
|
||||
- Lvl 8: Improved Natural Attack (Gore)
|
||||
</code></pre></div></div>
|
||||
|
||||
<h2 id="gear">Gear</h2>
|
||||
|
||||
<p>Since we’re wild-shaping, we don’t need to worry <em>too</em> much about armor and
|
||||
weapon. We can get the benefits of a shield, so we’ll want a decent one of
|
||||
those. Ring of Protection (+1) is a standard, and I’ll also opt for a Cloak of
|
||||
Resistance (+2). We’re a bit MAD (multi-attribute dependent), wanting high
|
||||
strength and wisdom primarily, with good dexterity and constitution still. I’ll
|
||||
take a Headband of Inspired Wisdom (+2), and a Belt of Physical Prowess
|
||||
(Strength and Constitution +2). In exchange for a weapon, I’ll pick up an Amulet
|
||||
of Mighty Fists (+1). Finally, because wild shape is so important, we’ll pick up
|
||||
Druid Vestments, which give us an extra wild shape use per day.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Headband of Inspired Wisdom, +2
|
||||
Amulet of Mighty Fists, +1
|
||||
Cloak of Resistance, +2
|
||||
Druid Vestments
|
||||
Belt of Physical Prowess (STR/CON), +2
|
||||
Ring of Protection, +1
|
||||
Heavy Wooden Shield, +1
|
||||
Scimitar
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>I have a mundane item pack I generally pick up as well, which includes things
|
||||
like a mirror, fishing hooks, and the like. Normally it’s all in a Handy
|
||||
Haversack, but since I’m shapshifting so often, for the druid that’ll shift to a
|
||||
Polymorphic Pouch.</p>
|
||||
|
||||
<p>Also, a Ring of Eloquence is a solid buy, to allow for discussion which
|
||||
shapeshifted.</p>
|
||||
|
||||
<h2 id="spells">Spells</h2>
|
||||
|
||||
<p>Druids have a <em>lot</em> of spell options. We’re a melee fighter, so many of our
|
||||
spells will focus on buffing, debuffing, and control. We can also include some
|
||||
out-of-combat utility. There are too many options to list, and again, guides
|
||||
already exist that go through every spell and analyze them. Here are the spells
|
||||
that I’ll consider regularly:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Level 1:
|
||||
- Entangle [Control]
|
||||
- Faerie Fire [Control][Debuff]
|
||||
- Frostbite [Buff][Damage][Debuff]
|
||||
- Goodberry [Utility]
|
||||
- Longstrider [Buff]
|
||||
- Magic Fang [Buff]
|
||||
- Mudball [Damage][Debuff]
|
||||
- Thorn Javelin [Damage][Debuff]
|
||||
- Thunderstomp [Control][Debuff]
|
||||
|
||||
Level 2:
|
||||
- Barkskin [Buff]
|
||||
- Lockjaw [Buff][Control]
|
||||
- Natural Rhythm [Buff][Damage]
|
||||
- Resist Energy [Buff]
|
||||
- Sickening Entanglement [Control][Debuff]
|
||||
- Stone Call [Damage][Debuff]
|
||||
- Vine Strike [Control][Damage][Debuff]
|
||||
- Whip of Spiders [Damage][Debuff]
|
||||
- Wilderness Soldiers [Control][Damage]
|
||||
|
||||
Level 3:
|
||||
- Call Lightning [Damage]
|
||||
- Earth Tremor [Damage][Control][Debuff]
|
||||
- Fey Form I [Utility]
|
||||
- Fungal Infestation [Debuff]
|
||||
- Greater Magic Fang [Buff][Damage]
|
||||
- Greater Thunderstomp [Control][Debuff]
|
||||
- Spike Growth [Control][Damage][Debuff]
|
||||
- Thorny Entanglement [Control][Damage]
|
||||
- Vermin Shape I [Utility]
|
||||
|
||||
Level 4:
|
||||
- Aspect of the Stag [Buff][Damage]
|
||||
- Cape of Wasps [Buff][Damage][Debuff]
|
||||
- Echolocation [Buff]
|
||||
- Freedom of Movement [Buff]
|
||||
- Grove of Respite [Utility]
|
||||
- Slowing Mud [Control][Debuff]
|
||||
- Spike Stones [Control][Damage][Debuff]
|
||||
- Strong Jaw [Buff][Damage]
|
||||
</code></pre></div></div>
|
||||
|
||||
<h2 id="gameplay">Gameplay</h2>
|
||||
|
||||
<p>I’ve never played this build! I’m sure it could use some modifications. The
|
||||
emphasis on choosing a moose over other animal companions could be a serious
|
||||
hinderance. I think the general play would go like this: buff self, sharing the
|
||||
buffs with my animal companion; enter melee combat, preferably by charging at a
|
||||
target with my animal companion; throw around control and debuff spells as
|
||||
necessary.</p>
|
||||
|
||||
<p>This is very much a first draft, but I think it could be a fun one!</p>
|
||||
|
||||
<h1 id="sources">Sources</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.d20pfsrd.com/">Pathfinder SRD</a></li>
|
||||
<li><a href="https://docs.google.com/document/d/1PXamF43boZgYtCUlyJAMojfrPaAdYyjPOaGOo1vfqdM/edit#heading=h.nxj7sifd7tvs">Prometheus Guide to the Druid</a></li>
|
||||
<li><a href="https://docs.google.com/Doc?docid=0AcNyxDTKvAmqZGRtZzhzdjZfNDZnNHpzcmdodA&hl=en">Treantmonk’s Guide to Druids</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2020-09-05
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
457
2020/09/27/pathfinder-eldritch-knight.html
Normal file
457
2020/09/27/pathfinder-eldritch-knight.html
Normal file
|
@ -0,0 +1,457 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Pathfinder: Building My Eldritch Knight</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2020/09/27/pathfinder-eldritch-knight.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="building-my-eldritch-knight">Building My Eldritch Knight</h1>
|
||||
|
||||
<p>Pathfinder has been the tabletop game of choice for my longest-running group.
|
||||
One of my favorite activities is creating characters. I love theory crafting,
|
||||
pouring through source material, and setting limits. My favorite archetype of
|
||||
characters are those that take the combat focus of a warrior and supplement it
|
||||
with magic. The druid, which I <a href="/2020/09/06/pathfinder-druid.html">already touched
|
||||
on</a>, is a class that
|
||||
has this built in. This blending of magic and metal is often called a
|
||||
<a href="https://en.wiktionary.org/wiki/gish">Gish</a>.</p>
|
||||
|
||||
<h2 id="concept">Concept</h2>
|
||||
|
||||
<p>All of my characters come from a concept. This concept is heavily mechanics
|
||||
focused, and heavily opinionated: I want a “proper” eldricth knight. To me, a
|
||||
proper eldritch knight doesn’t use any gimmicks or tricks to get into the
|
||||
prestige class sooner, doesn’t rely too heavily on especially unique or strange
|
||||
equipment, and sticks to a limited set of rule books.</p>
|
||||
|
||||
<h2 id="build">Build</h2>
|
||||
|
||||
<p>For this build, I’ll be limiting myself the these rule books:</p>
|
||||
|
||||
<ul>
|
||||
<li>Core Rulebook</li>
|
||||
<li>the Ultimate books (Combat, Magic, Intrigue, Wilderness, and Equipment)</li>
|
||||
<li>the Advanced books (Player’s Guide, Race, and Class)</li>
|
||||
</ul>
|
||||
|
||||
<p>Eldritch Knight needs a martial class, and an arcane class. While there are
|
||||
plenty of options, I wanted to start with the most basic options:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Fighter 1 / Wizard (Enchantment) 5 / Eldritch Knight X
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Wizards have the option of taking a school, and it makes a lot of sense for
|
||||
a melee combatant to focus on buffing itself. Thus, I went for a Transmutation
|
||||
school, and specifically for the Enchantment school. For opposed schools, I
|
||||
opted for Evocation and Necromancy. I lose out on some nice spells, certainly,
|
||||
but considering our focus, we wouldn’t be using many blasting spells. Not to
|
||||
mention, our spell penetration will be relatively weak by comparison to more
|
||||
spell-focused builds. Obviously, open to alternatives, but I would advise
|
||||
against choosing Illusion, since it has some of the better non-transmutation
|
||||
buffs in the game.</p>
|
||||
|
||||
<p>Wizards also have to choose an arcane bond, which is either a familiar or an
|
||||
item. Familiars are incredibly useful, but for this build I really liked the
|
||||
idea of having my arcane bond be my weapon. This can be <strong>very dangerous!</strong> If
|
||||
your bonded item is taken from you, or destroyed, you will have a <em>very
|
||||
difficult time</em> casting spells.</p>
|
||||
|
||||
<h2 id="traits">Traits</h2>
|
||||
|
||||
<p>In our Pathfinder group, we don’t <em>really</em> use traits, but I use traits.
|
||||
Specifically, I always use 1 trait when it is applicable, because I believe
|
||||
without this trait, any Gish build that relies on multiple classes is severely
|
||||
penalized: Magical Knack. This trait will allow me to up my caster level for
|
||||
Wizard by up to +2, up to my maximum hit dice. This doesn’t give me more spells
|
||||
per day, but it does affect spell details such as duration, or saving throw DC,
|
||||
that rely on caster level. Conveniently, for this build, we have exactly two
|
||||
levels that do not give a bonus to wizard caster level: the 1 level of fighter
|
||||
we take, and the first level of eldritch knight.</p>
|
||||
|
||||
<p>If two traits are allowed, solid choices are <code class="language-plaintext highlighter-rouge">Reactionary</code> for a bonus to
|
||||
initiative; <code class="language-plaintext highlighter-rouge">Deft Dodger</code> for an improved reflex save; <code class="language-plaintext highlighter-rouge">Eyes and Ears of the
|
||||
City</code> for a bonus on perception and to add it as a class skill; or <code class="language-plaintext highlighter-rouge">Armor
|
||||
Expert</code> to reduce all armor check penalties by 1.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Magical Knack (Wizard)
|
||||
</code></pre></div></div>
|
||||
|
||||
<h2 id="race">Race</h2>
|
||||
|
||||
<p>Human. Elf as a very close second. The bonus for spell penetration, the bonus to
|
||||
perception and spellcraft skills, and the ability score modifiers are all solid.
|
||||
But, this build won’t need to worry about puncturing spell resistance, and
|
||||
because we’re a melee combatant, we need all the constitution we can get. Human
|
||||
provides a bonus +1 skill point per level, a bonus feat, and a floating +2
|
||||
ability score increase, which we can use for our strength or intelligence.</p>
|
||||
|
||||
<h2 id="skills">Skills</h2>
|
||||
|
||||
<p>None of the three classes in this build provide a significant number of skills;
|
||||
all three give 2 + INT per level. However, being a wizard, we <em>do</em> have a nice
|
||||
intelligence score, and as a human we get an additional +1. At a minimum, we’ll
|
||||
probably get 5 skill points per level. There are no skill requirements to get
|
||||
into eldritch knight, so we can focus on the “important” skills:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Knowledge (Arcana)
|
||||
Knowledge (Dungeoneering)
|
||||
Knowledge (Nature)
|
||||
Knowledge (Planes)
|
||||
Knowledge (Religion)
|
||||
Perception
|
||||
Sense Motive
|
||||
Spellcraft
|
||||
Survival
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>I also like to drop a single point in <code class="language-plaintext highlighter-rouge">Climb</code>, <code class="language-plaintext highlighter-rouge">Swim</code>, <code class="language-plaintext highlighter-rouge">Ride</code>, and <code class="language-plaintext highlighter-rouge">Fly</code>, if I
|
||||
can afford to. Getting the trained bonus, combined with our generally good
|
||||
strength and dexterity, means we can accomplish the basics. As a wizard, we can
|
||||
further supplement these with spells. Unfortunately, we do not get perception as
|
||||
a class skill, and so using a trait for that would make sense.</p>
|
||||
|
||||
<h2 id="feats">Feats</h2>
|
||||
|
||||
<p>It is very easy to get lost in feats. Like most aspects of Pathfinder, there are
|
||||
an excess of options. To narrow down my focus, I tried to consider what the
|
||||
character’s options were: warrior focused on melee combat; wizard focused on
|
||||
buffing and crowd control. Being in melee means I’ll be wearing armor, and that
|
||||
brings the <code class="language-plaintext highlighter-rouge">Arcane Armor Training</code> feats into relevance. There’s also the
|
||||
<code class="language-plaintext highlighter-rouge">Arcane Strike</code> feat, which is perfect for arcane gish builds. Initiative is the
|
||||
king of combat, and as a wizard I’ll want to try going first as often as
|
||||
possible. I also don’t have the most hit points, due to those 5 levels of
|
||||
wizard. <code class="language-plaintext highlighter-rouge">Improved Initiative</code> and <code class="language-plaintext highlighter-rouge">Toughness</code> make sense. Considering the
|
||||
possibility of being in combat when buffing, <code class="language-plaintext highlighter-rouge">Combat Casting</code> makes sense. I’ll
|
||||
probably focus on a specific weapon, so <code class="language-plaintext highlighter-rouge">Weapon Focus</code> makes sense, and as a
|
||||
fighter/eldritch knight, those levels will stack for feat requirements. That
|
||||
means, <code class="language-plaintext highlighter-rouge">Weapon Specialization</code> is a possibility in the future.</p>
|
||||
|
||||
<p>While I’m sure there are some crazy feats in other books, all these feats come
|
||||
from the Core Rulebook. That excites me for some reason. Thus far, the only
|
||||
non-core rulebook thing we’ve done is traits, and for this build we can live
|
||||
without those if absolutely necessary. Again, this limit isn’t necessary, but it
|
||||
was something I wanted to adhere to for this build.</p>
|
||||
|
||||
<p>The number of feats laid out above is very quickly growing. Conveniently, I’m
|
||||
entering the game with 3: one for level 1, a bonus for human, and a bonus for
|
||||
fighter. That’s <code class="language-plaintext highlighter-rouge">Improved Initiative</code>, <code class="language-plaintext highlighter-rouge">Toughness</code>, and <code class="language-plaintext highlighter-rouge">Weapon Focus</code>. Any
|
||||
two-handed weapon will do, though I’m partial to the good ol’ greatsword. Using
|
||||
a sword-and-board will severely restrict my casting abilities, because both
|
||||
hands will be full.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Improved Initiative (Level 1)
|
||||
Toughness (Human bonus feat level 1)
|
||||
Weapon Focus (Greatsword) (Fighter level 1 bonus combat feat)
|
||||
Scribe Scroll (Wizard level 1 bonus feat)
|
||||
Combat Casting (Level 3)
|
||||
Arcane Strike (Level 5)
|
||||
Craft Wonderous Items (Wizard level 5 bonus feat; debatable)
|
||||
Arcane Armor Training (Eldritch Knight bonus combat feat)
|
||||
Power Attack (Level 7)
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>The wizard gets a bonus feat at level 5, which is limited to an arcane crafting
|
||||
feat, a metamagic feat, Spell Mastery, or an arcane discovery. I opted for
|
||||
<code class="language-plaintext highlighter-rouge">Craft Wonderous Items</code> because I like the options it opens up. There are some
|
||||
good metamagic options I considered though: <code class="language-plaintext highlighter-rouge">Extend Spell</code> makes sense for
|
||||
buffing; <code class="language-plaintext highlighter-rouge">Still Spell</code> makes sense since we’re in armor; <code class="language-plaintext highlighter-rouge">Toppling Spell</code> can
|
||||
give Magic Missile and other force damage spells some crowd-control. Since
|
||||
evocation is one of my opposed schools, though, it wouldn’t work for me.</p>
|
||||
|
||||
<p>Wizards at first level also get <code class="language-plaintext highlighter-rouge">Scribe Scroll</code> as a bonus feat. Scrolls are
|
||||
great for situational spells.</p>
|
||||
|
||||
<h2 id="gear">Gear</h2>
|
||||
|
||||
<p>There’s only one piece of gear that is unusual here, and it’s the armor. Kikko
|
||||
armor is from Ultimate Equipment, and specifically is a type of eastern setting
|
||||
armor. It provides a +5 armor bonus, allows for a dexterity bonus of +4, incurs
|
||||
a -3 armor check penalty, and has 20% arcane spell failure. However, it is
|
||||
primarily made of metal, and thus can be made from mithral. A mithral suit of
|
||||
kikko armor provides +5 armor bonus, allows for a dexterity bonus of 6, incurs
|
||||
no armor check penalty, and has a 10% arcane spell failure. Those numbers are
|
||||
fantastic. No armor check penalty is great for the odd <code class="language-plaintext highlighter-rouge">Climb</code> or <code class="language-plaintext highlighter-rouge">Swim</code> check,
|
||||
and for when I can <code class="language-plaintext highlighter-rouge">Fly</code>. The 10% arcane spell failure chance is lowered to 0%
|
||||
by <code class="language-plaintext highlighter-rouge">Arcane Armor Training</code>, allowing me to safely cast in armor when I so
|
||||
choose. If limited to the core rule book, the next best bet will be either a
|
||||
breastplate, or hide armor.</p>
|
||||
|
||||
<p>As for the weapon, I went with a greatsword. You could go with a falchion, and
|
||||
“crit-fish,” but I’d rather have the raw damage. Numbered enchantment bonuses
|
||||
are good, but there is one specific enchantment I would highly suggest: called.
|
||||
A called weapon can be teleported to the wielder’s hand as a swift action.
|
||||
Considering our greatsword is our arcane focus, we’ll want that in our
|
||||
possession at all times, and this greatly increases the chances of that. Keen
|
||||
wouldn’t be too bad; increasing the critical threat range to 17-20. Spell
|
||||
storing obviously makes a lot of sense, too.</p>
|
||||
|
||||
<p>I’m a spell caster, so I picked up a few <code class="language-plaintext highlighter-rouge">Pearls of Power</code>, a few wands (<code class="language-plaintext highlighter-rouge">Cure
|
||||
Light Wounds</code>, <code class="language-plaintext highlighter-rouge">Protection from Evil</code>, and <code class="language-plaintext highlighter-rouge">Expeditious Retreat</code>), and a bunch
|
||||
of potions of <code class="language-plaintext highlighter-rouge">Lead Blades</code>. The reason for the potions and not scrolls or a
|
||||
wand is to avoid <code class="language-plaintext highlighter-rouge">Use Magic Device</code> checks.</p>
|
||||
|
||||
<p>I have a collection of mundane items, including things like a bedroll, rope,
|
||||
sewing needles, chalk, and a handful of alchemical items, that I like to carry
|
||||
in a <code class="language-plaintext highlighter-rouge">Handy Haversack</code>.</p>
|
||||
|
||||
<p>Beyond all this, I went with the remainder of the “Big 6”: a <code class="language-plaintext highlighter-rouge">Cloak of
|
||||
Resistance</code>, a <code class="language-plaintext highlighter-rouge">Ring of Protection</code>, a <code class="language-plaintext highlighter-rouge">Headband of Intellect</code>, and a <code class="language-plaintext highlighter-rouge">Belt of
|
||||
Strength</code>.</p>
|
||||
|
||||
<p>With any left over funds, investing in additional spells known, scrolls, copies
|
||||
of your spellbook, and cheaper wonderous items is always nice.</p>
|
||||
|
||||
<h2 id="spells">Spells</h2>
|
||||
|
||||
<p>I’m a wizard (Harry), with the most versatile spell list in the game, and a book
|
||||
(or books) that can get them all! Aside from the opposed school (but even then,
|
||||
there are some worth getting, such as <code class="language-plaintext highlighter-rouge">False Life</code>), I went for every spell that
|
||||
I even remotely thought I would use. On my sheet, that’s 62 spells across levels
|
||||
1 to 3. I won’t mark them all here, but there are some which I wouldn’t want to
|
||||
be without.</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Level 1
|
||||
- Comprehend Languages (also a great scroll)
|
||||
- Enlarge Person
|
||||
- Magic Missile (despite being opposed, a solid fall-back)
|
||||
- Mount
|
||||
- Protection from Alignment (generally, evil and chaos make the most sense)
|
||||
- Shield
|
||||
- Vanish
|
||||
|
||||
Level 2
|
||||
- False Life
|
||||
- Glitterdust
|
||||
- Invisibility
|
||||
- Mirror Image
|
||||
- Resist Energy
|
||||
- Rope Trick
|
||||
|
||||
Level 3
|
||||
- Ablative Barrier
|
||||
- Fly
|
||||
- Haste
|
||||
- Phantom Steed
|
||||
- Sleet Storm
|
||||
- Versatile Weapon
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>At character level 9, we get access to 4th level wizard spells. Some spells on
|
||||
my wishlist include great crowd-control like <code class="language-plaintext highlighter-rouge">Acid Pit</code> and <code class="language-plaintext highlighter-rouge">Black Tentacles</code>;
|
||||
self-buffs like <code class="language-plaintext highlighter-rouge">Stoneskin</code> and <code class="language-plaintext highlighter-rouge">Greater Invisibility</code>; and utility like
|
||||
<code class="language-plaintext highlighter-rouge">Dimension Door</code>, <code class="language-plaintext highlighter-rouge">Stone Shape</code>, and even <code class="language-plaintext highlighter-rouge">Wall of Fire</code> or <code class="language-plaintext highlighter-rouge">Wall of Ice</code>,
|
||||
despite them being from an opposed school.</p>
|
||||
|
||||
<p>Also, as a wizard I got <code class="language-plaintext highlighter-rouge">Scribe Scroll</code> at first level. Many spells in my
|
||||
spellbook are almost only there so I can make scrolls of them. Examples include
|
||||
<code class="language-plaintext highlighter-rouge">Identify</code>, the various ability enhancements (<code class="language-plaintext highlighter-rouge">Cats Grace</code>, etc..), and so on.</p>
|
||||
|
||||
<h2 id="gameplay">Gameplay</h2>
|
||||
|
||||
<p>I’ve actually played this build 3 times. The first time, as the human shown
|
||||
here. The second time, as this build but with the zombie lord template added.
|
||||
And a third time, but with the skeleton champion template added. Needless to
|
||||
say, those templates make this build <em>incredibly powerful</em>. However, I made some
|
||||
poor play decisions, thinking I was a bit more resistant that I actually was,
|
||||
and so all of these characters died rather unfortunate and avoidable deaths.</p>
|
||||
|
||||
<p>What I’ve learned through all three characters is to be patient! This build is
|
||||
very capable, with many options. It can wade into combat and deal some
|
||||
significant damage, even before buffs. Out of combat, it has the flexibility
|
||||
that a well-filled spell book can provide, and a good coverage of knowledge
|
||||
skills.</p>
|
||||
|
||||
<p>When engaging in combat, I always try to make sure I have the following
|
||||
self-buffs up, or ready to be up:</p>
|
||||
|
||||
<ul>
|
||||
<li><code class="language-plaintext highlighter-rouge">Protection from Alignment</code></li>
|
||||
<li><code class="language-plaintext highlighter-rouge">Shield</code></li>
|
||||
<li><code class="language-plaintext highlighter-rouge">Resist Energy</code></li>
|
||||
<li><code class="language-plaintext highlighter-rouge">Mirror Image</code></li>
|
||||
<li><code class="language-plaintext highlighter-rouge">Ablative Barrier</code></li>
|
||||
</ul>
|
||||
|
||||
<p>For damage, there’s a ranger spell called <code class="language-plaintext highlighter-rouge">Lead Blades</code> which is so good it
|
||||
should almost be considered essential. <code class="language-plaintext highlighter-rouge">Versatile Weapon</code> can help with damage
|
||||
resistance which is overcome with special materials.</p>
|
||||
|
||||
<p>As for party buffs, few options beat <code class="language-plaintext highlighter-rouge">Haste</code>.</p>
|
||||
|
||||
<p>For crowd-control, I’ll tend towards a <code class="language-plaintext highlighter-rouge">Glitterdust</code>, <code class="language-plaintext highlighter-rouge">Pyrotechnics</code>, or <code class="language-plaintext highlighter-rouge">Sleet
|
||||
Storm</code>.</p>
|
||||
|
||||
<p>In combat, get buffed to a point you feel capable. This may take 2 or 3 rounds.
|
||||
That’s OK! You’re the second line. Use your swift action for <code class="language-plaintext highlighter-rouge">Arcane Armor
|
||||
Training</code>, buff yourself, move in. Do that again, maybe moving in for a flank.
|
||||
Third round, swift action for <code class="language-plaintext highlighter-rouge">Arcane Strike</code>, and unload with a <code class="language-plaintext highlighter-rouge">Power Attack</code>
|
||||
greatsword swing! If you’ve got <code class="language-plaintext highlighter-rouge">Lead Blades</code> up, that’s 3d6 + 6 (<code class="language-plaintext highlighter-rouge">Power
|
||||
Attack</code>) + 2 (<code class="language-plaintext highlighter-rouge">Arcane Strike</code>) + 1.5x strength bonus. Not bad! Unfortunately,
|
||||
Eldritch Knights lag behind for base-attack bonus, so at level 8 (which is the
|
||||
level for all my builds) it’s only 1 attack a round. At level 9, you get two
|
||||
attacks a round. You can also fall back on a composite longbow, which you can
|
||||
also use <code class="language-plaintext highlighter-rouge">Arcane Strike</code> with for 1d8 + strength bonus + 2 (<code class="language-plaintext highlighter-rouge">Arcane Strike</code>),
|
||||
which isn’t as impressive as that big sword, but can still contribute. And, if
|
||||
weapons won’t due, you’re a wizard! Keep your prepared spells flexible. <code class="language-plaintext highlighter-rouge">Scribe
|
||||
Scroll</code> allows you to have certain spells available at all times. <code class="language-plaintext highlighter-rouge">Craft
|
||||
Wonderous Items</code> can allow you to create plenty of gizmos and gadgets that give
|
||||
you once-per-day options. Crafting is powerful; use it!</p>
|
||||
|
||||
<p>I’ve always had fun with this build. I have, no joke, lost sleep just figuring
|
||||
out cool spells to add to the spell book, worthwhile scrolls, and just imagining
|
||||
scenarios. Despite the apparent short-comings, the Eldritch Knight can
|
||||
definitely hold it’s own, though it does require a ramp-up time.</p>
|
||||
|
||||
<h1 id="sources">Sources</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.d20pfsrd.com/">Pathfinder SRD</a></li>
|
||||
<li><a href="https://docs.google.com/document/d/10x042PGSyqX4JqHbYFf7vDsK1NCnhBT2ck8i1eG6kpc/edit">The Muscle Wizard Guide</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2020-09-27
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
229
2020/10/23/gnome-cleric-wizard.html
Normal file
229
2020/10/23/gnome-cleric-wizard.html
Normal file
|
@ -0,0 +1,229 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Character Write-up: Dabbledop Humblebumple</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2020/10/23/gnome-cleric-wizard.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<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 <a href="/2018/01/27/halvar.html">Halvar</a>, when he had
|
||||
to step away for a bit.</p>
|
||||
|
||||
<h2 id="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>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2020-10-23
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
384
2021/11/20/oblivion-linux.html
Normal file
384
2021/11/20/oblivion-linux.html
Normal file
|
@ -0,0 +1,384 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Oblivion on Linux Part 1, Tools</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2021/11/20/oblivion-linux.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<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>
|
||||
|
||||
<h1 id="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 <code class="language-plaintext highlighter-rouge">22330</code>.</p>
|
||||
|
||||
<h1 id="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 <code class="language-plaintext highlighter-rouge">Wrye
|
||||
Bash</code>. Mod load order is also important, and the tool I’m using to help with
|
||||
that is <code class="language-plaintext highlighter-rouge">LOOT</code>. Finally, <code class="language-plaintext highlighter-rouge">TES4Edit</code>, <code class="language-plaintext highlighter-rouge">TES4LODGen</code> and <code class="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>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>OblivionMods
|
||||
|- Archives
|
||||
|- Backups
|
||||
|- Tools
|
||||
|- WryeBash
|
||||
</code></pre></div></div>
|
||||
|
||||
<p><em>Archives</em> is where I store the actual archives of the mods I use. <em>Backups</em> is
|
||||
where I store any relevant backups for my Oblivion game, such as saves or
|
||||
configuration files for the mods. <em>Tools</em> is where I put the executables for all
|
||||
the tools I mentioned above. <em>WryeBash</em> is used to store the unarchived mods
|
||||
(which it calls “projects”) and mod data that <code class="language-plaintext highlighter-rouge">Wrye Bash</code> uses.</p>
|
||||
|
||||
<p>Because each of these tools is run using Proton, I also have a set of aliases
|
||||
configured. Similar aliases could be setup for using Wine instead. For each
|
||||
alias, modify the paths accordingly for your setup. I should also note that I’m
|
||||
running Oblivion using <a href="https://github.com/GloriousEggroll/proton-ge-custom">Glorious Eggroll’s
|
||||
Proton</a>, version 6.16. I
|
||||
haven’t experimented with different Proton versions to find the most performant
|
||||
version, but if I do in the future, I’ll mention it.</p>
|
||||
|
||||
<h2 id="wrye-bash">Wrye Bash</h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://github.com/wrye-bash/wrye-bash">Project Link</a></li>
|
||||
<li><a href="https://wrye-bash.github.io/">Homepage</a></li>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/22368">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p><code class="language-plaintext highlighter-rouge">Wrye Bash</code> is involved. I don’t know how to use it fully. There are a few
|
||||
guides that helped me learn how to use it enough to get mods installed and
|
||||
configured though. The first, and very relevant, is at <a href="https://www.shrine-of-kynareth.de/wrye-bash-on-linux">Shrine of
|
||||
Kynareth</a>. I referenced
|
||||
this guide, and the
|
||||
<a href="https://www.shrine-of-kynareth.de/wrye-bash-for-beginners-part-1-installation-and-installers-tab">other</a>
|
||||
<a href="https://www.shrine-of-kynareth.de/wrye-bash-for-beginners-part-2-load-order-bashed-patch-and-savegame-profiles">written</a>
|
||||
<a href="https://www.shrine-of-kynareth.de/wrye-bash-for-beginners-part-3-ini-edits-tools-and-tricks">guides</a>
|
||||
to learn how Wrye Bash works and what to setup. I also learned some tricks from
|
||||
the <a href="https://www.nexusmods.com/oblivion/mods/49898">Oblivion Comprehensive Modding Guide by
|
||||
Dispensation</a>.</p>
|
||||
|
||||
<h3 id="setup">Setup</h3>
|
||||
|
||||
<p>The easiest option is to use the stand-alone executable from the GitHub releases
|
||||
page. Extract the archive, and then use Proton to run the executable in the
|
||||
<em>Mopy</em> directory. This is the alias I use; replace paths accordingly:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>alias oblivion-wrye='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
|
||||
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
|
||||
/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 <code class="language-plaintext highlighter-rouge">sOblivionMods</code> to “Z:\path\to\OblivionMods\WryeBash”, <code class="language-plaintext highlighter-rouge">sBashModData</code> to
|
||||
“Z:\path\to\OblivionMods\WryeBash\Bash Mod Data”, <code class="language-plaintext highlighter-rouge">sInstallersData</code> to
|
||||
“Z:\path\to\OblivionMods\WryeBash\Bash Installers”, and <code class="language-plaintext highlighter-rouge">sOblivionPath</code> to
|
||||
“Z:\path\to\steam\steamapps\common\Oblivion”. In Wine, <code class="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>
|
||||
|
||||
<h3 id="usage">Usage</h3>
|
||||
|
||||
<p>The guides above provide a very thorough explanation of use. Of note: <code class="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 <code class="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
|
||||
do anything else.</p>
|
||||
|
||||
<h2 id="loot">LOOT</h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://github.com/loot/loot">Project Link</a></li>
|
||||
<li><a href="https://loot.github.io/">Homepage</a></li>
|
||||
</ul>
|
||||
|
||||
<p><code class="language-plaintext highlighter-rouge">LOOT</code> sets the proper load order for mods. There is a native Linux client, but
|
||||
I ran into <a href="https://github.com/loot/loot/issues/1615">this issue</a> and decided to
|
||||
just use the Windows version. The GitHub releases page includes a 7z archive
|
||||
with a stand-alone executable, and that’s what I used.</p>
|
||||
|
||||
<h3 id="setup-1">Setup</h3>
|
||||
|
||||
<p>Download the stand-alone executable, and extract it to <em>OblivionMods/Tools</em>.
|
||||
This is the alias I use; replace paths accordingly:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>alias oblivion-loot='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
|
||||
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
|
||||
/path/to/proton/proton run /path/to/OblivionMods/Tools/LOOT/LOOT.exe'
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>On first run, it should auto-detect the Oblivion installation and configure
|
||||
everything accordingly. If it doesn’t, there are instructions on the Homepage
|
||||
for configuration.</p>
|
||||
|
||||
<h3 id="usage-1">Usage</h3>
|
||||
|
||||
<p><code class="language-plaintext highlighter-rouge">LOOT</code> is pretty straight forward. It references a master list of mods to
|
||||
determine the optimal load order for all installed mods. I ran into an issue
|
||||
where <code class="language-plaintext highlighter-rouge">LOOT</code> couldn’t properly download the master list, and so as a work-around
|
||||
I manually downloaded the master list, and then configured <code class="language-plaintext highlighter-rouge">LOOT</code> to use that
|
||||
local file instead of the remote Git repository. Those instructions are covered
|
||||
<a href="https://loot.github.io/docs/help/LOOT-FAQs.html#git-errors">in the FAQ</a>. If
|
||||
everything works, and the list of mods is there, then you can run a sort, and
|
||||
apply the changes. <code class="language-plaintext highlighter-rouge">LOOT</code> will inform you of any “dirty” mods, which you can use
|
||||
the next tool the clear up. I ended up keeping <code class="language-plaintext highlighter-rouge">LOOT</code> open, while stepping
|
||||
through the cleaning procedure for each mod, until everything looked happy.</p>
|
||||
|
||||
<h2 id="tes4edit">TES4Edit</h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://github.com/TES5Edit/TES5Edit">Project Link</a></li>
|
||||
<li><a href="https://tes5edit.github.io/">Homepage</a></li>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/11536">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p><code class="language-plaintext highlighter-rouge">TES4Edit</code> is the Oblivion version of <code class="language-plaintext highlighter-rouge">xEdit</code>, which is an incredible tool. All
|
||||
I use it for is to clean dirty mods. <code class="language-plaintext highlighter-rouge">LOOT</code> provides a link to the <a href="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>
|
||||
|
||||
<h3 id="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
|
||||
paths accordingly:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>alias oblivion-tes4edit-quick='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
|
||||
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
|
||||
/path/to/proton/proton run /path/to/OblivionMods/Tools/TES4Edit/TES4EditQuickAutoClean.exe'
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>TES4Edit is also useful for other, non-quick-clean functionality, so I have this
|
||||
alias for that:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>alias oblivion-tes4edit='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
|
||||
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
|
||||
/path/to/proton/proton run /path/to/OblivionMods/Tools/TES4Edit/TES4Edit.exe'
|
||||
</code></pre></div></div>
|
||||
|
||||
<h3 id="usage-2">Usage</h3>
|
||||
|
||||
<p>Run the quick-clean alias, select the problematic file, and click “OK”. Only one
|
||||
file can be cleaned at a time.</p>
|
||||
|
||||
<h2 id="tes4lodgen">TES4LODGen</h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://github.com/TES5Edit/xLODGen">Project Link</a></li>
|
||||
<li><a href="https://tes5edit.github.io/docs/16-xLODGen.html">Homepage</a></li>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/15781?tab=description">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p><code class="language-plaintext highlighter-rouge">TES4LODGen</code> will generate the relevant LOD files ahead of time. Apparently it
|
||||
helps with performance in-game, but may result in slower initial load times when
|
||||
starting the game.</p>
|
||||
|
||||
<h3 id="setup-3">Setup</h3>
|
||||
|
||||
<p>I downloaded the files from Nexus, and extracted the archive to
|
||||
<em>OblivionMods/Tools/TES4LODGen</em>. Here’s the alias; replace paths accordingly:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>alias oblivion-tes4lodgen='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
|
||||
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
|
||||
/path/to/proton/proton run /path/to/OblivionMods/Tools/TES4LODGen/TES4LODGen.exe'
|
||||
</code></pre></div></div>
|
||||
|
||||
<h3 id="usage-3">Usage</h3>
|
||||
|
||||
<p>Run the alias. The program should auto-find everything, do some magic, and will
|
||||
eventually report that it has finished. At that point, you can close the
|
||||
application.</p>
|
||||
|
||||
<h2 id="bethini">BethINI</h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/46440">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p><code class="language-plaintext highlighter-rouge">BethINI</code> helps manage the “oblivion.ini” file, providing sane options and a
|
||||
wizard for configuration. While not required, it does help with optimizations.</p>
|
||||
|
||||
<h3 id="setup-4">Setup</h3>
|
||||
|
||||
<p>I downloaded the files from Nexus, and extracted the archive to
|
||||
<em>OblivionMods/Tools/Bethini</em>. If you use AutoHotKey apparently you can use that
|
||||
to run it, but that doesn’t make sense to me, so I went with the stand-alone
|
||||
executable. Here’s the alias; replace paths accordingly:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>alias oblivion-bethini='STEAM_COMPAT_DATA_PATH=/path/to/steam/directory/steamapps/compatdata/22330/ \
|
||||
STEAM_COMPAT_CLIENT_INSTALL_PATH=/path/to/steam/directory/ \
|
||||
/path/to/proton/proton run /path/to/OblivionMods/Tools/BethINI/BethINI.exe'
|
||||
</code></pre></div></div>
|
||||
|
||||
<h3 id="usage-4">Usage</h3>
|
||||
|
||||
<p>Just like the rest, run the alias and answer the questions. <code class="language-plaintext highlighter-rouge">BethINI</code> will make
|
||||
backups of the modified INI files before over-writing them.</p>
|
||||
|
||||
<h1 id="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>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2021-11-28
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
323
2021/12/09/oblivion-linux-2.html
Normal file
323
2021/12/09/oblivion-linux-2.html
Normal file
|
@ -0,0 +1,323 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Oblivion on Linux Part 2, Mods</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2021/12/09/oblivion-linux-2.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<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 <a href="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>
|
||||
|
||||
<h2 id="survival-related">Survival Related</h2>
|
||||
|
||||
<h3 id="basic-primary-needs--personal-hygiene">Basic Primary Needs & Personal Hygiene</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/37088">Nexus Link - Basic Primary Needs</a></li>
|
||||
<li><a href="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 <a href="https://www.nexusmods.com/oblivion/mods/34905">additional HUD Status
|
||||
Bars</a>, which makes tracking the
|
||||
new needs much easier.</p>
|
||||
|
||||
<h3 id="travelers-tent">Traveler’s Tent</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/49654">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p>This mod adds a portable player home, and is supremely comfy. Because I avoid
|
||||
fast-travel, I wanted some sort of camping mod. I originally used <a href="https://www.nexusmods.com/oblivion/mods/37197">Maskar’s
|
||||
Camping Mod</a> before learning of
|
||||
this mod. By comparison, the tent in Traveler’s Tent feels almost like cheating,
|
||||
but sometimes it’s important to treat yourself.</p>
|
||||
|
||||
<h2 id="world-enhancement">World Enhancement</h2>
|
||||
|
||||
<p>These I would consider my graphical improvements. I’m generally not too
|
||||
concerned with making the game look good, but I love making the game feel more
|
||||
realistic. These mods make Cyrodiil feel more alive.</p>
|
||||
|
||||
<h3 id="better-cities">Better Cities</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/16513/">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p>This is a massive collection of city overhaul and enhancement mods. I was
|
||||
awe-struck when I walked around the Imperial City for the first time with this
|
||||
mod enabled. Bravil felt like a dangerous, crowded harbor town. Leyawin looks
|
||||
like an actual place people live. Though the improvements do come with FPS hits.
|
||||
Doubly-so if enabling the Open Cities option, which moves cities into the
|
||||
overworld space, instead of their own individual instances. It’s a balancing
|
||||
act: the immersion of walking directly into a city sometimes isn’t worth
|
||||
crashing to desktop when adventuring around cities.</p>
|
||||
|
||||
<h3 id="cobl">COBL</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/21104">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p>“Common Oblivion” enriches the world of Oblivion by adding lots of little
|
||||
things, and helping different mods “talk” to each other. I like to think of it
|
||||
as filling in a lot of the details that feel missing from vanilla Oblivion.</p>
|
||||
|
||||
<h3 id="enhanced-economy">Enhanced Economy</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/25078">Nexus Link</a></li>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/47184">Lubrons Patch</a></li>
|
||||
</ul>
|
||||
|
||||
<p>This mod and the corresponding patch make the economy of the world more dynamic.
|
||||
What I really like are the merchant quests that are added. Several merchants in
|
||||
each town will ask you to find an item in one of the nearby dungeons. It adds
|
||||
flavor to the game in just the right way.</p>
|
||||
|
||||
<p>Lubron’s Patch for Enhanced Economy fixes some bugs and cleans up the code a
|
||||
bit.</p>
|
||||
|
||||
<h3 id="lights-of-oblivion---road-lanterns">Lights of Oblivion - Road Lanterns</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/46131">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p>A very simple mod that I feel really enhances my travel around Cyrodiil. I avoid
|
||||
fast-traveling whenever possible, and walking lit roads at night feels comfy.
|
||||
I’m partial to the Imperial model.</p>
|
||||
|
||||
<h3 id="natural-environments">Natural Environments</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/2536">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p>Arguably the only graphical enhancement mod, Natural Environments provides
|
||||
options for modifying the weather, water, and vegetation around Cyrodiil. The
|
||||
weather and vegetation enhancements especially stand out. Overall the mods
|
||||
don’t cause me much performance impact, if any.</p>
|
||||
|
||||
<h3 id="cyrodiil-travel-services">Cyrodiil Travel Services</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.afkmods.com/index.php?/files/file/263-cyrodiil-travel-services/">AFK Mods Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p>I really enjoyed that in Skyrim there was a dude with a wagon you could pay to
|
||||
travel to the various cities. This mod adds similar functionality, and then
|
||||
some. Useful when playing the game without fast-travel enabled.</p>
|
||||
|
||||
<h2 id="overhauls">Overhauls</h2>
|
||||
|
||||
<p>Arguably, these are the heavy hitters. These mods will alter the mechanics of
|
||||
the game, often making things more challenging but also more rewarding.</p>
|
||||
|
||||
<h3 id="maskars-oblivion-overhaul">Maskar’s Oblivion Overhaul</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/42780">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p>Maskar’s Overhaul is a massive endeavor. It “[improves] many aspects of the
|
||||
game, while maintaining the overall feel of the game and ensuring compatibility
|
||||
with most other mods.” I think it does so with great success! However, be
|
||||
forewarned, that this overhaul makes the game more challenging.</p>
|
||||
|
||||
<p>There is too much to cover about Maskar’s in this post, but I highly recommend
|
||||
it. It comes with a PDF instruction manual, which is 61 pages long.</p>
|
||||
|
||||
<h3 id="vanilla-combat-enhanced">Vanilla Combat Enhanced</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/45314">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<p>As the name implies, this overhaul adjusts but does not change the vanilla
|
||||
combat experience. Whereas other mods add new moves or fatigue systems, this mod
|
||||
updates the vanilla combat experience to be more challenging and fair. It works
|
||||
with Maskar’s after a small modification, which will be covered in the next
|
||||
part. This is one of the mods that I haven’t played with for too long, and
|
||||
there are definitely some additional or alternative combat mods I’m considering.
|
||||
Namely, <a href="https://www.nexusmods.com/oblivion/mods/49873">Dynamic Oblivion Combat</a>
|
||||
and <a href="https://www.nexusmods.com/oblivion/mods/49939">Combat Additions</a>.</p>
|
||||
|
||||
<h3 id="supreme-magicka">Supreme Magicka</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.nexusmods.com/oblivion/mods/12466">Nexus Link</a></li>
|
||||
</ul>
|
||||
|
||||
<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 <a href="https://www.nexusmods.com/oblivion/mods/49096">Av Latta
|
||||
Magicka</a>.</p>
|
||||
|
||||
<h2 id="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>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2021-12-09
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
291
2022/07/04/steam_deck_syncthing.html
Normal file
291
2022/07/04/steam_deck_syncthing.html
Normal file
|
@ -0,0 +1,291 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Syncthing on the Steam Deck</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2022/07/04/steam_deck_syncthing.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="syncthing-on-the-steam-deck-updated">Syncthing on the Steam Deck (Updated!)</h1>
|
||||
|
||||
<h2 id="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>
|
||||
|
||||
<h3 id="the-wrong-way-system-wide-services">The Wrong Way: System-Wide Services</h3>
|
||||
|
||||
<p>My first attempt was to setup Syncthing as a system-wide service managed by
|
||||
<code class="language-plaintext highlighter-rouge">systemd</code>, installed via <code class="language-plaintext highlighter-rouge">pacman</code>. There are several problems with this. First,
|
||||
it requires disabling the read-only file-system. Next, <code class="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 <code class="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>
|
||||
|
||||
<h3 id="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
|
||||
<a href="https://wiki.archlinux.org/title/Systemd/User">systemd/User</a> article describes
|
||||
this functionality much more than I will. Here are the relevant details:</p>
|
||||
|
||||
<ul>
|
||||
<li>User services can be enabled to start when a user logs in</li>
|
||||
<li>Service files are stored in the user’s home directory (specifically
|
||||
<code class="language-plaintext highlighter-rouge">~/.config/systemd/user</code>)</li>
|
||||
<li>No root privileges are required. No modifying the read-only file-system</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="syncthing">Syncthing</h2>
|
||||
|
||||
<p>Syncthing is incredible. I’ve <a href="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 <a href="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>
|
||||
|
||||
<h2 id="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 <code class="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 <code class="language-plaintext highlighter-rouge">sudo</code>, I need to set a password for the default user,
|
||||
<em>deck</em>. In the terminal, type <code class="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, <code class="language-plaintext highlighter-rouge">sudo systemctl start sshd</code>, and optionally enable it to have
|
||||
<code class="language-plaintext highlighter-rouge">sshd</code> automatically started on each boot (<code class="language-plaintext highlighter-rouge">sudo systemctl enable sshd</code>). Get
|
||||
the device IP with <code class="language-plaintext highlighter-rouge">ip addr list</code>, from my desktop run <code class="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>
|
||||
|
||||
<h2 id="setup">Setup</h2>
|
||||
|
||||
<p>There are 2 things required: a systemd service file, and the <code class="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 <a href="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 <code class="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 <code class="language-plaintext highlighter-rouge">syncthing</code> binary, ready to
|
||||
rock. I copy/move the binary to <code class="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
|
||||
<code class="language-plaintext highlighter-rouge">etc/linux-systemd/user/syncthing.service</code>. Copy this file to
|
||||
<code class="language-plaintext highlighter-rouge">~/.config/systemd/user</code> on the Deck, and edit the “ExecStart” line in the
|
||||
“[Service]” section from</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>...
|
||||
[Service]
|
||||
ExecStart=/usr/bin/syncthing serve --no-browser --no-restart --logflags=0
|
||||
...
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>to</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>...
|
||||
[Service]
|
||||
ExecStart=/home/deck/.local/bin/syncthing serve --no-browser --no-restart --logflags=0
|
||||
...
|
||||
</code></pre></div></div>
|
||||
<p>(or wherever you decided to put the local <code class="language-plaintext highlighter-rouge">syncthing</code> binary)</p>
|
||||
|
||||
<p>With everything in place, I can now enable and start the Syncthing user service:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl --user enable syncthing.service
|
||||
systemctl --user start syncthing.service
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Since I don’t have a physical keyboard plugged in, I modify my SSH command
|
||||
slightly to forward the Syncthing web-UI from the Deck to my local machine:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ssh -L 31337:deck-ip-goes-here:8384 deck@deck-ip-goes-here
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>Now, on my local machine I can open one tab to <code class="language-plaintext highlighter-rouge">localhost:8384</code>, to show
|
||||
Syncthing on my local machine, and another tab to <code class="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>
|
||||
|
||||
<h2 id="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: <a href="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>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2022-07-12
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
281
2022/09/27/linode_funkwhale.html
Normal file
281
2022/09/27/linode_funkwhale.html
Normal file
|
@ -0,0 +1,281 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Funkwhale On Linode with Object Storage</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2022/09/27/linode_funkwhale.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="funkwhale-on-linode-with-object-storage">Funkwhale on Linode with Object Storage</h1>
|
||||
|
||||
<h2 id="funkwhale-setup">Funkwhale Setup</h2>
|
||||
|
||||
<p><a href="https://funkwhale.audio/">Funkwhale</a> is a decentralized music service,
|
||||
connecting to the <a href="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
|
||||
quickly and easily. Those instructions are
|
||||
<a href="https://docs.funkwhale.audio/installation/docker.html#multi-container-installation">here</a>.
|
||||
The only significant modification I made was using <code class="language-plaintext highlighter-rouge">/opt/funkwhale</code> as my
|
||||
default data and media root. I keep all my Docker configuration in directories
|
||||
in my home directory as well. Much of these changes can be established in the
|
||||
<code class="language-plaintext highlighter-rouge">.env</code> file discussed in the installation instructions, but I also scrubbed the
|
||||
template files created and used during installation to make sure the directories
|
||||
were as I wanted them. I also proxy Funkwhale and many other services behind
|
||||
nginx, and there were a few <a href="https://docs.funkwhale.audio/installation/index.html#nginx">additional
|
||||
steps</a> I had to
|
||||
take. With all that complete, I had transitioned successfully. I already had SSL
|
||||
certificates, but if that’s also a requirement, they can easily be provisioned
|
||||
using <a href="https://certbot.eff.org/">Certbot</a>.</p>
|
||||
|
||||
<h2 id="object-storage-setup">Object Storage Setup</h2>
|
||||
|
||||
<p>In my old setup, I leveraged Funkwhale’s ability to <a href="https://docs.funkwhale.audio/admin/importing-music.html">in-place import
|
||||
music</a>. I transferred
|
||||
about 70GB worth of music to my VPS (using Syncthing <3), filling the disk
|
||||
almost entirely (<em>98%</em>). It was a temporary solution for a road trip, and I
|
||||
knew I couldn’t keep it that way for long. Funkwhale has the ability to leverage
|
||||
S3-compatible object storage, and Linode, the provider I already use for my VPS,
|
||||
offers object storage. Any of the other major cloud providers will also do the
|
||||
trick; I just went with what was easiest. On the Linode side, there’s not much
|
||||
to it. I created a new bucket, labeled it accordingly, created an access key,
|
||||
and that was it. The Funkwhale side proved to be a bit challenging, but not, it
|
||||
turns out, due to configuration. Well, <em>technically</em> it was.</p>
|
||||
|
||||
<p>The relevant configuration options on the Funkwhale side, in the <code class="language-plaintext highlighter-rouge">.env</code> file:</p>
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>## External storages configuration
|
||||
# Funkwhale can store uploaded files on Amazon S3 and S3-compatible storages (such as Minio)
|
||||
# Uncomment and fill the variables below
|
||||
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_STORAGE_BUCKET_NAME=
|
||||
# An optional bucket subdirectory were you want to store the files. This is especially useful
|
||||
# if you plan to use share the bucket with other services
|
||||
# AWS_LOCATION=
|
||||
|
||||
# If you use a S3-compatible storage such as minio, set the following variable
|
||||
# the full URL to the storage server. Example:
|
||||
# AWS_S3_ENDPOINT_URL=https://minio.mydomain.com
|
||||
AWS_S3_ENDPOINT_URL=
|
||||
|
||||
# If you want to serve media directly from your S3 bucket rather than through a proxy,
|
||||
# set this to false
|
||||
# PROXY_MEDIA=false
|
||||
|
||||
# If you are using Amazon S3 to serve media directly, you will need to specify your region
|
||||
# name in order to access files. Example:
|
||||
# AWS_S3_REGION_NAME=eu-west-2
|
||||
# AWS_S3_REGION_NAME=
|
||||
|
||||
# If you are using Amazon S3, use this setting to configure how long generated URLs should stay
|
||||
# valid. The default value is 3600 (60 minutes). The maximum accepted value is 604800 (7 days)
|
||||
|
||||
# AWS_QUERYSTRING_EXPIRE=
|
||||
|
||||
# If you are using an S3-compatible object storage provider, and need to provide a default
|
||||
# ACL for object uploads that is different from the default applied by boto3, you may
|
||||
# override it here. Example:
|
||||
# AWS_DEFAULT_ACL=public-read
|
||||
# Available options can be found here: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl
|
||||
|
||||
AWS_DEFAULT_ACL=
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>I’ve included the comments. The entire file is commented, and generally easy
|
||||
enough to figure out. On the Linode side, when I generated the access key, it
|
||||
provided me an <em>Access Key</em> and a <em>Secret Key</em>. I had already created a bucket,
|
||||
and so I had the <em>Bucket Name</em>. The challenge for me was what the <em>Endpoint URL</em>
|
||||
was, and if I needed to set a <em>Region Name</em> and <em>ACL</em>. Linode’s documentation on
|
||||
their object storage offering is a bit anemic, and so I made use of their setup
|
||||
instructions for <a href="https://www.linode.com/docs/products/storage/object-storage/guides/s3cmd/">using s3cmd with Linode object
|
||||
storage</a>.
|
||||
From this guide, I was able to both setup <code class="language-plaintext highlighter-rouge">s3cmd</code>, and also determine what the
|
||||
<em>Endpoint URL</em> would be. I also set the <em>Region Name</em> and <em>ACL</em> to match what
|
||||
the UI was showing, but I’m still not certain their necessary. Here’s the trick,
|
||||
and the cause of a few hours-worth of confusion: restarting the Docker
|
||||
containers wasn’t re-reading the <code class="language-plaintext highlighter-rouge">.env</code> file; I had to completely stop and
|
||||
re-create them. It wasn’t until I ran <code class="language-plaintext highlighter-rouge">docker inspect funkwhale-docker_api_1</code>
|
||||
and noticed the environment variables weren’t set that I figured this out. Could
|
||||
be this is common knowledge for Docker-gurus; now I know. With the
|
||||
configuration in place, and the containers recreated, I was able to upload files
|
||||
through Funkwhale, and watch them be stored in my Linode bucket. My final
|
||||
configuration options were as follows:</p>
|
||||
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>AWS_ACCESS_KEY_ID=<stuff>
|
||||
AWS_SECRET_ACCESS_KEY=<secret stuff>
|
||||
AWS_STORAGE_BUCKET_NAME=funkwhale-music-bucket-name
|
||||
AWS_S3_ENDPOINT_URL=https://us-southeast-1.linodeobjects.com
|
||||
AWS_S3_REGION_NAME=us-southeast-1
|
||||
AWS_DEFAULT_ACL=public-read
|
||||
</code></pre></div></div>
|
||||
|
||||
<h2 id="next-steps">Next Steps</h2>
|
||||
|
||||
<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>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2022-09-27
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
324
2023/05/07/rclone-backups.html
Normal file
324
2023/05/07/rclone-backups.html
Normal file
|
@ -0,0 +1,324 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Automatic Backups with RClone</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/2023/05/07/rclone-backups.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
<h1 id="automatic-backups-with-rclone-systemd-and-backblaze">Automatic Backups with RClone, systemd, and Backblaze</h1>
|
||||
|
||||
<h2 id="quick-note">Quick Note</h2>
|
||||
|
||||
<p>Backups are not complicated. They may seem like it, but in reality the
|
||||
complications arise from restoration. If you’re not doing anything fancy with
|
||||
your data now, then don’t do anything fancy with your backups. Follow the 3-2-1
|
||||
methodology: 3 copies of (important) data, in 2 different locations, 1 of which
|
||||
is off-site. Many others have written about this in better detail than I ever
|
||||
can; Jeff Geerling has a great article and several videos about it <a href="https://www.jeffgeerling.com/blog/2021/my-backup-plan">on his
|
||||
site</a>. The time (and
|
||||
often money) investment now can reduce worry, stress, and loss should the data
|
||||
you care about ever become unusable.</p>
|
||||
|
||||
<p>(There are no affiliate links in this post, nor was I paid to recommend any
|
||||
product or service.)</p>
|
||||
|
||||
<h1 id="my-needs">My Needs</h1>
|
||||
|
||||
<p>Backups are as important as the data you have. If all you’ve got is a directory
|
||||
full of meme GIFs that you don’t mind losing, then backups may be a waste of
|
||||
time and money. I have recently taken to buying as much of my music as possible
|
||||
(especially through Bandcamp, and especially on Bandcamp Fridays!). While much
|
||||
of the music I buy does exist on a remote server at a company somewhere, the
|
||||
cost of having to re-download and re-organize all of it well outweighs the cost
|
||||
of proper backups. Not to mention the music which I can’t get anywhere else
|
||||
anymore. Nor to further mention the other data which I have. All of this is to
|
||||
say: backups are worth it to me.</p>
|
||||
|
||||
<p>Recently I wanted to setup NFS on my home network. I was concerned about messing
|
||||
something up, and erasing the directory I had intended to share, so I wanted to
|
||||
backup the data. For a while I’ve been intending to setup backups (as everyone
|
||||
probably does), but it was never a priority. This project helped to prioritze
|
||||
it. I had read about <a href="https://rclone.org/">RClone</a>, a command-line utility for
|
||||
interacting with an incredible number of cloud services. I messed around a bit
|
||||
with it, found it to my liking, and started shopping around for a cloud storage
|
||||
solution. Enter <a href="https://www.backblaze.com/">Backblaze</a>. The folks that publish
|
||||
all those hard-drive stats? Turns out they also run a business where they
|
||||
provide cloud storage. It’s inexpensive, reliable, and straight-forward. The
|
||||
last step was to automate it with systemd timer units.</p>
|
||||
|
||||
<h2 id="backblaze-setup">Backblaze Setup</h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.backblaze.com/">Backblaze Site</a></li>
|
||||
<li><a href="https://www.backblaze.com/help.html">Backblaze Docs</a></li>
|
||||
</ul>
|
||||
|
||||
<p>First step is to setup Backblaze. Create an account, verify email address, all
|
||||
that jazz. I’d recommend enabling multi-factor authentication on the
|
||||
<strong>Account</strong> -> <strong>My Settings</strong> page, under <strong>Security</strong>. Next, click on the
|
||||
<strong>Account</strong> -> <strong>Application Keys</strong> page, and generate a new key. Fill in the
|
||||
blanks (I gave my key full access to all buckets), copy the important bits, and
|
||||
store them somewhere safe (like your password vault).</p>
|
||||
|
||||
<h2 id="rclone-setup">RClone Setup</h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://rclone.org/">RClone Site</a></li>
|
||||
<li><a href="https://rclone.org/b2/">RClone Backblaze B2 Page</a></li>
|
||||
</ul>
|
||||
|
||||
<p>Download and install RClone. Next run <code class="language-plaintext highlighter-rouge">rclone config</code> and walk through the
|
||||
prompts. I’m using Backblaze, so I select “Backblaze B2” as my storage backend.
|
||||
Then I add the application key ID and application key secret (key) at the
|
||||
relevant prompts. For all of this configuration, I named the remote “backblaze”,
|
||||
though a shorter name can make commands easier. Regardless, verify the
|
||||
configuration is setup properly by running <code class="language-plaintext highlighter-rouge">rclone lsd backblaze:</code>, which will
|
||||
list buckets. Unless a bucket was already configured, nothing will show up, and
|
||||
also there won’t be any errors.</p>
|
||||
|
||||
<h2 id="backup-configuration">Backup Configuration</h2>
|
||||
|
||||
<p>Now, figure out how you want to backup your data. I have a <a href="/2020/06/14/setting-up-btrfs.html">BTRFS RAID setup
|
||||
with multiple sub-volumes</a>, each for a
|
||||
different data type: one for Books, one for Music, and so on. Since creating a
|
||||
bucket doesn’t cost anything, I decided to split my backups similarly. I created
|
||||
the buckets I wanted, and did a “manual” RClone sync of the data.</p>
|
||||
|
||||
<p><code class="language-plaintext highlighter-rouge">rclone sync --fast-list --transfers 20 /path/to/Books
|
||||
backblaze:bucket-for-Books-backups</code></p>
|
||||
|
||||
<p>The “–fast-list” and “–transfers” options are specified on the <a href="https://rclone.org/b2/">RClone
|
||||
Backblaze B2 page</a>, along with some others that may be
|
||||
of interest.</p>
|
||||
|
||||
<p>At this point, my data was “backed-up”, and I could muck about with it more
|
||||
confidently. Also, at this point, configuring back-ups is done. Run those RClone
|
||||
sync commands once a week, and all is set. I don’t want to remember to do
|
||||
things, though.</p>
|
||||
|
||||
<h2 id="automating-the-process">Automating the Process</h2>
|
||||
|
||||
<p>The first thing to do is create a user-agnostic location for the configuration
|
||||
file and some additional files. I chose <code class="language-plaintext highlighter-rouge">/etc/rclone</code>, and copied the RClone
|
||||
configuration file generated previously to this directory as <code class="language-plaintext highlighter-rouge">backblaze.conf</code>.</p>
|
||||
|
||||
<p>Next, I created a filter file. RClone has extensive <a href="https://rclone.org/filtering/">filtering
|
||||
options</a>. For my current needs, a single file
|
||||
will suffice.</p>
|
||||
|
||||
<h3 id="defaultfilter">default.filter</h3>
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># Exclude BTRFS snapshot directories
|
||||
- .snapshots/**
|
||||
# Exclude Syncthing configuration directories
|
||||
- .stfolder/**
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>systemd timer units ( [<a href="https://wiki.archlinux.org/title/Systemd/Timers">Arch
|
||||
Wiki</a>]
|
||||
[<a href="https://man.archlinux.org/man/systemd.timer.5">Manual</a>] ) are triggers that
|
||||
activate on a schedule. That schedule can be dynamic (relative to a
|
||||
previous/other trigger), or static (at 6:15 every day). A timer unit triggers a
|
||||
service unit, which does the work. For my backups, I decided to run a sync every
|
||||
hour, at sometime between the 15 and 45 minute mark of that hour. To simplify
|
||||
having multiple timer units that all do the same thing, I setup a template unit
|
||||
(see the <strong>Note</strong> here: <a href="https://wiki.archlinux.org/title/Systemd#Using_units">Arch
|
||||
Wiki</a>).</p>
|
||||
|
||||
<h3 id="rclone-backuptimer">rclone-backup@.timer</h3>
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[Unit]
|
||||
Description=RClone Backup Timer Template
|
||||
|
||||
[Timer]
|
||||
# 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 <code class="language-plaintext highlighter-rouge">enable</code> and <code class="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
|
||||
part of the bucket name.</p>
|
||||
|
||||
<h3 id="rclone-backupservice">rclone-backup@.service</h3>
|
||||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[Unit]
|
||||
Description=RClone Backup of %I
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/rclone sync -v --config "/etc/rclone/backblaze.conf" --fast-list --transfers 20 --filter-from "/etc/rclone/default.filter" /path/to/%i/ backblaze:bucket-for-%i-backups
|
||||
</code></pre></div></div>
|
||||
|
||||
<p>The <code class="language-plaintext highlighter-rouge">--config</code> option allows us to specify the configuration in the <code class="language-plaintext highlighter-rouge">/etc</code>
|
||||
directory. I include <code class="language-plaintext highlighter-rouge">-v</code> to have some additional output in the journal.
|
||||
Again, <code class="language-plaintext highlighter-rouge">--fast-list</code> and <code class="language-plaintext highlighter-rouge">--transfers</code> are used to speed up the process and keep
|
||||
costs lower. Then I <code class="language-plaintext highlighter-rouge">--filter-from</code> the “default.filter” file.</p>
|
||||
|
||||
<p>Place each of these files (<code class="language-plaintext highlighter-rouge">rclone-backup@.timer</code> and <code class="language-plaintext highlighter-rouge">rclone-backup@.service</code>)
|
||||
into <code class="language-plaintext highlighter-rouge">/etc/systemd/system</code>. For each directory, enable and start the timer
|
||||
unit; <code class="language-plaintext highlighter-rouge">systemctl enable rclone-backup@Example.timer</code> and <code class="language-plaintext highlighter-rouge">systemctl start
|
||||
rclone-backup@Example.timer</code> will backup <code class="language-plaintext highlighter-rouge">/path/to/Example/</code> to the
|
||||
<code class="language-plaintext highlighter-rouge">bucket-for-Example-backups</code> bucket.</p>
|
||||
|
||||
<h1 id="next-steps">Next Steps</h1>
|
||||
|
||||
<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>
|
||||
|
||||
<div class="author_info">
|
||||
Bill Niblock
|
||||
<a href="https://unlicense.org/"
|
||||
aria-label="Code dedicated to the public domain under Unlicense">
|
||||
<span class="fa fa-cc-pd" aria-hidden="true"
|
||||
title="Code dedicated to the public domain under Unlicense"</span>
|
||||
</a>
|
||||
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
aria-label="Published to the public domain under CC0">
|
||||
<span class="fa fa-cc-zero" aria-hidden="true"
|
||||
title="Content dedicated to the public domain under CC0"</span>
|
||||
</a>
|
||||
2023-05-07
|
||||
<br />
|
||||
[
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
]
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
139
404.html
Normal file
139
404.html
Normal file
|
@ -0,0 +1,139 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Page Not Found</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/404.html" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<h1 id="page-not-found">Page Not Found</h1>
|
||||
|
||||
<p>The content you requested could not be found. Click <a href="https://www.theinternetvagabond.com">here</a> to
|
||||
return to the homepage.</p>
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
34
README.md
Normal file
34
README.md
Normal file
|
@ -0,0 +1,34 @@
|
|||
# The Internet Vagabond dot com
|
||||
|
||||
My name is Bill Niblock. I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I currently live in
|
||||
Buffalo, New York.
|
||||
|
||||
This site is a small slice of internet real-estate that I use for occasional
|
||||
writing. Nothing I say is visionary or profound. I will tend to focus on
|
||||
technology, gaming, and philosophy. All opinions my own.
|
||||
|
||||
### To-Do
|
||||
* Implement Cactus Comments
|
||||
* Look into Web Mentions
|
||||
* Consider self-hosting
|
||||
|
||||
### Latest Technology Update :: 2021-12
|
||||
* Added "web analytic" gathering via GoatCounter
|
||||
* Cleaned up styles a bit, notably removing the use of header tags outside of
|
||||
post content.
|
||||
* Changed "license" of the code to the Unlicense, and all published content to
|
||||
CC0.
|
||||
|
||||
## Licenses / Copyrights/ Bureaucracy
|
||||
|
||||
All code is [Unlicensed](https://unlicense.org/), and all published content is
|
||||
[dedicated to the public
|
||||
domain](https://creativecommons.org/publicdomain/zero/1.0/), unless otherwise
|
||||
noted in the individual files:
|
||||
|
||||
* GoatCounter Javascript (/src/scripts/goatcounter.js) licensed under the
|
||||
[ISC](https://opensource.org/licenses/ISC)
|
||||
|
||||
You can contact me via email at [bill at theinternetvagabond dot
|
||||
com](mailto:bill@theinternetvagabond.com)
|
24
UNLICENSE
Normal file
24
UNLICENSE
Normal file
|
@ -0,0 +1,24 @@
|
|||
This is free and unencumbered software released into the public domain.
|
||||
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
distribute this software, either in source code form or as a compiled
|
||||
binary, for any purpose, commercial or non-commercial, and by any
|
||||
means.
|
||||
|
||||
In jurisdictions that recognize copyright laws, the author or authors
|
||||
of this software dedicate any and all copyright interest in the
|
||||
software to the public domain. We make this dedication for the benefit
|
||||
of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of
|
||||
relinquishment in perpetuity of all present and future rights to this
|
||||
software under copyright law.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more information, please refer to <http://unlicense.org/>
|
194
index.html
Normal file
194
index.html
Normal file
|
@ -0,0 +1,194 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Home</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
|
||||
<h1><a href="/2023/05/07/rclone-backups.html">Automatic Backups with RClone, systemd, and Backblaze</a></h1>
|
||||
<div id="details">
|
||||
<div id="date">2023-05-07</div>
|
||||
<div id="tags">
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">RClone is a command-line utility for interacting with an incredible number of cloud services. Backblaze is a reliable and inexpensive cloud storage provider. With systemd timer units, I setup a simple and reliable backup solution.</div>
|
||||
|
||||
<h1><a href="/2022/09/27/linode_funkwhale.html">Funkwhale on Linode with Object Storage</a></h1>
|
||||
<div id="details">
|
||||
<div id="date">2022-09-27</div>
|
||||
<div id="tags">
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Funkwhale is a cool project, building a federated music platform. I wanted to explore Funkwhale's ability to store music and associated files in object storage, and since I already use Linode for my VPS, leveraging their object storage offering makes a lot of sense.</div>
|
||||
|
||||
<h1><a href="/2022/07/04/steam_deck_syncthing.html">Setting up Syncthing on the Steam Deck (Updated!)</a></h1>
|
||||
<div id="details">
|
||||
<div id="date">2022-07-12</div>
|
||||
<div id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Syncthing is an incredible tool that I use to keep pictures, music, notes, and games synchronized across multiple platforms. The form factor of the Steam Deck makes it a perfect emulation target, and Syncthing can help keep games and saves in-sync with other machines.</div>
|
||||
|
||||
<h1><a href="/2021/12/09/oblivion-linux-2.html">Oblivion on Linux, with Mods! Part 2 - Mods</a></h1>
|
||||
<div id="details">
|
||||
<div id="date">2021-12-09</div>
|
||||
<div id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The Elder Scrolls IV: Oblivion still has one of the more active modding communities. In this, part 2 of my journey to get Oblivion modded and running on Linux, I'll cover some of my favorite mods.</div>
|
||||
|
||||
<h1><a href="/2021/11/20/oblivion-linux.html">Oblivion on Linux, with Mods! Part 1 - Tools</a></h1>
|
||||
<div id="details">
|
||||
<div id="date">2021-11-28</div>
|
||||
<div id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The Elder Scrolls IV: Oblivion is one of my favorite games of all time. The vanilla game holds up, but mods take the game to an entirely new level. Getting it working on Linux requires a bit of configuration, bit is surprisingly accessible! This is part 1 of my journey.</div>
|
||||
|
||||
<h6><a href="/topics/all">All Posts</a></h6>
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
BIN
src/campaigns/crater_of_igrevor.cmpgn
Normal file
BIN
src/campaigns/crater_of_igrevor.cmpgn
Normal file
Binary file not shown.
BIN
src/images/favicon.ico
Normal file
BIN
src/images/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 318 B |
269
src/scripts/goatcounter.js
Normal file
269
src/scripts/goatcounter.js
Normal file
|
@ -0,0 +1,269 @@
|
|||
// GoatCounter: https://www.goatcounter.com
|
||||
// This file (and *only* this file) is released under the ISC license:
|
||||
// https://opensource.org/licenses/ISC
|
||||
;(function() {
|
||||
'use strict';
|
||||
|
||||
if (window.goatcounter && window.goatcounter.vars) // Compatibility with very old version; do not use.
|
||||
window.goatcounter = window.goatcounter.vars
|
||||
else
|
||||
window.goatcounter = window.goatcounter || {}
|
||||
|
||||
// Load settings from data-goatcounter-settings.
|
||||
var s = document.querySelector('script[data-goatcounter]')
|
||||
if (s && s.dataset.goatcounterSettings) {
|
||||
try { var set = JSON.parse(s.dataset.goatcounterSettings) }
|
||||
catch (err) { console.error('invalid JSON in data-goatcounter-settings: ' + err) }
|
||||
for (var k in set)
|
||||
if (['no_onload', 'no_events', 'allow_local', 'allow_frame', 'path', 'title', 'referrer', 'event'].indexOf(k) > -1)
|
||||
window.goatcounter[k] = set[k]
|
||||
}
|
||||
|
||||
var enc = encodeURIComponent
|
||||
|
||||
// Get all data we're going to send off to the counter endpoint.
|
||||
var get_data = function(vars) {
|
||||
var data = {
|
||||
p: (vars.path === undefined ? goatcounter.path : vars.path),
|
||||
r: (vars.referrer === undefined ? goatcounter.referrer : vars.referrer),
|
||||
t: (vars.title === undefined ? goatcounter.title : vars.title),
|
||||
e: !!(vars.event || goatcounter.event),
|
||||
s: [window.screen.width, window.screen.height, (window.devicePixelRatio || 1)],
|
||||
b: is_bot(),
|
||||
q: location.search,
|
||||
}
|
||||
|
||||
var rcb, pcb, tcb // Save callbacks to apply later.
|
||||
if (typeof(data.r) === 'function') rcb = data.r
|
||||
if (typeof(data.t) === 'function') tcb = data.t
|
||||
if (typeof(data.p) === 'function') pcb = data.p
|
||||
|
||||
if (is_empty(data.r)) data.r = document.referrer
|
||||
if (is_empty(data.t)) data.t = document.title
|
||||
if (is_empty(data.p)) data.p = get_path()
|
||||
|
||||
if (rcb) data.r = rcb(data.r)
|
||||
if (tcb) data.t = tcb(data.t)
|
||||
if (pcb) data.p = pcb(data.p)
|
||||
return data
|
||||
}
|
||||
|
||||
// Check if a value is "empty" for the purpose of get_data().
|
||||
var is_empty = function(v) { return v === null || v === undefined || typeof(v) === 'function' }
|
||||
|
||||
// See if this looks like a bot; there is some additional filtering on the
|
||||
// backend, but these properties can't be fetched from there.
|
||||
var is_bot = function() {
|
||||
// Headless browsers are probably a bot.
|
||||
var w = window, d = document
|
||||
if (w.callPhantom || w._phantom || w.phantom)
|
||||
return 150
|
||||
if (w.__nightmare)
|
||||
return 151
|
||||
if (d.__selenium_unwrapped || d.__webdriver_evaluate || d.__driver_evaluate)
|
||||
return 152
|
||||
if (navigator.webdriver)
|
||||
return 153
|
||||
return 0
|
||||
}
|
||||
|
||||
// Object to urlencoded string, starting with a ?.
|
||||
var urlencode = function(obj) {
|
||||
var p = []
|
||||
for (var k in obj)
|
||||
if (obj[k] !== '' && obj[k] !== null && obj[k] !== undefined && obj[k] !== false)
|
||||
p.push(enc(k) + '=' + enc(obj[k]))
|
||||
return '?' + p.join('&')
|
||||
}
|
||||
|
||||
// Show a warning in the console.
|
||||
var warn = function(msg) {
|
||||
if (console && 'warn' in console)
|
||||
console.warn('goatcounter: ' + msg)
|
||||
}
|
||||
|
||||
// Get the endpoint to send requests to.
|
||||
var get_endpoint = function() {
|
||||
var s = document.querySelector('script[data-goatcounter]')
|
||||
if (s && s.dataset.goatcounter)
|
||||
return s.dataset.goatcounter
|
||||
return (goatcounter.endpoint || window.counter) // counter is for compat; don't use.
|
||||
}
|
||||
|
||||
// Get current path.
|
||||
var get_path = function() {
|
||||
var loc = location,
|
||||
c = document.querySelector('link[rel="canonical"][href]')
|
||||
if (c) { // May be relative or point to different domain.
|
||||
var a = document.createElement('a')
|
||||
a.href = c.href
|
||||
if (a.hostname.replace(/^www\./, '') === location.hostname.replace(/^www\./, ''))
|
||||
loc = a
|
||||
}
|
||||
return (loc.pathname + loc.search) || '/'
|
||||
}
|
||||
|
||||
// Run function after DOM is loaded.
|
||||
var on_load = function(f) {
|
||||
if (document.body === null)
|
||||
document.addEventListener('DOMContentLoaded', function() { f() }, false)
|
||||
else
|
||||
f()
|
||||
}
|
||||
|
||||
// Filter some requests that we (probably) don't want to count.
|
||||
goatcounter.filter = function() {
|
||||
if ('visibilityState' in document && document.visibilityState === 'prerender')
|
||||
return 'visibilityState'
|
||||
if (!goatcounter.allow_frame && location !== parent.location)
|
||||
return 'frame'
|
||||
if (!goatcounter.allow_local && location.hostname.match(/(localhost$|^127\.|^10\.|^172\.(1[6-9]|2[0-9]|3[0-1])\.|^192\.168\.|^0\.0\.0\.0$)/))
|
||||
return 'localhost'
|
||||
if (!goatcounter.allow_local && location.protocol === 'file:')
|
||||
return 'localfile'
|
||||
if (localStorage && localStorage.getItem('skipgc') === 't')
|
||||
return 'disabled with #toggle-goatcounter'
|
||||
return false
|
||||
}
|
||||
|
||||
// Get URL to send to GoatCounter.
|
||||
window.goatcounter.url = function(vars) {
|
||||
var data = get_data(vars || {})
|
||||
if (data.p === null) // null from user callback.
|
||||
return
|
||||
data.rnd = Math.random().toString(36).substr(2, 5) // Browsers don't always listen to Cache-Control.
|
||||
|
||||
var endpoint = get_endpoint()
|
||||
if (!endpoint)
|
||||
return warn('no endpoint found')
|
||||
|
||||
return endpoint + urlencode(data)
|
||||
}
|
||||
|
||||
// Count a hit.
|
||||
window.goatcounter.count = function(vars) {
|
||||
var f = goatcounter.filter()
|
||||
if (f)
|
||||
return warn('not counting because of: ' + f)
|
||||
|
||||
var url = goatcounter.url(vars)
|
||||
if (!url)
|
||||
return warn('not counting because path callback returned null')
|
||||
|
||||
var img = document.createElement('img')
|
||||
img.src = url
|
||||
img.style.position = 'absolute' // Affect layout less.
|
||||
img.style.bottom = '0px'
|
||||
img.style.width = '1px'
|
||||
img.style.height = '1px'
|
||||
img.loading = 'eager'
|
||||
img.setAttribute('alt', '')
|
||||
img.setAttribute('aria-hidden', 'true')
|
||||
|
||||
var rm = function() { if (img && img.parentNode) img.parentNode.removeChild(img) }
|
||||
img.addEventListener('load', rm, false)
|
||||
document.body.appendChild(img)
|
||||
}
|
||||
|
||||
// Get a query parameter.
|
||||
window.goatcounter.get_query = function(name) {
|
||||
var s = location.search.substr(1).split('&')
|
||||
for (var i = 0; i < s.length; i++)
|
||||
if (s[i].toLowerCase().indexOf(name.toLowerCase() + '=') === 0)
|
||||
return s[i].substr(name.length + 1)
|
||||
}
|
||||
|
||||
// Track click events.
|
||||
window.goatcounter.bind_events = function() {
|
||||
if (!document.querySelectorAll) // Just in case someone uses an ancient browser.
|
||||
return
|
||||
|
||||
var send = function(elem) {
|
||||
return function() {
|
||||
goatcounter.count({
|
||||
event: true,
|
||||
path: (elem.dataset.goatcounterClick || elem.name || elem.id || ''),
|
||||
title: (elem.dataset.goatcounterTitle || elem.title || (elem.innerHTML || '').substr(0, 200) || ''),
|
||||
referrer: (elem.dataset.goatcounterReferrer || elem.dataset.goatcounterReferral || ''),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Array.prototype.slice.call(document.querySelectorAll("*[data-goatcounter-click]")).forEach(function(elem) {
|
||||
if (elem.dataset.goatcounterBound)
|
||||
return
|
||||
var f = send(elem)
|
||||
elem.addEventListener('click', f, false)
|
||||
elem.addEventListener('auxclick', f, false) // Middle click.
|
||||
elem.dataset.goatcounterBound = 'true'
|
||||
})
|
||||
}
|
||||
|
||||
// Add a "visitor counter" frame or image.
|
||||
window.goatcounter.visit_count = function(opt) {
|
||||
on_load(function() {
|
||||
opt = opt || {}
|
||||
opt.type = opt.type || 'html'
|
||||
opt.append = opt.append || 'body'
|
||||
opt.path = opt.path || get_path()
|
||||
opt.attr = opt.attr || {width: '200', height: (opt.no_branding ? '60' : '80')}
|
||||
|
||||
opt.attr['src'] = get_endpoint() + 'er/' + enc(opt.path) + '.' + enc(opt.type) + '?'
|
||||
if (opt.no_branding) opt.attr['src'] += '&no_branding=1'
|
||||
if (opt.style) opt.attr['src'] += '&style=' + enc(opt.style)
|
||||
if (opt.start) opt.attr['src'] += '&start=' + enc(opt.start)
|
||||
if (opt.end) opt.attr['src'] += '&end=' + enc(opt.end)
|
||||
|
||||
var tag = {png: 'img', svg: 'img', html: 'iframe'}[opt.type]
|
||||
if (!tag)
|
||||
return warn('visit_count: unknown type: ' + opt.type)
|
||||
|
||||
if (opt.type === 'html') {
|
||||
opt.attr['frameborder'] = '0'
|
||||
opt.attr['scrolling'] = 'no'
|
||||
}
|
||||
|
||||
var d = document.createElement(tag)
|
||||
for (var k in opt.attr)
|
||||
d.setAttribute(k, opt.attr[k])
|
||||
|
||||
var p = document.querySelector(opt.append)
|
||||
if (!p)
|
||||
return warn('visit_count: append not found: ' + opt.append)
|
||||
p.appendChild(d)
|
||||
})
|
||||
}
|
||||
|
||||
// Make it easy to skip your own views.
|
||||
if (location.hash === '#toggle-goatcounter') {
|
||||
if (localStorage.getItem('skipgc') === 't') {
|
||||
localStorage.removeItem('skipgc', 't')
|
||||
alert('GoatCounter tracking is now ENABLED in this browser.')
|
||||
}
|
||||
else {
|
||||
localStorage.setItem('skipgc', 't')
|
||||
alert('GoatCounter tracking is now DISABLED in this browser until ' + location + ' is loaded again.')
|
||||
}
|
||||
}
|
||||
|
||||
if (!goatcounter.no_onload)
|
||||
on_load(function() {
|
||||
// 1. Page is visible, count request.
|
||||
// 2. Page is not yet visible; wait until it switches to 'visible' and count.
|
||||
// See #487
|
||||
if (!('visibilityState' in document) || document.visibilityState === 'visible')
|
||||
goatcounter.count()
|
||||
else {
|
||||
var f = function(e) {
|
||||
if (document.visibilityState !== 'visible')
|
||||
return
|
||||
document.removeEventListener('visibilitychange', f)
|
||||
goatcounter.count()
|
||||
}
|
||||
document.addEventListener('visibilitychange', f)
|
||||
}
|
||||
|
||||
if (!goatcounter.no_events)
|
||||
goatcounter.bind_events()
|
||||
})
|
||||
})();
|
148
src/styles/corrupt_layout.css
Normal file
148
src/styles/corrupt_layout.css
Normal file
|
@ -0,0 +1,148 @@
|
|||
html {
|
||||
/* Change this value to any color you want */
|
||||
--hilite: #8D3FC5;
|
||||
}
|
||||
body {
|
||||
background-color: #3B3B3B;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
header {
|
||||
background-color: #202020;
|
||||
border-bottom: 1px solid var(--hilite);
|
||||
box-shadow: 0px 5px 30px -5px var(--hilite);
|
||||
}
|
||||
header a {
|
||||
display: flex;
|
||||
flex-flow: row nowrap;
|
||||
align-content: space-between;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
}
|
||||
header .wrapper {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
footer {
|
||||
background-color: #202020;
|
||||
border-top: 1px solid var(--hilite);
|
||||
box-shadow: 0px -5px 30px -5px var(--hilite);
|
||||
}
|
||||
nav {
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: space-around;
|
||||
}
|
||||
footer hr {
|
||||
margin: 20px 5em;
|
||||
}
|
||||
|
||||
main {
|
||||
max-width: 100%;
|
||||
}
|
||||
main #details {
|
||||
display: flex; flex-flow: row wrap;
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
border-top: 1px solid darkgrey;
|
||||
font: 0.8em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.4em;
|
||||
}
|
||||
main #date {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
color: grey;
|
||||
}
|
||||
main #tags {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
color: grey;
|
||||
}
|
||||
main #desc {
|
||||
padding: 0em 2em 2em 2em;
|
||||
color: white;
|
||||
}
|
||||
main pre.highlight {
|
||||
overflow-x: auto;
|
||||
color: white;
|
||||
background-color: #2B2B2B;
|
||||
margin: 0em 4em;
|
||||
padding: 1em;
|
||||
border-top: 2px solid black;
|
||||
border-left: 2px solid black;
|
||||
border-bottom: 2px solid var(--hilite);
|
||||
border-right: 2px solid var(--hilite);
|
||||
}
|
||||
main ul {
|
||||
padding: 0em 4em;
|
||||
}
|
||||
|
||||
@supports (display: grid) {
|
||||
.cor_page {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(7, 1fr);
|
||||
grid-template-rows: 50px max-content;
|
||||
grid-template-areas:
|
||||
"head head head head head head head"
|
||||
"body body body body body body body"
|
||||
"foot foot foot foot foot foot foot";
|
||||
}
|
||||
|
||||
header {
|
||||
grid-area: head;
|
||||
}
|
||||
|
||||
footer {
|
||||
grid-area: foot;
|
||||
}
|
||||
|
||||
main {
|
||||
grid-area: body;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 1250px) {
|
||||
.cor_page {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(9, minmax(0,1fr));
|
||||
grid-template-rows: 50px max-content;
|
||||
grid-template-areas:
|
||||
"head head head head head head head foot foot"
|
||||
"body body body body body body body foot foot";
|
||||
}
|
||||
|
||||
header a {
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
footer {
|
||||
border-top: 0px;
|
||||
box-shadow: unset;
|
||||
min-height: 100vh;
|
||||
}
|
||||
nav {
|
||||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
justify-content: flex-end;
|
||||
align-items: flex-end;
|
||||
padding: 50px 0px 0px 0px;
|
||||
}
|
||||
|
||||
main {
|
||||
margin: 0 5em;
|
||||
}
|
||||
main #date {
|
||||
width: 50%;
|
||||
text-align: left;
|
||||
color: grey;
|
||||
}
|
||||
main #tags {
|
||||
width: 50%;
|
||||
text-align: right;
|
||||
color: grey;
|
||||
}
|
||||
}
|
||||
}
|
113
src/styles/corrupt_typog.css
Normal file
113
src/styles/corrupt_typog.css
Normal file
|
@ -0,0 +1,113 @@
|
|||
html {
|
||||
font-family: sans-serif;
|
||||
/* Change this value to any color you want */
|
||||
--hilite: #8D3FC5;
|
||||
}
|
||||
ul,ol,p {
|
||||
color: white;
|
||||
}
|
||||
a,a:visited,a:link,a:focus {
|
||||
text-decoration: none;
|
||||
color: darkgrey;
|
||||
transition: color 0.5s;
|
||||
}
|
||||
a:hover {
|
||||
color: white;
|
||||
transition: color 0.5s;
|
||||
}
|
||||
nav a:hover {
|
||||
color: var(--hilite);
|
||||
transition: color 0.5s;
|
||||
}
|
||||
header div {
|
||||
color: darkgrey; letter-spacing: 0.8em;
|
||||
}
|
||||
header span {
|
||||
color: white;
|
||||
letter-spacing: 0.9em;
|
||||
transition: color 2s;
|
||||
}
|
||||
header a:hover > div > span {
|
||||
color: var(--hilite);
|
||||
transition: color 1s;
|
||||
}
|
||||
article p {
|
||||
padding: 0em 2em;
|
||||
}
|
||||
article p code {
|
||||
font: 1.05em monospace;
|
||||
color: #ededed;
|
||||
background-color: #2B2B2B;
|
||||
padding: 0em 0.25em;
|
||||
}
|
||||
article .author_info {
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
border-top: 1px solid darkgrey;
|
||||
font: 0.8em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.4em;
|
||||
}
|
||||
nav {
|
||||
font: 1.0em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.6em; line-height: 2.0em;
|
||||
}
|
||||
nav div {
|
||||
text-align: right;
|
||||
padding: 10px;
|
||||
font: 1.0em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.6em;
|
||||
margin-top: 0; margin-bottom: 0;
|
||||
}
|
||||
footer p {
|
||||
line-height: 1.5em; letter-spacing: 0.1em; text-align: left; color: white;
|
||||
padding: 0em 1em;
|
||||
}
|
||||
footer div {
|
||||
text-align: right;
|
||||
padding: 10px;
|
||||
font: 1.0em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.6em;
|
||||
margin-top: 0; margin-bottom: 0;
|
||||
}
|
||||
h1 {
|
||||
padding: 10px;
|
||||
font: 1.2em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.25em;
|
||||
}
|
||||
h1::first-letter {
|
||||
font: 1.2em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: white;
|
||||
}
|
||||
h2 {
|
||||
text-align: left;
|
||||
padding: 10px;
|
||||
font: 1.0em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.6em;
|
||||
}
|
||||
h3 {
|
||||
text-align: left;
|
||||
padding: 10px;
|
||||
margin-left: 10px;
|
||||
font: 0.85em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.5em;
|
||||
}
|
||||
h4 {
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
border-top: 1px solid darkgrey;
|
||||
font: 0.8em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.4em;
|
||||
}
|
||||
h5 {
|
||||
text-align: right;
|
||||
padding: 10px;
|
||||
font: 1.0em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.6em;
|
||||
margin-top: 0; margin-bottom: 0;
|
||||
}
|
||||
h6 {
|
||||
padding: 10px;
|
||||
font: 1.2em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||
color: darkgrey; letter-spacing: 0.5em; text-align: center;
|
||||
border: 1px solid darkgrey;
|
||||
}
|
508
topics/all.html
Normal file
508
topics/all.html
Normal file
|
@ -0,0 +1,508 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: All Posts</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/topics/all" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
|
||||
<h1><a href="/2023/05/07/rclone-backups.html">Automatic Backups with RClone, systemd, and Backblaze</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2023-05-07</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology.html">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">RClone is a command-line utility for interacting with an incredible number of cloud services. Backblaze is a reliable and inexpensive cloud storage provider. With systemd timer units, I setup a simple and reliable backup solution.</div>
|
||||
|
||||
<h1><a href="/2022/09/27/linode_funkwhale.html">Funkwhale on Linode with Object Storage</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2022-09-27</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology.html">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Funkwhale is a cool project, building a federated music platform. I wanted to explore Funkwhale's ability to store music and associated files in object storage, and since I already use Linode for my VPS, leveraging their object storage offering makes a lot of sense.</div>
|
||||
|
||||
<h1><a href="/2022/07/04/steam_deck_syncthing.html">Setting up Syncthing on the Steam Deck (Updated!)</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2022-07-12</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
<a href="/topics/technology.html">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Syncthing is an incredible tool that I use to keep pictures, music, notes, and games synchronized across multiple platforms. The form factor of the Steam Deck makes it a perfect emulation target, and Syncthing can help keep games and saves in-sync with other machines.</div>
|
||||
|
||||
<h1><a href="/2021/12/09/oblivion-linux-2.html">Oblivion on Linux, with Mods! Part 2 - Mods</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2021-12-09</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The Elder Scrolls IV: Oblivion still has one of the more active modding communities. In this, part 2 of my journey to get Oblivion modded and running on Linux, I'll cover some of my favorite mods.</div>
|
||||
|
||||
<h1><a href="/2021/11/20/oblivion-linux.html">Oblivion on Linux, with Mods! Part 1 - Tools</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2021-11-28</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The Elder Scrolls IV: Oblivion is one of my favorite games of all time. The vanilla game holds up, but mods take the game to an entirely new level. Getting it working on Linux requires a bit of configuration, bit is surprisingly accessible! This is part 1 of my journey.</div>
|
||||
|
||||
<h1><a href="/2020/10/23/gnome-cleric-wizard.html">Character Write-up: Dabbledop Humblebumple</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-10-23</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
<a href="/topics/writing.html">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The backstory of a Gnome cleric/wizard I played for a single session!</div>
|
||||
|
||||
<h1><a href="/2020/09/27/pathfinder-eldritch-knight.html">Pathfinder Characters: Eldritch Knight</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-09-27</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The Eldritch Knight represents my favorite archetype of a fantasy character: sword and sorcery. Here's how I build mine.</div>
|
||||
|
||||
<h1><a href="/2020/09/06/pathfinder-druid.html">Pathfinder Characters: Let's Make a Druid</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-09-05</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">One of my favorite activities is creating characters. I love theory crafting, pouring through source material, and setting limits. While I've made many, many characters, one class I haven't touched is druid.</div>
|
||||
|
||||
<h1><a href="/2020/07/19/syncthing-part-1.html">Brief Exploration of Syncthing</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-07-19</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology.html">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Syncthing is an incredible tool. In this post, I want to explore setting it up, and then some uses I've found for it.</div>
|
||||
|
||||
<h1><a href="/2020/07/10/crater-of-igrevor.html">Pathfinder One-Shot: The Crater of Igrevor</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-07-10</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The first of several one-shot adventures I ran for Pathfinder</div>
|
||||
|
||||
<h1><a href="/2020/06/19/jhoric_background.html">Character Write-up: Jhoric Stonehammer</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-19</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
<a href="/topics/writing.html">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The backstory of my proud cleric of Moradin, Jhoric Stonehammer.</div>
|
||||
|
||||
<h1><a href="/2020/06/18/gabriella_s-fall.html">Character Story: Gabriella's Fall</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-18</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
<a href="/topics/writing.html">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">A story I wrote about the consequences of the actions of Gabriella, a paladin in D&D5e</div>
|
||||
|
||||
<h1><a href="/2020/06/14/setting-up-btrfs.html">Using BTRFS to setup a simple RAID, with subvolumes, snapshots and backups</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-14</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology.html">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">BTRFS is a file system, and includes built-in functionality for RAID. I decided to use it for the storage disks in my desktop. Here is how I set it up, using subvolumes, with snapshots and backups.</div>
|
||||
|
||||
<h1><a href="/2020/06/03/post.html">It has been a while.</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-03</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/writing.html">writing</a>
|
||||
|
||||
<a href="/topics/other.html">other</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">It has been a while. Here's an update, of sorts.</div>
|
||||
|
||||
<h1><a href="/2018/02/11/letter-to-lucilius-6.html">Seneca's Letter to Lucilius, Letter 6: On Sharing Knowledge</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-02-11</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Knowledge withheld is only partial. Sharing knowledge, and experiencing it, fosters improvement!</div>
|
||||
|
||||
<h1><a href="/2018/02/11/letter-to-lucilius-5.html">Seneca's Letter to Lucilius, Letter 5: On the Philosopher's Mean</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-02-11</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">In this letter, Seneca explores the concept of All Things in Moderation, but with a Stoic twist!</div>
|
||||
|
||||
<h1><a href="/2018/01/28/letter-to-lucilius-4.html">Seneca's Letter to Lucilius, Letter 4: On the Terrors of Death</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-20</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Letter 4 was the first letter I ever read. Seneca discusses death, life, and how to deal with both. I found it during a time of great anxiety and strife, yet even now I find it enlightening.</div>
|
||||
|
||||
<h1><a href="/2018/01/28/letter-to-lucilius-3.html">Seneca's Letter to Lucilius, Letter 3: On True and False Friendship</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-20</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Letter 3 deals with friends, and I don't mean the number shown on Facebook. True Friendship, to Seneca, is a place of honor!</div>
|
||||
|
||||
<h1><a href="/2018/01/28/letter-to-lucilius-11.html">Seneca's Letter to Lucilius, Letter 11: On the Blush of Modesty</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-28</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Letter 11 deals with accepting our faults, staring an unexpected quote from Epicurus.</div>
|
||||
|
||||
<h1><a href="/2018/01/27/halvar.html">Character Write-up: Halvar, Rune Bearer</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-27</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
<a href="/topics/writing.html">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The backstory for my first character in a new 5th Edition Dungeons and Dragons campaign. Meet Halvar, a brash young warrior looking for glory!</div>
|
||||
|
||||
<h1><a href="/2018/01/15/letter-to-lucilius-2.html">Seneca's Letter to Lucilius, Letter 2: On Discursiveness in Reading</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-15</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Seneca's second letter to Lucilius, On Discursiveness in Reading, covers the importance of focus. There's also a quote by Epicurus, which is apparently a feature of many of his letters to Lucilius.</div>
|
||||
|
||||
<h1><a href="/2018/01/15/letter-to-lucilius-1.html">Seneca's Letter to Lucilius, Letter 1: On Time</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-15</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Seneca's Moral Letters to Lucilius are regarded as one of the most prominent Stoic writings available. My friend Rob and I like to discuss them during a weekly meeting, and I'd like to record my response and thoughts as well. Here's letter 1, On Time</div>
|
||||
|
||||
<h1><a href="/2018/01/15/Letters-To-Lucilius.html">Seneca's Moral Letters to Lucilius</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-15</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">My friend Rob and I have recently been disucssing Seneca's Moral Letters to Lucilius. As a companion to those discussions, I'm documenting my responses to each letter.</div>
|
||||
|
||||
<h1><a href="/2018/01/11/Character-Azulien.html">Character Backstory: Azulien Blackblade</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-12</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
<a href="/topics/writing.html">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Here's the character backstory for one of my older characters from a game long since forgotten: Azulien Blackblade. Enjoy!</div>
|
||||
|
||||
<h1><a href="/2016/03/11/Random-Thoughts-1.html">Random Thoughts 1</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2016-03-11</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology.html">technology</a>
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">I'm on vacation this week, which is pretty grand. Thus far I've accomplished one of the 4 rather meager goals I set for myself, played plenty of games, caught up on some reading and videos and feeds, and slept in far later than I should have.</div>
|
||||
|
||||
<h1><a href="/2016/01/30/Revelations-Stoic-Understanding.html">Developing Stoic Understanding</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2016-01-30</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Sherman J. Clark wrote a fantastic article on the Stoicism Today blog in December which really spoke to me. It approached some of the questions and problems I've had with Stoicism in an elegant and enlightening way, which has led to my significantly greater understanding of Stoicism.</div>
|
||||
|
||||
<h1><a href="/2015/11/10/TLS-Part-2.html">An Examination of TLS, Part 2</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-11-10</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology.html">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">TLS, more often referred to as SSL, is the means by which a secure connection is established over a computer network. Part 1 examines how to establish a secure connection using TLS. This article examines further the techniques and technology that makes TLS secure. Specifically, a brief examination of certificates, cipher suites, and public-key authentication.</div>
|
||||
|
||||
<h1><a href="/2015/07/09/A-Friends-Father.html">A Good Friend's Father</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-07-09</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
<a href="/topics/other.html">other</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">A good friend's father died. What can I learn from this?</div>
|
||||
|
||||
<h1><a href="/2015/05/06/TLS-Part-1.html">An Examination of TLS, Part 1</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-05-06</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology.html">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">TLS, more often referred to as SSL, is a means by which a secure connection is established over a computer network. In this introductionary post, I layout the steps to establishing a secure connection.</div>
|
||||
|
||||
<h1><a href="/2015/05/04/Philosophy-of-Bill-1.html">The Philosophy of Bill, Abbreviated</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-05-04</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy.html">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">I consider myself a very philosophical person. That doesn't mean I'm any good at philosophy, I just tend to think a lot about ethics, morality, and happiness. Recently I've been thinking more about my worldview, what I value as important, and how I achieve happiness in my daily life. I wanted to jot down what I feel is a brief examination of my basic tenants; the basic Philosophy of Bill.</div>
|
||||
|
||||
<h1><a href="/2015/04/28/Farewell-to-Windows-Tour.html">Farewell to Windows Tour 2015</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-04-28</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming.html">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">It has come time to bid Windows farewell. Once upon a time Windows was the only digital world I knew. It began when I was young, during the venerable 3.1 era. I remember booting up our family computer into DOS, and before starting Windows I could start Doom 2 or Keen's Dream, or any number of other games. That was my first interaction with a command line. My, my, how times have changed.</div>
|
||||
|
||||
<h1><a href="/2015/01/01/Ireland-Log.html">A Log of My Travels in Ireland</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-01-01</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/other.html">other</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Once upon a time, I traveled to Ireland. It was quite the experience. Me, my 3 friends Suf, Chris and Cary, Scion, shenanigans, Guiness, whiskey, and Thunderstruck.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
359
topics/gaming.html
Normal file
359
topics/gaming.html
Normal file
|
@ -0,0 +1,359 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Gaming Posts</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/topics/gaming" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<h6>Gaming Posts</h6>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2022/07/04/steam_deck_syncthing.html">Setting up Syncthing on the Steam Deck (Updated!)</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2022-07-12</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Syncthing is an incredible tool that I use to keep pictures, music, notes, and games synchronized across multiple platforms. The form factor of the Steam Deck makes it a perfect emulation target, and Syncthing can help keep games and saves in-sync with other machines.</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2021/12/09/oblivion-linux-2.html">Oblivion on Linux, with Mods! Part 2 - Mods</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2021-12-09</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The Elder Scrolls IV: Oblivion still has one of the more active modding communities. In this, part 2 of my journey to get Oblivion modded and running on Linux, I'll cover some of my favorite mods.</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2021/11/20/oblivion-linux.html">Oblivion on Linux, with Mods! Part 1 - Tools</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2021-11-28</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The Elder Scrolls IV: Oblivion is one of my favorite games of all time. The vanilla game holds up, but mods take the game to an entirely new level. Getting it working on Linux requires a bit of configuration, bit is surprisingly accessible! This is part 1 of my journey.</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/10/23/gnome-cleric-wizard.html">Character Write-up: Dabbledop Humblebumple</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-10-23</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The backstory of a Gnome cleric/wizard I played for a single session!</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/09/27/pathfinder-eldritch-knight.html">Pathfinder Characters: Eldritch Knight</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-09-27</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The Eldritch Knight represents my favorite archetype of a fantasy character: sword and sorcery. Here's how I build mine.</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/09/06/pathfinder-druid.html">Pathfinder Characters: Let's Make a Druid</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-09-05</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">One of my favorite activities is creating characters. I love theory crafting, pouring through source material, and setting limits. While I've made many, many characters, one class I haven't touched is druid.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/07/10/crater-of-igrevor.html">Pathfinder One-Shot: The Crater of Igrevor</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-07-10</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The first of several one-shot adventures I ran for Pathfinder</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/06/19/jhoric_background.html">Character Write-up: Jhoric Stonehammer</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-19</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The backstory of my proud cleric of Moradin, Jhoric Stonehammer.</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/06/18/gabriella_s-fall.html">Character Story: Gabriella's Fall</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-18</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">A story I wrote about the consequences of the actions of Gabriella, a paladin in D&D5e</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/01/27/halvar.html">Character Write-up: Halvar, Rune Bearer</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-27</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The backstory for my first character in a new 5th Edition Dungeons and Dragons campaign. Meet Halvar, a brash young warrior looking for glory!</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/01/11/Character-Azulien.html">Character Backstory: Azulien Blackblade</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-12</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Here's the character backstory for one of my older characters from a game long since forgotten: Azulien Blackblade. Enjoy!</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2016/03/11/Random-Thoughts-1.html">Random Thoughts 1</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2016-03-11</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">I'm on vacation this week, which is pretty grand. Thus far I've accomplished one of the 4 rather meager goals I set for myself, played plenty of games, caught up on some reading and videos and feeds, and slept in far later than I should have.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2015/04/28/Farewell-to-Windows-Tour.html">Farewell to Windows Tour 2015</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-04-28</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">It has come time to bid Windows farewell. Once upon a time Windows was the only digital world I knew. It began when I was young, during the venerable 3.1 era. I remember booting up our family computer into DOS, and before starting Windows I could start Doom 2 or Keen's Dream, or any number of other games. That was my first interaction with a command line. My, my, how times have changed.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
239
topics/other.html
Normal file
239
topics/other.html
Normal file
|
@ -0,0 +1,239 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Other Posts</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/topics/other" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<h6>Other Posts</h6>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/06/03/post.html">It has been a while.</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-03</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
<a href="/topics/other">other</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">It has been a while. Here's an update, of sorts.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2015/07/09/A-Friends-Father.html">A Good Friend's Father</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-07-09</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
<a href="/topics/other">other</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">A good friend's father died. What can I learn from this?</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2015/01/01/Ireland-Log.html">A Log of My Travels in Ireland</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-01-01</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/other">other</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Once upon a time, I traveled to Ireland. It was quite the experience. Me, my 3 friends Suf, Chris and Cary, Scion, shenanigans, Guiness, whiskey, and Thunderstruck.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
325
topics/philosophy.html
Normal file
325
topics/philosophy.html
Normal file
|
@ -0,0 +1,325 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Philosophy Posts</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/topics/philosophy" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<h6>Philosophy Posts</h6>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/02/11/letter-to-lucilius-6.html">Seneca's Letter to Lucilius, Letter 6: On Sharing Knowledge</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-02-11</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Knowledge withheld is only partial. Sharing knowledge, and experiencing it, fosters improvement!</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/02/11/letter-to-lucilius-5.html">Seneca's Letter to Lucilius, Letter 5: On the Philosopher's Mean</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-02-11</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">In this letter, Seneca explores the concept of All Things in Moderation, but with a Stoic twist!</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/01/28/letter-to-lucilius-4.html">Seneca's Letter to Lucilius, Letter 4: On the Terrors of Death</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-20</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Letter 4 was the first letter I ever read. Seneca discusses death, life, and how to deal with both. I found it during a time of great anxiety and strife, yet even now I find it enlightening.</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/01/28/letter-to-lucilius-3.html">Seneca's Letter to Lucilius, Letter 3: On True and False Friendship</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-20</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Letter 3 deals with friends, and I don't mean the number shown on Facebook. True Friendship, to Seneca, is a place of honor!</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/01/28/letter-to-lucilius-11.html">Seneca's Letter to Lucilius, Letter 11: On the Blush of Modesty</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-28</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Letter 11 deals with accepting our faults, staring an unexpected quote from Epicurus.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/01/15/letter-to-lucilius-2.html">Seneca's Letter to Lucilius, Letter 2: On Discursiveness in Reading</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-15</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Seneca's second letter to Lucilius, On Discursiveness in Reading, covers the importance of focus. There's also a quote by Epicurus, which is apparently a feature of many of his letters to Lucilius.</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/01/15/letter-to-lucilius-1.html">Seneca's Letter to Lucilius, Letter 1: On Time</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-15</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Seneca's Moral Letters to Lucilius are regarded as one of the most prominent Stoic writings available. My friend Rob and I like to discuss them during a weekly meeting, and I'd like to record my response and thoughts as well. Here's letter 1, On Time</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/01/15/Letters-To-Lucilius.html">Seneca's Moral Letters to Lucilius</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-15</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">My friend Rob and I have recently been disucssing Seneca's Moral Letters to Lucilius. As a companion to those discussions, I'm documenting my responses to each letter.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2016/01/30/Revelations-Stoic-Understanding.html">Developing Stoic Understanding</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2016-01-30</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Sherman J. Clark wrote a fantastic article on the Stoicism Today blog in December which really spoke to me. It approached some of the questions and problems I've had with Stoicism in an elegant and enlightening way, which has led to my significantly greater understanding of Stoicism.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2015/07/09/A-Friends-Father.html">A Good Friend's Father</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-07-09</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
<a href="/topics/other">other</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">A good friend's father died. What can I learn from this?</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2015/05/04/Philosophy-of-Bill-1.html">The Philosophy of Bill, Abbreviated</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-05-04</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/philosophy">philosophy</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">I consider myself a very philosophical person. That doesn't mean I'm any good at philosophy, I just tend to think a lot about ethics, morality, and happiness. Recently I've been thinking more about my worldview, what I value as important, and how I achieve happiness in my daily life. I wanted to jot down what I feel is a brief examination of my basic tenants; the basic Philosophy of Bill.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
294
topics/technology.html
Normal file
294
topics/technology.html
Normal file
|
@ -0,0 +1,294 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Technology Posts</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/topics/technology" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<h6>Technology Posts</h6>
|
||||
|
||||
|
||||
<h1><a href="/2023/05/07/rclone-backups.html">Automatic Backups with RClone, systemd, and Backblaze</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2023-05-07</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">RClone is a command-line utility for interacting with an incredible number of cloud services. Backblaze is a reliable and inexpensive cloud storage provider. With systemd timer units, I setup a simple and reliable backup solution.</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2022/09/27/linode_funkwhale.html">Funkwhale on Linode with Object Storage</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2022-09-27</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Funkwhale is a cool project, building a federated music platform. I wanted to explore Funkwhale's ability to store music and associated files in object storage, and since I already use Linode for my VPS, leveraging their object storage offering makes a lot of sense.</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2022/07/04/steam_deck_syncthing.html">Setting up Syncthing on the Steam Deck (Updated!)</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2022-07-12</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Syncthing is an incredible tool that I use to keep pictures, music, notes, and games synchronized across multiple platforms. The form factor of the Steam Deck makes it a perfect emulation target, and Syncthing can help keep games and saves in-sync with other machines.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/07/19/syncthing-part-1.html">Brief Exploration of Syncthing</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-07-19</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Syncthing is an incredible tool. In this post, I want to explore setting it up, and then some uses I've found for it.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/06/14/setting-up-btrfs.html">Using BTRFS to setup a simple RAID, with subvolumes, snapshots and backups</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-14</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">BTRFS is a file system, and includes built-in functionality for RAID. I decided to use it for the storage disks in my desktop. Here is how I set it up, using subvolumes, with snapshots and backups.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2016/03/11/Random-Thoughts-1.html">Random Thoughts 1</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2016-03-11</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">I'm on vacation this week, which is pretty grand. Thus far I've accomplished one of the 4 rather meager goals I set for myself, played plenty of games, caught up on some reading and videos and feeds, and slept in far later than I should have.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2015/11/10/TLS-Part-2.html">An Examination of TLS, Part 2</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-11-10</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">TLS, more often referred to as SSL, is the means by which a secure connection is established over a computer network. Part 1 examines how to establish a secure connection using TLS. This article examines further the techniques and technology that makes TLS secure. Specifically, a brief examination of certificates, cipher suites, and public-key authentication.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2015/05/06/TLS-Part-1.html">An Examination of TLS, Part 1</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2015-05-06</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/technology">technology</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">TLS, more often referred to as SSL, is a means by which a secure connection is established over a computer network. In this introductionary post, I layout the steps to establishing a secure connection.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
280
topics/writing.html
Normal file
280
topics/writing.html
Normal file
|
@ -0,0 +1,280 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The Internet Vagabond :: Writing Posts</title>
|
||||
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
|
||||
<meta name="description"
|
||||
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
|
||||
<meta name="author" content="Bill Niblock" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="canonical" href="https://www.theinternetvagabond.com/topics/writing" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
|
||||
<link rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous">
|
||||
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
|
||||
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cor_page">
|
||||
|
||||
<header>
|
||||
<a href="/">
|
||||
<div>
|
||||
<span class="first">T</span>he
|
||||
<span class="first">I</span>nternet
|
||||
<span class="first">V</span>agabond
|
||||
</div>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<h6>Writing Posts</h6>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/10/23/gnome-cleric-wizard.html">Character Write-up: Dabbledop Humblebumple</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-10-23</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The backstory of a Gnome cleric/wizard I played for a single session!</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/06/19/jhoric_background.html">Character Write-up: Jhoric Stonehammer</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-19</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The backstory of my proud cleric of Moradin, Jhoric Stonehammer.</div>
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/06/18/gabriella_s-fall.html">Character Story: Gabriella's Fall</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-18</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">A story I wrote about the consequences of the actions of Gabriella, a paladin in D&D5e</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2020/06/03/post.html">It has been a while.</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2020-06-03</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
<a href="/topics/other">other</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">It has been a while. Here's an update, of sorts.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/01/27/halvar.html">Character Write-up: Halvar, Rune Bearer</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-27</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">The backstory for my first character in a new 5th Edition Dungeons and Dragons campaign. Meet Halvar, a brash young warrior looking for glory!</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><a href="/2018/01/11/Character-Azulien.html">Character Backstory: Azulien Blackblade</a></h1>
|
||||
<div class="" id="details">
|
||||
<div class="" id="date">2018-01-12</div>
|
||||
<div class="" id="tags">
|
||||
|
||||
<a href="/topics/gaming">gaming</a>
|
||||
|
||||
<a href="/topics/writing">writing</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="desc">Here's the character backstory for one of my older characters from a game long since forgotten: Azulien Blackblade. Enjoy!</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<nav>
|
||||
<div><a href="/">home</a></div>
|
||||
|
||||
<div><a href="/topics/all">all</a></div>
|
||||
|
||||
<div><a href="/topics/gaming">gaming</a></div>
|
||||
|
||||
<div><a href="/topics/other">other</a></div>
|
||||
|
||||
<div><a href="/topics/philosophy">philosophy</a></div>
|
||||
|
||||
<div><a href="/topics/technology">technology</a></div>
|
||||
|
||||
<div><a href="/topics/writing">writing</a></div>
|
||||
|
||||
</nav>
|
||||
|
||||
<hr />
|
||||
|
||||
<section class="h-card">
|
||||
<section class="footer_about" id="about">
|
||||
<div>The Site</div>
|
||||
<div>
|
||||
<a class="u-url" href="https://www.theinternetvagabond.com/feed.xml"
|
||||
aria-label="RSS feed for the site">
|
||||
<span class="fa fa-rss" aria-hidden="true"
|
||||
title="RSS Feed"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://theinternetvagabond.goatcounter.com/"
|
||||
aria-label="GoatCounter statistics for the site">
|
||||
<span class="fa fa-bar-chart" aria-hidden="true"
|
||||
title="GoatCounter Statistics"</span>
|
||||
</a> |
|
||||
<a class="u-url" href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
|
||||
aria-label="Source code repository for the site">
|
||||
<span class="fa fa-code" aria-hidden="true"
|
||||
title="Site Source Code"</span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
|
||||
<p>
|
||||
This site is a small slice of internet real-estate that I use for
|
||||
occasional writing. Nothing I say is visionary or profound. I
|
||||
focus on technology, gaming, and philosophy. All opinions my
|
||||
own.
|
||||
</p>
|
||||
<div>The Vagabond</div>
|
||||
<div>
|
||||
<a class="u-email" rel="me"
|
||||
href="mailto:bill@theinternetvagabond.com"
|
||||
aria-label="Email Bill at The Internet Vagabond dot com">
|
||||
<span class="fa fa-envelope-o" aria-hidden="true"
|
||||
title="Email bill at theinternetvagabond.com"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://matrix.to/#/@vagabondazulien:matrix.org"
|
||||
aria-label="Speak with me on Matrix">
|
||||
<span class="fa fa-matrix-org" aria-hidden="true"
|
||||
title="Speak with me on Matrix"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me"
|
||||
href="https://mastodon.social/@azulien"
|
||||
aria-label="Find me on the Fediverse">
|
||||
<span class="fa fa-mastodon" aria-hidden="true"
|
||||
title="Find me on the Fediverse"</span>
|
||||
</a> |
|
||||
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
|
||||
aria-label="Link to my Twitch channel">
|
||||
<span class="fa fa-twitch " aria-hidden="true"
|
||||
title="My Twitch channel"</span>
|
||||
</a>
|
||||
</div>
|
||||
<p>
|
||||
My name is <span class="p-name">Bill Niblock</span>. <span
|
||||
class="p-note">I'm a computer scientist by education, a technologist
|
||||
by trade, a gamer by hobby, and a philosopher by accident. I
|
||||
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
|
||||
New York</span>, <span class="p-country-name">USA</span>.
|
||||
</p>
|
||||
</section>
|
||||
<section style="display: none;">
|
||||
<span class="p-category">Gaming</span>
|
||||
<span class="p-category">Technology</span>
|
||||
<span class="p-category">Philosophy</span>
|
||||
<span class="p-category">Open Source Software</span>
|
||||
<span class="p-category">Self-Hosting</span>
|
||||
<span class="p-category">Coffee</span>
|
||||
</section>
|
||||
</section>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue