Last night my brother pitched me this math problem over dinner (which he later revealed came from this video). It goes something like this:
@@ -71,7 +49,14 @@Next, since I had no idea how I would go about counting the sequences, I looked at how I could group them, in hoping that would make them easier to count.
Arbitrarily, I decided to group the sequences by how many 2s were in them.
For the 5-stair staircase example, all of the possible sequences of 1s and 2s that sum to 5 look like:
-[1 1 2 1]+
[2 1 2]
[1 2 1 1]
[1 1 1 1 1]
[2 1 1 1]
[1 2 2]
[1 1 1 2]
[2 2 1][1 1 2 1] +[2 1 2] +[1 2 1 1] +[1 1 1 1 1] +[2 1 1 1] +[1 2 2] +[1 1 1 2] +[2 2 1]Grouping each sequence by the number of 2s in it yields the table:
@@ -313,6 +298,6 @@
This is the exact same function that appears on ProofWiki!
- + \ No newline at end of file diff --git a/forgejno.html b/forgejno.html index a8a970c..e36b358 100644 --- a/forgejno.html +++ b/forgejno.html @@ -2,23 +2,27 @@You don't need Forgejo + --+ + diff --git a/no_ai.html b/no_ai.html index 3a4cabe..3a142a0 100644 --- a/no_ai.html +++ b/no_ai.html @@ -1,30 +1,58 @@ - -You don't need Forgejo
-published May 3, 2026
-
- -People - ditching - GitHub after recent issues - are looking to self-hosting Forgejo as an alternative.
++ + + + People + ditching + GitHub after + recent issues + are looking to self-hosting Forgejo as an alternative. +
Despite some (poorly disclosed) security issues, I think there's a more fundemental reason why you shouldn't use Forgejo.
If you're just a single person trying to publish your independent coding projects, why do you need: CI, Issue Tracking, Pull Requests, Multi-user account management, etc?
just use cgit.
+ +How do git forges (like GitHub) even work?
A git forge is basically just a directory of git repositories, served over http or ssh, with a fancy web frontend.
On the server, since the repos don't need to store mutable state (local commits, staged files, etc) they're stored in a special format that's basically just the
.git@@ -32,10 +36,10 @@cgit Setup Guide
The cgit setup process is fairly involved, but if you were planning on self-hosting Forgejo, then you can handle it.
-I'll be using Caddy as the webserver for this setup, but I'll link tutorials for NGINX and Apache if prefer xml configuration files and manual https certificates ;)
+I'll be using Caddy as the webserver for this setup, but this could be modified for NGINX and Apache if you prefer xml configuration files and manual https certificates ;)
To keep everything organized, I'll run cgit under a user called "git". Our git repos will be stored in this directory.
-$ useradd -r -d /var/lib/cgit -s /usr/bin/git-shell git+$ useradd -r -d /var/lib/cgit -s /usr/bin/git-shell gitfcgiwrap
cgit is served as a cgi application.
@@ -45,7 +49,7 @@
Install fcgiwrap with a package manager. This will create two systemd files: fcgiwrap.service and fcgiwrap.socket.
- -
Open fcgiwrap.service in a text editor (
$ systemctl edit fcgiwrap.service) and set the User and Group to be our "git" user.- +
Open fcgiwrap.socket (
$ systemctl edit fcgiwrap.socket) and add "SocketUser=caddy" and "SocketGroup=caddy" under the [Socket] section. (replace with the correct Caddy user for your system)Open fcgiwrap.socket (
$ systemctl edit fcgiwrap.socket) and add "SocketUser=caddy" and "SocketGroup=caddy" under the[Socket]section. (replace with the correct Caddy user for your system)cgit
@@ -108,8 +112,10 @@ snapshots=tar.gz zipIn return, you get a tiny stack, fewer moving parts, lower attack surface, lower resource use, and a setup you can understand.
For my personal projects, that trade is acceptable.
-
-Discuss on Bluesky
-Taking a break - - - - --- - \ No newline at end of file +Prolonged access to LLMs is making me stupid. I can't code as fluently as I used to. (and I'm not the only one)
-- I experienced the drunkening power from the speed at which development is possible with Claude Code (I built an Emacs clone in a day; it was amazing). - But when the tokens ran out, I felt the overwhelming discomfort of not having Claude's help when starting a new project. That feeling was a wakeup call. -
-- At heart, I am a programmer. Not a manager, and not the CEO of a multi-million dollar corperation. I don't require ultimate productivity and perfection. - To me, what matters most is familiarity with the tools and techniques (languages, libraries, frameworks), and bossing around agents all day does not give me those skils. -
+ +Taking a break + + + + ++ + Prolonged access to LLMs is making me stupid. + I can't code as fluently as I used to. + (and I'm not the only one) +
++ I experienced the drunkening power from the speed at which development is possible with Claude Code (I built an Emacs clone in a day; it was amazing). + But when the tokens ran out, I felt the overwhelming discomfort of not having Claude's help when starting a new project. + That feeling was a wakeup call. +
++ At heart, I am a programmer. + Not a manager, and not the CEO of a multi-million dollar corperation. + I don't require ultimate productivity and perfection. + To me, what matters most is familiarity with the tools and techniques (languages, libraries, frameworks), and bossing around agents all day does not give me those skils. +
-What this isn't
-I don't hate LLMs. In fact, I still see them a very impressive tool! I love to see people building awesome things, and I think AI empowers more builders than any other piece of technology. I'm not "falling for the anti-AI hype"
-People who believe that AI is the right tool for their workflow should keep using it. And who knows? Maybe I'll continue vibecoding in the future. I just don't think AI is the right tool for me, for now.
+What this isn't
++ I don't hate LLMs. + In fact, I still see them a very impressive tool! + I love to see people building awesome things, and I think AI empowers more builders than any other piece of technology. + I'm not "falling for the anti-AI hype" +
++ People who believe that AI is the right tool for their workflow should keep using it. + And who knows? Maybe I'll continue vibecoding in the future. + I just don't think AI is the right tool for me, for now. +
-Taking a Break
-So I'm taking a break. I'm uninstalling OpenCode and Pihole-ing ChatGPT. My programming language project this summer will be 0% vibecoded.
-Is it a good idea? I don't even know. How long will it last? I'm not really sure.
-All I know is that I never want to feel out of place without the help of an LLM ever again. And hopefully this is one way of achieving that.
-Taking a Break
++ So I'm taking a break. + I'm uninstalling OpenCode and Pihole-ing ChatGPT. + My programming language project this summer will be 0% vibecoded. +
++ Is it a good idea? + I don't even know. + How long will it last? + I'm not really sure. +
++ All I know is that I never want to feel out of place without the help of an LLM ever again. + And hopefully this is one way of achieving that. +
+ + +