diff options
| -rw-r--r-- | _archive/desktop-unix.md | 43 | ||||
| -rw-r--r-- | _site/archive/desktop-unix/index.html | 42 | ||||
| -rw-r--r-- | _site/feed.xml | 2 | ||||
| -rw-r--r-- | _site/posts.xml | 2 |
4 files changed, 56 insertions, 33 deletions
diff --git a/_archive/desktop-unix.md b/_archive/desktop-unix.md index ebfdf81..29784e0 100644 --- a/_archive/desktop-unix.md +++ b/_archive/desktop-unix.md @@ -29,27 +29,38 @@ Capitalism' by Professor Shoshana Zuboff documents in detail unassailable evidence and poignant consequences of the surveillance activities by these corporations. - -The year 2020 transformed my personal computing experience. In March 2020, I -stumbled upon Arch Linux and discovered that I could customize my desktop -environment to look and work any way I liked. I exercised that newfound freedom -to create a Matrix-themed setup: +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 system employs the X display server and the i3 window manager. The terminal -emulator used is Urxvt. The translucent effect is achieved with the help of the -Xcompmgr compositor. This sort of setup was popular among minimalist Linux -users. - -In February 2024, I switched to an OpenBSD system with Xenocara (the OpenBSD -build of X display server) as the display server and i3 as the window manager: +The following is an equivalent setup on OpenBSD from my 2024 desktop:  -Unlike Linux, OpenBSD includes a coherent desktop environment out of the box. -Except for the window manager, for which I prefer a tiling one, I'm now using -the default OpenBSD setup. For the window manager, I use dwm from the Suckless -team. +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 conceptual elegance and technological superiority 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. Files: [dotfiles.tar.gz](dotfiles.tar.gz) diff --git a/_site/archive/desktop-unix/index.html b/_site/archive/desktop-unix/index.html index 02d4325..82acb97 100644 --- a/_site/archive/desktop-unix/index.html +++ b/_site/archive/desktop-unix/index.html @@ -67,27 +67,39 @@ Capitalism’ by Professor Shoshana Zuboff documents in detail unassailable evidence and poignant consequences of the surveillance activities by these corporations.</p> -<p>The year 2020 transformed my personal computing experience. In March 2020, I -stumbled upon Arch Linux and discovered that I could customize my desktop -environment to look and work any way I liked. I exercised that newfound freedom -to create a Matrix-themed setup:</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><img src="linux.png" alt="Arch Linux" /></p> -<p>The system employs the X display server and the i3 window manager. The terminal -emulator used is Urxvt. The translucent effect is achieved with the help of the -Xcompmgr compositor. This sort of setup was popular among minimalist Linux -users.</p> - -<p>In February 2024, I switched to an OpenBSD system with Xenocara (the OpenBSD -build of X display server) as the display server and i3 as the window manager:</p> +<p>The following is an equivalent setup on OpenBSD from my 2024 desktop:</p> <p><img src="openbsd.png" alt="OpenBSD i3" /></p> -<p>Unlike Linux, OpenBSD includes a coherent desktop environment out of the box. -Except for the window manager, for which I prefer a tiling one, I’m now using -the default OpenBSD setup. For the window manager, I use dwm from the Suckless -team.</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> + +<p>The conceptual elegance and technological superiority 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> <p>Files: <a href="dotfiles.tar.gz">dotfiles.tar.gz</a></p> </div> diff --git a/_site/feed.xml b/_site/feed.xml index 185e211..0a075a3 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-02T20:52:16+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-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 diff --git a/_site/posts.xml b/_site/posts.xml index 0a030cd..b98a4ca 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-02T20:52:16+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-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 |
