Compare commits
3 commits
master
...
posts/gith
| Author | SHA1 | Date | |
|---|---|---|---|
| 8d92cdfb11 | |||
| 4a3d7bac3a | |||
| a6c2a86d1f |
11 changed files with 131 additions and 7 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -189,3 +189,5 @@ Icon
|
||||||
Network Trash Folder
|
Network Trash Folder
|
||||||
Temporary Items
|
Temporary Items
|
||||||
.apdisk
|
.apdisk
|
||||||
|
|
||||||
|
/.quarto/
|
||||||
|
|
|
||||||
|
|
@ -7,3 +7,6 @@ overrides:
|
||||||
- files: "*.gotmpl"
|
- files: "*.gotmpl"
|
||||||
options:
|
options:
|
||||||
parser: "go-template"
|
parser: "go-template"
|
||||||
|
- files: "*.qmd"
|
||||||
|
options:
|
||||||
|
parser: "markdown"
|
||||||
|
|
|
||||||
|
|
@ -9,5 +9,5 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"file_types": { "HTML": ["gotmpl"] }
|
"file_types": { "HTML": ["gotmpl"], "Markdown": ["qmd"] }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
13
_quarto.yml
Normal file
13
_quarto.yml
Normal 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
|
||||||
|
|
@ -289,6 +289,15 @@ article > p {
|
||||||
line-height: 1.5em;
|
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 h1 + p,
|
||||||
article h2 + p,
|
article h2 + p,
|
||||||
article h3 + p,
|
article h3 + p,
|
||||||
|
|
@ -337,6 +346,10 @@ figure:has(blockquote) > figcaption {
|
||||||
font-size: 80%;
|
font-size: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
figure > img {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
baseURL = "https://millironx.com"
|
baseURL = "https://millironx.com"
|
||||||
languageCode = "en-us"
|
languageCode = "en-us"
|
||||||
title = "Milliron X"
|
title = "Milliron X"
|
||||||
|
ignoreFiles = ["\\.qmd$", "\\.ipynb$", "\\.py$"]
|
||||||
|
|
||||||
[pagination]
|
[pagination]
|
||||||
pagerSize = 5
|
pagerSize = 5
|
||||||
|
|
@ -51,6 +52,9 @@ notAlternative = "true"
|
||||||
[markup.goldmark.parser.attribute]
|
[markup.goldmark.parser.attribute]
|
||||||
block = true
|
block = true
|
||||||
|
|
||||||
|
[markup.goldmark.renderer]
|
||||||
|
unsafe = true
|
||||||
|
|
||||||
[markup.goldmark.renderHooks]
|
[markup.goldmark.renderHooks]
|
||||||
|
|
||||||
[markup.goldmark.renderHooks.link]
|
[markup.goldmark.renderHooks.link]
|
||||||
|
|
|
||||||
1
content/posts/gave-up-github/.gitignore
vendored
Normal file
1
content/posts/gave-up-github/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
index.md
|
||||||
BIN
content/posts/gave-up-github/ballmergatesaustinpowers.jpg
Normal file
BIN
content/posts/gave-up-github/ballmergatesaustinpowers.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 63 KiB |
88
content/posts/gave-up-github/index.qmd
Normal file
88
content/posts/gave-up-github/index.qmd
Normal 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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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
8
flake.lock
generated
|
|
@ -20,16 +20,16 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737597992,
|
"lastModified": 1762756533,
|
||||||
"narHash": "sha256-FECKBxkd+w5I/fhsquthDiw/r/MdCpqmKikBU9yQGug=",
|
"narHash": "sha256-HiRDeUOD1VLklHeOmaKDzf+8Hb7vSWPVFcWwaTrpm+U=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d0bb4699177f691c8e558b32b3bdc38bc112f76f",
|
"rev": "c2448301fb856e351aab33e64c33a3fc8bcf637d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable-small",
|
"ref": "nixos-25.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
{
|
{
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
};
|
};
|
||||||
outputs = { self, nixpkgs, flake-utils }:
|
outputs = { self, nixpkgs, flake-utils }:
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
buildInputs = with pkgs; [ hugo nodejs ];
|
buildInputs = with pkgs; [ hugo nodejs quarto julia-bin ];
|
||||||
in with pkgs; {
|
in with pkgs; {
|
||||||
devShells.default = mkShell { inherit buildInputs; };
|
devShells.default = mkShell { inherit buildInputs; };
|
||||||
packages.default = stdenvNoCC.mkDerivation {
|
packages.default = stdenvNoCC.mkDerivation {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue