paritybit.ca

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 8b23434bbca50e3963d5282ac2e17d1fd162f198
parent 073583cf1b6a96c528e30e07eb035ffb7451a650
Author: Jake Bauer <jbauer@paritybit.ca>
Date:   Thu, 30 Dec 2021 23:17:55 -0500

Overhaul all the things

Made my use of headers more properly semantic (?). Basically, h1 is no
longer the header at the top of the page, it's the first header of the
page you're on. I.e. instead of h1 being "paritybit.ca" for every page,
it's now going to be "blog", "wiki", etc. Also had to update the style
to accommodate that.

Also changed a few styling things. Making the stylesheet shorter/more
compact.

Diffstat:
Mbuild/header.html | 2+-
Mpages/+-.md | 14+++++++-------
Mpages/a-critique-of-free-software.md | 10+++++-----
Mpages/blog.md | 2+-
Mpages/blog/a-brief-review-of-fedora-32.md | 2+-
Mpages/blog/a-git-workflow-with-claws-mail.md | 2+-
Mpages/blog/a-month-and-a-half-of-self-hosted-email.md | 2+-
Mpages/blog/a-quick-rant-about-web-font-sizes.md | 2+-
Mpages/blog/are-todo-applications-a-waste-of-time.md | 2+-
Mpages/blog/be-a-good-netizen.md | 2+-
Mpages/blog/caring-about-seo.md | 2+-
Mpages/blog/china.md | 2+-
Mpages/blog/choosing-a-self-hosted-git-service.md | 22+++++++++++-----------
Mpages/blog/choosing-an-investment-brokerage.md | 2+-
Mpages/blog/colours-for-gitea-issues.md | 2+-
Mpages/blog/debian-with-btrfs.md | 6+++---
Mpages/blog/decommissioning-my-rackmount-server.md | 2+-
Mpages/blog/difficulty-of-privacy-education.md | 8++++----
Mpages/blog/diving-deeper-into-the-small-internet.md | 2+-
Mpages/blog/ethical-investing.md | 2+-
Mpages/blog/flip-phone-challenge-complete.md | 2+-
Mpages/blog/flip-phone-challenge.md | 2+-
Mpages/blog/free-software-is-an-abject-failure.md | 12++++++------
Mpages/blog/gemini-is-up-and-running.md | 2+-
Mpages/blog/generating-my-geek-code.md | 2+-
Mpages/blog/gentoo-isnt-for-me.md | 2+-
Mpages/blog/going-from-user-to-contributor-with-foss.md | 2+-
Mpages/blog/how-far-translation-tools-have-come.md | 2+-
Mpages/blog/how-i-keep-my-home-directory-clean.md | 2+-
Mpages/blog/how-i-manage-my-dotfiles.md | 2+-
Mpages/blog/improving-blog-searching.md | 6+++---
Mpages/blog/laptops-suck-why-i-might-get-a-macbook-air.md | 20++++++++++----------
Mpages/blog/making-my-own-vim-statusline.md | 2+-
Mpages/blog/mastodon-is-dead-long-live-misskey.md | 34+++++++++++++++++-----------------
Mpages/blog/migrating-from-nginx-to-openbsd-httpd-and-relayd.md | 8++++----
Mpages/blog/my-beginnings-with-gentoo.md | 2+-
Mpages/blog/my-git-server-was-ddosed.md | 2+-
Mpages/blog/my-journey-with-computers.md | 2+-
Mpages/blog/my-lwn-theme.md | 12++++++------
Mpages/blog/my-new-t420s.md | 2+-
Mpages/blog/my-todo-solution.md | 2+-
Mpages/blog/paying-for-software.md | 2+-
Mpages/blog/qutebrowser-to-firefox.md | 2+-
Mpages/blog/refining-my-neomutt-config.md | 2+-
Mpages/blog/rewriting-my-static-site-generator.md | 2+-
Mpages/blog/scripting-my-way-to-success.md | 2+-
Mpages/blog/self-hosted-mail-now-live.md | 2+-
Mpages/blog/self-hosting-email.md | 2+-
Mpages/blog/setting-up-a-gopher-site.md | 2+-
Mpages/blog/submitting-a-bug-report-to-freebsd.md | 2+-
Mpages/blog/switching-to-cgit.md | 10+++++-----
Mpages/blog/the-diefenbunker-museum.md | 2+-
Mpages/blog/the-disappearance-of-one.md | 2+-
Mpages/blog/the-hacker-quarterly-magazine.md | 2+-
Mpages/blog/the-joys-of-old-tech.md | 2+-
Mpages/blog/toggling-between-indentation-styles-in-vim.md | 2+-
Mpages/blog/two-months-with-aerc.md | 2+-
Mpages/blog/two-of-the-most-valuable-lessons-ive-learned.md | 2+-
Mpages/blog/urxvt-to-st.md | 2+-
Mpages/blog/use-syncthing-to-sync-things.md | 2+-
Mpages/blog/using-rm-with-trash.md | 8++++----
Mpages/blog/vortex-vibe-keyboard.md | 2+-
Mpages/blog/why-dwm-swallowing-cant-swallow-tmux.md | 0
Mpages/blog/why-email-is-the-best-discussion-platform.md | 2+-
Mpages/blog/why-i-blog.md | 2+-
Mpages/blog/why-i-hate-the-term-modern.md | 2+-
Mpages/blog/why-i-love-the-fediverse.md | 2+-
Mpages/blog/why-irc-is-still-good.md | 2+-
Mpages/home.md | 8++++----
Mpages/hostnames.md | 2+-
Mpages/links.md | 26+++++++++++++-------------
Mpages/now.md | 6+++---
Mpages/projects.md | 10+++++-----
Dpages/projects/dnd/initiative.md | 49-------------------------------------------------
Dpages/projects/dnd/roll.md | 74--------------------------------------------------------------------------
Apages/projects/initiative.md | 49+++++++++++++++++++++++++++++++++++++++++++++++++
Dpages/projects/kontaktdb.md | 69---------------------------------------------------------------------
Mpages/projects/morrowind-character-roller.md | 2+-
Dpages/projects/python-irc-bot.md | 19-------------------
Dpages/projects/python-xmpp-bot.md | 19-------------------
Apages/projects/roll.md | 74++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpages/projects/time-duration-calculator.md | 2+-
Dpages/projects/usrmnt.md | 79-------------------------------------------------------------------------------
Mpages/software.md | 40++++++++++++++++++++--------------------
Mpages/uses.md | 20++++++++++----------
Mpages/wiki.md | 2+-
Apublic/img/current-desktop.png | 0
Mstyle/main.css | 127+++++++++++++++++++++++++++++--------------------------------------------------
88 files changed, 368 insertions(+), 587 deletions(-)

diff --git a/build/header.html b/build/header.html @@ -10,7 +10,7 @@ <title>paritybit.ca</title> </head> <body> - <header id="header"> <h1>paritybit.ca</h1> </header> + <header>paritybit.ca</header> <nav id="navigation"> <a href="/">Home</a> <a href="/blog">Blog</a> diff --git a/pages/+-.md b/pages/+-.md @@ -1,4 +1,4 @@ -## Likes and Dislikes +# Likes and Dislikes [//]: # "Things that I like and dislike, with reasons explaining why." @@ -8,12 +8,12 @@ This is my page of opinions. Here I detail what I like, what I dislike, and why. -### Things I Like +## Things I Like These are things that I have had good experiences with, respect, donate to, or things I think are especially important. -#### Tech +### Tech * **Casio fx-991EX Calculator**: A fantastic, versatile, and durable calculator with many functions inlcuding: solving integrals and derivatives, linear @@ -56,7 +56,7 @@ things I think are especially important. to the will of every person who wants their special features in the OS. They build what they want for themselves, and they do a damn good job. -#### Non-Tech +### Non-Tech * **Leuchtturm1917 Journals**: Consistently high quality paper, features, and bindings with hard covers that are available in multiple colours. The @@ -67,12 +67,12 @@ things I think are especially important. users. My preferred licenses are: the Unlicense, CC0, the ISC/MIT/BSD-2-clause Licenses, and CC-BY. -### Things I Dislike +## Things I Dislike These are things I have either had bad experiences with or dislike after either doing research on them or hearing about experiences from reputable sources. -#### Tech +### Tech * **Dell Prebuilt PCs**: In recent years, Dell has become notorious for attempting to scam customers into various support contracts. They also @@ -84,7 +84,7 @@ doing research on them or hearing about experiences from reputable sources. copyright](http://lists.busybox.net/pipermail/busybox/2019-April/087229.html) associated with the project. -#### Non-Tech +### Non-Tech * **Copyleft Licenses**: They utterly fail at their stated goal, instead reinforcing copyright as a tool to get one's way and protect one's diff --git a/pages/a-critique-of-free-software.md b/pages/a-critique-of-free-software.md @@ -1,4 +1,4 @@ -## A Critique of Free Software +# A Critique of Free Software [//]: # "Free Software fundamentally misses the point. It fails on a practical, ideological, economic, and political level. Let's examine precisely how (in a slightly different order for the purposes of presentation)." @@ -20,7 +20,7 @@ Free Software fundamentally misses the point. It fails on a practical, ideological, economic, and political level. Let's examine precisely how (in a slightly different order for the purposes of presentation). -### Ideological +## Ideological Ideologically, Free Software is a bit of a jumbled mess. Let's begin by reading the following two documents, one after the other: [Should Be Free](https://archive.is/ORsof) followed by the [GNU Manifesto](https://archive.is/V14pR). @@ -103,7 +103,7 @@ In short, for internal consistency, GNU and the FSF fundamentally operate primar A sort of purity war, where only the upmost is acceptable. Is it any surprise that, ideologically, Free Software has been bleeding out? -### Economic and Political +## Economic and Political As we have read previously, one of the goals of Free Software is to *eliminate* competition. GNU was to do this for operating systems, for instance. This largely has not happened. @@ -210,7 +210,7 @@ However, they have fundamentally failed at addressing the significant and legiti Instead, this situation grows even worse still, as you will see in the practical section. Free Software has essentially become a puppet, dancing on strings to the tune of those who know it's not just about the license. -### Practical +## Practical How does Free Software turn out in practice? The purported (practical) goals of Free Software are, from what we can gather above: @@ -282,7 +282,7 @@ To summarize: the GPL fails on all of its material, practical promises. Instead, it mostly serves copyright holders. Though it does this [pretty well](https://archive.is/xk4Ax) for those of them that realize they're in this position without being a corporation. -### Now What? +## Now What? While GNU philosophy and the GPL fail for a number of reasons, not all is lost. It is possible to create good software, that helps people, while resisting foreign malign influence. Let's start by addressing the most obvious issues. diff --git a/pages/blog.md b/pages/blog.md @@ -1,4 +1,4 @@ -## Blog +# Blog [//]: # "This is the place where I put all of my ramblings, rants, essays, and random thoughts and ideas." diff --git a/pages/blog/a-brief-review-of-fedora-32.md b/pages/blog/a-brief-review-of-fedora-32.md @@ -1,4 +1,4 @@ -## A Brief Review of Fedora 32 +# A Brief Review of Fedora 32 [//]: # "A brief look at how Fedora 32 has been behaving on my tablet." diff --git a/pages/blog/a-git-workflow-with-claws-mail.md b/pages/blog/a-git-workflow-with-claws-mail.md @@ -1,4 +1,4 @@ -## A Git Workflow With Claws Mail +# A Git Workflow With Claws Mail [//]: # "Detailing how I have set up claws mail to allow me to work with Git using the standard email workflow." diff --git a/pages/blog/a-month-and-a-half-of-self-hosted-email.md b/pages/blog/a-month-and-a-half-of-self-hosted-email.md @@ -1,4 +1,4 @@ -## A Month-and-a-Half of Self-Hosted Email +# A Month-and-a-Half of Self-Hosted Email [//]: # "There's been a lot of talk in my Internet neighbourhood lately about the state of email and whether it's broken or not. Here's why I think email is just fine as it is, from the perspective of someone self-hosting. diff --git a/pages/blog/a-quick-rant-about-web-font-sizes.md b/pages/blog/a-quick-rant-about-web-font-sizes.md @@ -1,4 +1,4 @@ -## A Quick Rant About Web Font Sizes +# A Quick Rant About Web Font Sizes [//]: # "A quick rant about font sizes on websites and what I did for my website." diff --git a/pages/blog/are-todo-applications-a-waste-of-time.md b/pages/blog/are-todo-applications-a-waste-of-time.md @@ -1,4 +1,4 @@ -## Are TODO Applications a Waste of Time? +# Are TODO Applications a Waste of Time? [//]: # "A few days ago I saw a video talking about how TODO applications are a waste of time. I don't think TODO applications are the problem though, humans are." diff --git a/pages/blog/be-a-good-netizen.md b/pages/blog/be-a-good-netizen.md @@ -1,4 +1,4 @@ -## Be A Good Netizen +# Be A Good Netizen [//]: # "Since my post for today is taking longer than expected, I want to share this story to encourage others to be good netizens." diff --git a/pages/blog/caring-about-seo.md b/pages/blog/caring-about-seo.md @@ -1,4 +1,4 @@ -## Caring About SEO +# Caring About SEO [//]: # "In this I talk about SEO and whether or not I care much about it." diff --git a/pages/blog/china.md b/pages/blog/china.md @@ -1,4 +1,4 @@ -## China +# China [//]: # "Although I too would prefer to keep politics and world affairs out of my blog as well, I am in complete agreement in that it would also betray my personal beliefs and principles to remain publicly silent about what is taking place in China and in Hong Kong right now." diff --git a/pages/blog/choosing-a-self-hosted-git-service.md b/pages/blog/choosing-a-self-hosted-git-service.md @@ -1,4 +1,4 @@ -## Choosing a Self-Hosted Git Service +# Choosing a Self-Hosted Git Service [//]: # "A brief comparison of some of the more popular software forges available for self-hosting." @@ -25,7 +25,7 @@ more popular free and open source options with a brief opinion about each and links to where you can find out more. I'll also explain what I chose for myself and why. -### GitLab +## GitLab * [Link to Gitlab](https://about.gitlab.com/) * **Programmed in**: Ruby, Go @@ -50,7 +50,7 @@ run smoothly. EIGHT GIGABYTES! I'm running Gitea on a PineA64 SBC and the entire system's RAM usage is at less than 0.5GB. GitLab is slow, bloated, and definitely not a good candidate for someone looking to self-host a git service. -### Gogs +## Gogs * [Link to Gogs](https://gogs.io/) * **Programmed in**: Go @@ -72,7 +72,7 @@ binary to have a fully-featured software forge up and running. It seems appropriate for anywhere from single-user instances, to medium-sized groups and teams. -### Gitea +## Gitea * [Link to Gitea](https://gitea.io/en-us/) * **Programmed in**: Go @@ -88,7 +88,7 @@ In most respects, Gitea looks and functions the same as Gogs though Gitea does have many more features. A detailed list of differences between the two can be found on the [Gitea comparison page](https://docs.gitea.io/en-us/comparison/). -### SourceHut +## SourceHut * [Link to SourceHut](https://sourcehut.org/) * **Programmed in**: Go, Python @@ -122,7 +122,7 @@ if all you want is a software forge for publicly showing off and working on your own repositories. SourceHut is definitely worth checking out if you want a software forge for a group or team of people. -### Phabricator +## Phabricator * [Link to Phabricator](https://secure.phabricator.com/) * **Programmed In**: PHP @@ -142,7 +142,7 @@ for a simple way to show off your Git repositories. It is fully-featured and competently developed though so, if you're looking for an alternative to GitLab for a group or team of people, Phabricator is worth checking out. -### Pagure +## Pagure * [Link to Pagure](https://pagure.io/) * **Programmed In**: Python @@ -168,7 +168,7 @@ It also offers several methods for installation: Docker, Vagrant, and a manual installation. The manual installation process is very straightforward and clear from the instructions given. -### Gitolite +## Gitolite * [Link to Gitolite](https://gitolite.com/gitolite/) * **Programmed In**: Perl @@ -187,7 +187,7 @@ git repositories on a central server where each repository can have mutliple developers. To learn more about what Gitolite does and its supported features, see the [Gitolite overview](https://gitolite.com/gitolite/overview.html). -### Gitweb +## Gitweb * [Link to Gitweb Documentation](https://git-scm.com/docs/gitweb) * **Programmed In**: Perl @@ -199,7 +199,7 @@ branches, blames, etc) using a web interface. It's not a software forge like the others in this article, but if all you want is a UI to view information about git repositories, then this is a valid choice. -### cgit +## cgit * [Link to cgit](https://git.zx2c4.com/cgit/about/) * **Programmed In**: C @@ -212,7 +212,7 @@ noticeably faster when viewing large repositories and with support for caching the generated pages. It may also look better than Gitweb, depending on your sensibilities. -### My Choices +## My Choices <p class="note">I have since changed what I use to cgit. I outline why in a more recent blog post: <a diff --git a/pages/blog/choosing-an-investment-brokerage.md b/pages/blog/choosing-an-investment-brokerage.md @@ -1,4 +1,4 @@ -## Choosing An Investment Brokerage +# Choosing An Investment Brokerage [//]: # "Now that my time at university is coming to an end, I'm starting to look forward into the future at what kind of saving and investing I will need to do to achieve my life goals. My first step is to find a brokerage which meets my needs as a Canadian investor." diff --git a/pages/blog/colours-for-gitea-issues.md b/pages/blog/colours-for-gitea-issues.md @@ -1,4 +1,4 @@ -## Colours for Gitea Issues +# Colours for Gitea Issues [//]: # "When I used to use Gitea, I created a colourscheme for classifying issues. Even though I'm not using it anymore, I figured others may get some use out of it." diff --git a/pages/blog/debian-with-btrfs.md b/pages/blog/debian-with-btrfs.md @@ -1,4 +1,4 @@ -## Installing Debian 10 Buster with Encrypted LVM and btrfs Subvolumes +# Installing Debian 10 Buster with Encrypted LVM and btrfs Subvolumes [//]: # "How to set up a Debian 10 Buster system with btrfs using subvolumes on your root filesystem during the installation process." @@ -12,7 +12,7 @@ <b>Last Updated:</b> 2020-07-14 </div> -### Introduction +## Introduction Debian currently supports formatting partitions with btrfs, but doesn't support creating subvolumes from within the installer. Below I will detail the process @@ -28,7 +28,7 @@ screen. This tutorial aims to expand on the content of the video by approaching it from the perspective of wanting encrypted partitions and it also provides an English-language reference to the content of the video. -### Procedure +## Procedure After downloading a Debian installation image and putting it on a CD/DVD/USB, boot it and choose `Advanced options > Expert install` (or `Graphical expert diff --git a/pages/blog/decommissioning-my-rackmount-server.md b/pages/blog/decommissioning-my-rackmount-server.md @@ -1,4 +1,4 @@ -## Decommissioning My Rackmount Server +# Decommissioning My Rackmount Server [//]: # "I love self-hosting stuff because of the control it gives me over my own data. However, I had a rackmount server that was way too loud, power-hungry, and hot. I decided to get rid of it for some serious improvements." diff --git a/pages/blog/difficulty-of-privacy-education.md b/pages/blog/difficulty-of-privacy-education.md @@ -1,4 +1,4 @@ -## The Difficulty of Educating People About Online Privacy +# The Difficulty of Educating People About Online Privacy [//]: # "I've recently been reflecting on the difficulty that I've had in conversations with people about online privacy where it is frustratingly difficult to get them to care about who has their data and how it is being misused." @@ -25,7 +25,7 @@ I have given it some thought and come upon three major sticking points in my conversations with others about online privacy (which also apply to any kind of debate in general): -### Stubbornness +## Stubbornness When someone is really set in their ways, it is exceedingly difficult to get them to consider changing their behaviour. For some people, even mentioning that @@ -43,7 +43,7 @@ stubbornness by exposing them to things like news articles and practical examples of data breaches and privacy violations but you obviously don't want to be a gnat in their ear constantly pestering them about this. -### Ignorance +## Ignorance To the chagrin of myself and many of my colleagues, most of the general public are not familiar with even the most basic workings of the devices which we use @@ -61,7 +61,7 @@ and technical crash course on the topic of which you are trying to convince them before you can even begin to convince them, you have most likely already failed to convince them. -### Apathy +## Apathy This is probably the worst of all three. When you are very passionate about a subject and want to educate others so that they can better protect themselves or diff --git a/pages/blog/diving-deeper-into-the-small-internet.md b/pages/blog/diving-deeper-into-the-small-internet.md @@ -1,4 +1,4 @@ -## Diving Deeper Into the Small Internet +# Diving Deeper Into the Small Internet [//]: # "Discovering Gopher, Gemini, and finger. " diff --git a/pages/blog/ethical-investing.md b/pages/blog/ethical-investing.md @@ -1,4 +1,4 @@ -## Ethical Investing +# Ethical Investing [//]: # "The next step after choosing an investment platform is choosing where I put my money and there's a big aspect to investing that I need to consider: ethics." diff --git a/pages/blog/flip-phone-challenge-complete.md b/pages/blog/flip-phone-challenge-complete.md @@ -1,4 +1,4 @@ -## Flip Phone Challenge Complete +# Flip Phone Challenge Complete [//]: # "Last week I challenged myself to use a flip phone for one week straight. I was not allowed to use my Android smartphone at all. Here's my experience." diff --git a/pages/blog/flip-phone-challenge.md b/pages/blog/flip-phone-challenge.md @@ -1,4 +1,4 @@ -## One Week Flip Phone Challenge +# One Week Flip Phone Challenge [//]: # "Frustration with my smartphone has led me to throw it aside in favour of using a good old flip phone again. I've challenged myself to use one for at least one week to see what the experience is like in 2020." diff --git a/pages/blog/free-software-is-an-abject-failure.md b/pages/blog/free-software-is-an-abject-failure.md @@ -1,4 +1,4 @@ -## Free Software is an Abject Failure +# Free Software is an Abject Failure [//]: # "Free Software is an abject failure. It may sound like a good concept on its face—especially with the kind of language often used to describe the movement and its opponents—but, when put under scrutiny, the institutions and practices that make up the Free Software movement fundamentally fail at their stated goals and harm the software ecosystem as a result." @@ -32,7 +32,7 @@ collaboration, Free Software is legally ineffective, Free Software makes the lives of developers harder, and Free Software fundamentally gets in the way of a thriving software ecosystem. -### The Failure of the Free Software Ideology +## The Failure of the Free Software Ideology [Why Software Should Be Free](https://archive.md/ORsof) by Richard Stallman presents an argument against having owners of software and explains the harm @@ -117,7 +117,7 @@ Torvalds even says: > open source and free software people]. Exactly because the FSF considers us > open source people 'heretics.'" -### The Failure of the GPL +## The Failure of the GPL One of the stated goals written in the GNU Manifesto is: @@ -237,7 +237,7 @@ For all this talk of Free Software being the ethical option and the GPL being the ultimate defender of user and developer rights, it completely goes against the ethical principles laid out in _Why Software Should Be Free_. So much for "free as in freedom". -### The Failure of the Free Software Culture +## The Failure of the Free Software Culture The GNU Manifesto speaks a lot about how: @@ -311,7 +311,7 @@ The degree of openness which exists in the current software landscape can be, to a large degree, attributed to the Open Source movement. It happened in spite of the Free Software movement, not because of it. -### The Failure of Free Software to Remain Relevant +## The Failure of Free Software to Remain Relevant Free Software and the surrounding culture and institutions are often viewed as a farce outside of the dedicated Free Software ~~cult~~ community. The FSF has @@ -435,7 +435,7 @@ enforcing its principles in a meaningful way, as well as seeing the conduct of one of its top-most members, how could anyone view this as a movement to be appreciated, let alone joined and celebrated? -### Where Do We Go From Here? +## Where Do We Go From Here? I think, by now, it is accurate to say that Free Software is an abject failure. diff --git a/pages/blog/gemini-is-up-and-running.md b/pages/blog/gemini-is-up-and-running.md @@ -1,4 +1,4 @@ -## Gemini is Up and Running +# Gemini is Up and Running [//]: # "The Gemini protocol has fascinated me since I heard about it. So, as a fitting way to end the #100DaysToOffload challenge, I wanted to announce that my Gemini page and blog are now live and talk a bit about how I set things up." diff --git a/pages/blog/generating-my-geek-code.md b/pages/blog/generating-my-geek-code.md @@ -1,4 +1,4 @@ -## Generating My Geek Code +# Generating My Geek Code [//]: # "I've seen something called the Geek Code around the Internet on some people's profiles and decided to have a go at creating one for myself." diff --git a/pages/blog/gentoo-isnt-for-me.md b/pages/blog/gentoo-isnt-for-me.md @@ -1,4 +1,4 @@ -## Gentoo Isn't for Me +# Gentoo Isn't for Me [//]: # "I've been using Gentoo on and off since I tried it out, but I've come to the conclusion that it's just not for me. These are the reasons why." diff --git a/pages/blog/going-from-user-to-contributor-with-foss.md b/pages/blog/going-from-user-to-contributor-with-foss.md @@ -1,4 +1,4 @@ -## Going From User to Contributor With FOSS +# Going From User to Contributor With FOSS [//]: # "How access to Free and Open Source Software lead to my growth as a person, and changed how I view and interact with computers." diff --git a/pages/blog/how-far-translation-tools-have-come.md b/pages/blog/how-far-translation-tools-have-come.md @@ -1,4 +1,4 @@ -## How Far Translation Tools Have Come +# How Far Translation Tools Have Come [//]: # "Today, with over 100 tabs open at one point, I was reading a whole bunch of blog posts from others partaking in the #100DaysToOffload challenge. As you can tell by looking at my blogroll, although most blogs are in English, there are a handful that I follow which aren't." diff --git a/pages/blog/how-i-keep-my-home-directory-clean.md b/pages/blog/how-i-keep-my-home-directory-clean.md @@ -1,4 +1,4 @@ -## How I Keep My Home Directory Clean +# How I Keep My Home Directory Clean [//]: # "I am one of those people who likes to keep files organized and directories clean. Here's how I keep my home directory as free of cruft as possible." diff --git a/pages/blog/how-i-manage-my-dotfiles.md b/pages/blog/how-i-manage-my-dotfiles.md @@ -1,4 +1,4 @@ -## How I Manage My Dotfiles +# How I Manage My Dotfiles [//]: # "I've recently overhauled a lot of the software I use which means I have a whole new set of configuration files for most of that software. I figured it would be a good time to change the way I manage these configuration files too." diff --git a/pages/blog/improving-blog-searching.md b/pages/blog/improving-blog-searching.md @@ -1,4 +1,4 @@ -## Improving Blog Searching +# Improving Blog Searching [//]: # "I received a few good suggestions in response to my recent blog post about setting up search for my blog. In this post, I check out the proposed improvements and detail which one I chose and why." @@ -18,7 +18,7 @@ Since then, I've had a few good replies about ways I could make it better. One suggestion in particular fit with the themes and goals of this website so I went ahead and implemented it to improve the search experience on my site. -### Evaluating Other Suggestions +## Evaluating Other Suggestions First, let's talk about some of the other suggestions made. There was the suggestion from Amolith of [secluded.site](https://secluded.site) that I use a @@ -55,7 +55,7 @@ assets which would be required to make them functional. Both are trivial in the context of many contemporary sites, but I like to keep my site as slim as possible and I like to maintain compatibility with alternative browsers. -### The Solution I Chose +## The Solution I Chose However, [Oscar Benedito](https://oscarbenedito.com/) suggested something which caught my eye and which I didn't even know was possible: a form that makes a diff --git a/pages/blog/laptops-suck-why-i-might-get-a-macbook-air.md b/pages/blog/laptops-suck-why-i-might-get-a-macbook-air.md @@ -1,4 +1,4 @@ -## Laptops Suck (or Why I Might Get a New MacBook Air) +# Laptops Suck (or Why I Might Get a New MacBook Air) [//]: # "PC Laptops are trash and I'm considering getting a MacBook. Here's why." @@ -41,7 +41,7 @@ laptops while also being **fanless**. If that hasn't yet convinced you, keep reading. -### Price to Performance +## Price to Performance I think we can all agree that Macs had pretty terrible price to performance when they used Intel processors. Given that a 2020 base model MacBook Air was @@ -80,7 +80,7 @@ the water in terms of performance for less than the amount of money I spent on my desktop system in 2017 and in a—I can't stress this enough—**fanless laptop**. -### Build Quality and Keyboard +## Build Quality and Keyboard Macs tend to have excellent physical build quality. There is little to no flex of the chassis when typing on the keyboard, the screen doesn't wobble when you @@ -97,7 +97,7 @@ does seem to be a matter of personal preference, if this keyboard is anything like their early 2010s MacBook keyboards (a keyboard I have actually used) then it will feel, to me, even better than even my T420s keyboard. -### Fanless Operation +## Fanless Operation I know I keep going on about how the Air is fanless, but that's actually something I would really like to have in a laptop. My current T420s is hot and @@ -120,7 +120,7 @@ heat shooting out the side annoying anybody near me, and I won't have to worry about cleaning out the computer every two to three years just to keep it running well. -### The Screen +## The Screen Since Apple released their Retina™®© displays, they have been known for making stunningly good displays. They continue this trend with the M1 MacBooks by @@ -136,7 +136,7 @@ tonsky.me about better monitors](https://tonsky.me/blog/monitors/). It makes a huge difference, especially for those who work primarily with text (me) in terms of comfort and clarity. -### Battery Life +## Battery Life One thing that Apple has pretty much always been good at is jamming massive batteries into their laptops. If I had to guess based on pictures of internals, @@ -150,7 +150,7 @@ about 1 hour of battery life on a replacement battery purchased just one year ago (turns out that having a CPU that gets hit with regular near-100% utilization is not great for battery life). -### MacOS +## MacOS I know a lot of Linux and Windows users look at MacOS and think: "How could anybody use _that_!?" I know, I used to be one of them. At work when I got a @@ -169,7 +169,7 @@ without having to go through the hoops required on Windows. Not to mention, my printer+scanner will actually work without endless fiddling or needing to reboot into Windows. -### But It's Apple!!! +## But It's Apple!!! Yeah, I know. Apple is not a good company. They are consistently against [right to repair](https://www.nytimes.com/wirecutter/blog/what-is-right-to-repair/), @@ -193,7 +193,7 @@ more than 16GB of RAM. I haven't needed more than 16GB of RAM for half a decade and I don't see that changing anytime soon given that I routinely use less than 4GB on my workstations. -### Alternative Options +## Alternative Options So, if I'm looking for a high quality, performant laptop for a good price then what are my other options in today's market? @@ -222,7 +222,7 @@ though they are at least a strong competitor. The build quality, while decent, is also [still lacking compared to Apple](https://jcs.org/2021/08/06/framework#hardware). -### Summary +## Summary All in all, the pros of an M1 MacBook Air far outweigh the cons. Let's go over them: diff --git a/pages/blog/making-my-own-vim-statusline.md b/pages/blog/making-my-own-vim-statusline.md @@ -1,4 +1,4 @@ -## Making My Own Vim Statusline +# Making My Own Vim Statusline [//]: # "After using a plugin to see what was taking the most time for my vim configuration to start, I decided to ditch airline and write my own statusline." diff --git a/pages/blog/mastodon-is-dead-long-live-misskey.md b/pages/blog/mastodon-is-dead-long-live-misskey.md @@ -1,4 +1,4 @@ -## Mastodon Is Dead, Long Live Misskey 🍮 +# Mastodon Is Dead, Long Live Misskey 🍮 [//]: # "Okay, so, Mastodon isn't _actually_ dead, but some recent happenings and a long-standing trend of the lead developer ignoring features beneficial to smaller instances have led many to start looking at other options, be it forks of Mastodon, or other software entirely." @@ -20,7 +20,7 @@ a look at [Misskey](https://github.com/misskey-dev/misskey), an alternative Fediverse software that also uses ActivityPub and can communicate with both Pleroma and Mastodon instances. -### What's Going On With Mastodon (and Pleroma) +## What's Going On With Mastodon (and Pleroma) Recently, Eugen, the lead developer of Mastodon (also known as Gargron) released an [official Mastodon iOS @@ -51,7 +51,7 @@ development and disappointing many users who were looking forward to exciting new features such as groups. There are... other issues with Pleroma, but I will not talk about them here. -### Okay, So What Even Is Misskey? +## Okay, So What Even Is Misskey? To summarize, Misskey is another bit of Fediverse software, similar to Mastodon and Pleroma, but with far more features, and a far nicer and more @@ -78,7 +78,7 @@ some more funding, and have re-structured the way they develop the project. The project is far from dead, and with the recent boost in popularity, it could see development pick up again—hopefully in a healthier way this time. -### How Is It From an Admin Perspective? +## How Is It From an Admin Perspective? Having administrated Mastodon, Pleroma, and now Misskey for single-user instances, I can confidently say that Mastodon is the heaviest and Pleroma and @@ -88,7 +88,7 @@ that Misskey scales better than Pleroma (which already scaled far better than Mastodon), though more insight is probably needed from the admins experienced with Pleroma. -#### Resource Usage +### Resource Usage As far as my own servers: at this moment, the Pleroma server (Debian Buster) is using 685MB of RAM with a load average of `0.01 0.04 0.07` whereas the Misskey @@ -105,7 +105,7 @@ example, @razzlom\@quietplace.xyz runs a Misskey instance with 50 users (approximately 10 active users) without ElasticSearch and they report that this uses 50-60% of 8GB of RAM and 1-10% of 4 AMD EPYC cores. -#### Admin Features +### Admin Features From what I and others have seen so far, the admin features of Misskey are amazing and the admin UI is much better than any other Fediverse software so @@ -140,13 +140,13 @@ or both are: * the ability to easily monitor the job queue of the server, * and the search does actually work well enough even without having ElasticSearch installed, and without needing to enable Postgres RUM indices like in Pleroma. -### How Is It From a User Perspective? +## How Is It From a User Perspective? In short, it's unlike any other Fediverse software that currently exists. It is packed full of useful features and, even though some stuff can definitely be improved, it is exciting to see just what Fedi can be. -#### Timelines +### Timelines With Misskey, you have the same sorts of timelines you expect from other Fediverse software. The table below summarizes which posts each timeline @@ -260,7 +260,7 @@ Fediverse software): This behaviour is, in practice, slightly different than Mastodon, and quite different from Pleroma. -#### Health +### Health Overall, Misskey seems to encourage more genuine social interaction compared to other Fediverse software and traditional social media. For example, there are @@ -285,7 +285,7 @@ that people you follow post which tends to drag you into threads that you really don't involve you or need to involve you. I can personally attest to this, since I have been hosting and using Pleroma for over a year now. -#### Groups, Channels, Pages, Clips, Galleries, and Antennas—Oh My +### Groups, Channels, Pages, Clips, Galleries, and Antennas—Oh My This Misskey's bread and butter in my eyes and what makes it stand out so strongly from the other ActivityPub-based software. There is a lot of fun to @@ -322,7 +322,7 @@ antenna that collects only posts with files attached. If you want to emulate Pleroma's timeline behaviour, you can even make an antenna consisting of "Notes from following users" with "Show replies" checked. -#### Your Drive +### Your Drive Your drive is possibly one of _the_ single most useful features on Misskey. You are allocated a (configurable by the server admins) amount of storage space you @@ -337,7 +337,7 @@ your old posts, you can do that easily with the drive. <figcaption>My Drive with an emoji folder and several other images.</figcaption> </figure> -#### Apps +### Apps App support is a little limited at the moment. Since Misskey is not compatible with the Mastodon API, one can't use apps like Tusky or Tootle with it. There @@ -348,7 +348,7 @@ are, however, a few apps available. Namely One can also use Misskey in the browser, and it provides a reasonably snappy experience, but will most likely use more data than a dedicated app. -#### Other Various User Features +### Other Various User Features Some other excellent user-facing features which are either missing from Mastodon, Pleroma, or both are: @@ -408,9 +408,9 @@ Mastodon, Pleroma, or both are: </figure> -### The Rough Parts +## The Rough Parts -#### On The Admin Side +### On The Admin Side Of course, not everything is without its caveats. For those used to Pleroma's MRF system, Misskey doesn't have anything like that. Admins can defederate from @@ -449,7 +449,7 @@ this in the `misskey` folder, `git apply` it, and re-build. You can [download the patch here](https://ftp.paritybit.ca/d0858ec6-136f-414f-903f-e74c8463b94a.patch). -#### On The User Side +### On The User Side Currently, there are a few things which could be improved. For one, there is no option to limit streaming of new posts when you are scrolled to the top of your @@ -477,7 +477,7 @@ you hover over them. Overall, these issues haven't bothered me much and I consider them pretty minor compared to the benefits of Misskey, though your experience might differ. -### In Conclusion +## In Conclusion Although there are things yet unfinished with Misskey (as there is for all the other Fediverse software), it is already miles ahead of the rest of the diff --git a/pages/blog/migrating-from-nginx-to-openbsd-httpd-and-relayd.md b/pages/blog/migrating-from-nginx-to-openbsd-httpd-and-relayd.md @@ -1,4 +1,4 @@ -## Migrating from nginx to OpenBSD's httpd and relayd +# Migrating from nginx to OpenBSD's httpd and relayd [//]: # "Detailing how I migrated my Debian 10 server running nginx to OpenBSD with httpd and relayd." @@ -12,10 +12,10 @@ <b>Last Updated:</b> 2021-02-17 </div> -<figure> +<center><figure> <a href="/img/openbsd-logo.png"><img src="/img/openbsd-logo.png" alt="The OpenBSD logo."/></a> <figcaption>This logo is subject to the license at: <a href="https://www.openbsd.org/art4.html">openbsd.org</a></figcaption> -</figure> +</figure></center> Having set up my mail server on OpenBSD, I've been very satisfied with the cohesiveness of the operating system; it has been a breeze to administrate. @@ -189,7 +189,7 @@ relay "reverseproxy" { forward to <www> port 8080 check http "/" code 302 } -# For Matrix +#For Matrix http protocol "matrix" { tcp {nodelay, sack, backlog 128} diff --git a/pages/blog/my-beginnings-with-gentoo.md b/pages/blog/my-beginnings-with-gentoo.md @@ -1,4 +1,4 @@ -## My Beginnings with Gentoo +# My Beginnings with Gentoo [//]: # "I'm not sure what possessed me to try out Gentoo, but here we are. My thought's about trying the distribution for the very first time." diff --git a/pages/blog/my-git-server-was-ddosed.md b/pages/blog/my-git-server-was-ddosed.md @@ -1,4 +1,4 @@ -## My Git Server Was DDoSed +# My Git Server Was DDoSed [//]: # "I noticed some strange behaviour on my git server and it turns out someone was DDoSing it. Here's what I had to do to get it back up and running again." diff --git a/pages/blog/my-journey-with-computers.md b/pages/blog/my-journey-with-computers.md @@ -1,4 +1,4 @@ -## My Journey With Computers +# My Journey With Computers [//]: # "I've only really been into computers for about three years despite using them my entire life. This is the story of how I went from a complete computer n00b to where I am today." diff --git a/pages/blog/my-lwn-theme.md b/pages/blog/my-lwn-theme.md @@ -1,4 +1,4 @@ -## My LWN Theme +# My LWN Theme [//]: # "A recent blog post by @amolith@social.nixnet.services about how he set up his LWN theme made me want to review my settings which I set up over a year ago." @@ -19,7 +19,7 @@ year ago. I spent some time switching all of the colours over to something that would mimic this site, since I like this colour scheme, and I figured I'd post about it too in case people are looking for more theme ideas: -### Display Preferences +## Display Preferences | Option | Value | |-----------------------------------------------|-----------| @@ -39,7 +39,7 @@ about it too in case people are looking for more theme ideas: | Maximum width of main text column (em) | `50` | | Display old parent in unread comments screen | Unchecked | -### New page engine preferences +## New page engine preferences |Option | Value | |---------------------------------------------|----------------------| @@ -49,7 +49,7 @@ about it too in case people are looking for more theme ideas: | Fixed navigation menu on small screens | Checked | | Font family to use | `browser-determined` | -### Quoted text preferences +## Quoted text preferences | Option | Value | |------------------------|-----------| @@ -58,7 +58,7 @@ about it too in case people are looking for more theme ideas: | Quoted text colour | `#bb5555` | | Quoted text background | `#25252a` | -### Screenshots +## Screenshots <figure> <a href="/img/lwn-homepage-colours.png"><img @@ -71,7 +71,7 @@ about it too in case people are looking for more theme ideas: <figcaption>An LWN Weekly Edition with my colourscheme.</figcaption> </figure> -### Conclusion +## Conclusion I really appreciate that LWN exposes stylesheet settings so that users can set their own themes. Aside from being the highest quality Linux (and sometimes diff --git a/pages/blog/my-new-t420s.md b/pages/blog/my-new-t420s.md @@ -1,4 +1,4 @@ -## My New T420s +# My New T420s [//]: # "Two days ago I picked up a Thinkpad T420s laptop from a local seller for $150 CAD after spontaneously deciding to look through Kijiji. Here are my thoughts about it." diff --git a/pages/blog/my-todo-solution.md b/pages/blog/my-todo-solution.md @@ -1,4 +1,4 @@ -## My TODO Solution +# My TODO Solution [//]: # "Yesterday I posted about why I don't think TODO lists or applications are useless. In this post, I describe what I do to keep myself organized." diff --git a/pages/blog/paying-for-software.md b/pages/blog/paying-for-software.md @@ -1,4 +1,4 @@ -## Paying for Software +# Paying for Software [//]: # "Discussing the sustainability of free and open source software given most don't like to pay for software." diff --git a/pages/blog/qutebrowser-to-firefox.md b/pages/blog/qutebrowser-to-firefox.md @@ -1,4 +1,4 @@ -## Why I Switched Back to Firefox from Qutebrowser +# Why I Switched Back to Firefox from Qutebrowser [//]: # "I've been using qutebrowser for about six months now but I found it really wasn't meeting my needs. In this post I explain the reasons why I switched back to using Firefox." diff --git a/pages/blog/refining-my-neomutt-config.md b/pages/blog/refining-my-neomutt-config.md @@ -1,4 +1,4 @@ -## Refining My NeoMutt Configuration +# Refining My NeoMutt Configuration [//]: # "Over the past few days I have been tinkering and tweaking with my NeoMutt configuration to make my experience just a little bit better." diff --git a/pages/blog/rewriting-my-static-site-generator.md b/pages/blog/rewriting-my-static-site-generator.md @@ -1,4 +1,4 @@ -## Rewriting My Static Site Generator +# Rewriting My Static Site Generator [//]: # "After a brief hiatus, I'm back with a rewrite of my static site generator script." diff --git a/pages/blog/scripting-my-way-to-success.md b/pages/blog/scripting-my-way-to-success.md @@ -1,4 +1,4 @@ -## Scripting My Way to Success +# Scripting My Way to Success [//]: # "How I solve almost all my problems with scripting." diff --git a/pages/blog/self-hosted-mail-now-live.md b/pages/blog/self-hosted-mail-now-live.md @@ -1,4 +1,4 @@ -## Self-Hosted Email is Now Live! +# Self-Hosted Email is Now Live! [//]: # "I've successfully migrated email for paritybit.ca to my own SMTP server." diff --git a/pages/blog/self-hosting-email.md b/pages/blog/self-hosting-email.md @@ -1,4 +1,4 @@ -## Self-Hosting Email +# Self-Hosting Email [//]: # "My experience starting to self-host email using OpenBSD, OpenSMTPD, Dovecot, and Rspamd." diff --git a/pages/blog/setting-up-a-gopher-site.md b/pages/blog/setting-up-a-gopher-site.md @@ -1,4 +1,4 @@ -## Setting Up a Gopher Site +# Setting Up a Gopher Site [//]: # "Detailing the simple process of setting up a Gopher server and accessing Gopher sites over the Internet." diff --git a/pages/blog/submitting-a-bug-report-to-freebsd.md b/pages/blog/submitting-a-bug-report-to-freebsd.md @@ -1,4 +1,4 @@ -## Submitting a Bug Report to FreeBSD +# Submitting a Bug Report to FreeBSD [//]: # "In which I detail my experience reporting a bug in FreeBSD." diff --git a/pages/blog/switching-to-cgit.md b/pages/blog/switching-to-cgit.md @@ -1,4 +1,4 @@ -## Switching to cgit +# Switching to cgit [//]: # "I got tired of gitea's slowness and I didn't use its features anyways so I took the time this past weekend to swtich over to cgit. I also made a few modifications along the way." @@ -18,7 +18,7 @@ traps as other platforms like GitHub and GitLab. That is to say, Gitea feels very slow to use and I don't have any need for the plethora of features it offers. -### What I Didn't Like About Gitea +## What I Didn't Like About Gitea Regarding this first point. A typical page on Gitea took at least a second to load, if not longer, and usually weighed between 2 and 3 megabytes. I didn't do @@ -32,7 +32,7 @@ social features similar to GitHub, a system for multiple user accounts, and more. I used none of these features; I basically just used Gitea to host my repositories and I dislike the pull request development model anyways. -### Setting up cgit +## Setting up cgit When I did my [comparison of self-hosted git services](https://www.paritybit.ca/blog/choosing-a-self-hosted-git-service), @@ -53,7 +53,7 @@ reverse proxy to point to the new git server's port instead of Gitea's port. Following that, I just decommissioned Gitea by stopping the server and deleting any trace of it off of my system. -### Improving cgit +## Improving cgit One thing that I wanted to try doing to cgit was adding a dark theme that would be activated by a CSS `@media` query. Unfortunately, I found the cgit CSS file @@ -81,7 +81,7 @@ some colours to ensure that there were no contrast issues. I also used the `borland` theme in python-pygments because it had no contrast issues against the white background unlike `default`. -### Conclusion +## Conclusion I'm still working on cleaning and organizing my project repositories, but I feel the interface of cgit is a lot smoother and easier to work with than Gitea. All diff --git a/pages/blog/the-diefenbunker-museum.md b/pages/blog/the-diefenbunker-museum.md @@ -1,4 +1,4 @@ -## The Diefenbunker Museum +# The Diefenbunker Museum [//]: # "A few months ago, I visited the Diefenbunker museum located in Carp, Ottawa, Canada. It's a Cold War era bunker, abandoned in 1994, that has been undergoing restoration and conversion into a museum by a small..." diff --git a/pages/blog/the-disappearance-of-one.md b/pages/blog/the-disappearance-of-one.md @@ -1,4 +1,4 @@ -## The Disappearance of _One_ +# The Disappearance of _One_ [//]: # "One is a word that used to be quite popular in formal speech but has since fallen to the wayside in favour of the less specific and more casual you. This is not a good change for English." diff --git a/pages/blog/the-hacker-quarterly-magazine.md b/pages/blog/the-hacker-quarterly-magazine.md @@ -1,4 +1,4 @@ -## The Hacker Quarterly Magazine +# The Hacker Quarterly Magazine [//]: # "My first issue of 2600's The Hacker Quarterly arrived in the mail recently. Here are my thoughts about it." diff --git a/pages/blog/the-joys-of-old-tech.md b/pages/blog/the-joys-of-old-tech.md @@ -1,4 +1,4 @@ -## The Joys of Old Tech +# The Joys of Old Tech [//]: # "There's something magical about using old technology. Be it an old, grinding hard disk, a floppy disk with a maximum capacity of 1.44MB, or a CRT monitor with a maximum resolution of 1024x768. Unrivalled in their simplicity, unchallenged in their whirs and clunks, there is an unmistakable allure of the tech of days gone by." diff --git a/pages/blog/toggling-between-indentation-styles-in-vim.md b/pages/blog/toggling-between-indentation-styles-in-vim.md @@ -1,4 +1,4 @@ -## Toggling Between Indentation Styles in Vim +# Toggling Between Indentation Styles in Vim [//]: # "I've encountered both spaces and tabs used for indentation in my programming career so I wrote a custom VimScript function to toggle between indenting with tabs and spaces." diff --git a/pages/blog/two-months-with-aerc.md b/pages/blog/two-months-with-aerc.md @@ -1,4 +1,4 @@ -## Two Months with aerc +# Two Months with aerc [//]: # "Two months ago I wrote about trying out aerc, a new terminal email client. After two months of using it as my only mail client, I want to share my thoughts about it." diff --git a/pages/blog/two-of-the-most-valuable-lessons-ive-learned.md b/pages/blog/two-of-the-most-valuable-lessons-ive-learned.md @@ -1,4 +1,4 @@ -## Two of the Most Valuable Lessons I've Learned +# Two of the Most Valuable Lessons I've Learned [//]: # "Inspired by Criag Maloney's recent book release, I discuss two of the most valuable lessons I've learned." diff --git a/pages/blog/urxvt-to-st.md b/pages/blog/urxvt-to-st.md @@ -1,4 +1,4 @@ -## Switching from urxvt to st +# Switching from urxvt to st [//]: # "It's really important for me to have a terminal application that performs well, feels good to use, and has every feature that I need. Unfortunately, since I started using urxvt about a year ago now, I've slowly begun to notice things missing or not working quite right." diff --git a/pages/blog/use-syncthing-to-sync-things.md b/pages/blog/use-syncthing-to-sync-things.md @@ -1,4 +1,4 @@ -## Use Syncthing to Sync Things +# Use Syncthing to Sync Things [//]: # "During this round of reinstalling the operating systems on all of my computers, I wanted a more convenient way to transfer and share files between them. I chose Syncthing and have been loving it." diff --git a/pages/blog/using-rm-with-trash.md b/pages/blog/using-rm-with-trash.md @@ -1,4 +1,4 @@ -## Using the "rm" Command with Trash +# Using the "rm" Command with Trash [//]: # "A quick hack to get a Trash bin with the rm command." @@ -21,21 +21,21 @@ techniques) and has no concept of a Trash folder. This is a simple hacky way to make `rm` remove a file to the Trash folder first so that you can prevent yourself from accidentally irreversibly deleting something really important. -### POSIX, Bash and Bash-like, Fish, and Korn Shells +## POSIX, Bash and Bash-like, Fish, and Korn Shells ```bash alias rm='mv -t $XDG_DATA_HOME/Trash/' alias rm!='\rm' ``` -### C Shell (csh) and TENEX C Shell (tcsh) +## C Shell (csh) and TENEX C Shell (tcsh) ```bash alias rm 'mv -t $XDG_DATA_HOME/Trash/' alias rm! '\rm' ``` -### Explanation +## Explanation The aliases above do the following: diff --git a/pages/blog/vortex-vibe-keyboard.md b/pages/blog/vortex-vibe-keyboard.md @@ -1,4 +1,4 @@ -## The Vortex ViBE Mechanical Keyboard +# The Vortex ViBE Mechanical Keyboard [//]: # "A showcase of the keyboard I use and why I chose this one in particular." diff --git a/pages/blog/why-dwm-swallowing-cant-swallow-tmux.md b/pages/blog/why-dwm-swallowing-cant-swallow-tmux.md Binary files differ. diff --git a/pages/blog/why-email-is-the-best-discussion-platform.md b/pages/blog/why-email-is-the-best-discussion-platform.md @@ -1,4 +1,4 @@ -## Why Email is the Best Discussion Platform +# Why Email is the Best Discussion Platform [//]: # "In an age where everything seems to be going to the web and people are very vocally advocating for non-email-based workflows, I talk about why email is actually the best platform for free and open source projects." diff --git a/pages/blog/why-i-blog.md b/pages/blog/why-i-blog.md @@ -1,4 +1,4 @@ -## Why I Blog and #100DaysToOffload +# Why I Blog and #100DaysToOffload [//]: # "Today is my first day of #100DaysToOffload; a challenge started by Kev Quirk to encourage new and seasoned bloggers alike to start writing..." diff --git a/pages/blog/why-i-hate-the-term-modern.md b/pages/blog/why-i-hate-the-term-modern.md @@ -1,4 +1,4 @@ -## Why I Hate The Term "Modern" +# Why I Hate The Term "Modern" [//]: # "I strongly despise the word 'modern' because of its use as a term to demean and as a way for people to refuse to consider something based solely off of mistaken notions of what modernity means." diff --git a/pages/blog/why-i-love-the-fediverse.md b/pages/blog/why-i-love-the-fediverse.md @@ -1,4 +1,4 @@ -## Why I Love the Fediverse +# Why I Love the Fediverse [//]: # "In which I discuss why I've been enjoying my time in the fediverse and why I think it's so much better than other social platforms." diff --git a/pages/blog/why-irc-is-still-good.md b/pages/blog/why-irc-is-still-good.md @@ -1,4 +1,4 @@ -## Why IRC is Still Good in $CURRENT_YEAR +# Why IRC is Still Good in $CURRENT_YEAR [//]: # "IRC is often disparaged for being outdated but it is still a great and useful chat platform. Let me tell you why." diff --git a/pages/home.md b/pages/home.md @@ -1,4 +1,4 @@ -## Welcome! +# Welcome! [//]: # "This is the personal website and blog of Jake Bauer." @@ -15,7 +15,7 @@ fan of the small internet and low-tech or analog solutions to everyday problems. [git.paritybit.ca](https://git.paritybit.ca) is currently offline but will come back online soon™. -### Blog +## Blog I blog mostly about technology and computing. I also took part in [#100DaysToOffload](https://100daystooffload.com/) in 2020. Here are some to get @@ -31,7 +31,7 @@ you started: * [Are TODO Applications a Waste of Time?](/blog/are-todo-applications-a-waste-of-time) * [Why I Hate The Term “Modern”](/blog/why-i-hate-the-term-modern) -### About This Site +## About This Site This is a static website generated from Markdown using [lowdown](https://kristaps.bsd.lv/lowdown/) with my POSIX shell-based static @@ -43,7 +43,7 @@ featured on [10kbclub.com](https://10kbclub.com/) and is a part of the [XXIIVV Webring](https://webring.xxiivv.com/#paritybit) and the [Fediring webring](https://fediring.net). -### Contact +## Contact Ordered from most to least preferred, I can be contacted using: diff --git a/pages/hostnames.md b/pages/hostnames.md @@ -1,4 +1,4 @@ -## The Hostnames I Use +# The Hostnames I Use [//]: # "A list of the hostnames I use when naming my computers." diff --git a/pages/links.md b/pages/links.md @@ -1,4 +1,4 @@ -## Links +# Links [//]: # "Useful links that I've collected and wish to share or remember for the future. Everything from Internet culture, useful pieces of wisdom, other blogs, and more." @@ -6,7 +6,7 @@ [//]: # "Friends; General Life; Internet and Hacker Culture; The Workplace; Business; Videos and Lectures; Programming; sub:Vim; sub:Web Design; sub:Web Accessibility Tools and Resources; Blogroll" -### Friends +## Friends These are people I consider my friends who also happen to have personal sites with stuff on them. Consider checking them out: @@ -26,7 +26,7 @@ with stuff on them. Consider checking them out: * [Toromino](https://sigsegv.cc) * [Volpeon](https://volpeon.ink/) -### General Life +## General Life * [How To Argue Effectively And Productively: 31 Rules of Argument](https://perfect24hours.com/how-to-argue-effectively/) - Save yourself a lot of pain and headache by learning how to argue the right @@ -35,7 +35,7 @@ with stuff on them. Consider checking them out: * [A cheatsheet on Discourse](https://wiki.xxiivv.com/site/discourse.html) - A nice cheatsheet on having good discourse. -### Internet and Hacker Culture +## Internet and Hacker Culture * [Hacker Laws](https://github.com/dwmkerr/hacker-laws) - "Laws, Theories, Principles and Patterns that developers will find useful." @@ -106,7 +106,7 @@ with stuff on them. Consider checking them out: A good jumping off point for a lot of thoughts about The Collapse, permacomputing, sustainable living, and related topics. -### Writing +## Writing * [George Orwell's Essay: Politics and the English Language](https://www.orwell.ru/library/essays/politics/english/e_polit/) - A very compelling essay on how writers and speakers use the English language @@ -114,12 +114,12 @@ with stuff on them. Consider checking them out: succumb to these anti-patterns. Although this was written in 1946, it easily sounds like it could have been written in 2020. -### The Workplace +## The Workplace * [The Unspoken Truth About Managing Geeks](https://www.computerworld.com/article/2527153/opinion-the-unspoken-truth-about-managing-geeks.html) - A valuable read for anyone managing a technical group of people. -### Business +## Business * [Doordash and Pizza Arbitrage](https://themargins.substack.com/p/doordash-and-pizza-arbitrage) - More evidence of the unsustainable, ridiculous business models behind food @@ -133,7 +133,7 @@ with stuff on them. Consider checking them out: * [Killed by Mozilla](https://killedbymozilla.com/) - A list of things (apps, services, etc.) created/owned then killed by Mozilla. -### Videos and Lectures +## Videos and Lectures * [The Missing Semester of Your CS Education](https://missing.csail.mit.edu/) - A great resource on the things that are really helpful as a programmer and @@ -206,7 +206,7 @@ with stuff on them. Consider checking them out: collapsing overnight, but because being prepared for things like supply chains breaking or panic buying habits of others in a time of crisis is prudent. -### Programming +## Programming * [Computers Can Be Understood](https://blog.nelhage.com/post/computers-can-be-understood/) @@ -267,7 +267,7 @@ with stuff on them. Consider checking them out: the journey of becoming a better programmer. -#### Vim +### Vim * [Vim anti-patterns](https://sanctum.geek.nz/arabesque/vim-anti-patterns/) - A writeup of some of the traps people can fall into when using vim and how @@ -281,7 +281,7 @@ with stuff on them. Consider checking them out: * [How to Do 90% of What Plugins Do (With Just Vim)](https://www.youtube.com/watch?v=XA2WjJbmmoM) -#### Web Design +### Web Design * [CO2 emissions on the web](https://dannyvankooten.com/website-carbon-emissions/) - A fantastic article about the hidden impact of our websites and Internet @@ -309,7 +309,7 @@ with stuff on them. Consider checking them out: Building a web-based metronome in under 1KB of code to prove the point that websites need not be 8 times the size of Jupiter. -#### Web Accessibility Tools and Resources +### Web Accessibility Tools and Resources * [Tanaguru Contrast Finder](https://contrast-finder.tanaguru.com/) @@ -339,7 +339,7 @@ with stuff on them. Consider checking them out: * [WebPageTest's Lighthouse Test (run Lighthouse without Google Chrome)](https://www.webpagetest.org/lighthouse) -### Blogroll +## Blogroll Below are a bunch of feeds (blogs/podcasts/YouTube channels) which I follow, listed in alphabetical order. The content of any site below does not necessarily diff --git a/pages/now.md b/pages/now.md @@ -1,4 +1,4 @@ -## Now +# Now [//]: # "This is a now page. It describes my current interests and gives a high-level overview of what I'm up to day-to-day." @@ -11,12 +11,12 @@ moment. [Learn more about now pages here](https://nownownow.com/about). **Last Updated:** 2021-09-30 -### Day-to-Day +## Day-to-Day I am working full-time and starting to get back to doing various projects on the side. -### Hobbies and Interests +## Hobbies and Interests I have taken an interest in expanding my programming abilities. I feel that the final year of university and the gap between that and work has resulted in my diff --git a/pages/projects.md b/pages/projects.md @@ -1,4 +1,4 @@ -## Projects +# Projects [//]: # "Projects that I am currently working on or have finished." @@ -18,7 +18,7 @@ even on [my Steam wishlist](https://store.steampowered.com/wishlist/profiles/76561198049406982/#sort=name). Thanks! -### Projects +## Projects ✎ [paritybot](https://git.sr.ht/~jbauer/paritybot): A featureful bot for IRC written in Python. @@ -44,14 +44,14 @@ Thanks! ✔ - This project is finished and being maintained<br> ✗ - This project is abandoned and no longer maintained<br> -### Web-Based Utilities +## Web-Based Utilities <ul> <li><a href="projects/time-duration-calculator">Time Duration Calculator</a></li> <li><a href="projects/morrowind-character-roller">Morrowind Character Roller</a></li> <li class="sublist-header">Dungeons & Dragons <ul> - <li><a href="projects/dnd/roll">D&D Simple Dice Roller</a></li> - <li><a href="projects/dnd/initiative">D&D Initiative Tracker</a></li> + <li><a href="projects/roll">D&D Simple Dice Roller</a></li> + <li><a href="projects/initiative">D&D Initiative Tracker</a></li> </ul></li> </ul> diff --git a/pages/projects/dnd/initiative.md b/pages/projects/dnd/initiative.md @@ -1,49 +0,0 @@ -## DnD Initiative Tracker - -[//]: # "A simple tool for keeping track of combat initiative in Dungeons and Dragons." - -[//]: # "main.min.css initiative.min.css" - -[//]: # - -<script src=/js/initiative.js></script> -<noscript>It seems that the current browser you are using does not support -JavaScript or it has been disabled. JavaScript is required for this applet to -function.</noscript> - -<p>This is a tool designed to help you keep track of who has initiative and in -what order. With many characters plus many more NPCs it can become difficult to -keep track of exactly who's turn it is next. This should help alleviate those -problems.</p> - -<p>To begin, type in a character's name and their initiative value and then -hit Enter or click the button. A character's initiative value can be edited -and characters can be removed. The list will sort itself from highest to -lowest initiative value.</p> - -<div id="add-char"> -<form> - <input id="char-name" type="text" placeholder="Character Name" arial-label="Character Name"/> - <input id="init-val" type="number" placeholder="0" aria-label="Initiative Value"/> -</form> -<button onClick=addChar()>Add Character</button> -</div> -<div class="initiative-list" id="initiative-list"> -</div> - -<script> - let charInit = document.getElementById("init-val"); - charInit.addEventListener("keyup", (event) => { - if (event.keyCode === 13) { - event.preventDefault(); - addChar(); - } - }); - let charName = document.getElementById("char-name"); - charName.addEventListener("keyup", (event) => { - if (event.keyCode === 13) { - event.preventDefault(); - addChar(); - } - }); -</script> diff --git a/pages/projects/dnd/roll.md b/pages/projects/dnd/roll.md @@ -1,74 +0,0 @@ -## DnD Simple Dice Roller - -[//]: # "A super simple dice roller for Dungeons and Dragons with every die from the d4 to the d20 to the dX." - -[//]: # "main.min.css roll.min.css" - -[//]: # - -<script src=/js/roll.js></script> -<noscript>It seems that the current browser you are using does not support -JavaScript or it has been disabled. JavaScript is required for this applet to -function.</noscript> - -<p>This page is designed to make rolling dice quick and easy during any D&D -session. Need to roll many dice at once but don't want to have to bother with -physical dice? Don't have any physical dice? Well this is the roller for you!</p> - -<p>The text-based rolling must be fed with an input in the format of: -<code>&lt;number&gt;d&lt;number&gt;</code> which can be optionally suffixed -with a plus or minus sign followed by another number. This text field will -accept dice of any value.</p> - -<div id="grid-container"> - <h3 id="die-header">Die</h3> - <h3 id="num-header">Num</h3> - <h3 id="mod-header">Mod</h3> - <h3 id="res-header">Result</h3> - <button id="d4" onClick="roll(this)" aria-label="Roll d4">d4</button> - <input type="number" min=1 value=1 id="num4" aria-label="Number of d4 dice to roll"> - <input type="number" value=0 id="mod4" aria-label="d4 plus/minus modifier"> - <p class="field" id="d4result" aria-label="d4 result">0</p> - <button id="d6" onClick="roll(this)" aria-label="Roll d6">d6</button> - <input type="number" min=1 value=1 id="num6" aria-label="Number of d6 dice to roll"> - <input type="number" value=0 id="mod6" aria-label="d6 plus/minus modifier"> - <p class="field" id="d6result" aria-label="d6 result">0</p> - <button id="d8" onClick="roll(this)" aria-label="Roll d8">d8</button> - <input type="number" min=1 value=1 id="num8" aria-label="Number of d8 dice to roll"> - <input type="number" value=0 id="mod8" aria-label="d8 plus/minus modifier"> - <p class="field" id="d8result" aria-label="d8 result">0</p> - <button id="d10" onClick="roll(this)" aria-label="Roll d10">d10</button> - <input type="number" min=1 value=1 id="num10" aria-label="Number of d10 dice to roll"> - <input type="number" value=0 id="mod10" aria-label="d10 plus/minus modifier"> - <p class="field" id="d10result" aria-label="d10 result">0</p> - <button id="d12" onClick="roll(this)" aria-label="Roll d12">d12</button> - <input type="number" min=1 value=1 id="num12" aria-label="Number of d12 dice to roll"> - <input type="number" value=0 id="mod12" aria-label="d12 plus/minus modifier"> - <p class="field" id="d12result" aria-label="d12 result">0</p> - <button id="d20" onClick="roll(this)" aria-label="Roll d20">d20</button> - <input type="number" min=1 value=1 id="num20" aria-label="Number of d20 dice to roll"> - <input type="number" value=0 id="mod20" aria-label="d20 plus/minus modifier"> - <p class="field" id="d20result" aria-label="d20 result">0</p> - <button id="d100" onClick="roll(this)" aria-label="Roll d100">d100</button> - <input type="number" min=1 value=1 id="num100" aria-label="Number of d100 dice to roll"> - <input type="number" value=0 id="mod100" aria-label="d100 plus/minus modifier"> - <p class="field" id="d100result" aria-label="d100 result">0</p> - <div id="history"> - <textarea id="history-text" rows=16 cols=34 aria-label="Roll history">-------&#13;&#10;History</textarea> - <button id="clear-history" onClick="clear_history()">Clear History</button> - </div> -</div> -<div id="stringRoll" onload=registerShortcut()> - or type here (modifier optional): <input type="text" id="inputString" placeholder="1d20+0" aria-label="Custom dice value in the form <number_of_dice>d<dice_value>+/-<modifier>"> - <button id="textRollSubmit" onClick="stringRoll()">Roll</button> -</div> - -<script> - let rollInput = document.getElementById("inputString"); - rollInput.addEventListener("keyup", (event) => { - if (event.keyCode === 13) { - event.preventDefault(); - document.getElementById("textRollSubmit").click(); - } - }); -</script> diff --git a/pages/projects/initiative.md b/pages/projects/initiative.md @@ -0,0 +1,49 @@ +# DnD Initiative Tracker + +[//]: # "A simple tool for keeping track of combat initiative in Dungeons and Dragons." + +[//]: # "main.min.css initiative.min.css" + +[//]: # + +<script src=/js/initiative.js></script> +<noscript>It seems that the current browser you are using does not support +JavaScript or it has been disabled. JavaScript is required for this applet to +function.</noscript> + +<p>This is a tool designed to help you keep track of who has initiative and in +what order. With many characters plus many more NPCs it can become difficult to +keep track of exactly who's turn it is next. This should help alleviate those +problems.</p> + +<p>To begin, type in a character's name and their initiative value and then +hit Enter or click the button. A character's initiative value can be edited +and characters can be removed. The list will sort itself from highest to +lowest initiative value.</p> + +<div id="add-char"> +<form> + <input id="char-name" type="text" placeholder="Character Name" arial-label="Character Name"/> + <input id="init-val" type="number" placeholder="0" aria-label="Initiative Value"/> +</form> +<button onClick=addChar()>Add Character</button> +</div> +<div class="initiative-list" id="initiative-list"> +</div> + +<script> + let charInit = document.getElementById("init-val"); + charInit.addEventListener("keyup", (event) => { + if (event.keyCode === 13) { + event.preventDefault(); + addChar(); + } + }); + let charName = document.getElementById("char-name"); + charName.addEventListener("keyup", (event) => { + if (event.keyCode === 13) { + event.preventDefault(); + addChar(); + } + }); +</script> diff --git a/pages/projects/kontaktdb.md b/pages/projects/kontaktdb.md @@ -1,69 +0,0 @@ -## kontaktdb - -[//]: # "kontaktdb is a contact management application that I made in order to store, retrieve, and edit basic contact information in plain text because I wasn't happy with the existing software available." - -[//]: # "main.min.css" - -[//]: # "Why Does This Exist?; Download; Installing, Using, and Customizing; Contributing" - -kontaktdb (/ˈkɑntækt diː biː/ or "contact D B") is a contact management -application that I made in order to store, retrieve, and edit basic contact -information in plain text because I wasn't happy with the existing software -available. - -Right now it supports adding the following contact information: - -* Name -* Email address - -There are plans to add more supported categories and custom categories in the -future. - -kontaktdb is a simple shell script not much larger than a hundred lines of code. -It is POSIX compliant except for the use of `sed -i`. This means it should run -on almost every *nix environment including Linux distributions and BSDs. - -The program used to be called 'kontakt' but then I found out the KDE project has -a project called 'Kontact' and I opted to rename to reduce confusion. I am not -overly attached to the name so if you've come up with something better, please -let me know. - -### Why Does This Exist? - -I didn't like the existing options for managing contacts on the command line. -Programs like abook and khard are nice, but I wanted something much, much -simpler since I didn't need the complexity offered by the other options. - -The goals for this program are: - -* Contact database entirely in plain text with tab-delimited fields. -* Support for contact names and emails (possibly more later, but not much more). -* Really simple set of commands to interact with the database. - -The overarching goal of the project is to provide a really simple way to manage -basic contact information. There is no planned support for anything more than -plain text with each line having tab-delimited fields representing one contact; -if you need CardDAV support or anything else like that, this is not the -application for you. - -### Download - -The latest release can be downloaded on [the project release -page](https://git.sr.ht/~jbauer/kontaktdb/refs). To get the most up-to-date, -bleeding edge version, clone [the git -repository](https://git.sr.ht/~jbauer/kontaktdb). - -### Installing, Using, and Customizing - -Please refer to the README file for instructions on installating, using, and -customizing the software. - -### Contributing - -If you would like to submit a bug report, suggest a feature, or have any other -feedback or contribution that you are thinking about submitting, you can post it -on the project’s [public mailing list](mailto:~jbauer/kontaktdb@lists.sr.ht). - -If you’ve made changes to the code which you wish to share with me, I accept -contributions through email which you can learn how to do using the -[git-send-email.io](https://git-send-email.io) website. diff --git a/pages/projects/morrowind-character-roller.md b/pages/projects/morrowind-character-roller.md @@ -1,4 +1,4 @@ -## Morrowind Character Roller +# Morrowind Character Roller [//]: # "Generate a random scenario for role-playing a character in TES III: Morrowind. " diff --git a/pages/projects/python-irc-bot.md b/pages/projects/python-irc-bot.md @@ -1,19 +0,0 @@ -## Python IRC Bot - -[//]: # "A featureful bot for IRC written in Python." - -[//]: # "main.min.css" - -[//]: # - -### Features - -The bot is currently a work in progress, please see the README file in the -repository. - -### Download - -[Get it from the Git Repository](https://git.sr.ht/~jbauer/python-irc-bot) - -As always, I am open to any feedback, requests, bug reports, or contributions -you may have. diff --git a/pages/projects/python-xmpp-bot.md b/pages/projects/python-xmpp-bot.md @@ -1,19 +0,0 @@ -## Python XMPP Bot - -[//]: # "A featureful bot for XMPP written in Python." - -[//]: # "main.min.css" - -[//]: # - -### Features - -The bot is currently a work in progress, please see the README file in the -repository. - -### Download - -[Get it from the Git Repository](https://git.sr.ht/~jbauer/python-xmpp-bot) - -As always, I am open to any feedback, requests, bug reports, or contributions -you may have. diff --git a/pages/projects/roll.md b/pages/projects/roll.md @@ -0,0 +1,74 @@ +# DnD Simple Dice Roller + +[//]: # "A super simple dice roller for Dungeons and Dragons with every die from the d4 to the d20 to the dX." + +[//]: # "main.min.css roll.min.css" + +[//]: # + +<script src=/js/roll.js></script> +<noscript>It seems that the current browser you are using does not support +JavaScript or it has been disabled. JavaScript is required for this applet to +function.</noscript> + +<p>This page is designed to make rolling dice quick and easy during any D&D +session. Need to roll many dice at once but don't want to have to bother with +physical dice? Don't have any physical dice? Well this is the roller for you!</p> + +<p>The text-based rolling must be fed with an input in the format of: +<code>&lt;number&gt;d&lt;number&gt;</code> which can be optionally suffixed +with a plus or minus sign followed by another number. This text field will +accept dice of any value.</p> + +<div id="grid-container"> + <h3 id="die-header">Die</h3> + <h3 id="num-header">Num</h3> + <h3 id="mod-header">Mod</h3> + <h3 id="res-header">Result</h3> + <button id="d4" onClick="roll(this)" aria-label="Roll d4">d4</button> + <input type="number" min=1 value=1 id="num4" aria-label="Number of d4 dice to roll"> + <input type="number" value=0 id="mod4" aria-label="d4 plus/minus modifier"> + <p class="field" id="d4result" aria-label="d4 result">0</p> + <button id="d6" onClick="roll(this)" aria-label="Roll d6">d6</button> + <input type="number" min=1 value=1 id="num6" aria-label="Number of d6 dice to roll"> + <input type="number" value=0 id="mod6" aria-label="d6 plus/minus modifier"> + <p class="field" id="d6result" aria-label="d6 result">0</p> + <button id="d8" onClick="roll(this)" aria-label="Roll d8">d8</button> + <input type="number" min=1 value=1 id="num8" aria-label="Number of d8 dice to roll"> + <input type="number" value=0 id="mod8" aria-label="d8 plus/minus modifier"> + <p class="field" id="d8result" aria-label="d8 result">0</p> + <button id="d10" onClick="roll(this)" aria-label="Roll d10">d10</button> + <input type="number" min=1 value=1 id="num10" aria-label="Number of d10 dice to roll"> + <input type="number" value=0 id="mod10" aria-label="d10 plus/minus modifier"> + <p class="field" id="d10result" aria-label="d10 result">0</p> + <button id="d12" onClick="roll(this)" aria-label="Roll d12">d12</button> + <input type="number" min=1 value=1 id="num12" aria-label="Number of d12 dice to roll"> + <input type="number" value=0 id="mod12" aria-label="d12 plus/minus modifier"> + <p class="field" id="d12result" aria-label="d12 result">0</p> + <button id="d20" onClick="roll(this)" aria-label="Roll d20">d20</button> + <input type="number" min=1 value=1 id="num20" aria-label="Number of d20 dice to roll"> + <input type="number" value=0 id="mod20" aria-label="d20 plus/minus modifier"> + <p class="field" id="d20result" aria-label="d20 result">0</p> + <button id="d100" onClick="roll(this)" aria-label="Roll d100">d100</button> + <input type="number" min=1 value=1 id="num100" aria-label="Number of d100 dice to roll"> + <input type="number" value=0 id="mod100" aria-label="d100 plus/minus modifier"> + <p class="field" id="d100result" aria-label="d100 result">0</p> + <div id="history"> + <textarea id="history-text" rows=16 cols=34 aria-label="Roll history">-------&#13;&#10;History</textarea> + <button id="clear-history" onClick="clear_history()">Clear History</button> + </div> +</div> +<div id="stringRoll" onload=registerShortcut()> + or type here (modifier optional): <input type="text" id="inputString" placeholder="1d20+0" aria-label="Custom dice value in the form <number_of_dice>d<dice_value>+/-<modifier>"> + <button id="textRollSubmit" onClick="stringRoll()">Roll</button> +</div> + +<script> + let rollInput = document.getElementById("inputString"); + rollInput.addEventListener("keyup", (event) => { + if (event.keyCode === 13) { + event.preventDefault(); + document.getElementById("textRollSubmit").click(); + } + }); +</script> diff --git a/pages/projects/time-duration-calculator.md b/pages/projects/time-duration-calculator.md @@ -1,4 +1,4 @@ -## Time Duration Calculator +# Time Duration Calculator [//]: # "Use this tool to quickly calculate the duration between times." diff --git a/pages/projects/usrmnt.md b/pages/projects/usrmnt.md @@ -1,79 +0,0 @@ -## usrmnt - -[//]: # "A small utility to mount, unmount, unlock, etc. your devices from the terminal with an intuitive command syntax and using an intuitive text-based UI." - -[//]: # "main.min.css" - -[//]: # "Screenshots; Download; Contributing; Manual" - -Pronounced /juːzɚ maʊnt/ or "user mount", usrmnt is a small utility to mount, -unmount, unlock, etc. your devices from the command line with an intuitive -command syntax and using an intuitive text-based UI. It is effectively a wrapper -for udisksctl to make it more friendly to use. - -### Screenshots - -<a href="/img/projects/usrmnt/screenshot.png"><img -src="/img/projects/usrmnt/screenshot.png" alt="A screenshot of usrmnt in -action"/></a> - -### Download - -[Get it from the Git Repository](https://git.sr.ht/~jbauer/usrmnt) - -[Alternate Git Repository](https://git.paritybit.ca/usrmnt) - -As always, I am open to any feedback, requests, bug reports, or contributions -you may have. Please send these to the sourcehut git repository as -git.paritybit.ca is just a mirror. - -### Contributing - -If you would like to submit a bug report, suggest a feature, or have any other -feedback or contribution that you are thinking about submitting, you can post it -on the [project's public mailing list](mailto:~jbauer/usrmnt@lists.sr.ht). -Please review the [mailing list -ettiquette](https://man.sr.ht/lists.sr.ht/etiquette.md) before posting. - -If you've made changes to the code which you wish to share with me, I accept -contributions through email which you can learn how to do using the -[git-send-email.io website](https://git-send-email.io/). - -### Manual - -Simply run the script with no arguments: `usrmnt`. You will then be presented -with a listing of the currently recognized devices in your computer and a -command prompt. The usage of that command prompt is detailed below: - -<pre><code>Options: - ls – List the currently recognized devices - q – Exit - v – Print the current version - ? – Print this help dialog - &lt;command&gt; &lt;device&gt; – Execute &lt;command&gt; on &lt;device&gt; where &lt;command&gt; is one of: - Supported udisks Commands: - mount – Mount a device to a mountpoint in /media. Will prompt to - unlock encrypted drives. - unmount – Unmount a device (can also use "umount") - lock – Lock an unlocked encrypted device - unlock – Unlock an encrypted device without mounting it - info – Print device info - power-off – Power a device off (computer will stop recognizing it) - (can also use "poweroff") - Examples: - ()&gt;&gt;&gt; mount sdc1 - (sdc1)&gt;&gt;&gt; unmount sdb2 - (sdb2)&gt;&gt;&gt; unlock mmcblk0p1 - - The device in parentheses is the device from the previous command. - When there is a device in parentheses, you can type any command without - specifying a device name and that command will act on the device in - parentheses. The device in parentheses is only updated when the previous - command completed successfully except if you are unlocking a device, it - exists, and you get the password wrong in which case it will still update - so you can just type "unlock" or "mount" again. - - For example: - (sdb1)&gt;&gt;&gt; unmount - will unmount /dev/sdb1. -</code></pre> diff --git a/pages/software.md b/pages/software.md @@ -1,4 +1,4 @@ -## The Software I Use +# The Software I Use [//]: # "A breakdown of the software I use." @@ -16,14 +16,14 @@ href="/uses">uses page</a> for updated information.</p> View [my dotfiles](https://git.sr.ht/~jbauer/dotfiles-legacy). -### Operating System(s) +## Operating System(s) My operating system of choice is [OpenBSD](https://www.openbsd.org) because of the philosophy of the developers and because of how well put together the whole system feels. I typically run -current so I can get the most up-to-date drivers and packages. -### Desktop Environment/Window Manager +## Desktop Environment/Window Manager I use a tiling window manager and have essentially built my own desktop environment from the ground up by gluing together different components. I don't @@ -37,88 +37,88 @@ I use: * [feh](https://feh.finalrewind.org/) to set my desktop background, * and [slock](https://git.sr.ht/~jbauer/slock) as my screen locker. -#### Colourscheme +### Colourscheme I use the [iceberg](https://cocopon.github.io/iceberg.vim/) colourscheme and try to make the rest of my desktop environment follow that colourscheme. -#### Fonts +### Fonts I am partial to the [DejaVu](https://dejavu-fonts.github.io/) font family. I use them pretty much everywhere. -#### Terminal +### Terminal I use [st](https://git.sr.ht/~jbauer/st) (aka Simple Terminal). I like the model of patching a minimal piece of software with the features that I need and I enjoy its simplicity and speed. -#### File Manager +### File Manager If I need to, I use [pcmanfm](https://en.wikipedia.org/wiki/PCMan_File_Manager). However, I find the tools available on the command line (`mv`, `rm`, etc) allow me to accomplish what I need to do faster than a dedicated file manager. -#### Text Editor/IDE +### Text Editor/IDE I use [Neovim](https://neovim.io/). I am very comfortable with the keybindings and modal nature of vim and vim-like editors. I use a select few plugins and a colour scheme but try to keep things as minimal as possible. -#### Web Browser +### Web Browser I mainly use [qutebrowser](https://qutebrowser.org/) but I also use [lynx](https://lynx.invisible-island.net/) for browsing on the command line. -#### Mail Client +### Mail Client I use [claws-mail](https://www.claws-mail.org/). It has provided me the best out-of-the-box experience of any mail client I've tried. It's fast, has GPG support, and handles multiple accounts very well. When I need to go offline, I synchronize my mail with [mbsync](http://isync.sourceforge.net/). -#### Instant Messaging +### Instant Messaging * [Fluffychat](https://fluffychat.im/) or [Element](https://element.io) for [Matrix](https://matrix.org/) * [Dino](https://dino.im/) for [XMPP](https://xmpp.org/) * [catgirl](https://git.causal.agency/catgirl/about/) for [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) -#### Password Manager +### Password Manager I use [KeepassXC](https://keepassxc.org/). I chose it for being really simple to manage compared to something like BitWarden and because I really like the user interface. -#### Music Player +### Music Player I use [cmus](https://cmus.github.io/) for its simplicity and ease-of-use. It does everything I need from a music player. -#### Video Player +### Video Player [mpv](https://mpv.io/) is my video player of choice. It's light, simple, and versatile. It also integrates with youtube-dl so I can watch YouTube videos or Twitch streams without opening my web browser. -#### RSS Feed Reader +### RSS Feed Reader [Newsboat](https://newsboat.org/) because it's simple, easy, terminal-based, and I can program a bunch of macros to open up whichever feed in whichever application I want (e.g. open a Youtube feed in MPV). -#### Document Creation +### Document Creation I will typically write documents in either markdown or LaTeX. For instances where I need to interact with `.docx` files and whatnot, I use [Libreoffice](https://www.libreoffice.org/). -#### Presentations +### Presentations I prefer using [sent](https://tools.suckless.org/sent/) because I like the style of presentation that the tool produces. If I ever need anything more complex I opt for [Beamer](https://ctan.org/pkg/beamer). -#### Day Planning/Organization/Notes +### Day Planning/Organization/Notes I use pen and paper for this. For whatever reason, I find it cumbersome to use electronic organizers/calendars for keeping track of my life and I much prefer @@ -126,12 +126,12 @@ having something physical to store this information. If you're curious, I use a Leuchtturm1917 A5 Dot Grid Notebook and a Burgundy/Gold Parker 51 with Waterman Inspired Blue ink. -#### Image Viewing +### Image Viewing [sxiv](https://github.com/muennich/sxiv) since it handles all the image types I need it to and has nice keybindings. -#### PDF Viewer +### PDF Viewer [Zathura](https://pwmt.org/projects/zathura/) for its excellent keybindings and speed. diff --git a/pages/uses.md b/pages/uses.md @@ -1,4 +1,4 @@ -## What I Use +# What I Use [//]: # "This page is for those who are curious about the programs and equipment I use to get work done. It is inspired by uses.tech." @@ -11,7 +11,7 @@ get work done. It is inspired by [uses.tech](https://uses.tech/). You can also check out [how I name my computers](/hostnames), and the [things I like and dislike](/+-). -### Software +## Software As far as workstation operating systems: I have previously used OpenBSD, Artix Linux, Alpine Linux (briefly), Gentoo (briefly), Debian, Ubuntu, Kubuntu, Linux @@ -48,9 +48,9 @@ Here is a screenshot of what my laptop looks like: MacBook running Linux Mint. Neofetch is displaying the hardware and software information of the system." width="533" height="300px"/></center> -### Hardware +## Hardware -#### My Main PC +### My Main PC Runs a [Fedora Linux spin](https://spins.fedoraproject.org). Usually Cinnamon though I do try others. Windows 10 festers on this PC for playing games. @@ -70,7 +70,7 @@ though I do try others. Windows 10 festers on this PC for playing games. [PCPartPicker build list](https://ca.pcpartpicker.com/b/vpLJ7P). -#### Laptop +### Laptop I currently use a 2009 MacBook Pro (model A1278). It runs the latest (sometimes beta) version of [Linux Mint](https://linuxmint.com/). It has the following @@ -93,7 +93,7 @@ Thinkpad T420s: * 500GB Western Digital HDD (Used to be the Crucial 250GB SATA SSD) * **Screen:** 1600x900 TN LCD -#### Phone +### Phone * ASUS Zenfone 2 Laser (purchased 2015) - 3GB RAM @@ -102,7 +102,7 @@ Thinkpad T420s: Currently trying out an iPhone 6 as a possible replacement. -#### Router +### Router * HP Compaq Pro 4300 SFF PC - **CPU:** Intel Core i3-3220 CPU @ 3.30GHz (2C/4T) @@ -112,7 +112,7 @@ Currently trying out an iPhone 6 as a possible replacement. - 2x1GbE PCIe Ethernet Card - 1x1GbE PCI Ethernet Card -#### Main Home Server +### Main Home Server * Dell Optiplex 3020 SFF - **CPU:** i5-4590 @ 3.30GHz (4C/4T) @@ -120,14 +120,14 @@ Currently trying out an iPhone 6 as a possible replacement. - **Storage:** ZFS Mirror of Two Samsung 860 EVO 250GB SSDs - **Backup Storage:** Seagate Expansion 8TB External HDD -#### Testing/Staging Server +### Testing/Staging Server * Dell Optiplex 3010 SFF - **CPU:** i5-3470 @ 3.20GHz (4C/4T) - **RAM:** 4+4GB DDR3 - **Storage:** Seagate ST3500413AS HDD -#### Home NAS +### Home NAS * Dell Optiplex 3020 MT - **CPU:** i3-4150 @ 3.50GHz (2C/4T) diff --git a/pages/wiki.md b/pages/wiki.md @@ -1,4 +1,4 @@ -## Wiki +# Wiki [//]: # "Paritybit.ca Wiki" diff --git a/public/img/current-desktop.png b/public/img/current-desktop.png Binary files differ. diff --git a/style/main.css b/style/main.css @@ -3,7 +3,7 @@ html { } body { - background-color: #25252a; + background-color: #222; color: #ccc; line-height: 1.3rem; max-width: 820px; @@ -11,17 +11,26 @@ body { margin: 0 auto; padding: 0.5em 0 3em 0; font-family: "IBM Plex Serif", serif; - font-size: 1rem; } -h3, h4, h5, h6 { - margin: 1.5em 0 1em 0; +header { + text-align: center; + clear: both; + margin: 0.7em auto; + font-size: 2em; + font-weight: bold; } -h2 { +h1 { font-style: oblique; margin-bottom: 0.1em; line-height: 1.1em; + font-size: 1.7em; +} + +h2, h3, h4, h5, h6 { + margin: 1.4em 0 0 0; + line-height: 1.1em; } nav { @@ -40,7 +49,7 @@ a, nav a:visited { } a:hover, li a:hover, nav a:hover { - color: #80ccff !important; + color: #b3e8ff !important; text-decoration: underline; } @@ -48,58 +57,32 @@ a:visited { color: #a696cc; } -a:hover { - text-decoration: none; -} - -li { - list-style-type: circle; -} - -li a { - text-decoration: none; -} - -s { - color: #8c8c8c; -} - img, video { max-width: 100%; } blockquote { - border-left: 5px solid #83b3d8; - border-radius: 10px; + border-left: 3px solid #83b3d8; + border-radius: 7px; padding-left: 0.5em; } -figure { - text-align: center; -} - figcaption { margin-bottom: 1.5em; } -select, input { - color: #eaeaea; - background-color: #36363a; - border: 2px solid #585858; - border-radius: 5px; +input { + color: #ddd; + background-color: #363636; padding: 0.2em; } -select:focus, input:focus { - border: 2px solid #83b3d8; -} - button { - color: #eaeaea; - background-color: #4c4c4c; + color: #ddd; + background-color: #333; border: 2px outset #585858; border-radius: 5px; - padding: 3px 8px; + padding: 0.2em 0.4em; } button:hover { @@ -118,8 +101,8 @@ table, th, td { } th { - color: #eaeaea; - background-color: #36363a; + color: #ddd; + background-color: #363636; } .byline { @@ -132,45 +115,49 @@ th { margin-left: 0.5em; } -.rss-icon img { - width: 1rem; - height: 1rem; -} - .note { - background-color: #249; - color: #eaeaea; + background-color: #245; + color: #ddd; border-radius: 5px; box-shadow: 4px 4px 5px 0px rgba(0,0,0,0.5); padding: 20px 30px; - margin: auto auto 10px auto; + margin-bottom: 10px; } .note a, .note a:visited{ - color: #eaeaea; + color: #ddd; text-decoration: underline; } -#header { - text-align: center; - clear: both; - margin: 1em auto; - font-size: 1.1rem; -} - #table-of-contents { float: right; margin: 0em 0em 1em 1em; width: 45%; border: 2px #585858 solid; border-radius: 5px; - background-color: #36363a; + background-color: #363636; } #toc-title { font-size: 1.1rem; font-weight: bold; - padding-left: 1em; + text-align: center; +} + +pre { + background-color: #333; + overflow: auto; + padding: 0.5em; + text-indent: -0.25em; /*Needed otherwise first line indented for some reason*/ + line-height: 1.1rem; +} + +code { + font-family: "IBM Plex Mono", monospace; + font-size: 0.9rem; + color: #ddd; + background-color: #333; + padding: 1px 4px; } @media print { @@ -196,23 +183,3 @@ th { margin-top: 1.5em; } } - -pre { - background-color: #4c4c4c; - overflow: auto; - padding: 0.5em; - border: 2px #585858 solid; - border-radius: 5px; - text-indent: -0.25em; /*Needed otherwise first line indented for some reason*/ - line-height: 1.1rem; -} - -code { - font-family: monospace; - background-color: #4c4c4c; - color: #eaeaea; - font-size: 0.9rem; - font-family: "IBM Plex Mono", monospace; - padding: 1px 4px; - border-radius: 5px; -}