all about raw sewage (the website)

Background

The raw sewage name stems from its roots as a bulletin board system (BBS). Before the Internet reached its current proportions, PC users used modems to dial into other PCs to electronically communicate with others and share files. Although the raw sewage BBS was a tiny operation---one dialup node running on a 486 under DESQview---I put a lot of time and effort into making it a quality system. I drew up a lot of respectable ANSI art for my BBS. I also wrote custom add-on software: the BBS software was called PCBoard, and it came with its own development language, PPL (PCBoard Programming Language).

Eventually, I found enlightenment in free Unix-like operating systems for PCs, starting with Linux. I named my computer "sewage" to preserve the heritage of my bulletin board. I did a presentation for a college class titled, "Why I Use Linux". Some day I'll track it down and post it here.

The first web version of raw sewage was created back when I was in college: it came to my attention that I had some free webserver space available to me. I taught myself the basics of HTML and brought raw sewage to the web. In its first, second and third versions, raw sewage on-the-web was nothing more than a page of my favorite links---a glorified bookmarks page.

During an internship, I was mostly doing web programming. I started by working in ASP, which is awful. Fortunaly, I had the power to use whatever system I wanted. So I started using PHP. Although they are conceptually the same, PHP, in my opinion, has every conceivable advantage over ASP. Furthermore, ASP's language is VBScript, where PHP has a syntax much like Perl and C. I became addicted to PHP programming, and decided it was time to make a more "substantial" version of raw sewage.

My career path has taken me away from web development, though it has remained a hobby of varying intensity over the years (currently the intensity level is so low that intensity is not really an appropriate word!). From time to time I find myself motivated to add some new content on the web. Because the attention I pay to this site often wanes for long stretches, I learned the hard way about website vulnerabilities. I briefly dabbled with WordPress as a means for maintaining site content, and my site was p0wned due to my failure to keep WordPress updated with it's continuous stream of security fixes. The only solution I could see to this problem, given my infrequent usage, was to convert the site to one that is entirely static.

Web Stuff

This site is intended to be simple, lightweight, and useful across most common platforms... with minimal work on my part. A static site generator is the first step is meeting some of those goals. It's not terribly hard to make a very rudimentary static site generator, and I initially started down that road. Fortunately I was able to get past my initial not invented here mindset and use an already-existing tool.

My initial goals for a static site generator were (1) simple, (2) built with Python, and (3) supported reStructuredText as a markup language. I found wok which perfectly fit the bill. This was a nice little project, and I used it happily for years. I even submitted a small tweak or two. As of 2022, the project is now archived on GitHub.

In 2022, I decided the website was long overdue for a refresh. Seeing as wok has been abandoned, I set out to find something with a modified set of goals: (1) simple, (2) supports Markdown, and (3) is fairly popular to hopefully avoid becoming abandonware. Eleventy/11ty fit the bill perfectly.

A word on the switch from reStructuredText to Markdown: I think reStructuredText is arguably a more powerful markup language. But, for me, that power translates to greater overhead when I want to add new content. If I was posting regularly, then I might continue to demand a richer markup language than Markdown. But in my everyday use of the web, I find increasing use of Markdown (e.g. Reddit, GitHub readme). I also find Markdown to be simpler and more intuitive, at least for the most common constructs. So between encountering it more often, and finding it generally easier to use, transitioning to Markdown should hopefully lower than barrier to creating new content. Time will tell!

The last piece of the puzzle was finding a suitable CSS framework. It appears that CSS has evolved tremendously since its inception. Around the time of it's initial introduction, I was well past doing any kind of regular web development for fun or as a hobby. So never really invested any meaningful amount of time into learning CSS, and I certainly haven't kept pace with it as it's grown and evolved. So my needs, in terms of CSS, isn't so much a framework, as just a bare-minimum bit of starter code. I did some web searches for things like "minimalistic css" or "lightweight css framework". My searches led me to this Hacker News discussion: it's about the Pico CSS Framework, which I did not try, but looks interesting; but, for me, the big reveal was this: GitHub: dropin-minimal-css, which is both a collection of small/minimalistic/lightweight CSS frameworks, along with a demo site! Not only that, but there's code for a little widget you can trivially add to your own site, which makes it easy to quickly try all these simple CSS frameworks on your own site.

Ultimately, I settled on Sakura CSS, as it ticked a lot of boxes for me. It starts off with normalize, which generally seems like a good idea (and I used a previous version of normalize in the prior version of this website). The CSS itself is indeed quite small, simple and readable, and works with a single drop-in file. Not only that, but there are a few versions with different color schemes, including a dark mode.

I should also mention that the Eleventy website has a huge collection of starter projects. The only "problem" is that the sheer number available. A good problem to have, for sure, but intimidating for someone who basically just wants something that's essentially just one step beyond a favorite links page. Also, I clearly do not have the same definition of "minimalist" or "lightweight" as the authors of some of those starter projects! That said, there were a few that I explored a bit as possible candidates to use here:

Contact

I'm old-school, use email: matthew.garman@gmail.com.