Compare commits

...
Sign in to create a new pull request.

3 commits

11 changed files with 131 additions and 7 deletions

2
.gitignore vendored
View file

@ -189,3 +189,5 @@ Icon
Network Trash Folder
Temporary Items
.apdisk
/.quarto/

View file

@ -7,3 +7,6 @@ overrides:
- files: "*.gotmpl"
options:
parser: "go-template"
- files: "*.qmd"
options:
parser: "markdown"

View file

@ -9,5 +9,5 @@
}
}
},
"file_types": { "HTML": ["gotmpl"] }
"file_types": { "HTML": ["gotmpl"], "Markdown": ["qmd"] }
}

13
_quarto.yml Normal file
View file

@ -0,0 +1,13 @@
project:
type: hugo
preview:
serve:
cmd: "hugo server --port {port} --bind 0.0.0.0 --navigateToChanged"
ready: "Web Server is available at"
format:
hugo-md:
code-fold: true
execute:
warning: false

View file

@ -289,6 +289,15 @@ article > p {
line-height: 1.5em;
}
h2#references ~ p {
font-size: 1rem;
text-justify: unset;
text-align: left;
hyphens: none;
line-height: 1rem;
text-indent: 2ch hanging;
}
article h1 + p,
article h2 + p,
article h3 + p,
@ -337,6 +346,10 @@ figure:has(blockquote) > figcaption {
font-size: 80%;
}
figure > img {
max-width: 100%;
}
footer {
display: flex;
flex-direction: column;

View file

@ -1,6 +1,7 @@
baseURL = "https://millironx.com"
languageCode = "en-us"
title = "Milliron X"
ignoreFiles = ["\\.qmd$", "\\.ipynb$", "\\.py$"]
[pagination]
pagerSize = 5
@ -51,6 +52,9 @@ notAlternative = "true"
[markup.goldmark.parser.attribute]
block = true
[markup.goldmark.renderer]
unsafe = true
[markup.goldmark.renderHooks]
[markup.goldmark.renderHooks.link]

View file

@ -0,0 +1 @@
index.md

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View file

@ -0,0 +1,88 @@
---
title: I gave up Github (and more)
subtitle: Starting on a self-hosted blog
date: 2025-11-01
tags:
- blog
featured: true
categories:
- blog
---
If you are reading this post, then I have migrated most of my online services
over to a VPS to the point where I feel confident enough to host a blog on them.
Yay for me! It has been my goal for nearly six years now to be able to have an
_interesting_ corner of the internet, filled with interconnected links that try
to tell the story of what I've done, who I've done it with, and where to find
it, and this is the result.
I wanted to take the first post and indulge myself in explaining my motivation
for going self-hosted, show off my tech stack just a little bit, and lay out
some ground rules for myself for the posts ahead.
## My motivation
Microsoft is evil. There you have it. End of story. Thank you for coming to my
TED Talk.
![The dynamic duo of Microsoft roleplaying as supervillains](./ballmergatesaustinpowers.jpg)
Okay, but in all seriousness, the changes after Github was acquired by Microsoft
were annoying, and showed that Microsoft was prioritizing the wrong things, and
going back to their old ways of
[embrace, extend, exterminate](https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish).
1. [A page redesign for phones](https://github.com/Kira-NT/GitHub-Defreshed)
2. An "Achievements" system that gamified risky behavior
3. An integrated CI/CD pipeline system that is
[terribly designed](https://youtu.be/9qljpi5jiMQ) and
[way too easy to use insecurely](https://docs.zizmor.sh/)[^*]
4. Finally, ahem, ARTIFICIAL INTELLIGENCE, with illegal scraping of repos and
reproduction of code without proper license compliance
I got into programming using Visual Basic .NET, writing automatic Punnet square
solvers and gestation calculators with Windows Forms, and designing websites
using ASP.NET MVC with Razor pages. Programming with Visual Basic was fun! At
least it was until Microsoft put
[someone who'd rather talk about her hip replacement than Visual Basic](https://www.dotnetrocks.com/details/1691)
in charge of development. When I started to see the same attitudes creeping
into Github, Github Actions, and Visual Studio Code, I made the decision to
move.
The fact is, if you are the kind of person who I expect to be reading this blog,
then you probably know more of the drama around Github than I do. That, or
you're the kind of person who is not affected by Github whatsoever. Either way,
I'll leave you with a collection of links I've found to be varying levels of
insightful on the whole subject, and leave it at that.
### Microsoft's behavior
- [Microsoft, there is a way to win our trust](https://davelane.nz/microsoft-there-way-win-our-trust)
- [Can we trust Microsoft with open source?](https://dusted.codes/can-we-trust-microsoft-with-open-source)
- [Visual Studio Code is designed to fracture](https://ghuntley.com/fracture/)
### Github-specific complaints
- [Give Up Github Campaign - Software Freedom Conservancy](https://sfconservancy.org/GiveUpGitHub/)
- [Why not Github?](https://sanctum.geek.nz/why-not-github.html)
- [We need to talk about your Github addiction](https://ploum.net/2023-02-22-leaving-github.html)
- [Why I won't use Github for any new projects](https://raccoon.onyxbits.de/blog/why-not-use-github/)
### Github Actions
- [Github Actions feels bad](https://youtu.be/9qljpi5jiMQ)
- [The pain that is Github Actions](https://www.feldera.com/blog/the-pain-that-is-github-actions)
- [Github Actions could be so much better](https://blog.yossarian.net/2023/09/22/GitHub-Actions-could-be-so-much-better)z
- [Github Actions are a problem](https://felix-knorr.net/posts/2023-11-11-github-actions.html)
### The problem in general
- [Free software hasn't won](https://dorotac.eu/posts/fosswon/)
[^*]:
Lumping Github Actions here might seem strange, but for context, I wrote and
maintained the
[nf-core/setup-nextflow](https://github.com/nf-core/setup-nextflow) Github
Action. Trying to make something coherent out of the Github Actions
ecosystem was harrowing, and convinced me more than anything else that
Github is just part of the embrace, extend, exterminate strategy.

8
flake.lock generated
View file

@ -20,16 +20,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1737597992,
"narHash": "sha256-FECKBxkd+w5I/fhsquthDiw/r/MdCpqmKikBU9yQGug=",
"lastModified": 1762756533,
"narHash": "sha256-HiRDeUOD1VLklHeOmaKDzf+8Hb7vSWPVFcWwaTrpm+U=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d0bb4699177f691c8e558b32b3bdc38bc112f76f",
"rev": "c2448301fb856e351aab33e64c33a3fc8bcf637d",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable-small",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}

View file

@ -1,13 +1,13 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small";
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
buildInputs = with pkgs; [ hugo nodejs ];
buildInputs = with pkgs; [ hugo nodejs quarto julia-bin ];
in with pkgs; {
devShells.default = mkShell { inherit buildInputs; };
packages.default = stdenvNoCC.mkDerivation {