diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2025-11-03 22:07:53 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2025-11-03 22:07:53 +0800 |
| commit | e67abcec47fb3bd4873c35a14bc1d1029f50ea77 (patch) | |
| tree | df5f7650bc8114c6f3592f4d40a6e06e3baa4781 | |
| parent | 0f453ad099344794a6c7897b787f1e990305dfe4 (diff) | |
| download | www-e67abcec47fb3bd4873c35a14bc1d1029f50ea77.tar.gz | |
wip: Unix post.
| -rw-r--r-- | _archive/desktop-unix.md | 63 | ||||
| -rw-r--r-- | _site/archive/desktop-unix/index.html | 63 | ||||
| -rw-r--r-- | _site/feed.xml | 2 | ||||
| -rw-r--r-- | _site/posts.xml | 2 |
4 files changed, 42 insertions, 88 deletions
diff --git a/_archive/desktop-unix.md b/_archive/desktop-unix.md index 29784e0..2ae7c33 100644 --- a/_archive/desktop-unix.md +++ b/_archive/desktop-unix.md @@ -8,59 +8,36 @@ layout: post The Unix operating system project appears to have started in 1969 at Bell Labs. Something resembling contemporary Unix-like systems may have been developed in 1973 when Dennis Ritchie and Ken Thompson rewrote the Unix kernel in C. Both of -these important milestones, unfortunately, predate me by a number of years. - -Nevertheless, operating systems created in the image of Unix and, more -importantly, that inherit its philosophy, have survived. Linux and OpenBSD are +these important milestones predate me by some years. Nonetheless, operating +systems that preserve the Unix philosophy have survived. Linux and OpenBSD are two such systems that I am personally familiar with. -Operating systems like OpenBSD and Linux are free and open-source alternatives -to commercial operating systems such as Apple macOS and Microsoft Windows. -OpenBSD is developed by a group of hackers led by Theo de Raadt. Linux is -community-driven, although, increasingly and ironically, under the stewardship -of corporations such as IBM and Microsoft. - -Commercial operating systems, and the corporations behind them, are becoming -increasily hostile towards their users. Viewing their users merely as a means -to an end, the unbridled harvesting of personal data for targetted advertising, -influencing the behavior of the masses, and training generative neural networks -has become their primary objective. the book 'The Age of Surveillance -Capitalism' by Professor Shoshana Zuboff documents in detail unassailable -evidence and poignant consequences of the surveillance activities by these -corporations. - -Conversely, Unix-like operating systems are open to the user to use them as -they deem fit. They do not spy on their users, sell hidden agendas, and some, -like OpenBSD, do not show commercial interests whatsoever. The following is a -screenshot of my custom Arch Linux setup in 2020. It uses X display server and -i3 for window management, Urxvt terminal emulator made translucent with the -help of the Xcompmgr compositor. +The following is a screenshot of my Arch Linux setup from 2020. It uses X +display server and i3 for window management. The urxvt terminal emulator is +made translucent using the Xcompmgr compositor.  -The following is an equivalent setup on OpenBSD from my 2024 desktop: +The following is a screenshot of my OpenBSD laptop from 2024:  This degree of customization is impossible with commercial operating systems. -The operating system vendor sets firm boundaries around how the machine should -be used. As a consequence, the user is forced to suffer slow animations, -arrangement of windows, and blatant infringements of privacy. +The vendor sets firm boundaries about how the machine should be used. -The conceptual elegance and technological superiority of Unix-like operating +The conceptual elegance and architectural supremacy of Unix-like operating systems lie in how programs developed independently come together to accomplish -complex tasks. For instance, to read and reply to an HTML email on OpenBSD, -Mutt, my email client, requests credentials from Pass, which retrieves -credentials and requests GPG to decrypt them. With the decrypted credentials -Mutt fetches the email, opens the Lynx browser to render the HTML content. To -reply, I press Shift+R key, which opens Vim, the text editor I use for all my -text editing tasks. I prepare the reply and press 'y' to dispatch it. - -The entire process of handing control from one program to another is seamless -and instantaneous. The magic is in the fact each of these programs are -developed by different programmers, without so much as exchanging an email to -make sure that they can interoperate. In fact, none of these programs were -designed to interoperate for the specific use case of sending an email. The -interoperability is a direct consequence of how Unix was designed. +complex tasks. For instance, to read an HTML email, I may use Mutt, an email +client. Mutt would request credentials for my email account from Pass, a +password manager, which in turn uses GPG to decrypt them before handing them +over to Mutt. Mutt would then authenticate and fetch the email and delegate the +rendering of the email to Lynx a web browser. The chaining of different tools +resembles a sofware symphony. + +Each of these programs were developed by different programmers (at times +decades apart), without an explicit intent for them to interoperate. +The interoperability is a direct consequence of the Unix engineering +philosophy. Engineers generations apart have kept that tradition alive (like +a cathedral built by many generations). Files: [dotfiles.tar.gz](dotfiles.tar.gz) diff --git a/_site/archive/desktop-unix/index.html b/_site/archive/desktop-unix/index.html index 82acb97..3d2227c 100644 --- a/_site/archive/desktop-unix/index.html +++ b/_site/archive/desktop-unix/index.html @@ -46,60 +46,37 @@ <div class="twocol justify"><p>The Unix operating system project appears to have started in 1969 at Bell Labs. Something resembling contemporary Unix-like systems may have been developed in 1973 when Dennis Ritchie and Ken Thompson rewrote the Unix kernel in C. Both of -these important milestones, unfortunately, predate me by a number of years.</p> - -<p>Nevertheless, operating systems created in the image of Unix and, more -importantly, that inherit its philosophy, have survived. Linux and OpenBSD are +these important milestones predate me by some years. Nonetheless, operating +systems that preserve the Unix philosophy have survived. Linux and OpenBSD are two such systems that I am personally familiar with.</p> -<p>Operating systems like OpenBSD and Linux are free and open-source alternatives -to commercial operating systems such as Apple macOS and Microsoft Windows. -OpenBSD is developed by a group of hackers led by Theo de Raadt. Linux is -community-driven, although, increasingly and ironically, under the stewardship -of corporations such as IBM and Microsoft.</p> - -<p>Commercial operating systems, and the corporations behind them, are becoming -increasily hostile towards their users. Viewing their users merely as a means -to an end, the unbridled harvesting of personal data for targetted advertising, -influencing the behavior of the masses, and training generative neural networks -has become their primary objective. the book ‘The Age of Surveillance -Capitalism’ by Professor Shoshana Zuboff documents in detail unassailable -evidence and poignant consequences of the surveillance activities by these -corporations.</p> - -<p>Conversely, Unix-like operating systems are open to the user to use them as -they deem fit. They do not spy on their users, sell hidden agendas, and some, -like OpenBSD, do not show commercial interests whatsoever. The following is a -screenshot of my custom Arch Linux setup in 2020. It uses X display server and -i3 for window management, Urxvt terminal emulator made translucent with the -help of the Xcompmgr compositor.</p> +<p>The following is a screenshot of my Arch Linux setup from 2020. It uses X +display server and i3 for window management. The urxvt terminal emulator is +made translucent using the Xcompmgr compositor.</p> <p><img src="linux.png" alt="Arch Linux" /></p> -<p>The following is an equivalent setup on OpenBSD from my 2024 desktop:</p> +<p>The following is a screenshot of my OpenBSD laptop from 2024:</p> <p><img src="openbsd.png" alt="OpenBSD i3" /></p> <p>This degree of customization is impossible with commercial operating systems. -The operating system vendor sets firm boundaries around how the machine should -be used. As a consequence, the user is forced to suffer slow animations, -arrangement of windows, and blatant infringements of privacy.</p> +The vendor sets firm boundaries about how the machine should be used.</p> -<p>The conceptual elegance and technological superiority of Unix-like operating +<p>The conceptual elegance and architectural supremacy of Unix-like operating systems lie in how programs developed independently come together to accomplish -complex tasks. For instance, to read and reply to an HTML email on OpenBSD, -Mutt, my email client, requests credentials from Pass, which retrieves -credentials and requests GPG to decrypt them. With the decrypted credentials -Mutt fetches the email, opens the Lynx browser to render the HTML content. To -reply, I press Shift+R key, which opens Vim, the text editor I use for all my -text editing tasks. I prepare the reply and press ‘y’ to dispatch it.</p> - -<p>The entire process of handing control from one program to another is seamless -and instantaneous. The magic is in the fact each of these programs are -developed by different programmers, without so much as exchanging an email to -make sure that they can interoperate. In fact, none of these programs were -designed to interoperate for the specific use case of sending an email. The -interoperability is a direct consequence of how Unix was designed.</p> +complex tasks. For instance, to read an HTML email, I may use Mutt, an email +client. Mutt would request credentials for my email account from Pass, a +password manager, which in turn uses GPG to decrypt them before handing them +over to Mutt. Mutt would then authenticate and fetch the email and delegate the +rendering of the email to Lynx a web browser. The chaining of different tools +resembles a sofware symphony.</p> + +<p>Each of these programs were developed by different programmers (at times +decades apart), without an explicit intent for them to interoperate. +The interoperability is a direct consequence of the Unix engineering +philosophy. Engineers generations apart have kept that tradition alive (like +a cathedral built by many generations).</p> <p>Files: <a href="dotfiles.tar.gz">dotfiles.tar.gz</a></p> </div> diff --git a/_site/feed.xml b/_site/feed.xml index 0a075a3..cf1c65f 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="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2025-11-02T22:31:07+08:00</updated><id>http://localhost:4000/feed.xml</id><title type="html">ASCIIMX | Archive</title><author><name>Wickramage Don Sadeep Madurange</name></author><entry><title type="html">Unix-like operating systems</title><link href="http://localhost:4000/archive/desktop-unix/" rel="alternate" type="text/html" title="Unix-like operating systems" /><published>2025-09-21T00:00:00+08:00</published><updated>2025-09-21T00:00:00+08:00</updated><id>http://localhost:4000/archive/desktop-unix</id><author><name>Wickramage Don Sadeep Madurange</name></author><summary type="html"><![CDATA[The Unix operating system project appears to have started in 1969 at Bell Labs. Something resembling contemporary Unix-like systems may have been developed in 1973 when Dennis Ritchie and Ken Thompson rewrote the Unix kernel in C. Both of these important milestones, unfortunately, predate me by a number of years.]]></summary></entry><entry><title type="html">Neo4J A* search</title><link href="http://localhost:4000/archive/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>http://localhost:4000/archive/neo4j-a-star-search</id><author><name>Wickramage Don Sadeep Madurange</name></author><summary type="html"><![CDATA[Back in 2018, we used the 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. Performance issues with Neo4J’s shortest-path algorithms limited our search to about 4,000 route points.]]></summary></entry><entry><title type="html">MOSFETs</title><link href="http://localhost:4000/archive/mosfet-switches/" rel="alternate" type="text/html" title="MOSFETs" /><published>2025-06-22T00:00:00+08:00</published><updated>2025-06-22T00:00:00+08:00</updated><id>http://localhost:4000/archive/mosfet-switches</id><author><name>Wickramage Don 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 switch off power to components, such as servos, electronically when not needed. That’s how I stumbled upon MOSFETs, transistors capable of controlling circuits operating at voltages far above their own.]]></summary></entry><entry><title type="html">Awesome books</title><link href="http://localhost:4000/archive/awesome-books/" rel="alternate" type="text/html" title="Awesome books" /><published>2025-04-20T00:00:00+08:00</published><updated>2025-04-20T00:00:00+08:00</updated><id>http://localhost:4000/archive/awesome-books</id><author><name>Wickramage Don Sadeep Madurange</name></author><summary type="html"><![CDATA[This article contains a list of my favourite books.]]></summary></entry><entry><title type="html">Programming ATmega328P chips</title><link href="http://localhost:4000/archive/arduino-uno/" rel="alternate" type="text/html" title="Programming ATmega328P chips" /><published>2025-04-10T00:00:00+08:00</published><updated>2025-04-10T00:00:00+08:00</updated><id>http://localhost:4000/archive/arduino-uno</id><author><name>Wickramage Don Sadeep Madurange</name></author><summary type="html"><![CDATA[This post is a step-by-step guide for wiring up ATmega328P ICs to run at 5V with a 16MHz crystal and 3.3V with an 8MHz crystal. While the 5V configuration is common, the 3.3V configuration can be advantageous in low-power applications and when interfacing with parts that run at 3.3V.]]></summary></entry><entry><title type="html">Bare-metal ARM Cortex M3 chips</title><link href="http://localhost:4000/archive/arduino-due/" rel="alternate" type="text/html" title="Bare-metal ARM Cortex M3 chips" /><published>2024-10-05T00:00:00+08:00</published><updated>2024-10-05T00:00:00+08:00</updated><id>http://localhost:4000/archive/arduino-due</id><author><name>Wickramage Don Sadeep Madurange</name></author><summary type="html"><![CDATA[This post is about programming bare metal SAM3X8E Arm Cortex M3 chips found on Arduino Due boards. I had to learn how to do this because none of the high-level tools for programming Arduino Dues are available for OpenBSD, which I use for much of my personal computing.]]></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="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2025-11-03T22:07:22+08:00</updated><id>http://localhost:4000/feed.xml</id><title type="html">ASCIIMX | Archive</title><author><name>Wickramage Don Sadeep Madurange</name></author><entry><title type="html">Unix-like operating systems</title><link href="http://localhost:4000/archive/desktop-unix/" rel="alternate" type="text/html" title="Unix-like operating systems" /><published>2025-09-21T00:00:00+08:00</published><updated>2025-09-21T00:00:00+08:00</updated><id>http://localhost:4000/archive/desktop-unix</id><author><name>Wickramage Don Sadeep Madurange</name></author><summary type="html"><![CDATA[The Unix operating system project appears to have started in 1969 at Bell Labs. Something resembling contemporary Unix-like systems may have been developed in 1973 when Dennis Ritchie and Ken Thompson rewrote the Unix kernel in C. Both of these important milestones predate me by some years. Nonetheless, operating systems that preserve the Unix philosophy have survived. Linux and OpenBSD are two such systems that I am personally familiar with.]]></summary></entry><entry><title type="html">Neo4J A* search</title><link href="http://localhost:4000/archive/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>http://localhost:4000/archive/neo4j-a-star-search</id><author><name>Wickramage Don Sadeep Madurange</name></author><summary type="html"><![CDATA[Back in 2018, we used the 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. Performance issues with Neo4J’s shortest-path algorithms limited our search to about 4,000 route points.]]></summary></entry><entry><title type="html">MOSFETs</title><link href="http://localhost:4000/archive/mosfet-switches/" rel="alternate" type="text/html" title="MOSFETs" /><published>2025-06-22T00:00:00+08:00</published><updated>2025-06-22T00:00:00+08:00</updated><id>http://localhost:4000/archive/mosfet-switches</id><author><name>Wickramage Don 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 switch off power to components, such as servos, electronically when not needed. That’s how I stumbled upon MOSFETs, transistors capable of controlling circuits operating at voltages far above their own.]]></summary></entry><entry><title type="html">Awesome books</title><link href="http://localhost:4000/archive/awesome-books/" rel="alternate" type="text/html" title="Awesome books" /><published>2025-04-20T00:00:00+08:00</published><updated>2025-04-20T00:00:00+08:00</updated><id>http://localhost:4000/archive/awesome-books</id><author><name>Wickramage Don Sadeep Madurange</name></author><summary type="html"><![CDATA[This article contains a list of my favourite books.]]></summary></entry><entry><title type="html">Programming ATmega328P chips</title><link href="http://localhost:4000/archive/arduino-uno/" rel="alternate" type="text/html" title="Programming ATmega328P chips" /><published>2025-04-10T00:00:00+08:00</published><updated>2025-04-10T00:00:00+08:00</updated><id>http://localhost:4000/archive/arduino-uno</id><author><name>Wickramage Don Sadeep Madurange</name></author><summary type="html"><![CDATA[This post is a step-by-step guide for wiring up ATmega328P ICs to run at 5V with a 16MHz crystal and 3.3V with an 8MHz crystal. While the 5V configuration is common, the 3.3V configuration can be advantageous in low-power applications and when interfacing with parts that run at 3.3V.]]></summary></entry><entry><title type="html">Bare-metal ARM Cortex M3 chips</title><link href="http://localhost:4000/archive/arduino-due/" rel="alternate" type="text/html" title="Bare-metal ARM Cortex M3 chips" /><published>2024-10-05T00:00:00+08:00</published><updated>2024-10-05T00:00:00+08:00</updated><id>http://localhost:4000/archive/arduino-due</id><author><name>Wickramage Don Sadeep Madurange</name></author><summary type="html"><![CDATA[This post is about programming bare metal SAM3X8E Arm Cortex M3 chips found on Arduino Due boards. I had to learn how to do this because none of the high-level tools for programming Arduino Dues are available for OpenBSD, which I use for much of my personal computing.]]></summary></entry></feed>
\ No newline at end of file diff --git a/_site/posts.xml b/_site/posts.xml index b98a4ca..bd03393 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="http://localhost:4000/posts.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2025-11-02T22:31:07+08:00</updated><id>http://localhost:4000/posts.xml</id><title type="html">ASCIIMX</title><author><name>Wickramage Don 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="http://localhost:4000/posts.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2025-11-03T22:07:22+08:00</updated><id>http://localhost:4000/posts.xml</id><title type="html">ASCIIMX</title><author><name>Wickramage Don Sadeep Madurange</name></author></feed>
\ No newline at end of file |
