38 Commits
node ... v0.2.6

Author SHA1 Message Date
1eefd1f840 Fixed dates on a couple posts
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2023-07-08 00:15:58 -04:00
a04e8fde95 Properly marked the sinatra post as a draft; changed the docker dev container to show drafts
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-07-08 00:14:47 -04:00
17a2cc31ea Added draft for Sinatra blog post
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-07-07 01:26:29 -04:00
807fa5aa69 Added new blog post about Linux distros
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2023-07-07 00:56:16 -04:00
dbe390c2d2 Updated woodpecker config to push to the current web servers
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-07-06 23:52:51 -04:00
46e4901be3 Added webrick gem to make the development docker container work
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-07-06 14:52:51 -04:00
e527121e0a Fixed the post sign off post sign off blurb
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-06-09 19:01:22 -04:00
8038db2299 Worked on the Atom blog post; Added a post sign off blurb
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-06-09 18:56:46 -04:00
07d910fc48 Added a new draft for a post on Atom
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2022-06-09 17:35:48 -04:00
e15180bb91 Added CoffeeScript plugin to actually compile CoffeeScript files
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-06-09 13:38:23 -04:00
4164c633b0 Fixed a style bug with the footer that made the links unclickable
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-06-09 13:36:00 -04:00
e75b76d968 Updated the main layout with some more visibility to the Patreon and Contact links; added a drafts folder with a post template and upcoming post
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-06-09 13:23:08 -04:00
11a1255b32 Fixed missing link in the Honey callout
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-03-05 15:18:19 -05:00
77478a1df6 Removed Amazon affiliate callout; added Honey affiliate callout
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-03-05 15:16:13 -05:00
3e7a6f2ef7 Added second webserver to Woodpecker config
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2022-03-05 15:13:56 -05:00
b09ab1634c Added Woodpecker CI config
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-03-05 15:11:52 -05:00
8d0c1c6633 Updated the Support page 2022-02-19 13:37:54 -05:00
c8478ffd29 Added new blog post talking about how the site is built with Jekyll 2022-02-19 13:32:45 -05:00
b0e438adcd Changed how the blog post links are generated; modified the blog post template to show the post's title and date 2022-02-19 13:32:31 -05:00
52192aedef Updated the featured videos section for Bit Goblin 2022-01-03 23:40:15 -05:00
d27992d1f2 Added some hover animations for nav links 2021-08-21 21:50:41 -04:00
e7e54fb543 Added output file extension to permalinks so the automatically generated links would work in production 2021-08-21 01:54:46 -04:00
31b63accd4 Made the featured YouTube video links land on the page while scrolling down 2021-08-21 01:44:21 -04:00
a688fc248c Moved some values to a variables file 2021-08-21 00:08:27 -04:00
dad601e54b Updated SASS configuration 2021-08-20 23:38:00 -04:00
4abc629afa Added some parallax to the footer - the footer now gets revealed as you scroll down instead of moving with the page 2021-08-20 22:52:10 -04:00
1904e631e6 Updated README 2021-08-20 22:25:26 -04:00
20769287d4 Updated text on the home page 2021-08-20 22:24:11 -04:00
8bdd87b98a Added some more parallax to the main header; added a sponsors page; added more text to the home page 2021-08-20 21:51:16 -04:00
97b429fd0a Shrank some margins to leave less wasted whitespace 2021-08-20 10:15:47 -04:00
6823f9c0c0 Adjusted some links in the navigation; changed the permalinks for blog posts 2021-08-19 22:36:04 -04:00
a4ef42777f Removed forum and minecraft links from main navigation - these will get added to the footer 2021-08-19 16:22:56 -04:00
abd5dbd9b1 Moved some common links to the config.yml file; continued work on the initial blog post 2021-08-19 15:36:28 -04:00
788e7d87f3 Added more content to the home page 2021-08-19 14:58:37 -04:00
82d97f7dc9 Added coffeescript support; Added YouTube video sections to the home page; added contact page and removed about page; made lots of style tweaks 2021-08-18 19:41:28 -04:00
6c1cc49f8e Updated the home page 2021-08-18 11:21:57 -04:00
4ca12a0654 Started work on a new layout 2021-08-17 14:41:24 -04:00
74b55dd4fe Initial Jekyll project structure 2021-08-17 13:11:59 -04:00
36 changed files with 796 additions and 2 deletions

26
.woodpecker.yml Normal file
View File

@ -0,0 +1,26 @@
pipeline:
build:
image: jekyll/jekyll:4
environment:
- JEKYLL_ROOTLESS=1
commands:
- mkdir _site
- jekyll build -s src/ --disable-disk-cache
deploy:
image: appleboy/drone-scp
settings:
host:
- www1.int.metaunix.net
- www2.int.metaunix.net
user: xadmin
port: 22
password:
from_secret: ssh_password
command_timeout: 2m
target: /var/www/bitgoblin.tech
source: ./_site/*
rm: True
strip_components: 1
when:
event: tag

View File

@ -1,3 +1,7 @@
# website
# Bit Goblin
Bit Goblin main website, built with Jekyll
The Bit Goblin main website, built with Jekyll.
## Development
Assuming you have docker installed, you can simply run the script `bin/docker-watch.sh` to start the development container that will watch for changes and rebuild the site automatically.

9
bin/docker-watch.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh
docker run -d --rm \
--volume="$PWD/src:/srv/jekyll" \
--publish 4000:4000 \
--name="jekyll" \
jekyll/jekyll:4 \
jekyll serve \
--drafts

5
src/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
_site
.sass-cache
.jekyll-cache
.jekyll-metadata
vendor

25
src/404.html Normal file
View File

@ -0,0 +1,25 @@
---
permalink: /404.html
layout: default
---
<style type="text/css" media="screen">
.container {
margin: 10px auto;
max-width: 600px;
text-align: center;
}
h1 {
margin: 30px 0;
font-size: 4em;
line-height: 1;
letter-spacing: -1px;
}
</style>
<div class="container">
<h1>404</h1>
<p><strong>Page not found :(</strong></p>
<p>The requested page could not be found.</p>
</div>

34
src/Gemfile Normal file
View File

@ -0,0 +1,34 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 4.2.0"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
gem "jekyll-coffeescript"
end
group :development do
gem "webrick"
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", "~> 1.2"
gem "tzinfo-data"
end
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]

91
src/Gemfile.lock Normal file
View File

@ -0,0 +1,91 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
colorator (1.1.0)
concurrent-ruby (1.1.9)
em-websocket (0.5.2)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
execjs (2.8.1)
ffi (1.15.3)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (1.8.10)
concurrent-ruby (~> 1.0)
jekyll (4.2.0)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.4.0)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 2.0)
jekyll-coffeescript (2.0.0)
coffee-script (~> 2.2)
coffee-script-source (~> 1.12)
jekyll-feed (0.15.1)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.7.1)
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.3.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.6.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.6)
rb-fsevent (0.11.0)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (3.26.0)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
terminal-table (2.0.0)
unicode-display_width (~> 1.1, >= 1.1.1)
unicode-display_width (1.7.0)
webrick (1.8.1)
PLATFORMS
ruby
DEPENDENCIES
jekyll (~> 4.2.0)
jekyll-coffeescript
jekyll-feed (~> 0.12)
minima (~> 2.5)
tzinfo (~> 1.2)
tzinfo-data
wdm (~> 0.1.1)
webrick
BUNDLED WITH
2.2.24

25
src/_config.yml Normal file
View File

@ -0,0 +1,25 @@
# Welcome to Jekyll!
title: 'Bit Goblin'
email: 'gballantine@bitgoblin.tech'
description: >-
The Bit Goblin main website, a place for cool tech things.
baseurl: '/'
url: 'https://www.bitgoblin.tech'
links:
bitgoblin_channel: 'https://youtube.com/BitGoblin'
ascendings_channel: 'https://www.youtube.com/channel/UCCWlMg8oP9pz4Zlu4iZjPFw'
twitch_channel: 'https://twitch.tv/brotherballan'
discord_invite: 'https://www.youtube.com/redirect?event=channel_banner&redir_token=QUFFLUhqbjZzc29mblpxVGE0MVZnRXctM2M1Zy1LQ1p1UXxBQ3Jtc0ttbl9yWHdGVWF1QXJFRmh4WGp0MDFKVzNUMnZDOHFxNUQwZmdCbkhkbXFwQjFSRTVGemIwdXpTbC1pV2FwMmMxaUhKMnVMN2NLY0J0ZWFsenVBYmZtY1VUWjBYdXpKVDVFWThaZU1Fb3J3RHVQSDBNYw&q=https%3A%2F%2Fdiscord.gg%2FuVNAJ4nrB9'
forum: 'https://forum.bitgoblin.tech'
minecraft_website: 'https://mc.bitgoblin.tech'
patreon_link: 'https://www.patreon.com/BitGoblin'
# Build settings
plugins:
- jekyll-feed
- jekyll-coffeescript
sass:
sass_dir: 'assets/stylesheets'
style: 'compressed'

0
src/_drafts/.gitkeep Normal file
View File

View File

@ -0,0 +1,21 @@
---
layout: post
title: "Farewell, Atom."
description: "Atom was an awesome text editor back in its day, and now GitHub is putting it to rest."
date: 2021-07-17 09:32:11 -0400
tags: text-editors programming foss
---
Recently, back on June 8th of 2022, GitHub announced that it set an end-of-life of December 15th, 2022 for Atom. What was once a super popular text editor in the mid-2010s that has since fallen behind the times a bit,
### History
### Technological Advances
Atom brought along with it some pretty awesome technological advances, the primary one being Electron. Initially referred to as "Atom Shell", Electron quickly took off as a way to utilize the open source web browser Chromium as a base for desktop apps, and build on top of it using web technologies (HTML, CSS, and JavaScript) and Node.js.
### Signing Off...
Overall, I'm going to miss Atom. Sure, Sublime Text was more performant and VS Code has a much larger community these days, but it still has a place in my heart since I used it for several years when I started getting more serious in my IT career and I thought it was kinda awesome how the community around Atom exploded so quickly. It seemed like Atom's community shot well past that of the other well-established text editors of the time, practically overnight. Plus I always thought the "a hackable text editor for the 21st century" was such a cool slogan. Suffice to say it has a special place in my heart, so I'll simply end this post with "Farewell, Atom."

View File

@ -0,0 +1,31 @@
---
layout: post
title: "All Adventures Begin with Microsoft Edge"
description: "This is part one of my Web Switching series, where I'm taking a look at other web browsers to see if I'm going to permanently switch from Mozilla Firefox."
date: 2022-06-09 11:54:26 -0400
tags: web-switched web-browsers microsoft microsoft-edge
---
I'm getting bored of Firefox. It works well and I love that it's open-source, but just being open-source isn't enough and I trust Mozilla about as much as I trust Google. Thus I'm ready for a change, and I'm going to start poking around some of the other major web browsers. Chrome/Chromium, Opera, Edge, Vivaldi, Brave, and possibly some others are my targets to try out. I'm going to give each browser about a 30 day trial run as my daily driver (note: I'll still be using other browsers for various things like maintaining multiple Google account sessions simultaneously), and the first one I'll be taking a look at is Microsoft Edge.
This post will be accompanied by a video shortly, this is just a sneak peak for that video with my thoughts on Edge so far. I'll link the video here when it's live.
### What is Edge?
Microsoft's successor to Internet Explorer. Initially started out with their own rendering engine, but later based on Chromium and thus Google's Blink rendering engine. I've always liked Blink as it's super snappy.
### Things I like...
* Installing it was easy - Microsoft provide a Linux repo (nothing special)
* Default theme (color themes) are beautiful - I'm partial to the Cool Blue one
* Signing in to my Microsoft account was easy (nothing special)
* I can use Chromecast from my browser (true for all Chromium browsers)
### Things I don't like...
* Starting Edge doesn't always restore my sessions, and when it does it doesn't always restore the tabs to their proper windows.
* Can't find a way to change the search engine. I'm trying Bing out for now and it's doing fine for me (plus the Bing Rewards are nice!), but I'd like the option to change it.
* Occasionally one window will pin itself to all of my workspaces and can't be unpinned without closing
* Desktop notifications don't timeout
<< Conclude the discussion of the blog post, plus shout out the [YouTube channel]({{ site.links.bitgoblin_channel }}), [Twitch channel]({{ site.links.twitch_channel }} [Patreon]({{ site.links.patreon_link }}), [Discord server]({{ site.links.discord_invite }}), etc >>

View File

@ -0,0 +1,33 @@
---
layout: post
title: "Sinatra (Ruby) is Beautiful."
description: "Sinatra is a beautifully simple web framework. It's old, but it works!"
date: 2023-07-14 09:00:00 -0400
tags: linux
---
By trade I'm a System Administrator/Network Engineer, so most of my days are filled with deploying applications, dealing with oddball software vendors and their lackluster documentation, licensing (yuck!), and planning/building out infrastructure to support operations. But I also like to do some coding on the side, and in particular I like to see what I can build to maybe be useful one day, and in particular I like spinning up web sites/apps.
Thus enters [Sinatra](https://sinatrarb.com/). It's a very simple and lightweight framework for building web applications using a DSL.
## The Exciting First Dance! ##
## Some Quirks... ##
While Sinatra is really easy to get going, there are some downsides to using it. First off, for anything more than just a simple web page (for which you'd probably just want to do plain old HTML or a static site generator like Jekyll), you'll want to add on some things. Things like controllers which help with code organization and flow; an ORM or at least some sort of database layer to handle storing/retrieving data; a templating engine to format and render web pages to users; a mailer tool to (obviously) send emails; and much more. This really can slow down development if you don't already have an idea of what tools are available in the Ruby ecosystem and your preferences for them.
And on a similar note, because Sinatra is very barebones and unopinionated, you need to bring your own file/folder structure for your code, and there are several different wants to handle it. There's the classic single file app where everything is in one file, or you can break various bits and bobs out into different files but you need to find a way to either manually or automatically load those files. Oh, and you need to figure out how to define your code with Ruby modules or classes so they can be read/loaded/routed properly.
Also, a lot of people won't like the fact that it's built on Ruby, which is comparatively a slow language, and in my opinion the syntax is a bit "too fluid" with the lack of brackets and whitespace requirements.
## Padrino maybe? ##
There's also this thing called Padrino, which aims to kinda standardize Sinatra a bit to get you through all of the usual code organization and boilerplate challenges, and also supercharge it with a CLI to generate models, controllers, or even a whole app!
Frankly, this seems like a really cool tool, but it's not one that I've used extensively so I can't say for sure if it's rock-solid or not. It seems like a great way to go though, since it does tackle a lot of the issues that slow down Sinatra development, and frankly if I had run into this sooner (and not forgotten about it) then I'd probably use it more often.
## That's All Folks! ##
To summarize: I generally use Linux Mint on my PCs though Manjaro might take over the daily driver role soon, and I primarily use Debian in my homelab alongside a smattering of FreeBSD and RHEL-clones that might be getting phased out soon. Simple enough, right?

21
src/_drafts/template.md Normal file
View File

@ -0,0 +1,21 @@
---
layout: post
title: "This is an Awesome Title."
description: "There's not much else to say... welcome to Bit Goblin!"
date: 2021-07-17 09:32:11 -0400
tags: housekeeping
---
<< Here will be a short introduction to whatever this blog post is about... >>
<< If there's a related video for this post, mention it here. >>
<< Post content... >>
Bacon ipsum dolor amet fatback ham turducken corned beef alcatra flank biltong beef ribs chicken chuck strip steak meatloaf salami short loin. Doner flank strip steak venison, bacon chuck beef kielbasa shankle chicken pork loin rump sausage tongue. Doner flank ribeye meatball. Ham filet mignon t-bone ball tip, frankfurter fatback ribeye brisket. Capicola ground round ham, alcatra drumstick tri-tip strip steak ribeye fatback kielbasa bresaola swine salami. Pork belly bresaola andouille shankle tenderloin spare ribs.
Bresaola biltong beef sausage ground round turducken ham hock, venison leberkas. Pork beef ribs strip steak burgdoggen. Rump sausage tongue landjaeger short loin salami, sirloin hamburger pork loin tail. Pork belly ball tip short ribs shoulder, tongue pork cow. Meatball corned beef pancetta ham hock. Turkey sausage tenderloin cow. Pastrami short loin drumstick beef ribs, pancetta salami buffalo chicken ball tip t-bone capicola beef biltong fatback.
Andouille ribeye shank porchetta. Doner andouille meatball, jerky tail filet mignon strip steak shoulder beef ribs tri-tip cupim. Tongue brisket spare ribs, capicola alcatra leberkas venison cow doner. Burgdoggen chicken tail jowl doner. Ground round turducken chuck, sausage venison salami tri-tip pork chislic. Beef spare ribs pancetta sausage andouille rump kevin pork chop chuck short ribs pork loin.
<< Conclude the discussion of the blog post, plus shout out the [YouTube channel]({{ site.links.bitgoblin_channel }}), [Twitch channel]({{ site.links.twitch_channel }} [Patreon]({{ site.links.patreon_link }}), [Discord server]({{ site.links.discord_invite }}), etc >>

53
src/_layouts/default.html Normal file
View File

@ -0,0 +1,53 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ page.title }}</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css">
<link rel="stylesheet" href="/assets/stylesheets/lumbridge.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="/assets/scripts/varrock.js"></script>
</head>
<body>
<div id="wrapper">
<header id="header-box">
<div id="header-logo">
<h1>Bit Goblin</h1>
</div>
</header>
<nav id="navigation">
<ul>
<li><a href="{% link index.markdown %}">Home</a></li>
<li><a href="{% link blog.markdown %}">Blog Posts</a></li>
<li><a href="{% link support.markdown %}">Support</a></li>
<li><a href="{% link contact.markdown %}">Contact</a></li>
</ul>
</nav>
<div id="main-content" class="container">
<div class="row">
<div class="columns twelve">
{{ content }}
</div>
</div>
</div>
</div>
<footer id="footer">
<div class="row">
<div class="columns three">
<p>Support me over on <a href="{{ site.links.patreon_link }}">Patreon</a>!</p>
</div>
<div class="columns six">
<p class="u-text-center">{{ site.description }}</p>
<p class="u-text-center">&copy; Bit Goblin | all rights reserved.</p>
</div>
<div class="columns three">
<p>Feel free to <a href="{% link contact.markdown %}">contact me</a> for any business inquiries.</p>
</div>
</div>
</footer>
</body>
</html>

85
src/_layouts/home.html Normal file
View File

@ -0,0 +1,85 @@
---
layout: default
---
{{ content }}
<hr>
<!-- Bit Goblin YouTube channel section -->
<section id="bitgoblin-section" class="youtube-section">
<h3>Find Bit Goblin on <a href="{{ site.links.bitgoblin_channel }}">YouTube</a>.</h3>
<div class="row">
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=cYSLW1qIzKE">
<img class="u-max-full-width" src="/assets/images/bitgoblin-thumbnails/bg-46-thumbnail.png" alt="Add a Bunch of Hard Drives to Your PC! (kinda...)">
<p>How to Install the NVIDIA Driver on Linux</p>
</a></div>
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=4oCuX4xFieo">
<img class="u-max-full-width" src="/assets/images/bitgoblin-thumbnails/bg-20-thumbnail.png" alt="How About a Cheap, Used AMD Graphics Card? (R9 270X)">
<p>How About a Cheap, Used AMD Graphics Card? (R9 270X)</p>
</a></div>
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=kMaFYUNwE5U">
<img class="u-max-full-width" src="/assets/images/bitgoblin-thumbnails/bg-36-thumbnail.png" alt="Let's Take a Look at Debian 10 Buster">
<p>Let's Take a Look at Debian 10 "Buster"</p>
</a></div>
</div>
</section>
<hr>
<!-- Ascendings YouTube channel section -->
<section id="Ascendings-section" class="youtube-section">
<h3>Like watching Old School RuneScape videos? Go watch <a href="{{ site.links.ascendings_channel }}">Ascendings</a>.</h3>
<div class="row">
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=LtOpQv6ZBq0&list=PLIg6BQwweIwGdQNrbDMwGPxifgJ7iIXnE">
<img class="u-max-full-width" src="/assets/images/ascendings-thumbnails/asc-37-thumbnail.png" alt="F2P Hardcore Ironman Playlist">
<p>F2P Hardcore Ironman Playlist</p>
</a></div>
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=AhcCiqDegr0">
<img class="u-max-full-width" src="/assets/images/ascendings-thumbnails/asc-30-thumbnail.jpg" alt="Is Daeyalt Essence Worth Using?">
<p>Is Daeyalt Essence Worth Using?</p>
</a></div>
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=W3pFR_e3OuM">
<img class="u-max-full-width" src="/assets/images/ascendings-thumbnails/asc-19-thumbnail.jpg" alt="Karambwan Cooking alt">
<p>Karambwan Cooking alt</p>
</a></div>
</div>
</section>
<hr>
<!-- Minecraft server callout section -->
<section id="minecraft-section">
<h3>Play Minecraft? Go check out the <a href="{{ site.links.minecraft_website }}">community Minecraft server</a>!</h3>
<img class="u-max-full-width" src="https://static.wikia.nocookie.net/minecraft_gamepedia/images/f/ff/Java_Edition_logo_12.png" alt="Minecraft Java Edition logo">
<p>This world is open to everyone who would like to play on it. There are no mods installed, and currently only world is available. I am open to adding mods in the future and even adding more worlds, just let me know!</p>
<p><strong>Note:</strong> The website is currently a work in progress, but it will be up soon!</p>
</section>
<hr>
<!-- Bit Goblin forum callout section -->
<section id="forum-section">
<h3>You can also participate in the <a href="{{ site.links.forum }}">community forum</a>!</h3>
<p>Some of us love the old-style internet forums to converse and help others out. Anything you would like to discuss may happen here under the proper forum sections.</p>
<p><strong>Note:</strong> Currently the Bit Goblin forum is under construction, but check back soon if you'd like to participate!</p>
</section>

5
src/_layouts/page.html Normal file
View File

@ -0,0 +1,5 @@
---
layout: default
---
{{ content }}

10
src/_layouts/post.html Normal file
View File

@ -0,0 +1,10 @@
---
layout: default
---
<h1>{{ page.title }}</h1>
<p class="post-info">{{ page.date | date: "%a %b %d, %Y" }}</p>
{{ content }}
<p>If you want to read more posts like this, be sure to subscribe to the <a href="/feed.xml">RSS feed</a>! Else, if you like watching videos then head on over to <a href="{{ site.links.bitgoblin_channel }}">my YouTube channel</a> or follow me over on <a href="{{ site.links.twitch_channel }}">Twitch</a> where I occasionally stream games. Feel free to join the <a href="{{ site.links.discord_invite }}">Bit Goblin community on Discord</a> as it is slowly growing. Finally, if you'd like to support me in my endeavors, head on over to <a href="{{ site.links.patreon_link }}">Patreon</a> and pitch me a few bucks if you can.</p>

View File

@ -0,0 +1,17 @@
---
layout: post
title: "Welcome to Bit Goblin!"
description: "There's not much else to say... welcome to Bit Goblin!"
date: 2021-08-17 13:11:02 -0400
tags: housekeeping
---
There's not much else to say... welcome to Bit Goblin!
If you're here then you likely don't need a real introduction since you're probably coming from YouTube or some other platform that you've met me on. But either way, in case you don't already know me, I'm a fun-loving, tech nerd that loves playing with anything relating to computers. Whether it's networking, system administration, database administration, building PCs, software development... the list goes on, but I love it all. To me, it's really fun building things and making things do what I want them to, whether it's to make my life a little bit easier, self-host some services to better safeguard my data, or just for fun. (...it's mostly for fun!)
The content I post is mostly centered around me just documenting what I'm doing for my own future reference if I ever run into the same problems, and hopefully it helps you out as well or at least gets your gears turning and motivates you to go out and play with tech in your own way.
The primary content that I publish is over on YouTube on my [Bit Goblin channel]({{ site.links.bitgoblin_channel }}), and I also semi-regularly post videos on Old School RuneScape over on [Ascendings]({{ site.links.ascendings_channel }}). If you prefer watching live content more, then you can head on over to [my Twitch channel]({{ site.links.twitch_channel }}) - I'm not nearly as active over there but I do hop occasionally to interact with you all and have a good time playing games (mostly Old School RuneScape... it's my favorite game, stop judging me).
I'm also huge into building an inclusive, supportive community for great people to chat, chill and help each other out. In this vein I've spun up a [Discord server]({{ site.links.discord_invite }}) for you all to go hang out in and chat, and I'm currently in the process of spinning up a Minecraft server for you all to play on and a forum for a more laid back, old school-style way to talk to one another and get help. I'm open to spinning up more services for the community, so be sure to let me know if there's anything you want!

View File

@ -0,0 +1,33 @@
---
layout: post
title: "How This Site is Made (with Jekyll)"
description: "These days, you can make a website MANY different ways. So I chose Jekyll..."
date: 2022-02-19 12:31:10 -0400
tags: web-design
---
There are MANY ways to build a website these days. You have the old-school ways of hand-coding your HTML's and CSS's, to building a dynamically-generated website with new-agey tools like webpack and whatever-node-framework-is-in-right-now, and even using point-and-click tools like Wordpress or Squarespace. No matter what you want to do and your skill level, there's something for you.
Personally, I LOVE building websites from the ground up. Not necessarily coding everything from scratch, but at least starting from something barebones that's extensible enough so I can plug-n-play my own choice of tools to make that's tailored to me. This is why when I need to make a website, depending on the requirements I'll use frameworks like Slim (PHP), Express.js (Node.js), Gin (Go), and the like - minimalist frameworks (or routers...) that I can plug in things like templating engines, an ORM or some sort of database abstraction layer, and authentication mechanisms.
I also firmly believe that NOT every single website needs to be built to accept user inputs, or dynamically generate web pages on the fly; sometimes you only need a simple, static webpage or set of webpages that are small, concise, and quick to load.
## Introducing Jekyll ##
This is where static website generators come into play, and I went with [Jekyll](https://jekyllrb.com/). It's a really neat tool that combines the magic of the Liquid templating engine with the simplicity of markdown files to create a static, blog-aware site. Heck, it's so cool that it's used by GitHub! It's how they generate webpages for GitHub Pages!
Part of what makes Jekyll great is its extensibility. There are plugins available for things like compiling SASS/SCSS stylesheets and CoffeeScript, generating RSS feeds and sitemaps, displaying GitHub Gists, and many other things to help you in generating your site. Plus, there are community-maintained themes that can be used to give yourself a headstart with designing your site so you can focus on the content rather than the boring CSS designing junk.
It does require some setup to get your site scaffolding and templating setup, especially if you want to use other tools like CoffeeScript to compile your JavaScript scripts (that's me!) and want to change your templating engine. But, once you've got your site configured, creating a new blog post is as simple as creating a new markdown file in your \_posts folder, fill out the post metadata, add some content and BAM! it's ready to go.
Also, the developers of Jekyll were smart: they not allow you to build a site into static HTML files to serve on your site, but they also built in a tool to "watch" your source directory for changes and automatically rebuild it on the fly so you can easily see your changes as you're developing it or writing a new post.
## Experiences with Hugo ##
At this point I'd like to mention that I also really like [Hugo](https://gohugo.io), which is a static site generator in the same vein as Jekyll. It's written in Go, so it's typically a LOT faster to render sites, and it's also just a single binary so it's easier to install and maintain a single version that you build your site with.
Now as for why I went with Jekyll: simply just familiarity. I can go into a long debate about the pros and cons of each and talk about why Jekyll fits my use better, but realistically both are FANTASTIC tools that I'd recommend to anyone looking to build a static site. I don't need your confirmation that I made the correct choice ;).
## That's all for now! ##
Well, that's it for now. I hope you were able to learn something from this - I just wanted to talk about how I created this site with Jekyll since I'm really happy with the setup now. It's not too fancy, but isn't boring. Now the next step is integrating it with some CI to automatically deploy new versions of the site...

View File

@ -0,0 +1,42 @@
---
layout: post
title: "What Linux Distro Do I Use?"
description: "I love distro-hopping, but there are a few distros that I tend to gravitate towards."
date: 2023-07-07 00:01:28 -0400
tags: linux
---
"What Linux distribution should I use?" is a topic that is very frequently covered, and as much as I want to fall into that creative trap, I'm not going to. Instead I'm going to discuss a few of the distros that I use the most in my daily life to give you a real-world perspective on what works and what doesn't, and maybe help inform you to make a decision of what distro to run. Or maybe not, sometimes it's just fun reading about people using Linux!
## Desktop ##
Let's start with a tricky one: what distro do I use on my desktops? If you know me, then you know I like to distro-hop fairly frequently just to kinda get a feel for what's going on in the Linux ecosystem. However, I do tend to fallback on Linux Mint the most. It scratches the itch of having a slow-moving base system but also provides more up-to-date packages for frequently used apps like Firefox, and their implementation of the Cinnamon desktop really is quite nice. Also, a major plus is it also gets a lot of third-party software and community support simply by being based on Ubuntu, and the importance of this cannot be overstated. Want to run a weird app? It's got an Ubuntu download. Have a weird issue? The community's likely got a fix for you. Heck you can even use AMD's proprietary drivers on Mint, which are notorious being a pain in the ass to install, so long as you upgrade to the Ubuntu HWE kernel.
Full stop, if you're looking for a distro to try out and you haven't yet, or if you're just a new user switching to Linux for the first time, I'd highly recommend Linux Mint. It really is a solid distro with a stable base (based on Ubuntu LTS), important apps like Firefox get updates instead of being an ESR release, it provides fantastic GUI tools like Driver Manager and Update Manager for those who don't want to use a terminal, and you don't have to worry about snaps or flatpaks if you don't want to.
That said, currently I'm running Manjaro on my gaming PC/workstation and both of my laptops. The reasoning for this was, frankly, I was getting bored of Linux Mint, and I was seeing too many small-but-weird things cropping up, so I decided to mix things up. It had been awhile since I used Manjaro, so I gave it a try... and boy after installing it on my Galago Pro was I happy! My major gripe of the past - that I was having trouble mounting Samba shares for some inexplicable reason - was gone, and once I touched up my setup shell script for some new software additions (notably [Pulsar](https://pulsar.dev)) I was able to pretty much get going within like an hour. I don't know if this will be my mainstay, but I am pretty happy with it so far, and I can swap between desktop environments (yes I'm one of those weirdos that has like 100 DEs installed on my systems) freely without weird quirks popping up, like GNOME not going to sleep properly or display scaling acting inconsistently in KDE.
## Server ##
In a way, my server usage is simpler... but also more complex? As a baseline, everything in my homelab runs on Debian stable, and this is for a few reasons:
1. I like the ~2 years update cadence that Debian stable releases give me, and having the extra third year to wait while supporting software like Puppet catches up is amazing.
2. In my experience the Debian community has been quick with pushing security patches, which is important to me on a server.
3. Things just generally don't change in between major releases, or when it does it doesn't seem to be as game-breaking as other distros can be.
4. Most importantly, I started learning Linux server administration on Ubuntu Server (13.10 beta, but that's a story for another time), and over the years I've just felt most comfortable on Debian systems.
The tl;dr is just that I love Debian and Debian loves me. But I do also have a couple other OSes running in my homelab, those being AlmaLinux/Rocky Linux, and FreeBSD. I always liked playing with CentOS and having a system that could run for several years without needing a major upgrade, and when CloudLinux got their replacement (AlmaLinux) out a few months later I hopped on that bandwagon and tried it out. Surprisingly everything just worked as expected, and I've had several servers running it since then. I've recently started doodling around with Rocky Linux now that RHEL 9 is out, but of course the RHEL-clones are again going through turmoil with Red Hat closing their source code, I feel like it's best to move off of a product that the upstream wants to kill off. It sucks, it was a great community that formed around it, but it is what it is. Fuck IBM.
FreeBSD only runs my internal mail relays and I think something else? I really like FreeBSD for what it offers - it satisfies the curmudgeon-side of me that hates a lot of SystemD's parts - but a lot of the tooling that I use on a daily basis either for work or video editing either requires or just runs on Linux. So there isn't a whole lot of want on my end to fully switch over to FreeBSD, especially since I'd lose access to Docker.
## NAS ##
This is related to my homelab but I felt deserved its own section since it's its own rabbit hole of "what works best for X?" I'm actually running both of the popular DIY NAS operating systems in my lab - [unRAID](https://unraid.net) and [TrueNAS](https://www.truenas.com). My TrueNAS system is actually an old FreeNAS system I built back in the day using five 3TB WD Red drives, is currently housing 6TB Seagate Ironwolf drives, and is undergoing a transition to 8TB drives to squeeze a little more space out of it. I use this primarily as my "personal" NAS, where I store my TV shows, movies, music, and personal documents, and I also have a RAIDz mirror of two 1TB SSDs hosting my virtual machine disks. This thing has served me very well for about seven years now, and has undergone numerous hardware upgrades, drive failures and subsequent replacements, and OS/ZFS updates. It really is a solid product.
The unRAID system I built to be my "Bit Goblin" NAS, which I use strictly for my Bit Goblin video file share and any files pertaining to the channel. This was built with unRAID for a couple reasons: I really wanted the ability to build up the array with new drives over time as I could afford them (I just bought a house and my budget was tight), and, like a lot of my projects, I just wanted to play around with something new. I didn't initially (and still don't) need the extra performance a proper ZFS array would grant me over unRAID's setup that only really nets you one drive's worth of performance at a time, so I prioritized the expansion abilities provided by unRAID. It sucks that it costs money, but hey, good software doesn't grow on trees, and so far I've been pretty happy with it.
I will mention that I also have a future plan to convert my "Bit Goblin" NAS into an archive/backup server and create a separate NAS with TrueNAS and a better caching setup when the time comes that I need extra performance. Which may come when I move to editing 4K video, or if I am able to hire a couple of video editors at some point, but again this is a potential plan for the future and nothing is set in stone yet. Who knows if I'll even get to that point!
## That's All Folks! ##
To summarize: I generally use Linux Mint on my PCs though Manjaro might take over the daily driver role soon, and I primarily use Debian in my homelab alongside a smattering of FreeBSD and RHEL-clones that might be getting phased out soon. Simple enough, right?

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 KiB

BIN
src/assets/images/bg-banner.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

BIN
src/assets/images/bg-icon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 999 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 KiB

View File

@ -0,0 +1,18 @@
---
---
$(window).scroll ->
wScroll = $(this).scrollTop()
# Header parallax
$('#header-logo').css('transform', 'translate(-50%, ' + (wScroll / 2) + 'px)')
$('#header-logo h1').css('transform', 'translateY(-' + (wScroll / 2) + 'px)')
# YouTube section parallax
if not (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))
$('.youtube-section').each (i, e) ->
if wScroll >= ($(e).offset().top - $(window).height())
offset = (Math.min(0, wScroll - $(e).offset().top + $(window).height() - 500)).toFixed()
$(e).find('.video-card:first-child').css('transform': 'translate(' + offset + 'px, ' + Math.abs(offset * 0.2) + 'px)')
$(e).find('.video-card:last-child').css('transform': 'translate(' + Math.abs(offset) + 'px, ' + Math.abs(offset * 0.2) + 'px)')

View File

@ -0,0 +1,4 @@
$footer-height: 165px
$color-primary: #1e76d1
$color-primary-hover: darken(#1e76d1, 10%)

View File

@ -0,0 +1,159 @@
---
---
@import "_variables"
body
font-family: "Gill Sans", sans-serif
font-size: 2rem
margin: 0
padding-bottom: $footer-height
a
color: $color-primary
font-weight: 500
text-decoration: none
transition: color 300ms ease-in-out
&:hover
color: $color-primary-hover
hr
margin-top: 35px
margin-bottom: 35px
.u-text-center
text-align: center
.post-info
color: #999
font-style: italic
// this wrapper is only used to hide the footer
#wrapper
position: relative
z-index: 10
width: 100%
height: 100%
margin: 0
padding: 0
background: white
// header
#header-box
position: relative
z-index: 2
height: 500px
background:
image: url(/assets/images/bg-banner.jpg)
size: auto 600px
position: top center
attachment: fixed
overflow: hidden
#header-logo
height: 350px
width: 350px
background:
image: url(/assets/images/bg-icon.png)
position: center
repeat: no-repeat
size: contain
position: absolute
top: 40px
left: 50%
transform: translateX(-50%)
h1
margin-top: calc(100% + 25px)
color: white
font:
weight: bold
text-align: center
#navigation
width: 100%
margin-top: 40px
margin-bottom: 40px
text-align: center
ul
list-style: none
li
display: inline-block
margin: 0
padding: 0
border-radius: 10px
font-size: 3rem
transition: all 300ms ease-in-out
&:hover
background: rgba(#000000, 0.1)
margin-left: 25px
margin-right: 25px
transform: scale(1.1)
a
padding: 20px 30px
text-decoration: underline
#main-content
padding-bottom: 40px
// home page styles
.youtube-section
@media only screen and (min-device-width: 960px)
.row
position: relative
.video-card:nth-child(1)
transform: translate(100px, 20px)
.video-card:nth-child(2)
position: relative
z-index: 20
.video-card:nth-child(3)
transform: translate(-100px, 20px)
.video-card a
display: block
margin-bottom: 25px
padding: 15px 20px 0
background: white
border: 2px solid #bbb
img, p
transition: all 300ms ease-in-out
&:hover
img
transform: scale(1.1)
p
transform: translate(20px, 10px) scale(1.1)
// Blog posts page
#post-list
list-style: none
li
padding: 15px 20px 0
border: 2px solid #bbb
.post-title
margin-bottom: 3px
.post-body
margin-bottom: 0
// footer section
#footer
box-sizing: border-box
position: fixed
z-index: 1
bottom: 0
width: 100%
height: $footer-height
padding-top: 35px
background: #212121
color: white

13
src/blog.markdown Normal file
View File

@ -0,0 +1,13 @@
---
layout: page
---
<ul id="post-list">
{% for post in site.posts %}
<li>
<h5 class="post-title"><a href="{{ post.url }}">{{ post.title }}</a></h5>
<p class="post-info">{{ post.date | date: "%a %b %d, %Y" }}</p>
<p>{{ post.description }}</p>
</li>
{% endfor %}
</ul>

5
src/contact.markdown Normal file
View File

@ -0,0 +1,5 @@
---
layout: page
---
If you're looking to contact me for business inqueries, feel free to email me at [gballantine@bitgoblin.tech](mailto:gballantine@bitgoblin.tech).

10
src/index.markdown Normal file
View File

@ -0,0 +1,10 @@
---
layout: home
---
Welcome! My name is Greg Ballantine and Bit Goblin is my passion project for creating YouTube videos on tech. I love tinkering with all things related to computers, and I enjoy documenting the things that I do so that others can use my struggles to ease their own. Whether it's buildings PCs, playing with networking gear, or exploring the beauty of Linux, there are lots of things to play with and try to help others with.
Not only do I create tech videos for Bit Goblin, but I'm also trying to build a community around it for great people to just chill, have fun, and help each other out when need arises. Ranging from the aforementioned YouTube videos on computer hardware, networking and Linux, to a community Minecraft server, a Discord server for everyone to relax and chat with each other, a future community forum and other services. Everyone is welcome to join the community, all I ask is that you simply just be excellent to each other. Easy enough, right?
I do work with sponsors to help fund my projects. If you're curious about who I've worked with before, check out the [Sponsors page]({% link sponsors.markdown %}).

5
src/sponsors.markdown Normal file
View File

@ -0,0 +1,5 @@
---
layout: page
---
These are the sponsors I work with...

10
src/support.markdown Normal file
View File

@ -0,0 +1,10 @@
---
layout: page
---
Unfortunately money doesn't grow on trees, and a lot of the stuff that I purchase to make videos on can be quite expensive. My content is available free-of-charge on YouTube, but if you don't mind helping support me financially any help would be much appreciated.
The primary way to support my work is through donations on [my Patreon page](https://patreon.com/BitGoblin). I don't have any reward tiers over there yet, but I do plan on adding some rewards at some point in the future.
You can also support me by [joining Honey using my referral link](https://www.joinhoney.com/ref/9ohqcf9)! Honey helps you save money on popular websites by searching for coupons to get you discounts while you're shopping. And the best part is that it's free!