summaryrefslogtreecommitdiffstats
path: root/_site
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2025-12-26 12:29:47 +0800
committerSadeep Madurange <sadeep@asciimx.com>2025-12-26 12:29:47 +0800
commit9b95f811472a15280e67f99c90c0013987b32ee2 (patch)
treed39ab6598f164822d39e90e09c32d9434bbad547 /_site
parent613316805da04c32b1d8088e754908ce63aed6e7 (diff)
downloadwww-9b95f811472a15280e67f99c90c0013987b32ee2.tar.gz
Technical notebook style.
Diffstat (limited to '_site')
-rw-r--r--_site/feed.xml2
-rw-r--r--_site/index.html26
-rw-r--r--_site/log/index.html13
-rw-r--r--_site/log/matrix-digital-rain/index.html50
-rw-r--r--_site/log/suckless-software/index.html105
-rw-r--r--_site/posts.xml2
-rw-r--r--_site/sitemap.xml4
7 files changed, 50 insertions, 152 deletions
diff --git a/_site/feed.xml b/_site/feed.xml
index 017f730..1b81c18 100644
--- a/_site/feed.xml
+++ b/_site/feed.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2025-12-26T11:27:12+08:00</updated><id>/feed.xml</id><title type="html">ASCIIMX | Log</title><author><name>W. D. Sadeep Madurange</name></author><entry><title type="html">Matrix Rain: 2025 refactor</title><link href="/log/matrix-digital-rain/" rel="alternate" type="text/html" title="Matrix Rain: 2025 refactor" /><published>2025-12-21T00:00:00+08:00</published><updated>2025-12-21T00:00:00+08:00</updated><id>/log/matrix-digital-rain</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Fixed the Unicode issue finally. Can now mix ASCII + Katakana.]]></summary></entry><entry><title type="html">Suckless upgrade workflow</title><link href="/log/suckless-software/" rel="alternate" type="text/html" title="Suckless upgrade workflow" /><published>2025-11-30T00:00:00+08:00</published><updated>2025-11-30T00:00:00+08:00</updated><id>/log/suckless-software</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Workflow for managing suckless patches across upgrades:]]></summary></entry><entry><title type="html">Fingerprint door lock</title><link href="/log/fpm-door-lock/" rel="alternate" type="text/html" title="Fingerprint door lock" /><published>2025-08-18T00:00:00+08:00</published><updated>2025-08-18T00:00:00+08:00</updated><id>/log/fpm-door-lock</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[This project features a fingerprint door lock powered by an ATmega328P microcontroller.]]></summary></entry><entry><title type="html">On the use of MOSFETs as electronic switches</title><link href="/log/mosfet-switches/" rel="alternate" type="text/html" title="On the use of MOSFETs as electronic switches" /><published>2025-06-22T00:00:00+08:00</published><updated>2025-06-22T00:00:00+08:00</updated><id>/log/mosfet-switches</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Recently, I needed a low-power circuit for one of my battery-operated projects. Much of the system’s power savings depended on its ability to electronically switch off components, such as servos, that draw high levels of quiescent currents. My search for a solution led me to MOSFETs, transistors capable of controlling circuits operating at voltages far above their own.]]></summary></entry><entry><title type="html">How to configure ATmega328P microcontrollers to run at 3.3V and 5V</title><link href="/log/arduino-uno/" rel="alternate" type="text/html" title="How to configure ATmega328P microcontrollers to run at 3.3V and 5V" /><published>2025-06-10T00:00:00+08:00</published><updated>2025-06-10T00:00:00+08:00</updated><id>/log/arduino-uno</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[This is a quick reference for wiring up ATmega328P ICs to run at 5V and 3.3V. While the 5V configuration is common, the 3.3V configuration can be useful in low-power applications and when interfacing with parts that themselves run at 3.3V. In this guide, the 5V setup is configured with a 16MHz crystal oscillator, while the 3.3V configuration makes use of an 8MHz crystal oscillator.]]></summary></entry><entry><title type="html">My first PCB</title><link href="/log/my-first-pcb/" rel="alternate" type="text/html" title="My first PCB" /><published>2025-04-26T00:00:00+08:00</published><updated>2025-04-26T00:00:00+08:00</updated><id>/log/my-first-pcb</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[In 2023, I started tinkering with DIY electronics as a hobby. Until now, I’ve been using development boards like the Arduino Uno and ESP-32-WROOM so that I can focus on the software. Recently, I decided to step outside of my comfort zone and design a PCB from scratch for a door lock I’m working on.]]></summary></entry><entry><title type="html">Bumblebee: browser automation</title><link href="/log/bumblebee/" rel="alternate" type="text/html" title="Bumblebee: browser automation" /><published>2025-04-02T00:00:00+08:00</published><updated>2025-04-02T00:00:00+08:00</updated><id>/log/bumblebee</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Bumblebee is a tool I built for one of my employers to automate the generation of web scraping scripts.]]></summary></entry><entry><title type="html">How to set up ATSAM3X8E microcontrollers for bare-metal programming in C</title><link href="/log/arduino-due/" rel="alternate" type="text/html" title="How to set up ATSAM3X8E microcontrollers for bare-metal programming in C" /><published>2024-09-16T00:00:00+08:00</published><updated>2024-09-16T00:00:00+08:00</updated><id>/log/arduino-due</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[This article is a step-by-step guide for programming bare-metal ATSAM3X8E chips found on Arduino Due boards. It also includes notes on the chip’s memory layout relevant for writing linker scripts. The steps described in this article were tested on an OpenBSD workstation.]]></summary></entry><entry><title type="html">Etlas: e-paper dashboard</title><link href="/log/etlas/" rel="alternate" type="text/html" title="Etlas: e-paper dashboard" /><published>2024-09-05T00:00:00+08:00</published><updated>2024-09-05T00:00:00+08:00</updated><id>/log/etlas</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Etlas is a news, stock market, and weather tracker powered by an ESP32 NodeMCU D1, featuring a 7.5-inch Waveshare e-paper display and a DHT22 sensor module.]]></summary></entry><entry><title type="html">Experimental e-reader</title><link href="/log/e-reader/" rel="alternate" type="text/html" title="Experimental e-reader" /><published>2023-10-24T00:00:00+08:00</published><updated>2023-10-24T00:00:00+08:00</updated><id>/log/e-reader</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[This project features an experimental e-reader powered by an ESP-WROOM-32 development board and a 7.5-inch Waveshare e-paper display built with the intention of learning about e-paper displays.]]></summary></entry></feed> \ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2025-12-26T12:29:33+08:00</updated><id>/feed.xml</id><title type="html">ASCIIMX | Log</title><author><name>W. D. Sadeep Madurange</name></author><entry><title type="html">Matrix Rain: 2025 refactor</title><link href="/log/matrix-digital-rain/" rel="alternate" type="text/html" title="Matrix Rain: 2025 refactor" /><published>2025-12-21T00:00:00+08:00</published><updated>2025-12-21T00:00:00+08:00</updated><id>/log/matrix-digital-rain</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[The 2022 version worked but had some loose ends. Unicode support was inflexible–couldn’t mix ASCII with Katakana; Phosphor decay was stored in a separate array when it should’ve been packed with RGB; Code was harder to read than it needed to be.]]></summary></entry><entry><title type="html">Fingerprint door lock</title><link href="/log/fpm-door-lock/" rel="alternate" type="text/html" title="Fingerprint door lock" /><published>2025-08-18T00:00:00+08:00</published><updated>2025-08-18T00:00:00+08:00</updated><id>/log/fpm-door-lock</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[This project features a fingerprint door lock powered by an ATmega328P microcontroller.]]></summary></entry><entry><title type="html">On the use of MOSFETs as electronic switches</title><link href="/log/mosfet-switches/" rel="alternate" type="text/html" title="On the use of MOSFETs as electronic switches" /><published>2025-06-22T00:00:00+08:00</published><updated>2025-06-22T00:00:00+08:00</updated><id>/log/mosfet-switches</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Recently, I needed a low-power circuit for one of my battery-operated projects. Much of the system’s power savings depended on its ability to electronically switch off components, such as servos, that draw high levels of quiescent currents. My search for a solution led me to MOSFETs, transistors capable of controlling circuits operating at voltages far above their own.]]></summary></entry><entry><title type="html">How to configure ATmega328P microcontrollers to run at 3.3V and 5V</title><link href="/log/arduino-uno/" rel="alternate" type="text/html" title="How to configure ATmega328P microcontrollers to run at 3.3V and 5V" /><published>2025-06-10T00:00:00+08:00</published><updated>2025-06-10T00:00:00+08:00</updated><id>/log/arduino-uno</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[This is a quick reference for wiring up ATmega328P ICs to run at 5V and 3.3V. While the 5V configuration is common, the 3.3V configuration can be useful in low-power applications and when interfacing with parts that themselves run at 3.3V. In this guide, the 5V setup is configured with a 16MHz crystal oscillator, while the 3.3V configuration makes use of an 8MHz crystal oscillator.]]></summary></entry><entry><title type="html">My first PCB</title><link href="/log/my-first-pcb/" rel="alternate" type="text/html" title="My first PCB" /><published>2025-04-26T00:00:00+08:00</published><updated>2025-04-26T00:00:00+08:00</updated><id>/log/my-first-pcb</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[In 2023, I started tinkering with DIY electronics as a hobby. Until now, I’ve been using development boards like the Arduino Uno and ESP-32-WROOM so that I can focus on the software. Recently, I decided to step outside of my comfort zone and design a PCB from scratch for a door lock I’m working on.]]></summary></entry><entry><title type="html">Bumblebee: browser automation</title><link href="/log/bumblebee/" rel="alternate" type="text/html" title="Bumblebee: browser automation" /><published>2025-04-02T00:00:00+08:00</published><updated>2025-04-02T00:00:00+08:00</updated><id>/log/bumblebee</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Bumblebee is a tool I built for one of my employers to automate the generation of web scraping scripts.]]></summary></entry><entry><title type="html">How to set up ATSAM3X8E microcontrollers for bare-metal programming in C</title><link href="/log/arduino-due/" rel="alternate" type="text/html" title="How to set up ATSAM3X8E microcontrollers for bare-metal programming in C" /><published>2024-09-16T00:00:00+08:00</published><updated>2024-09-16T00:00:00+08:00</updated><id>/log/arduino-due</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[This article is a step-by-step guide for programming bare-metal ATSAM3X8E chips found on Arduino Due boards. It also includes notes on the chip’s memory layout relevant for writing linker scripts. The steps described in this article were tested on an OpenBSD workstation.]]></summary></entry><entry><title type="html">Etlas: e-paper dashboard</title><link href="/log/etlas/" rel="alternate" type="text/html" title="Etlas: e-paper dashboard" /><published>2024-09-05T00:00:00+08:00</published><updated>2024-09-05T00:00:00+08:00</updated><id>/log/etlas</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Etlas is a news, stock market, and weather tracker powered by an ESP32 NodeMCU D1, featuring a 7.5-inch Waveshare e-paper display and a DHT22 sensor module.]]></summary></entry><entry><title type="html">Experimental e-reader</title><link href="/log/e-reader/" rel="alternate" type="text/html" title="Experimental e-reader" /><published>2023-10-24T00:00:00+08:00</published><updated>2023-10-24T00:00:00+08:00</updated><id>/log/e-reader</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[This project features an experimental e-reader powered by an ESP-WROOM-32 development board and a 7.5-inch Waveshare e-paper display built with the intention of learning about e-paper displays.]]></summary></entry><entry><title type="html">Neo4J A* search</title><link href="/log/neo4j-a-star-search/" rel="alternate" type="text/html" title="Neo4J A* search" /><published>2018-03-06T00:00:00+08:00</published><updated>2018-03-06T00:00:00+08:00</updated><id>/log/neo4j-a-star-search</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Back in 2018, we used Neo4J graph database to track the movement of marine vessels. We were interested in the shortest path a ship could take through a network of about 13,000 route points. Graph theoretic algorithms provide optimal solutions to such problems, and the set of route points lends itself well to graph-based modelling.]]></summary></entry></feed> \ No newline at end of file
diff --git a/_site/index.html b/_site/index.html
index c4aea58..68750d3 100644
--- a/_site/index.html
+++ b/_site/index.html
@@ -69,19 +69,6 @@
<tr>
<td class="posts-td posts-td-link">
- <a href="/log/suckless-software/" class="link-decor-none">Suckless upgrade workflow</a>
- </td>
- <td class="posts-td posts-td-time">
- <span class="post-meta">
- <time datetime="2025-11-30 00:00:00 +0800">2025-11-30</time>
- </span>
- </td>
- </tr>
-
-
-
- <tr>
- <td class="posts-td posts-td-link">
<a href="/log/fpm-door-lock/" class="link-decor-none">Fingerprint door lock</a>
</td>
<td class="posts-td posts-td-time">
@@ -184,6 +171,19 @@
+ <tr>
+ <td class="posts-td posts-td-link">
+ <a href="/log/neo4j-a-star-search/" class="link-decor-none">Neo4J A* search</a>
+ </td>
+ <td class="posts-td posts-td-time">
+ <span class="post-meta">
+ <time datetime="2018-03-06 00:00:00 +0800">2018-03-06</time>
+ </span>
+ </td>
+ </tr>
+
+
+
</table>
</div>
diff --git a/_site/log/index.html b/_site/log/index.html
index c3c652a..8074ae3 100644
--- a/_site/log/index.html
+++ b/_site/log/index.html
@@ -59,19 +59,6 @@
<tr>
<td class="posts-td posts-td-link">
- <a href="/log/suckless-software/" class="link-decor-none">Suckless upgrade workflow</a>
- </td>
- <td class="posts-td posts-td-time">
- <span class="post-meta">
- <time datetime="2025-11-30 00:00:00 +0800">2025-11-30</time>
- </span>
- </td>
- </tr>
-
-
-
- <tr>
- <td class="posts-td posts-td-link">
<a href="/log/fpm-door-lock/" class="link-decor-none">Fingerprint door lock</a>
</td>
<td class="posts-td posts-td-time">
diff --git a/_site/log/matrix-digital-rain/index.html b/_site/log/matrix-digital-rain/index.html
index 3d393cd..f254ed2 100644
--- a/_site/log/matrix-digital-rain/index.html
+++ b/_site/log/matrix-digital-rain/index.html
@@ -44,32 +44,52 @@
<h2 class="center" id="title">MATRIX RAIN: 2025 REFACTOR</h2>
<h6 class="center">21 DECEMBER 2025</h5>
<br>
- <div class="twocol justify"><p>Fixed the Unicode issue finally. Can now mix ASCII + Katakana.</p>
+ <div class="twocol justify"><p>The 2022 version worked but had some loose ends. Unicode support was
+inflexible–couldn’t mix ASCII with Katakana; Phosphor decay was stored in a
+separate array when it should’ve been packed with RGB; Code was harder to read
+than it needed to be.</p>
<video style="max-width:100%;" controls="" poster="poster.png">
<source src="matrix.mp4" type="video/mp4" />
</video>
-<p>Moved Phosphor decay level into the 4th byte of the RGB union - should’ve done
-this in 2022 instead of separate array. What was I thinking.</p>
+<p>Moved phosphor decay into the 4th byte of the RGB union–should’ve done this
+in 2022. What was I thinking.</p>
-<p>Keeping the RGB/PD union as it is. I’m aware of the portability issues, but I’m
-on a little-endian machine, and I’m the only one reading this anyway. It’s
-cleaner.</p>
+<p>Keeping the RGB union despite portability concerns. All my systems are
+little-endian and the code is cleaner this way.</p>
-<p>New charset array works. UNICODE(min, max) macro packs the range into uint64.
-insert_code() unpacks block and picks random char.</p>
+<p>Fixed Unicode by introducing a charset array. UNICODE(min, max) packs Unicode
+ranges into uint64–low four bytes for start, high four bytes for end.
+insert_code() unpacks a random block and picks a character from it:</p>
-<p>Full-width Katakana breaks columns. Stick to half-width (U+FF61-U+FF9F) range .
-Compile with -DNOKANA to disable Katakana altogether.</p>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>static uint64_t glyphs[] = {
+ UNICODE(0x0021, 0x007E), /* ASCII */
+ UNICODE(0xFF65, 0xFF9F), /* Half-width Katakana */
+};
+</code></pre></div></div>
-<p>blend() is still good, left it alone.</p>
+<p>Full-width Katakana breaks column alignment. Stick to half-width
+(U+FF61-U+FF9F) range. Compile with -DNOKANA to disable Katakana altogether.</p>
-<p>Tossed license and automake cruft. Just <code class="language-plaintext highlighter-rouge">cc -O3 main.c -o matrix</code>. Don’t need
-the ceremony.</p>
+<p>blend() simulates phosphor decay by eroding RGB channels toward
+background color:</p>
-<p>Performance regressions: none. Runs like a charm on the T490. 2% CPU. No
-whirring fans.</p>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>static inline void blend(matrix *mat, size_t row, size_t col)
+{
+ unsigned char *color = mat-&gt;rgb[index(mat, row, col)].color;
+ color[R] = color[R] - (color[R] - RGB_BG_RED) / DECAY_MPLIER;
+ color[G] = color[G] - (color[G] - RGB_BG_GRN) / DECAY_MPLIER;
+ color[B] = color[B] - (color[B] - RGB_BG_BLU) / DECAY_MPLIER;
+}
+</code></pre></div></div>
+
+<p>That’s still good. Leaving it alone.</p>
+
+<p>Tossed license and automake cruft. Just <code class="language-plaintext highlighter-rouge">cc -O3 main.c -o matrix</code> now. Don’t
+need the ceremony.</p>
+
+<p>Runs at 2-3% CPU on OpenBSD (T490). No regressions. Fans are quiet.</p>
<p>Commit:
<a href="https://git.asciimx.com/matrix-digital-rain/commit/?id=03f8d87ba7c2e46bd3f3cc4c772fb3a2ac740c92">03f8d87</a></p>
diff --git a/_site/log/suckless-software/index.html b/_site/log/suckless-software/index.html
deleted file mode 100644
index 48ddee1..0000000
--- a/_site/log/suckless-software/index.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Suckless upgrade workflow</title>
-
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Suckless upgrade workflow</title>
- <link rel="stylesheet" href="/assets/css/main.css">
- <link rel="stylesheet" href="/assets/css/skeleton.css">
-</head>
-
-
-
- </head>
- <body>
-
- <div id="nav-container" class="container">
- <ul id="navlist" class="left">
-
- <li >
- <a href="/" class="link-decor-none">hme</a>
- </li>
- <li class="active">
- <a href="/log/" class="link-decor-none">log</a>
- </li>
- <li >
- <a href="/projects/" class="link-decor-none">poc</a>
- </li>
- <li >
- <a href="/about/" class="link-decor-none">abt</a>
- </li>
- <li><a href="/feed.xml" class="link-decor-none">rss</a></li>
- </ul>
-</div>
-
-
-
- <main>
- <div class="container">
- <div class="container-2">
- <h2 class="center" id="title">SUCKLESS UPGRADE WORKFLOW</h2>
- <h6 class="center">30 NOVEMBER 2025</h5>
- <br>
- <div class="twocol justify"><p>Workflow for managing suckless patches across upgrades:</p>
-
-<p>Initial setup:</p>
-<ul>
- <li>Clone from suckless</li>
- <li>Reset to stable tag</li>
- <li>Set push URL to my repo (git.asciimx.com)</li>
- <li>Pull from upstream, push to mine</li>
-</ul>
-
-<p>Config changes only:</p>
-<ul>
- <li>Edit config.h (or let make generate it)</li>
- <li>make clean install</li>
- <li>Commit, push</li>
-</ul>
-
-<p>dwm/slstatus installs:</p>
-<ul>
- <li>Can’t replace running binaries</li>
- <li>Kill dwm (Mod+Shift+q)</li>
- <li>Switch to tty (Ctrl+Alt+F1 on OpenBSD)</li>
- <li>make install</li>
- <li>Back to X (Ctrl+Alt+F5)</li>
-</ul>
-
-<p>Upgrades:</p>
-<ul>
- <li>git pull –rebase</li>
- <li>git rebase -i to drop commits between my patch and new stable</li>
- <li>Keep only: my patches + new stable tag + old history</li>
- <li>Install, commit, push</li>
-</ul>
-
-<p>Example:</p>
-
-<p>Before: [my patch] -&gt; [6.5] <br />
-After pull: [my patch] -&gt; [random commits] -&gt; [6.6] -&gt; [old stuff] -&gt; [6.5] <br />
-After rebase: [my patch] -&gt; [6.6] -&gt; [old stuff] -&gt; [6.5]</p>
-
-<p>Note: This keeps patch history clean while staying current.</p>
-
-</div>
- <p class="post-author right">by W. D. Sadeep Madurange</p>
- </div>
- </div>
- </main>
-
- <div class="footer">
- <div class="container">
- <div class="twelve columns right container-2">
- <p id="footer-text">&copy; ASCIIMX - 2025</p>
- </div>
- </div>
-</div>
-
-
- </body>
-</html>
diff --git a/_site/posts.xml b/_site/posts.xml
index 25b0ea1..dc403d2 100644
--- a/_site/posts.xml
+++ b/_site/posts.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="/posts.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2025-12-26T11:27:12+08:00</updated><id>/posts.xml</id><title type="html">ASCIIMX</title><author><name>W. D. Sadeep Madurange</name></author></feed> \ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="/posts.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2025-12-26T12:29:33+08:00</updated><id>/posts.xml</id><title type="html">ASCIIMX</title><author><name>W. D. Sadeep Madurange</name></author></feed> \ No newline at end of file
diff --git a/_site/sitemap.xml b/_site/sitemap.xml
index e8e9d7b..c999ab9 100644
--- a/_site/sitemap.xml
+++ b/_site/sitemap.xml
@@ -37,10 +37,6 @@
<lastmod>2025-08-18T00:00:00+08:00</lastmod>
</url>
<url>
-<loc>/log/suckless-software/</loc>
-<lastmod>2025-11-30T00:00:00+08:00</lastmod>
-</url>
-<url>
<loc>/log/matrix-digital-rain/</loc>
<lastmod>2025-12-21T00:00:00+08:00</lastmod>
</url>