<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[nixers - Old school stuff]]></title>
		<link>https://nixers.net/</link>
		<description><![CDATA[nixers - https://nixers.net]]></description>
		<pubDate>Fri, 17 Apr 2026 15:05:23 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Ken Thompson tells a story]]></title>
			<link>https://nixers.net/Thread-Ken-Thompson-tells-a-story</link>
			<pubDate>Mon, 27 Oct 2025 02:22:18 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-Ken-Thompson-tells-a-story</guid>
			<description><![CDATA[2024 interview, posted this October, quite a few interesting thoughts about Open Source in it:<br />
<a href="https://www.youtube.com/watch?v=OmVHkL0IWk4" target="_blank" rel="noopener" class="mycode_url">https://www.youtube.com/watch?v=OmVHkL0IWk4</a>]]></description>
			<content:encoded><![CDATA[2024 interview, posted this October, quite a few interesting thoughts about Open Source in it:<br />
<a href="https://www.youtube.com/watch?v=OmVHkL0IWk4" target="_blank" rel="noopener" class="mycode_url">https://www.youtube.com/watch?v=OmVHkL0IWk4</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[The Origins of Emacs, uncovered.]]></title>
			<link>https://nixers.net/Thread-The-Origins-of-Emacs-uncovered</link>
			<pubDate>Wed, 24 Jul 2024 00:54:29 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-The-Origins-of-Emacs-uncovered</guid>
			<description><![CDATA[Interesting read:<br />
<a href="https://onlisp.co.uk/On-the-Origin-of-Emacs-in-1976.html" target="_blank" rel="noopener" class="mycode_url">https://onlisp.co.uk/On-the-Origin-of-Em...-1976.html</a>]]></description>
			<content:encoded><![CDATA[Interesting read:<br />
<a href="https://onlisp.co.uk/On-the-Origin-of-Emacs-in-1976.html" target="_blank" rel="noopener" class="mycode_url">https://onlisp.co.uk/On-the-Origin-of-Em...-1976.html</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Old vi]]></title>
			<link>https://nixers.net/Thread-Old-vi</link>
			<pubDate>Wed, 15 May 2024 22:08:02 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-Old-vi</guid>
			<description><![CDATA[I investigated when the flash option was added to vi. It was when System V entered the VAX. 1983.<br />
Result: a new Vim patch… <br />
<br />
<a href="https://github.com/vim/vim/pull/14778" target="_blank" rel="noopener" class="mycode_url">https://github.com/vim/vim/pull/14778</a>]]></description>
			<content:encoded><![CDATA[I investigated when the flash option was added to vi. It was when System V entered the VAX. 1983.<br />
Result: a new Vim patch… <br />
<br />
<a href="https://github.com/vim/vim/pull/14778" target="_blank" rel="noopener" class="mycode_url">https://github.com/vim/vim/pull/14778</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[CB UNIX: DevOps before it was cool]]></title>
			<link>https://nixers.net/Thread-CB-UNIX-DevOps-before-it-was-cool</link>
			<pubDate>Wed, 30 Jun 2021 01:50:57 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-CB-UNIX-DevOps-before-it-was-cool</guid>
			<description><![CDATA[At least Columbus UNIX - an internally used UNIX at Bell Labs - seems to <a href="https://twitter.com/nabijaczleweli/status/1408801062832807941" target="_blank" rel="noopener" class="mycode_url">have come with</a> the <span style="font-style: italic;" class="mycode_i">allofc</span> command which I could not find in any other system.<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>The allofc utility program was created to simplify the update/upgrade procedures. Allofc permits a sequence of UNIX commands to be performed in some or all office and type directories.</blockquote>
<br />
Arguably, its usage seems to be less intuitive than you'd think; still looks much less like a big pile of webshit poo than what "modern" "developers" call "DevOps".<br />
<br />
The man page claims that <span style="font-style: italic;" class="mycode_i">allofc</span> came as a part of (a version of) SCCS which makes sense, in a way. I wonder if it has spread into other Unices at some point in time.]]></description>
			<content:encoded><![CDATA[At least Columbus UNIX - an internally used UNIX at Bell Labs - seems to <a href="https://twitter.com/nabijaczleweli/status/1408801062832807941" target="_blank" rel="noopener" class="mycode_url">have come with</a> the <span style="font-style: italic;" class="mycode_i">allofc</span> command which I could not find in any other system.<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>The allofc utility program was created to simplify the update/upgrade procedures. Allofc permits a sequence of UNIX commands to be performed in some or all office and type directories.</blockquote>
<br />
Arguably, its usage seems to be less intuitive than you'd think; still looks much less like a big pile of webshit poo than what "modern" "developers" call "DevOps".<br />
<br />
The man page claims that <span style="font-style: italic;" class="mycode_i">allofc</span> came as a part of (a version of) SCCS which makes sense, in a way. I wonder if it has spread into other Unices at some point in time.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Arbitrary code execution bug in the reference Turing Machine]]></title>
			<link>https://nixers.net/Thread-Arbitrary-code-execution-bug-in-the-reference-Turing-Machine</link>
			<pubDate>Tue, 11 May 2021 10:27:10 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-Arbitrary-code-execution-bug-in-the-reference-Turing-Machine</guid>
			<description><![CDATA[This is either good or not good:<br />
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-32471" target="_blank" rel="noopener" class="mycode_url">https://cve.mitre.org/cgi-bin/cvename.cg...2021-32471</a>]]></description>
			<content:encoded><![CDATA[This is either good or not good:<br />
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-32471" target="_blank" rel="noopener" class="mycode_url">https://cve.mitre.org/cgi-bin/cvename.cg...2021-32471</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[The demise of old software because of Firefox]]></title>
			<link>https://nixers.net/Thread-The-demise-of-old-software-because-of-Firefox</link>
			<pubDate>Mon, 07 Dec 2020 20:09:18 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-The-demise-of-old-software-because-of-Firefox</guid>
			<description><![CDATA[OK, that’s a bit short as a summary...<br />
<br />
<a href="https://utcc.utoronto.ca/~cks/space/blog/web/FTPDeprecationAndSearching" target="_blank" rel="noopener" class="mycode_url">Chris:</a><br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>As FTP sites stop being indexed, accessed, or usable in browsers, people also start running out of reasons to keep them operating. Many of the most valuable FTP sites for me are ones that are historical relics, and apparently survive primarily on benign neglect. Their contents are highly unlikely to be moved to HTTP sites; instead it's more likely that the contents will be discarded entirely.</blockquote>
<br />
A quality thought, in my opinion.]]></description>
			<content:encoded><![CDATA[OK, that’s a bit short as a summary...<br />
<br />
<a href="https://utcc.utoronto.ca/~cks/space/blog/web/FTPDeprecationAndSearching" target="_blank" rel="noopener" class="mycode_url">Chris:</a><br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>As FTP sites stop being indexed, accessed, or usable in browsers, people also start running out of reasons to keep them operating. Many of the most valuable FTP sites for me are ones that are historical relics, and apparently survive primarily on benign neglect. Their contents are highly unlikely to be moved to HTTP sites; instead it's more likely that the contents will be discarded entirely.</blockquote>
<br />
A quality thought, in my opinion.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Dotfiles, a big mistake]]></title>
			<link>https://nixers.net/Thread-Dotfiles-a-big-mistake</link>
			<pubDate>Thu, 09 Jul 2020 05:41:59 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-Dotfiles-a-big-mistake</guid>
			<description><![CDATA[Rob Pike, 2013 (<a href="https://blog.bwasd.io/origin-of-dotfiles/" target="_blank" rel="noopener" class="mycode_url">archived copy</a>):<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite> I’m pretty sure the concept of a hidden file was an unintended consequence. It was certainly a mistake.</blockquote>
<br />
I tend to agree. It makes no sense to have user configuration files which are <span style="font-style: italic;" class="mycode_i">hidden by default</span>. I guess that all developers on nixers could learn from it. I certainly will.]]></description>
			<content:encoded><![CDATA[Rob Pike, 2013 (<a href="https://blog.bwasd.io/origin-of-dotfiles/" target="_blank" rel="noopener" class="mycode_url">archived copy</a>):<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite> I’m pretty sure the concept of a hidden file was an unintended consequence. It was certainly a mistake.</blockquote>
<br />
I tend to agree. It makes no sense to have user configuration files which are <span style="font-style: italic;" class="mycode_i">hidden by default</span>. I guess that all developers on nixers could learn from it. I certainly will.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Goodbye, EBCDIC (for ksh)...]]></title>
			<link>https://nixers.net/Thread-Goodbye-EBCDIC-for-ksh</link>
			<pubDate>Sat, 20 Apr 2019 22:14:19 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-Goodbye-EBCDIC-for-ksh</guid>
			<description><![CDATA[<a href="https://github.com/att/ast/blob/master/CHANGELOG.md" target="_blank" rel="noopener" class="mycode_url">Sad day:</a><br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>Support for building on systems using EBCDIC has been removed (issue #742).</blockquote>
<br />
ksh2020 - finally, a full new upgrade after ksh93! - won't support those mainframes anymore. :-(]]></description>
			<content:encoded><![CDATA[<a href="https://github.com/att/ast/blob/master/CHANGELOG.md" target="_blank" rel="noopener" class="mycode_url">Sad day:</a><br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>Support for building on systems using EBCDIC has been removed (issue #742).</blockquote>
<br />
ksh2020 - finally, a full new upgrade after ksh93! - won't support those mainframes anymore. :-(]]></content:encoded>
		</item>
		<item>
			<title><![CDATA["Purple Card"]]></title>
			<link>https://nixers.net/Thread-Purple-Card</link>
			<pubDate>Sat, 16 Mar 2019 17:50:54 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1822">pkal</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-Purple-Card</guid>
			<description><![CDATA[I've been up on Unix history, and I happened to find out about a so-called "Purple Card"<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>For [Unix] v6 and  v7  Lorinda  Cherry  prepared a pocket reference, familiarly known as the ‘‘Purple Card, which is not shown. (<a href="https://www.cs.dartmouth.edu/~doug/reader.pdf" target="_blank" rel="noopener" class="mycode_url">source</a>, p. 15)</blockquote>
<br />
But I couldn't find any scan or other independent mentions. Has anyone here heard about it, or knows where to find it?]]></description>
			<content:encoded><![CDATA[I've been up on Unix history, and I happened to find out about a so-called "Purple Card"<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>For [Unix] v6 and  v7  Lorinda  Cherry  prepared a pocket reference, familiarly known as the ‘‘Purple Card, which is not shown. (<a href="https://www.cs.dartmouth.edu/~doug/reader.pdf" target="_blank" rel="noopener" class="mycode_url">source</a>, p. 15)</blockquote>
<br />
But I couldn't find any scan or other independent mentions. Has anyone here heard about it, or knows where to find it?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Ubuntu's 1971 bugs]]></title>
			<link>https://nixers.net/Thread-Ubuntu-s-1971-bugs</link>
			<pubDate>Mon, 05 Nov 2018 17:44:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-Ubuntu-s-1971-bugs</guid>
			<description><![CDATA[<a href="https://twitter.com/Foone/status/1059313647162281984" target="_blank" rel="noopener" class="mycode_url">Hilarious:</a><br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>Your brand new Ubuntu 18.10 has /bin and /usr/bin cause one specific system in 1971-1973 ran out of disk space on one of these 2.5MB fixed disk drives. </blockquote>
<br />
<a href="https://threadreaderapp.com/thread/1059306393885241346.html" target="_blank" rel="noopener" class="mycode_url">Full thread on Twitter.</a>]]></description>
			<content:encoded><![CDATA[<a href="https://twitter.com/Foone/status/1059313647162281984" target="_blank" rel="noopener" class="mycode_url">Hilarious:</a><br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>Your brand new Ubuntu 18.10 has /bin and /usr/bin cause one specific system in 1971-1973 ran out of disk space on one of these 2.5MB fixed disk drives. </blockquote>
<br />
<a href="https://threadreaderapp.com/thread/1059306393885241346.html" target="_blank" rel="noopener" class="mycode_url">Full thread on Twitter.</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Idea for a "week of the vintage OS"]]></title>
			<link>https://nixers.net/Thread-Idea-for-a-week-of-the-vintage-OS</link>
			<pubDate>Sat, 13 Oct 2018 23:17:40 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-Idea-for-a-week-of-the-vintage-OS</guid>
			<description><![CDATA[Being a dumb person, I am gradually replacing all of my software (outside Windows :-)) by older software because I like the speed, efficiency and weirdness of code produced for machines which have been mostly extinct for decades now.<br />
<br />
As I feel surprisingly comfortable with most of the replacements (the latest one being TECO, replacing ed (please don't judge me)), I wonder if it would be worth a dare to limit yourself to software available before 1985* for a week. I am fine with allowing web browsers though... ;-)<br />
<br />
Anyone in?<br />
<br />
* The year is not set in stone just yet. But there was some fine stuff in the mid-80s.]]></description>
			<content:encoded><![CDATA[Being a dumb person, I am gradually replacing all of my software (outside Windows :-)) by older software because I like the speed, efficiency and weirdness of code produced for machines which have been mostly extinct for decades now.<br />
<br />
As I feel surprisingly comfortable with most of the replacements (the latest one being TECO, replacing ed (please don't judge me)), I wonder if it would be worth a dare to limit yourself to software available before 1985* for a week. I am fine with allowing web browsers though... ;-)<br />
<br />
Anyone in?<br />
<br />
* The year is not set in stone just yet. But there was some fine stuff in the mid-80s.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Keeping machines alive]]></title>
			<link>https://nixers.net/Thread-Keeping-machines-alive</link>
			<pubDate>Sun, 16 Sep 2018 17:51:23 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=80">venam</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-Keeping-machines-alive</guid>
			<description><![CDATA[Hello fellow nixers,<br />
All things will die someday, this is inevitable. However it has always been a thing in software hardware development to put on a certain date when the company/entity will drop support for it, or even in some cases force users to switch to newer solutions. Sometimes it goes under the term of Long Term Support and End of Life Support, other time it goes by the name of Planned Obsolescence or Built-In Obsolescence.<br />
<br />
And here comes the subject of this thread: I've seen a lot of machines being thrown away for no good reasons other than that it's not supported anymore and I've seen a lot of other machines being brought back to life by some sort of Unix-like OS or by fetching from somewhere a similar version of the OS maintained by some stranger on the internet. There's a lot of keeping alive both of software and of hardware, the Unix community seems like the one that keeps this to heart more than any other.<br />
<br />
What is your opinion on the topic of long term support and keeping alive software and hardware in general.<br />
<br />
<br />
Here's mine: I find it fascinating that you can run old school software and that it's still being actively studied and worked on. You won't have to worry about things such as a <a href="https://en.wikipedia.org/wiki/Digital_dark_age" target="_blank" rel="noopener" class="mycode_url">digital dark age</a> when the format of files is lost and they can't be read anymore (well some roff stuffs are still being deciphered but still it's all text).<br />
<br />
And as far as hardware is related there's really a flexibility of choices and how much you can calibrate the "heaviness" of what's being installed. The old machines can still run fine and be brought to life while having the latest security patches. Maybe they won't be able to run the latest browser but they're not thrown away.<br />
<br />
While on the other side of things, there are a lot, maybe too much, fanaticism about those old softwares and their descendants. The whole backward compatibility that accumulates over time also accumulates in a persons brain.<br />
<br />
So nixers, what do you think of the relation between Unix and supporting older machines and softwares.]]></description>
			<content:encoded><![CDATA[Hello fellow nixers,<br />
All things will die someday, this is inevitable. However it has always been a thing in software hardware development to put on a certain date when the company/entity will drop support for it, or even in some cases force users to switch to newer solutions. Sometimes it goes under the term of Long Term Support and End of Life Support, other time it goes by the name of Planned Obsolescence or Built-In Obsolescence.<br />
<br />
And here comes the subject of this thread: I've seen a lot of machines being thrown away for no good reasons other than that it's not supported anymore and I've seen a lot of other machines being brought back to life by some sort of Unix-like OS or by fetching from somewhere a similar version of the OS maintained by some stranger on the internet. There's a lot of keeping alive both of software and of hardware, the Unix community seems like the one that keeps this to heart more than any other.<br />
<br />
What is your opinion on the topic of long term support and keeping alive software and hardware in general.<br />
<br />
<br />
Here's mine: I find it fascinating that you can run old school software and that it's still being actively studied and worked on. You won't have to worry about things such as a <a href="https://en.wikipedia.org/wiki/Digital_dark_age" target="_blank" rel="noopener" class="mycode_url">digital dark age</a> when the format of files is lost and they can't be read anymore (well some roff stuffs are still being deciphered but still it's all text).<br />
<br />
And as far as hardware is related there's really a flexibility of choices and how much you can calibrate the "heaviness" of what's being installed. The old machines can still run fine and be brought to life while having the latest security patches. Maybe they won't be able to run the latest browser but they're not thrown away.<br />
<br />
While on the other side of things, there are a lot, maybe too much, fanaticism about those old softwares and their descendants. The whole backward compatibility that accumulates over time also accumulates in a persons brain.<br />
<br />
So nixers, what do you think of the relation between Unix and supporting older machines and softwares.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[AT&T Research Unix version 6, setuid]]></title>
			<link>https://nixers.net/Thread-AT-T-Research-Unix-version-6-setuid</link>
			<pubDate>Wed, 08 Aug 2018 22:21:18 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1882">burrows</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-AT-T-Research-Unix-version-6-setuid</guid>
			<description><![CDATA[This post refers to AT&amp;T Research Unix version 6 (1975).  I am hoping<br />
that someone can explain the purpose of setuid's unprivileged behavior.<br />
<br />
From the Sixth Edition Programmer Manual.<br />
<br />
DESCRIPTION<br />
     The user ID of the current process is set to the argument.<br />
     Both the effective and the real user ID are set.  This call<br />
     is only permitted to the super-user or if the argument is<br />
     the real user ID.<br />
<br />
From the Lions book.<br />
<br />
setuid()<br />
{<br />
  register uid;<br />
<br />
  uid = u.u_ar0[R0].lobyte;<br />
  if(u.u_ruid == uid.lobyte || suser()) {<br />
    u.u_uid = uid;<br />
    u.u_procp-&gt;p_uid = uid;<br />
    u.u_ruid = uid;<br />
  }<br />
}<br />
<br />
suser()<br />
{<br />
<br />
  if(u.u_uid == 0)<br />
    return(1);<br />
  u.u_error = EPERM;<br />
  return(0);<br />
}<br />
<br />
An unprivileged caller is only permitted to assign the real user ID to the<br />
effective user ID.  For a standard root:root suid, this was insufficient<br />
for reacquiring root privileges.  The (r:0,e:0) process would setuid to<br />
a luser (r:1,e:1) and then setuid would be a noop or error.  AT&amp;T eventually<br />
solved this problem with saved-set-UID. BSD Unix implemeneted setreuid to solve<br />
the same issue.<br />
<br />
One (unconventional?) use case I can identify; a (r:0, e:0) process execs<br />
an suid owned by a luser (r:0, e:1).  Then the process uses setuid to reacquire<br />
root (r:0, e:0).<br />
<br />
Was there a standard usage of this unprivileged behavior?]]></description>
			<content:encoded><![CDATA[This post refers to AT&amp;T Research Unix version 6 (1975).  I am hoping<br />
that someone can explain the purpose of setuid's unprivileged behavior.<br />
<br />
From the Sixth Edition Programmer Manual.<br />
<br />
DESCRIPTION<br />
     The user ID of the current process is set to the argument.<br />
     Both the effective and the real user ID are set.  This call<br />
     is only permitted to the super-user or if the argument is<br />
     the real user ID.<br />
<br />
From the Lions book.<br />
<br />
setuid()<br />
{<br />
  register uid;<br />
<br />
  uid = u.u_ar0[R0].lobyte;<br />
  if(u.u_ruid == uid.lobyte || suser()) {<br />
    u.u_uid = uid;<br />
    u.u_procp-&gt;p_uid = uid;<br />
    u.u_ruid = uid;<br />
  }<br />
}<br />
<br />
suser()<br />
{<br />
<br />
  if(u.u_uid == 0)<br />
    return(1);<br />
  u.u_error = EPERM;<br />
  return(0);<br />
}<br />
<br />
An unprivileged caller is only permitted to assign the real user ID to the<br />
effective user ID.  For a standard root:root suid, this was insufficient<br />
for reacquiring root privileges.  The (r:0,e:0) process would setuid to<br />
a luser (r:1,e:1) and then setuid would be a noop or error.  AT&amp;T eventually<br />
solved this problem with saved-set-UID. BSD Unix implemeneted setreuid to solve<br />
the same issue.<br />
<br />
One (unconventional?) use case I can identify; a (r:0, e:0) process execs<br />
an suid owned by a luser (r:0, e:1).  Then the process uses setuid to reacquire<br />
root (r:0, e:0).<br />
<br />
Was there a standard usage of this unprivileged behavior?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[The History of Grep]]></title>
			<link>https://nixers.net/Thread-The-History-of-Grep</link>
			<pubDate>Sat, 07 Jul 2018 11:28:57 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=1548">jkl</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-The-History-of-Grep</guid>
			<description><![CDATA[Potentially interesting:<br />
Prof. Brian Kernighan talks about how grep came into existence.<br />
<br />
<a href="https://www.youtube.com/watch?v=NTfOnGZUZDk" target="_blank" rel="noopener" class="mycode_url">https://www.youtube.com/watch?v=NTfOnGZUZDk</a>]]></description>
			<content:encoded><![CDATA[Potentially interesting:<br />
Prof. Brian Kernighan talks about how grep came into existence.<br />
<br />
<a href="https://www.youtube.com/watch?v=NTfOnGZUZDk" target="_blank" rel="noopener" class="mycode_url">https://www.youtube.com/watch?v=NTfOnGZUZDk</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Tools, glue, scripts, and automation on Unix]]></title>
			<link>https://nixers.net/Thread-Tools-glue-scripts-and-automation-on-Unix</link>
			<pubDate>Sat, 03 Mar 2018 12:40:48 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://nixers.net/member.php?action=profile&uid=80">venam</a>]]></dc:creator>
			<guid isPermaLink="false">https://nixers.net/Thread-Tools-glue-scripts-and-automation-on-Unix</guid>
			<description><![CDATA[(This is part of the <a href="https://nixers.net/showthread.php?tid=1656" target="_blank" rel="noopener" class="mycode_url">podcast</a> discussion extension)<br />
<br />
After an even longer hiatus, here it is:<br />
<br />
Tools, glue, scripts, and automation on Unix<br />
<br />
Link of the recording [ <a href="https://github.com/nixers-projects/podcast/blob/master/nixers-podcast-2018-03-03.mp3?raw=true" target="_blank" rel="noopener" class="mycode_url">https://github.com/nixers-projects/podca...3?raw=true</a> <a href="http://podcast.nixers.net/feed/download.php?filename=nixers-podcast-2018-03-031.mp3" target="_blank" rel="noopener" class="mycode_url">http://podcast.nixers.net/feed/download....03-031.mp3</a> ]<br />
<br />
We take for granted scripting, automation, glue code, software as tools, so let's visit their history and learn more about them.<br />
<br />
<br />
References:<br />
<br />
Scripting or Glue-coding:  <br />
<a href="https://nixers.net/showthread.php?tid=1893" target="_blank" rel="noopener" class="mycode_url">https://nixers.net/showthread.php?tid=1893</a>  <br />
<a href="https://en.wikipedia.org/wiki/Scripting_language" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Scripting_language</a>  <br />
<a href="https://en.wikipedia.org/wiki/Glue_code" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Glue_code</a>  <br />
<a href="https://en.wikipedia.org/wiki/Adapter_pattern" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Adapter_pattern</a>  <br />
<a href="http://www.catb.org/~esr/writings/taoup/html/ch11s06.html" target="_blank" rel="noopener" class="mycode_url">http://www.catb.org/~esr/writings/taoup/...11s06.html</a>  <br />
<a href="http://www.columbia.edu/~rh120/ch001j.c11" target="_blank" rel="noopener" class="mycode_url">http://www.columbia.edu/~rh120/ch001j.c11</a>  <br />
<a href="https://www.bell-labs.com/usr/dmr/www/hist.html#pipes" target="_blank" rel="noopener" class="mycode_url">https://www.bell-labs.com/usr/dmr/www/hist.html#pipes</a>  <br />
<br />
roff:  <br />
<a href="https://en.wikipedia.org/wiki/Roff_(computer_program)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Roff_(computer_program)</a>  <br />
<a href="https://www.gnu.org/software/groff/manual/html_node/History.html" target="_blank" rel="noopener" class="mycode_url">https://www.gnu.org/software/groff/manua...story.html</a>  <br />
<a href="http://troff.org/history.html" target="_blank" rel="noopener" class="mycode_url">http://troff.org/history.html</a>  <br />
<a href="https://manpages.bsd.lv/history.html" target="_blank" rel="noopener" class="mycode_url">https://manpages.bsd.lv/history.html</a>  <br />
<a href="https://lists.gnu.org/archive/html/groff/2014-02/msg00104.html" target="_blank" rel="noopener" class="mycode_url">https://lists.gnu.org/archive/html/groff...00104.html</a>  <br />
<a href="http://www.tuhs.org/cgi-bin/utree.pl?file=V1/man/man1/roff.1" target="_blank" rel="noopener" class="mycode_url">http://www.tuhs.org/cgi-bin/utree.pl?fil...an1/roff.1</a>  <br />
<br />
bc/dc:  <br />
<a href="http://man.cat-v.org/unix-1st/1/dc" target="_blank" rel="noopener" class="mycode_url">http://man.cat-v.org/unix-1st/1/dc</a>  <br />
<a href="https://en.wikipedia.org/wiki/Bc_(programming_language)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Bc_(programming_language)</a>  <br />
<a href="https://en.wikipedia.org/wiki/Dc_%28computer_program%29" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Dc_%28computer_program%29</a>  <br />
<a href="https://compilers.iecc.com/comparch/article/95-09-015" target="_blank" rel="noopener" class="mycode_url">https://compilers.iecc.com/comparch/article/95-09-015</a>  <br />
<a href="https://www.gnu.org/software/bc/manual/html_mono/bc.html" target="_blank" rel="noopener" class="mycode_url">https://www.gnu.org/software/bc/manual/h...no/bc.html</a>  <br />
<a href="http://online.offshore.com.ai/arms-trafficker/" target="_blank" rel="noopener" class="mycode_url">http://online.offshore.com.ai/arms-trafficker/</a>  <br />
<a href="http://www.cypherspace.org/rsa/" target="_blank" rel="noopener" class="mycode_url">http://www.cypherspace.org/rsa/</a>  <br />
<a href="http://fringe.davesource.com/Fringe/Crypt/RSA/Algorithm.html" target="_blank" rel="noopener" class="mycode_url">http://fringe.davesource.com/Fringe/Cryp...rithm.html</a>  <br />
<a href="http://www.cs.dartmouth.edu/~doug/reader.pdf" target="_blank" rel="noopener" class="mycode_url">http://www.cs.dartmouth.edu/~doug/reader.pdf</a>  <br />
<a href="http://webarchive.loc.gov/all/20100506231949/http://cm.bell-labs.com/cm/cs/who/dmr/hist.html" target="_blank" rel="noopener" class="mycode_url">http://webarchive.loc.gov/all/2010050623.../hist.html</a>  <br />
<br />
<br />
ed/ex:  <br />
<a href="http://man.cat-v.org/unix-1st/1/ed" target="_blank" rel="noopener" class="mycode_url">http://man.cat-v.org/unix-1st/1/ed</a>  <br />
<a href="http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/ed.c" target="_blank" rel="noopener" class="mycode_url">http://minnie.tuhs.org/cgi-bin/utree.pl?...c/cmd/ed.c</a>  <br />
<a href="https://en.wikipedia.org/wiki/Ed_(text_editor)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Ed_(text_editor)</a>  <br />
<a href="https://www.ibm.com/developerworks/community/blogs/brian/entry/ed_editor?lang=en" target="_blank" rel="noopener" class="mycode_url">https://www.ibm.com/developerworks/commu...or?lang=en</a>  <br />
<a href="https://sanctum.geek.nz/arabesque/category/ed/" target="_blank" rel="noopener" class="mycode_url">https://sanctum.geek.nz/arabesque/category/ed/</a>  <br />
<a href="https://en.wikipedia.org/wiki/Ex_(text_editor)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Ex_(text_editor)</a>  <br />
<a href="http://web.mit.edu/kolya/misc/txt/editors" target="_blank" rel="noopener" class="mycode_url">http://web.mit.edu/kolya/misc/txt/editors</a>  <br />
<a href="https://nixwindows.wordpress.com/2018/03/13/ed1-is-turing-complete/" target="_blank" rel="noopener" class="mycode_url">https://nixwindows.wordpress.com/2018/03...-complete/</a>  <br />
<br />
vi:  <br />
<a href="https://en.wikipedia.org/wiki/Vi" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Vi</a>  <br />
<a href="http://thomer.com/vi/vi.html" target="_blank" rel="noopener" class="mycode_url">http://thomer.com/vi/vi.html</a>  <br />
<a href="https://en.wikipedia.org/wiki/Bravo_(software)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Bravo_(software)</a>  <br />
<a href="http://www.viemu.com/a-why-vi-vim.html" target="_blank" rel="noopener" class="mycode_url">http://www.viemu.com/a-why-vi-vim.html</a>  <br />
<a href="https://en.wikipedia.org/wiki/Gosling_Emacs" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Gosling_Emacs</a>  <br />
<a href="https://en.wikipedia.org/wiki/GNU_Emacs" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/GNU_Emacs</a>  <br />
<a href="http://www.finseth.com/emacs.html#25" target="_blank" rel="noopener" class="mycode_url">http://www.finseth.com/emacs.html#25</a>  <br />
<a href="https://groups.google.com/forum/#!original/comp.os.minix/RhqVtXMWiN8/6GlQiUR7aeYJ" target="_blank" rel="noopener" class="mycode_url">https://groups.google.com/forum/#!origin...lQiUR7aeYJ</a>  <br />
<br />
g/re/p:  <br />
<a href="https://www.reddit.com/r/unix/comments/7meimh/something_interesting_that_i_read_today_about/" target="_blank" rel="noopener" class="mycode_url">https://www.reddit.com/r/unix/comments/7...day_about/</a>  <br />
<a href="https://en.wikipedia.org/wiki/Grep" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Grep</a>  <br />
<a href="https://medium.com/@rualthanzauva/grep-was-a-private-command-of-mine-for-quite-a-while-before-i-made-it-public-ken-thompson-a40e24a5ef48" target="_blank" rel="noopener" class="mycode_url">https://medium.com/@rualthanzauva/grep-w...0e24a5ef48</a>  <br />
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html" target="_blank" rel="noopener" class="mycode_url">http://pubs.opengroup.org/onlinepubs/969.../grep.html</a>  <br />
<a href="https://en.oxforddictionaries.com/definition/us/grep" target="_blank" rel="noopener" class="mycode_url">https://en.oxforddictionaries.com/definition/us/grep</a>  <br />
<br />
sed:  <br />
<a href="https://en.wikipedia.org/wiki/Sed" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Sed</a>  <br />
<a href="https://blog.sourcerer.io/a-brief-history-of-sed-6eaf00302ed" target="_blank" rel="noopener" class="mycode_url">https://blog.sourcerer.io/a-brief-histor...eaf00302ed</a>  <br />
<a href="http://groups.engin.umd.umich.edu/CIS/course.des/cis400/sed/sed.html" target="_blank" rel="noopener" class="mycode_url">http://groups.engin.umd.umich.edu/CIS/co...d/sed.html</a>  <br />
<a href="http://exactcode.com/opensource/minised/" target="_blank" rel="noopener" class="mycode_url">http://exactcode.com/opensource/minised/</a>  <br />
<br />
awk:  <br />
<a href="https://www.gnu.org/software/gawk/manual/html_node/History.html" target="_blank" rel="noopener" class="mycode_url">https://www.gnu.org/software/gawk/manual...story.html</a>  <br />
<a href="https://en.wikipedia.org/wiki/AWK" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/AWK</a>  <br />
<br />
Make:  <br />
<a href="https://en.wikipedia.org/wiki/Makefile" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Makefile</a>  <br />
<a href="https://en.wikipedia.org/wiki/Make_(software)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Make_(software)</a>  <br />
<a href="http://www.catb.org/esr/writings/taoup/html/ch15s04.html" target="_blank" rel="noopener" class="mycode_url">http://www.catb.org/esr/writings/taoup/h...15s04.html</a>  <br />
<br />
<a href="http://sasamat.xen.prgmr.com/michaelochurch/wp/index.php/2013/01/09/ide-culture-vs-unix-philosophy/" target="_blank" rel="noopener" class="mycode_url">http://sasamat.xen.prgmr.com/michaelochu...hilosophy/</a>  <br />
<a href="https://mkaz.tech/geek/unix-is-my-ide/" target="_blank" rel="noopener" class="mycode_url">https://mkaz.tech/geek/unix-is-my-ide/</a>  <br />
<a href="https://sanctum.geek.nz/arabesque/series/unix-as-ide/" target="_blank" rel="noopener" class="mycode_url">https://sanctum.geek.nz/arabesque/series/unix-as-ide/</a><br />
<a href="https://dspinellis.github.io/unix-history-man/" target="_blank" rel="noopener" class="mycode_url">https://dspinellis.github.io/unix-history-man/</a><br />
<br />
<br />
If you want to contribute check <a href="https://nixers.net/showthread.php?tid=1934" target="_blank" rel="noopener" class="mycode_url">this thread</a>.<br />
<br />
Music:<br />
Catmosphere - Candy-Coloured Sky: <a href="https://soundcloud.com/argofox/catmosphere-candy-coloured-sky?in=photochic16/sets/creative-commons-license" target="_blank" rel="noopener" class="mycode_url">https://soundcloud.com/argofox/catmosphe...ns-license</a>]]></description>
			<content:encoded><![CDATA[(This is part of the <a href="https://nixers.net/showthread.php?tid=1656" target="_blank" rel="noopener" class="mycode_url">podcast</a> discussion extension)<br />
<br />
After an even longer hiatus, here it is:<br />
<br />
Tools, glue, scripts, and automation on Unix<br />
<br />
Link of the recording [ <a href="https://github.com/nixers-projects/podcast/blob/master/nixers-podcast-2018-03-03.mp3?raw=true" target="_blank" rel="noopener" class="mycode_url">https://github.com/nixers-projects/podca...3?raw=true</a> <a href="http://podcast.nixers.net/feed/download.php?filename=nixers-podcast-2018-03-031.mp3" target="_blank" rel="noopener" class="mycode_url">http://podcast.nixers.net/feed/download....03-031.mp3</a> ]<br />
<br />
We take for granted scripting, automation, glue code, software as tools, so let's visit their history and learn more about them.<br />
<br />
<br />
References:<br />
<br />
Scripting or Glue-coding:  <br />
<a href="https://nixers.net/showthread.php?tid=1893" target="_blank" rel="noopener" class="mycode_url">https://nixers.net/showthread.php?tid=1893</a>  <br />
<a href="https://en.wikipedia.org/wiki/Scripting_language" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Scripting_language</a>  <br />
<a href="https://en.wikipedia.org/wiki/Glue_code" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Glue_code</a>  <br />
<a href="https://en.wikipedia.org/wiki/Adapter_pattern" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Adapter_pattern</a>  <br />
<a href="http://www.catb.org/~esr/writings/taoup/html/ch11s06.html" target="_blank" rel="noopener" class="mycode_url">http://www.catb.org/~esr/writings/taoup/...11s06.html</a>  <br />
<a href="http://www.columbia.edu/~rh120/ch001j.c11" target="_blank" rel="noopener" class="mycode_url">http://www.columbia.edu/~rh120/ch001j.c11</a>  <br />
<a href="https://www.bell-labs.com/usr/dmr/www/hist.html#pipes" target="_blank" rel="noopener" class="mycode_url">https://www.bell-labs.com/usr/dmr/www/hist.html#pipes</a>  <br />
<br />
roff:  <br />
<a href="https://en.wikipedia.org/wiki/Roff_(computer_program)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Roff_(computer_program)</a>  <br />
<a href="https://www.gnu.org/software/groff/manual/html_node/History.html" target="_blank" rel="noopener" class="mycode_url">https://www.gnu.org/software/groff/manua...story.html</a>  <br />
<a href="http://troff.org/history.html" target="_blank" rel="noopener" class="mycode_url">http://troff.org/history.html</a>  <br />
<a href="https://manpages.bsd.lv/history.html" target="_blank" rel="noopener" class="mycode_url">https://manpages.bsd.lv/history.html</a>  <br />
<a href="https://lists.gnu.org/archive/html/groff/2014-02/msg00104.html" target="_blank" rel="noopener" class="mycode_url">https://lists.gnu.org/archive/html/groff...00104.html</a>  <br />
<a href="http://www.tuhs.org/cgi-bin/utree.pl?file=V1/man/man1/roff.1" target="_blank" rel="noopener" class="mycode_url">http://www.tuhs.org/cgi-bin/utree.pl?fil...an1/roff.1</a>  <br />
<br />
bc/dc:  <br />
<a href="http://man.cat-v.org/unix-1st/1/dc" target="_blank" rel="noopener" class="mycode_url">http://man.cat-v.org/unix-1st/1/dc</a>  <br />
<a href="https://en.wikipedia.org/wiki/Bc_(programming_language)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Bc_(programming_language)</a>  <br />
<a href="https://en.wikipedia.org/wiki/Dc_%28computer_program%29" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Dc_%28computer_program%29</a>  <br />
<a href="https://compilers.iecc.com/comparch/article/95-09-015" target="_blank" rel="noopener" class="mycode_url">https://compilers.iecc.com/comparch/article/95-09-015</a>  <br />
<a href="https://www.gnu.org/software/bc/manual/html_mono/bc.html" target="_blank" rel="noopener" class="mycode_url">https://www.gnu.org/software/bc/manual/h...no/bc.html</a>  <br />
<a href="http://online.offshore.com.ai/arms-trafficker/" target="_blank" rel="noopener" class="mycode_url">http://online.offshore.com.ai/arms-trafficker/</a>  <br />
<a href="http://www.cypherspace.org/rsa/" target="_blank" rel="noopener" class="mycode_url">http://www.cypherspace.org/rsa/</a>  <br />
<a href="http://fringe.davesource.com/Fringe/Crypt/RSA/Algorithm.html" target="_blank" rel="noopener" class="mycode_url">http://fringe.davesource.com/Fringe/Cryp...rithm.html</a>  <br />
<a href="http://www.cs.dartmouth.edu/~doug/reader.pdf" target="_blank" rel="noopener" class="mycode_url">http://www.cs.dartmouth.edu/~doug/reader.pdf</a>  <br />
<a href="http://webarchive.loc.gov/all/20100506231949/http://cm.bell-labs.com/cm/cs/who/dmr/hist.html" target="_blank" rel="noopener" class="mycode_url">http://webarchive.loc.gov/all/2010050623.../hist.html</a>  <br />
<br />
<br />
ed/ex:  <br />
<a href="http://man.cat-v.org/unix-1st/1/ed" target="_blank" rel="noopener" class="mycode_url">http://man.cat-v.org/unix-1st/1/ed</a>  <br />
<a href="http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/ed.c" target="_blank" rel="noopener" class="mycode_url">http://minnie.tuhs.org/cgi-bin/utree.pl?...c/cmd/ed.c</a>  <br />
<a href="https://en.wikipedia.org/wiki/Ed_(text_editor)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Ed_(text_editor)</a>  <br />
<a href="https://www.ibm.com/developerworks/community/blogs/brian/entry/ed_editor?lang=en" target="_blank" rel="noopener" class="mycode_url">https://www.ibm.com/developerworks/commu...or?lang=en</a>  <br />
<a href="https://sanctum.geek.nz/arabesque/category/ed/" target="_blank" rel="noopener" class="mycode_url">https://sanctum.geek.nz/arabesque/category/ed/</a>  <br />
<a href="https://en.wikipedia.org/wiki/Ex_(text_editor)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Ex_(text_editor)</a>  <br />
<a href="http://web.mit.edu/kolya/misc/txt/editors" target="_blank" rel="noopener" class="mycode_url">http://web.mit.edu/kolya/misc/txt/editors</a>  <br />
<a href="https://nixwindows.wordpress.com/2018/03/13/ed1-is-turing-complete/" target="_blank" rel="noopener" class="mycode_url">https://nixwindows.wordpress.com/2018/03...-complete/</a>  <br />
<br />
vi:  <br />
<a href="https://en.wikipedia.org/wiki/Vi" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Vi</a>  <br />
<a href="http://thomer.com/vi/vi.html" target="_blank" rel="noopener" class="mycode_url">http://thomer.com/vi/vi.html</a>  <br />
<a href="https://en.wikipedia.org/wiki/Bravo_(software)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Bravo_(software)</a>  <br />
<a href="http://www.viemu.com/a-why-vi-vim.html" target="_blank" rel="noopener" class="mycode_url">http://www.viemu.com/a-why-vi-vim.html</a>  <br />
<a href="https://en.wikipedia.org/wiki/Gosling_Emacs" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Gosling_Emacs</a>  <br />
<a href="https://en.wikipedia.org/wiki/GNU_Emacs" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/GNU_Emacs</a>  <br />
<a href="http://www.finseth.com/emacs.html#25" target="_blank" rel="noopener" class="mycode_url">http://www.finseth.com/emacs.html#25</a>  <br />
<a href="https://groups.google.com/forum/#!original/comp.os.minix/RhqVtXMWiN8/6GlQiUR7aeYJ" target="_blank" rel="noopener" class="mycode_url">https://groups.google.com/forum/#!origin...lQiUR7aeYJ</a>  <br />
<br />
g/re/p:  <br />
<a href="https://www.reddit.com/r/unix/comments/7meimh/something_interesting_that_i_read_today_about/" target="_blank" rel="noopener" class="mycode_url">https://www.reddit.com/r/unix/comments/7...day_about/</a>  <br />
<a href="https://en.wikipedia.org/wiki/Grep" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Grep</a>  <br />
<a href="https://medium.com/@rualthanzauva/grep-was-a-private-command-of-mine-for-quite-a-while-before-i-made-it-public-ken-thompson-a40e24a5ef48" target="_blank" rel="noopener" class="mycode_url">https://medium.com/@rualthanzauva/grep-w...0e24a5ef48</a>  <br />
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html" target="_blank" rel="noopener" class="mycode_url">http://pubs.opengroup.org/onlinepubs/969.../grep.html</a>  <br />
<a href="https://en.oxforddictionaries.com/definition/us/grep" target="_blank" rel="noopener" class="mycode_url">https://en.oxforddictionaries.com/definition/us/grep</a>  <br />
<br />
sed:  <br />
<a href="https://en.wikipedia.org/wiki/Sed" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Sed</a>  <br />
<a href="https://blog.sourcerer.io/a-brief-history-of-sed-6eaf00302ed" target="_blank" rel="noopener" class="mycode_url">https://blog.sourcerer.io/a-brief-histor...eaf00302ed</a>  <br />
<a href="http://groups.engin.umd.umich.edu/CIS/course.des/cis400/sed/sed.html" target="_blank" rel="noopener" class="mycode_url">http://groups.engin.umd.umich.edu/CIS/co...d/sed.html</a>  <br />
<a href="http://exactcode.com/opensource/minised/" target="_blank" rel="noopener" class="mycode_url">http://exactcode.com/opensource/minised/</a>  <br />
<br />
awk:  <br />
<a href="https://www.gnu.org/software/gawk/manual/html_node/History.html" target="_blank" rel="noopener" class="mycode_url">https://www.gnu.org/software/gawk/manual...story.html</a>  <br />
<a href="https://en.wikipedia.org/wiki/AWK" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/AWK</a>  <br />
<br />
Make:  <br />
<a href="https://en.wikipedia.org/wiki/Makefile" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Makefile</a>  <br />
<a href="https://en.wikipedia.org/wiki/Make_(software)" target="_blank" rel="noopener" class="mycode_url">https://en.wikipedia.org/wiki/Make_(software)</a>  <br />
<a href="http://www.catb.org/esr/writings/taoup/html/ch15s04.html" target="_blank" rel="noopener" class="mycode_url">http://www.catb.org/esr/writings/taoup/h...15s04.html</a>  <br />
<br />
<a href="http://sasamat.xen.prgmr.com/michaelochurch/wp/index.php/2013/01/09/ide-culture-vs-unix-philosophy/" target="_blank" rel="noopener" class="mycode_url">http://sasamat.xen.prgmr.com/michaelochu...hilosophy/</a>  <br />
<a href="https://mkaz.tech/geek/unix-is-my-ide/" target="_blank" rel="noopener" class="mycode_url">https://mkaz.tech/geek/unix-is-my-ide/</a>  <br />
<a href="https://sanctum.geek.nz/arabesque/series/unix-as-ide/" target="_blank" rel="noopener" class="mycode_url">https://sanctum.geek.nz/arabesque/series/unix-as-ide/</a><br />
<a href="https://dspinellis.github.io/unix-history-man/" target="_blank" rel="noopener" class="mycode_url">https://dspinellis.github.io/unix-history-man/</a><br />
<br />
<br />
If you want to contribute check <a href="https://nixers.net/showthread.php?tid=1934" target="_blank" rel="noopener" class="mycode_url">this thread</a>.<br />
<br />
Music:<br />
Catmosphere - Candy-Coloured Sky: <a href="https://soundcloud.com/argofox/catmosphere-candy-coloured-sky?in=photochic16/sets/creative-commons-license" target="_blank" rel="noopener" class="mycode_url">https://soundcloud.com/argofox/catmosphe...ns-license</a>]]></content:encoded>
		</item>
	</channel>
</rss>