summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2025-12-11 21:18:52 +0800
committerSadeep Madurange <sadeep@asciimx.com>2025-12-11 21:18:52 +0800
commitab7169b16a8e1ce48f50faa51268ca2b964244e9 (patch)
tree72ab8bef40446a9469ac16f5ca04073bde3b2fab
parent211e6dde1d6cda50d192e2f890814fbf6ef7773b (diff)
downloadwww-ab7169b16a8e1ce48f50faa51268ca2b964244e9.tar.gz
Fix prose in suckless post.
-rw-r--r--_blog/suckless-software.md31
-rw-r--r--_site/blog/index.html2
-rw-r--r--_site/blog/suckless-software/index.html35
-rw-r--r--_site/feed.xml2
-rw-r--r--_site/index.html2
-rw-r--r--_site/posts.xml2
6 files changed, 36 insertions, 38 deletions
diff --git a/_blog/suckless-software.md b/_blog/suckless-software.md
index 86fb5bc..97d437e 100644
--- a/_blog/suckless-software.md
+++ b/_blog/suckless-software.md
@@ -1,5 +1,5 @@
---
-title: How I manage Suckless software packages
+title: How I manage Suckless software installations
date: 2025-11-30
layout: post
---
@@ -13,8 +13,7 @@ versions are released.
## Initial setup
When using a suckless program, I usually begin by cloning the project and
-setting the remote URL to push a copy of the source code with my patches to my
-own git repository:
+setting the remote push URL to my own git repository:
```
git clone git://git.suckless.org/dwm
@@ -23,28 +22,28 @@ git remote set-url --push origin git@git.asciimx.com:/repos/dwm
```
This way, I can pull updates from the upstream project whenever I want, while
-committing my changes to my own git repository. The git reset command aligns my
+committing my changes to my git repository. The git reset command aligns my
branch head with a stable release before applying patches or installing the
software.
If all I want to do is reconfigure the software (e.g., change key bindings),
which is what I need most of the time, the recommended approach is to modify
-the config.h file. If the config.h isn't yet in the project, the following
-command generates it from the defaults and compiles the software using `make
-clean <target>` here `<target>` is the name of the application (e.g., dwm)
-found in the Makefile. I modify the resulting config.h file and run `make clean
-install` to install the software before committing and pushing my changes to my
-git repo.
+the config.h file. If the config.h isn't yet in the project, the
+`make clean <target>` command will generate it from the defaults and compile
+the software. The `<target>` is the name of the application (e.g., dwm) found
+in the Makefile. I modify the resulting config.h file and run `make clean
+install` to install the software before committing and pushing my changes to
+the git repo.
## dwm and slstatus
Since dwm and slstatus are always running, `make install` will likely fail for
-them. The operating system will prevent the installer from replacing running
+them. The operating system may prevent the installer from replacing running
executables with new ones. Hence, we must first stop the running instances of
-these programs (Mod + Shift + q). Then, switch to a tty (Ctrl + Alt + F1),
-log in, and change the directory to where dwm/slstatus is. We can run `make
-install` to install the software and switch back to the graphical session
-(Ctrl + Alt + F5).
+these programs (in my case, using Mod + Shift + q). Then, switch to a tty
+(Ctrl + Alt + F1), log in, and change the directory to where dwm/slstatus is.
+We can run `make install` to install the software and switch back to the
+graphical session (Ctrl + Alt + F5).
The key combinations for switching to the tty and back may differ across
systems. The ones listed above are for OpenBSD.
@@ -86,5 +85,5 @@ q12vu Another old commit.
3fkdf Version 6.5.
```
-And finally, commit and push all the changes to my own git repository.
+And finally, I commit and push all the changes to my git repository.
diff --git a/_site/blog/index.html b/_site/blog/index.html
index c213ee5..84a22b6 100644
--- a/_site/blog/index.html
+++ b/_site/blog/index.html
@@ -46,7 +46,7 @@
<tr>
<td class="posts-td posts-td-link">
- <a href="/blog/suckless-software/" class="link-decor-none">How I manage Suckless software packages</a>
+ <a href="/blog/suckless-software/" class="link-decor-none">How I manage Suckless software installations</a>
</td>
<td class="posts-td posts-td-time">
<span class="post-meta">
diff --git a/_site/blog/suckless-software/index.html b/_site/blog/suckless-software/index.html
index ea91072..bab40c6 100644
--- a/_site/blog/suckless-software/index.html
+++ b/_site/blog/suckless-software/index.html
@@ -2,12 +2,12 @@
<html>
<head>
<meta charset="utf-8">
- <title>How I manage Suckless software packages</title>
+ <title>How I manage Suckless software installations</title>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>How I manage Suckless software packages</title>
+ <title>How I manage Suckless software installations</title>
<link rel="stylesheet" href="/assets/css/main.css">
<link rel="stylesheet" href="/assets/css/skeleton.css">
</head>
@@ -41,7 +41,7 @@
<main>
<div class="container">
<div class="container-2">
- <h2 class="center" id="title">HOW I MANAGE SUCKLESS SOFTWARE PACKAGES</h2>
+ <h2 class="center" id="title">HOW I MANAGE SUCKLESS SOFTWARE INSTALLATIONS</h2>
<h6 class="center">30 NOVEMBER 2025</h5>
<br>
<div class="twocol justify"><p>Since <a href="https://suckless.org/" class="external" target="_blank" rel="noopener noreferrer">suckless</a> software requires users to modify the
@@ -52,8 +52,7 @@ versions are released.</p>
<h2 id="initial-setup">Initial setup</h2>
<p>When using a suckless program, I usually begin by cloning the project and
-setting the remote URL to push a copy of the source code with my patches to my
-own git repository:</p>
+setting the remote push URL to my own git repository:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone git://git.suckless.org/dwm
git reset --hard &lt;tag&gt;
@@ -61,28 +60,28 @@ git remote set-url --push origin git@git.asciimx.com:/repos/dwm
</code></pre></div></div>
<p>This way, I can pull updates from the upstream project whenever I want, while
-committing my changes to my own git repository. The git reset command aligns my
+committing my changes to my git repository. The git reset command aligns my
branch head with a stable release before applying patches or installing the
software.</p>
<p>If all I want to do is reconfigure the software (e.g., change key bindings),
which is what I need most of the time, the recommended approach is to modify
-the config.h file. If the config.h isn’t yet in the project, the following
-command generates it from the defaults and compiles the software using <code class="language-plaintext highlighter-rouge">make
-clean &lt;target&gt;</code> here <code class="language-plaintext highlighter-rouge">&lt;target&gt;</code> is the name of the application (e.g., dwm)
-found in the Makefile. I modify the resulting config.h file and run <code class="language-plaintext highlighter-rouge">make clean
-install</code> to install the software before committing and pushing my changes to my
-git repo.</p>
+the config.h file. If the config.h isn’t yet in the project, the
+<code class="language-plaintext highlighter-rouge">make clean &lt;target&gt;</code> command will generate it from the defaults and compile
+the software. The <code class="language-plaintext highlighter-rouge">&lt;target&gt;</code> is the name of the application (e.g., dwm) found
+in the Makefile. I modify the resulting config.h file and run <code class="language-plaintext highlighter-rouge">make clean
+install</code> to install the software before committing and pushing my changes to
+the git repo.</p>
<h2 id="dwm-and-slstatus">dwm and slstatus</h2>
<p>Since dwm and slstatus are always running, <code class="language-plaintext highlighter-rouge">make install</code> will likely fail for
-them. The operating system will prevent the installer from replacing running
+them. The operating system may prevent the installer from replacing running
executables with new ones. Hence, we must first stop the running instances of
-these programs (Mod + Shift + q). Then, switch to a tty (Ctrl + Alt + F1),
-log in, and change the directory to where dwm/slstatus is. We can run <code class="language-plaintext highlighter-rouge">make
-install</code> to install the software and switch back to the graphical session
-(Ctrl + Alt + F5).</p>
+these programs (in my case, using Mod + Shift + q). Then, switch to a tty
+(Ctrl + Alt + F1), log in, and change the directory to where dwm/slstatus is.
+We can run <code class="language-plaintext highlighter-rouge">make install</code> to install the software and switch back to the
+graphical session (Ctrl + Alt + F5).</p>
<p>The key combinations for switching to the tty and back may differ across
systems. The ones listed above are for OpenBSD.</p>
@@ -121,7 +120,7 @@ q12vu Another old commit.
3fkdf Version 6.5.
</code></pre></div></div>
-<p>And finally, commit and push all the changes to my own git repository.</p>
+<p>And finally, I commit and push all the changes to my git repository.</p>
</div>
<p class="post-author right">by W. D. Sadeep Madurange</p>
diff --git a/_site/feed.xml b/_site/feed.xml
index 191a4dc..9010410 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-11T21:00:47+08:00</updated><id>/feed.xml</id><title type="html">ASCIIMX | Blog</title><author><name>W. D. Sadeep Madurange</name></author><entry><title type="html">How I manage Suckless software packages</title><link href="/blog/suckless-software/" rel="alternate" type="text/html" title="How I manage Suckless software packages" /><published>2025-11-30T00:00:00+08:00</published><updated>2025-11-30T00:00:00+08:00</updated><id>/blog/suckless-software</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Since suckless software requires users to modify the source code and recompile to customize, I need a way to maintain patches over the long term while retaining the ability to upgrade the software as new versions are released.]]></summary></entry><entry><title type="html">Neo4J A* search</title><link href="/blog/neo4j-a-star-search/" rel="alternate" type="text/html" title="Neo4J A* search" /><published>2025-09-14T00:00:00+08:00</published><updated>2025-09-14T00:00:00+08:00</updated><id>/blog/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. Algorithms based on graph theory, such as A* search, provide optimal solutions to such problems. In other words, the set of route points lends itself well to a model based on graphs.]]></summary></entry><entry><title type="html">MOSFETs as electronic switches</title><link href="/blog/mosfet-switches/" rel="alternate" type="text/html" title="MOSFETs as electronic switches" /><published>2025-06-22T00:00:00+08:00</published><updated>2025-06-22T00:00:00+08:00</updated><id>/blog/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="/blog/arduino-uno/" rel="alternate" type="text/html" title="How to configure ATmega328P microcontrollers to run at 3.3V and 5V" /><published>2025-04-10T00:00:00+08:00</published><updated>2025-04-10T00:00:00+08:00</updated><id>/blog/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">How to set up ATSAM3X8E microcontrollers for bare-metal programming in C</title><link href="/blog/arduino-due/" rel="alternate" type="text/html" title="How to set up ATSAM3X8E microcontrollers for bare-metal programming in C" /><published>2024-10-05T00:00:00+08:00</published><updated>2024-10-05T00:00:00+08:00</updated><id>/blog/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></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-11T21:18:26+08:00</updated><id>/feed.xml</id><title type="html">ASCIIMX | Blog</title><author><name>W. D. Sadeep Madurange</name></author><entry><title type="html">How I manage Suckless software installations</title><link href="/blog/suckless-software/" rel="alternate" type="text/html" title="How I manage Suckless software installations" /><published>2025-11-30T00:00:00+08:00</published><updated>2025-11-30T00:00:00+08:00</updated><id>/blog/suckless-software</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Since suckless software requires users to modify the source code and recompile to customize, I need a way to maintain patches over the long term while retaining the ability to upgrade the software as new versions are released.]]></summary></entry><entry><title type="html">Neo4J A* search</title><link href="/blog/neo4j-a-star-search/" rel="alternate" type="text/html" title="Neo4J A* search" /><published>2025-09-14T00:00:00+08:00</published><updated>2025-09-14T00:00:00+08:00</updated><id>/blog/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. Algorithms based on graph theory, such as A* search, provide optimal solutions to such problems. In other words, the set of route points lends itself well to a model based on graphs.]]></summary></entry><entry><title type="html">MOSFETs as electronic switches</title><link href="/blog/mosfet-switches/" rel="alternate" type="text/html" title="MOSFETs as electronic switches" /><published>2025-06-22T00:00:00+08:00</published><updated>2025-06-22T00:00:00+08:00</updated><id>/blog/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="/blog/arduino-uno/" rel="alternate" type="text/html" title="How to configure ATmega328P microcontrollers to run at 3.3V and 5V" /><published>2025-04-10T00:00:00+08:00</published><updated>2025-04-10T00:00:00+08:00</updated><id>/blog/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">How to set up ATSAM3X8E microcontrollers for bare-metal programming in C</title><link href="/blog/arduino-due/" rel="alternate" type="text/html" title="How to set up ATSAM3X8E microcontrollers for bare-metal programming in C" /><published>2024-10-05T00:00:00+08:00</published><updated>2024-10-05T00:00:00+08:00</updated><id>/blog/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></feed> \ No newline at end of file
diff --git a/_site/index.html b/_site/index.html
index 6d65535..ce4616f 100644
--- a/_site/index.html
+++ b/_site/index.html
@@ -56,7 +56,7 @@
<tr>
<td class="posts-td posts-td-link">
- <a href="/blog/suckless-software/" class="link-decor-none">How I manage Suckless software packages</a>
+ <a href="/blog/suckless-software/" class="link-decor-none">How I manage Suckless software installations</a>
</td>
<td class="posts-td posts-td-time">
<span class="post-meta">
diff --git a/_site/posts.xml b/_site/posts.xml
index 4c73aa6..99ed7ae 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-11T21:00:47+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-11T21:18:26+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