Compare commits

...

55 Commits

Author SHA1 Message Date
011e887dbc Change the edited attribute to lastmod which is already implemented by the theme. 2025-12-08 08:25:48 -07:00
849cd8dca9 Add installation guides. 2025-12-08 08:23:28 -07:00
1c16b836a1 Shorten the subtitle and move its wording to the introduction. 2025-12-08 07:45:32 -07:00
6ad401b951 Spellcheck the new article. 2025-12-08 07:40:43 -07:00
4451eed3d0 Add email address to the bottom of each post. 2025-12-08 07:38:50 -07:00
21042fe8e0 Finalize content for Linux laptop article. 2025-12-08 07:38:33 -07:00
fd13570a30 Add draft with exerpt from a recent conversation about Linux laptops. 2025-12-08 07:09:11 -07:00
1ce075d1f8 Add more fields to the poetry archetype. 2025-12-08 07:07:54 -07:00
2650a586fc Change the default.md archetype to posts.md so it is used automatically by hugo new. 2025-12-08 07:07:41 -07:00
a2cd6c853c Add subheader in draft content. 2025-11-21 17:59:08 -07:00
ea2d23957d Reword as to not use you. 2025-11-21 11:25:01 -07:00
a4e02a0c43 Keep the draft tag until actually publishing. 2025-11-21 11:24:25 -07:00
80f8880aa9 Move information on layouts into main README since Hugo was actually trying to parse it as a layout file. 2025-11-21 11:23:52 -07:00
ed79eb891c Begin a file of WHY check-ins are bleh. 2025-11-21 11:20:27 -07:00
ab7d911937 Additional content for Am I Alive? 2025-11-21 11:20:10 -07:00
c547eac69e Add a README to the shortode folderwhich explains a few things.. 2025-11-21 11:19:53 -07:00
5cffb1ea62 Add a shortcode to hide blocks of content. 2025-11-21 11:19:39 -07:00
144ce59f3b Add ability to create comments by just allowing anything in the template and not doing anything with it. 2025-11-21 11:12:32 -07:00
a89665f6a4 Add ability to flag certain content as a Work In Progress or TBD. This makes it more noticeable in both content file and webpage. 2025-11-21 11:12:00 -07:00
9f8ab1d2d5 Remove extra whitespace in external links. 2025-11-21 11:11:16 -07:00
79ae67a4c0 Help the code block text stand out better by defining the languages. Remove the horizontal lines. 2025-11-21 10:01:18 -07:00
e5854a5778 Fixes for page formatting, some things were still a bit wonky. Looking better now for blogposts, tech guides, and poetry with audio sections. 2025-11-21 10:00:38 -07:00
27da4cbadd Begin adding content to a pinned blogpost. 2025-11-21 09:59:55 -07:00
f6e36aa6c6 If no text is provided for external-link, use the URL as the text. 2025-11-21 09:59:33 -07:00
f9be04dc7d Move to YAML for config, much easier to read and write. Got TOC hierarchy now working as expected. Other sections like goldmark and menu now make more sense too. 2025-11-21 09:58:19 -07:00
26964d8675 Addd TBD for CAD images. 2025-11-19 20:42:41 -07:00
de78abd352 Add TBD's to finish implementing external links. 2025-11-19 20:38:20 -07:00
6123692906 Prevent URLs from becoming links by markdownify. 2025-11-19 20:35:56 -07:00
20f874a586 Add break so that Odysee videos are never inline. 2025-11-19 20:35:38 -07:00
b3531c6f1f Do not end HTML shortcode tags on their own line, sometimes causes page to fail loading. 2025-11-19 20:29:57 -07:00
c3d905aa15 Fix external URLs and remove old URL markdown. 2025-11-19 20:20:19 -07:00
62048fa055 Shorten title for Apple WiFi Issues. 2025-11-19 20:18:30 -07:00
b654c9db08 Ensure shortcode alt text gets displayed as markdown. 2025-11-19 20:17:17 -07:00
15bf95cdfa Display external link text as markdown. 2025-11-19 20:16:02 -07:00
bbf9428ea9 Change camping chair article to completely use external links. 2025-11-19 20:15:47 -07:00
2a9523a63b Move embed for Odysee into a shortcode. 2025-11-19 20:08:44 -07:00
0a9c7270fb Remove excess newlines. 2025-11-19 20:08:14 -07:00
98db946a83 Add the viking chair's CAD images from Cognitive Delight. 2025-11-19 20:02:44 -07:00
15850d3c92 Add ability to have a fallback image if the primary no longer exists. 2025-11-19 20:02:17 -07:00
04eab8ff39 Finalize edits to the Apple WiFi article. 2025-11-19 20:01:48 -07:00
8d1be5af57 Release the Apple WiFi help guide. 2025-11-19 19:28:52 -07:00
54b7f45754 Large set of edits for Apple WiFi article. 2025-11-19 19:21:32 -07:00
8b039b54d1 Add method for creating links which open in new tabs. 2025-11-19 19:21:08 -07:00
419e8e3383 Beginning reviews and edits on Apple wifi post. 2025-11-19 14:33:42 -07:00
8729da7efb Simplify example hierarchy at the end. 2025-11-19 13:03:07 -07:00
427018d2c8 Add article on fixing Apple WiFi issue. Still needs spellchecking and review. 2025-11-19 13:01:46 -07:00
70ccf6d733 Add missing tags to SSH Keys. 2025-11-19 13:01:27 -07:00
94c1331121 Change 'disease' to 'sickness'. 2025-11-19 11:19:21 -07:00
d43b5959bf Align the dates better with th e comments. 2025-11-17 18:07:31 -07:00
696a2e635e Ensure that eBooks is capitalized correctly. 2025-11-17 18:07:17 -07:00
15edd8f006 Add a few more outline sections to will. 2025-11-17 18:07:07 -07:00
98b3edb7a8 Show the pinned category with a paperclip as well. 2025-11-17 18:01:57 -07:00
af0fe569a3 Do not show a tag, series, or category if it is called pinned. 2025-11-17 17:59:40 -07:00
1543c5602f Add a section in the footer to denote that the article is pinned. 2025-11-17 17:59:22 -07:00
a10daf86fd Add a paperclip icon for pinned articles. 2025-11-17 17:59:02 -07:00
37 changed files with 782 additions and 54 deletions

View File

@@ -7,3 +7,39 @@ Orignally created to move my recipes from a local flash drive to a small and sim
This website is going to be turned into something bigger, like a blog site of sorts.
Subdomain is going to be changed to musings., writings., articles., blog., works., or something more appropriate. [TBD/TODO]
# Project Structure
## layouts
### _default
TBD
### partials
TBD
### Short Codes
Short codes provide code utility in content files. They can call partials but not other short codes.
`comment.html` is intentionally blank, it allows comments in content files which do nothing.
For block comments, use `hide.html` such as:
```
{{< hide >}}
lalala
this is markdown content
# secret section not published yet
super duper unfinished content
{{< /hide >}}
```
### posts
Layouts specifically related to content under `/posts/`

View File

@@ -1,10 +1,13 @@
---
draft: true
pinned: false
title: "{{ replace .Name "-" " " | title }}"
subtitle: ""
author: bug
author: Bug
date: "{{ .Date }}"
toc: false
started:
lastmod:
toc: true
images:
tags:
- poetry

View File

@@ -1,9 +1,12 @@
---
draft: true
pinned: false
title: "{{ replace .Name "-" " " | title }}"
subtitle: ""
author: authorDefault
date: "{{ .Date }}"
started:
lastmod:
toc: true
images:
tags:

View File

@@ -0,0 +1,3 @@
---
title: eBooks
---

View File

@@ -1,30 +1,71 @@
---
draft: yes
title: "Is Chad Alive???"
date: TBD
pinned: true
draft: true
title: "Is Chad Alive??"
subtitle: "How to easily check if I'm alive and well!"
author: Hyperling
date: "2025-11-21T09:00:00-07:00"
toc: true
tags:
- blog
- blog
series:
- solitude
- solitude
categories:
- blogposts
toc: yes
- blogposts
aliases:
- /is-chad-alive
---
**This page has yet to be completed. Please check back later.**
## Most Likely
If you've been sent here because you asked if I'm doing alright, please bookmark this page so that you don't need to ask again. :)
### Code Changes
## Where to find "Signs of Life"
Here are a few ways to confirm that I'm alive and have been online recently.
### Most Likely
## Somewhat Likely
#### Code Changes
### Odysee Videos
I love working on my projects. The longest I'd likely go without changing something is a week. Don't worry about the technical details, just check the timestamps.
- {{< external-link "https://git.hyperling.com/me?tab=activity" >}}
#### Written Posts
## Least Likely
This website is new (at least compared to when this article is being posted) and I'm enjoying adding things every few days. Eventually it may just be weekly or biweekly though.
### Recent Photos
- {{< external-link "https://works.hyperling.com/posts" "/posts" >}}
### Somewhat Likely
#### Odysee Videos
There's not much rhyme or reason as to when I make videos. Someties there are a few ina week, sometimes only one every quarter or half year. It's a better proof of life than just code and written changes though, I suppose.
- {{< external-link "https://odysee.com/@HyperVegan:2" >}}
### Least Likely
#### Recent Photos
As of this article I'm well over a year late on posting photos. I've worked on organizing them but it's just not much of a priority. I'll get to them eventually, probably.
- {{< external-link "https://hyperling.com/photos/" >}}
## Conclusion
I really don't like check-ins, please don't ask for them. xD
Ask me to hang out instead! Or if we're not currently near each other, tell me some cool news and I'll respond when I can.
I tend to ignore messages such as "Everything alright?". So seriously, don't do it. 😂
{{% hide %}}
- Please see "{{< external-link "Managing Your Emotions" "/stop-projecting-fear-on-me" >}}" to understand why.]
{{% /hide %}}
Otherwise don't be surprised if I take longer to get back to you than others. 😈
{{% tbd "lalalalla! This is a test! :)" %}}

View File

@@ -4,9 +4,9 @@ pinned: true
title: "My People"
subtitle: "Searching for Community"
author: Bug
# Idea: date: "2025-11-17T07:30:00-07:00"
# Started: date: "2025-11-17T13:30:00-07:00"
date: "2025-11-17T13:30:00-07:00"
# date: "2025-11-17T07:30:00-07:00" # Started Notes
# date: "2025-11-17T13:30:00-07:00" # Started File
date: "2025-11-17T13:30:00-07:00" # Published
toc: true
images:
tags:
@@ -43,7 +43,7 @@ aliases:
| 💚 💚 🖤 | Peaceful | Freedom from Violence | Does not cause harm to others, including non-human entities. |
| 💛 💛 💛 | Brave | Freedom from Fear | Can muster strength when required and stand up for Truth when it is threatened. |
| 🧡 🧡 🧡 | Patient | Freedom from Assumption | Makes informed decisions and refrains from jumping to harmful conclusions. |
| ❤️ ❤️ 🤎 | Fit | Freedom from Pain | Athletic, clean, and capable. Healed from chronic aches and diseases. |
| ❤️ ❤️ 🤎 | Fit | Freedom from Pain | Athletic, clean, and capable. Healed from chronic aches and sicknesses. |
## Prologue

View File

@@ -1,14 +1,17 @@
---
draft: yes
title: "Chad's Will"
title: "My Will"
subtitle: ""
author: ""
date: TBD
tags:
- blog
series:
- public notice
categories:
- blogposts
- TBD
toc: yes
aliases:
---
**This page has yet to be completed. Please check back later.**
@@ -31,4 +34,10 @@ toc: yes
## Belongings
### Liquid Assets
### Physical Assets
### Crypto Assets
### TBD

View File

@@ -0,0 +1,8 @@
---
draft: true
---
## 1. It shows a fear-based mentality.
### It projects that feat onto me.
## 2. It shows a lack of trust.
## 3. It shows a lack of support.

View File

@@ -26,6 +26,8 @@ aliases:
- /books/freedom
- /voluntary-sovereignty
- /books/voluntary-sovereignty
TBD:
- Change URLs to be external-link.
---
Short eBook and printable booklet succinctly covering Morality and Sovereignty.

View File

@@ -25,6 +25,8 @@ aliases:
- /books/health-protocol
- /health-hyperlings-protocol
- /books/hyperlings-health-protocol
TBD:
- Change URLs to be external-link.
---
I define health as a 6-pillar system based on body dynamics, environment, and mentality. "Hyperling's Health Protocol" is my explanation of how to keep each pillar in peak condition by living as naturally as possible in an industrial world.

View File

@@ -18,23 +18,31 @@ aliases:
- /posts/recipes/wooden-camping-chair
- /posts/crafts/wooden-camping-chair
- /wooden-camping-chair
TBD:
- Also make the CAD images URLs to the full size resolution.
---
## Video
<iframe id="odysee-iframe" style="width:65%; aspect-ratio:16 / 9;" src="https://odysee.com/%24/embed/%40HyperVegan%3A2%2F20251104-HyperVegan-WoodenCampingChair%3A9?r=4q2dQKSs36tFPf8KCfHEopK8EYPchiaG" allowfullscreen></iframe>
{{< odysee
"https://odysee.com/%24/embed/%40HyperVegan%3A2%2F20251104-HyperVegan-WoodenCampingChair%3A9?r=4q2dQKSs36tFPf8KCfHEopK8EYPchiaG" >}}
[HyperVegan | Wooden Camping Chair](https://odysee.com/@HyperVegan:2/20251104-HyperVegan-WoodenCampingChair:9)
{{< external-link
text="HyperVegan | Wooden Camping Chair"
url="https://odysee.com/@HyperVegan:2/20251104-HyperVegan-WoodenCampingChair:9" >}}
## What You'll Need
### "Ingredients"
- 8ft long 2x10 (about $20 USD at Home Depot)
- [`example`](https://www.homedepot.com/p/2-in-x-10-in-x-8-ft-2-Premium-Grade-Fir-Dimensional-Lumber-915564/206182030)
- {{< external-link
text="`example`"
url="https://www.homedepot.com/p/2-in-x-10-in-x-8-ft-2-Premium-Grade-Fir-Dimensional-Lumber-915564/206182030" >}}
- 8 2.5in wood screws
- [`example`](https://www.homedepot.com/p/DECKMATE-9-2-1-2-in-Black-Exterior-Self-Starting-Star-Drive-Flat-Head-Deck-Screw-1-lb-87-Piece-115923/313358323)
- {{< external-link
text="`example`"
url="https://www.homedepot.com/p/DECKMATE-9-2-1-2-in-Black-Exterior-Self-Starting-Star-Drive-Flat-Head-Deck-Screw-1-lb-87-Piece-115923/313358323" >}}
### Tools
@@ -223,6 +231,28 @@ O: Short Frame Pieces
1. At each corner of the frame where the short pieces are sitting on the long pieces, drill a pilot hole and add a 2.5in screw or similar.
1. After carefully aligning the seat and having the frame centered, attach the long pieces to the backrest with pilot holes and more 2.5in screws just below where the short pieces were joined.
If done properly the seat should now be contained within the carry handles, and is also able to slide up and out.
If done properly the seat should now be contained within the carry handles, and is also able to slide up and out. It also allows the seat to function as a short bench or table.
[The video discusses the back frame at 07:35 if you'd like to see an example](https://odysee.com/@HyperVegan:2/20251104-HyperVegan-WoodenCampingChair:9?t=455).
{{< external-link
text="The video discusses the back frame at 07:35 if you'd like to see an example"
url="https://odysee.com/@HyperVegan:2/20251104-HyperVegan-WoodenCampingChair:9?t=455"
>}}.
## CAD Schematics
{{< external-link
text="A friend drew up images for the build"
url="https://odysee.com/@HyperVegan:2/20251104-HyperVegan-WoodenCampingChair:9?lc=56c1f4fcf38db6a5584215e6db24ce4ca02afe1eb76648da6a8f5f827d6198ab" >}}
, they're included below. Feel free to use them!
### Back Rest
{{< image-with-fallback alt="Back rest image failed to load. :("
img1="https://thumbnails.odycdn.com/optimize/s:0:0/quality:85/plain/https://i.postimg.cc/T1XMdZxr/2x10-backrest-dimensions.webp"
img2="/img/viking-chair/2x10-backrest-dimensions.webp" >}}
### Seat
{{< image-with-fallback alt="Seat image failed to load. :("
img1="https://thumbnails.odycdn.com/optimize/s:0:0/quality:85/plain/https://i.postimg.cc/d07z8qtH/2x10-seat-dimensions.webp"
img2="/img/viking-chair/2x10-seat-dimensions.webp" >}}

View File

@@ -22,6 +22,8 @@ series:
- dips
categories:
- recipes
TBD:
- Change URLs to be external-link.
---
Here's something which can be a main, side, dip, sauce, or whatever!

View File

@@ -0,0 +1,215 @@
---
title: "Apple Wireless Issues on Debian 13 (Trixie)"
subtitle: ""
author: Hyperling
date: "2025-11-19T13:00:00-07:00"
toc: true
images:
tags:
- tech
- networking
- linux
- wireless
- apple
- macbook air
- kernel
- broadcom
- bcm4360
- wl
- dkms
- wireless-tools
- iwconfig
- uname
- modprobe
- lsmod
- lspci
- debian
- trixie
series:
- sysadmin
categories:
- guides
aliases:
---
## Disclaimer
This article assumes that your system has had the wireless card working on Debian recently.
I have a Macbook Air 7,2 (early 2015, i5) with a BCM4360 [14e4:43a0] and use the `wl` driver.
``` console
$ sudo apt list broadcom*
broadcom-sta-common/stable 6.30.223.271-26 amd64
broadcom-sta-dkms/stable,now 6.30.223.271-26 amd64 [installed]
broadcom-sta-source/stable 6.30.223.271-26 amd64
```
I do not have experience with other Mac devices, the Debian wiki and forums are your best bet if this article does not apply to you.
{{< external-link "Debian Wiki: Macbook Wireless" "https://wiki.debian.org/MacBook/Wireless" >}}
## Introduction -- Define the Problem
If your wireless card is no longer being recognized on a Debian device, ensure the latest version of the Linux kernel came with its headers.
I'm not sure why this happened, but it was when the kernel version jumped from `6.12.41` to `6.12.43` that its symptoms showed up. I had already migrated from Bookworm to Trixie and thought I had went through a few kernel updates since then without issues, but wasn't sure.
Later versions such as `6.12.48` and `6.12.57` continued to get pulled and I'd try them before having to reboot back to `6.12.41`. While booted into the newer kernel versions `/sbin/iwconfig` would show no wireless network and GNOME didn't have a Wi-Fi button listed in the Settings app nor its system menu. Then I tried this:
``` console
$ sudo modprobe wl
modprobe: FATAL: Module wl not found in directory /lib/modules/6.12.57+deb13-amd64
```
After realizing that the `wl` module wasn't being loaded I thought maybe there was a packaging issue. I was confused since it said it was not found, even though I knew it was installed since it was still working if I booted to the older installed kernel versions. I saw no error when the new versions were being installed, either. And thus began my discovery...
## Solution -- Install Headers Automagically
Ubuntu provides the packages `linux-image-generic` and `linux headers-generic`. Debian names them slightly different.
``` bash
sudo apt install linux-image-amd64 linux-headers-amd64 --reinstall
```
Some sources say that Debian has no generic/meta package for the kernel and its headers. I can't find any information as to the release date of these to confirm or deny that claim.
I'm just glad they work to now keep the headers installed automatically! I've since added the packages to my provisioning setup.
## Still Not Working?
If you're still having problems then it may be something else.
Some good troubleshooting commands are below, as well as examples of when I was running them trying to troubleshoot my system.
- `uname -a`
- `lspci -vnn | grep -i net`
- `/sbin/iwconfig`
- `lsmod`
- `modprobe`
- `apt list`
### Example -- Missing Kernel Headers (6.12.57)
``` console
[user@hostname ~]$ uname -a
Linux debian 6.12.57+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) x86_64 GNU/Linux
[user@hostname ~]$
```
``` console
[user@hostname ~]$ lspci -vnn | grep -i net
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03)
[user@hostname ~]$
```
``` console
[user@hostname ~]$ /sbin/iwconfig
lo no wireless extensions.
docker0 no wireless extensions.
[user@hostname ~]$
```
``` console
[user@hostname ~]$ lsmod | grep wl
[user@hostname ~]$
```
``` console
[user@hostname ~]$ sudo modprobe wl
modprobe: FATAL: Module wl not found in directory /lib/modules/6.12.57+deb13-amd64
[user@hostname ~]$
```
``` console
[user@hostname ~]$ sudo apt list broadcom*
broadcom-sta-common/stable 6.30.223.271-26 amd64
broadcom-sta-dkms/stable,now 6.30.223.271-26 amd64 [installed]
broadcom-sta-source/stable 6.30.223.271-26 amd64
[user@hostname ~]$
```
### Example -- Wireless Working Correctly (6.12.41)
``` console
[user@hostname ~]$ uname -a
Linux debian 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64 GNU/Linux
[user@hostname ~]$
```
``` console
[user@hostname ~]$ lspci -vnn | grep -i net
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03)
[user@hostname ~]$
```
``` console
[user@hostname ~]$ /sbin/iwconfig
lo no wireless extensions.
wlp3s0 IEEE 802.11 ESSID:"Private :)"
Mode:Managed Frequency:2.412 GHz Access Point: na:na:na:na:na:na
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
wg0-vpn no wireless extensions.
docker0 no wireless extensions.
[user@hostname ~]$
```
``` console
[user@hostname ~]$ lsmod | grep wl | sort
cfg80211 1392640 1 wl
wl 6459392 0
[user@hostname ~]$
```
``` console
[user@hostname ~]$ sudo modprobe wl
[user@hostname ~]$
```
### Example -- Wireless Working Correctly (6.12.57)
``` console
[user@hostname ~]$ uname -a
Linux debian 6.12.57+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) x86_64 GNU/Linux
[user@hostname ~]$
```
``` console
[user@hostname ~]$ lspci -vnn | grep -i net
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03)
[user@hostname ~]$
```
``` console
[user@hostname ~]$ /sbin/iwconfig
lo no wireless extensions.
wlp3s0 IEEE 802.11 ESSID:"Private :)"
Mode:Managed Frequency:2.412 GHz Access Point: na:na:na:na:na:na
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
wg0-vpn no wireless extensions.
docker0 no wireless extensions.
[user@hostname ~]$
```
``` console
[user@hostname ~]$ lsmod | grep wl | sort
cfg80211 1392640 1 wl
wl 6459392 0
[user@hostname ~]$
```
``` console
[user@hostname ~]$ sudo modprobe wl
[user@hostname ~]$
```

View File

@@ -0,0 +1,105 @@
---
draft: false
pinned: false
title: "Linux Laptop"
subtitle: "Buying a device with Linux pre-installed."
author: Hyperling
date: "2025-12-08T07:00:00-07:00"
started: "2025-12-04T11:38:00-07:00"
lastmod:
toc: true
images:
tags:
- tech
- laptop
- desktop
- linux
- Debian
- Arch
- Ubuntu
- Dell
- Lenovo
series:
- sysadmin
categories:
- advice
aliases:
---
## Introduction
I was recently contacted for advice on for buying a laptop with Linux already installed. Below is my response as well as some extra thoughts on the subject.
## Laptop Advice
> Howdy!! Thanks for reaching out about this! From my experience the preinstalled Linux sphere is usually expensive gaming, developer, or other specialty type systems for enthusiasts. (NovaCustom, System76, Purism)
>
> The Pinebook Pro is the only budget device for daily driving that I can think of, and you may be able to buy an SD card with an OS preinstalled. It has an ARM processor rather than a normal desktop type processor, but depending on what you're doing it may not matter, like for web browsing.
>
> It looks like both Lenovo and Dell allow choosing Ubuntu and maybe other Linux distributions when configuring some of their laptops. It knocks down the price some too since they don't have to license out a proprietary OS. This option would probably be ideal for someone with no tech background. There may be other companies too.
>
> [https://www.lenovo.com/us/en/d/deals/custom/?visibleDatas=1014%3ALaptops%3B699%3ALinux&sortBy=priceUp](https://www.lenovo.com/us/en/d/deals/custom/?visibleDatas=1014%3ALaptops%3B699%3ALinux&sortBy=priceUp)
>
> [https://www.dell.com/en-us/shop/dell-laptops/scr/laptops/appref=ubuntu-linux-os?sortBy=price-ascending](https://www.dell.com/en-us/shop/dell-laptops/scr/laptops/appref=ubuntu-linux-os?sortBy=price-ascending)
>
> Otherwise I've always bought the device which fits my needs best and then wiped it and installed the OS of my choosing. Used laptops are great for that if you don't want big tech companies getting kickbacks from places like Best Buy which sell laptops with licensed OS's.
>
> Linux can run on most hardware, and can give life back to devices over 10 years old which people thought were too slow to be useful anymore. I'd avoid Apple since they can be a pain to set up. Otherwise anything with a working battery, screen, and keyboard would be fine. If it has 8GB of RAM or more then it will have plenty of power for today's needs.
>
> Also, I recommend keeping backups of important documents on an external flash or hard drive in case of drive failure. Especially if going the used device route. Private cloud storage can be okay too if you trust the owner. Most drives last a long time but I've been burned by one going out early, it's not fun. 🙃
>
> I'd love to hear what you end up doing! Let me know if you have any other questions. :)
## Final Thoughts
The requester already had a refurbished laptop and opted to back up their files to an external device and give installing the OS a go.
If you have a spare USB drive, the process is fairly simply. There are applications for putting the installer on the flash drive, then you just plug it in and reboot the device. When it shows the laptop's brand name on the screen, you press a button, usually F10 or similar, choose the USB device, then follow the prompts from the installer.
There are plenty of guides on how to do this. I've listed a few below. It can be a very educational process, especially if you already have some experience at the terminal or with Linux in general. Then once you get fairly experienced, installing a system like Arch is extremely rewarding and teaches you a lot about what it actually takes to make a distribution and what all the running components are under the hood.
All in all, getting away from big tech is highly recommended. Windows, MacOS, and ChromeOS are all spyware meant to keep you in a locked down consumerist cycle. iOS and Google Android are no better. Liberating your devices by installing a FLOSS operating system! As of this writing I choose to use Debian on my desktops and servers, and on my smartphones I run LineageOS with microG.
Feel free to give me a holler if you make a dive into this sphere and need any pointers! :)
## Installation Guides (Desktop)
Walkthroughs of how to put a new operating system on your device.
### Beginner
- Ubuntu
- {{% external-link "https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview" %}}
- Pop!_OS
- {{% external-link "https://support.system76.com/articles/install-pop/" %}}
- Linux Mint
- {{% external-link "https://linuxmint-installation-guide.readthedocs.io/en/latest/" %}}
### Intermediate
- Debian
- {{% external-link "https://www.debian.org/releases/trixie/arm64/" %}}
- Fedora
- Shorter: {{% external-link "https://docs.fedoraproject.org/en-US/fedora/latest/getting-started" %}}
- Detailed: {{% external-link "https://docs.fedoraproject.org/en-US/fedora/f36/install-guide/" %}}
- openSUSE
- {{% external-link "https://doc.opensuse.org/documentation/leap/startup/html/book-startup/art-opensuse-installquick.html" %}}
### Advanced
- Arch Linux
- {{% external-link "https://wiki.archlinux.org/title/Installation_guide" %}}
- FreeBSD
- {{% external-link "https://docs.freebsd.org/en/books/handbook/bsdinstall/" %}}
## Installation Guides (Mobile)
### Beginner
- GrapheneOS
- {{% external-link "https://grapheneos.org/install/" %}}
### Intermediate
- LineageOS
- {{% external-link "https://wiki.lineageos.org/" %}}

View File

@@ -1,5 +1,6 @@
---
title: "SSH Key Access"
subtitle:
author: hyperling
date: "2025-11-13T20:00:00-07:00"
tags:
@@ -11,6 +12,7 @@ series:
- sysadmin
categories:
- guides
aliases:
---
How to set up an SSH key and use it to access a remote machine.

View File

@@ -60,7 +60,7 @@ If placing the contents into a file, you'll want to disable the colors to preven
#### Results
The output has a human readable section of results which give a description and ID for anything which is found. Suggestions are the lowest priority, with Warning and [TBD/TODO] being the more important items to correct.
The output has a human readable section of results which give a description and ID for anything which is found. Suggestions are the lowest priority, with Found and Warning being the more important items to correct.
### NMap
@@ -113,12 +113,20 @@ nmap -A -p- --script=vuln localhost > ~/Downloads/nmap_report.txt 2>&1
If any vulnerabilities show up they usually come with a CVE which can be researched, such as `CVE-2007-6750`.
There are many reputable sites which come up when placing this in a search engine. [`cve.org`](https://www.cve.org]) is also supposed to be a good centralized repository,
There are many reputable sites which come up when placing this in a search engine.
{{< external-link
text="cve.org"
url="https://www.cve.org" >}}
is also supposed to be a good centralized repository,
Here are examples for the provided ID.
- [https://www.suse.com/security/cve/CVE-2007-6750.html](https://www.suse.com/security/cve/CVE-2007-6750.html)
- [https://www.cve.org/CVERecord?id=CVE-2007-6750](https://www.cve.org/CVERecord?id=CVE-2007-6750)
- {{< external-link
text="www.suse.com/security/cve/CVE-2007-6750.html"
url="https://www.suse.com/security/cve/CVE-2007-6750.html" >}}
- {{< external-link
text="www.cve.org/CVERecord?id=CVE-2007-6750"
url="https://www.cve.org/CVERecord?id=CVE-2007-6750" >}}
Most vulnerabilities are fixed by upgrading software, migrating to safer software, and by following best practices such as not exposing databases to the Internet.
@@ -128,7 +136,9 @@ Most vulnerabilities are fixed by upgrading software, migrating to safer softwar
I recommend playing with Metasploit if you have extra time so that you can learn how easy it is to penetrate an exploit once it is found with NMap.
- [https://www.metasploit.com/](https://www.metasploit.com/)
- {{< external-link
text="www.metasploit.com"
url="https://www.metasploit.com/" >}}
Please be sure to test against your own machines, such as setting up a VM running an old Ubuntu LTS, starting up some services like CUPS, SSH, Apache, etc.

View File

@@ -1,6 +1,6 @@
---
title: "Food"
subtitle: "Recipes which have kept me dis-ease free and athletic since 2014!"
subtitle: "Recipes which have kept me sickness free and athletic since 2014!"
---
I cook high carb low fat (HCLF) whole food plant based (WFPB) meals. My allergens mostly overlap with items which cannot be fed to dogs or rabbits. This includes alliums [onion, garlic], nightshades [tomatos, peppers, eggplant, potato], grapes, caffeine, etc.

186
hugo.yaml Normal file
View File

@@ -0,0 +1,186 @@
# 2025-11-21 Changed to be YAML rather than TOML. Much easier to understand.
### My Params ###
baseURL: '/'
languageCode: 'en-us'
title: "Hyperling's Works"
subtitle: "My recipes, blogposts, musings, and more."
#paginate = 25
paginate: 99999
markup:
goldmark:
# Allow direct HTML.
renderer:
unsafe: true
# Prevent URLs from becoming links which open in the same tab.
extensions:
linkify: false
tableOfContents:
endLevel: 4
ordered: false
startLevel: 2
### End My Params ###
### Theme ###
# Seems pretty good, just need to add more config params so it acts better.
theme: "hello-friend-ng"
# Main Documentation
# https://github.com/rhazdon/hugo-theme-hello-friend-ng/blob/master/docs/config.md
# Favicon documentation for this theme.
# https://github.com/rhazdon/hugo-theme-hello-friend-ng/blob/master/docs/favicons.md
# Generator
# https://realfavicongenerator.net/your-favicon-is-ready
## Theme Suggested Params ##
# The parameters below were copied, modified, or inspired from:
# https://github.com/rhazdon/hugo-theme-hello-friend-ng?tab=readme-ov-file#how-to-configure
params:
dateform : "Jan 2, 2006"
dateformShort : "Jan 2"
dateformNum : "2006-01-02"
dateformNumTime : "2006-01-02 15:04"
# Subtitle for home
homeSubtitle: "Blogposts, recipes, musings, and more."
# Set disableReadOtherPosts to true in order to hide the links to other posts.
disableReadOtherPosts: false
# Enable sharing buttons, if you like
enableSharingButtons: false
# Show a global language switcher in the navigation bar
enableGlobalLanguageMenu: false
# Metadata mostly used in document's head
description: "Written works by Hyperling."
keywords: "homepage, blog, recipes, crafts, food, seasonings, woodworking, poetry, poems"
images: [""]
# My Custom Params #
authorBug: "Chad Michael \"Bug\" Greenwood"
authorHyperling: "Chad Michael \"Hyperling\" Greenwood"
authorHyperVegan: "Chad Michael \"HyperVegan\" Greenwood"
authorDefault: "Chad Michael Greenwood"
# End My Custom Params #
taxonomies:
categories : "categories"
tags : "tags"
series : "series"
languages:
en:
title: "Hyperling's Written Works"
keywords: ""
copyright: '<a href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank" rel="noopener">CC BY-NC 4.0</a>'
readOtherPosts: "Read other posts"
params:
#subtitle = "Blogposts, recipes, musings, and more."
logo:
logoText: "Hyperling's Works"
logoHomeLink: "/"
# or
#
# path = "/img/your-example-logo.svg"
# alt = "Your example logo alt text"
# [languages.es]
# title = "Hola Amigo!"
# keywords = ""
# copyright = '<a href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank" rel="noopener">CC BY-NC 4.0</a>'
# readOtherPosts = "Read other posts"
# And you can even create generic menu
menu:
main:
- identifier : "00-all"
name : "All"
url : "/posts"
weight : 1
- identifier : "01-tags"
name : "Tags"
url : "/tags"
weight : 1
parent : "00-all"
- identifier : "02-cats"
name : "Categories"
url : "/categories"
weight : 2
parent : "00-all"
- identifier : "20-food"
name : "Food"
url : "/tags/food"
weight : 2
- identifier : "30-crafts"
name : "Crafts"
url : "/tags/crafts"
weight : 3
#[[menu.main]]
# identifier = "50-blog"
# name = "Blogposts"
# url = "/tags/blog"
# weight = 5
- identifier : "60-poetry"
name : "Poetry"
url : "/tags/poetry"
weight : 6
- identifier : "70-tech"
name : "Tech"
url : "/tags/tech"
weight : 7
- identifier : "80-books"
name : "Books"
url : "/tags/books" #"https://hyperling.com/books"
weight : 8
# End parameters related to:
# https://github.com/rhazdon/hugo-theme-hello-friend-ng?tab=readme-ov-file#how-to-configure
##
### End Theme ###
### Failed Themes ###
# Do not go back to these unless figuring out what was done wrong.
# not functioning well
#theme = "recipes"
# requires creating recipe objects?
#theme = "cookbook"
# not showing index files
#theme = "awesome"
# outdated
#theme = "simple-dark"
# too complicated? Failing to compile.
#theme = "congo"
# works, reads index files, shows cool header at the beginning of posts,
# but FAILS at monospace fonts in code blocks and CSS for URLs is horrible.
# Could maybe be modified to serve well enough.
#theme = "hugo-classic"
### End Failed Themes ###

View File

@@ -20,6 +20,11 @@
<li class="post-item">
<a href="{{.Permalink}}" class="post-item-inner">
<span class="post-title">
{{ if or .Params.pinned (eq (.Title | title) "Pinned") }}
<img style="display: inline-block; vertical-align: middle; margin-right: 4px;"
src="/feathericons/16px-a9a9b3/paperclip.svg" alt="Pinned:"
>
{{ end }}
{{ if .Params.tags }}{{ index .Params.tags 0 | title }}:{{ end }}
{{ .Title }}{{ if and (.Params.subtitle) (and (.Params.author) (.Params.date)) }}
{{ "--" | markdownify }} {{ .Params.subtitle}}

View File

@@ -1,10 +1,12 @@
{{ with .Params.categories }}
<p>
<img style="display: inline-block; vertical-align: middle; margin-right: 4px;"
src="/feathericons/16px-a9a9b3/folder.svg" alt="Series:"
src="/feathericons/16px-a9a9b3/folder.svg" alt="Categories:"
>
{{ range . -}}
{{ if (not (eq . "pinned")) }}
<span class="tag"><a href="{{ "categories/" | absLangURL }}{{ . | urlize }}/">{{.}}</a></span>
{{ end }}
{{ end }}
</p>
{{ end }}

View File

@@ -0,0 +1,2 @@
{{ $email := .email | default .Email
}}<a href="mailto:{{ $email }}">{{ $email }}</a>

View File

@@ -4,7 +4,9 @@
src="/feathericons/16px-a9a9b3/tv.svg" alt="Series:"
>
{{ range . -}}
{{ if (not (eq . "pinned")) }}
<span class="tag"><a href="{{ "series/" | absLangURL }}{{ . | urlize }}/">{{.}}</a></span>
{{ end }}
{{ end }}
</p>
{{ end }}

View File

@@ -1,10 +1,12 @@
{{ with .Params.tags }}
<p>
<img style="display: inline-block; vertical-align: middle; margin-right: 4px;"
src="/feathericons/16px-a9a9b3/tag.svg" alt="Series:"
src="/feathericons/16px-a9a9b3/tag.svg" alt="Tags:"
>
{{ range . -}}
{{ if (not (eq . "pinned")) }}
<span class="tag"><a href="{{ "tags/" | absLangURL }}{{ . | urlize }}/">{{.}}</a></span>
{{ end }}
{{ end }}
</p>
{{ end }}

View File

@@ -0,0 +1,3 @@
{{ $text := .text | default .Text
}}{{ $wip := .sep | default .Sep | default .wip | default .WIP | default "WIP"
}}*{{ $wip }}:* {{ $text }} *:{{ $wip }}*

View File

@@ -67,6 +67,11 @@
<hr />
<div class="post-info">
{{ if .Params.pinned }}
<img style="display: inline-block; vertical-align: middle; margin-right: 4px;"
src="/feathericons/16px-a9a9b3/paperclip.svg" alt="Pinned:"
> <a href="/categories/pinned">This article is pinned.</a>
{{ end }}
{{ partial "tags.html" . }}
{{ partial "series.html" . }}
{{ partial "categories.html" . }}
@@ -153,5 +158,9 @@
</script>
{{ end }}
<p style="text-align: center">
Questions? Concerns? Email {{ partial "email.html" (dict "email" "me@hyperling.com") }} any time!
</p>
</main>
{{ end }}

View File

@@ -21,5 +21,5 @@
src='{{ $src }}'
type='audio/{{ .Scratch.Get "type" }}'
>
{{ .Scratch.Get "text" }}
{{ .Scratch.Get "text" | markdownify }}
</audio>

View File

View File

@@ -0,0 +1,3 @@
{{ $url := .Get "url" | default (.Get 1) | default (.Get 0)
}}{{ $text := .Get "text" | default (.Get 0) | default $url
}}<a href="{{ $url }}" target="_blank" rel="noopener noreferrer">{{ $text | markdownify }}</a>

View File

@@ -0,0 +1 @@
{{ if .Inner }}{{ end }}

View File

@@ -0,0 +1,15 @@
{{ $url1 := .Get "img1" | default (.Get "url") | default (.Get 0)
}}{{ $url2 := .Get "img2" | default (.Get "fallback") | default (.Get 1)
}}{{ $alt := .Get "alt" | default (.Get 2)
}}
<!-- These do not seem to work. Using JS solution.
<picture>
<source srcset="{{ $url1 }}">
<img src="{{ $url2 }}" alt="{{ $alt }}">
</picture>
<picture>
<source media="(min-width: 1px)" srcset="{{ $url1 }}">
<img src="{{ $url2 }}" alt="{{ $alt }}">
</picture>
-->
<img src="{{ $url1 }}" alt="{{ $alt | markdownify }}" onerror="this.onerror=null; this.src='{{ $url2 }}';">

View File

@@ -1 +1,9 @@
TBD/TODO
{{ $src := .Get 0 | default (.Get "url") | default (.Get "src")
}}{{ $width := .Get 1 | default (.Get "width") | default "65" }}
<iframe
id="odysee-iframe"
style="width:{{ $width }}%; aspect-ratio:16 / 9;"
src="{{ $src }}"
allowfullscreen>
</iframe>
<br>

View File

@@ -0,0 +1,3 @@
{{ $text := .Get 0
}}{{ partial "wip.html" (dict "text" $text "sep" "TBD")
}}

View File

@@ -0,0 +1,4 @@
{{ $text := .Get 0
}}{{ $wip := .Get 1 | default "WIP"
}}{{ partial "wip.html" (dict "text" $text "wip" $wip)
}}

View File

@@ -1,3 +1,4 @@
# Abandoned 2025-11-21 because it was not working as needed. Moved to YAML.
### My Params ###
@@ -12,9 +13,13 @@ paginate = 99999
# Allow direct HTML.
markup.goldmark.renderer.unsafe = true
#[markup.tableOfContents]
# startLevel = 2
# endLevel = 5
# Prevent URLs from becoming links which open in the same tab.
markup.goldmark.extensions.linkify = false
[markup.tableOfContents]
endLevel = 4
ordered = false
startLevel = 2
### End My Params ###

View File

@@ -1,20 +1,20 @@
/* Prevent excess gaps underneath headers. Looks horrible! */
h1,h2,p,div,blockquote {
margin-top: 8px;
margin-bottom: 16px;
}
h3,h4 {
margin-top: 6px;
margin-bottom: 12px;
}
h5,h6 {
margin-top: 4px;
margin-top: 16px;
margin-bottom: 8px;
}
pre,strong {
margin-top: 2px;
h3,h4 {
margin-top: 12px;
margin-bottom: 6px;
}
h5,h6,ul,ol {
margin-top: 8px;
margin-bottom: 4px;
}
pre,strong {
margin-top: 4px;
margin-bottom: 2px;
}
pre {
padding: 2px;
@@ -22,6 +22,13 @@ pre {
}
audio {
padding-top: 5px;
padding-bottom: 20px;
margin: 5px;
}
.post-content {
margin-top: 10px;
}
.highlight {
margin: 10px auto;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB