changeset 1:da780d885325

more
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 07 Apr 2022 19:54:29 -0600
parents c604a58600be
children a247572ccaac
files .hgignore src/existing.html.luan src/index.html.luan src/lib/Shared.luan src/mercurial.html.luan src/mercurial_hosting.html.luan src/needed.html.luan src/this.html.luan
diffstat 8 files changed, 172 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Thu Apr 07 16:06:10 2022 -0600
+++ b/.hgignore	Thu Apr 07 19:54:29 2022 -0600
@@ -2,3 +2,4 @@
 
 err
 push.sh
+mine/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/existing.html.luan	Thu Apr 07 19:54:29 2022 -0600
@@ -0,0 +1,32 @@
+local Luan = require "luan:Luan.luan"
+local error = Luan.error
+local Io = require "luan:Io.luan"
+local Http = require "luan:http/Http.luan"
+local Shared = require "site:/lib/Shared.luan"
+local head = Shared.head or error()
+local existing_header = Shared.existing_header or error()
+
+
+return function()
+	Io.stdout = Http.response.text_writer()
+%>
+<!doctype html>
+<html>
+	<head>
+<%		head() %>
+		<title>Existing Reactionary Software</title>
+	<head>
+	<body>
+<%		existing_header() %>
+		<div content>
+			<h1>Existing Reactionary Software</h1>
+			<ul links>
+				<li><a href="/mercurial.html">Mercurial</a></li>
+				<li><a href="http://www.luan.software/">Luan</a></li>
+				<li><a href="/this.html">This Website</a></li>
+			</ul>
+		</div>
+	</body>
+</html>
+<%
+end
--- a/src/index.html.luan	Thu Apr 07 16:06:10 2022 -0600
+++ b/src/index.html.luan	Thu Apr 07 19:54:29 2022 -0600
@@ -31,6 +31,8 @@
 			<h3>Make software great again!</h3>
 			<p>For programmers who hate modern software.  Modern software is overcomplicated, bloated, unreliable, incomprehensible, pointlessly ideological, and mostly unusable.  We like the values of older software: simplicity, reliability, and usability.</p>
 			<ul links>
+				<li><a href="/existing.html">Existing Reactionary Software</a></li>
+				<li><a href="/needed.html">Needed Reactionary Software</a></li>
 				<li><a href="/discussion.html">Discussion</a></li>
 			</ul>
 		</div>
--- a/src/lib/Shared.luan	Thu Apr 07 16:06:10 2022 -0600
+++ b/src/lib/Shared.luan	Thu Apr 07 19:54:29 2022 -0600
@@ -1,5 +1,6 @@
 local Luan = require "luan:Luan.luan"
 local error = Luan.error
+local ipairs = Luan.ipairs or error()
 
 
 local Shared = {}
@@ -13,12 +14,24 @@
 <%
 end
 
-function Shared.header()
+local function header(crumbs)
 %>
 		<div header>
 			<a href="/">Reactionary Software</a>
+<%	for _, crumb in ipairs(crumbs or {}) do %>
+			/ <%=crumb%>
+<%	end %>
 		</div>
 <%
 end
+Shared.header = header
+
+function Shared.existing_header()
+	header{[[<a href="/existing.html">Existing</a>]]}
+end
+
+function Shared.needed_header()
+	header{[[<a href="/needed.html">Needed</a>]]}
+end
 
 return Shared
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mercurial.html.luan	Thu Apr 07 19:54:29 2022 -0600
@@ -0,0 +1,35 @@
+local Luan = require "luan:Luan.luan"
+local error = Luan.error
+local Io = require "luan:Io.luan"
+local Http = require "luan:http/Http.luan"
+local Shared = require "site:/lib/Shared.luan"
+local head = Shared.head or error()
+local existing_header = Shared.existing_header or error()
+
+
+return function()
+	Io.stdout = Http.response.text_writer()
+%>
+<!doctype html>
+<html>
+	<head>
+<%		head() %>
+		<title>Reactionary Software - Mercurial</title>
+	<head>
+	<body>
+<%		existing_header() %>
+		<div content>
+			<h1>Mercurial</h1>
+
+			<p><a href="https://git-scm.com/">Git</a> and <a href="https://www.mercurial-scm.org/">Mercurial</a> provide roughly the same functionality and were developed at around the same time (2005), yet Git is clearly horrible modern software while Mercurial is good reactionary software.  So what is the difference?  The difference is in the design which reflects completely different values.  Git reflects modern values, so it is a disgusting bloated overcomplicated unreliable mess.  Mercurial reflects reactionary (older) values, so it is simple, clean, and reliable.  Naturally, modern programmers overwhelmingly prefer Git.</p>
+
+			<p>I only played with Git briefly before I recognized it as an unacceptable horror, so I will refer to others to describe these horrors in detail - <a href="http://jordi.inversethought.com/blog/enough-git/">here</a>, <a href="http://jordi.inversethought.com/blog/on-gitology/">here</a>, and <a href="https://stevebennett.me/2012/02/24/10-things-i-hate-about-git/">here</a>.  I then looked for an alternative and found Mercurial which is good.  There may also be other good alternatives but I haven't researched this, so I am only posting about Mercurial.</p>
+
+			<p>I listed Mercurial first in the list of <a href="/existing.html">existing reactionary software</a> for a reason.  This is because the distinction between Git and Mercurial makes it trivial to distinguish between horrible modern software and good reactionary software.  The simple rule is that <b>all software whose source code is in Git is horrible modern software</b>.  This eliminates 99% of current open source software, so this saves an incredible amount of time for those of us who want good reactionary software.  All good software will be in Mercurial or some other Git alternative.</p>
+
+			<p>It should go without saying that anyone who is developing reactionary software should use Mercurial for source control.  Unfortunately there are no good <a href="/mercurial_hosting.html">hosting solutions</a>.  If you need hosting, I can add you to my hosting hack.</p>
+		</div>
+	</body>
+</html>
+<%
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mercurial_hosting.html.luan	Thu Apr 07 19:54:29 2022 -0600
@@ -0,0 +1,29 @@
+local Luan = require "luan:Luan.luan"
+local error = Luan.error
+local Io = require "luan:Io.luan"
+local Http = require "luan:http/Http.luan"
+local Shared = require "site:/lib/Shared.luan"
+local head = Shared.head or error()
+local needed_header = Shared.needed_header or error()
+
+
+return function()
+	Io.stdout = Http.response.text_writer()
+%>
+<!doctype html>
+<html>
+	<head>
+<%		head() %>
+		<title>Reactionary Software - Mercurial Hosting</title>
+	<head>
+	<body>
+<%		needed_header() %>
+		<div content>
+			<h1>Mercurial Hosting</h1>
+
+			<p>Last I checked, there are no good <a href="/mercurial.html">Mercurial</a> hosting solutions available.  So I use my own hack, for example for <a href="https://hg.luan.software/reactionary">this site</a>.  But a good solution is needed.  If you know of any good solutions, please let me know in a <a href="/discussion.html">discussion</a>.  If there aren't any good solutions, then it would worthwhile to develop one.</p>
+		</div>
+	</body>
+</html>
+<%
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/needed.html.luan	Thu Apr 07 19:54:29 2022 -0600
@@ -0,0 +1,30 @@
+local Luan = require "luan:Luan.luan"
+local error = Luan.error
+local Io = require "luan:Io.luan"
+local Http = require "luan:http/Http.luan"
+local Shared = require "site:/lib/Shared.luan"
+local head = Shared.head or error()
+local needed_header = Shared.needed_header or error()
+
+
+return function()
+	Io.stdout = Http.response.text_writer()
+%>
+<!doctype html>
+<html>
+	<head>
+<%		head() %>
+		<title>Needed Reactionary Software</title>
+	<head>
+	<body>
+<%		needed_header() %>
+		<div content>
+			<h1>Needed Reactionary Software</h1>
+			<ul links>
+				<li><a href="/mercurial_hosting.html">Mercurial Hosting</a></li>
+			</ul>
+		</div>
+	</body>
+</html>
+<%
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/this.html.luan	Thu Apr 07 19:54:29 2022 -0600
@@ -0,0 +1,29 @@
+local Luan = require "luan:Luan.luan"
+local error = Luan.error
+local Io = require "luan:Io.luan"
+local Http = require "luan:http/Http.luan"
+local Shared = require "site:/lib/Shared.luan"
+local head = Shared.head or error()
+local existing_header = Shared.existing_header or error()
+
+
+return function()
+	Io.stdout = Http.response.text_writer()
+%>
+<!doctype html>
+<html>
+	<head>
+<%		head() %>
+		<title>Reactionary Software - This Website</title>
+	<head>
+	<body>
+<%		existing_header() %>
+		<div content>
+			<h1>This Website</h1>
+
+			<p>This website is a tiny example of reactionary software.  The UI is clean and simple, not fashionable.  View the HTML source in the browser.  Unlike all modern websites, the HTML here is readable.  Now look at <a href="https://hg.luan.software/reactionary">the source</a> which is in <a href="/mercurial.html">Mercurial</a>.  And the code is written in <a href="http://www.luan.software/">Luan</a> which makes it simple.</p>
+		</div>
+	</body>
+</html>
+<%
+end