A Repository of Mostly Techie Notes

Welcome to decuser’s blog

Topics on this blog include computing, retro-computing, operating systems, math, and whatever other technical subjects I happen to be exploring that I find interesting enough to take and share notes about.


    • MACLISP in ITS running on an emulated PDP-10

      This is a longer note that describes the process of getting ITS (Incompatible Timesharing System) up and running in order to run MACLISP. ITS is quite a large system and it has many different programming languages and programs available. In this note, we will only be using lisp and emacs, but future notes will explore logo, and perhaps other languages found in the distribution.


    • Franz LISP Opus 32 in 3BSD running on an emulated VAX 780

      This note describes how to set up and run Franz LISP Opus 32 running on 3BSD running on an emulated VAX 780. This version of Franz LISP is Opus 32 and it is a LISP 1.5 derived LISP from 1979.


    • pdp1-lisp running on an emulated PDP-1

      This note describes how to set up and run PDP-1 lisp. It’s a pretty brief walkthrough. If you run into any issues, let me know.


    • Rob Pike's LISP 1.5 in Go running on Debian 12

      This note describes how to set up and run Rob Pike’s LISP 1.5 in Go.

      LISP 1.5 was the first LISP that was made generally available. Rob Pike implemented a minimalist version of the EVALQUOTE function described on page 13 of the LISP 1.5 Programmer’s Manual https://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf or grab a local copy


    • LISP 1.5 running on an emulated IBM 7094

      This note describes how to set up and run the oldest available ancestor of all extant LISPS and Schemes.

      LISP 1.5 was the first LISP that was made generally available. It is available to run on the OpenSIMH IBM 7094 emulator.


    • Schemes, LISPs, and Lambda

      This note sets up a series of related notes pertaining to my explorations in LISP and Scheme. I began to be interested in functional programming a few years ago and started looking around to find resources to learn it… in my limited spare time. After finding some resources, I would study it, set it aside as too esoteric, pick it up again thinking - this is it, I’m going to master this one way or another, only to set it aside as frustratingly difficult to understand and lacking in applicability. Lately though, I have found some standout resources and worked through enough of them to begin to actually get my mind wrapped around functional programming. Below you will find a brief, informal annotated bibliography of sorts and an explanation of what’s coming in the further explorations into implementations.

    • Installing and Using Research Unix Version 7 on the OpenSIMH PDP-11 Emulator

      A video walking the user through the process of installing and using Research Unix Version 7 on the Open SIMH PDP-11/45 and PDP-11/70 emulators.


    • UCB STk Scheme Interpreter for Working Through Brian Harvey's CS61A Course

      This note describes how to install the UCB STk 4.0.1 Scheme interpreter on modern 64 bit Debian based systems. It also describes a method of building the Debian Package used to install the program. This is the version of scheme used by Brian Harvey in his 2011 course, CS61A: Structure and Interpretation of Computer Programs, named after and using famed text, Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Jay Sussman with Julie Sussman, a phenomenally good computer science textbook.

      Now, I’m not a package maintainer and I certainly don’t know the nuances of building packages, this is just meant to document how I was able to get this working in 2023 after reading tons of “too bad, so sad, I can’t get it to work posts”, YMMV, but I’ve tested on LMDE5 (Elsie), Mint 21.1 (Vera), MX Linux 21.3 (Wildflower), and Ubuntu 22.04.2 (Jammy Jellyfish).

      Here’s a screenshot of the working system running on LMDE5:


    • Setting up Slackware 15 on T430 for X Window Programming

      The note walks through the process of installing and configuring a working Slackware 15 64 instance with the packages mirrored locally for ease of access and eliminating the need to be online as much. When the system is up and running it provides xdm services to nearby hosts (those on the local network). This makes running and testing x window clients simpler and more interesting. You may notice that the note references other environments that you may not have or want to use (MacOS Mojave and FreeBSD 13.1). Just ignore those references as they are not strictly required.

      I chose Slackware 15 64 as the environment after trying out various flavors of Debian, Arch, Kwort and others. While these worked ok, they did not provide much of a clean, vanilla x experience. Slackware, on the other hand, provided a sane, simple, and understandable x environment that was pretty vanilla :). It feels really good to get back to Slackware and its simplicity. I don’t have a gazillion processes running doing who knows what, the laptop sleeps without crazy interventions, and stuff works well. That said, Slackware is not for the faint of heart. You should be somewhat familiar with Linux and it’s command line interface and be willing to do your own research before jumping into it.


    • A Modern PDF Cleanup Workflow

      This note provides a workflow for taking a less than optimized PDF and optimizing it for viewing and printing. It isn’t a cure-all for sick PDF’s, but it does work for a lot of them. I’ve struggled with badly scanned PDF’s for a long time and this workflow represents my current best approach.

      The note also provides a cookbook of solutions to problems I have run up against and the solutions that I currently use to address those problems.

    • 1
    • 2