• Certainly Not Mainstream

    I like reading source code but it’s hard to find suggestions for programs that make a good read. There are some lists floating around the web, but it’s always the same four or five projects – sqlite, xmonad, and so on. And it seemed to me that most people blurting out “sqlite” didn’t really read…

  • Continued

    Things I’ve learned today in my little Cray-1 adventure: The Cray-1 seems to use a Data General Eclipse as its control computer. The Eclipse’s OS is called RDOS – and that’s also the system the assembler is running on. (RDOS has the PROG/A/B switch syntax described in the assembler manual, and also uses the .SV…

  • Playing with Cray-1 Disks, Part 2

    (part 1) Nothing ground-breaking to report, yet – but I’m having a lot of fun so I thought I might as well blog about it. Today (well, actually yesterday, it’s 3:30am…) I’ve read the Cray Assembly Language manual I linked last time. It not only describes the architecture and instructions of the Cray-1 but also…

  • Playing with Cray-1 Disks

    You might have heard about the guy who made a fantastic small FPGA Cray-1. He also found two old backup disks, one of which contains the last known copy of the Cray Operating System. I’ve just started playing around with the disk images – it’s quite exciting! The non-COS disk seems to contain some kind…

  • Links

    Just some links I stumbled upon recently: The first one’s an interview with Ken Arnold, and also the best discussion about program design and OOP I’ve ever read. It’s actually the only discussion of OOP I know of that doesn’t revolve around solutions for self-inflicted problems. I couldn’t find a page with the whole text,…

  • Playing with Typography

    I’ve been playing with typography a bit lately. It’s a surprisingly addictive way to waste time. I’ve read Robert Bringhurst’s “The Elements of Typographic Style” and I rather liked it. The problem is, of course, once I’ve read it I couldn’t stop thinking about typography. I know that I do a lot of things very…

  • Tacit Programming in Racket, Part 2

    I’ve learned a bit more about tacit programming since last time. What I will attempt to do today is re-create the higher-order forms called hooks and forks in the J programming language in Racket. Monadic Forks Last time, I defined a function I called -<: What it does is best explained by an example: I…

  • Review – PLT Games February 2013

    A relatively new addition to the existing 423439 programming competitions on the web is PLT Games, a monthly programming language programming competition. (Though I don’t really know where the “competition” part is – one can rate languages but there seems to be no page for the results.) I’ve thought about taking part a number of…

  • Syntax Parameters: Usage

    This is just a short note, because I know I’ll forget it if I don’t write it down somewhere: Racket’s syntax parameters can be used to safely break hygiene in macros. As an example, say we want to create a macro define/return that makes an exit-continuation named return available in the function body – so…

  • Ping Turtle

    This is a graph of the ping responses of the www sub-domain of all 2-char DNS names for .com, .org, and .net (i.e. www.aa.com, www.ab.com, etc.). The color and angle of each line is a function of the IP-address, the length is proportional to the response time. (here’s the script that painted it) That’s a…