If you can’t explain something in simple terms, you don’t understand it
In the early 1960s, Richard Feynman gave a series of undergraduate lectures that were collected into a book called the Feynman Lectures on Physics. Absent from
The latest blog posts to take off on Hacker News. 2,470 posts.
In the early 1960s, Richard Feynman gave a series of undergraduate lectures that were collected into a book called the Feynman Lectures on Physics. Absent from
My redesign of the Ableton Live. The entire process and elaborate case study of UX and UI design including guerilla UX research, interviews, sketches, drafts, wireframes, iterations, interface ideas and everything in-between. UI design galore.
We learn how to encapsulate and compose TLA+ specifications, of the precise mathematical definition of abstraction, and compare TLA+'s notion of abstraction with those of other formalisms. Plus some various cool stuff.
Fifteen years ago Python’s GIL wasn’t a big issue. Concurrency was something dismissed as probably unnecessary. What people really was needed was a faster interpreter, after all, who had more than one CPU? But, slowly, as the requirement for concurrency increased, the problems with the GIL increased.
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
System programming in Rust: beyond safety Balasubramanian et al., HotOS’17 Balasubramanian et al. want us to switch all of our systems programming over to Rust. This paper sets out the case. …
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
The 1.0.0 of Idris has been released just a few months back, just enough to start trying out the language and some of the possibilities dependent typing offers. But this post is not about dependent…
For work-related reasons, I had to recently get up to speed on programming in Haskell. Before that, I had very little actual experience with the language, clocking probably at less than a thousand lines of working code over a couple of years. Nothing impressive either: some wrapper script here, some experimental…
Building your own UNIX shell in parts. This post explains how to execute commands.
How I modified DOSBox and the original Microsoft Flight Simulator 4 from 1989 to run on my immersive multi-display flight simulator set up.
Which is faster, keyboard or mouse? A large number of programmers believe that the keyboard is faster for all (programming-related) tasks. However, there are a few widely cited webpages on AskTog which claim that Apple studies show that using the mouse is faster than using the keyboard for everything and that people…
Many reverse-engineered versions of “KERNAL”, the C64’s ROM operating system exist, and some of them even in a form that can be built into the original binary. But how about building the original C64 KERNAL source with the original tools?
Eva Silverstein has a new preprint out, entitled The Dangerous Irrelevance of String Theory. The title is I guess intended to be playful, not referring to its accurate description of the current st…
QuickCheck is the grandfather of property-based testing libraries. Despite being imitated in over thirty languages, the original implementation remains pre-eminent due to the type system and consistent logic of the Haskell language in which it is written.
On the thirty-first anniversary of the Chernobyl nuclear accident, the biggest man-made environmental disaster in written history, over one hundred people from the former Soviet Union shared their …
alexstjohn.com is your first and best source for information about alexstjohn. Here you will also find topics relating to issues of general interest. We hope you find what you are looking for!
Personal blog about system engineering and devops
A quick overview of the various types of signal intelligence targets, with an emphasis on the Soviet Cold War systems
nix-derivation 1.0 announcement post
I was reading some articles on Hacker News about how we’ve lost the internet to big companies and how we are not doing anything about it and it got me thinking about Google’s Accelerated Mobile Pages…
TLA, the Temporal Logic of Actions is the core of TLA+. It is a temporal logic that minimizes the use of temporal reasoning in favor of more ordinary mathematics. It is a general mathematical framework for describing and reasoning about algorithms and systems.