I moved across the country and started a new job at the end of 2018, putting an end to what was otherwise a great year for this website. Now I’m back at it, starting with:
My ambitious new project, Dave’s Slackware Package Blog, has begun! I’m getting my hands dirty with every Slackware package and writing up my experiences. I also explain how and why I’m doing this:
PkgBlog - my Slackware Package Blog
After the switch to Hugo, I started writing a ton of new content. It’s been technically up here on ratfactor.com the whole time, but I was waiting to iron some things out before I linked to them. So two months later, I’m finally exposing the links to the new content:
This has been a big year for the website! After years of relying on various PHP template systems (of my own devising) and a static site generator I wrote in Nim and then Perl, I’ve finally converted (almost) everything to the AsciiDoc format and am generating the site with Hugo. There is a ton of new content, but a lot of it is in draft form, so I haven’t linked to it yet. It’s so close, I can almost smell it.
Have finally upgraded my main work (as in "day job") project to Mithril 1.1.6 (mithril.js.org). There have been some excellent changes from the old 0.2.x API. However, I have had a couple issues so far:
Continuing to use Ruby as my main "scripting" language. Why did I wait this long to learn it? Probably because I was so tired of the search for the "perfect" language. I now wish I’d put Ruby higher in the queue. To aid my learning, I wrote an imperfect simulation of the boardgame Monopoly Junior:
Have been trying to clear out a huge backlog of software development reading. Created a chronological index of Steve Yegge’s blog posts:
This year is Ratfactor.com’s 20th anniversary!
Learned Ruby and re-learned Nim at the tail end of the year. The plan: Ruby for "scripting" tasks and Nim for applications and larger projects.
I finally dove into "Apache and the Mystery of the Fully Qualified Domain Name". The following article started as an answer on Stack Overflow, but morphed into something else as I learned more:
I’ve been using Slackware Linux as my desktop OS exclusively for over half a year and loving it. One of my favorite recent discoveries has been the dynamic Window manager dwm. It’s actually quite intuitive to use, but learning it from the man page was a bit of a hurdle. So I’ve made this visual guide for it:
After two years, my Mithril tutorial has been rewritten and I’ve added a part 2!
The Mithril articles required the use of a new utility for displaying the source of the examples from <script> tags, so Galadriel’s Mirror was born.
This website finally got an update. I’m now generating all new content (and this page) with my txt-to-html converter called Bride of Text. It’s written in Perl 5 (perl.org). I also use it for the notes I keep on my desktop computer.
Bride of Text (bitbucket.org)
After threatening to do so for years, I finally ditched Windows for Slackware Linux (slackware.com) as my main desktop OS. I have learned a lot and have been living in command-line bliss ever since. Lengthy article or small book tentatively titled "Dave’s Guide to Slackware" pending (I’m in the note-gathering phase).
I wrote a prototype static website generator called NoteGoat in PHP. I then wrote its successor, Bride of Text in the Nim language (nim-lang.org). Finally, I wrote a new Bride of Text in Perl in 2017 (see above).
NoteGoat old prototype (bitbucket.org)
I also tried out a bunch of personal wikis including PmWiki (pmwiki.org), which I used for at least six months. Eventually, I wrote my own, called Krumpli before finally coming back to my senses and rediscovering my true love - plaintext!
Krumpli (abandoned) (bitbucket.org)
I wrote some fairly popular articles on circular slide rule watches, repairing Yashica TLR camera shutters, Mercurial, and the sumproduct function in MS Excel.
I continued to learn new programming languages (Scheme comes to mind in particular), but did not create any abitious projects with them.
Created the Fancy Friends web comic. I didn’t yet have the stamina to keep up the weekly schedule and so I never gave it a chance to really go anywhere:
The site got a much-needed re-write to a PHP templating system called "Darts" (from its predecessor "Dots" - both names stood for "Dave’s something something Template System"). Darts was unique in that the template itself was an executable script that would transpile using the system (first checking for a more recent cached copy) into the final page. As I write this in 2017, some of the pages on this site are still running Darts.
And also some web-based programs to amuse:
I learned C++ (initially from Stroustrup’s tome (openlibrary.org) and branching out from there). But I didn’t do much of anything with it. Looking back, it is hard to say if this was a colossal waste of effort or if I learned valuable things from it.
Ratfactor.com and all of its contents had been completely rewritten at least once every 1.5 years since its inception. Web technology had been moving very quickly in that first decade.
I released BETRIC which was an in-browser virtual computer written in PHP (!) that had a working assembler, disassembler, and primitive machine code instruction set. Very educational.
I also created and posted designs for a trebuchet, which was somewhat popular for a while. I know at least one group of Boyscouts made a scaled up trebuchet based on my design, which was really cool.
Though I didn’t realize it at the time, I had finally achieved one of my childhood goals by writing a primitive 2D game engine in assembly and C. My resources were The White Book (openlibrary.org), LaMothe’s Black Art (openlibrary.org) and Lafore’s Assembly Language Primer (openlibrary.org). It was incomplete and I never actually made any games, so it was hard to see it as the victory it was.
Around this time, I switched my web development from Perl to PHP. I released the first version of a PHP HTML-based text adventure game engine. The game files had a C-like syntax and had variables, conditionals, etc. I ended up re-writing the engine several times.
I made some interesting toys in Java - one that converted BMP images to POV-Ray raytracer files (so you could render a 2D bitmap as a field of colored objects representing the pixels of the image) and one that converted JPEG images to HTML tables (with each cell of the table showing a colored pixel from the image) which would typically blow up Netscape Navigator.
I got on the Java train. I wrote a Java applet (wikipedia.org) which became the the main navigation for this website for about a year before I tired of it.
I started working as a "full-stack" developer before we had that term. From Flash to HTML to ASP to SQL Server databases to managing an NT network configuring Cisco routers and swapping power supplies. That kind of full stack. As a developer, I got all of my clumsy, beginner foolin' around out of my system while the Web itself was going through the same stages of growth.
I wrote my first piece of commercial software - a CGI web application in Perl with a homebrew database format! The company I sold it to went out of business and rumor had it the owner was busted on cocaine charges! I’ve been forever thankful I never had to maintain that code, but it was great to have built something complete.
I registered the ratfactor.com domain in February. Prior to that, I had been building web pages and hosting them on the space provided by my ISPs (these were the wild-west dial-up days). The prime feature of was Dave and Jim’s B-Movie Reviews. The movie reviews lasted for a number of years and several hundred reviews.
(Screenshot goes here, if I can find one)
Thanks for reading.