RSSAmplifier

Blog

Subset Park

{loglevel, debug}

blog.zdsmith.comRSS feed ↗33 posts

Latest posts

Stolze-Smith

I recently spent about a year developing my own shorthand: [Smith Shorthand](https://www.smith-shorthand.com). It was a success; the result hung together well and I've been a happy user since then....

Brzozowski Derivatives: An Exercise in Combinatory Style

If you've never read [Parsing with Derivatives][derivatives], I recommend it enthusiastically. It's a brief, readable introduction to *Brzozowski Derivatives*---an exceptionally simple method for evaluating regular...

Two Bites of Data Science in K

Here are two digestible examples of data analysis using [K][]. Both cases are afternoon-scale projects I've done in the last few weeks. [K]: https://wiki.k-language.dev/wiki/Main_Page...

Il Bridge Sardo

In my documentation of [Mariglia](/pages/mariglia.html) I noted, somewhat in passing, that it's sometimes called _il bridge sardo_---Sardinian Bridge. Seen from above, Mariglia is a trick-taking game consisting of 2 teams of 2 players...

Smith Shorthand

In late 2019, [I wrote about](three-shorthands.html) a new shorthand system I was designing. [Less than six months later](a-curriculum-of-current-phonetic-shorthand.html) it was in the bin,...

A Combinatory Rosetta Stone

In [Combinatory Programming](./combinatory-programming.html), we attempt to provide motivating examples for the various combinators identified as useful to everyday programmers....

Combinatory Programming

## To The Programmer A combinator is a kind of function. Specifically, it's a function that applies its arguments---and only its arguments---to each other in a particular shape...

An Algebraic Sketch of Poetic Form

Let's take a standard, classical haiku: > furu ike ya > kawazu tobikomu...

2023: The Year of Ulti

We are now fifteen days into the year of Ulti. For the calendar year, we will play and discuss Ulti to the near-exclusion of other card games. The point, at the highest level, is twofold:...

What Makes a Good Culture-Game?

I'll tell you about my plan for 2023: I want to embark on a year-long media campaign to plant the seeds of a new card game in Anglophone culture. [Previously](./on-culture-games.html) I spoke about my ambivalence towards...

On Culture-Games

Every so often, someone who knows I'm avid card-player says, "Oh, I've always wanted to learn bridge!" I generally feel that I've got to dissuade them, or at least prepare them for what's ahead: bridge, despite its prominence in...

A Specification of a Note-Taking Program

I recently watched Conrad Barski's [video introducing zek][zek], a program he wrote to take Zettelkasten-style notes on the command line. [zek]: https://www.youtube.com/watch?v=4W_m176PIdU...

Algorithms I'm Proud Of: Fill

> Array logic operates by a `fill` algorithm. Fill the ds with the > smaller rank to the be the same shape as the ds with the larger. I recently released---so to speak---a new project that has occupied...

Bagatto, a New Static Site Generator

The last few weeks I've been in a bit of a ferment of inspiration. The output of my fermentation has been [Bagatto][bag], a static site generator written in the Lisp [Janet][janet]....

A Regular Simplification of Offenbacher Schrift

![The Offenbacher Schrift Alphabet](../images/offenbacher.jpg) Above is a sample of *Offenbacher Schrift*, a style of handwriting designed by the type designer (and, regrettably, enthusiastic German...

Some Preliminary Thoughts About a New Card Game Website

For the past month and a half or so, I've been working on a new software system for playing card games online. If you'd like to follow along it's being hosted on [sourcehut](https://sr.ht/~subsetpark/tamerlane/)....

The Card Player's Guide to Lockdown

Card-playing, as a pastime, depends on the ability of people to gather freely, in close quarters, and handle the same objects in turn. It is not, however, utterly reliant. Playing cards together can migrate to Zoom;...

A Curriculum of Current Phonetic Shorthand

Henry Sweet's [Current Shorthand][current][^1] is a historical curiosity twice over: once because very few people today need to learn shorthand at all or even know what it is; twice because as shorthands go, it's...

Three Shorthands

## I The New Abbreviations Thus far I've designed and used three shorthands. The first was an alphabetic, orthographic shorthand, which I've written about in more...

Sketches of Elixir

Friends, I am now at least in this respect a rare breed: an Elixir programmer who has never written Ruby. I was never a professional Erlang programmer. I cut my teeth on Python...

Digital Minimalism for the Working Hacker

Effectively speaking, I've always been a Vim user. When I got my first shell account, I started with Vim (In the Paleozoic, Mesozoic and Cenozoic ages of `vi`, `vim` and `neovim`, I came of age somewhere in the late Jurassic): my...

Compile-Time Sort in Nim

## Compile-Time Sort in D Michael Parker recently wrote a blog post showing how to implement a [compile-time quicksort in D][D] after Björn Fahller recently wrote a blog post showing how to implement a [compile-time quicksort in C++17][C]. It's a skillful demonstration that employs D's powerful compile-time programming capabilities to write code that, while not always useful, is quite concise.…

Unit Testing in Nim

## Unit Testing in Nim and Python Here's a snippet of a unittest test case that I wrote in Python some years ago: ```py...

Nim for Python Programmers

I've been spending a lot of time with the [Nim][] programming language recently. It's a great language: its principles, roughly, are to achieve the efficiency and speed of C with a much greater level of safety and...

The Dark Path, or, What if I Don't Want to Quit My Job?

[Uncle Bob][], noted programming pundit, has written a strange [blog post](http://blog.cleancoder.com/uncle-bob/2017/01/11/TheDarkPath.html). It's a litany against, as near as I can tell, a certain attitude around static typing:...

Thoughts on "Death of a Language Dilettante"

Let’s establish a few terms. *Computation* is what computers do. And a *programming language* is a system for expressing computation. I take it as an article of faith that the value of a programming language is the degree to which the language *makes it easier to reason about computation*. This is a departure from the implicitly stated value of a programming language in [Hague's article][article],…

Comparing Dates and Datetimes in the Django ORM

## The issue at hand When working in Django, one often finds oneself with the following sort of question: *How many records were created (or updated, or posted) today (or yesterday, or last Monday)?*...

Posical, the Positivist Calendar for Python

Let's begin 225 years ago. In the year 1789 of the conventional [Gregorian calendar](http://en.wikipedia.org/wiki/Gregorian_calendar), widespread crisis and dissent forced the Estates-General to convene in France for the first time...

The Rodeo Clown Theory of Personal Development

## Prelude A year ago I didn't know what I wanted to do when I grew up. I had been in the workforce since I came back to New York in 2005. I had never, blessedly, been out of a job for more than a few months, having worked as a temp, then an administrative assistant, before putting in seven years as a computer repair technician. But even within those seven years in a stable job that required at…

Git Patch Mode and Working With Git in Python

Today I deployed [gitp](https://sublime.wbond.net/packages/gitp), my first [Sublime Text][ST] plugin. ## Git...

Mitaines

In French Canada, according to [Pagat.com][1], there's a game called [*Mitaines*][2], which means "Mittens" in French. I'm not sure when I first heard about this game, but it stuck with me. I couldn't fathom, judging from...

Designing Tie Knots by Random Walks

I'm a fan of [85 Ways to Tie a Tie][85], by Thomas Fink and Young Mao. It's an exploration of a mathematical model for necktie knots. I'll let them [explain][designing]:...

Abba

My first major project at [Hacker School][hs] is called [Abba](http://github.com/subsetpark/abba), the Abbreviation Engine. In order to understand why Abba exists I need to backtrack a little....