summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Holman <dholman@gymli.org>2025-08-29 00:28:42 -0500
committerDanny Holman <dholman@gymli.org>2025-08-29 00:28:42 -0500
commit953b4b2b1669b6a758bf49f042b523b50a0a1189 (patch)
tree5a6f2cfcb94f7bfbe53454a2f3db793250dc2c71
parentUpdate Gemfile dependencies (again) (diff)
downloadblog-953b4b2b1669b6a758bf49f042b523b50a0a1189.tar.gz
blog-953b4b2b1669b6a758bf49f042b523b50a0a1189.tar.zst
blog-953b4b2b1669b6a758bf49f042b523b50a0a1189.zip
Update Gemfile
Diffstat (limited to '')
-rw-r--r--Gemfile.lock145
-rw-r--r--_posts/2025-08-29-Moving-to-FreeBSD.md71
-rw-r--r--oss/box/index.html20
-rw-r--r--oss/forge/index.html12
-rw-r--r--oss/forge/style.css44
-rw-r--r--oss/rune/index.html15
-rw-r--r--projects.md4
7 files changed, 206 insertions, 105 deletions
diff --git a/Gemfile.lock b/Gemfile.lock
index bb945d1..c7b116b 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,34 +1,73 @@
GEM
remote: https://rubygems.org/
specs:
- addressable (2.8.6)
- public_suffix (>= 2.0.2, < 6.0)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
+ base64 (0.3.0)
+ bigdecimal (3.2.2)
colorator (1.1.0)
- concurrent-ruby (1.2.3)
+ concurrent-ruby (1.3.5)
+ csv (3.3.5)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
- ffi (1.16.3)
+ ffi (1.17.2)
+ ffi (1.17.2-aarch64-linux-gnu)
+ ffi (1.17.2-aarch64-linux-musl)
+ ffi (1.17.2-arm-linux-gnu)
+ ffi (1.17.2-arm-linux-musl)
+ ffi (1.17.2-arm64-darwin)
+ ffi (1.17.2-x86-linux-gnu)
+ ffi (1.17.2-x86-linux-musl)
+ ffi (1.17.2-x86_64-darwin)
+ ffi (1.17.2-x86_64-linux-gnu)
+ ffi (1.17.2-x86_64-linux-musl)
forwardable-extended (2.6.0)
- google-protobuf (3.25.3)
- google-protobuf (3.25.3-arm64-darwin)
- google-protobuf (3.25.3-x86_64-darwin)
- google-protobuf (3.25.3-x86_64-linux)
+ google-protobuf (4.32.0)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.32.0-aarch64-linux-gnu)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.32.0-aarch64-linux-musl)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.32.0-arm64-darwin)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.32.0-x86-linux-gnu)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.32.0-x86-linux-musl)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.32.0-x86_64-darwin)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.32.0-x86_64-linux-gnu)
+ bigdecimal
+ rake (>= 13)
+ google-protobuf (4.32.0-x86_64-linux-musl)
+ bigdecimal
+ rake (>= 13)
http_parser.rb (0.8.0)
- i18n (1.14.1)
+ i18n (1.14.7)
concurrent-ruby (~> 1.0)
- jekyll (4.3.3)
+ jekyll (4.4.1)
addressable (~> 2.4)
+ base64 (~> 0.2)
colorator (~> 1.0)
+ csv (~> 3.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
+ json (~> 2.6)
kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
- mercenary (>= 0.3.6, < 0.5)
+ mercenary (~> 0.3, >= 0.3.6)
pathutil (~> 0.9)
rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
@@ -36,60 +75,100 @@ GEM
webrick (~> 1.7)
jekyll-feed (0.17.0)
jekyll (>= 3.7, < 5.0)
- jekyll-sass-converter (3.0.0)
- sass-embedded (~> 1.54)
+ jekyll-sass-converter (3.1.0)
+ sass-embedded (~> 1.75)
jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
- json (2.7.1)
- kramdown (2.4.0)
- rexml
+ json (2.13.2)
+ kramdown (2.5.1)
+ rexml (>= 3.3.9)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
- listen (3.8.0)
+ listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
- public_suffix (5.0.4)
- rake (13.1.0)
+ public_suffix (6.0.2)
+ rake (13.3.0)
rb-fsevent (0.11.2)
- rb-inotify (0.10.1)
+ rb-inotify (0.11.1)
ffi (~> 1.0)
- rexml (3.2.6)
- rouge (4.2.0)
+ rexml (3.4.2)
+ rouge (4.6.0)
safe_yaml (1.0.5)
- sass-embedded (1.69.5)
- google-protobuf (~> 3.23)
- rake (>= 13.0.0)
- sass-embedded (1.69.5-arm64-darwin)
- google-protobuf (~> 3.23)
- sass-embedded (1.69.5-x86_64-darwin)
- google-protobuf (~> 3.23)
+ sass-embedded (1.91.0)
+ google-protobuf (~> 4.31)
+ rake (>= 13)
+ sass-embedded (1.91.0-aarch64-linux-android)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-aarch64-linux-gnu)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-aarch64-linux-musl)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-arm-linux-androideabi)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-arm-linux-gnueabihf)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-arm-linux-musleabihf)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-arm64-darwin)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-riscv64-linux-android)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-riscv64-linux-gnu)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-riscv64-linux-musl)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-x86_64-darwin)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-x86_64-linux-android)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-x86_64-linux-gnu)
+ google-protobuf (~> 4.31)
+ sass-embedded (1.91.0-x86_64-linux-musl)
+ google-protobuf (~> 4.31)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
texture (0.5)
jekyll (>= 3.7)
jekyll-seo-tag (>= 2.1)
- unicode-display_width (2.5.0)
- webrick (1.8.1)
+ unicode-display_width (2.6.0)
+ webrick (1.9.1)
PLATFORMS
+ aarch64-linux-android
+ aarch64-linux-gnu
+ aarch64-linux-musl
+ arm-linux-androideabi
+ arm-linux-gnu
+ arm-linux-gnueabihf
+ arm-linux-musl
+ arm-linux-musleabihf
arm64-darwin
+ riscv64-linux-android
+ riscv64-linux-gnu
+ riscv64-linux-musl
ruby
+ x86-linux-gnu
+ x86-linux-musl
x86_64-darwin
- x86_64-linux
+ x86_64-linux-android
+ x86_64-linux-gnu
+ x86_64-linux-musl
DEPENDENCIES
jekyll
jekyll-feed
+ jekyll-watch
json
kramdown-parser-gfm
texture
webrick
BUNDLED WITH
- 2.5.6
+ 2.6.9
diff --git a/_posts/2025-08-29-Moving-to-FreeBSD.md b/_posts/2025-08-29-Moving-to-FreeBSD.md
new file mode 100644
index 0000000..6740276
--- /dev/null
+++ b/_posts/2025-08-29-Moving-to-FreeBSD.md
@@ -0,0 +1,71 @@
+---
+layout: post
+title: Moving to FreeBSD
+---
+
+Recently, my server had a major outage caused partially by my own inexperience
+as well as some key failures in some key pieces of software I use. But like any
+good developer, I'm going to place blame upon the OS, specifically apt (not
+really, but I have to for the bit).
+
+### What happened?
+
+Well, Debian 13 Trixie just released to mass acclaim (I should know, because I'm
+a big fan of Debian on servers), and I was in the midst of making a transition
+plan to upgrade my install. However, what had started out as a simple learning
+experience in a VM quickly escalated into the solution to a five-alarm fire of
+my own making.
+
+By default, Debian does not allow users to install packages outside of the
+version of Debian that they have installed. I needed to get around this issue due
+to a compiler version mismatch on my main build server I use to speed up
+compiling C (see my post on distcc and ccache for details on getting that setup).
+So I decided to modify apt's pin configuration to only install select packages
+from unstable (specifically GCC version 14 at the time). However, when Debian
+made the packages from unstable available as Trixie packages, something in my
+apt configuration caused a cascade of failures that resulted in something akin
+to Debian having a stroke.
+
+Firstly, the postfix server running on my server failed. I still do not know
+what fully caused this outage, but without this key piece of infrastructure,
+issues would compound before any notification on my end. Once the email server
+was down, the email I would usually get notifying me of automatic upgrades would
+never come, and therefore, apt did not send the email detailing the critical
+errors quickly stacking up as the packages in unstable were shifted out into
+Trixie. I believe this is where the apt pin preferences was updated, causing the
+rest of Trixie to be pulled into my Debian Bookworm install. Apt failed soon
+after, as the apt sources file no longer matched the currently running OS.
+
+Once I noticed that my email server wasn't responding, I was able to login and
+see the damage. The entire OS had to be reinstalled from scratch, and just two
+days before starting a new job, meaning I had no email, no calendar, and no VPN
+back to the house.
+
+### So...new Debian version?
+
+Not quite. You see, while Debian was quietly lighting itself on fire, I was
+playing with a FreeBSD virtual machine instance. I had zero intention of moving
+anything to it just yet (had that experience with my laptop, and, oh boy, were
+there some show-stopping bugs). However, I quickly fell in love with the level
+of polish and support FreeBSD has, and I was seriously considering moving to it
+instead of upgrading to Trixie just for the learning experience and to see if it
+was up to snuff to power the services I need.
+
+It had it all: sane defaults, ports packages that I can customize to the third
+degree, a ZFS version that actual works; and I was enamoured after only about an
+hour of using the VM. However, the graphics drivers aren't quite up to par for my
+standards, though they are extremely high quality. Fortunately, I wasn't planning
+on using it to play games and render graphics, I was going to use it completely
+for work.
+
+The server I have at home now rocks FreeBSD 14.3, and I could not be happier
+about it.
+
+### Final thoughts
+
+If you're any kind of sysadmin or Unix developer, you need to give FreeBSD a
+try if you haven't already. It has changed my personal views on what a Unix
+system should be in very positive ways, and I will definitely be staying with
+it on my server. However, you might want to check the hardware compatibility
+on the FreeBSD wiki or check with sites like [this one](http://bsd-hardware.info)
+before taking the plunge on a personal system.
diff --git a/oss/box/index.html b/oss/box/index.html
index 45675de..516dbb2 100644
--- a/oss/box/index.html
+++ b/oss/box/index.html
@@ -1,21 +1,13 @@
<!DOCTYPE html>
<html>
<head>
- <title>Box Kernel</title>
+ <title>Box OS</title>
</head>
<body>
- <h1>Box Kernel</h1>
- <h3>A Unix-like kernel written for i386-based machines</h3>
- <p>Box is a tiny, Unix-like kernel written in C with some
- bootstrap code written in x86 assembly.</p>
- <h4>Useful links</h4>
- <ul>
- <li><a href="https://git.gymli.org/dholman/box.git/">Git repository</a></li>
- </ul>
- <h4>Relevant standards documents</h4>
- <ul>
- <li><a href=http://www.opengroup.org/onlinepubs/9699919799/>Single Unix Specification</a></li>
- <li><a href=http://www.open-std.org/jtc1/sc22/wg14/www/standards>C99 Standard</a></li>
- </ul>
+ <h1>Box OS</h1>
+ <p>BoxOS is a complete, Unix-like operating system written in
+ C. It is done in the style of the BSD family of operating
+ systems, with most components designed and programmed in-house.</p>
+ <h2>
</body>
</html>
diff --git a/oss/forge/index.html b/oss/forge/index.html
deleted file mode 100644
index c3633e3..0000000
--- a/oss/forge/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8"/>
- <title>Forge Game Engine</title>
- <link rel="stylesheet" href="style.css"/>
- </head>
- <body>
- <div class="header">
- <h1>Forge Game Engine</h1>
- <h2>2D game engine written in C</h2>
-</html>
diff --git a/oss/forge/style.css b/oss/forge/style.css
deleted file mode 100644
index cf24191..0000000
--- a/oss/forge/style.css
+++ /dev/null
@@ -1,44 +0,0 @@
-html { overflow-y: scroll; }
-body, td { background-color: black; color: white; font: 9pt Tahoma, sans-serif; margin: 5% 20%;
-
-}
-h1 { font: 13pt Tahoma, sans-serif; margin: 0px; height: 48px; background: black url(asciiroth_48.png) right center no-repeat; }
-h2 { font: 9pt Tahoma, sans-serif; margin: 0px; margin-bottom: 25px; margin-top: -20px; }
-td { vertical-align: top; padding: 1px 2px; }
-li { margin-bottom: 1em; }
-li ul { margin-top: 1em; }
-li li { margin-bottom: 0em; }
-/* .header { background: black url('banner.png') repeat-x; } */
-.version { font-size: smaller; }
-table, img.screenshot { margin-top: 1.5em; margin-bottom: 1.5em; }
-.playType { width: 100px; font-weight: bold; font-size: larger; font-variant: small-caps; }
-.playExpl { }
-.playFor { margin: .25em; margin-bottom: 1em; color: #666; font-size: 11px; }
-.playLink { white-space: nowrap; }
-.playDep { white-space: nowrap; width: 150px; text-align: right; }
-.footer { margin-top: 25px; border-top: 1px solid white; }
-
-p, li, img.screenshot { color: #ddd; margin-left: 2em; }
-a { text-decoration: none; color: steelblue; font-weight: bold; }
-dt { margin-left: 2em; }
-
-/* Lazy-ass auto-generated list CSS */
-.navlist { margin: 0; padding: 0 0 20px 10px; border-bottom: 1px solid #FFF; }
-.navlist ul, .navlist li { margin: 0; padding: 0; display: inline; list-style-type: none; }
-.navlist a:link, .navlist a:visited { float: left; line-height: 14px; font-weight: bold;
- margin: 0 10px 4px 10px; text-decoration: none; color: #999; }
-.navlist a:hover, .navlist a.selected {
- border-bottom: 4px solid #FFF; padding-bottom: 2px; background: transparent; color: #FFF; }
-.navlist a:hover { color: #FFF; }
-
-em { color: #FFF; }
-h3 { border-bottom: 1px solid #333; }
-#status { background-color: lightyellow; border: 1px solid yellow; color: black;
- padding: .5em 1em; margin-bottom: 1.5em; }
-dt span { display: block; width: 30px; float: left; }
-dd { margin-left: 30px; margin-bottom: .75em; color: #999; }
-
-.defects td { border: 1px solid silver; border-collapse: collapse; padding: 2px 5px; }
-.defects th { border: 1px solid silver; border-collapse: collapse; font-variant: small-caps; color: black;
- text-align: left; padding: 2px 5px; white-space: pre; background-color: ghostwhite; }
-.news { font-size: larger; color: lime; font-variant: small-caps; font-weight: bold; }
diff --git a/oss/rune/index.html b/oss/rune/index.html
new file mode 100644
index 0000000..be7ed04
--- /dev/null
+++ b/oss/rune/index.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Rune Game Engine</title>
+ <link rel="stylesheet" href="style.css"/>
+ </head>
+ <body>
+ <h1>Rune Game Engine</h1>
+ <p>Rune is a fully 3D, open source game engine written in pure C. It is built
+ on open source libraries such as Vulkan and OpenAL, and it has a development
+ model loosely based on the Linux kernel.</p>
+ <p>Rune has a "Linux first" design, meaning that the engine targets Unix-like
+ systems primarily while maintaining compatibility with Windows and macOS. The
+ engine
diff --git a/projects.md b/projects.md
index f2cdbaf..61b0c18 100644
--- a/projects.md
+++ b/projects.md
@@ -4,6 +4,6 @@ layout: page
# Projects hosted here
-* [Forge Game Engine](/oss/forge/index.html)
-* [Box Kernel](/oss/box/index.html)
+* [Rune Game Engine](/oss/rune/index.html)
+* [BoxOS](/oss/box/index.html)
* [ASAP Processor](/oss/asap/index.html)