KISS Linux: 4 months on post Signed-off-by: Anirudh Oppiliappan <x@icyphox.sh>
Anirudh Oppiliappan x@icyphox.sh
Fri, 03 Apr 2020 14:56:02 +0530
8 files changed,
434 insertions(+),
34 deletions(-)
M
pages/_index.md
→
pages/_index.md
@@ -9,6 +9,7 @@ ## Computers, security & computer security.
| | | | :-- | --: | +| [KISS Linux: 4 months on](/blog/kiss-4-mos) | 2020-04-03 | | [Introducing mael](/blog/mael) | 2020-03-29 | | [COVID-19 disinformation](/blog/covid19-disinfo) | 2020-03-15 | | [Nullcon 2020](/blog/nullcon-2020) | 2020-03-09 |
M
pages/blog/feed.xml
→
pages/blog/feed.xml
@@ -11,7 +11,143 @@ <link>https://icyphox.sh/blog/</link>
</image> <language>en-us</language> <copyright>Creative Commons BY-NC-SA 4.0</copyright> - <item><title>Introducing mael</title><description><![CDATA[<p><strong>Update</strong>: The code lives here: <a href="https://github.com/icyphox/mael">https://github.com/icyphox/mael</a></p> + <item><title>KISS Linux: 4 months on</title><description><![CDATA[<p><a href="/blog/five-days-tty">I installed KISS</a> early in January on my main +machine—an HP Envy 13 (2017), and I have since noticed a lot of changes +in my workflow, my approach to software (and its development), and in +life as a whole. I wouldn’t call KISS “life changing”, as that would be +overly dramatic, but it has definitely reshaped my outlook towards +technology—for better or worse.</p> + +<p>When I talk about KISS to people—online or IRL—I get some pretty +interesting reactions and comments.<sup class="footnote-ref" id="fnref-bringing-up-kiss"><a href="#fn-bringing-up-kiss">1</a></sup> +Ranging from “Oh cool.” to “You must be +retarded.”, I’ve heard it all. A classic and a personal favourite of +mine, “I don’t use meme distros because I actually get work done.” It is +actually, quite the opposite—I’ve been so much more productive using +KISS than any other operating system. I’ll explain why shortly.</p> + +<p>The beauty of this “distro”, is it isn’t much of a distribution at all. +There is no big team, no mailing lists, no infrastructure. The entire +setup is so loose, and this makes it very convenient to swap things out +for alternatives. The main (and potentially community) repos all reside +locally on your system. In the event that Dylan decides to call it +quits and switches to Windows, we can simply just bump versions +ourselves, locally! The <a href="https://k1ss.org/guidestones">KISS Guidestones</a> +document is a good read.</p> + +<p>In the subseqent paragraphs, I’ve laid out the different things about +KISS that stand out to me, and make using the system a lot more +enjoyable.</p> + +<h2 id="the-package-system">the package system</h2> + +<p>Packaging for KISS has been delightful, to say the least. It takes me +about 2 mins to write and publish a new package. Here’s the <code>radare2</code> +package, which I maintain, for example.</p> + +<p>The <code>build</code> file (executable):</p> + +<div class="codehilite"><pre><span></span><code><span class="ch">#!/bin/sh -e</span> + +./configure <span class="se">\</span> + --prefix<span class="o">=</span>/usr + +make +make <span class="nv">DESTDIR</span><span class="o">=</span><span class="s2">"</span><span class="nv">$1</span><span class="s2">"</span> install +</code></pre></div> + +<p>The <code>version</code> file:</p> + +<pre><code>4.3.1 1 +</code></pre> + +<p>The <code>checksums</code> file (generated using <code>kiss checksum radare2</code>):</p> + +<pre><code>4abcb9c9dff24eab44d64d392e115ae774ab1ad90d04f2c983d96d7d7f9476aa 4.3.1.tar.gz +</code></pre> + +<p>And finally, the <code>sources</code> file:</p> + +<pre><code>https://github.com/radareorg/radare2/archive/4.3.1.tar.gz +</code></pre> + +<p>This is literally the bare minimum that you need to define a package. +There’s also the <code>depends</code> file where you specify the dependencies for +your package. +<code>kiss</code> also generates a <code>manifests</code> file to track all the files and +directories that your package creates during installation, for their +removal, if and when that occurs. Now compare this process with any +other distribution’s.</p> + +<h2 id="the-community">the community</h2> + +<p>As far as I know, it mostly consists of the <code>#kisslinux</code> channel on +Freenode and the <a href="https://old.reddit.com/r/kisslinux">r/kisslinux</a> +subreddit. It’s not that big, but it’s suprisingly active, and super +helpful. There have been some interested new KISS-related projects +too: <a href="https://github.com/sdsddsd1/kiss-games">kiss-games</a>—a repository +for, well, Linux games; <a href="https://github.com/jedavies-dev/kiss-ppc64le">kiss-ppc64le</a> +and <a href="https://github.com/jedavies-dev/kiss-aarch64">kiss-aarch64</a>—KISS +Linux ports for PowerPC and ARM64 architectures; +<a href="https://github.com/wyvertux/wyvertux">wyvertux</a>—an attempt at +a GNU-free Linux distribution, using KISS as a base; and tons more.</p> + +<h2 id="the-philosophy">the philosophy</h2> + +<p>Software today is far too complex. And its complexity is only growing. +Some might argue that this is inevitable, and it is in fact progress. +I disagree. Blindly adding layers and layers of abstraction (Docker, +modern web “apps") isn’t progress. Look at the Linux desktop ecosystem +today, for example—monstrosities like GNOME and KDE are a result of +this…new wave software engineering.</p> + +<p>I see KISS as a symbol of defiance against this malformed notion. You +don’t <em>need</em> all the bloat these DEs ship with to have a usable system. +Agreed, it’s a bit more effort to get up and running, but it is entirely +worth it. Think of it as a clean table—feels good to sit down and work on, +doesn’t it? </p> + +<p>Let’s take my own experience, for example. One of the initial few +software I used to install on a new system was <code>dunst</code>—a notification +daemon. Unfortunately, it depends on D-Bus, which is Poetterware; ergo, +not on KISS. However, using a system without notifications has been very +pleasant. Nothing to distract you while you’re in the zone.</p> + +<p>Another instance, again involving D-Bus (or not), is Bluetooth audio. As +it happens, my laptop’s 3.5mm jack is rekt, and I need to use Bluetooth +for audio, if at all. Sadly, Bluetooth audio on Linux hard-depends on +D-Bus. Bluetooth stacks that don’t rely on D-Bus do exist, like on Android, +but porting them over to desktop is non-trivial. However, I used this to +my advantage and decided not to consume media on my laptop. This has +drastically boosted my productivity, since I literally cannot watch +YouTube even if I wanted to. My laptop is now strictly work-only. +If I do need to watch the occasional video / listen to music, I use my +phone. Compartmentalizing work and play to separate devices has worked +out pretty well for me.</p> + +<p>I’m slowly noticing myself favor low-tech (or no-tech) solutions to +simple problems too. Like notetaking—I’ve tried plaintext files, Vim +Wiki, Markdown, but nothing beats actually using pen and paper. Tech, +from what I can see, doesn’t solve problems very effectively. In some +cases, it only causes more of them. I might write another post +discussing my thoughts on this in further detail. </p> + +<p>I’m not sure what I intended this post to be, but I’m pretty happy with +the mindspill. To conclude this already long monologue, let me clarify +one little thing y’all are probably thinking, “Okay man, are you +suggesting that we regress to the Dark Ages?”. No, I’m not suggesting +that we regress, but rather, progress mindfully.</p> + +<div class="footnotes"> +<hr /> +<ol> +<li id="fn-bringing-up-kiss"> +<p>No, I don’t go “I use KISS btw”. I don’t bring it +up unless provoked. <a href="#fnref-bringing-up-kiss" class="footnoteBackLink" title="Jump back to footnote 1 in the text.">↩</a></p> +</li> +</ol> +</div> +]]></description><link>https://icyphox.sh/blog/kiss-4-mos</link><pubDate>Fri, 03 Apr 2020 00:00:00 +0000</pubDate><guid>https://icyphox.sh/blog/kiss-4-mos</guid></item><item><title>Introducing mael</title><description><![CDATA[<p><strong>Update</strong>: The code lives here: <a href="https://github.com/icyphox/mael">https://github.com/icyphox/mael</a></p> <p>I’ve been on the lookout for a good terminal-based email client since forever, and I’ve tried almost all of them. The one I use right now
M
pages/blog/five-days-tty.md
→
pages/blog/five-days-tty.md
@@ -1,6 +1,7 @@
--- template: title: Five days in a TTY +url: five-days-tty subtitle: I installed KISS Linux date: 2020-01-13 ---
A
pages/blog/kiss-4-mos.md
@@ -0,0 +1,138 @@
+--- +template: +url: kiss-4-mos +title: KISS Linux: 4 months on +subtitle: My thoughts on the distro, the philosophy and my experience in general +date: 2020-04-03 +--- + +[I installed KISS](/blog/five-days-tty) early in January on my main +machine---an HP Envy 13 (2017), and I have since noticed a lot of changes +in my workflow, my approach to software (and its development), and in +life as a whole. I wouldn't call KISS "life changing", as that would be +overly dramatic, but it has definitely reshaped my outlook towards +technology---for better or worse. + +When I talk about KISS to people---online or IRL---I get some pretty +interesting reactions and comments.[^bringing-up-kiss] +Ranging from "Oh cool." to "You must be +retarded.", I've heard it all. A classic and a personal favourite of +mine, "I don't use meme distros because I actually get work done." It is +actually, quite the opposite---I've been so much more productive using +KISS than any other operating system. I'll explain why shortly. + +[^bringing-up-kiss]: No, I don't go "I use KISS btw". I don't bring it + up unless provoked. + +The beauty of this "distro", is it isn't much of a distribution at all. +There is no big team, no mailing lists, no infrastructure. The entire +setup is so loose, and this makes it very convenient to swap things out +for alternatives. The main (and potentially community) repos all reside +locally on your system. In the event that Dylan decides to call it +quits and switches to Windows, we can simply just bump versions +ourselves, locally! The [KISS Guidestones](https://k1ss.org/guidestones) +document is a good read. + +In the subseqent paragraphs, I've laid out the different things about +KISS that stand out to me, and make using the system a lot more +enjoyable. + +## the package system + +Packaging for KISS has been delightful, to say the least. It takes me +about 2 mins to write and publish a new package. Here's the `radare2` +package, which I maintain, for example. + +The `build` file (executable): + +```sh +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install +``` + +The `version` file: +``` +4.3.1 1 +``` + +The `checksums` file (generated using `kiss checksum radare2`): +``` +4abcb9c9dff24eab44d64d392e115ae774ab1ad90d04f2c983d96d7d7f9476aa 4.3.1.tar.gz +``` + +And finally, the `sources` file: +``` +https://github.com/radareorg/radare2/archive/4.3.1.tar.gz +``` + +This is literally the bare minimum that you need to define a package. +There's also the `depends` file where you specify the dependencies for +your package. +`kiss` also generates a `manifests` file to track all the files and +directories that your package creates during installation, for their +removal, if and when that occurs. Now compare this process with any +other distribution's. + +## the community + +As far as I know, it mostly consists of the `#kisslinux` channel on +Freenode and the [r/kisslinux](https://old.reddit.com/r/kisslinux) +subreddit. It's not that big, but it's suprisingly active, and super +helpful. There have been some interested new KISS-related projects +too: [kiss-games](https://github.com/sdsddsd1/kiss-games)---a repository +for, well, Linux games; [kiss-ppc64le](https://github.com/jedavies-dev/kiss-ppc64le) +and [kiss-aarch64](https://github.com/jedavies-dev/kiss-aarch64)---KISS +Linux ports for PowerPC and ARM64 architectures; +[wyvertux](https://github.com/wyvertux/wyvertux)---an attempt at +a GNU-free Linux distribution, using KISS as a base; and tons more. + +## the philosophy + +Software today is far too complex. And its complexity is only growing. +Some might argue that this is inevitable, and it is in fact progress. +I disagree. Blindly adding layers and layers of abstraction (Docker, +modern web "apps") isn't progress. Look at the Linux desktop ecosystem +today, for example---monstrosities like GNOME and KDE are a result of +this...new wave software engineering. + +I see KISS as a symbol of defiance against this malformed notion. You +don't _need_ all the bloat these DEs ship with to have a usable system. +Agreed, it's a bit more effort to get up and running, but it is entirely +worth it. Think of it as a clean table---feels good to sit down and work on, +doesn't it? + +Let's take my own experience, for example. One of the initial few +software I used to install on a new system was `dunst`---a notification +daemon. Unfortunately, it depends on D-Bus, which is Poetterware; ergo, +not on KISS. However, using a system without notifications has been very +pleasant. Nothing to distract you while you're in the zone. + +Another instance, again involving D-Bus (or not), is Bluetooth audio. As +it happens, my laptop's 3.5mm jack is rekt, and I need to use Bluetooth +for audio, if at all. Sadly, Bluetooth audio on Linux hard-depends on +D-Bus. Bluetooth stacks that don't rely on D-Bus do exist, like on Android, +but porting them over to desktop is non-trivial. However, I used this to +my advantage and decided not to consume media on my laptop. This has +drastically boosted my productivity, since I literally cannot watch +YouTube even if I wanted to. My laptop is now strictly work-only. +If I do need to watch the occasional video / listen to music, I use my +phone. Compartmentalizing work and play to separate devices has worked +out pretty well for me. + +I'm slowly noticing myself favor low-tech (or no-tech) solutions to +simple problems too. Like notetaking---I've tried plaintext files, Vim +Wiki, Markdown, but nothing beats actually using pen and paper. Tech, +from what I can see, doesn't solve problems very effectively. In some +cases, it only causes more of them. I might write another post +discussing my thoughts on this in further detail. + +I'm not sure what I intended this post to be, but I'm pretty happy with +the mindspill. To conclude this already long monologue, let me clarify +one little thing y'all are probably thinking, "Okay man, are you +suggesting that we regress to the Dark Ages?". No, I'm not suggesting +that we regress, but rather, progress mindfully.
M
pages/txt/five-days-tty.txt
→
pages/txt/five-days-tty.txt
@@ -2,6 +2,7 @@ ---
date: '2020-01-13' subtitle: I installed KISS Linux title: Five days in a TTY +url: 'five-days-tty' --- This new semester has been pretty easy on me, so far. I hardly every
A
pages/txt/kiss-4-mos.txt
@@ -0,0 +1,130 @@
+[I installed KISS](/blog/five-days-tty) early in January on my main +machine---an HP Envy 13 (2017), and I have since noticed a lot of +changes in my workflow, my approach to software (and its development), +and in life as a whole. I wouldn't call KISS "life changing", as that +would be overly dramatic, but it has definitely reshaped my outlook +towards technology---for better or worse. + +When I talk about KISS to people---online or IRL---I get some pretty +interesting reactions and comments.[^1] Ranging from "Oh cool." to "You +must be retarded.", I've heard it all. A classic and a personal +favourite of mine, "I don't use meme distros because I actually get work +done." It is actually, quite the opposite---I've been so much more +productive using KISS than any other operating system. I'll explain why +shortly. + +The beauty of this "distro", is it isn't much of a distribution at all. +There is no big team, no mailing lists, no infrastructure. The entire +setup is so loose, and this makes it very convenient to swap things out +for alternatives. The main (and potentially community) repos all reside +locally on your system. In the event that Dylan decides to call it quits +and switches to Windows, we can simply just bump versions ourselves, +locally! The [KISS Guidestones](https://k1ss.org/guidestones) document +is a good read. + +In the subseqent paragraphs, I've laid out the different things about +KISS that stand out to me, and make using the system a lot more +enjoyable. + +the package system +------------------ + +Packaging for KISS has been delightful, to say the least. It takes me +about 2 mins to write and publish a new package. Here's the `radare2` +package, which I maintain, for example. + +The `build` file (executable): + +``` {.sh} +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install +``` + +The `version` file: + + 4.3.1 1 + +The `checksums` file (generated using `kiss checksum radare2`): + + 4abcb9c9dff24eab44d64d392e115ae774ab1ad90d04f2c983d96d7d7f9476aa 4.3.1.tar.gz + +And finally, the `sources` file: + + https://github.com/radareorg/radare2/archive/4.3.1.tar.gz + +This is literally the bare minimum that you need to define a package. +There's also the `depends` file where you specify the dependencies for +your package. `kiss` also generates a `manifests` file to track all the +files and directories that your package creates during installation, for +their removal, if and when that occurs. Now compare this process with +any other distribution's. + +the community +------------- + +As far as I know, it mostly consists of the `#kisslinux` channel on +Freenode and the [r/kisslinux](https://old.reddit.com/r/kisslinux) +subreddit. It's not that big, but it's suprisingly active, and super +helpful. There have been some interested new KISS-related projects too: +[kiss-games](https://github.com/sdsddsd1/kiss-games)---a repository for, +well, Linux games; +[kiss-ppc64le](https://github.com/jedavies-dev/kiss-ppc64le) and +[kiss-aarch64](https://github.com/jedavies-dev/kiss-aarch64)---KISS +Linux ports for PowerPC and ARM64 architectures; +[wyvertux](https://github.com/wyvertux/wyvertux)---an attempt at a +GNU-free Linux distribution, using KISS as a base; and tons more. + +the philosophy +-------------- + +Software today is far too complex. And its complexity is only growing. +Some might argue that this is inevitable, and it is in fact progress. I +disagree. Blindly adding layers and layers of abstraction (Docker, +modern web "apps") isn't progress. Look at the Linux desktop ecosystem +today, for example---monstrosities like GNOME and KDE are a result of +this...new wave software engineering. + +I see KISS as a symbol of defiance against this malformed notion. You +don't *need* all the bloat these DEs ship with to have a usable system. +Agreed, it's a bit more effort to get up and running, but it is entirely +worth it. Think of it as a clean table---feels good to sit down and work +on, doesn't it? + +Let's take my own experience, for example. One of the initial few +software I used to install on a new system was `dunst`---a notification +daemon. Unfortunately, it depends on D-Bus, which is Poetterware; ergo, +not on KISS. However, using a system without notifications has been very +pleasant. Nothing to distract you while you're in the zone. + +Another instance, again involving D-Bus (or not), is Bluetooth audio. As +it happens, my laptop's 3.5mm jack is rekt, and I need to use Bluetooth +for audio, if at all. Sadly, Bluetooth audio on Linux hard-depends on +D-Bus. Bluetooth stacks that don't rely on D-Bus do exist, like on +Android, but porting them over to desktop is non-trivial. However, I +used this to my advantage and decided not to consume media on my laptop. +This has drastically boosted my productivity, since I literally cannot +watch YouTube even if I wanted to. My laptop is now strictly work-only. +If I do need to watch the occasional video / listen to music, I use my +phone. Compartmentalizing work and play to separate devices has worked +out pretty well for me. + +I'm slowly noticing myself favor low-tech (or no-tech) solutions to +simple problems too. Like notetaking---I've tried plaintext files, Vim +Wiki, Markdown, but nothing beats actually using pen and paper. Tech, +from what I can see, doesn't solve problems very effectively. In some +cases, it only causes more of them. I might write another post +discussing my thoughts on this in further detail. + +I'm not sure what I intended this post to be, but I'm pretty happy with +the mindspill. To conclude this already long monologue, let me clarify +one little thing y'all are probably thinking, "Okay man, are you +suggesting that we regress to the Dark Ages?". No, I'm not suggesting +that we regress, but rather, progress mindfully. + +[^1]: No, I don't go "I use KISS btw". I don't bring it up unless + provoked.
M
static/style.css
→
static/style.css
@@ -37,7 +37,8 @@
.container { padding-top: 1%; display: grid; - grid-template-columns: repeat(12, 1fr); + grid-template-columns: repeat(12, minmax(0, 1fr)); + min-width: 0; } .pull-right {@@ -47,7 +48,7 @@ grid-column: 1 / 13;
grid-row: 2; } -.pull-right p:not(:last-child) { +.pull-right > p:not(:last-child) { padding: 0px; margin: 0px; padding-top: 2%;@@ -55,7 +56,7 @@ padding-left: 3%;
padding-bottom: 1%; } -.pull-right h3 { +.pull-right > h3 { color: var(--dark); padding: 0px; margin: 0px;@@ -76,11 +77,29 @@ .content {
text-align: left; } +pre { + overflow-x: auto; + overflow-y: hidden; + padding: 10px; + min-width: 0; +} + + +code { + color: var(--cyan); + border-bottom: unset; +} + +pre > code { + color: var(--code); + background: unset; +} + @media only screen and (min-width: 800px) { .pull-right { text-align: left; max-width: 100%; - grid-column: 10; + grid-column: 10 / 12; padding-left: 20%; grid-row: 1; }@@ -106,8 +125,8 @@ @media only screen and (min-width: 1400px) {
.pull-right { max-width: 100%; text-align: left; - grid-column: 8; - padding-left: 20%; + grid-column: 8 / 10; + padding-left: 10%; grid-row: 1; }@@ -127,26 +146,6 @@ font-size: 18px;
} } -pre, pre code { - padding: 10px; - color: var(--code); - word-wrap: break-word; - overflow-x: auto; - white-space: pre-wrap; - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - border: 0px solid transparent; - border-radius: 5px; -} - - -code { - color: var(--cyan); padding: 2px; - border: 0px solid transparent; - border-radius: 5px; - border-bottom: unset; -} .logo { width: 180px;@@ -275,12 +274,6 @@
::selection { background-color: var(--sel); color: white; -} - -@media only screen and (max-width: 70em) { - pre { - overflow-x: auto; - } } .license img {