The lab called it the Repository.
Time was not a river. It was a commit graph.
Mara’s console showed history as hashes and arrows. Every moment a node. Every decision a branch. The past was immutable. The future was a working tree full of untracked files.
She did not travel backward. She checked out.
git checkout -b stop-war a1f3c9e
The world recompiled around her. Same initial state. Same variables. Different branch name. In this timeline Hitler was still a student. Mara changed one small file. A rejected application. She committed and returned.
git checkout main
Nothing changed. Of course not. Main was untouched. The war still existed. The scars still matched their hashes.
People kept asking why she could not fix history. She explained patiently. You never fix history. You fork it.
Each jump created divergence. Entropy grew like unmerged branches. The Repository ballooned. Infinite timelines. Infinite storage. Garbage collection impossible. Nothing was truly unused.
One day she found a branch tagged by someone else.
origin/hope
No author. No timestamp. The diff was small. Fewer deaths. Slower weapons. More pauses between commits.
Mara did not merge it. Merges caused conflicts. Merges caused paradoxes.
She rebased.
She replayed the present onto hope. One commit at a time. Carefully resolving conflicts. Choosing better defaults.
When she finished, the graph looked cleaner. Still complex. Still branching. But survivable.
She pushed.
Somewhere, someone typed their first commit message.
“Initial commit.”
Every daily at the end of the (work) day.
5 minutes.
- Determine what are the most important tasks to be done tomorrow (manual)
- Determine the next step for each task (manual)
- Determine how much work can reasonably be accomplished tomorrow (manual)
Every week at the beginning of the (work) week.
10 minutes.
- Determine what are the most important tasks to be done this week (manual)
- Determine the next step for each task (manual)
- Determine how much work can reasonably be accomplished this week (manual)
The meaning of life isn't something you discover - it's something you construct through systematic exploration and iterative refinement.
I think about it like optimizing a machine learning model. You start with some initial parameters (your genetics, environment, early experiences), but the actual trajectory emerges through the training process. The loss function isn't predetermined - you have to define what you're optimizing for, which is itself part of the work.
There's a bootstrapping problem here that's worth acknowledging: how do you choose meaning without already having meaning to guide that choice? The way out is probably recognizing that you're already embedded in a process. You don't start from a blank slate - you have patterns, preferences, curiosities that already exist. The work is surfacing those, examining them, and deciding which ones to amplify.
For me, it clusters around a few things:
Building systems that reduce cognitive overhead. Whether that's infrastructure automation, better tooling, or frameworks that make complex problems tractable. There's something deeply satisfying about creating leverage - doing work once that pays dividends repeatedly.
Understanding how things actually work. Not surface-level explanations, but the real mechanisms. Why does Kubernetes behave this way under load? How do transformers actually learn? What's the evidence base for this claim? Drilling down until you hit bedrock.
Documenting the process. Writing isn't just communication - it's thinking made concrete. When I write about my thinking process on AGI or automation, I'm not just sharing conclusions, I'm making my reasoning debuggable. Both for others and for future me.
The meta-level realization is that meaning comes from engagement with hard problems. Not difficulty for its own sake, but the kind of problems where the solution space isn't obvious and you have to actually think. The satisfaction isn't in having answers - it's in the process of going from "I don't understand this" to "okay, I see how this works now."
There's probably no cosmic meaning. But there's local meaning in building things that matter to you, learning things that genuinely puzzle you, and leaving some kind of documented trail that might be useful to someone else trying to solve similar problems.
The philosophical questions - consciousness, creativity, what happens after death - are interesting, but they don't need to be answered to have a meaningful life. The work is meaningful even if the ultimate questions remain open.
Gitlab SSH post-quantum key exchange
History / Edit / PDF / EPUB / BIB / 1 min read (~159 words)A small PSA for Gitlab users who use SSH to connect to their Git repositories.
If you get the following warning when trying to connect:
** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
You should upgrade your Gitlab instance to the latest.
If you need to upgrade, you can use Gitlab's upgrade path tool which is very helpful to identify the correct upgrade steps to take.
You may also have to upgrade your operating system.
In my case I was still on Ubuntu 20.04 LTS it did not support post-quantum key exchange.
Note that if you do a release upgrade, you also should update the apt sources to point to the new release (e.g., going from focal to jammy) and upgrade gitlab using the updated source.