Compare commits
No commits in common. "c38323c665db3d7765e1e41609aa1ac79def5840" and "a26a5346a23b610767bd49e497a068b4030fb165" have entirely different histories.
c38323c665
...
a26a5346a2
2
.envrc
|
|
@ -1,4 +1,2 @@
|
||||||
use flake
|
use flake
|
||||||
layout node
|
layout node
|
||||||
mkdir -p "${HOME}/Library/Application Support/SourceGit"
|
|
||||||
echo "${PATH}" > "${HOME}/Library/Application Support/SourceGit/PATH"
|
|
||||||
|
|
|
||||||
28
.gitignore
vendored
|
|
@ -161,31 +161,3 @@ fontawesome-pro-6.3.0-web
|
||||||
|
|
||||||
### Nix Flake gitignore ###
|
### Nix Flake gitignore ###
|
||||||
result
|
result
|
||||||
|
|
||||||
### MacOS gitignore ###
|
|
||||||
# General
|
|
||||||
.DS_Store
|
|
||||||
.AppleDouble
|
|
||||||
.LSOverride
|
|
||||||
|
|
||||||
# Icon must end with two \r
|
|
||||||
Icon
|
|
||||||
|
|
||||||
# Thumbnails
|
|
||||||
._*
|
|
||||||
|
|
||||||
# Files that might appear in the root of a volume
|
|
||||||
.DocumentRevisions-V100
|
|
||||||
.fseventsd
|
|
||||||
.Spotlight-V100
|
|
||||||
.TemporaryItems
|
|
||||||
.Trashes
|
|
||||||
.VolumeIcon.icns
|
|
||||||
.com.apple.timemachine.donotpresent
|
|
||||||
|
|
||||||
# Directories potentially created on remote AFP share
|
|
||||||
.AppleDB
|
|
||||||
.AppleDesktop
|
|
||||||
Network Trash Folder
|
|
||||||
Temporary Items
|
|
||||||
.apdisk
|
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
layouts/_default/index.manifest.json
|
|
||||||
|
|
@ -4,6 +4,3 @@ overrides:
|
||||||
- files: "*.html"
|
- files: "*.html"
|
||||||
options:
|
options:
|
||||||
parser: "go-template"
|
parser: "go-template"
|
||||||
- files: "*.gotmpl"
|
|
||||||
options:
|
|
||||||
parser: "go-template"
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,14 @@
|
||||||
when:
|
when:
|
||||||
branch: master
|
branch: master
|
||||||
event:
|
event: push
|
||||||
- push
|
|
||||||
- cron
|
|
||||||
cron: "weekly-build"
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Build site
|
- name: Build site
|
||||||
image: hugomods/hugo:std-base-non-root-0.141.0
|
image: nixos/nix:2.24.11
|
||||||
commands:
|
commands:
|
||||||
- hugo --minify
|
- echo 'experimental-features = flakes nix-command' >> /etc/nix/nix.conf
|
||||||
|
- nix build
|
||||||
|
- mkdir public && cp -av result/* public
|
||||||
- name: Deploy to pages
|
- name: Deploy to pages
|
||||||
image: codeberg.org/xfix/plugin-codeberg-pages-deploy:1
|
image: codeberg.org/xfix/plugin-codeberg-pages-deploy:1
|
||||||
settings:
|
settings:
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
{
|
|
||||||
"languages": {
|
|
||||||
"HTML": {
|
|
||||||
"formatter": {
|
|
||||||
"external": {
|
|
||||||
"command": "prettier",
|
|
||||||
"arguments": ["--stdin-filepath", "{buffer_path}"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"file_types": { "HTML": ["gotmpl"] }
|
|
||||||
}
|
|
||||||
26
README.md
|
|
@ -6,20 +6,18 @@ My personal website. Hosted over at <https://millironx.com>
|
||||||
|
|
||||||
## Notes to self
|
## Notes to self
|
||||||
|
|
||||||
### Nix dev shell
|
All dependencies are now bundled as a Nix Flake. The only trouble with this is
|
||||||
|
that npm packages don't play well with Nix (and especially Flakes), so npm
|
||||||
All developer dependencies are now bundled as a Nix Flake. The only trouble with
|
packages are specified twice: once in `package{-lock}.json` and then again in
|
||||||
this is that npm packages don't play well with Nix (and especially Flakes), so
|
`node*.nix`.
|
||||||
npm packages are specified twice: once in `package{-lock}.json` and then again
|
|
||||||
in `node*.nix`.
|
|
||||||
|
|
||||||
Compounding this, there are formatters and commit hooks that require npm to be
|
Compounding this, there are formatters and commit hooks that require npm to be
|
||||||
functional. So, to develop right now requires allowing direnv to setup the Nix
|
functional. So, to develop right now requires allowing direnv to setup the Nix
|
||||||
development shell, then immediately installing npm packages via `npm ci`. VSCode
|
development shell, then immediately installing npm packages via `npm ci`. VSCode
|
||||||
(with extensions) and Zed are smart enough to figure out how to use direnv, and
|
(with extensions) and Zed are smart enough to figure out how to use direnv, but
|
||||||
direnv will pass the PATH to SourceGit for Mac, but other programs aren't that
|
other programs (like SourceGit) not so much, so you'll need to launch those
|
||||||
smart, so you'll need to launch those programs from inside a direnv shell to
|
programs from inside a direnv shell to make sure they have Prettier, Husky, and
|
||||||
make sure they have Prettier, Husky, and all that jazz to execute the hooks.
|
all that jazz to execute the hooks.
|
||||||
|
|
||||||
Last compounding factors: if `node_modules` is present in the root directory,
|
Last compounding factors: if `node_modules` is present in the root directory,
|
||||||
then node2nix won't create a correct derivation, so `node_modules` will need to
|
then node2nix won't create a correct derivation, so `node_modules` will need to
|
||||||
|
|
@ -32,11 +30,3 @@ run.
|
||||||
Yes, hopefully I can get completely away from npm here soon, but this is a minor
|
Yes, hopefully I can get completely away from npm here soon, but this is a minor
|
||||||
inconvenience considering how (not) often I install new packages into this site,
|
inconvenience considering how (not) often I install new packages into this site,
|
||||||
and really discourages me from contributing to the website obesity crisis.
|
and really discourages me from contributing to the website obesity crisis.
|
||||||
|
|
||||||
### Nix building
|
|
||||||
|
|
||||||
Nix building will not work because Hugo reaches out to the internet via content
|
|
||||||
adapters, and that (by intention) is not perfectly reproducable. As such,
|
|
||||||
_development_ tools are installed in a Nix shell, but building has been removed
|
|
||||||
from the Flake. Thankfully, hugomods provides "canonical" Docker images for hugo
|
|
||||||
now.
|
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M448 64H0v64H448V64zm0 160H128v64H448V224zM128 384v64H448V384H128zM64 224H0V448H64V224z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 335 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M0 320H128V224H0v96zM0 448H128V352H0v96zm288 0V352H160v96H288zm0-224H160v96H288V224zm0-160H160V192H288V64zm352 0H320V448H640V64zM33.1 192H128l0 0V160h0V97.1C113.6 111.3 93.8 120 72 120c-6.2 0-12.2-.7-18-2c1.3 5.8 2 11.8 2 18c0 21.8-8.7 41.6-22.9 56z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 497 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M260.6 278.6L238 301.3l-22.6-22.6-192-192L.7 64 46 18.7 68.6 41.4 238 210.7 407.4 41.4 430 18.7 475.3 64 452.6 86.6l-192 192zm0 192L238 493.3l-22.6-22.6-192-192L.7 256 46 210.7l22.6 22.6L238 402.7 407.4 233.4 430 210.7 475.3 256l-22.6 22.6-192 192z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 496 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216 192V224h24 48 24v24 88h8 24v48H296 216 192V336h24zm72-144H224V128h64v64z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 389 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M120.2 391.8L256 256 391.8 391.8C426.5 357 448 309 448 256s-21.5-101-56.2-135.8L256 256 120.2 120.2C85.5 155 64 203 64 256s21.5 101 56.2 135.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 438 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M362.8 8l-9.4 30.6-128 416L216 485.2 277.2 504l9.4-30.6 128-416L424 26.8 362.8 8zm71.9 136l22.6 22.6L546.7 256l-89.4 89.4L434.7 368 480 413.3l22.6-22.6 112-112L637.3 256l-22.6-22.6-112-112L480 98.7 434.7 144zM160 98.7l-22.6 22.6-112 112L2.7 256l22.6 22.6 112 112L160 413.3 205.3 368l-22.6-22.6L93.3 256l89.4-89.4L205.3 144 160 98.7z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 580 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 4.233 4.233">
|
|
||||||
<path d="M0 2.265c0 .398.112.788.323 1.125l1.765-2.281c.013-.016.044-.016.057 0l.737.953h-.528l.011.042h.549l.156.201h-.648l.018.066h.681l.137.177H2.49l.024.085h.81l.122.158h-.888l.029.104h.939l.107.139H2.625l.032.115h1.065l.099.128H2.693l.032.115H3.91c.211-.337.323-.727.323-1.125 0-1.169-.947-2.116-2.117-2.116S0 1.096 0 2.265zm2.761 1.253l.032.115h.939l.091-.115zm.068.243l.032.115h.628l.126-.115zm.067.243l.032.114h.212l.184-.114z" paint-order="markers fill stroke"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 573 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 343 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M390.9 298.5c0 0 0 .1 .1 .1c9.2 19.4 14.4 41.1 14.4 64C405.3 445.1 338.5 512 256 512s-149.3-66.9-149.3-149.3c0-22.9 5.2-44.6 14.4-64h0c1.7-3.6 3.6-7.2 5.6-10.7c4.4-7.6 9.4-14.7 15-21.3c27.4-32.6 68.5-53.3 114.4-53.3c33.6 0 64.6 11.1 89.6 29.9c9.1 6.9 17.4 14.7 24.8 23.5c5.6 6.6 10.6 13.8 15 21.3c2 3.4 3.8 7 5.5 10.5zm26.4-18.8c-30.1-58.4-91-98.4-161.3-98.4s-131.2 40-161.3 98.4L0 202.7 256 0 512 202.7l-94.7 77.1z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 647 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 428 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 272H144V248L320 112 280 240h88v24L192 400l40-128z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 351 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M563.2 267.3c56.2-56.2 56.2-147.4 0-203.6S415.8 7.4 359.6 63.7L348.3 75l45.3 45.3 11.3-11.3c31.2-31.2 81.9-31.2 113.1 0s31.2 81.9 0 113.1L404.8 335.2c-31.2 31.2-81.9 31.2-113.1 0c-25.6-25.6-30.3-64.3-13.8-94.6c1.8-3.4 3.9-6.7 6.3-9.8l-51.2-38.4c-4.3 5.7-8.1 11.6-11.4 17.8c-29.5 54.6-21.3 124.2 24.9 170.3c56.2 56.2 147.4 56.2 203.6 0L563.2 267.3zM42.8 244.7c-56.2 56.2-56.2 147.4 0 203.6s147.4 56.2 203.6 0L257.7 437l-45.3-45.3-11.3 11.3c-31.2 31.2-81.9 31.2-113.1 0s-31.2-81.9 0-113.1L201.2 176.8c31.2-31.2 81.9-31.2 113.1 0c25.6 25.6 30.3 64.3 13.8 94.6c-1.8 3.4-3.9 6.7-6.3 9.8l51.2 38.4c4.3-5.7 8.1-11.6 11.4-17.8c29.5-54.6 21.3-124.2-24.9-170.3c-56.2-56.2-147.4-56.2-203.6 0L42.8 244.7z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 940 B |
|
|
@ -1,65 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
id="svg30"
|
|
||||||
width="256"
|
|
||||||
height="256"
|
|
||||||
version="1.1"
|
|
||||||
viewBox="0 0 256 256"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg">
|
|
||||||
<g
|
|
||||||
id="layer1"
|
|
||||||
transform="matrix(1.1717564,0,0,1.1837458,-307.94823,-494.86516)">
|
|
||||||
<g
|
|
||||||
id="g4532-1"
|
|
||||||
transform="translate(5.8770956,91.426111)">
|
|
||||||
<path
|
|
||||||
style="fill:currentcolor;fill-opacity:1;stroke:none"
|
|
||||||
id="path2996-71-2"
|
|
||||||
d="m 421.12559,370.59555 -0.22191,7.93679 -59.06905,4.6472 -44.51391,28.90141 -10.54758,48.3126 c 0,0 7.17038,31.22666 13.28891,37.55616 6.11851,6.3295 18.77128,24.48348 34.38405,27.64823 15.61277,3.16475 28.90472,6.74153 41.56372,3.57678 12.65901,-3.16475 21.10821,-6.95775 21.10821,-6.95775 l 5.27379,-2.53246 c 0,0 -1.29791,1.13683 -3.38097,2.59773 25.19125,-16.15038 41.87702,-44.40295 41.87702,-76.54826 0,-31.23648 -15.75649,-58.78641 -39.76228,-75.13843 z" />
|
|
||||||
<path
|
|
||||||
style="fill:currentcolor;fill-opacity:1;stroke:none"
|
|
||||||
id="path3970-2-2"
|
|
||||||
d="m 407.73556,341.565 c 0,0 2.22629,-5.49152 4.30416,-5.63994 2.07787,-0.14842 3.26523,1.18736 4.601,2.67155 1.33578,1.4842 4.00733,3.71049 4.00733,3.71049 0,0 12.1704,-4.15574 25.82499,3.26523 13.65459,7.42097 15.58405,9.64727 18.2556,14.84195 2.67155,5.19468 1.48419,18.25559 1.48419,18.25559 l 1.59552,7.79202 -3.37655,4.37838 -23.74712,-4.00732 -28.34812,-20.92715 z" />
|
|
||||||
<path
|
|
||||||
style="fill:currentcolor;fill-opacity:0.15686275;stroke:none"
|
|
||||||
id="path2996-71-9-9"
|
|
||||||
d="m 421.14051,370.59877 -4.71875,6.4375 -54.5625,6.125 -44.53125,28.90625 -10.53125,48.3125 c 0,0 7.16272,31.233 13.28125,37.5625 6.11851,6.3295 18.76223,24.4915 34.375,27.65625 15.61277,3.16475 28.9035,6.72725 41.5625,3.5625 12.65901,-3.16476 21.125,-6.9375 21.125,-6.9375 l 5.28125,-2.53125 c 0,0 -1.32319,1.13285 -3.40625,2.59375 2.85284,-1.82899 5.59596,-3.84127 8.21875,-5.96875 -14.61843,9.14896 -32.44705,13.74807 -42.5625,13.75 -37.58529,0 -68.0625,-30.44595 -68.0625,-68.03125 0,-13.26857 3.20363,-26.22913 9.71875,-36.78125 4.58818,1.97009 9.419,5.31967 12.46875,10.21875 0.49071,0.70737 0.82821,1.51845 1.375,2.1875 2.69222,3.29423 5.6,4.14654 8.53125,4.28125 6.26371,0.18237 9.22096,-4.49396 9.5,-10.78125 0.008,-0.4932 0.0453,-0.24655 0.0107,-0.67835 -0.19809,-4.19006 -6.3732,-19.67162 -16.63572,-21.44665 1.79623,-1.38222 3.66804,-2.67393 5.625,-3.84375 6.60974,-3.95111 20.65354,-8.43512 40.125,-5.5 9.8747,1.48851 17.96522,3.61684 30.4375,7.59375 14.47518,4.61555 22.51928,11.06231 33.65625,12.34375 1.87408,0.21564 3.76589,0.12973 5.59375,-0.21875 -6.07268,-20.0996 -18.90378,-37.25222 -35.875,-48.8125 z" />
|
|
||||||
<path
|
|
||||||
style="fill:currentcolor;fill-opacity:1;stroke:none"
|
|
||||||
id="path2996-7-5-8"
|
|
||||||
d="m 364.27074,330.97552 c -56.86691,0 -102.96753,46.10062 -102.96753,102.96752 0,56.86692 46.31202,104.53546 102.96753,104.54176 36.96195,1.09859 71.24999,-16.1124 82.55185,-44.15204 -4.17009,1.92437 -8.75719,6.55973 -12.21576,9.59364 -6.52122,5.72051 -13.59622,6.87984 -22.59008,11.56447 -17.43318,9.0804 -36.28791,7.87436 -53.8771,4.0099 -14.29694,-3.14114 -29.97844,-10.13252 -38.39328,-21.31617 -8.41484,-11.18365 -13.35469,-37.74208 -13.35469,-37.74208 l 10.59979,-48.55176 44.73427,-29.04448 59.36146,-4.67021 0.22301,-7.97608 c 8.96128,6.10416 16.77558,13.7674 23.06242,22.59015 h 14.29922 c -15.88288,-36.37996 -52.16799,-61.81462 -94.40111,-61.81462 z" />
|
|
||||||
<path
|
|
||||||
style="fill:var(--body-background);fill-opacity:1;stroke:none"
|
|
||||||
id="path3004-7-2"
|
|
||||||
d="m 402.89176,361.81724 c -19.94083,0.10177 -31.55369,2.41314 -52.24554,11.24749 -26.25073,12.21158 -52.60694,35.07689 -52.75536,72.44929 -0.17297,43.55343 35.31496,78.85563 78.86874,78.85563 22.50608,0 46.74156,-8.22147 61.10833,-23.34185 -15.46163,12.94697 -40.94323,17.04829 -52.97408,17.05059 -37.58529,0 -68.30905,-27.96064 -68.30905,-65.54594 0,-23.74751 11.64012,-41.24257 30.60558,-52.57958 6.60974,-3.95111 20.64508,-8.44491 40.11654,-5.50979 9.8747,1.48851 17.96277,3.61873 30.43505,7.59564 14.47518,4.61555 22.53835,11.06312 33.67532,12.34456 12.68384,1.45943 26.08344,-10.49297 16.1883,-29.08383 0,0 -1.7935,1.78974 -3.29276,2.6893 -1.49926,0.89956 -3.59261,-0.28861 -9.58966,-2.38758 -5.99706,-2.09896 -6.90036,-4.50903 -15.29624,-10.20623 -8.39587,-5.6972 -8.39212,-11.98661 -32.98004,-13.48587 -1.15256,-0.0703 -2.3448,-0.10399 -3.55513,-0.0918 z" />
|
|
||||||
<circle
|
|
||||||
style="fill:currentcolor;fill-opacity:1;stroke:none"
|
|
||||||
id="path3026-6-2"
|
|
||||||
cx="542.143"
|
|
||||||
cy="384.505"
|
|
||||||
r="17.857"
|
|
||||||
transform="matrix(0.43552317,0,0,0.43552317,200.99133,207.88928)" />
|
|
||||||
<circle
|
|
||||||
style="fill:currentcolor;fill-opacity:1;stroke:none"
|
|
||||||
id="path3026-4-1-7"
|
|
||||||
cx="542.143"
|
|
||||||
cy="384.505"
|
|
||||||
r="17.857"
|
|
||||||
transform="matrix(0.22576754,0,0,0.28084084,343.47729,272.83142)" />
|
|
||||||
<path
|
|
||||||
style="fill:currentcolor;fill-opacity:1;stroke:none"
|
|
||||||
id="path3889-4-8"
|
|
||||||
d="m 334.29213,381.2133 c -5.0673,1.23397 -17.41583,4.23292 -24.7524,14.18981 -7.04618,9.56276 -6.47436,20.71233 -6.63135,23.68137 2.04048,-3.28467 7.62657,-2.8188 11.47779,-2.22301 9.08081,1.40481 18.39265,3.8222 24.21457,13.17446 0.49071,0.70737 0.83913,1.52443 1.38592,2.19348 2.69222,3.29423 5.60185,4.13912 8.5331,4.27383 6.26371,0.18237 9.22123,-4.49314 9.50027,-10.78043 0.008,-0.4932 0.002,-0.25694 -0.0327,-0.68874 -0.20697,-4.37798 -6.92743,-21.07877 -18.01254,-21.59268 -0.12354,-0.004 -0.24871,-0.003 -0.37117,-0.0108 -6.14897,-0.3757 -10.92788,-5.61334 -10.74875,-11.86496 0.61735,-4.05018 2.50816,-7.25309 6.21847,-9.85231 z" />
|
|
||||||
<path
|
|
||||||
style="fill:currentcolor;fill-opacity:1;stroke:none"
|
|
||||||
id="path3950-2-5"
|
|
||||||
d="m 463.82955,388.18782 c 0,0 -1.00956,1.74485 -3.18699,2.79051 -0.89408,0.42937 -2.46423,-0.6477 -3.93792,0.84949 -3.12914,6.28101 4.51484,11.52502 8.07692,11.3766 3.56207,-0.14842 6.37226,-3.73749 6.22386,-6.85431 -0.14844,-4.82363 -7.17587,-8.16229 -7.17587,-8.16229 z" />
|
|
||||||
<path
|
|
||||||
style="fill:currentcolor;fill-opacity:0.15686275;stroke:none"
|
|
||||||
id="path2996-7-8-5-3-8"
|
|
||||||
d="m 364.27072,330.97552 c -56.86689,0 -102.96751,46.10062 -102.96751,102.96752 0,0.88855 0.0168,1.76604 0.0395,2.64995 1.43019,-55.62033 46.96307,-100.2651 102.92817,-100.2651 15.6777,0 30.54322,3.50458 43.8422,9.77332 0.70651,-1.52648 2.35421,-4.71467 3.93557,-4.82763 2.07785,-0.14841 3.25571,1.19199 4.59149,2.67619 1.33579,1.48419 4.01428,3.71255 4.01428,3.71255 0,0 12.16272,-4.15446 25.81731,3.26652 13.65459,7.42097 15.58946,9.6424 18.26103,14.83708 1.1117,2.16165 1.55378,5.68588 1.69231,9.06492 0.14458,-4.27194 0.0599,-11.0101 -1.69231,-14.41729 -2.67157,-5.19468 -4.60644,-7.41611 -18.26103,-14.83708 -13.65459,-7.42098 -25.81731,-3.26652 -25.81731,-3.26652 0,0 -2.67849,-2.22836 -4.01428,-3.71255 -1.33578,-1.4842 -2.51364,-2.8246 -4.59149,-2.67619 -1.58136,0.11296 -3.22906,3.30115 -3.93557,4.82763 -13.29898,-6.26874 -28.1645,-9.77332 -43.8422,-9.77332 z" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 7 KiB |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="1536" height="1792" viewBox="0 0 1536 1792">
|
|
||||||
<path d="M40.467 163.152v1465.696H145.92V1664H0V128h145.92v35.152zm450.757 464.64v74.14h2.069c19.79-28.356 43.717-50.215 71.483-65.575 27.765-15.656 59.963-23.336 96-23.336 34.56 0 66.165 6.795 94.818 20.086 28.652 13.293 50.216 37.22 65.28 70.893 16.246-23.926 38.4-45.194 66.166-63.507 27.766-18.314 60.848-27.472 98.954-27.472 28.948 0 55.828 3.545 80.64 10.635 24.812 7.088 45.785 18.314 63.508 33.968 17.722 15.656 31.31 35.742 41.354 60.85 9.747 25.107 14.768 55.236 14.768 90.683v366.573h-150.35V865.28c0-18.314-.59-35.741-2.068-51.987-1.476-16.247-5.316-30.426-11.52-42.24-6.499-12.112-15.656-21.563-28.062-28.653-12.405-7.088-29.242-10.634-50.214-10.634-21.268 0-38.4 4.135-51.397 12.112-12.997 8.27-23.336 18.608-30.72 31.901-7.386 12.997-12.407 27.765-14.77 44.602-2.363 16.542-3.84 33.379-3.84 50.216v305.133H692.971v-307.2c0-16.247-.294-32.197-1.18-48.149-.591-15.95-3.84-30.424-9.157-44.011-5.317-13.293-14.178-24.223-26.585-32.197-12.406-7.976-30.425-12.112-54.646-12.112-7.088 0-16.542 1.478-28.062 4.726-11.52 3.25-23.04 9.157-33.968 18.02-10.93 8.86-20.383 21.563-28.063 38.103-7.68 16.543-11.52 38.4-11.52 65.28v317.834H349.44V627.792zm1004.309 1001.056V163.152H1390.08V128H1536v1536h-145.92v-35.152z"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 462 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M64 288h96c53 0 96-43 96-96s-43-96-96-96H64V288zM0 352V320 288 96 64 32H32 64h96c88.4 0 160 71.6 160 160s-71.6 160-160 160H64v96 32H0V448 352z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 390 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M192 96L352 256 192 416l-32 0 0-96L0 320 0 192l160 0 0-96 32 0zM352 416l96 0 0-320-96 0-32 0 0-64 32 0 128 0 32 0 0 32 0 384 0 32-32 0-128 0-32 0 0-64 32 0z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 404 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm32 80c150.2 0 272 121.8 272 272H320c0-123.7-100.3-224-224-224V112zm0 96c97.2 0 176 78.8 176 176H224c0-70.7-57.3-128-128-128V208zm0 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 523 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M0 80v80H48 96V80c0-26.5-21.5-48-48-48S0 53.5 0 80zM112 32c10 13.4 16 30 16 48V384c0 35.3 28.7 64 64 64s64-28.7 64-64V336 320h16H480V128c0-53-43-96-96-96H112zM464 480c61.9 0 112-50.1 112-112V352H288v32c0 53-43 96-96 96H368h96z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 474 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 1 KiB |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm96-352.5l-4.3 6.2L229.8 336H328h24v48H328 184 160V352.5l4.3-6.2L282.2 176H184 160V128h24H328h24v31.5z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 399 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="1536" height="1792" viewBox="0 0 1536 1792">
|
|
||||||
<path d="M662.716 1663.44l667.946-310.051V428.98L662.714 128.5.508 428.98v924.408zm-348.331-279.43v-202.24l24.881-96.325 352.155-378.95H314.385V492.137l59.332-82.295h600.96l62.842 78.47v218.181l-338.44 378.95h275.6l62.841 77.188v221.379z" fill-rule="evenodd" stroke-width="14.41"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 385 B |
|
Before Width: | Height: | Size: 6.5 KiB |
|
|
@ -1,51 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
<svg
|
|
||||||
width="512px"
|
|
||||||
height="512px"
|
|
||||||
viewBox="0 0 512 512"
|
|
||||||
id="svg2"
|
|
||||||
version="1.1"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
>
|
|
||||||
<style>
|
|
||||||
svg {
|
|
||||||
background-color: transparent;
|
|
||||||
color-scheme: light dark;
|
|
||||||
}
|
|
||||||
|
|
||||||
path {
|
|
||||||
stroke: black;
|
|
||||||
fill: none;
|
|
||||||
fill-rule: evenodd;
|
|
||||||
stroke-dasharray: none;
|
|
||||||
stroke-linecap: round;
|
|
||||||
stroke-linejoin: round;
|
|
||||||
stroke-miterlimit: 4;
|
|
||||||
stroke-opacity: 1;
|
|
||||||
stroke-width: 21;
|
|
||||||
}
|
|
||||||
|
|
||||||
g {
|
|
||||||
filter: drop-shadow(7px 7px white);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
path {
|
|
||||||
stroke: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
g {
|
|
||||||
filter: drop-shadow(7px 7px black);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<g>
|
|
||||||
<path
|
|
||||||
d="M 76.0229 257.139 L 148.925 257.139 C 154.744 257.139 160.688 256.874 166.097 254.728 C 171.506 252.583 176.104 248.69 179.651 244.078 C 183.198 239.465 185.786 234.178 189.279 229.525 C 191.026 227.198 193.032 225.031 195.44 223.398 C 197.848 221.766 200.692 220.688 203.602 220.688 C 206.511 220.688 209.355 221.766 211.763 223.398 C 214.171 225.031 216.177 227.198 217.924 229.525 C 221.417 234.178 224.005 239.465 227.552 244.078 C 231.099 248.69 235.697 252.583 241.106 254.728 C 246.515 256.874 252.459 257.139 258.278 257.139 L 331.181 257.139"
|
|
||||||
/>
|
|
||||||
<path d="M 363.075 301.564 L 435.977 210.436" />
|
|
||||||
<path d="M 363.075 210.436 L 435.977 301.564" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.5 KiB |
|
|
@ -1,42 +1,43 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
<svg
|
<svg
|
||||||
width="29.935179mm"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
height="8.7677584mm"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
viewBox="0 0 106.06953 31.06686"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
version="1.1"
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
width="29.935179mm"
|
||||||
>
|
height="8.7677584mm"
|
||||||
<style>
|
viewBox="0 0 106.06953 31.06686"
|
||||||
svg {
|
id="svg2"
|
||||||
background-color: transparent;
|
version="1.1">
|
||||||
color-scheme: light dark;
|
<defs
|
||||||
}
|
id="defs4">
|
||||||
|
<style>
|
||||||
|
svg {
|
||||||
|
background-color: transparent;
|
||||||
|
color-scheme: light dark;
|
||||||
|
}
|
||||||
|
|
||||||
path {
|
path {
|
||||||
stroke: black;
|
stroke: light-dark(black, white);
|
||||||
fill: none;
|
}
|
||||||
fill-rule: evenodd;
|
</style>
|
||||||
stroke-dasharray: none;
|
</defs>
|
||||||
stroke-linecap: round;
|
<g
|
||||||
stroke-linejoin: round;
|
transform="translate(-201.95727,-469.32877)">
|
||||||
stroke-miterlimit: 4;
|
<path
|
||||||
stroke-opacity: 1;
|
style="fill:none;fill-rule:evenodd;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
stroke-width: 6;
|
d="m 205,497.3622 h 20 c 1.59641,0 3.22706,-0.0728 4.71101,-0.66135 1.48394,-0.58857 2.74536,-1.65633 3.71836,-2.92194 0.973,-1.26562 1.6829,-2.71578 2.64135,-3.99245 0.47923,-0.63833 1.02956,-1.23277 1.69028,-1.68064 0.66071,-0.44787 1.4408,-0.74362 2.239,-0.74362 0.7982,0 1.57829,0.29575 2.239,0.74362 0.66072,0.44787 1.21105,1.04231 1.69028,1.68064 0.95845,1.27667 1.66835,2.72683 2.64135,3.99245 0.973,1.26561 2.23442,2.33337 3.71836,2.92194 1.48395,0.58857 3.1146,0.66135 4.71101,0.66135 h 20"
|
||||||
}
|
transform="translate(1.2499871,-12.187492)" />
|
||||||
|
<path
|
||||||
@media (prefers-color-scheme: dark) {
|
style="fill:none;fill-rule:evenodd;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
path {
|
d="m 285,497.3622 20,-25"
|
||||||
stroke: white;
|
/>
|
||||||
}
|
<path
|
||||||
}
|
style="fill:none;fill-rule:evenodd;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
</style>
|
d="m 285,472.3622 20,25"
|
||||||
<g>
|
/>
|
||||||
<path
|
</g>
|
||||||
d="M 4.29299 15.8457 L 24.293 15.8457 C 25.8894 15.8457 27.52 15.7729 29.004 15.1843 C 30.4879 14.5958 31.7494 13.528 32.7224 12.2624 C 33.6954 10.9968 34.4053 9.54663 35.3637 8.26996 C 35.8429 7.63163 36.3933 7.03719 37.054 6.58932 C 37.7147 6.14145 38.4948 5.8457 39.293 5.8457 C 40.0912 5.8457 40.8713 6.14145 41.532 6.58932 C 42.1927 7.03719 42.743 7.63163 43.2223 8.26996 C 44.1807 9.54663 44.8906 10.9968 45.8636 12.2624 C 46.8366 13.528 48.098 14.5958 49.582 15.1843 C 51.0659 15.7729 52.6966 15.8457 54.293 15.8457 L 74.293 15.8457"
|
|
||||||
/>
|
|
||||||
<path d="M 83.043 28.0332 L 103.043 3.0332" />
|
|
||||||
<path d="M 83.043 3.0332 L 103.043 28.0332" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 343 KiB After Width: | Height: | Size: 343 KiB |
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 199 KiB After Width: | Height: | Size: 199 KiB |
|
Before Width: | Height: | Size: 584 KiB After Width: | Height: | Size: 584 KiB |
|
|
@ -165,18 +165,7 @@
|
||||||
);
|
);
|
||||||
--container-border: light-dark(var(--swiss-brown-6), var(--eclipse-16));
|
--container-border: light-dark(var(--swiss-brown-6), var(--eclipse-16));
|
||||||
--container-background: light-dark(var(--swiss-brown-4), var(--eclipse-12));
|
--container-background: light-dark(var(--swiss-brown-4), var(--eclipse-12));
|
||||||
--container-border-alt: light-dark(var(--eclipse-16), var(--swiss-brown-6));
|
|
||||||
--container-background-alt: light-dark(
|
|
||||||
var(--eclipse-12),
|
|
||||||
var(--swiss-brown-4)
|
|
||||||
);
|
|
||||||
--motto-background: rgba(0, 0, 0, 0.66);
|
--motto-background: rgba(0, 0, 0, 0.66);
|
||||||
--page-button-text: var(--prickly-pear-yellow-1);
|
|
||||||
--page-button-background: var(--prickly-pear-yellow-8);
|
|
||||||
--page-button-background-hover: var(--prickly-pear-yellow-10);
|
|
||||||
--page-button-background-active: var(--prickly-pear-yellow-12);
|
|
||||||
--page-button-background-disabled: var(--prickly-pear-yellow-6);
|
|
||||||
--page-button-text-disabled: var(--eclipse-7);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Fonts
|
Fonts
|
||||||
|
|
@ -186,7 +175,6 @@
|
||||||
--font-family-slab-serif: Rockwell, "Rockwell Nova", "Roboto Slab",
|
--font-family-slab-serif: Rockwell, "Rockwell Nova", "Roboto Slab",
|
||||||
"DejaVu Serif", "Sitka Small", serif;
|
"DejaVu Serif", "Sitka Small", serif;
|
||||||
--font-family-system-ui: system-ui, sans-serif;
|
--font-family-system-ui: system-ui, sans-serif;
|
||||||
--font-family-monospace: "Nimbus Mono PS", "Courier New", monospace;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -198,13 +186,6 @@ html {
|
||||||
font-family: var(--font-family-slab-serif);
|
font-family: var(--font-family-slab-serif);
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
min-height: 98vh;
|
|
||||||
margin: 0 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: var(--link-color);
|
color: var(--link-color);
|
||||||
}
|
}
|
||||||
|
|
@ -254,11 +235,6 @@ nav a:hover {
|
||||||
background-color: var(--nav-button-background-hover);
|
background-color: var(--nav-button-background-hover);
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
figure {
|
figure {
|
||||||
border-color: var(--container-border);
|
border-color: var(--container-border);
|
||||||
border-width: 1.5pt;
|
border-width: 1.5pt;
|
||||||
|
|
@ -268,29 +244,22 @@ figure {
|
||||||
padding: 1.25pt;
|
padding: 1.25pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
figure:has(blockquote) {
|
blockquote {
|
||||||
background: linear-gradient(
|
background: linear-gradient(
|
||||||
to right,
|
to right,
|
||||||
var(--container-border),
|
var(--container-border),
|
||||||
var(--container-background)
|
var(--container-background)
|
||||||
);
|
);
|
||||||
border: none;
|
border-left: 5px solid black;
|
||||||
border-radius: 0;
|
padding: 1px;
|
||||||
border-left: 6px solid black;
|
padding-left: 6px;
|
||||||
padding: 0.25em 1em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
figure:has(blockquote) > blockquote {
|
blockquote small::before {
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
figure:has(blockquote) > figcaption::before {
|
|
||||||
content: "\2014 \00A0";
|
content: "\2014 \00A0";
|
||||||
}
|
}
|
||||||
|
|
||||||
figure:has(blockquote) > figcaption {
|
blockquote small {
|
||||||
margin-top: -1em;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
font-size: 80%;
|
font-size: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -302,7 +271,6 @@ footer {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-shrink: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
form {
|
form {
|
||||||
|
|
@ -327,25 +295,6 @@ textarea:invalid {
|
||||||
border-bottom-color: var(--ear-tag-red);
|
border-bottom-color: var(--ear-tag-red);
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
|
||||||
font-family: var(--font-family-monospace);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
abbr element "tooltip" for mobile
|
|
||||||
heavily modified from https://bitsofco.de/making-abbr-work-for-touchscreen-keyboard-mouse/
|
|
||||||
*/
|
|
||||||
abbr[title]:focus::after {
|
|
||||||
content: attr(title);
|
|
||||||
background-color: #1e1e1e;
|
|
||||||
color: #fff;
|
|
||||||
border-radius: 0.125em;
|
|
||||||
box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.4);
|
|
||||||
font-size: smaller;
|
|
||||||
padding: 0.5em;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Container-type helper classes
|
Container-type helper classes
|
||||||
*/
|
*/
|
||||||
|
|
@ -355,12 +304,6 @@ abbr[title]:focus::after {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.motto-wrapper {
|
|
||||||
display: block;
|
|
||||||
flex: 1 0 30vh;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.motto {
|
.motto {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: grid;
|
display: grid;
|
||||||
|
|
@ -370,7 +313,6 @@ abbr[title]:focus::after {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
text-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
|
text-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
|
||||||
padding: 0 0 0.5em 0;
|
padding: 0 0 0.5em 0;
|
||||||
border-radius: 0.25rem;
|
border-radius: 0.25rem;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
|
|
@ -398,7 +340,6 @@ abbr[title]:focus::after {
|
||||||
|
|
||||||
.motto .motto-inside h1 {
|
.motto .motto-inside h1 {
|
||||||
background-color: var(--motto-background);
|
background-color: var(--motto-background);
|
||||||
padding: 0.5rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
|
|
@ -410,23 +351,11 @@ abbr[title]:focus::after {
|
||||||
margin: 1rem 0;
|
margin: 1rem 0;
|
||||||
padding: 0.5rem;
|
padding: 0.5rem;
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-content {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex-grow: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-header {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: space-between;
|
|
||||||
flex-grow: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-link {
|
.card-link {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
|
|
@ -434,26 +363,22 @@ abbr[title]:focus::after {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
text-underline-offset: 0.25em;
|
text-underline-offset: 0.25em;
|
||||||
backface-visibility: hidden;
|
backface-visibility: hidden;
|
||||||
margin: 0.1em 0.25em;
|
margin: 0 0.5em;
|
||||||
padding: 0.33em;
|
|
||||||
padding-right: 0.45em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-body {
|
|
||||||
margin-top: 0.33em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.category-button {
|
.category-button {
|
||||||
|
position: absolute;
|
||||||
|
top: 1em;
|
||||||
|
right: 1em;
|
||||||
display: grid;
|
display: grid;
|
||||||
align-items: center;
|
|
||||||
justify-items: center;
|
|
||||||
color: white;
|
color: white;
|
||||||
background-color: var(--ear-tag-red);
|
background-color: var(--ear-tag-red);
|
||||||
border-radius: 0.5em;
|
border-radius: 0.5em;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
margin: 1em;
|
}
|
||||||
height: 2em;
|
|
||||||
aspect-ratio: 1 / 1;
|
.card-title a h3 {
|
||||||
|
margin-right: 3.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-title > a {
|
.card-title > a {
|
||||||
|
|
@ -496,69 +421,6 @@ abbr[title]:focus::after {
|
||||||
fill: currentColor;
|
fill: currentColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.account-bucket {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: 3em 1em 1fr;
|
|
||||||
background-color: var(--container-background-alt);
|
|
||||||
padding: 1em 0;
|
|
||||||
border-radius: 0.5em;
|
|
||||||
border-color: var(--container-border-alt);
|
|
||||||
border-style: solid;
|
|
||||||
color: light-dark(white, black);
|
|
||||||
margin: 1em 0;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.account-bucket h3 {
|
|
||||||
align-self: center;
|
|
||||||
writing-mode: sideways-lr;
|
|
||||||
}
|
|
||||||
|
|
||||||
.account-bucket details {
|
|
||||||
grid-column: 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.account-bucket .crypto-list {
|
|
||||||
grid-column: 3;
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.account-list {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
width: calc(100% - 1.5em);
|
|
||||||
}
|
|
||||||
|
|
||||||
.account-bucket .account-list {
|
|
||||||
grid-column: 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.account-list a {
|
|
||||||
font-size: xx-large;
|
|
||||||
text-decoration: none;
|
|
||||||
color: inherit;
|
|
||||||
padding: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.account-list a:hover {
|
|
||||||
background-color: var(--container-background);
|
|
||||||
border-color: var(--container-border);
|
|
||||||
border-width: 2.5px;
|
|
||||||
border-radius: 0.5em;
|
|
||||||
border-style: solid;
|
|
||||||
padding: calc(0.5em - 2.5px);
|
|
||||||
}
|
|
||||||
|
|
||||||
figcaption .mono {
|
|
||||||
color: light-dark(black, white);
|
|
||||||
overflow-wrap: anywhere;
|
|
||||||
}
|
|
||||||
|
|
||||||
.crypto-list details {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Helper classes
|
Helper classes
|
||||||
*/
|
*/
|
||||||
|
|
@ -569,9 +431,6 @@ figcaption .mono {
|
||||||
.img-fluid {
|
.img-fluid {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
display: grid;
|
|
||||||
align-items: center;
|
|
||||||
justify-items: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.float-left {
|
.float-left {
|
||||||
|
|
@ -584,68 +443,6 @@ figcaption .mono {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pagination {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
gap: 0.5em;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination li {
|
|
||||||
list-style-type: none;
|
|
||||||
color: var(--nav-button-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination li a {
|
|
||||||
color: var(--page-button-text);
|
|
||||||
background-color: var(--page-button-background);
|
|
||||||
border-radius: 0.05rem;
|
|
||||||
border-style: outset;
|
|
||||||
border-width: 0.2rem;
|
|
||||||
border-color: var(--page-button-background);
|
|
||||||
width: 2rem;
|
|
||||||
max-width: 1.8vw;
|
|
||||||
aspect-ratio: 1 / 1;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
margin: 0.2rem;
|
|
||||||
text-decoration: none;
|
|
||||||
padding: 0 0.2rem;
|
|
||||||
font-family: var(--font-family-system-ui);
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination li a:hover {
|
|
||||||
background-color: var(--page-button-background-hover);
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination li.active a {
|
|
||||||
background-color: var(--page-button-background-active);
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination li.disabled a {
|
|
||||||
cursor: not-allowed;
|
|
||||||
background-color: var(--page-button-background-disabled);
|
|
||||||
color: var(--page-button-text-disabled);
|
|
||||||
border-style: solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mono {
|
|
||||||
font-family: var(--font-family-monospace);
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bolder {
|
|
||||||
font-weight: bolder;
|
|
||||||
background-color: rgba(0, 0, 0, 0.33);
|
|
||||||
border-radius: 0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Specific elements */
|
|
||||||
#content {
|
|
||||||
flex: 1 0 max-content;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Desktop screen size adjustments
|
Desktop screen size adjustments
|
||||||
*/
|
*/
|
||||||
|
|
@ -683,15 +480,6 @@ figcaption .mono {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
}
|
}
|
||||||
|
|
||||||
.person-profile {
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
width: 300px;
|
|
||||||
min-width: 20vw;
|
|
||||||
max-width: 30vw;
|
|
||||||
margin-bottom: 5vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Helper classes
|
Helper classes
|
||||||
*/
|
*/
|
||||||
|
|
@ -713,19 +501,20 @@ figcaption .mono {
|
||||||
margin-right: 1rem;
|
margin-right: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-thumbnail {
|
.card-header {
|
||||||
width: 20vw;
|
width: 20vw;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-thumbnail:not(
|
.card-body {
|
||||||
:has(~ .card-content > .card-header > .card-title > .dt-published)
|
margin-left: 1rem;
|
||||||
) {
|
|
||||||
width: 10vw;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-content {
|
.bolder {
|
||||||
margin-left: 1rem;
|
font-weight: bolder;
|
||||||
|
background-color: rgba(0, 0, 0, 0.33);
|
||||||
|
border-radius: 0.25em;
|
||||||
|
padding: 0.25em 0.75em 0.5em 0.33em;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -745,3 +534,79 @@ figcaption .mono {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
} /* end @media */
|
} /* end @media */
|
||||||
|
|
||||||
|
@media (prefers-reduced-motion: no-preference) {
|
||||||
|
@supports (animation-timeline: scroll()) and (animation-range: 0 50vh) {
|
||||||
|
@keyframes sticky-header {
|
||||||
|
from {
|
||||||
|
height: 50vh;
|
||||||
|
top: 6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
height: 10vh;
|
||||||
|
top: -1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blurry-header {
|
||||||
|
from {
|
||||||
|
filter: blur(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
filter: blur(2px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes transparent-text-bg {
|
||||||
|
from {
|
||||||
|
background-color: var(--motto-background);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
background-color: rgba(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
main,
|
||||||
|
footer {
|
||||||
|
position: relative;
|
||||||
|
top: 55vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.motto {
|
||||||
|
position: fixed;
|
||||||
|
top: 12rem;
|
||||||
|
|
||||||
|
animation: sticky-header linear forwards;
|
||||||
|
animation-timeline: scroll();
|
||||||
|
animation-range: 0 50vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.motto::before {
|
||||||
|
filter: blur(12px);
|
||||||
|
|
||||||
|
top: 2rem;
|
||||||
|
|
||||||
|
animation: blurry-header linear forwards;
|
||||||
|
animation-timeline: scroll();
|
||||||
|
animation-range: 0 50vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.motto-inside h1 {
|
||||||
|
animation: transparent-text-bg linear forwards;
|
||||||
|
animation-timeline: scroll();
|
||||||
|
animation-range: 0 40vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.motto {
|
||||||
|
width: calc(100% - 8rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.motto::before {
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} /* end @supports */
|
||||||
|
} /* end @media */
|
||||||
|
|
|
||||||
|
|
@ -1,65 +0,0 @@
|
||||||
@media (prefers-reduced-motion: no-preference) {
|
|
||||||
@supports (animation-timeline: scroll()) and (animation-range: 0 50vh) {
|
|
||||||
@keyframes sticky-header {
|
|
||||||
from {
|
|
||||||
flex-basis: 30vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
to {
|
|
||||||
flex-basis: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.motto-wrapper {
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
z-index: 100;
|
|
||||||
|
|
||||||
animation: sticky-header linear forwards;
|
|
||||||
animation-timeline: scroll();
|
|
||||||
animation-range: 0 30vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blurry-header {
|
|
||||||
from {
|
|
||||||
filter: blur(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
to {
|
|
||||||
filter: blur(3.5px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.motto::before {
|
|
||||||
animation: blurry-header linear forwards;
|
|
||||||
animation-timeline: scroll();
|
|
||||||
animation-range: 0 30vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes transparent-text-bg {
|
|
||||||
from {
|
|
||||||
background-color: var(--motto-background);
|
|
||||||
text-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
background-color: rgba(0, 0, 0, 0);
|
|
||||||
text-shadow: 0 0 10px rgba(0, 0, 0, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.motto-inside h1 {
|
|
||||||
animation: transparent-text-bg linear forwards;
|
|
||||||
animation-timeline: scroll();
|
|
||||||
animation-range: 0 30vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
.motto-inside h1 small {
|
|
||||||
display: block;
|
|
||||||
font-size: calc(1vh + 1vw);
|
|
||||||
line-height: calc(1vh + 1vw);
|
|
||||||
}
|
|
||||||
|
|
||||||
main section {
|
|
||||||
margin: 0 0.25em;
|
|
||||||
}
|
|
||||||
} /* end @supports */
|
|
||||||
} /* end @media */
|
|
||||||
41
config.toml
|
|
@ -1,6 +1,6 @@
|
||||||
baseURL = "https://millironx.com"
|
baseURL = "https://millironx.com"
|
||||||
languageCode = "en-us"
|
languageCode = "en-us"
|
||||||
title = "Milliron X"
|
title = "MillironX"
|
||||||
|
|
||||||
[pagination]
|
[pagination]
|
||||||
pagerSize = 5
|
pagerSize = 5
|
||||||
|
|
@ -11,47 +11,8 @@ writeStats = true
|
||||||
[Params]
|
[Params]
|
||||||
cardImage = "saddles"
|
cardImage = "saddles"
|
||||||
motto = ""
|
motto = ""
|
||||||
images = ["saddles.jpg"]
|
|
||||||
categories = []
|
|
||||||
|
|
||||||
[taxonomies]
|
[taxonomies]
|
||||||
people = "people"
|
people = "people"
|
||||||
tag = "tags"
|
tag = "tags"
|
||||||
category = "categories"
|
category = "categories"
|
||||||
|
|
||||||
[mediaTypes]
|
|
||||||
|
|
||||||
[mediaTypes."application/atom+xml"]
|
|
||||||
suffixes = ["xml"]
|
|
||||||
|
|
||||||
[outputs]
|
|
||||||
home = ["atom", "html", "manifest"]
|
|
||||||
page = ["html"]
|
|
||||||
section = ["html", "atom"]
|
|
||||||
term = ["html", "atom"]
|
|
||||||
|
|
||||||
[outputFormats]
|
|
||||||
|
|
||||||
[outputFormats.atom]
|
|
||||||
mediaType = "application/atom+xml"
|
|
||||||
baseName = "feed"
|
|
||||||
|
|
||||||
[outputFormats.manifest]
|
|
||||||
name = "manifest"
|
|
||||||
baseName = "manifest"
|
|
||||||
mediaType = "application/json"
|
|
||||||
notAlternative = "true"
|
|
||||||
|
|
||||||
[markup]
|
|
||||||
|
|
||||||
[markup.goldmark]
|
|
||||||
|
|
||||||
[markup.goldmark.parser]
|
|
||||||
|
|
||||||
[markup.goldmark.parser.attribute]
|
|
||||||
block = true
|
|
||||||
|
|
||||||
[markup.goldmark.renderHooks]
|
|
||||||
|
|
||||||
[markup.goldmark.renderHooks.link]
|
|
||||||
enableDefault = true
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
---
|
---
|
||||||
|
title: Home
|
||||||
cardImage: charolette
|
cardImage: charolette
|
||||||
cardImageDescription: She almost looks like she's in her native country again.
|
cardImageDescription: She almost looks like she's in her native country again.
|
||||||
motto: <small>My name is Thomas Christensen</small><br />I am Milliron X
|
motto: <small>My name is Thomas Christensen</small><br />I am Milliron X
|
||||||
description: The homepage of Thomas A. Christensen II
|
description: The homepage of Thomas A. Christensen II
|
||||||
|
layout: _default/list
|
||||||
menu:
|
menu:
|
||||||
main:
|
main:
|
||||||
name: Home
|
|
||||||
params:
|
params:
|
||||||
icon: home
|
icon: home
|
||||||
weight: -1000
|
weight: -1000
|
||||||
|
|
@ -28,3 +29,58 @@ to a sense of withholding, prestige, and power.
|
||||||
|
|
||||||
Together, these two symbols represent the qualities I strive for in each of my
|
Together, these two symbols represent the qualities I strive for in each of my
|
||||||
works: authenticity, originality, power, depth, and prestige.
|
works: authenticity, originality, power, depth, and prestige.
|
||||||
|
|
||||||
|
## Who am I?
|
||||||
|
|
||||||
|
{{< imgproc me-and-lady Resize "768x" "float-right" >}} Image courtesy
|
||||||
|
[Guy McCutcheon Photography](https://www.guymccutcheon.com/) {{< /imgproc >}}
|
||||||
|
|
||||||
|
I am
|
||||||
|
|
||||||
|
- 🧬 A bioinformatician (by profession)
|
||||||
|
- 📐 An engineer (by education)
|
||||||
|
- 🐂 A rancher (by lifestyle)
|
||||||
|
- 🖥️ A techie (self-taught)
|
||||||
|
- 🎥 And a filmmaker (at heart)
|
||||||
|
|
||||||
|
I've got a soft spot for Brown Swiss dairy cows (just in case you couldn't tell
|
||||||
|
by the pictures), and am sometimes called "one of those crazy, Wyoming dairy cow
|
||||||
|
people." I love anything to do with cattle or technology, but especially
|
||||||
|
anything to do with both of them.
|
||||||
|
|
||||||
|
_{{< abbr "Born again, fundamentalist, dispensationalist, King James Bible-believing, independent Baptist" >}}Christian{{< /abbr >}},
|
||||||
|
American, Convervative, Pro-gun, Heterosexual - any questions?_
|
||||||
|
|
||||||
|
## Where am I?
|
||||||
|
|
||||||
|
{{< imgproc wy-in-ks Resize "768x" "float-left" / >}}
|
||||||
|
|
||||||
|
I am a Wyomingite sojurning in Kansas. That ought to lead to some interesting
|
||||||
|
stories.
|
||||||
|
|
||||||
|
Around the web you can find me at (in order of subjective importance)
|
||||||
|
|
||||||
|
- {{< fa github >}} GitHub: [@MillironX](https://github.com/MillironX "me")
|
||||||
|
- {{< fa orcid >}} ORDiD:
|
||||||
|
[0000-0003-1219-9320](https://orcid.org/0000-0003-1219-9320)
|
||||||
|
- {{< fa gitlab >}} GitLab: [@MillironX](https://gitlab.com/MillironX)
|
||||||
|
- {{< fa vimeo >}} Vimeo:
|
||||||
|
[Thomas Christensen II](https://vimeo.com/tchristensenii)
|
||||||
|
- {{< fa stack-overflow >}} StackExchange:
|
||||||
|
[Milliron X](https://stackexchange.com/users/4863541/milliron-x)
|
||||||
|
- {{< fa steam >}} Steam: [MillironX](https://steamcommunity.com/id/millironx)
|
||||||
|
|
||||||
|
This list is intended to verify my identity on other sites. Please do _not_ use
|
||||||
|
it as fodder to try and "follow" me on each of these platforms. I stand with
|
||||||
|
RMS:
|
||||||
|
|
||||||
|
{{< blockquote "Richard Stallman _in_ [If you feel your organization needs a 'presence' in Facebook](https://stallman.org/facebook-presence.html)" >}}
|
||||||
|
Facebook is a bad place for a person to be. When people find us on Facebook, we
|
||||||
|
lead them away from Facebook and then talk with them elsewhere.
|
||||||
|
{{< /blockquote >}}
|
||||||
|
|
||||||
|
I typically don't respond to inquiries made on these platforms. Please use
|
||||||
|
[my contact form](/contact), instead.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -14,15 +14,13 @@ menu:
|
||||||
fa-thumbnail: university
|
fa-thumbnail: university
|
||||||
---
|
---
|
||||||
|
|
||||||
|
> I have spent too long in school and not enough time in the middle of nowhere
|
||||||
|
>
|
||||||
|
> -- Baxter Black, DVM
|
||||||
|
|
||||||
During my time in academia, I have amassed a few notable accomplishments. Of
|
During my time in academia, I have amassed a few notable accomplishments. Of
|
||||||
course, as the old saying goes, "if it isn't published, then it never happened,"
|
course, as the old saying goes, "if it isn't published, then it never happened,"
|
||||||
so here is a list of everything that actually happened.
|
so here is a list of everything that actually happened. Several of these
|
||||||
|
articles are also available on
|
||||||
Academia is not the be-all and end-all of life (contrary to what your professor
|
[my Google Scholar page](https://scholar.google.com/citations?user=gbP4RDgAAAAJ),
|
||||||
might have told you). I've found the side-effects to be similar to this guy's:
|
but this is the complete list.
|
||||||
|
|
||||||
<!-- prettier-ignore-start -->
|
|
||||||
> I have spent too long in school and not enough time in the middle of nowhere,
|
|
||||||
> and it has inhibited my ability to learn the simple things.
|
|
||||||
{author="Baxter Black, DVM"}
|
|
||||||
<!-- prettier-ignore-end -->
|
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 632 KiB |
|
Before Width: | Height: | Size: 668 KiB |
|
|
@ -1,7 +1,6 @@
|
||||||
---
|
---
|
||||||
title:
|
title:
|
||||||
"nf-core/taxprofiler: highly parallelised and flexible pipeline for
|
"nf-core/taxprofiler: highly parallelised and flexible pipeline for metagenomic taxonomic classification and profiling"
|
||||||
metagenomic taxonomic classification and profiling"
|
|
||||||
date: 2023-10-23
|
date: 2023-10-23
|
||||||
featured: true
|
featured: true
|
||||||
tags:
|
tags:
|
||||||
|
|
@ -17,25 +16,9 @@ people:
|
||||||
- Maxime Borry
|
- Maxime Borry
|
||||||
- Mahwash Jamy
|
- Mahwash Jamy
|
||||||
- nf-core community
|
- nf-core community
|
||||||
- James A. Fellows Yates
|
- James A. Fellows Yate
|
||||||
link: https://doi.org/10.1101/2023.10.20.563221
|
link: https://doi.org/10.1101/2023.10.20.563221
|
||||||
journal: bioRxiv
|
journal: bioRxiv
|
||||||
---
|
---
|
||||||
|
|
||||||
Metagenomic classification tackles the problem of characterising the taxonomic
|
Metagenomic classification tackles the problem of characterising the taxonomic source of all DNA sequencing reads in a sample. A common approach to address the differences and biases between the many different taxonomic classification tools is to run metagenomic data through multiple classification tools and databases. This, however, is a very time-consuming task when performed manually - particularly when combined with the appropriate preprocessing of sequencing reads before the classification. Here we present nf-core/taxprofiler, a highly parallelised read-processing and taxonomic classification pipeline. It is designed for the automated and simultaneous classification and/or profiling of both short- and long-read metagenomic sequencing libraries against a 11 taxonomic classifiers and profilers as well as databases within a single pipeline run. Implemented in Nextflow and as part of the nf-core initiative, the pipeline benefits from high levels of scalability and portability, accommodating from small to extremely large projects on a wide range of computing infrastructure. It has been developed following best-practise software development practises and community support to ensure longevity and adaptability of the pipeline, to help keep it up to date with the field of metagenomics.
|
||||||
source of all DNA sequencing reads in a sample. A common approach to address the
|
|
||||||
differences and biases between the many different taxonomic classification tools
|
|
||||||
is to run metagenomic data through multiple classification tools and databases.
|
|
||||||
This, however, is a very time-consuming task when performed manually -
|
|
||||||
particularly when combined with the appropriate preprocessing of sequencing
|
|
||||||
reads before the classification. Here we present nf-core/taxprofiler, a highly
|
|
||||||
parallelised read-processing and taxonomic classification pipeline. It is
|
|
||||||
designed for the automated and simultaneous classification and/or profiling of
|
|
||||||
both short- and long-read metagenomic sequencing libraries against a 11
|
|
||||||
taxonomic classifiers and profilers as well as databases within a single
|
|
||||||
pipeline run. Implemented in Nextflow and as part of the nf-core initiative, the
|
|
||||||
pipeline benefits from high levels of scalability and portability, accommodating
|
|
||||||
from small to extremely large projects on a wide range of computing
|
|
||||||
infrastructure. It has been developed following best-practise software
|
|
||||||
development practises and community support to ensure longevity and adaptability
|
|
||||||
of the pipeline, to help keep it up to date with the field of metagenomics.
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,5 @@
|
||||||
---
|
---
|
||||||
title: "Blogroll"
|
draft: true
|
||||||
menu:
|
|
||||||
main:
|
|
||||||
name: Blogroll
|
|
||||||
params:
|
|
||||||
icon: scroll
|
|
||||||
weight: -800
|
|
||||||
cardImage: eclipse
|
|
||||||
cardImageDescription: |
|
|
||||||
Randall Monroe was right. Eclipses are way cooler than they sound.
|
|
||||||
suppressRss: true
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Stuff I like on the internet
|
## Stuff I like on the internet
|
||||||
|
|
@ -17,4 +7,39 @@ suppressRss: true
|
||||||
This section of a website used to be called a "blogroll." I don't know what it's
|
This section of a website used to be called a "blogroll." I don't know what it's
|
||||||
called now. In order to be on this list, I must have been subscribed or
|
called now. In order to be on this list, I must have been subscribed or
|
||||||
otherwise follow it for over a year. It's amazing how little stuff on the
|
otherwise follow it for over a year. It's amazing how little stuff on the
|
||||||
internet can make that cut.
|
internet can't make that cut.
|
||||||
|
|
||||||
|
### [Thru the Bible](https://ttb.org/)
|
||||||
|
|
||||||
|
I'm convinced that the word of God is timeless, and we need less commentary and
|
||||||
|
cherry-picking of favorite verses, and more study of the complete Bible. Dr.
|
||||||
|
McGee does just that.
|
||||||
|
|
||||||
|
### [Enoch the Cow Vet](https://youtube.com/channel/UC6PPmHUbcdOSzX5tLB3uXdw)
|
||||||
|
|
||||||
|
A veterinarian/agricultural channel that doesn't make me cringe. "God built
|
||||||
|
these things for cows for vets ... [there are] so many aspects of the cow that
|
||||||
|
are just designed for vets." Amen, Enoch. Amen.
|
||||||
|
|
||||||
|
### [Proglogion](https://blog.drwile.com/)
|
||||||
|
|
||||||
|
The blog of my high school science teacher (of sorts). It is refreshing to find
|
||||||
|
a creationist who can still think critically. I love his "bad sermon
|
||||||
|
illustrations" posts.
|
||||||
|
|
||||||
|
### [The Milk Check](https://www.jacoby.com/learning-center/podcasts-overview/)
|
||||||
|
|
||||||
|
A pragmatic inside look at dairy marketing. I only understand half of what
|
||||||
|
they're talking about, but I learn something new every episode.
|
||||||
|
|
||||||
|
### [Brian Harry's Blog](https://devblogs.microsoft.com/bharry/)
|
||||||
|
|
||||||
|
Where else are you going to find a blog about cows _and_ version control? The
|
||||||
|
blog is basically dead now, but it's still fun to go back and read the farm
|
||||||
|
stories.
|
||||||
|
|
||||||
|
### [Car Talk](https://cartalk.com/)
|
||||||
|
|
||||||
|
The antics of these guys are enough to make anyone have to pull over to the side
|
||||||
|
of the road from laughing too much. I dread the day when NPR fully axes the only
|
||||||
|
good program to cross their airwaves.
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
title: Brian Harry's blog
|
|
||||||
link: https://devblogs.microsoft.com/bharry/
|
|
||||||
---
|
|
||||||
|
|
||||||
Where else are you going to find a blog about cows _and_ version control? The
|
|
||||||
blog is basically dead now, but it's still fun to go back and read the farm
|
|
||||||
stories.
|
|
||||||
|
Before Width: | Height: | Size: 514 KiB |
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
title: Car Talk
|
|
||||||
link: https://cartalk.com
|
|
||||||
---
|
|
||||||
|
|
||||||
The antics of these guys are enough to make anyone have to pull over to the side
|
|
||||||
of the road from laughing too much. I dread the day when NPR fully axes the only
|
|
||||||
good program to cross their airwaves.
|
|
||||||
|
Before Width: | Height: | Size: 8.1 KiB |
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
title: Enoch the Cow Vet
|
|
||||||
link: https://youtube.com/channel/UC6PPmHUbcdOSzX5tLB3uXdw
|
|
||||||
---
|
|
||||||
|
|
||||||
A veterinarian/agricultural channel that doesn't make me cringe. "God built
|
|
||||||
these things for cows for vets ... [there are] so many aspects of the cow that
|
|
||||||
are just designed for vets." Amen, Enoch. Amen.
|
|
||||||
|
Before Width: | Height: | Size: 12 KiB |
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
title: Proslogion
|
|
||||||
link: https://blog.drwile.com
|
|
||||||
---
|
|
||||||
|
|
||||||
The blog of my high school science teacher (of sorts). It is refreshing to find
|
|
||||||
a creationist who can still think critically. I love his "bad sermon
|
|
||||||
illustrations" posts.
|
|
||||||
|
Before Width: | Height: | Size: 323 KiB |
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
title: Thru the Bible
|
|
||||||
link: https://ttb.org
|
|
||||||
---
|
|
||||||
|
|
||||||
I'm convinced that the word of God is timeless, and we need less commentary and
|
|
||||||
cherry-picking of favorite verses, and more study of the complete Bible. Dr.
|
|
||||||
McGee does just that.
|
|
||||||
|
Before Width: | Height: | Size: 19 KiB |
|
|
@ -1,75 +0,0 @@
|
||||||
{{ $data := dict }}
|
|
||||||
{{ $url := "https://code.millironx.com/api/v1/users/millironx/repos" }}
|
|
||||||
{{ with try (resources.GetRemote $url) }}
|
|
||||||
{{ with .Err }}
|
|
||||||
{{ errorf "Unable to get remote resource %s: %s" $url . }}
|
|
||||||
{{ else with .Value }}
|
|
||||||
{{ $data = . | transform.Unmarshal }}
|
|
||||||
{{ end }}
|
|
||||||
{{ else }}
|
|
||||||
{{ errorf "Unable to get remote resource %s" $url }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ range $data }}
|
|
||||||
{{/* Get tags of this repository. To quote Steve Edstrom, "If it doesn't have a
|
|
||||||
tag, it doesn't count."
|
|
||||||
*/}}
|
|
||||||
{{ $tagUrl := print "https://code.millironx.com/api/v1/repos/millironx/" .name "/tags" }}
|
|
||||||
{{ $tagData := dict }}
|
|
||||||
{{ with try (resources.GetRemote $tagUrl) }}
|
|
||||||
{{ with .Err }}
|
|
||||||
{{ errorf "Unable to get remote resource %s: %s" $tagUrl . }}
|
|
||||||
{{ else with .Value }}
|
|
||||||
{{ $tagData = . | transform.Unmarshal }}
|
|
||||||
{{ end }}
|
|
||||||
{{ else }}
|
|
||||||
{{ errorf "Unable to get remote resource %s" $tagUrl }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ $firstTag := index $tagData 0 }}
|
|
||||||
|
|
||||||
{{ if $firstTag }}
|
|
||||||
{{ $dates := dict "date" (time.AsTime $firstTag.commit.created) }}
|
|
||||||
|
|
||||||
{{ $content := dict "mediaType" "text/markdown" "value" .description }}
|
|
||||||
{{ $categories := slice "code" }}
|
|
||||||
{{ $people := slice "Thomas A. Christensen II" }}
|
|
||||||
{{ $link := .html_url }}
|
|
||||||
{{ $featured := (gt .stars_count 0) }}
|
|
||||||
{{ $tags := .topics }}
|
|
||||||
{{ $params := dict
|
|
||||||
"categories" $categories
|
|
||||||
"people" $people
|
|
||||||
"link" $link
|
|
||||||
"featured" $featured
|
|
||||||
"tags" $tags
|
|
||||||
}}
|
|
||||||
{{ $page := dict
|
|
||||||
"content" $content
|
|
||||||
"dates" $dates
|
|
||||||
"title" .name
|
|
||||||
"path" .name
|
|
||||||
"params" $params
|
|
||||||
}}
|
|
||||||
{{ $.AddPage $page }}
|
|
||||||
|
|
||||||
{{ $item := . }}
|
|
||||||
{{ with $url := $item.avatar_url }}
|
|
||||||
{{ with resources.GetRemote $url }}
|
|
||||||
{{ with .Err }}
|
|
||||||
{{ errorf "Unable to get remote resource %s: %s" $url . }}
|
|
||||||
{{ else }}
|
|
||||||
{{ $content := dict "mediaType" .MediaType.Type "value" .Content }}
|
|
||||||
{{ $resource := dict
|
|
||||||
"content" $content
|
|
||||||
"path" (print $item.name "/thumbnail." .MediaType.SubType)
|
|
||||||
}}
|
|
||||||
{{ $.AddResource $resource }}
|
|
||||||
{{ end }}
|
|
||||||
{{ else }}
|
|
||||||
{{ errorf "Unable to get remote resource %s" $url }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
---
|
|
||||||
title: Coding projects
|
|
||||||
menu:
|
|
||||||
main:
|
|
||||||
name: Code
|
|
||||||
params:
|
|
||||||
icon: code
|
|
||||||
link: https://code.millironx.com
|
|
||||||
weight: 50
|
|
||||||
fa-thumbnail: code
|
|
||||||
link: https://code.millironx.com
|
|
||||||
---
|
|
||||||
|
|
||||||
A Forgejo instance dedicated to cows and technology
|
|
||||||
|
|
@ -15,7 +15,6 @@ menu:
|
||||||
weight: 1
|
weight: 1
|
||||||
fa-thumbnail: file-signature
|
fa-thumbnail: file-signature
|
||||||
validation: true
|
validation: true
|
||||||
suppressRss: true
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<form action="https://usebasin.com/f/787df7bfd22e" method="post">
|
<form action="https://usebasin.com/f/787df7bfd22e" method="post">
|
||||||
|
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
---
|
|
||||||
title: Login
|
|
||||||
menu:
|
|
||||||
main:
|
|
||||||
name: Login
|
|
||||||
params:
|
|
||||||
icon: right-to-bracket
|
|
||||||
link: https://youtu.be/dQw4w9WgXcQ
|
|
||||||
weight: 99
|
|
||||||
fa-thumbnail: right-to-bracket
|
|
||||||
link: https://youtu.be/dQw4w9WgXcQ
|
|
||||||
---
|
|
||||||
|
|
||||||
The password is "Open sesame!"
|
|
||||||
BIN
content/me-and-lady.jpg
Normal file
|
After Width: | Height: | Size: 13 MiB |
|
|
@ -1,113 +0,0 @@
|
||||||
---
|
|
||||||
title: "Thomas A. Christensen II"
|
|
||||||
menu:
|
|
||||||
main:
|
|
||||||
name: About
|
|
||||||
params:
|
|
||||||
icon: circle-info
|
|
||||||
me: true
|
|
||||||
weight: -900
|
|
||||||
homepage: https://millironx.com
|
|
||||||
accounts:
|
|
||||||
google-scholar: gbP4RDgAAAAJ
|
|
||||||
github: MillironX
|
|
||||||
hacker-news: millironx
|
|
||||||
matrix: "@millironx:matrix.org"
|
|
||||||
orcid: 0000-0003-1219-9320
|
|
||||||
steam: millironx
|
|
||||||
vimeo: tchristensenii
|
|
||||||
gpg_key:
|
|
||||||
fingerprint: 8B12 8295 5A14 9FAB 735F 56D3 AD91 52EB 09C8 4352
|
|
||||||
public_key: |
|
|
||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
|
|
||||||
mDMEZ100cRYJKwYBBAHaRw8BAQdAV485J1tB8sQPisFGyRYREcOtJsRSdwQEQ5aM
|
|
||||||
Exg6ozC0RlRob21hcyBBLiBDaHJpc3RlbnNlbiBJSSA8MjU0OTIwNzArTWlsbGly
|
|
||||||
b25YQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT6IkwQTFgoAOxYhBIsSgpVaFJ+r
|
|
||||||
c19W062RUusJyENSBQJnXTU2AhsBBQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheA
|
|
||||||
AAoJEK2RUusJyENS21UA/iPpRxE8zTQa1xktSXDYSLxWoDcsHhziQGqwULqUKot+
|
|
||||||
APwMLFpov2TW322SQ8Fui1jYb/Z1SxnJ/jNiarpRRAGYALQ7VGhvbWFzIEEuIENo
|
|
||||||
cmlzdGVuc2VuIElJIDx0aG9tYXMuY2hyaXN0ZW5zZW5AbWlsbGlyb254LmNvbT6I
|
|
||||||
kwQTFgoAOxYhBIsSgpVaFJ+rc19W062RUusJyENSBQJnXTRxAhsBBQsJCAcCAiIC
|
|
||||||
BhUKCQgLAgQWAgMBAh4HAheAAAoJEK2RUusJyENS4ykA/1YyKsTvlW1xgt16p8Yv
|
|
||||||
J0c+R9XfpwJoVUad/clF7olxAQCqgBYD4HmcGemCuEzIQ3OfQi94scEIu8Q8pA8n
|
|
||||||
c9MzDLQzVGhvbWFzIEEuIENocmlzdGVuc2VuIElJIDxtaWxsaXJvbnhAcHJvdG9u
|
|
||||||
bWFpbC5jb20+iJMEExYKADsWIQSLEoKVWhSfq3NfVtOtkVLrCchDUgUCZ101NgIb
|
|
||||||
AQULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRCtkVLrCchDUhbHAQCmHYXF
|
|
||||||
pyaW2ImR7e2MAkvJGlCP82ssL6ZYvLy/6AnW0AD/bqtMr0qpvIQrMhyodOgBa7Iz
|
|
||||||
aHd3EpX6b1SiqOEuigS0MFRob21hcyBBLiBDaHJpc3RlbnNlbiBJSSA8bWlsbGly
|
|
||||||
b254QG1haWxib3gub3JnPoiTBBMWCgA7FiEEixKClVoUn6tzX1bTrZFS6wnIQ1IF
|
|
||||||
AmddNTYCGwEFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQrZFS6wnIQ1I9
|
|
||||||
gQEA/EWmrCFZfzWB50RuO7vGRsg3ac1fhQRPsZInbSL+Z2YA/RRJBLb8jWngKYd/
|
|
||||||
cZikJ/GyowGtcoBJJBPruj5thFENtDdUaG9tYXMgQS4gQ2hyaXN0ZW5zZW4gSUkg
|
|
||||||
PHRjaHJpc3RlbnNlbkB2ZXQuay1zdGF0ZS5lZHU+iJMEExYKADsWIQSLEoKVWhSf
|
|
||||||
q3NfVtOtkVLrCchDUgUCZ101NgIbAQULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIX
|
|
||||||
gAAKCRCtkVLrCchDUtaIAQDmtsVMcVAEYijjwwuTo9uUXq1cq+VAd4nVlzx6cXvK
|
|
||||||
2gD/Vi6c0YUQMe4XU6p3L8ur2Y0b5fwNvA2q+arerCe6cAq4MwRnXTWNFgkrBgEE
|
|
||||||
AdpHDwEBB0BtEdEOzEbrbd1RwtbiXfUdO/gecppU4WvtQGQ1uH2RTYj1BBgWCgAm
|
|
||||||
FiEEixKClVoUn6tzX1bTrZFS6wnIQ1IFAmddNY0CGwIFCQW755MAgQkQrZFS6wnI
|
|
||||||
Q1J2IAQZFgoAHRYhBN/IAiJKwiYzyKQIMfcVGW6wdYj/BQJnXTWNAAoJEPcVGW6w
|
|
||||||
dYj/fcsBAIkGSljZ7Gl//uPFiJpNf209EaLIZ4N15gMCbF18/g7iAP46Ah5gPvhp
|
|
||||||
05IulDKJheDnjJwyrsfKCRg68SZ4dCvVB2BsAQCPhM/oJZdvzsOw0O3k/OAozX6b
|
|
||||||
RKwSe5tJJiLon7zqygD7B+021foD+snFTYAN4H22xS+BKqN0f8tw71sPWHZx7gW4
|
|
||||||
MwRnXTWOFgkrBgEEAdpHDwEBB0BDcK/hT+3s452nnww9oinVstMTx7+lNYdEMt0V
|
|
||||||
TXxvo4h+BBgWCgAmFiEEixKClVoUn6tzX1bTrZFS6wnIQ1IFAmddNY4CGyAFCQW7
|
|
||||||
55IACgkQrZFS6wnIQ1KddQEA4LOnL5Gg/UHYOMej2nGVjlxI4cnLTo/ju7Ed1m9H
|
|
||||||
hYUA/iYU3KfUgfSfvLKhg91PwGfFDvmRLoBiYaflbekKe+cEuDgEZ101oBIKKwYB
|
|
||||||
BAGXVQEFAQEHQN3Bry/+BQMTunIxjcSY/kK7K9ItlPtpLjAWUQrWZqZMAwEIB4h+
|
|
||||||
BBgWCgAmFiEEixKClVoUn6tzX1bTrZFS6wnIQ1IFAmddNaACGwwFCQW753YACgkQ
|
|
||||||
rZFS6wnIQ1LuRAD+JvOSrv1xe+HCjsSfNlOqCE9ZR2KcN1hcR/Gd80V4y4kA/3sC
|
|
||||||
GOYGT+Hm5E5a7oKKHIZOMxBhfFJCPdoxDMBvee0IuDMEZ1013xYJKwYBBAHaRw8B
|
|
||||||
AQdAURPrApZ0ORNAhLvhCKGjsPUvvpDEdeiuU7yezSkUkoiI9QQYFgoAJhYhBIsS
|
|
||||||
gpVaFJ+rc19W062RUusJyENSBQJnXTXfAhsCBQkFu+dBAIEJEK2RUusJyENSdiAE
|
|
||||||
GRYKAB0WIQQbOpuRop10V4Rxy0NLCkigcdPLigUCZ1013wAKCRBLCkigcdPLingd
|
|
||||||
AP4wnkOjPOUbbJq60e9eVwBATc6oMs8PUs/RW5IjQLo0+QEAnNN2GN0Ck9Ondxol
|
|
||||||
/vHmZCE2w5D+KNXighkM08qNGw1MRgEAt4cQmCD1BVQe+Vn5i0MxVvTDP4iBagAP
|
|
||||||
0lUd2eSFtwwBAI2EjttUu1jY+TMlrav6WotRY9zB10Tc6OSBMA0kPpgEuDMEZ101
|
|
||||||
4BYJKwYBBAHaRw8BAQdA68JzWAJ5/aMLlx9/sTNVbP4HUnk+FMRR6B8WD0xL7z6I
|
|
||||||
fgQYFgoAJhYhBIsSgpVaFJ+rc19W062RUusJyENSBQJnXTXgAhsgBQkFu+dAAAoJ
|
|
||||||
EK2RUusJyENS4MoA/2T1RjkEhwII6FAJWj8UV/nvwodXyX2eDgZj+h7izRflAP9y
|
|
||||||
19MsNmOkEhVJJbz1rnCkpzdcG4x0PNoMGy+44xj1ArgzBGddNeAWCSsGAQQB2kcP
|
|
||||||
AQEHQGMufoZikOyOFbHvu+CJcQlK5DclCVNJBgZQcImpEqm/iPUEGBYKACYWIQSL
|
|
||||||
EoKVWhSfq3NfVtOtkVLrCchDUgUCZ1014AIbAgUJBbvnQACBCRCtkVLrCchDUnYg
|
|
||||||
BBkWCgAdFiEEhp1tRu+xCJg9TLHNGaLvOjwMGKkFAmddNeAACgkQGaLvOjwMGKko
|
|
||||||
4gD+NLJaxLDatmU+C/l5fLV6xp0PRS/c5tRRMdhtic211BgA/0lrdz2pHGHlQwvw
|
|
||||||
PRZg2EMiTDreawVZrlSZdfexBeMD7bYA/A9gGeZYVzKKABjoyF1EMvDPm7x7bSrE
|
|
||||||
xpB7tEzJy7a7AQCs+x55xgk9NSrmo4ZjTIXsj7BZTkhTDkJay1FZ65lsAbgzBGdd
|
|
||||||
NeAWCSsGAQQB2kcPAQEHQLa2MGXl7JyU/yS+dz0mkPcRIZpU4C3USLmYWJVT/deN
|
|
||||||
iH4EGBYKACYWIQSLEoKVWhSfq3NfVtOtkVLrCchDUgUCZ1014AIbIAUJBbvnQAAK
|
|
||||||
CRCtkVLrCchDUnXBAQCmFWVZzm3vOEftIPCRcKKsgaFg31CoxCpxhCw5rglwKgD/
|
|
||||||
eQOxmwkpRQUe+R3qoyVGy/K2XHoPFJrdVb8JTh/krQ64MwRnXTXhFgkrBgEEAdpH
|
|
||||||
DwEBB0Dgt18beC6Ttlfr0QbXy2/gAX55kKHHpALY2mMm++/HNYj1BBgWCgAmFiEE
|
|
||||||
ixKClVoUn6tzX1bTrZFS6wnIQ1IFAmddNeECGwIFCQW75z8AgQkQrZFS6wnIQ1J2
|
|
||||||
IAQZFgoAHRYhBBBFsbS1b3+lJiAJEYvIgJ5FpsrQBQJnXTXhAAoJEIvIgJ5FpsrQ
|
|
||||||
xdEBAK1to7pkMw1JJzL/OKgexB/HAYryDU20HiCTWbMBPTWRAP9uIiNkVUZ58ja/
|
|
||||||
3Dcl+ah1kUxd3Mrxs49jI4ItJtZ8D4FBAQAA1aRdYoFwvWrxuDUONNHZGZBWczm0
|
|
||||||
9kttdmGfIpfEAgD/ZDJWfRpxO3AEwU0BpVB3mxFSSF058ShOAjXcbZMEngq4MwRn
|
|
||||||
XTXhFgkrBgEEAdpHDwEBB0AMqjR+Y5jc/tawBcWLAkUbhWXvGFoRZziglCW76vw1
|
|
||||||
44h+BBgWCgAmFiEEixKClVoUn6tzX1bTrZFS6wnIQ1IFAmddNeECGyAFCQW75z8A
|
|
||||||
CgkQrZFS6wnIQ1IRFwEA5KMPbay92FCsR8gBqDWSBfZXxgXxasYMKYHFmFIQ7yAB
|
|
||||||
APU7TUwdw8yA55fUC6XqwtlQ2khyIiq/TBExZ4oFkbUF
|
|
||||||
=hbg7
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
||||||
crypto:
|
|
||||||
bitcoin: bc1q66u7fqmptr4sczfmvxxfckzl6566633umx40n7
|
|
||||||
lightning: "millironx@coinos.io"
|
|
||||||
ethereum: 0x97610b550a5eB6eB2c4a57d3D2b317816c413Fb4
|
|
||||||
monero: 4649mFt2BVjC8pYD7K5kKzSgbWseoL9r3d6eQJ6nebwnLTe6jQKwB9g3jXkwiXAu1aizir8Uf2TYwAM5sQ4Ggp5434p7fzb
|
|
||||||
zcash: zs13kw2rkljxj6uymx6nnk2npamn2dhafuljfq79ntv67320jaxshnw49h7prrjj5v0pr5ry44c3ml
|
|
||||||
---
|
|
||||||
|
|
||||||
Hi! I'm Thomas. I love anything to do with cattle or technology, but especially
|
|
||||||
anything to do with both of them. I spend way more time in beef country with
|
|
||||||
beef cows, but I've got a soft spot for Brown Swiss dairy cows (just in case you
|
|
||||||
couldn't tell by the pictures). I've worn a lot of different hats:
|
|
||||||
|
|
||||||
| | |
|
|
||||||
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
||||||
| First and foremost | ✝️ {{< abbr "Born again, fundamentalist, dispensationalist, King James Bible-believing, independent Baptist" >}}Christian{{< /abbr >}} |
|
|
||||||
| Location | 🦬 {{< abbr "I want to keep claiming Wyoming, but they're pretty strict about residency there, and I don't want to repeat the Liz Cheney fishing license incident" >}}Wyomingite{{< /abbr >}} sojourning in 🌻 {{< abbr "Yes, Toto, we are in Kansas now" >}}Kansas{{< /abbr >}} (this ought to be interesting) |
|
|
||||||
| Education | 📐 {{< abbr "noun. A person who cannot build cool things like airplanes or bridges, but can blow up an entire neighborhood and kill dozens of children by misplacing a decimal point. See also: self-hating chemist" >}}Chemical Engineer{{< /abbr >}} |
|
|
||||||
| Profession | 🧬 {{< abbr "I do genetics and computers" >}}Bioinformatician{{< /abbr >}} and 🐄🩺 {{< abbr "I can't rope well enough to be a cowboy, so being a cow doctor will have to suffice" >}}Veterinarian{{< /abbr >}} (soon!) |
|
|
||||||
| Politics | 🗽 {{< abbr "Refers to the belief in natural social and political laws created by God that are as inflexible as the laws of physics" >}}Juris naturalist{{< /abbr >}} |
|
|
||||||
| Hobbies | 🎥 {{< abbr "Storytelling at 24 frames per second" >}}Filmmaker{{< /abbr >}} and 💃🏻 {{< abbr "Square dancing is more musically rigid and is standardized across the country. Swing dancing is more freeform and differs regionally. It's like the difference between classical music and jazz. I like both." >}}Square/swing dancer{{< /abbr >}} |
|
|
||||||
|
Before Width: | Height: | Size: 8.6 MiB |
|
|
@ -1,20 +0,0 @@
|
||||||
---
|
|
||||||
title: "ChemE Cows"
|
|
||||||
cardImage: stable-diffusion-cheme-cow-08
|
|
||||||
cardImageDescription: |
|
|
||||||
black and white dairy cow wearing a bright yellow hard hat at an oil refinery on a clear sunny day
|
|
||||||
Fooocus v2.5.5 realisticStockPhoto_v20.safetensors
|
|
||||||
Hopefully someday I can replace this with a real image
|
|
||||||
motto:
|
|
||||||
ChemE Cows<br /><small>A blog about cattle, technology, or anything remotely
|
|
||||||
affecting either of them</small>
|
|
||||||
menu:
|
|
||||||
main:
|
|
||||||
name: Blog
|
|
||||||
params:
|
|
||||||
icon: block-quote
|
|
||||||
weight: 2
|
|
||||||
fa-thumbnail: block-quote
|
|
||||||
---
|
|
||||||
|
|
||||||
A blog where I might post stuff some day.
|
|
||||||
|
|
@ -1,104 +0,0 @@
|
||||||
---
|
|
||||||
title:
|
|
||||||
"On Baptist habits (or why Baptist churches feel like they're run by the
|
|
||||||
Mafia)"
|
|
||||||
date: 2024-03-01
|
|
||||||
people:
|
|
||||||
- Thomas A. Christensen II
|
|
||||||
draft: true
|
|
||||||
tags:
|
|
||||||
- religion
|
|
||||||
- baptist
|
|
||||||
- christianity
|
|
||||||
- love
|
|
||||||
- doctrine
|
|
||||||
featured: true
|
|
||||||
categories:
|
|
||||||
- blog
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This is not a real blog post - this is just an idea for a provocative article
|
|
||||||
that I fed into Llama3.2 to generate some text that is slightly more
|
|
||||||
interesting than lorem ipsum. Gee howdy, is this writing crap, but I have
|
|
||||||
committed it to the repository so I can rebase around it. If you are here
|
|
||||||
reading this somehow, please understand that these are not my thoughts.
|
|
||||||
-->
|
|
||||||
|
|
||||||
In the grand tapestry of American religiosity, there exists a peculiar breed of
|
|
||||||
Christian denomination that stands out for its unique blend of fervent devotion
|
|
||||||
and...let's be honest, a hint of authoritarianism. I'm, of course, referring to
|
|
||||||
Baptist churches. Yes, those churches that make you wonder if they're being run
|
|
||||||
by the Mafia.
|
|
||||||
|
|
||||||
Now, before I proceed, let me just clarify that this isn't an attempt to
|
|
||||||
disparage the good people who worship in these esteemed institutions. No, no,
|
|
||||||
nothing like that. It's merely a case of observational reporting, where I'm
|
|
||||||
poking around the fringes of Baptist culture to get a better understanding of
|
|
||||||
what makes them tick.
|
|
||||||
|
|
||||||
As someone who's spent considerable time within the fold (hello, 20+ years of
|
|
||||||
being born again), I've come to realize that there are certain habits,
|
|
||||||
practices, and attitudes that seem endemic to Baptist churches. Now, keep in
|
|
||||||
mind that this isn't a generalization, but rather an observation born out of
|
|
||||||
personal experience.
|
|
||||||
|
|
||||||
One of these habits is an extraordinary level of fervor and zealotry. Baptists
|
|
||||||
tend to be deeply invested in their faith, often to the point where it borders
|
|
||||||
on fanaticism. I've seen folks who will passionately argue for or against just
|
|
||||||
about anything that's perceived as contrary to their interpretation of
|
|
||||||
scripture. Now, while this can be a laudable trait in moderation, excessive
|
|
||||||
fervor can quickly turn toxic.
|
|
||||||
|
|
||||||
Another peculiar habit of Baptist churches is an unsettling preoccupation with
|
|
||||||
hierarchy and authority. It's not uncommon to see senior pastors wielding near
|
|
||||||
absolute power within the church, often based on factors such as age,
|
|
||||||
experience, or – heaven forbid – personal popularity. This can lead to a culture
|
|
||||||
where dissenting voices are stifled, and nonconformity is discouraged.
|
|
||||||
|
|
||||||
The worship services themselves often feel more like formal lectures or
|
|
||||||
performances than genuinely communal gatherings. Don't get me wrong; I love a
|
|
||||||
good hymn or sermon as much as the next person, but sometimes it feels like
|
|
||||||
you're trapped in a 90-minute lecture on theology. And if you're sitting too far
|
|
||||||
forward, forget about trying to contribute to the conversation – your
|
|
||||||
participation will be met with stern disapproval.
|
|
||||||
|
|
||||||
In addition, there's an omnipresent air of suspicion and mistrust that seems to
|
|
||||||
pervade every aspect of Baptist life. If someone doesn't toe the party line,
|
|
||||||
they're often met with swift reprimand or outright ostracism. This creates a
|
|
||||||
toxic environment where people feel pressured into conformity rather than being
|
|
||||||
encouraged to explore their own spirituality.
|
|
||||||
|
|
||||||
Of course, there are always exceptions to the rule, just like in any other human
|
|
||||||
endeavor. I've encountered Baptist churches that embody the very opposite of
|
|
||||||
these described habits – places where worship is genuine, inclusive, and
|
|
||||||
welcoming, where individual freedom and creativity are cherished, and where the
|
|
||||||
emphasis is on community rather than control.
|
|
||||||
|
|
||||||
So what drives this peculiar breed of authoritarianism within some Baptist
|
|
||||||
churches? Is it a genuine misunderstanding of scripture, or perhaps a result of
|
|
||||||
historical context? Or is there something deeper at play – perhaps an inherent
|
|
||||||
tension between the democratic values of American society and the hierarchical
|
|
||||||
structures of traditional Christianity?
|
|
||||||
|
|
||||||
These questions are central to my exploration of this topic. I'll delve into the
|
|
||||||
complexities of Baptist history, the role of patriarchal ideology, and the ways
|
|
||||||
in which cultural and social factors have shaped the institution over time.
|
|
||||||
|
|
||||||
In conclusion, while I'm not ready to declare war on all things Baptist just yet
|
|
||||||
(although, I must admit, it's tempting), I do hope that this exploration will
|
|
||||||
shed some light on a fascinating aspect of American religiosity. Perhaps,
|
|
||||||
through a better understanding of these peculiar habits and practices, we can
|
|
||||||
foster a more inclusive and compassionate community – one where faith and
|
|
||||||
conviction are tempered by empathy and respect for differing viewpoints.
|
|
||||||
|
|
||||||
Ultimately, as someone who's found their own spiritual home within the Baptist
|
|
||||||
fold, I believe it's essential to approach this conversation with sensitivity,
|
|
||||||
curiosity, and an open mind. By embracing our shared humanity rather than
|
|
||||||
perpetuating artificial divisions, we can work towards creating a more vibrant
|
|
||||||
tapestry of faith in America – one that celebrates diversity while remaining
|
|
||||||
committed to core principles of love and service.
|
|
||||||
|
|
||||||
But for now, I'll leave you with these final thoughts on Baptist habits – habits
|
|
||||||
that may seem baffling or even disturbing at times, but are ultimately part of
|
|
||||||
what makes the Baptist experience so richly textured.
|
|
||||||
|
|
@ -1,178 +0,0 @@
|
||||||
---
|
|
||||||
title: "A Brief History of Medicine (2438)"
|
|
||||||
date: 2024-05-01
|
|
||||||
people:
|
|
||||||
- Thomas A. Christensen II
|
|
||||||
draft: true
|
|
||||||
tags:
|
|
||||||
- medicine
|
|
||||||
- technology
|
|
||||||
- fiction
|
|
||||||
- epidemiology
|
|
||||||
- veterinary medicine
|
|
||||||
featured: true
|
|
||||||
categories:
|
|
||||||
- blog
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This is not a real blog post - this is just an idea for a provocative article
|
|
||||||
that I fed into Llama3.2 to generate some text that is slightly more
|
|
||||||
interesting than lorem ipsum. Gee howdy, is this writing crap, but I have
|
|
||||||
committed it to the repository so I can rebase around it. If you are here
|
|
||||||
reading this somehow, please understand that these are not my thoughts.
|
|
||||||
-->
|
|
||||||
|
|
||||||
I still remember the first time I set foot in the hospital where I would spend
|
|
||||||
most of my working life. It was 2123, and medicine was already a highly advanced
|
|
||||||
field, thanks to the rapid progress made possible by nanotechnology and
|
|
||||||
artificial intelligence. The patient I was assigned to that day was an elderly
|
|
||||||
man who had been suffering from a rare genetic disorder for years. With the help
|
|
||||||
of a swarm of microscopic robots that could repair damaged cells at a molecular
|
|
||||||
level, we were able to extend his lifespan by several decades.
|
|
||||||
|
|
||||||
As a young physician, it was exhilarating to be part of a field that seemed to
|
|
||||||
have no limits. We were constantly pushing the boundaries of what was thought
|
|
||||||
possible, and it showed in our results. Patients who would have been doomed
|
|
||||||
years ago were now thriving, thanks to advances in medicine.
|
|
||||||
|
|
||||||
But as with any rapidly advancing field, there were also risks involved. The use
|
|
||||||
of nanorobots and AI algorithms raised concerns about accountability and
|
|
||||||
transparency. As a physician, I had to be careful to ensure that my actions were
|
|
||||||
guided by the highest ethical standards.
|
|
||||||
|
|
||||||
The years that followed were marked by incredible breakthroughs in medicine.
|
|
||||||
Diseases that had plagued humanity for centuries began to disappear as
|
|
||||||
treatments became more effective. Cancer, in particular, was a major target for
|
|
||||||
researchers, and significant progress was made in understanding its causes and
|
|
||||||
developing targeted therapies.
|
|
||||||
|
|
||||||
One of the most exciting developments in this area was the discovery of a new
|
|
||||||
type of cancer-killing nanobot that could selectively target and destroy tumor
|
|
||||||
cells while leaving healthy tissue intact. The technology was still in its
|
|
||||||
infancy, but the potential it held was enormous.
|
|
||||||
|
|
||||||
As I look back on those early years of my career, I am reminded of the
|
|
||||||
importance of perseverance and creativity. Medicine is a field that requires
|
|
||||||
constant innovation and adaptation, and it takes a lot of hard work to stay
|
|
||||||
ahead of the curve.
|
|
||||||
|
|
||||||
Over time, medicine evolved to become an integral part of daily life. People
|
|
||||||
began to live longer, healthier lives, thanks to advances in preventative care
|
|
||||||
and personalized medicine. The rise of genomics and precision medicine allowed
|
|
||||||
for tailored treatments that could be customized to individual needs.
|
|
||||||
|
|
||||||
As a physician, I had the privilege of witnessing firsthand the impact that
|
|
||||||
these advancements had on people's lives. Patients who would have been confined
|
|
||||||
to beds for years were now able to return to their normal activities, thanks to
|
|
||||||
the latest treatments.
|
|
||||||
|
|
||||||
But with all the progress we made, there were also new challenges that emerged.
|
|
||||||
The increasing reliance on technology led to concerns about the ethics of
|
|
||||||
medicine. As medical robots and AI algorithms took over more tasks, there were
|
|
||||||
questions about accountability and the role of human physicians in this new
|
|
||||||
landscape.
|
|
||||||
|
|
||||||
These debates are ongoing to this day. As a physician, it's essential for me to
|
|
||||||
stay up-to-date with the latest developments and advancements in my field. By
|
|
||||||
doing so, I can ensure that patients receive the best possible care, while also
|
|
||||||
navigating the complex issues surrounding medicine in the 24th century.
|
|
||||||
|
|
||||||
Fast forward to 2438, and medicine has changed dramatically. Diseases have
|
|
||||||
become a rarity, thanks to breakthroughs in biotechnology and genetic
|
|
||||||
engineering. Humans live longer, healthier lives, with an average lifespan of
|
|
||||||
over 120 years.
|
|
||||||
|
|
||||||
Despite these advancements, there are still challenges to overcome. The
|
|
||||||
increasing reliance on AI and biotechnology has raised concerns about the ethics
|
|
||||||
of medicine. Many people worry that as medical robots and algorithms take over
|
|
||||||
more tasks, human physicians will become obsolete.
|
|
||||||
|
|
||||||
However, I firmly believe that this is a misconception. As a physician in 2438,
|
|
||||||
I can attest that being a doctor still requires a deep understanding of human
|
|
||||||
biology, psychology, and sociology. While technology has certainly advanced
|
|
||||||
medicine, there are also skills and qualities that cannot be replicated by
|
|
||||||
machines alone.
|
|
||||||
|
|
||||||
One of the most critical aspects of being a doctor is empathy. As a human being,
|
|
||||||
you need to understand your patients' emotional states, their fears and
|
|
||||||
anxieties, in order to provide them with effective care. This is something that
|
|
||||||
AI systems struggle to replicate, no matter how advanced they become.
|
|
||||||
|
|
||||||
In my practice, I see patients who have been diagnosed with conditions that were
|
|
||||||
previously considered incurable. Cancer, for example, has all but disappeared
|
|
||||||
thanks to targeted therapies and immunotherapies. However, there are still other
|
|
||||||
challenges to overcome.
|
|
||||||
|
|
||||||
As a physician, it's essential to stay informed about the latest developments in
|
|
||||||
medicine. This includes understanding how new technologies can be used to
|
|
||||||
improve patient outcomes, as well as addressing any concerns or fears that
|
|
||||||
patients may have regarding these advancements.
|
|
||||||
|
|
||||||
One of the most significant breakthroughs in recent years has been the
|
|
||||||
development of advanced bioprinting techniques. These allow for the creation of
|
|
||||||
complex tissue structures and organs, which can then be transplanted into
|
|
||||||
patients who require them.
|
|
||||||
|
|
||||||
The potential applications for this technology are vast. It could revolutionize
|
|
||||||
organ transplantation, allowing for more efficient use of donor organs and
|
|
||||||
reducing the need for long-term immunosuppression treatments.
|
|
||||||
|
|
||||||
However, there are also concerns about the ethics of bioprinting. As with any
|
|
||||||
new technology, there are questions about accountability, safety, and the role
|
|
||||||
of human physicians in this process.
|
|
||||||
|
|
||||||
Despite these challenges, I remain optimistic about the future of medicine. As a
|
|
||||||
physician in 2438, I've seen firsthand the incredible progress that has been
|
|
||||||
made, and I'm excited to see what the next generation of medical breakthroughs
|
|
||||||
will bring.
|
|
||||||
|
|
||||||
One area of particular interest is the development of new treatments for mental
|
|
||||||
health disorders. In my practice, I often encounter patients who struggle with
|
|
||||||
anxiety, depression, or post-traumatic stress disorder (PTSD). These conditions
|
|
||||||
are complex and multifaceted, and it's essential to develop treatments that
|
|
||||||
address all aspects of their impact.
|
|
||||||
|
|
||||||
Recently, there has been a significant breakthrough in the development of new
|
|
||||||
therapies for mental health disorders. A team of researchers has made
|
|
||||||
significant progress in understanding the underlying mechanisms of these
|
|
||||||
conditions, and this has led to the development of new treatments that are more
|
|
||||||
effective than anything that came before.
|
|
||||||
|
|
||||||
The treatment is based on the idea that mental health disorders are not just
|
|
||||||
symptoms, but rather a manifestation of an imbalance in the body's natural
|
|
||||||
chemistry. By developing targeted therapies that address this imbalance,
|
|
||||||
researchers have been able to create medications that can effectively treat a
|
|
||||||
wide range of conditions.
|
|
||||||
|
|
||||||
One of the most promising developments in this area is the use of
|
|
||||||
neurotransmitter modulators. These are small molecules that can be used to
|
|
||||||
regulate the balance of neurotransmitters in the brain, which play a critical
|
|
||||||
role in regulating mood and emotional states.
|
|
||||||
|
|
||||||
The implications for mental health treatment are enormous. For the first time in
|
|
||||||
history, we have a class of medications that could potentially treat multiple
|
|
||||||
conditions at once. This is a game-changer for patients who suffer from complex
|
|
||||||
mental health disorders, and it's a testament to the power of medical research.
|
|
||||||
|
|
||||||
As I look back on my career as a physician, I am reminded of the importance of
|
|
||||||
perseverance and creativity. Medicine is a field that requires constant
|
|
||||||
innovation and adaptation, and it takes a lot of hard work to stay ahead of the
|
|
||||||
curve.
|
|
||||||
|
|
||||||
Despite all the progress we've made, there are still challenges to overcome. The
|
|
||||||
increasing reliance on technology raises concerns about accountability and
|
|
||||||
transparency, as well as questions about the role of human physicians in this
|
|
||||||
new landscape.
|
|
||||||
|
|
||||||
These debates will likely continue for years to come. As a physician, it's
|
|
||||||
essential for me to stay informed about the latest developments in medicine,
|
|
||||||
while also addressing any concerns or fears that patients may have regarding
|
|
||||||
these advancements.
|
|
||||||
|
|
||||||
Ultimately, my goal is to provide the best possible care to my patients, while
|
|
||||||
also pushing the boundaries of what's thought possible in this field. As a
|
|
||||||
doctor in 2438, I am excited to see what the future holds for medicine, and I am
|
|
||||||
confident that we will continue to make tremendous progress in the years ahead.
|
|
||||||
|
|
||||||
}}
|
|
||||||
|
|
@ -1,121 +0,0 @@
|
||||||
---
|
|
||||||
title: "Keep EPDs Real"
|
|
||||||
date: 2024-07-01
|
|
||||||
people:
|
|
||||||
- Thomas A. Christensen II
|
|
||||||
draft: true
|
|
||||||
tags:
|
|
||||||
- cattle
|
|
||||||
- genetics
|
|
||||||
- technology
|
|
||||||
- epds
|
|
||||||
- ptas
|
|
||||||
featured: true
|
|
||||||
categories:
|
|
||||||
- blog
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This is not a real blog post - this is just an idea for a provocative article
|
|
||||||
that I fed into Llama3.2 to generate some text that is slightly more
|
|
||||||
interesting than lorem ipsum. Gee howdy, is this writing crap, but I have
|
|
||||||
committed it to the repository so I can rebase around it. If you are here
|
|
||||||
reading this somehow, please understand that these are not my thoughts.
|
|
||||||
-->
|
|
||||||
|
|
||||||
In the world of cattle breeding, there's a concept that can be both fascinating
|
|
||||||
and intimidating: Expected Progeny Differences (EPDs). I've come to appreciate
|
|
||||||
the importance of genetics and EPDs in cattle breeding. In this blog post, we'll
|
|
||||||
delve into what EPDs are, why they matter, and how to keep them real.
|
|
||||||
|
|
||||||
## What Are EPDs?
|
|
||||||
|
|
||||||
EPDs are a way to measure the genetic differences between animals that can help
|
|
||||||
breeders predict which offspring will be more or less desirable for certain
|
|
||||||
traits. Think of it like trying to guess what your favorite cow's children will
|
|
||||||
look like based on their parents' characteristics. In genetics, we call this
|
|
||||||
inheritance – and EPDs are a simple yet powerful tool to help us understand how
|
|
||||||
genetic traits are passed down.
|
|
||||||
|
|
||||||
## The Basics of Genetics
|
|
||||||
|
|
||||||
Before diving into EPDs, let's quickly review the basics of genetics. You see,
|
|
||||||
every living thing has DNA (deoxyribonucleic acid), which contains the
|
|
||||||
instructions for its development and function. The DNA is made up of genes,
|
|
||||||
which code for specific traits like eye color, hair color, or in our case, milk
|
|
||||||
production.
|
|
||||||
|
|
||||||
Genes are like recipes that tell our bodies what to make – but instead of
|
|
||||||
ingredients like flour and sugar, they're made up of nucleotides. These
|
|
||||||
nucleotides can be either A (adenine), C (cytosine), G (guanine), or T
|
|
||||||
(thymine). The sequence of these nucleotides determines the genetic information.
|
|
||||||
|
|
||||||
## How EPDs Work
|
|
||||||
|
|
||||||
Now that we've covered some basics, let's talk about how EPDs work. Imagine
|
|
||||||
you're breeding two cows, Bessie and Daisy, to produce offspring. You want
|
|
||||||
Bessie to pass on her desirable traits, like excellent milk production, to their
|
|
||||||
children.
|
|
||||||
|
|
||||||
To predict which calf will inherit these traits, you'd look at the genetic
|
|
||||||
information of both parents. You'd then use a complex formula that takes into
|
|
||||||
account the genetic potential of each parent and their offspring's genotype (the
|
|
||||||
actual DNA sequence). This gives you an Expected Progeny Difference score –
|
|
||||||
which represents how much better or worse the trait is expected to be in the
|
|
||||||
offspring compared to the parent.
|
|
||||||
|
|
||||||
For example, let's say Bessie has a high EPD for milk production, but Daisy has
|
|
||||||
a low EPD. The formula would take into account both parents' scores and predict
|
|
||||||
that their calf will have an average EPD for milk production.
|
|
||||||
|
|
||||||
## Benefits of EPDs
|
|
||||||
|
|
||||||
So why do we need EPDs? In short, they help us make informed decisions about
|
|
||||||
breeding. By knowing which traits are being passed down from one generation to
|
|
||||||
the next, we can:
|
|
||||||
|
|
||||||
1. Make better breeding choices
|
|
||||||
2. Predict potential problems or improvements in future generations
|
|
||||||
3. Develop more accurate breeding strategies
|
|
||||||
|
|
||||||
But that's not all – EPDs also have a significant impact on the cattle industry
|
|
||||||
as a whole. By using data-driven approaches, breeders and farmers can:
|
|
||||||
|
|
||||||
1. Increase efficiency and reduce costs
|
|
||||||
2. Improve animal welfare by selecting for desirable traits
|
|
||||||
3. Support sustainable agriculture practices
|
|
||||||
|
|
||||||
## Challenges with EPDs
|
|
||||||
|
|
||||||
While EPDs offer many benefits, there are also some challenges to consider:
|
|
||||||
|
|
||||||
1. Data quality: If the data used to calculate EPDs is inaccurate or incomplete,
|
|
||||||
it can lead to incorrect predictions.
|
|
||||||
2. Complex genetics: Genetic inheritance can be complex, making it difficult to
|
|
||||||
predict how certain traits will manifest in offspring.
|
|
||||||
3. Selection bias: Breeders may unconsciously favor certain breeds or animals
|
|
||||||
due to personal preferences rather than objective genetic data.
|
|
||||||
|
|
||||||
## Staying Up-to-Date with EPD Research
|
|
||||||
|
|
||||||
EPDs are constantly evolving as new research emerges and technology improves. To
|
|
||||||
stay informed, it's essential to:
|
|
||||||
|
|
||||||
1. Follow industry publications and scientific journals
|
|
||||||
2. Attend workshops and conferences on genetics and EPDs
|
|
||||||
3. Network with other breeders and researchers in the field
|
|
||||||
|
|
||||||
## Conclusion
|
|
||||||
|
|
||||||
In conclusion, Expected Progeny Differences (EPDs) are a valuable tool for
|
|
||||||
cattle breeders. By understanding how genetic traits are passed down through
|
|
||||||
generations, we can make more informed decisions about breeding and improve
|
|
||||||
animal welfare.
|
|
||||||
|
|
||||||
Remember – keeping EPDs real means staying current with the latest research,
|
|
||||||
attending workshops, and networking with experts in the field. With these
|
|
||||||
skills, you'll be well on your way to becoming a genetics-savvy breeder!
|
|
||||||
|
|
||||||
As always, I'm grateful for this opportunity to share my passion for cattle
|
|
||||||
breeding and genetics with you – whether it's through EPDs or something entirely
|
|
||||||
different!
|
|
||||||
|
|
@ -1,106 +0,0 @@
|
||||||
---
|
|
||||||
title: "My Troubles with nf-core"
|
|
||||||
date: 2024-09-01
|
|
||||||
people:
|
|
||||||
- Thomas A. Christensen II
|
|
||||||
draft: true
|
|
||||||
tags:
|
|
||||||
- bioinformatics
|
|
||||||
- nf-core
|
|
||||||
- technology
|
|
||||||
- programming
|
|
||||||
- people
|
|
||||||
featured: true
|
|
||||||
categories:
|
|
||||||
- blog
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This is not a real blog post - this is just an idea for a provocative article
|
|
||||||
that I fed into Llama3.2 to generate some text that is slightly more
|
|
||||||
interesting than lorem ipsum. Gee howdy, is this writing crap, but I have
|
|
||||||
committed it to the repository so I can rebase around it. If you are here
|
|
||||||
reading this somehow, please understand that these are not my thoughts.
|
|
||||||
-->
|
|
||||||
|
|
||||||
# My Troubles with nf-core
|
|
||||||
|
|
||||||
A blog post about my frustrations and experiences working with the popular
|
|
||||||
nf-core framework in bioinformatics.
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
As a biologist who has worked extensively with different software tools for
|
|
||||||
analyzing biological data, I have always been impressed by the power and
|
|
||||||
flexibility of the nf-core platform. However, after several years of using and
|
|
||||||
contributing to this excellent toolset, I have come to realize that there are
|
|
||||||
some fundamental issues with the way nf-core is currently structured and
|
|
||||||
maintained.
|
|
||||||
|
|
||||||
## Background
|
|
||||||
|
|
||||||
NF-core (short for Next-Generation Sequencing Core) is an open-source framework
|
|
||||||
developed by the Broad Institute of MIT and Harvard that provides a
|
|
||||||
comprehensive set of tools for analyzing high-throughput sequencing data. The
|
|
||||||
platform has been widely adopted in the scientific community due to its ease of
|
|
||||||
use, scalability, and flexibility.
|
|
||||||
|
|
||||||
## My Experience with nf-core
|
|
||||||
|
|
||||||
As a bioinformatician, I have worked extensively with various pipelines built on
|
|
||||||
top of nf-core, including the popular
|
|
||||||
[SNEAK](https://github.com/broadinstitute/SNEAK) pipeline for variant discovery.
|
|
||||||
While nf-core has provided me with a reliable platform for analyzing large
|
|
||||||
datasets, I have consistently encountered issues with its organization,
|
|
||||||
documentation, and community support.
|
|
||||||
|
|
||||||
## Issues with Organization
|
|
||||||
|
|
||||||
One of my biggest frustrations with nf-core is the lack of clear organization
|
|
||||||
within its repository. The project's main directory contains an overwhelming
|
|
||||||
number of subdirectories, each representing a different tool or pipeline. This
|
|
||||||
makes it difficult to navigate the codebase and understand how the various tools
|
|
||||||
interact with each other.
|
|
||||||
|
|
||||||
## Documentation and Community Support
|
|
||||||
|
|
||||||
NF-core has excellent documentation, but in my experience, this documentation is
|
|
||||||
often incomplete or outdated. I have encountered several instances where I was
|
|
||||||
unable to find relevant information about a particular tool or pipeline, leading
|
|
||||||
me to waste hours of time searching for answers online.
|
|
||||||
|
|
||||||
Moreover, the nf-core community has historically been relatively inactive, with
|
|
||||||
few developers actively contributing to the project over the years. This lack of
|
|
||||||
support and resources makes it challenging to address issues or implement new
|
|
||||||
features.
|
|
||||||
|
|
||||||
## Impact on Bioinformaticians
|
|
||||||
|
|
||||||
Despite my personal frustrations with nf-core, I firmly believe that this
|
|
||||||
platform remains an essential tool for bioinformaticians around the world. The
|
|
||||||
benefits of using nf-core include its scalability, flexibility, and ease of use.
|
|
||||||
However, I strongly advocate for a renewed focus on addressing the issues
|
|
||||||
mentioned above to ensure that this platform continues to meet the evolving
|
|
||||||
needs of the scientific community.
|
|
||||||
|
|
||||||
## Conclusion
|
|
||||||
|
|
||||||
As someone who has dedicated their career to bioinformatics, it pains me to see
|
|
||||||
a project like nf-core hindered by its own structure and lack of support. While
|
|
||||||
I will continue to contribute to and use nf-core in my work, I hope that this
|
|
||||||
article will serve as a catalyst for the developers and community leaders
|
|
||||||
involved in maintaining this platform to prioritize much-needed changes.
|
|
||||||
|
|
||||||
## Recommendations
|
|
||||||
|
|
||||||
To address the issues I have raised above, I recommend the following steps:
|
|
||||||
|
|
||||||
- Reorganize the repository structure to make it more logical and easier to
|
|
||||||
navigate.
|
|
||||||
- Update and expand the documentation to include comprehensive information on
|
|
||||||
all tools and pipelines within nf-core.
|
|
||||||
- Foster a more active community by engaging with bioinformaticians through
|
|
||||||
regular forums, workshops, or online events.
|
|
||||||
|
|
||||||
By addressing these issues, I am confident that nf-core can continue to thrive
|
|
||||||
as a powerful tool for analyzing high-throughput sequencing data.
|
|
||||||
|
|
@ -1,211 +0,0 @@
|
||||||
---
|
|
||||||
title: "Phineas and Ferb is (an) Epic"
|
|
||||||
date: 2024-11-01
|
|
||||||
people:
|
|
||||||
- Thomas A. Christensen II
|
|
||||||
draft: true
|
|
||||||
tags:
|
|
||||||
- fun
|
|
||||||
- fiction
|
|
||||||
- phineas and ferb
|
|
||||||
- review
|
|
||||||
- literature
|
|
||||||
featured: true
|
|
||||||
categories:
|
|
||||||
- blog
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This is not a real blog post - this is just an idea for a provocative article
|
|
||||||
that I fed into Llama3.2 to generate some text that is slightly more
|
|
||||||
interesting than lorem ipsum. Gee howdy, is this writing crap, but I have
|
|
||||||
committed it to the repository so I can rebase around it. If you are here
|
|
||||||
reading this somehow, please understand that these are not my thoughts.
|
|
||||||
-->
|
|
||||||
|
|
||||||
"Ancient literary epics often followed a specific structure that centered around
|
|
||||||
an event or journey." The episode structure of Phineas and Ferb, which has been
|
|
||||||
delighting audiences for decades, is more closely aligned with ancient literary
|
|
||||||
epics than modern hero's journey novels.
|
|
||||||
|
|
||||||
While the term "hero's journey" was popularized by Joseph Campbell in his work,
|
|
||||||
The Hero with a Thousand Faces, the model he proposed is based on archetypes and
|
|
||||||
mythological narratives found in cultures around the world. In contrast, Phineas
|
|
||||||
and Ferb's episode structure is centered around self-contained events or
|
|
||||||
journeys that are more reminiscent of ancient epics like Homer's Iliad or
|
|
||||||
Odyssey.
|
|
||||||
|
|
||||||
"A common theme among ancient epics was the overcoming of challenges." One key
|
|
||||||
element that sets Phineas and Ferb apart from modern hero's journey novels is
|
|
||||||
its focus on the adventures themselves rather than individual characters'
|
|
||||||
emotional journeys. In an episode like "The Fireworks Episode," Phineas and Ferb
|
|
||||||
work together to create a spectacular fireworks display, but their actions are
|
|
||||||
not necessarily motivated by personal growth or transformation. Instead, they
|
|
||||||
take on the challenge as a way to have fun and make their day better.
|
|
||||||
|
|
||||||
"This approach is similar to ancient epics like The Iliad, which tells the story
|
|
||||||
of the Trojan War." In Homer's Iliad, the characters are often driven by a
|
|
||||||
desire for honor or personal glory, rather than a deeper emotional journey. The
|
|
||||||
focus is on the event itself – in this case, the war between Troy and Greece –
|
|
||||||
rather than the individual characters' inner lives.
|
|
||||||
|
|
||||||
"The Phineas and Ferb approach also avoids the 'big reveal' trope." Another key
|
|
||||||
element of ancient epics was often a dramatic twist or revelation at the end. In
|
|
||||||
Homer's Odyssey, for example, the protagonist Odysseus must navigate his way
|
|
||||||
home after being stranded on a distant island. The final scene reveals that he
|
|
||||||
has finally returned to Ithaca and is reunited with his wife.
|
|
||||||
|
|
||||||
"Phineas and Ferb avoids this trope by ending most episodes on an upbeat note."
|
|
||||||
In contrast, Phineas and Ferb tends to wrap up its storylines in a way that
|
|
||||||
feels satisfying and fun for the audience. The final scene of an episode often
|
|
||||||
shows Phineas and Ferb achieving their goal or finding a creative solution to
|
|
||||||
their problem, without revealing any deeper truths or secrets.
|
|
||||||
|
|
||||||
"This approach also reflects the show's focus on creativity and imagination."
|
|
||||||
One key aspect of ancient epics was their emphasis on the power of the human
|
|
||||||
mind and imagination. In Homer's Odyssey, for example, Odysseus uses his
|
|
||||||
intelligence and cunning to navigate his way home.
|
|
||||||
|
|
||||||
"Phineas and Ferb encourages viewers to think creatively in a similar way."
|
|
||||||
Phineas and Ferb is known for its emphasis on creativity and imagination, with
|
|
||||||
characters often coming up with innovative solutions to problems. The show's
|
|
||||||
focus on the creative process itself – rather than individual characters'
|
|
||||||
emotional journeys – reflects this emphasis.
|
|
||||||
|
|
||||||
"By following an episode structure that mimics ancient literary epics." Phineas
|
|
||||||
and Ferb's use of self-contained events or journeys, combined with a focus on
|
|
||||||
creativity and imagination, reflects a more traditional approach to
|
|
||||||
storytelling. By avoiding the 'big reveal' trope and emphasizing the creative
|
|
||||||
process, the show encourages viewers to think creatively and find their own
|
|
||||||
solutions to problems.
|
|
||||||
|
|
||||||
"This is an approach that has been lost in many modern adaptations of ancient
|
|
||||||
stories." One criticism of modern hero's journey novels is that they often
|
|
||||||
prioritize individual character development over the adventures themselves. In
|
|
||||||
contrast, Phineas and Ferb takes a more epic approach to storytelling, focusing
|
|
||||||
on the events themselves rather than individual characters' emotional journeys.
|
|
||||||
|
|
||||||
"The show's creators have said that they were influenced by their own love of
|
|
||||||
literature." Dan Povenmire and Jeff 'Swifty' Swinton, the creators of Phineas
|
|
||||||
and Ferb, have both mentioned being influenced by classic literature when
|
|
||||||
creating the show. They have stated that they wanted to create a show that
|
|
||||||
celebrated creativity and imagination in a way that was reminiscent of ancient
|
|
||||||
epics.
|
|
||||||
|
|
||||||
"By taking an epic approach to storytelling." By following an episode structure
|
|
||||||
that mimics ancient literary epics, Phineas and Ferb offers a unique take on the
|
|
||||||
traditional 'hero's journey' narrative. While individual characters may grow or
|
|
||||||
change over the course of an episode, the focus is always on the event itself –
|
|
||||||
rather than individual emotional journeys.
|
|
||||||
|
|
||||||
"This approach makes the show feel fresh and exciting." One key element that
|
|
||||||
sets Phineas and Ferb apart from modern hero's journey novels is its focus on
|
|
||||||
action and adventure. By emphasizing the creative process and self-contained
|
|
||||||
events, the show creates a sense of excitement and possibility that is rare in
|
|
||||||
modern television.
|
|
||||||
|
|
||||||
"The show's use of music also reflects an epic approach." Another key element of
|
|
||||||
Phineas and Ferb is its use of music – specifically, Perry the Platypus' secret
|
|
||||||
agent theme song. The show's creators have said that they wanted to incorporate
|
|
||||||
a musical element into the episode structure, creating a sense of excitement and
|
|
||||||
anticipation that is reminiscent of ancient epics.
|
|
||||||
|
|
||||||
"This approach creates a sense of rhythm and flow." By incorporating music in
|
|
||||||
this way, Phineas and Ferb creates a sense of rhythm and flow that is similar to
|
|
||||||
ancient epics. The show's use of melody and tempo helps to create a sense of
|
|
||||||
tension and release, drawing the viewer into the episode's narrative.
|
|
||||||
|
|
||||||
"The show's focus on action and adventure also makes it feel epic." One key
|
|
||||||
element that sets Phineas and Ferb apart from modern hero's journey novels is
|
|
||||||
its focus on action and adventure. By emphasizing creativity and imagination in
|
|
||||||
this way, the show creates a sense of excitement and possibility that is rare in
|
|
||||||
modern television.
|
|
||||||
|
|
||||||
"This approach also makes the show feel more timeless." Another key element of
|
|
||||||
Phineas and Ferb is its focus on storytelling itself – rather than individual
|
|
||||||
characters' emotional journeys. By taking an epic approach to storytelling, the
|
|
||||||
show creates a sense of timelessness that is rare in modern television.
|
|
||||||
|
|
||||||
"The show's creators have said that they wanted to create a show that would
|
|
||||||
appeal to viewers of all ages." Dan Povenmire and Jeff 'Swifty' Swinton, the
|
|
||||||
creators of Phineas and Ferb, have both mentioned wanting to create a show that
|
|
||||||
celebrates creativity and imagination in a way that is accessible to audiences
|
|
||||||
of all ages.
|
|
||||||
|
|
||||||
"By taking an epic approach to storytelling, Phineas and Ferb achieves this
|
|
||||||
goal." By following an episode structure that mimics ancient literary epics,
|
|
||||||
Phineas and Ferb creates a sense of excitement and possibility that is appealing
|
|
||||||
to viewers of all ages. The show's focus on creativity and imagination makes it
|
|
||||||
feel fresh and exciting, while its use of music and storytelling techniques
|
|
||||||
helps to create a sense of rhythm and flow.
|
|
||||||
|
|
||||||
"In conclusion, the episode structure of Phineas and Ferb is more closely
|
|
||||||
aligned with ancient literary epics than modern hero's journey novels." By
|
|
||||||
taking an epic approach to storytelling, Phineas and Ferb offers a unique take
|
|
||||||
on the traditional 'hero's journey' narrative. While individual characters may
|
|
||||||
grow or change over the course of an episode, the focus is always on the event
|
|
||||||
itself – rather than individual emotional journeys.
|
|
||||||
|
|
||||||
"The show's creators have said that they were influenced by their own love of
|
|
||||||
literature." Dan Povenmire and Jeff 'Swifty' Swinton, the creators of Phineas
|
|
||||||
and Ferb, have both mentioned being influenced by classic literature when
|
|
||||||
creating the show. They have stated that they wanted to create a show that
|
|
||||||
celebrated creativity and imagination in a way that was reminiscent of ancient
|
|
||||||
epics.
|
|
||||||
|
|
||||||
"By following an epic approach to storytelling." By taking an epic approach to
|
|
||||||
storytelling, Phineas and Ferb offers a unique take on the traditional 'hero's
|
|
||||||
journey' narrative. While individual characters may grow or change over the
|
|
||||||
course of an episode, the focus is always on the event itself – rather than
|
|
||||||
individual emotional journeys.
|
|
||||||
|
|
||||||
"This approach makes the show feel fresh and exciting." One key element that
|
|
||||||
sets Phineas and Ferb apart from modern hero's journey novels is its focus on
|
|
||||||
action and adventure. By emphasizing creativity and imagination in this way, the
|
|
||||||
show creates a sense of excitement and possibility that is rare in modern
|
|
||||||
television.
|
|
||||||
|
|
||||||
"The show's use of music also reflects an epic approach." Another key element of
|
|
||||||
Phineas and Ferb is its use of music – specifically, Perry the Platypus' secret
|
|
||||||
agent theme song. The show's creators have said that they wanted to incorporate
|
|
||||||
a musical element into the episode structure, creating a sense of excitement and
|
|
||||||
anticipation that is reminiscent of ancient epics.
|
|
||||||
|
|
||||||
"This approach creates a sense of rhythm and flow." By incorporating music in
|
|
||||||
this way, Phineas and Ferb creates a sense of rhythm and flow that is similar to
|
|
||||||
ancient epics. The show's use of melody and tempo helps to create a sense of
|
|
||||||
tension and release, drawing the viewer into the episode's narrative.
|
|
||||||
|
|
||||||
"The show's focus on action and adventure also makes it feel epic." One key
|
|
||||||
element that sets Phineas and Ferb apart from modern hero's journey novels is
|
|
||||||
its focus on action and adventure. By emphasizing creativity and imagination in
|
|
||||||
this way, the show creates a sense of excitement and possibility that is rare in
|
|
||||||
modern television.
|
|
||||||
|
|
||||||
"The show also encourages viewers to think creatively." Phineas and Ferb
|
|
||||||
encourages viewers to think creatively by presenting them with complex problems
|
|
||||||
to solve or adventures to embark upon. By emphasizing creativity and
|
|
||||||
imagination, the show inspires viewers to find their own solutions to problems.
|
|
||||||
|
|
||||||
"This is an approach that has been lost in many modern adaptations of ancient
|
|
||||||
stories." One criticism of modern hero's journey novels is that they often
|
|
||||||
prioritize individual character development over the adventures themselves. In
|
|
||||||
contrast, Phineas and Ferb takes a more epic approach to storytelling, focusing
|
|
||||||
on the events themselves rather than individual characters' emotional journeys.
|
|
||||||
|
|
||||||
"The show's creators have said that they wanted to create a show that would
|
|
||||||
appeal to viewers of all ages." Dan Povenmire and Jeff 'Swifty' Swinton, the
|
|
||||||
creators of Phineas and Ferb, have both mentioned wanting to create a show that
|
|
||||||
celebrates creativity and imagination in a way that is accessible to audiences
|
|
||||||
of all ages.
|
|
||||||
|
|
||||||
"By taking an epic approach to storytelling." By following an episode structure
|
|
||||||
that mimics ancient literary epics, Phineas and Ferb achieves this goal. The
|
|
||||||
show's focus on creativity and imagination makes it feel fresh and exciting,
|
|
||||||
while its use of music and storytelling techniques helps to create a sense of
|
|
||||||
rhythm and flow.
|
|
||||||
|
|
||||||
"In conclusion, the episode structure of Phineas and Ferb is more closely
|
|
||||||
aligned with ancient literary epics than modern hero's journey novels." In
|
|
||||||
conclusion, the episode structure of Phineas and Ferb is more closely aligned
|
|
||||||
with ancient literary epics than modern hero's journey novels.
|
|
||||||
|
Before Width: | Height: | Size: 163 KiB |
|
|
@ -1,123 +0,0 @@
|
||||||
---
|
|
||||||
title: "Why I gave up GitHub: A personal retrospective"
|
|
||||||
date: 2024-01-01
|
|
||||||
people:
|
|
||||||
- Thomas A. Christensen II
|
|
||||||
draft: true
|
|
||||||
tags:
|
|
||||||
- technology
|
|
||||||
- github
|
|
||||||
- linux
|
|
||||||
- microsoft
|
|
||||||
- windows
|
|
||||||
featured: true
|
|
||||||
categories:
|
|
||||||
- blog
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This is not a real blog post - this is just an idea for a provocative article
|
|
||||||
that I fed into Llama3.2 to generate some text that is slightly more
|
|
||||||
interesting than lorem ipsum. Gee howdy, is this writing crap, but I have
|
|
||||||
committed it to the repository so I can rebase around it. If you are here
|
|
||||||
reading this somehow, please understand that these are not my thoughts.
|
|
||||||
-->
|
|
||||||
|
|
||||||
Your personal journey to quitting GitHub resources is a story of disillusionment
|
|
||||||
and rededication. As a Christian American chemical
|
|
||||||
engineer-turned-bioinformatician, I had always been fascinated by the
|
|
||||||
intersection of technology and faith.
|
|
||||||
|
|
||||||
Growing up in a conservative family with Libertarian leanings, I was taught to
|
|
||||||
value individual freedom and limited government intervention. But as I delved
|
|
||||||
deeper into my work in bioinformatics, I began to see the darker side of
|
|
||||||
GitHub's business model. The platform's emphasis on open-source and
|
|
||||||
community-driven development seemed at odds with my own values of intellectual
|
|
||||||
property and personal autonomy.
|
|
||||||
|
|
||||||
One day, while working on a project, I stumbled upon an article about the
|
|
||||||
growing pains of GitHub's dominance in the tech industry. It highlighted the
|
|
||||||
tension between the need for collaboration and the perils of unchecked corporate
|
|
||||||
power. Something clicked inside me, and I realized that I couldn't remain silent
|
|
||||||
anymore. I began to question whether my use of GitHub was truly aligning with my
|
|
||||||
values.
|
|
||||||
|
|
||||||
As a Christian, I had always believed in the importance of living a life of
|
|
||||||
integrity and authenticity. But the more I learned about GitHub's practices, the
|
|
||||||
more I felt like I was compromising on those principles. The platform's reliance
|
|
||||||
on open-source code seemed to prioritize the interests of corporations over
|
|
||||||
those of individuals. It was a hard pill to swallow.
|
|
||||||
|
|
||||||
So, I made the decision to take a stand. I began to explore alternative
|
|
||||||
platforms and tools for my work, seeking out options that better aligned with my
|
|
||||||
values. It wasn't easy – it meant relearning new skills, investing time and
|
|
||||||
effort into building new relationships within the developer community.
|
|
||||||
|
|
||||||
But as I dug deeper, I realized that quitting GitHub wasn't just about
|
|
||||||
technology – it was about re-examining my own motivations and priorities. Why
|
|
||||||
had I joined GitHub in the first place? What did I hope to achieve through my
|
|
||||||
work?
|
|
||||||
|
|
||||||
For me, it was never truly about the technology itself, but about the community
|
|
||||||
and the sense of purpose that came with working on projects that mattered. As a
|
|
||||||
filmmaker at heart, I had always been drawn to stories that explored complex
|
|
||||||
issues and promoted empathy and understanding.
|
|
||||||
|
|
||||||
Quitting GitHub wasn't an easy decision, but it was one that ultimately freed me
|
|
||||||
from feeling like I was compromising my values. It forced me to confront the
|
|
||||||
tension between my desires for connection and collaboration, and the need for
|
|
||||||
personal autonomy.
|
|
||||||
|
|
||||||
Today, I work on a range of projects using alternative platforms and tools. It's
|
|
||||||
not always easy – sometimes I miss the convenience and community of GitHub – but
|
|
||||||
it's worth it to know that I'm living more authentically.
|
|
||||||
|
|
||||||
One of the biggest challenges has been building new relationships within the
|
|
||||||
developer community. In the past, I relied heavily on GitHub for collaboration
|
|
||||||
and networking opportunities. But by leaving, I've had to start from scratch.
|
|
||||||
|
|
||||||
It's taken time and effort to rebuild those connections, but it's worth it.
|
|
||||||
Today, I'm part of a vibrant network of developers who share my values and
|
|
||||||
priorities. We work together on projects that truly matter – issues like data
|
|
||||||
privacy, intellectual property, and accessibility.
|
|
||||||
|
|
||||||
Quitting GitHub wasn't just about technology – it was about reclaiming my own
|
|
||||||
integrity and living out my values in a more meaningful way. It's been a journey
|
|
||||||
of self-discovery, growth, and transformation. And I'm grateful for every step
|
|
||||||
along the way.
|
|
||||||
|
|
||||||
So, if you're like me and struggling with the tension between your personal
|
|
||||||
values and your work choices, I want to encourage you to take a step back and
|
|
||||||
re-examine your own motivations. What are you working towards? Why is it truly
|
|
||||||
important to you?
|
|
||||||
|
|
||||||
Take the time to reflect on those questions, and consider whether your current
|
|
||||||
tools and platforms align with your values.
|
|
||||||
|
|
||||||
In my experience, it's never too late to make a change. And sometimes, the
|
|
||||||
biggest changes come from taking small steps outside of our comfort zones.
|
|
||||||
|
|
||||||
So, I'll leave you with this: if you're ready to take control of your own
|
|
||||||
journey and reclaim your integrity, start by taking a single step. It might be
|
|
||||||
as simple as switching to an alternative platform or tool. Or it could mean
|
|
||||||
having a difficult conversation with a colleague or manager.
|
|
||||||
|
|
||||||
Whatever that step is, know that it's worth it. You'll be surprised at how
|
|
||||||
empowering it feels to take ownership of your own choices and priorities.
|
|
||||||
|
|
||||||
And if you're feeling lost or uncertain, remember that you're not alone. There
|
|
||||||
are many people out there who share your values and aspirations.
|
|
||||||
|
|
||||||
Let's build a community together – one where we prioritize empathy,
|
|
||||||
understanding, and authenticity.
|
|
||||||
|
|
||||||
That's my story – a tale of disillusionment, rededication, and the power of
|
|
||||||
taking control of our own choices. I hope it inspires you to take a step in the
|
|
||||||
right direction.
|
|
||||||
|
|
||||||
As a filmmaker at heart, I believe that stories have the power to shape us and
|
|
||||||
inspire change. And I'm grateful to be part of this community – working together
|
|
||||||
towards a brighter future where technology serves humanity, not just corporate
|
|
||||||
interests.
|
|
||||||
|
|
||||||
We'll get there – one small step at a time.
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
||||||
{{ $data := dict }}
|
|
||||||
{{ $url := "https://video.millironx.com/api/v1/accounts/millironx/videos?skipCount=true&count=100" }}
|
|
||||||
{{ with try (resources.GetRemote $url) }}
|
|
||||||
{{ with .Err }}
|
|
||||||
{{ errorf "Unable to get remote resource %s: %s" $url . }}
|
|
||||||
{{ else with .Value }}
|
|
||||||
{{ $data = . | transform.Unmarshal }}
|
|
||||||
{{ end }}
|
|
||||||
{{ else }}
|
|
||||||
{{ errorf "Unable to get remote resource %s" $url }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ range $data.data }}
|
|
||||||
{{/* Complete descriptions and tags are only in the response for the complete video */}}
|
|
||||||
{{ $videoUrl := print "https://video.millironx.com/api/v1/videos/" .id }}
|
|
||||||
{{ $videoData := dict }}
|
|
||||||
{{ with try (resources.GetRemote $videoUrl) }}
|
|
||||||
{{ with .Err }}
|
|
||||||
{{ errorf "Unable to get remote resource %s: %s" $url . }}
|
|
||||||
{{ else with .Value }}
|
|
||||||
{{ $videoData = . | transform.Unmarshal }}
|
|
||||||
{{ end }}
|
|
||||||
{{ else }}
|
|
||||||
{{ errorf "Unable to get remote resource %s" $url }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{/* People are linked back to the the main site, so search for them here */}}
|
|
||||||
{{ $peopleReturned := findRESubmatch `\[([\w\s\.]+?)\]\(https://millironx\.com/people/.*\)` $videoData.description }}
|
|
||||||
{{ $people := slice "Thomas A. Christensen II" }}
|
|
||||||
{{ range $peopleReturned }}
|
|
||||||
{{ with index . 1 }}
|
|
||||||
{{ $people = $people | append . }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ $tags := $videoData.tags }}
|
|
||||||
|
|
||||||
{{ $content := dict "mediaType" "text/markdown" "value" $videoData.description }}
|
|
||||||
{{ $dates := dict "date" (time.AsTime (default .publishedAt .originallyPublishedAt)) }}
|
|
||||||
{{ $categories := slice "video" }}
|
|
||||||
{{ $link := .url }}
|
|
||||||
{{ $params := dict
|
|
||||||
"categories" $categories
|
|
||||||
"people" $people
|
|
||||||
"link" $link
|
|
||||||
"featured" true
|
|
||||||
"tags" $tags
|
|
||||||
}}
|
|
||||||
{{ $page := dict
|
|
||||||
"content" $content
|
|
||||||
"dates" $dates
|
|
||||||
"title" .name
|
|
||||||
"path" .name
|
|
||||||
"params" $params
|
|
||||||
}}
|
|
||||||
{{ $.AddPage $page }}
|
|
||||||
|
|
||||||
{{ $item := . }}
|
|
||||||
{{ with $thumbnailPath := $item.thumbnailPath }}
|
|
||||||
{{ $url := print "https://video.millironx.com" $thumbnailPath }}
|
|
||||||
{{ with try (resources.GetRemote $url) }}
|
|
||||||
{{ with .Err }}
|
|
||||||
{{ errorf "Unable to get remote resource %s: %s" $url . }}
|
|
||||||
{{ else with .Value }}
|
|
||||||
{{ $content := dict "mediaType" .MediaType.Type "value" .Content }}
|
|
||||||
{{ $resource := dict
|
|
||||||
"content" $content
|
|
||||||
"path" (print $item.name "/thumbnail." .MediaType.SubType)
|
|
||||||
}}
|
|
||||||
{{ $.AddResource $resource }}
|
|
||||||
{{ end }}
|
|
||||||
{{ else }}
|
|
||||||
{{ errorf "Unable to get remote resource %s" $url }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
@ -10,13 +10,16 @@ menu:
|
||||||
main:
|
main:
|
||||||
params:
|
params:
|
||||||
icon: video
|
icon: video
|
||||||
link: https://video.millironx.com
|
|
||||||
weight: 50
|
|
||||||
fa-thumbnail: video
|
fa-thumbnail: video
|
||||||
link: https://video.millironx.com
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
> ### The culmination of all art forms is that of film.
|
||||||
|
|
||||||
A good film must have the plot and language of a good novel, characters as bold
|
A good film must have the plot and language of a good novel, characters as bold
|
||||||
and stunning as sculpture, a rhythm as driving and delicate as poetry, frame
|
and stunning as sculpture, a rhythm as driving and delicate as poetry, frame
|
||||||
compositions more stellar that those of photography, and music that speaks to
|
compositions more stellar that those of photography, and music that speaks to
|
||||||
the souls of both the characters on screen and the viewers off.
|
the souls of both the characters on screen and the viewers off.
|
||||||
|
|
||||||
|
But I digress. Most of my forays into the world of film are immortalized on
|
||||||
|
[my Peertube channel](https://video.millironx.com/c/mix_studios/videos), but I
|
||||||
|
decided to share a few highlights here. Enjoy!
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
---
|
---
|
||||||
title: "Farm Bureau Ag Olympics Reel"
|
title: "Farm Bureau Ag Olympics Reel"
|
||||||
date: 2017-02-16
|
date: 2017-02-16
|
||||||
|
storage: yt
|
||||||
|
storageId: jhLJp3OFsYM
|
||||||
|
thumbnail: https://i.ytimg.com/vi_webp/jhLJp3OFsYM/maxresdefault.webp
|
||||||
categories:
|
categories:
|
||||||
- video
|
- video
|
||||||
link: https://youtube.com/watch?v=jhLJp3OFsYM
|
|
||||||
people:
|
|
||||||
- Thomas A. Christensen II
|
|
||||||
---
|
---
|
||||||
|
|
||||||
The Albany County Farm Bureau Young Farmer's and Rancher's committee asked me to
|
The Albany County Farm Bureau Young Farmer's and Rancher's committee asked me to
|
||||||
|
|
|
||||||
13
content/videos/if-you-come-out-to-the-fair/index.md
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
title: If You Come Out to the Fair
|
||||||
|
date: 2016-10-13
|
||||||
|
storage: peertube
|
||||||
|
storageId: 3a872dbf-4141-4bec-8a0c-11f5c1db2328
|
||||||
|
thumbnail: https://video.millironx.com/lazy-static/previews/d1f33911-fdff-461d-a485-54de0bde79f3.jpg
|
||||||
|
categories:
|
||||||
|
- video
|
||||||
|
---
|
||||||
|
|
||||||
|
My extension agent asked me to make a promotional video for our county fair.
|
||||||
|
This is the only film of mine that has drawn an emotional response. I think I
|
||||||
|
retired after this.
|
||||||
BIN
content/videos/if-you-come-out-to-the-fair/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 226 KiB |
14
content/videos/in-the-hayfields/index.md
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
title: In The Hayfields
|
||||||
|
date: 2015-10-05
|
||||||
|
storage: peertube
|
||||||
|
storageId: a755f140-123a-4435-8002-0da2d0c831e9
|
||||||
|
thumbnail: https://video.millironx.com/lazy-static/previews/837d70cd-b5dc-48be-bc65-84a50ae29c99.jpg
|
||||||
|
categories:
|
||||||
|
- video
|
||||||
|
---
|
||||||
|
|
||||||
|
I always get the comment that our implements are _old_ whenever I show this
|
||||||
|
video off. I just ignore the naysayers, though, and good thing, too, because a
|
||||||
|
version of this video won a [GoPro Award](https://gopro.com/awards). Still
|
||||||
|
waiting to see my footage on their channel, though.
|
||||||
BIN
content/videos/in-the-hayfields/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 97 KiB |
16
content/videos/non-verum/index.md
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
title: "Non. Verum: The Mystery Killer"
|
||||||
|
date: 2015-06-12
|
||||||
|
storage: peertube
|
||||||
|
storageId: 03ac71e5-69b2-4c3d-b8b2-da98055cd953
|
||||||
|
thumbnail: https://video.millironx.com/lazy-static/previews/6c479593-5bcf-4953-bbe5-99c4b4a87a79.jpg
|
||||||
|
categories:
|
||||||
|
- video
|
||||||
|
---
|
||||||
|
|
||||||
|
My first ~~documentary~~ mockumentary. This film won 2{{< sup nd >}} place at
|
||||||
|
the [2016 National 4-H Film Festival](http://4h.missouri.edu/filmfest4h/), and
|
||||||
|
I've been told that it's more polished than the pieces done by the local TV
|
||||||
|
stations. No one seems to think it's funny, though, so I'm not sure how
|
||||||
|
successful it was. Please do me a favor and google **every** term you don't
|
||||||
|
understand while watching it, and perhaps you'll fare better.
|
||||||
BIN
content/videos/non-verum/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 216 KiB |
19
content/websites/_index.md
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
title: My Websites
|
||||||
|
cardImage: eclipse
|
||||||
|
cardImageDescription:
|
||||||
|
Did you know that the population of Wyoming quadrupled for one day in 2017?
|
||||||
|
motto: Websites
|
||||||
|
description: List of websites that I have worked on
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
name: Websites
|
||||||
|
params:
|
||||||
|
icon: browser
|
||||||
|
fa-thumbnail: browser
|
||||||
|
---
|
||||||
|
|
||||||
|
I do occasionally build websites for myself and other people. Here is a list of
|
||||||
|
websites I have contributed code to directly, in a vain attempt to gain each of
|
||||||
|
them some
|
||||||
|
[search engine cred](https://en.wikipedia.org/wiki/Search_engine_optimization).
|
||||||
13
content/websites/millironx/index.md
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
title: Milliron X
|
||||||
|
date: 2022-03-01
|
||||||
|
platform: Hugo
|
||||||
|
platformIcon: fab fa-golang
|
||||||
|
platformURL: https://gohugo.io/
|
||||||
|
deployURL: https://millironx.com
|
||||||
|
sourceURL: https://github.com/MillironX/millironx.github.io
|
||||||
|
categories:
|
||||||
|
- web
|
||||||
|
---
|
||||||
|
|
||||||
|
Lo and behold: I made my own website!
|
||||||
BIN
content/websites/millironx/thumbnail.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
16
content/websites/record-books/index.md
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
title: Albany County 4-H Record Books
|
||||||
|
date: 2019-08-10
|
||||||
|
platform: Plain ol' HTML5
|
||||||
|
platformIcon: fab fa-html5
|
||||||
|
platformURL: https://www.w3.org/html/
|
||||||
|
deployURL: http://wyoming4h.org/albany4h/record-book
|
||||||
|
sourceURL: https://github.com/MillironX/4h-record-books
|
||||||
|
categories:
|
||||||
|
- web
|
||||||
|
---
|
||||||
|
|
||||||
|
I constructed this site to hold the record book helps of the rebellious Albany
|
||||||
|
County, Wyoming. Due to the bureaucratic lag that it takes to update, it got
|
||||||
|
updated just in time for Wyoming 4-H to ditch paper record books entirely. Oh,
|
||||||
|
well.
|
||||||
BIN
content/websites/record-books/thumbnail.png
Normal file
|
After Width: | Height: | Size: 420 KiB |
BIN
content/wy-in-ks.png
Normal file
|
After Width: | Height: | Size: 362 KiB |
8
flake.lock
generated
|
|
@ -20,16 +20,16 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737597992,
|
"lastModified": 1736408508,
|
||||||
"narHash": "sha256-FECKBxkd+w5I/fhsquthDiw/r/MdCpqmKikBU9yQGug=",
|
"narHash": "sha256-WIGZ3DPw5H+SPszUXVacK+KTh3sJZShP1vGtDwhquNM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d0bb4699177f691c8e558b32b3bdc38bc112f76f",
|
"rev": "530de2c83360057c1650fb8a37ef48cb9ad8f6a6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable-small",
|
"ref": "nixos-24.11-small",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11-small";
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
};
|
};
|
||||||
outputs = { self, nixpkgs, flake-utils }:
|
outputs = { self, nixpkgs, flake-utils }:
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
<figure>
|
|
||||||
<blockquote {{ with .Attributes.citelink }}cite="{{ . }}"{{ end }}>
|
|
||||||
{{ .Text }}
|
|
||||||
</blockquote>
|
|
||||||
{{ if .Attributes.author }}
|
|
||||||
<figcaption>
|
|
||||||
{{ .Attributes.author | safeHTML }}
|
|
||||||
{{ if .Attributes.work }}
|
|
||||||
in
|
|
||||||
<cite>
|
|
||||||
{{ if .Attributes.citelink }}
|
|
||||||
<a href="{{ .Attributes.citelink }}">
|
|
||||||
{{ .Attributes.work | safeHTML }}
|
|
||||||
</a>
|
|
||||||
{{ else }}
|
|
||||||
{{ .Attributes.work | safeHTML }}
|
|
||||||
{{ end }}
|
|
||||||
</cite>
|
|
||||||
{{ end }}
|
|
||||||
</figcaption>
|
|
||||||
{{ end }}
|
|
||||||
</figure>
|
|
||||||
|
|
@ -7,30 +7,12 @@
|
||||||
{{ with .Description }}
|
{{ with .Description }}
|
||||||
<meta name="description" content="{{ . }}" />
|
<meta name="description" content="{{ . }}" />
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<title>
|
<title>{{ .Title }} - {{ .Site.Title }}</title>
|
||||||
{{ if .Title }}
|
|
||||||
{{ block "title" . }}{{ .Title }}{{ end }}
|
|
||||||
-
|
|
||||||
{{ end }}
|
|
||||||
{{ .Site.Title }}
|
|
||||||
</title>
|
|
||||||
{{ partial "favicon.html" . }}
|
|
||||||
{{ $twbssass := resources.Get "styles/millironx.css" }}
|
{{ $twbssass := resources.Get "styles/millironx.css" }}
|
||||||
{{ $twbssass =
|
{{ $twbssass =
|
||||||
$twbssass | minify
|
$twbssass | minify
|
||||||
}}
|
}}
|
||||||
<link href="{{ $twbssass.Permalink }}" rel="stylesheet" />
|
<link href="{{ $twbssass.RelPermalink }}" rel="stylesheet" />
|
||||||
{{ block "extraCss" . }}{{ end }}
|
|
||||||
{{ range .AlternativeOutputFormats -}}
|
|
||||||
<link
|
|
||||||
rel="{{ .Rel }}"
|
|
||||||
type="{{ .MediaType.Type }}"
|
|
||||||
href="{{ .Permalink | safeURL }}"
|
|
||||||
/>
|
|
||||||
{{ end }}
|
|
||||||
{{ template "_internal/opengraph.html" . }}
|
|
||||||
{{ template "_internal/schema.html" . }}
|
|
||||||
{{ template "_internal/twitter_cards.html" . }}
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
{{ $millironx := resources.Get "graphics/millironx.svg" }}
|
{{ $millironx := resources.Get "graphics/millironx.svg" }}
|
||||||
|
|
@ -38,22 +20,22 @@
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<object data="{{ $millironx.Permalink }}">
|
<object data="{{ $millironx.RelPermalink }}">
|
||||||
<img src="{{ $millironx.Permalink }}" alt="Milliron X" />
|
<img src="{{ $millironx.RelPermalink }}" alt="Milliron X" />
|
||||||
</object>
|
</object>
|
||||||
<h1 class="font-small-caps">Milliron X</h1>
|
<h1 class="font-small-caps">Milliron X</h1>
|
||||||
</header>
|
</header>
|
||||||
<div class="row" id="content">
|
<div class="row">
|
||||||
{{ partial "sidebar" . }}
|
{{ partial "sidebar" . }}
|
||||||
<main>{{ block "main" . }}{{ .Content }}{{ end }}</main>
|
<main>{{ block "main" . }}{{ .Content }}{{ end }}</main>
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
{{ $brandedbull := resources.Get "graphics/brandedbull.svg" }}
|
{{ $brandedbull := resources.Get "graphics/brandedbull.svg" }}
|
||||||
{{ $brandedbullsmall := $brandedbull | resources.Minify }}
|
{{ $brandedbullsmall := $brandedbull | resources.Minify }}
|
||||||
<img src="{{ $brandedbullsmall.Permalink }}" height="95rem" />
|
<img src="{{ $brandedbullsmall.RelPermalink }}" height="95rem" />
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
© {{ now | time.Format "2006" }} Thomas A. Christensen II
|
© {{ .Date | time.Format "2006" }} Thomas A. Christensen II
|
||||||
<br />
|
<br />
|
||||||
Licensed
|
Licensed
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"
|
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
|
||||||
{{ partial "frontmatter.atom.xml" . }}
|
|
||||||
<title>{{ with .Title }}All {{ . | pluralize | lower }} on {{ end }}{{ .Site.Title }}</title>
|
|
||||||
{{ partial "pagelist.atom.xml" . }}
|
|
||||||
</feed>
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
|
||||||
{{ partial "frontmatter.atom.xml" . }}
|
|
||||||
<title>All content on {{ .Site.Title }}</title>
|
|
||||||
{{ partial "pagelist.atom.xml" . }}
|
|
||||||
</feed>
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
{{ define "extraCss" }}
|
|
||||||
{{ $scrollCss := resources.Get "styles/scrolling-header.css" | minify }}
|
|
||||||
<link href="{{ $scrollCss.Permalink }}" rel="stylesheet" />
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ define "main" }}
|
|
||||||
{{ partial "scrolling-image-header" . }}
|
|
||||||
<section>
|
|
||||||
<div>
|
|
||||||
{{ block "content" . }}
|
|
||||||
{{ .Content }}
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h2>Recent activity</h2>
|
|
||||||
{{ partial "rss-subscribe-link.html" . }}
|
|
||||||
{{ $pageinator := .Paginate .Site.RegularPages }}
|
|
||||||
{{ range $pageinator.Pages }}
|
|
||||||
{{ partial "itemcard.html" . }}
|
|
||||||
{{ end }}
|
|
||||||
</section>
|
|
||||||
{{ end }}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
"name": "{{ .Site.Title }}",
|
|
||||||
"short_name": "{{ .Site.Title }}",
|
|
||||||
"icons": [
|
|
||||||
{{ $pngIcon := resources.Get "graphics/millironx-icon.png" }}
|
|
||||||
{{ $sizes := slice 192 512 }}
|
|
||||||
{{ range $size := $sizes }}
|
|
||||||
{{ $resized := $pngIcon.Resize (printf "%dx%d" $size $size) }}
|
|
||||||
{{ $icon := $resized.Content | resources.FromString (printf "android-chrome-%dx%d.png" $size $size) }}
|
|
||||||
{
|
|
||||||
"src": "{{ $icon.Permalink }}",
|
|
||||||
"type": "image/png",
|
|
||||||
"sizes": "{{ $size }}x{{ $size }}"
|
|
||||||
},
|
|
||||||
{{ end }}
|
|
||||||
{{ $maskIconResized := $pngIcon.Resize "512x512" }}
|
|
||||||
{{ $maskIcon := $maskIconResized.Content | resources.FromString "android-chrome-mask.png" }}
|
|
||||||
{
|
|
||||||
"src": "{{ $maskIcon.Permalink }}",
|
|
||||||
"type": "image/png",
|
|
||||||
"sizes": "512x512",
|
|
||||||
"purpose": "maskable"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"start_url": ".",
|
|
||||||
"display": "standalone",
|
|
||||||
"theme_color": "#6a1911",
|
|
||||||
"background_color": "#ffffff"
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +1,91 @@
|
||||||
{{ define "title" }}
|
|
||||||
{{- with .Data.Singular -}}
|
|
||||||
{{- . | humanize -}}:
|
|
||||||
{{ end }}
|
|
||||||
{{ .Title }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ define "extraCss" }}
|
|
||||||
{{ $scrollCss := resources.Get "styles/scrolling-header.css" | minify }}
|
|
||||||
<link href="{{ $scrollCss.Permalink }}" rel="stylesheet" />
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
{{ partial "scrolling-image-header" . }}
|
{{ partial "scrolling-image-header" . }}
|
||||||
<section>
|
<section>
|
||||||
{{ $pageinator := .Paginate .Pages }}
|
<div>
|
||||||
|
{{ block "content" . }}
|
||||||
|
{{ .Content }}
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
{{ if not ($pageinator.HasPrev) }}
|
{{ range .Pages }}
|
||||||
<div>
|
<div class="card">
|
||||||
{{ block "content" . }}
|
{{ partial "category-button" . }}
|
||||||
{{ .Content }}
|
|
||||||
|
{{ with .Param "fa-thumbnail" }}
|
||||||
|
<div class="card-header">
|
||||||
|
<div class="thumb-icon-wrapper">
|
||||||
|
<span class="thumb-icon-badge">
|
||||||
|
{{- partial "fa.html" . -}}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
{{/* Thumbnail images should be stored as 'thumbnail'.* in the page bundle, but
|
||||||
|
historically they might have been referenced as 'thumbnail' in the front
|
||||||
|
matter, or (even more historically) as 'cardImage'. Use scratch to
|
||||||
|
normalize all these different systems.
|
||||||
|
*/}}
|
||||||
|
{{ $bundleGlob := "thumbnail.*" }}
|
||||||
|
{{ $frontThumbGlob := print "images/" (.Params.thumbnail) ".*" }}
|
||||||
|
{{ $frontCardGlob := print "images/" (.Params.cardImage) ".jpg" }}
|
||||||
|
{{ $allThumbnailGlob := print "{" $frontThumbGlob "," $frontCardGlob "," $bundleGlob "}" }}
|
||||||
|
{{ with .Resources.GetMatch $allThumbnailGlob }}
|
||||||
|
{{ $thumbnail := . }}
|
||||||
|
{{ $thumbnailResized := $thumbnail.Resize "600x" }}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card-header">
|
||||||
|
<img
|
||||||
|
class="img-thumbnail"
|
||||||
|
src="{{ $thumbnailResized.RelPermalink }}"
|
||||||
|
alt="Thumbnail of {{ .Title }}"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
{{/* Prefer full-text links over local ones */}}
|
||||||
|
<div class="card-title">
|
||||||
|
{{ $link := default .RelPermalink (index .Params "link") }}
|
||||||
|
<a href="{{ $link }}"><h3>{{ .Title }}</h3></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
{{ dateFormat "02 Jan 2006" .Date }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ range (.GetTerms "people") }}
|
||||||
|
<a
|
||||||
|
href="{{ .RelPermalink }}"
|
||||||
|
class="card-link {{ if eq .LinkTitle "Thomas A. Christensen II" }}
|
||||||
|
bolder
|
||||||
|
{{ end }}"
|
||||||
|
>{{- partial "fa.html" "user" }} {{ .LinkTitle }}</a
|
||||||
|
>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
|
||||||
|
<p class="card-text">
|
||||||
|
{{ .Summary }}
|
||||||
|
<strong
|
||||||
|
><small
|
||||||
|
><a href="{{ $link }}">Read more »</a></small
|
||||||
|
></strong
|
||||||
|
>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="card-footer">
|
||||||
|
{{ range (.GetTerms "tags") }}
|
||||||
|
<a href="{{ .RelPermalink }}" class="icon-link card-link"
|
||||||
|
>{{- partial "fa.html" "tag" }} {{ .LinkTitle }}</a
|
||||||
|
>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- </card> -->
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ partial "rss-subscribe-link.html" . }}
|
|
||||||
|
|
||||||
{{ range $pageinator.Pages }}
|
|
||||||
{{ partial "itemcard.html" . }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ template "_internal/pagination.html" . }}
|
|
||||||
</section>
|
</section>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
|
||||||
{{ partial "frontmatter.atom.xml" . }}
|
|
||||||
<title>{{ with .Title }}{{ . }} on {{ end }}{{ .Site.Title }}</title>
|
|
||||||
{{ partial "pagelist.atom.xml" . }}
|
|
||||||
</feed>
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
{{ .Content }}
|
<section class="container-fluid list-main">
|
||||||
|
<div class="container px-5">
|
||||||
|
{{ .Content }}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
|
||||||
<urlset
|
|
||||||
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
|
||||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
|
||||||
>
|
|
||||||
{{ range .Pages }}
|
|
||||||
{{- if or (not .Params.link) (findRE `^/` .Params.link 1) -}}
|
|
||||||
<url>
|
|
||||||
<loc>
|
|
||||||
{{- with .Params.link -}}
|
|
||||||
{{- replace (print $.Site.BaseURL .) "//" "/" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- .Permalink -}}
|
|
||||||
{{- end -}}
|
|
||||||
</loc>
|
|
||||||
{{ if not .Lastmod.IsZero }}
|
|
||||||
<lastmod
|
|
||||||
>{{ .Lastmod.Format "2006-01-02T15:04:05-07:00" | safeHTML }}</lastmod
|
|
||||||
>
|
|
||||||
{{ end }}
|
|
||||||
{{ with .Sitemap.ChangeFreq }}
|
|
||||||
<changefreq>{{ . }}</changefreq>
|
|
||||||
{{ end }}
|
|
||||||
</url>
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
</urlset>
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<small>
|
<small>
|
||||||
{{ range (.GetTerms "people") }}
|
{{ range (.GetTerms "people") }}
|
||||||
<a
|
<a
|
||||||
href="{{ .Permalink }}"
|
href="{{ .RelPermalink }}"
|
||||||
class="card-link {{ if eq .LinkTitle "Thomas A. Christensen II" }}
|
class="card-link {{ if eq .LinkTitle "Thomas A. Christensen II" }}
|
||||||
bolder
|
bolder
|
||||||
{{ end }}"
|
{{ end }}"
|
||||||
|
|
|
||||||