<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>jutty.dev - unix</title>
    <subtitle>Computer nerd memory leaks</subtitle>
    <link rel="self" type="application/atom+xml" href="https://blog.jutty.dev/tags/unix/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://blog.jutty.dev"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2025-02-24T14:34:25-03:00</updated>
    <id>https://blog.jutty.dev/tags/unix/atom.xml</id>
    <entry xml:lang="en">
        <title>A timeline of Unix shells</title>
        <published>2025-02-24T14:34:25-03:00</published>
        <updated>2025-02-24T14:34:25-03:00</updated>
        
        <author>
          <name>
            
              Juno Takano
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.jutty.dev/notes/shells-timeline/"/>
        <id>https://blog.jutty.dev/notes/shells-timeline/</id>
        
        <content type="html" xml:base="https://blog.jutty.dev/notes/shells-timeline/">&lt;p&gt;For some reason, I really like timeline visualizations, meaning a graph with events listed along a temporal axis with the dates in which they happened. I remember using tape to glue several pieces of paper on the wall as a kid to make a long timeline of world history events.&lt;&#x2F;p&gt;
&lt;p&gt;So every time I find a tool to do that, I want to check it out. The latest was &lt;a class=&quot;out-link&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;markwhen.com&#x2F;&quot;&gt;Markwhen&lt;&#x2F;a&gt;, which works entirely by defining the timeline as code and then running an executable against it to render image or interactive web outputs.&lt;&#x2F;p&gt;
&lt;p&gt;To try it out, I made this timeline of Unix shells. You can view &lt;a class=&quot;out-link&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;jultty.github.io&#x2F;shells-timeline&#x2F;&quot;&gt;the HTML version here&lt;&#x2F;a&gt; or the images below (dark and light themes):&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;&#x2F;assets&#x2F;img&#x2F;posts&#x2F;shells-timeline&#x2F;shells-timeline_dark.png&quot;&gt;&lt;img src=&quot;&#x2F;assets&#x2F;img&#x2F;posts&#x2F;shells-timeline&#x2F;shells-timeline_dark.png&quot; alt=&quot;A timeline of Unix shells with events starting in 1963 and ending in 2020. Years are represented horizontally and events start from the top left towards the bottom right, forming a diagonal of events and their labels. Each event is represented by a dot, a date and a shell name. Foreground is white and gray, background is black.&quot; &#x2F;&gt;&lt;&#x2F;a&gt;
&lt;a href=&quot;&#x2F;assets&#x2F;img&#x2F;posts&#x2F;shells-timeline&#x2F;shells-timeline_light.png&quot;&gt;&lt;img src=&quot;&#x2F;assets&#x2F;img&#x2F;posts&#x2F;shells-timeline&#x2F;shells-timeline_light.png&quot; alt=&quot;The same timeline as in the previous picture, but with black and gray foreground and white background.&quot; &#x2F;&gt;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;details&gt;
&lt;summary&gt;Expand for a textual list of the timeline events&lt;&#x2F;summary&gt;
&lt;ul&gt;
&lt;li&gt;1963: RUNCOM&lt;&#x2F;li&gt;
&lt;li&gt;1965: Multics shell&lt;&#x2F;li&gt;
&lt;li&gt;1971-11: Thompson shell (sh)&lt;&#x2F;li&gt;
&lt;li&gt;1977-07-01: PWB shell (sh)&lt;&#x2F;li&gt;
&lt;li&gt;1978: C shell (csh)&lt;&#x2F;li&gt;
&lt;li&gt;1979: Bourne shell (sh)&lt;&#x2F;li&gt;
&lt;li&gt;1983-10-04: TENEX C Shell (tcsh)&lt;&#x2F;li&gt;
&lt;li&gt;1983-06-09: KornShell (ksh)&lt;&#x2F;li&gt;
&lt;li&gt;1989-05-30: Almquist shell (ash)&lt;&#x2F;li&gt;
&lt;li&gt;1989-06-08: Bourne-Again Shell (bash)&lt;&#x2F;li&gt;
&lt;li&gt;1990-12-14: Z shell (zsh)&lt;&#x2F;li&gt;
&lt;li&gt;1992: Plan 9 Rc (rc)&lt;&#x2F;li&gt;
&lt;li&gt;1995-06-16: Public Domain KornShell (pdksh)&lt;&#x2F;li&gt;
&lt;li&gt;1997-06-19: Debian Almquist shell (dash)&lt;&#x2F;li&gt;
&lt;li&gt;2004-04-07: MirBSD Korn Shell (mksh)&lt;&#x2F;li&gt;
&lt;li&gt;2005: friendly interactive shell (fish)&lt;&#x2F;li&gt;
&lt;li&gt;2019-08-23: Nushell (nu)&lt;&#x2F;li&gt;
&lt;li&gt;2020-10-30: Portable OpenBSD KornShell (oksh)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;details&gt;
&lt;p&gt;Don’t ask me why every item is followed by …, I’d love to know.&lt;&#x2F;p&gt;
&lt;p&gt;If you are interested, &lt;a class=&quot;out-link&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jultty&#x2F;shells-timeline&#x2F;blob&#x2F;main&#x2F;shells.mw&quot;&gt;here is the source code&lt;&#x2F;a&gt; that was used to generate the images above. The source code also contains notes that are only displayed in the HTML version. These notes are sources for the dates and sometimes observations on the date precision.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Meeting the BSD family</title>
        <published>2024-05-20T00:00:00+00:00</published>
        <updated>2024-05-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Juno Takano
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.jutty.dev/posts/meeting-the-bsd-family/"/>
        <id>https://blog.jutty.dev/posts/meeting-the-bsd-family/</id>
        
        <content type="html" xml:base="https://blog.jutty.dev/posts/meeting-the-bsd-family/">&lt;p&gt;During this year I have been delving deeper and deeper in the BSD realm. Switching my home server to FreeBSD, trying NetBSD and OpenBSD on my backup machine, getting a cheap SSD to see how they’d all run on my main one, all beaming with the joy of tinkering and learning.&lt;&#x2F;p&gt;
&lt;p&gt;As a nerd who delights in reading documentation, manuals and handbooks, I feel like I have found a gigantic library to lose myself in. And to me the delight of such reading is in that it’s never a passive learning experience, but something you can act on and bring to fruition yourself.&lt;&#x2F;p&gt;
&lt;p&gt;While Linux-based operating systems, with all the popularity they have gained, have developed into a complex and extremely active ecosystem, the BSD operating systems feel less bloated and more focused on whatever their specialty is.&lt;&#x2F;p&gt;
&lt;p&gt;You can’t really complain about software availability, given the amount of pre-packaged binaries you will find. When trying FreeBSD, I could not miss anything I needed. More recently, on NetBSD, I also found most of the tools I reached for.&lt;&#x2F;p&gt;
&lt;p&gt;Though I have a mostly text-driven workflow, doing almost all things with a browser and a terminal alone – which certainly helps in making your stack more portable – I do rely on some GUI applications for the domains where they excel.&lt;&#x2F;p&gt;
&lt;p&gt;What you might experience is a slower pace of change for major things, such as on Wayland adoption, which like it or not is coming for all of us with X deprecation looming.&lt;&#x2F;p&gt;
&lt;p&gt;Running BSD is an incredible opportunity to really learn about UNIX-like systems and operating systems in general.&lt;&#x2F;p&gt;
&lt;p&gt;Recently, I’ve been learning more about NetBSD after spending some time with FreeBSD. And this inner diversity of fully-independent operating systems with their own kernels and perks keeps multiplying the learning opportunities.&lt;&#x2F;p&gt;
&lt;p&gt;If you already learned a lot about whatever OS you currently use, I’d say particularly if that OS is Linux-based, when you start to play with a BSD system you are able to realize what is similar and what is not.&lt;&#x2F;p&gt;
&lt;p&gt;Whatever is different is likely teaching you the more portable, UNIX way of doing things. Even if it isn’t, it’s teaching you how a different OS is designed and behaves.&lt;&#x2F;p&gt;
&lt;p&gt;Things that are the same, which are not few, also offer learning opportunities. You get to see what parts of a Linux-based OS perhaps didn’t really originate there, or aren’t in any way an exclusive feature of it.&lt;&#x2F;p&gt;
&lt;p&gt;Now, to lay any zealousness aside and not make this a saccharine one-sided tale, I’d also like to mention a certain social phenomenon that this endeavour reminded me of.&lt;&#x2F;p&gt;
&lt;p&gt;This is certainly not something specific to BSD, but because it has such an engaged and savvy community, you definitely get to notice it sometimes. I’m talking about the tendency to identify with and then indiscriminately defend the software you use.&lt;&#x2F;p&gt;
&lt;p&gt;One common meme you’ll find is people complaining about lack of hardware support, especially wifi. In response, I’ve seen people stating with little nuance that any difficulty to getting your hardware to work on &lt;code&gt;&amp;lt;insert a BSD OS here&amp;gt;&lt;&#x2F;code&gt; is to be explained by poor skills or lack of dedication in reading the documentation.&lt;&#x2F;p&gt;
&lt;p&gt;I see that as denial. When everyone around is just defending something to no end, no critiques allowed, it starts to feel… awkward, to say the least.&lt;&#x2F;p&gt;
&lt;p&gt;Conversely, when I see people openly pointing out weaknesses in something I value and that I can tell they also care for, I feel relief and admiration for that person and that community at large. And thankfully I have also found a lot of this among the BSD folks.&lt;&#x2F;p&gt;
&lt;p&gt;Because running a given operating system on a machine you rely on is such a big commitment, it intensifies this phenomenon where users start to identify with the software they use and defend it beyond reason.&lt;&#x2F;p&gt;
&lt;p&gt;It happens with frameworks, desktop environments and window managers, but operating systems require you to commit even more because you can’t just swap them as easily, so my guess is we identify to compensate this sense of being tied to it. And from this identification comes an urge to deny any defect.&lt;&#x2F;p&gt;
&lt;p&gt;If you are cognizant of the perils, identifying with something is not necessarily a bad thing, though. To some extent, it is inevitable, and being really into something, caring about it, nurturing immense curiosity and a desire to discuss it, are all sources of pleasure I do not excuse myself from.&lt;&#x2F;p&gt;
&lt;p&gt;Software wars aside, getting to know this family of operating systems better has been a joy. It opened up whole new avenues and perspectives to understanding operating systems as a whole, and how beyond Linux-based OSs there are numerous other free and open source operating systems that strengthen the diversity in this field.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
