First steps in rational geometry | FQA 4

This is part of an ongoing series called Foundations of QAnal Outline Today we’re going to talk about very basic points and lines geometry. Specifically we are going to address the following questions: What is a point? What is a line? How do we calculate the line that intersects a pair of distinct points (the […]

Experimental new series: Foundations of QAnal

I may or may not stick with this. I am having horrible writer’s block trying to write this all out in a LaTeX PDF, Erlang, my videos, or in my Revelations. So I’m trying the blog medium. The blog has the “fire and forget” property. So we’ll see. QAnal is my fork of mathematics. QAnal […]

Erlang: How to browse ZX/Erlang source files on Windows

Windows is a profoundly annoying development platform for non-MS languages and a fairly rare deployment target so it doesn’t really get much in the way of attention or tooling. The smoothest Erlang experience on Windows so far is running applications via Vapor (a GUI frontend for ZX), but that depends on applications being developed and […]

Erlang: Protip — `throw` is an antipattern

throw is bad. EEP 0049 is a whole set of bad ideas. Deeply nested case is bad. Using if where it doesn’t belong is bad. try … catch is bad, but there are a handful of builtins and library functions that force you to use it instead of providing an ok | error return (use […]

Erlang: Video tutorial HOWTO on installing Erlang and ZX from scratch on Ubuntu Linux

I’m flattered to find that Dr. Kumar made a tutorial video of how to install Erlang and ZX on a fresh Ubuntu system and check that it is working by playing Erltris. It is sort of a video version of previous instructionals and the ZX quickstart docs all in one place. Big thanks to Dr. […]

Erlang: FizzBuzz in Python vs Erlang — a discussion about conditionals

I’ve had a few discussions with beginners over the last few months that often come to center around not really understanding the conditional branching constructs in Erlang, so I decided to do a video on it using “FizzBuzz” as the central example. The traditional if/else if/else boolean paradigm is quite different from Erlang’s concept of […]

Erlang: Building a Telnet Chat Server from Scratch Using ZX

A few weeks ago I made a two-part video discussion about building a telnet chat server from scratch using ZX and forgot to post any prose reference to it. (Most people are following my blog RSS, not my (extremely tiny) video channels.) The resulting project is called “Trash Talk” and it has a repo on […]

Erlang: Dispatching Closures (aka: why we don’t do OOP)

Oh my! It’s like “Creating nouns in the kingdom of verbs“!(The link above is to a great post from Steve Yegge — read it and come back if you aren’t already familiar with it.) I wrote a funny little module today to demonstrate to a friend why FP folks sometimes refer to OOP objects as […]

Erlang: [video] The GUI experience on Windows with ZX and Vapor

I’ve written and spoken a bit about how ZX makes it easy to create, distribute and launch templated GUI projects in Erlang. I also showed how the (still ugly) GUI program launcher Vapor can make it easy for non-technical desktop users to use those programs. So far I’ve been doing my examples on Linux where […]

Erlang: [Video] Creating and running GUI apps with ZX

I had a little bit of time to make a video on how to use ZX to create GUI applications, but not enough time to do any post processing. Hopefully the video demonstrates the basic use case well enough to make the purpose of the tool itself obvious. (The audio isn’t great — hopefully I’ll […]