aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2026-08-20 21:32:33 +1200
committerArslaan Pathan <[email protected]>2026-08-20 21:32:33 +1200
commitc75ac93b77d4b96b7cf7d768c0e911e33290ca8a (patch)
treeb2b391c16c1aae391d6bfc345da7c9b4a05a2596
parente4df0a2f2f8b05e355a54c75547210dfcccb4e7d (diff)
downloadarslaancodes-c75ac93b77d4b96b7cf7d768c0e911e33290ca8a.tar.xz
arslaancodes-c75ac93b77d4b96b7cf7d768c0e911e33290ca8a.zip
[fix] migrate to Zola 0.23 and Tera 2, fix up links in blog posts, edit browser-in-c a tiny bit
-rw-r--r--content/blog/browser-in-c.md6
-rw-r--r--content/blog/free-custom-email.md4
-rw-r--r--content/blog/free-custom-emails-improved.md2
-rw-r--r--content/blog/guide-self-hosting.md2
-rw-r--r--content/blog/linux-tv-box.md2
-rw-r--r--content/blog/python-091.md6
-rw-r--r--content/blog/systemd-age-verification.md18
-rw-r--r--static/assets/images/arslaan-pfp.pngbin0 -> 225592 bytes
-rw-r--r--templates/base.html14
-rw-r--r--templates/header.html12
-rw-r--r--templates/index.html2
11 files changed, 42 insertions, 26 deletions
diff --git a/content/blog/browser-in-c.md b/content/blog/browser-in-c.md
index 5274254..ed6b556 100644
--- a/content/blog/browser-in-c.md
+++ b/content/blog/browser-in-c.md
@@ -1,7 +1,9 @@
+++
title = "Why I wrote my own browser in C (and why it still failed me)"
date = 2026-04-20
+aliases = ["/2026/04/20/browser-in-c.html"]
extra.image = "/assets/images/post-image/browser-in-c.png"
+extra.header_title = "browser-in-c"
+++
Chrome, Firefox, Edge, Brave, Safari, Opera.
@@ -138,6 +140,8 @@ With how bloated and horrible the modern web is, the question isn't "Which brows
The question is "Which browser works good enough for my use case?"
And for me, that browser is cinnamon.
+Edit: uh no cinnamon does not work good enough but the flex of using your own browser is worth it trust
+
---
-Thank you so much for reading my blog post! I'm a 13-year-old developer writing blog posts and making YouTube videos in my free time, so I'd really appreciate that you share this to others if you enjoyed it. Hopefully, I'll be coming out with a corresponding YouTube video for this blog post too, and when I do, it will be linked here.
+Thank you so much for reading my blog post! I'm a 13-year-old developer writing blog posts in my free time, so I'd really appreciate that you share this to others if you enjoyed it.
diff --git a/content/blog/free-custom-email.md b/content/blog/free-custom-email.md
index 2c0dc14..8e75e08 100644
--- a/content/blog/free-custom-email.md
+++ b/content/blog/free-custom-email.md
@@ -1,7 +1,9 @@
+++
title = "A 12-year-old's guide to free custom emails"
date = 2025-12-16
+aliases = ["/2025/12/16/free-custom-email.html"]
extra.image = "/assets/images/post-image/free-custom-email.jpg"
+extra.header_title = "free-custom-email"
+++
Are you a small business looking for a custom email?
@@ -25,7 +27,7 @@ If you want to use another provider or different services, please refer to anoth
The first step in creating a custom business email is receiving emails.
This guide assumes you are using Cloudflare nameservers with your domain.
-If not, please follow [this guide.](https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/){: target="_blank" }
+If not, please follow [this guide.](https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/)
1. Open the Cloudflare dashboard and select your domain if you haven't already.
diff --git a/content/blog/free-custom-emails-improved.md b/content/blog/free-custom-emails-improved.md
index 39fe190..07bdc4f 100644
--- a/content/blog/free-custom-emails-improved.md
+++ b/content/blog/free-custom-emails-improved.md
@@ -1,7 +1,9 @@
+++
title = "A 13-year-old's (improved) guide to free custom emails"
date = 2026-02-20
+aliases = ["/2026/02/20/free-custom-emails-improved.html"]
extra.image = "/assets/images/post-image/free-custom-emails-improved.png"
+extra.header_title = "free-custom-emails-improved"
+++
Are you a small business looking to get a free custom email?
diff --git a/content/blog/guide-self-hosting.md b/content/blog/guide-self-hosting.md
index 664080b..f266107 100644
--- a/content/blog/guide-self-hosting.md
+++ b/content/blog/guide-self-hosting.md
@@ -1,7 +1,9 @@
+++
title = "A 12-year-old's guide to self-hosting"
date = 2025-11-05
+aliases = ["/2025/11/05/guide-self-hosting.html"]
extra.image = "/assets/images/post-image/guide-self-hosting.jpg"
+extra.header_title = "guide-self-hosting"
+++
Have you ever wanted to self-host your own homelab but didn't know how?
diff --git a/content/blog/linux-tv-box.md b/content/blog/linux-tv-box.md
index bb899e3..4b15b17 100644
--- a/content/blog/linux-tv-box.md
+++ b/content/blog/linux-tv-box.md
@@ -1,7 +1,9 @@
+++
title = "Linux on a TV Box—Raspberry Pi Alternative?"
date = 2026-01-14
+aliases = ["/2026/01/14/linux-tv-box.html"]
extra.image = "/assets/images/post-image/linux-tv-box.png"
+extra.header_title = "linux-tv-box"
+++
Raspberry Pis are quite popular—and for good reason.
diff --git a/content/blog/python-091.md b/content/blog/python-091.md
index de1ff6a..76d678c 100644
--- a/content/blog/python-091.md
+++ b/content/blog/python-091.md
@@ -1,7 +1,9 @@
+++
title = "Python 0.9.1 in 2026: The minimal scripting language that feels like a better Bash"
date = 2026-01-21
+aliases = ["/2026/01/21/python-091.html"]
extra.image = "/assets/images/post-image/python-091.png"
+extra.header_title = "python-091"
+++
In the modern world of programming, Python is almost unavoidable.
@@ -45,7 +47,7 @@ They said they had a pre-built version on conda, so I tried using that first.
Though, unsurprisingly, it said it wasn't available (probably because I'm on Linux ARM64 and not x86).
Therefore, I decided I'll just compile it myself!
-After cloning the [GitHub repo for Python 0.9.1](https://github.com/smontanaro/python-0.9.1){: target="_blank" } and compiling it (tip: if you want to compile it yourself, use make with CFLAGS="-std=c89"), I ran the outputted ./python binary and tried a couple basic things, like declaring variables and printing them out.
+After cloning the [GitHub repo for Python 0.9.1](https://github.com/smontanaro/python-0.9.1) and compiling it (tip: if you want to compile it yourself, use make with CFLAGS="-std=c89"), I ran the outputted ./python binary and tried a couple basic things, like declaring variables and printing them out.
After a bit of tinkering and testing some things, I was immediately fascinated by the language design and how featureful this language was, even in 1991.
@@ -103,7 +105,7 @@ After patching, the code ran! Multiplication worked fine, and the random number
Python 0.9.1 is surprisingly quite a useful language and could possibly have some real-world applications! It seems well fit for a Bash/shell scripting alternative, or some embedded systems applications where you need a simple language with minimal footprint.
-Although there were some hiccups with multiplication along the way, I have made a [patched version](https://github.com/RealArslaanYT/python-0.9.1-patched-QoL){: target="_blank" } that fixes this issue and a couple more, and also adds some QoL improvements that make it easy to get up and running on any modern system.
+Although there were some hiccups with multiplication along the way, I have made a [patched version](https://github.com/RealArslaanYT/python-0.9.1-patched-QoL) that fixes this issue and a couple more, and also adds some QoL improvements that make it easy to get up and running on any modern system.
The improvements/fixes are as follows:
diff --git a/content/blog/systemd-age-verification.md b/content/blog/systemd-age-verification.md
index db6c33f..74c0666 100644
--- a/content/blog/systemd-age-verification.md
+++ b/content/blog/systemd-age-verification.md
@@ -1,7 +1,9 @@
+++
title = "Age verification in Systemd"
date = 2026-03-23
+aliases = ["/2026/03/23/systemd-age-verification.html"]
extra.image = "/assets/images/post-image/systemd-age-verification.png"
+extra.header_title = "systemd-age-verification"
+++
Recently, the systemd project has merged Pull Request #40954, introducing a `birthDate` field to the userdb JSON.
@@ -13,7 +15,7 @@ This blog post aims to explain it clearly in words even a non-techie person can
To give some context for the non-techies, systemd is a core part of most Linux systems. It manages most of the apps that run in the background that are needed for your computer to work. While there are alternatives to systemd, almost all distros use it, and once it's on your computer (it usually comes preinstalled), it's incredibly difficult to take its "digital tentacles" out of your system.
-Recently, systemd merged a pull request ([#40954](https://github.com/systemd/systemd/pull/40954){:target="_blank"}) to add a `birthDate` field to userdb from systemd-homed.
+Recently, systemd merged a pull request ([#40954](https://github.com/systemd/systemd/pull/40954)) to add a `birthDate` field to userdb from systemd-homed.
In simple terms, systemd added support for tracking the user's birth date inside of the users database, in response to the new laws requiring operating systems to verify the ages of users in California (AB-1043), Brazil (Lei 15.211), and Colorado (SB26-051).
## Why this is controversial
@@ -48,10 +50,10 @@ Pay attention to this one.
### Sources
-- [https://ostechnix.com/systemd-userdb-birthdate-age-verification/](https://ostechnix.com/systemd-userdb-birthdate-age-verification/){:target="_blank"}
-- [https://itsfoss.com/news/systemd-age-verification/](https://itsfoss.com/news/systemd-age-verification/){:target="_blank"}
-- [https://news.ycombinator.com/item?id=47436240](https://news.ycombinator.com/item?id=47436240){:target="_blank"}
-- [https://www.sambent.com/the-engineer-who-tried-to-put-age-verification-into-linux-5/](https://www.sambent.com/the-engineer-who-tried-to-put-age-verification-into-linux-5/){:target="_blank"}
-- [https://agelesslinux.org/distros.html](https://agelesslinux.org/distros.html){:target="_blank"}
-- [https://linuxiac.com/systemd-introduces-birth-date-support-for-upcoming-linux-desktop-age-controls/](https://linuxiac.com/systemd-introduces-birth-date-support-for-upcoming-linux-desktop-age-controls/){:target="_blank"}
-- [https://github.com/systemd/systemd/pull/40954](https://github.com/systemd/systemd/pull/40954){:target="_blank"}
+- [https://ostechnix.com/systemd-userdb-birthdate-age-verification/](https://ostechnix.com/systemd-userdb-birthdate-age-verification/)
+- [https://itsfoss.com/news/systemd-age-verification/](https://itsfoss.com/news/systemd-age-verification/)
+- [https://news.ycombinator.com/item?id=47436240](https://news.ycombinator.com/item?id=47436240)
+- [https://www.sambent.com/the-engineer-who-tried-to-put-age-verification-into-linux-5/](https://www.sambent.com/the-engineer-who-tried-to-put-age-verification-into-linux-5/)
+- [https://agelesslinux.org/distros.html](https://agelesslinux.org/distros.html)
+- [https://linuxiac.com/systemd-introduces-birth-date-support-for-upcoming-linux-desktop-age-controls/](https://linuxiac.com/systemd-introduces-birth-date-support-for-upcoming-linux-desktop-age-controls/)
+- [https://github.com/systemd/systemd/pull/40954](https://github.com/systemd/systemd/pull/40954)
diff --git a/static/assets/images/arslaan-pfp.png b/static/assets/images/arslaan-pfp.png
new file mode 100644
index 0000000..c6fa0d5
--- /dev/null
+++ b/static/assets/images/arslaan-pfp.png
Binary files differ
diff --git a/templates/base.html b/templates/base.html
index 086f5fc..fb40a81 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -8,7 +8,19 @@
</head>
<body>
- {% include "header.html" %}
+<!-- hardcoded because screw undocumented changes --!>
+<header>
+ <div class="header-inner">
+ <div class="site-title">
+ <a href="/"><span class="pink">arslaan</span><span class="white">@</span><span class="yellow">thinkpad-e16-void</span><span class="white">:</span><span class="green bold">~{% if section and section.extra.header_title %}/{{ section.extra.header_title }}{% elif page and page.extra.header_title %}/{{ page.extra.header_title }}{% endif %}</span>
+ </div>
+ <nav>
+ <a href="/" class="{% if current_path == '/' %}active{% else %}purple{% endif %}">home</a>
+ <a href="/projects" class="{% if current_path is starting_with(pat='/projects') %}active{% else %}purple{% endif %}">projects</a>
+ <a href="/blog" class="{% if current_path is starting_with(pat='/blog') %}active{% else %}purple{% endif %}">blog</a>
+ </nav>
+ </div>
+</header>
<section class="section">
<div class="container">
{% block content %} {% endblock content %}
diff --git a/templates/header.html b/templates/header.html
deleted file mode 100644
index 5e64f05..0000000
--- a/templates/header.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<header>
- <div class="header-inner">
- <div class="site-title">
- <a href="/"><span class="pink">arslaan</span><span class="white">@</span><span class="yellow">thinkpad-e16-void</span><span class="white">:</span><span class="green bold">~{% if section.extra.header_title %}/{{ section.extra.header_title }}{% endif %}</span></a>
- </div>
- <nav>
- <a href="/" class="{% if current_path == '/' %}active{% else %}purple{% endif %}">home</a>
- <a href="/projects" class="{% if current_path is starting_with('/projects') %}active{% else %}purple{% endif %}">projects</a>
- <a href="/blog" class="{% if current_path is starting_with('/blog') %}active{% else %}purple{% endif %}">blog</a>
- </nav>
- </div>
-</header>
diff --git a/templates/index.html b/templates/index.html
index 273132c..3db824d 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -10,7 +10,7 @@
<span class="white">$ </span><span class="green">fastfetch</span>
<div class="fastfetch-row">
- <img src="/assets/images/Arslaan Pathan.svg" alt="Arslaan Pathan Logo" class="fastfetch-image">
+ <img src="/assets/images/arslaan-pfp.png" alt="Arslaan Pathan Logo" class="fastfetch-image">
<div class="fastfetch-text">
<p>I like computer science, writing stories (sometimes), Linux, FOSS (Free Open-Source Software), hacking, reverse-engineering and iOS jailbreaking. My favorite colour is yellow, and my favorite genre of music is Hyperpop, particularly Hyperpop-Digicore &amp; Hyperpop-Glitchcore. I work on various projects in low-level development, system programming, and hardware hacking. I'm also active in <a target="_blank" href="https://hackclub.com">Hack Club</a>, a community of over 100,000+ teens around the world who code together. Come join the Slack and say hi!</p>
<p>I mainly use Void Linux on my ThinkPad E16 Gen 3 (Intel Core Ultra 7 255H) with the bspwm tiling window manager along with picom, polybar, rofi, i3lock-color, sxhkd, and more. Currently, my dotfiles are not available on Git, but hopefully that will change in the near future. My favorite games are osu!, Minecraft and Stick Fight: The Game. I’ve been programming and tinkering with devices since somewhere around the age of six. What originally got me into programming was looking at my old iPad 2 (which I still have as of 2025, seven years later - it's now jailbroken with <a target="_blank" href="https://etasonjb.tihmstar.net">EtasonJB</a> because I felt like it) and saying – “how are these apps made?”</p>