Codewars - Tongues

Per previous notes, I'm playing with Haskell. In particular, how does learning Haskell feel as someone who is reasonably comfortable with Python and a few similar languages?

For this round I worked through the "Tongues" challenge. The goal is to replace the characters in a string with other characters, according …

Codewars - Parentheses

The Codewars Valid Parentheses challenge is to evaluate a string containing parentheses, returning true if they are properly balanced and false if they aren't. Nice fit to feel how beginner level Haskell compares to intermediate Python.

Here there be spoilers.


My solution was simple: iterate over every characater in …

Haskell and Python

For several years, I was a Linux systems administrator. After I earned some programming skills, I spent some time doing back-end web development. When I was a sysadmin, most of the programming I did revolved around automating various aspects of deployment and writing custom command-line tools to interface between various …


We've already solved the problems that hierarchies can solve. What remains are generally the problems actually caused by hierarchies. A wet-finger in the air test of whether a plan will work - does it replace a hierarchy with willing and able peers? Does it have a clear metric?

Free Software / goals

The Free Software Movement has a great goal - protect the end user's freedom.

Catch is, in spite of being the backbone to a multi-billion dollar industry, most actual Free software does not directly pay the author's bills. Also they have a reputation for trying to convert people in uncomfortable ways …

Approaches to wealth

We're probably getting wealth wrong. For one, I mostly still act on the interpretation that wealth is some combination of what resources I can get, or maybe create. It's the sort of thought process that says "I need to get a job so I can have money to buy stuff …

Unix vs. PulseAudio

Over the weekend I did a minor upgrade to my Linux Mint workstation. Shortly after, I discovered that I couldn't play sound on Youtube. Flash seemed a likely culprit, but after a bit of testing and then some searching, I found out that Firefox had dropped support for my configuration …

Counting youth held in Philadelphia adult jails

"As of 2017-03-26, there are 36 youth in Philadelphia adult jails."

A friend of mine is working to keep kids and teenagers out of adult jails. The prison system shares a census periodically, but the data isn't meant to be easy to work with.

A recent webinar …

Minetest Cereal, coming unglued

Annoying that I couldn't make it work with Racket. I took another EDx course on computer programming: MITx 6.00.1x. So that's going to get added to my LinkedIN profile soonish.

Parsing the Minetest World format was trickier than I guessed. Nevertheless, I cracked the section I was previously …

Minetest Cereal, Python Restart

I've been writing my Minetest Cereal project using Racket. That worked great for:

  • Duplicating mathematical algorithms
  • Creating a command line interface
  • Connecting to an sqlite3 database
  • Reading individual bytes from a stream
  • Writing proper unit tests
  • Learning about functional programming

Unfortunately, the Minetest world format compresses some of its data …