My OpenBSD Home Network Setup| btxx.org
Setup Mullvad VPN on OpenBSD via WireGuard 2025-07-16 I’m a big fan of Mullvad’s approach on true privacy and very simple pricing. Most other VPNs market themselves for torrenting anonymously or using streaming services outside of your real location. These features are fine, but when a company is offering you 85% off a year subscription to their VPN - you can bet your bottom dollar they will sell you out in a heartbeat. Mullvad has only recently been subject to a search warrant but even t...| bt RSS Feed
Vertical Tabs in Safari 2024-09-26 I use Firefox as my main browser (specifically the Nightly build) which has vertical tabs built-in. There are instances where I need to use Safari, such as debugging or testing iOS devices, and in those instances I prefer to have a similar experience to that of Firefox. Luckily, Apple has finally made it fairly straight forward to do so. Click the Sidebar icon in the top left of the Safari browser Right click and group your current tab(s) (I normally name mi...| bt RSS Feed
Build and Deploy Websites Automatically with Git 2024-09-20 I recently began the process of setting up my self-hosted1cgit server as my main code forge. Updating repos via cgit on NearlyFreeSpeech on its own has been simple enough, but it lacked the “wow-factor” of having some sort of automated build process. I looked into a bunch of different tools that I could add to my workflow and automate deploying changes. The problem was they all seemed to be fairly bloated or overly complex for my...| bt RSS Feed
Burning and Playing PS2 Games without a Modded Console 2024-09-02 Important I do not support pirating or obtaining illegal copies of video games. This process should only be used to copy your existing PS2 games for backup, in case of accidental damage to the original disc. Requirements Note: This tutorial is tailored towards macOS and Linux users. Most things should work out-of-the-box on Windows. You will need: An official PS2 game disc (the one you wish to copy) A PS2 Slim console An comput...| bt RSS Feed
“This Key is Useless Now. Discard?” 2024-08-28 The title of this article probably triggers nostalgic memories for old school Resident Evil veterans like myself. My personal favourite in the series (not that anyone asked) was the original, 1998 version of Resident Evil 2 (RE2). I believe that game stands the test of time and is very close to a masterpiece. The recent remake lost a lot of the charm and nuance that made the original so great, which is why I consistently fire up the PS1 versi...| bt RSS Feed
Perspective 2024-08-06 I recently read both Starting Hospice and No Salt posted on Jake’s blog and was quite moved. I don’t know Jake and have never met him - but his writing and shared experiences give a very real look into his mind and perspective. If you haven’t yet, I strongly recommend giving his site a read (or at the very least those two posts). It made me reflect on my own life, shift my perspective and realize how fortunate I truly am. Losing Focus I think we all find ourselves...| bt RSS Feed
Dual Booting OpenBSD and Alpine Linux on a X220 ThinkPad 2024-07-10 I’ve always found it useful to run both OpenBSD and some form of Linux variation on my personal machines. Most times, I would default to running one OS on bare metal, while the other would simply live in a VM. This works okay but I prefer my operating systems having a “hardware separator” - if that makes sense? So, I set off to start dual booting both OpenBSD and Alpine Linux on my X220 ThinkPad. I should mention that I...| bt RSS Feed
Fixing Jekyll’s dart-sass Dependency on OpenBSD 2024-06-30 I recently wrote about working with multiple Ruby versions on OpenBSD which still works just fine, but I noticed a bug when trying to build a couple of my Jekyll projects locally: NotImplementedError: dart-sass for x86_64-openbsd7.5 For reference, these projects are being built with Ruby 3.3.0 against Jekyll 4.3.3. After doing some research, I came across this ticket that was somewhat buried in the search results: https://github.com...| bt RSS Feed
Building rbenv on OpenBSD 7.5 2024-06-02 I use Ruby (specifically with Jekyll) for a lot of my clubs/projects while using my personal laptop (X220 ThinkPad) which is runs OpenBSD. Since I recently upgraded to OpenBSD 7.5 I thought it could be helpful for others if I shared my process of building and using rbenv to install different Ruby versions. Before We Build First, be sure to install the required packages in order to build from source, and then clone the core rbenv repo: pkg_add git gcc g...| bt RSS Feed
OpenBSD is a Cozy Operating System 2024-04-11 OpenBSD 7.5 running dwm on my X220 With the recent release of OpenBSD 7.5, I decided to run through my personal OpenBSD “installer” for laptop/desktop devices. The project is built off of the dwm tiling window manager and only installs a few basic packages. The last time I updated it was with the release of 7.3, so it’s been due for an minor rework. While making these minor changes, I remembered how incredibly easy the entire install process...| bt RSS Feed
Please Make Your Table Headings Sticky 2024-02-23 I often stumble upon large data sets or table layouts across the web. When these tables contain hundreds of rows of content, things become problematic once you start to scroll… Your browser does not support the video tag. This should be a header Look at that table header disappear! Now, if I scroll all the way down to item #300 (for example) will I remember what each column’s data is associated with? If this is my first time looking at thi...| bt RSS Feed
Website Backups with Apple iCloud 2024-02-16 My main work machine, an M2 MacBook Air, meshes really well with my iPhone SE (they are in the same ecosystem after all - duh!). Since both of these devices are Apple products, it makes sense that I pay for the optional iCloud service for extra storage. 50GB to be exact. I only need to bare minimum which costs just $1.68 a month, making this storage option cheaper than most cups of coffee these days. Recently I’ve been using iCloud as my “middl...| bt RSS Feed
New Domain and Code Forge 2024-01-29 As you can clearly see, my site’s domain has switched over to btxx.org. This post will go into details about the reason for this URL swap (spoilers: I’m a cheapskate) - but that isn’t all. I have moved my personal git repositories over to my own hosting. I will explain the reasoning for that switch as well. But enough introductions, let’s get into it! bt.ht is No More I’ve abandoned bt.ht. Well, kind of. That domain doesn’t expire until 2025, w...| bt RSS Feed
My Text Edtior is Not Open Source 2024-01-02 I’ve been using Sublime Text on and off for longer than I can remember. I think Sublime has been around since the start of my “real” career over 10 years ago, but I could be mistaken1. It certainly feels that long. And in that time I have never gotten upset with Sublime. I’ve never rage quit or ran into an issue of Sublime not being able to do the thing I wanted it to do. As much of a cliche it may sound: it just works. Even when I switch e...| bt RSS Feed
Switching Things Over to ikiwiki 2023-12-17 I’ve done it again. My personal website is no longer generated with barf but is instead built on top of ikiwiki. The old RSS feed (btxx.org/atom.xml) still exists but will no longer receive updates. The new feed can be found on the bottom of the homepage (index.rss) Why a Wiki? I love the simplicity of a minimal blog, which is why I always gravitated towards purely “static” site builders. Over time though, I found two minor issues that slowly ...| bt RSS Feed
Bringing dwm Shortcuts to GNOME 2023-11-02 The dwm window manager is my standard “go-to” for most of my personal laptop environments. For desktops with larger, higher resolution monitors I tend to lean towards using GNOME. The GNOME DE is fairly solid for my own purposes. This article isn’t going to deep dive into GNOME itself, but instead highlight some minor configuration changes I make to mimic a few dwm shortcuts. For reference, I’m running GNOME 45.0 on Ubuntu 23.10 Setting Up Fi...| bt RSS Feed
Installing Older Versions of MongoDB on Arch Linux 2023-09-11 I’ve recently been using Arch Linux for my main work environment on my ThinkPad X260. It’s been great. As someone who is constantly drawn to minimalist operating systems such as Alpine or OpenBSD, it’s nice to use something like Arch that boasts that same minimalist approach but with greater documentation/support. Another major reason for the switch was the need to run older versions of “services” locally. Most people wou...| bt RSS Feed
Converting HEIF Images with macOS Automator 2023-07-21 Often times when you save or export photos from iOS to iCloud they often render themselves into heif or heic formats. Both macOS and iOS have no problem working with these formats, but a lot of software programs will not even recognize these filetypes. The obvious step would just be to convert them via an application or online service, right? Not so fast! Wouldn’t it be much cleaner if we could simply right-click our heif or heic files ...| bt RSS Feed
Blogging for 7 Years 2023-06-24 My first public article was posted on June 28th 2016. That was seven years ago. In that time, quite a lot has changed in my life both personally and professionally. So, I figured it would be interesting to reflect on these years and document it for my own personal records. My hope is that this is something I could start doing every 5 or 10 years (if I can keep going that long!). This way, my blog also serves as a “time capsule” or museum of the past… Fun ...| bt RSS Feed
Improving Laptop Battery Performance on OpenBSD 2023-06-13 It is no secret that OpenBSD has poor battery performance on laptops. Although not as impressive as something like Alpine Linux or FreeBSD, you can tweak OpenBSD just enough to squeeze more life out of your machine’s battery. Our New Best Friend: ampd I won’t go into great detail about ampd here - that’s what the incredible documentation is for. You’ll want to make sure to start it before trying to configure it: doas rcctl sta...| bt RSS Feed
Running VSCode in Chromium on OpenBSD 2023-06-05 VSCode and its many variations are not available on OpenBSD. This doesn’t cause issue with many OpenBSD users, but those making the jump from Linux might miss access to such a popular editor. Lucky for us, there is a hacky workaround to solve this problem. VSCode in the Browser I tried my best to build something like code-server locally and run that directly in my browser - but I failed miserably. Instead, I fell back on vscode.dev which is e...| bt RSS Feed
My Robotic Mower Woes 2023-05-19 A Brief Background I’m no stranger to robotic lawnmowers. When my wife and I moved into our rural home just over five years ago, we picked up the Husqvarna 450X Automower since I was far too lazy to manually mow my property and the cost was equal to that of a standard riding mower. It was a no-brainer. The Husqvarna 450X (not mine but same model) Fast-forward five years. Everything is still going great with the Automower. Some minor repairs were needed but t...| bt RSS Feed
Working with git Patches in Apple Mail 2023-05-11 Before we begin You could likely automate this process in a more streamlined way, but for most use cases this workflow should be fine. I recently covered how to work with git email patches in Evolution on Linux, so I thought it would make sense to walk through a similar workflow for those using Apple Mail on MacOS. The idea is essentially the same, with just a little extra work involved. Create a “Patches” Mailbox The first thing you’ll ...| bt RSS Feed
Stop Using Hamburger Menus (Sometimes) 2023-05-05 I recently tooted about my hatred of website hamburger menus which was met with a surprising amount of support from other users. It seems like most people don’t actually like hamburger menus. So why do we, as developers, keep using them in our products and designs? Is it our only option? Or is it because we have become conditioned to expect it? The Core Problem with Hamburger Menus The biggest headache when coming across these menus on the w...| bt RSS Feed
Converting My X201 ThinkPad into a Slabtop 2023-05-01 I recently wrote about physically disabling the WiFi toggle switch on my X201 which was a fun “hack” to an annoying issue I was running into. Since then, the laptop has been running flawlessly. The only other minor issue I had was the poor display quality. The screen works perfectly fine but the X201’s age prevents it from being the best possible display for day-to-day tasks. Both the resolution and viewing angles are quite poor. So,...| bt RSS Feed
Applying Email-Based Git Patches in Evolution on Linux 2023-04-25 Users who work with git patches through email most likely use a terminal-based program such as aerc or mutt. CLI email clients tend to have built-in support for easily applying patches directly to their local repos. But what about people who prefer to use graphical email apps? Lucky for us, it is actually fairly simple to replicate a similar workflow to that of a CLI client. In this example I will be focusing on the Evolution e...| bt RSS Feed
Launching Sublime Text with dmenu on Alpine Linux 2023-04-13 Everyone seems to be running some version of VSCode as their main editor these days. But not me. I find VSCode to be too bloated for my needs - not to mention being built on top of electron instead of native code. I prefer running programs that don’t try to devour all of my machine’s available memory or spike my CPU. Note: It’s important to remember my personal machine is a ThinkPad X201 with only 6GB of RAM (plan to upgrade t...| bt RSS Feed
HTML Dark Mode 2023-04-11 I wrote an article back in 2021 called The Lazy Developer’s Dark Mode where I explained how to implement a very basic “dark mode” by using the prefers-color-scheme CSS attribute. This stills works perfectly fine, and in fact there is a cleaner variation of this created by jacksonchen666: These 3 Lines of CSS Will Give You Dark Mode for Free. But today I wanted to show how to add dark mode functionality to a website without any CSS at all. <meta name="color-sche...| bt RSS Feed
Bypassing the WiFi Hardware Switch on the Lenovo X201 2023-04-02 I recently received a ThinkPad X201 to start using as my daily driver. I purchased the X201 to replace my existing X260. Although some might look at this as a “downgrade” in terms of specs and hardware, I would have to disagree. The X201 is an absolute masterpiece in laptop hardware design and only faulted by some of the constraints set by the motherboard, namely the lack to support more than 8GB of RAM. Other than that, I t...| bt RSS Feed
Installing Ruby with RVM on Alpine Linux 2023-03-16 For some on-going projects I need to switch to different versions of ruby. Although there exist many step-by-step instructions on installing and configuring rvm for most Linux distros, there aren’t many focused on Alpine “daily drivers”. So this post is more or less a helpful document for my future self. If it happens to help others then that’s an added bonus! Simple Setup Make sure you have the basic packages first: apk update apk a...| bt RSS Feed
Stop Using Custom Web Fonts 2023-03-14 I recently read an excellent post by Manu Moreale titled A rant on web font licenses. I highly recommend you give it a read (it’s relatively short) since Manu makes a solid argument against existing font licenses. After reading, I found myself thinking about it throughout the rest of the day. I was trying to understand how we ended up in a situation where web/UI designers (myself included) have started to insist on using proprietary, custom web fonts. ...| bt RSS Feed
Replacing My Eero Mesh Network with Two Mangos 2023-03-09 It has been one week since I retired my Eero mesh network setup and replaced it with two Mango Mini Travel Routers (GL-MT300N-V2). There were some obvious reasons to make this switch but I was initially unsure how the overall performance on the Mangos would hold up compared to the “cutting edge” tech that Eero devices claim to have. Spoiler (in case the post title didn’t give it away): I was pleasantly surprised. Goodbye Amazon I...| bt RSS Feed
Why I Stopped Using an External Monitor 2023-03-03 For the longest time I’ve been using a Samsung 27” UHD monitor as my main display. This monitor was connected to my ThinkPad X260 (in clamshell mode) through the official Lenovo dock. It wasn’t a bad setup, but I have since changed my ways. Instead, I now only use the X260’s panel as my main display. Let me explain my reasoning… The Switch to Suckless Over the past year I switched away from a traditional desktop environment to a win...| bt RSS Feed
Dynamic Viewports with CSS 2023-02-08 I think it’s safe to assume most web designers and developers are familiar with the standard vh and vw parameters in CSS. These parameters are used for setting an element’s height and/or width, relative to the viewport (v) height (h) or width (w). For example: If I want my .box element to take up the entire height of a device’s screen: .box{height:100vh;} Or I want my .box element to take up the entire width of a device’s screen: .box{width:100vw;...| bt RSS Feed
My Coffee Maker Just Makes Coffee 2023-01-09 I had to replace my dual Keurig coffee maker twice over a period of five months. This occurred a year ago and these are my findings. Built to Fail? I followed the manufactor’s suggested cleaning schedule and took care of the appliances. My initial conclusion was that the product’s design wasn’t thought-out well. “It’s built to fail!” I said to my wife the morning of the second machine’s failure. Another product replaced under warranty...| bt RSS Feed
I Want to Suckless and You Can Too 2022-12-23 The Desire to Suckless While I have been happy with my previous desktop setup using Wayland on Alpine Linux, I just couldn’t shake the urge to fully embrace the suckless ecosystem. Although, this meant ditching Wayland and returning to X11, which is apparently the new “cool thing to hate” in Linux land. At least, that’s what I’ve seen online lately. But I’m getting ahead of myself… What is Suckless? I’m not going to spend too much ...| bt RSS Feed
Adventures in Creating a Minimal Alpine Linux Installer 2022-12-08 Introduction I’ve made the switch to Alpine Linux as my main laptop/desktop hybrid workstation and I love it - warts and all. This post will follow my process building my Alpine Linux “installer” I used for this workstation, along with covering some bugs I found during my adventure. My main goals when starting this project were to have a daily driver that was: free of any “real” desktop environment Wayland based with...| bt RSS Feed
Building openring with Jekyll Build 2022-12-02 I think it’s great when bloggers post their own personal “reading list” of blogs they themselves follow. Whether this is a customized Blogroll page or footnotes in their individual articles, I find it really helpful to find more interesting content on the “indie” web. This isn’t a new concept by any means, but I wanted something a little more “dynamic”1 for my own blog. After some digging I came across openring and it’s great. F...| bt RSS Feed
Do You Have an Extra $10? 2022-11-23 As software designers and developers, think of all the little things that we spend $10 on. Maybe it’s a couple coffees over the course of a week. Maybe it’s a TV streaming subscription. Maybe it’s an impulse buy while we’re out shopping for groceries. Maybe it goes into a mason jar on top of the fridge, stored away for a rainy day. $10 doesn’t seem like a ton of money, but a little does go a long way. What if, combined with other people, that $10...| bt RSS Feed
Embracing Slow Tech 2022-11-22 I’m writing this post on my “new” X260 ThinkPad running Garuda Linux through Wayland/Sway and it is going well so far. Setting things up was much easier than I initially expected. There were only a few minor tweaks I had to make, such as setting vim as the default EDITOR and installing a small collection of applications (Bitwarden, qutebrowser etc). I ran into some headaches with generating proper SSH keys but that was solved by calling in ssh-agent whenev...| bt RSS Feed
Migrating from GitHub to sourcehut 2022-11-14 It has taken a little bit longer than I anticipated, but I have finally started to port over all my personal open-source projects to sourcehut.org. I’ll get into the why and how momentarily, but first let’s take a look at all the impacted projects: Ported Projects Vanilla CSS The 1MB Club pblog shinobi Web Audit Still WIP The 1KB Club phpetite.org Some others are being worked on but have less “popularity” Why? GitHub has landed itself in s...| bt RSS Feed
Never Do Spec Work for Free 2022-11-07 Your time is valuable and shouldn’t be taken for granted. Let me say that again for the people in the back: your time is valuable and shouldn’t be taken for granted. Time is the most precious commodity we have as human beings, so never waste that time on free “spec” work. It’s never worth it. Ever. I’ve had up-and-coming designers reach out to me multiple times and ask specifically about completing spec work or “challenges” presented by h...| bt RSS Feed
Setting Up AdGuard Home with Eero 2022-11-04 Eariler this year I posted detailed instructions on setting up Pi-Hole with Eero and it seemed to help out a few people having troubles. With AdGuard Home recently popping up on the frontpage of HackerNews, I thought now would be a great time to post instructions of setting up that service alongside Eero devices. What You’ll Need Raspberry Pi device (I recommend the Pi Zero for simplicity and low cost) microSD card Raspberry Pi Imager micro USB t...| bt RSS Feed
Avoiding Featurism 2022-10-14 I rather enjoy the term “featurism”. I came across this term while reading the wonderful article Why I don’t use Netscape, which the author credits to Bernd Paysan. Although it sums up the current “digital product” industry quite well the more specific terminology, creeping featurism, works better: creeping featurism (noun) A condition in which one or more people, often in the form of a committee, progressively increase the scope and complexity of a pro...| bt RSS Feed
Simplifying the Craigslist Gallery 2022-10-03 This article was updated on October 11, 2022 I’m a big fan of craigslist.org and the overall UX used throughout their application. My own website is an ever-changing example of “brutalist” or minimalist design, so I’m always inspired by existing web apps out in the wild using the same principles. One nitpick I have with the current craigslist design is their approach to image galleries inside their listings. They use a chunk of bloated Jav...| bt RSS Feed
RE: Creating a Simple HTML/CSS Notice Box 2022-09-22 I recently read Kev Quirk’s post, How to Create a Simple HTML/CSS Notice Box and loved the simplicity of it. I’m a sucker for using pseudo elements in creative ways but still managing to make them useful. Of course, this got me thinking as to whether or not the same style of box could be achieved without the use of static, pseudo elements… Bad Semantics I need to make it clear right away: these implementations are not semantic. They a...| bt RSS Feed
Installing Custom Fonts on Linux from the Command Line 2022-09-20 Installing custom fonts is a fairly streamlined feature on operating systems like MacOS and Windows. Linux, on the other hand, struggles to make this workflow easy for everyday users. Many newcomers tend to get frustrated with using the default “Fonts” application managers shipped with most Linux distros. But I’m here to tell you to ditch those GUI font installers. Let’s install our custom fonts in the command line! Get...| bt RSS Feed
Setup Jekyll from Scratch on a New Linux System 2022-09-19 Special Note: Credit needs to be given to user Achraf JEDAY for putting these instructions together on Stack Overflow (although his comments were targeting an older version of Ruby). This post is more for my own personal notes than anything else. I find myself constantly running into small issues when trying to setup existing Jekyll projects on new Linux systems. I could use something like Docker, but that just seems so beefy and slow...| bt RSS Feed
Don’t Make a Blog, Make a Brain Dump 2022-09-10 Not enough people have personal blogs. This is a point brought up by many of those passionate about the “golden age” in the timeline of the modern internet. A time when websites were more like a small collection of winding side-streets and flea markets. Today, it’s all shopping malls, hostile pedestrians, and corporate buildings. People have their one or two “outlets” that make it easier for them to meet-up with friends and family. T...| bt RSS Feed
A Warning for New Designers: Avoid Dribbble 2022-09-08 Everyday a new designer begins their journey into the world of insert design industry here and it is magical! Having a fresh pair of eyes untainted from the current trends of the time can help improve design as a whole. Newbies can even teach new things to older, grumpier luddites (like yours truly). But over the years I’ve noticed a concerning trend among junior designers; they rely too heavily on Dribbble. Relying on Dribbble for mino...| bt RSS Feed
Setting Up Jekyll on Windows 2022-09-02 I’ve recently been playing around with using Windows 10 as my daily operating system. So far, it has been going fairly well. Nothing will probably ever feel as “optimized” as running a Linux-based system but it works well for my current needs. Getting a Jekyll development environment setup was a different story though… One of the first issues with using Windows 10 is the need to run a few of my open source projects that are built off Jekyll loca...| bt RSS Feed
Looping Through Jekyll Collections 2022-08-12 I recently needed to add a couple new items to my wife’s personal recipe website (cookingwith.casa) which I hadn’t touched in quite a while. The Jekyll build still worked fine, but I realized I was statically adding each collection by hand on the main homepage1. Not so good. Of course, this wasn’t difficult at all to fix. Now everything is much more “hands free” moving forward. I figured I would share the details here in the hopes that o...| bt RSS Feed
Making a Website Under 1kB 2022-08-02 I recently launched (another) website club called the 1kB Club. Unlike the 1MB Club, it isn’t as accessible for most modern websites to become official members. Building a website that actually serves useful content while squeezing its page size under 1,024 bytes is no easy feat. But it is possible. And I did it myself! Note: Big shout-out to Tanner, who inspired this whole “movement” with his own minimal website. (He also has some really great crea...| bt RSS Feed
Hosting with Codeberg Pages 2022-07-29 I recently switched the pblog project repo over from Sourcehut to Codeberg (mostly for UX reasons) and it got me looking into Codeberg Pages. It seemed like a cleaner approach to host my personal blog on the same platform I planned to also share the source code. I decided to share the setup process here since I couldn’t find a straightforward guide explaining everything required to get going. So, let’s dig in. Create the Repos Disclaimer: My personal...| bt RSS Feed
The Linux Desktop is Hard to Love 2022-07-14 I want to love the “Linux Desktop”. I really do. But I’ve come to the realization that what I love is the idea of the Linux Desktop. The community. The security and core focus on open source. The customizable environments. Tweaking as much or as little of the operating system as I please! I just can’t stick with it. I always end up back on macOS. And I’m starting to understand why. What the Linux Desktop Gets Right To be fair, there is an...| bt RSS Feed
Yet Another Static Site Generator Switch 2022-07-06 If you’re an RSS subscriber, I’ve probably blown up your feed reader (again). This seems to be an on-going theme with this blog. I can’t help it. This website now uses my new Pandoc-based static blog generator: pblog. I won’t go into great detail about it’s features (or lack thereof) - if you’re interested in that, check out the “Introducing pblog” article. The bigger question is, “Why the change?” Where’s the Love for ...| bt RSS Feed
Clickable Links Inside XML 2022-06-20 With the recent patch1 to the Shinobi Website project, I thought it would be best to share my experience implementing clickable links inside a rendered XML RSS file directly through a browser. This is made possible thanks to the awesome power of XSL formatting. Before we begin, it should be noted that both Safari for macOS and all browsers on iOS do NOT support the ability to render XML files. Instead you are required to download the feeds as static files...| bt RSS Feed
Schools Should Be Using Open Source Software 2022-05-30 I firmly believe that proprietary software has no business in any school environment. Educational institutions lean heavily on Windows systems in the name of “security” or “easier platform management”. This approach forces students into using locked-down, closed sourced software applications. Word, Excel, PowerPoint. Why have these become the “standard” of text manipulation and processing? Photoshop. Illustrator. Why are thes...| bt RSS Feed
RSS Hacks With XSLT 2022-05-23 In my spare time I’ve been further tinkering (hopefully for the better) with my humble Shinobi Website1 script. The most recent update in patch-1 came with a solid amount of QoL improvements. If you’re interested, I wrote about it on the official Shinobi blog2. The next feature I wanted to tackle was designing a custom layout for the XML files directly in the browser. I was greatly inspired to create something similar to Len Falken’s main directory listing...| bt RSS Feed
Two Weeks with the DuckDuckGo Browser 2022-05-17 After using the beta apps for the new DuckDuckGo browser for both macOS and iOS, I have returned to Safari. This switch back doesn’t mean that these browsers are bad by any means. Both browsers are decently fine for casual users. Unfortunately, they aren’t ready for prime time “power” users. I’m happy to see another company jump into the browser market (and one that is using WebKit instead of another Chromium clone) but for my day-to-...| bt RSS Feed
This Site is Now a Shinobi Website 2022-05-13 Update 2024: this website is now built with wruby --- My personal website is now an RSS-focused blog, generated from a collection of plain text files. But before we get into greater details about the switch, let me first introduce the concept of a “shinobi website”. The Shinobi Website Project Instead of repeating myself in this post, feel free to read up about the project at the official site: https://shinobi.btxx.org To summarize: by using a...| bt RSS Feed
Dear Apple, Please Fix Safari’s Default Dark Mode Link Color 2022-04-18 Supporting dark mode on the modern web falls under the realm of accessibility and should not be ignored. It is important and helps keep the visual flow of your content to match that of your users’ operating system UI. Not to mention, it’s easy to implement and keep consistent across browsers. Support Dark Mode with Zero CSS A common practice is to include a @media query via CSS to target styling changes based on whe...| bt RSS Feed
My Static Blog Publishing Setup and an Apology to RSS Subscribers 2022-03-21 In case you missed it, this website is now generated with pure HTML & CSS. Although, generated isn’t the proper way to describe it anymore. Written is a better description. No more Markdown files. No more build scripts. No more Jekyll. Clean, simple, static HTML & CSS is my “CMS”. More on that in a moment. First, I must apologize. I’m Sorry Dear RSS Subscribers RSS feeds are tricky things for me personally. I...| bt RSS Feed
Transferring Media from macOS to a Jellyfin Server (Raspberry Pi 4) 2022-03-12 I run a personal media server using Jellyfin on a Raspberry Pi 4 in my home. It’s pretty great and works well across most devices - Google TV, iOS and Android devices, Chromebooks, etc. The only small headache is adding content (ie. audio, videos) to the existing hard drive that Jellyfin reads from. The last thing you want to do is connect a keyboard and monitor to your Pi to add a few files. Especially if your P...| bt RSS Feed
February 2022 Update 2022-02-23 It’s been a little quiet around here lately and for good reason: my wife gave birth to our third child last Thursday. Her name is Harmony and she was born in the late afternoon weighing in at 7 pounds 8 ounces. Besides the lack of sleep, everything has been going very well and our boys are happy to finally have their sister “out” in the real world. She caught a small cold at the beginning but soldiered through it well. As for personal life / work life, I...| bt RSS Feed
My Cheapskate Commenting System 2022-02-03 My blog now has comments! Well, kind of… I went down a two day long rabbit-hole trying to find the best solution for implementing comments on my static website (generated via Jekyll FYI). There are a ton of options out there and many open source models that allow you to spin up your own instance with something like DigitalOcean or AWS. But I’m a cheap bastard. I refuse to spend $5/month on a blog mostly used for fun and one that I have zero incen...| bt RSS Feed
Convert Files to HTML with macOS Automator Quick Actions 2022-01-28 Since a few people have reached out and thanked me for my previous post Batch Converting Images to webp with macOS Automator, I thought I would continue to share more of my own custom Automator Quick Actions. Today’s post will cover the ability to convert any text-based document into pure HTML. I know - there are over 6 billion conversion apps that do this very same thing. But our way of doing it is cooler. Our conversion t...| bt RSS Feed
Chrome OS Could Become the Future Leader of Computing 2022-01-06 FOSS Enthusiasts: This article discusses the use of proprietary software and places it in a positive light. You have been warned. No angry emails please… --- Google has created one of the best operating systems designed with the everyday user1 in mind: Chrome OS. It is undeniably simple, reliable, easy to setup, and ships with several years of support before any form of EOL kicks in. New models have built-in support for the Go...| bt RSS Feed
Icons Should be Complementary - Text is Always Better 2021-12-17 Designing1 software is a complex thing. A great deal of real-world testing and user feedback is needed to create the best solution to the problem you are trying to fix. Obvious requirements are to keep things simple, make it easy to understand by looking at it, and build it to be headache-resistant for future updates. All these things are easier said than done. This is the challenge of a designer’s dat-to-day. But with this te...| bt RSS Feed
Hosting a Jekyll Site on Sourcehut 2021-12-06 I recently decided to switch my personal, static site’s hosting from Netlify to sourcehut pages. The process went fairly smoothly with only a couple minor hiccups; nothing rage-inducing. After everything was up and running smoothly, I figured writing out a step-by-step tutorial might help others who are thinking of doing a similar switch (or looking to host their first static site). But first, let me briefly explain why I made the switch in the ...| bt RSS Feed
Using Netlify for Dynamic URL Redirects 2021-12-03 With the recent domain switch that took place on this website, I needed to have a dependable setup to forward my old domain URLs to the new one. While using something like “URL forwarding” through your domain provider could work, it doesn’t natively support dynamic linking. Let me explain using a basic example: A user clicks on a link that targets a post on your old domain: olddomain.com/random-post You want that link to forward using t...| bt RSS Feed
Using a New Domain and Switching Static Hosts 2021-11-25 As you can most likely tell by looking at your browser’s URL - I’ve swapped over to a new domain for my personal website: tdarb.org. I’m a fickle person and this is a random change - but it is one I’ve been planning to do for some time. Let me give some minor background information and then get into the changes… What about Ugly Duck? I had originally used the uglyduck.ca domain for this personal blog as a loosely based referen...| bt RSS Feed
Modern Improvements for Default Browser Styles 2021-11-09 This website almost exclusively uses the browser’s (whichever one that might be) default styling to render it’s HTML. I firmly believe, and have stated in a previous post, that the default HTML styling across all browsers is a thing of beauty. “Consistent and boring” is how I tend to refer to default browser styles - and I mean that in a good way. But that doesn’t mean some minor, modern improvements couldn’t be made… Boo...| bt RSS Feed
A Reality Where CSS and JavaScript Don’t Exist 2021-11-03 This is my personal opinion. Please leave your pitchforks at the door… I love CSS. I can spend hours deep diving into a website’s CSS system and never find myself getting bored. It’s pretty amazing to see the problems other designers are able to solve with just a little bit of custom styling and determination. I like JavaScript. It serves it’s purpose and makes complex functionality on the web easier to wrangle in and underst...| bt RSS Feed
Setting Up 1.1.1.1 for Families on a Pi-Hole 2021-10-28 After seeing Cloudflare’s 1.1.1.1 for Families mentioned on the front page of HackerNews, I thought it might be helpful to show those currently using a pi-hole device how to include 1.1.1.1 alongside it. Keeping Things Updated It should go without saying that you should be running the latest stable pi-hole version for security and full feature support. To do so, simply ssh into your device (or connect to it directly if you prefer) and ...| bt RSS Feed
Batch Converting Images to webp with macOS Automator 2021-10-15 A great deal of my time working as a web/UI designer is spent exporting and/or converting images for software products and websites. Although a lot of modern applications can render image conversions at build time, a custom conversion is sometimes requested for an image to be set as webp. You could download one of the many native apps from the Mac App Store to do this for you - but why not create your own script and run it with a...| bt RSS Feed
Enabling Safari Extensions with the macOS Catalina Patcher 2021-09-23 I have an old 2011 MacBook Air that is running the latest version of macOS Catalina thanks to the very wonderful Catalina Patcher by dosdude1. This project has made it possible for me to run and test some of the latest software from Apple - namely Safari 15. I ran into a small bug early on though – Safari extensions couldn’t be activated via the preferences menu. Luckily I discovered a very simple fix. My hope is this m...| bt RSS Feed
Create a Performance-Focused WordPress Blog 2021-09-08 With my recent switch back to WordPress, and having read Kev Quirk’s latest post about Core Web Vitals, I wanted to make sure my blog still prioritized speed and performance above all else. I’m happy to say that I have closely replicated the same speed of my original static Jekyll-based version of this blog. And I’ve achieved this with barely any effort at all. All that’s needed is: a lightweight WordPress theme two free WordPress...| bt RSS Feed
Stuffing an SSD Inside the Raspberry Pi 400 2021-08-13 I have successfully jammed an mSATA SSD into the main shell of my Raspberry Pi 400. It wasn’t as straightforward as I thought it would be - in fact, most real hardware tinkerers will probably vomit in their mouths once they see how I achieved this… But I’m happy with my build. Those with better skills and knowledge can most likely improve upon this concept (and please do if you can - I’d love to see it!) Enough chit-chat - on to t...| bt RSS Feed
Sharing The Things We Use 2021-07-24 I always love stumbling across personal websites that include some form of a “uses” page. A place where the author lists out all the tools they use on a regular basis - whether it be hardware, software or something else entirely. It allows readers to get a slightly more personal peek into the daily work-life of that author and maybe even provides better context for how they work. Since I realized how much I enjoy reading other people’s uses pages, I...| bt RSS Feed
PS4 Download UI with Pure CSS 2021-06-20 Overall, I’m fairly impressed with the user interface design of Sony’s PS4 system OS. It’s minimal and keeps the content front and center. Even with it’s sometimes spotty performance hiccups, I’ve come to enjoy interacting with it. One of the key UI items I’ve always been a fan of is the download progress view under the Notifications settings. So I figured I’d try my hand at recreating this with pure CSS. Here is the final result: Live Co...| bt RSS Feed
CSS Slope Graphs 2021-06-07 I am a huge sucker for simplistic and beautifully designed visual data on the web. Most data tends to be graphed via line or bar systems - which is fine - but I think slope graphs are highly underrated. Let’s change that, shall we? The Demo I’m basing this demo off the design patterns found in Edward Tufte’s visualization work, specifically his slope graph designs: Live CodePen Example The HTML For this concept we will actually be building this graph out of t...| bt RSS Feed
SOMA Inspired Terminal Display with CSS 2021-05-29 A few years back I played (and loved) SOMA, a first-person sci-fi horror-adventure game. The story was intriguing and the developers nailed the overall atmosphere of Pathos-II. Though both those aspects were great, what I found the most enjoyable were the interactive computers and displays found sprinkled throughout the world. Three years ago I wanted to see if I could recreate one of those terminal displays with HTML & CSS. And I did just th...| bt RSS Feed
My Changing Opinion on Personal Website Design 2021-05-19 Hey would you look at that - my personal blog has been redesigned again! Although I am still using good ol’ Jekyll for the backend, I have now added a more fleshed-out CSS design which also includes a set of open source custom typefaces. Gasp! “How could you?!” I hear you ask. Let me explain. Personal sites should feel personal I can see how this change might seem hypocritical (it took some convincing myself) but I decided to fol...| bt RSS Feed
Shiny, Animated CSS Buttons 2021-04-27 Everyone can appreciate fancy, animated buttons - but often times they come with a performance cost: JavaScript. Luckily for us, we can create our very own shiny, animated buttons with pure CSS. The Demo Live CodePen Example The HTML Nothing fancy going on here, just a set of ahref elements with specific button classes added: <a href="#" class="button green"><span>Green Button</span></a> <a href="#" class="button blue"><span>Blue Button</span></a> <a hre...| bt RSS Feed
89 Blog Posts in a Single HTML File| btxx.org
Setting Up a Pi-hole Server with Eero| btxx.org
Installing OpenBSD| btxx.org
Building a Simple Router with OpenBSD| btxx.org
Starlink, OpenWrt, and Eeros… Oh My!| btxx.org
Click to Load Website Images| btxx.org
Creating a Basic Status Page on NearlyFreeSpeech 2025-05-12 Since I talked about hosting multiple websites through NearlyFreeSpeech in the past, I thought it would be nice to walkthrough setting up a barebones “status” page that runs automatically on your existing NFS server. This post isn’t going to be mind blowing, but it will give you a solid overview of some weekly stats, such as: basic system info (FreeBSD stats, etc) weekly visitor stats weekly traffic by browser type You can obvi...| bt RSS Feed
The X220 ThinkPad is the Best Laptop in the World| btxx.org
Setup an OpenBSD VM on macOS Using UTM 2025-03-12 The UTM app for macOS is an excellent piece of software for those wanting a streamlined GUI when working with virtual machines. Their existing Gallery of pre-built images is great, but it currently lacks any of the BSDs. Lucky for us, creating your own OpenBSD VM is very straightforward. OpenBSD 7.6 running inside UTM on macOSDownload OpenBSD ISO Download the latest arm64 OpenBSD install ISO from the official site: curl -O https://cdn.openbsd....| bt RSS Feed
Mac Apps That Bring Me Joy| btxx.org
Hosting Multiple Websites Under One NearlyFreeSpeech Site| btxx.org
Red Hat Plans to Add AI to Fedora and GNOME| btxx.org
Deliver the Bare Minimum| btxx.org
Installing OpenBSD on Linveo KVM VPS 2024-10-21 I recently came across an amazing deal for a VPS on Linveo. For just $15 a year they provide: AMD KVM 1GB 1024 MB RAM 1 CPU Core 25 GB NVMe SSD 2000 GB Bandwidth It’s a pretty great deal and I suggest you look more into it if you’re interested! But this post is more focused on setting up OpenBSD via the custom ISO option in the KVM dashboard. Linveo already provides several Linux OS options, along with FreeBSD by default (which is great!). S...| bt RSS Feed