Domestic 3D printing is an additive process. A gift allowed me to experience a subtractive one: Alex Jones’ short course Woodcarving for beginners at West Dean College. The blank The blank was a oval of lime wood, about 25 cm by 20 cm, and 3 cm to 4 cm high. Lime has a fine and […]
Blog
Moving to Gutenberg
The Gutenberg editor is now WordPress’s default and support for the previous Classic editor is through a plugin. That support is not guaranteed after 31 December 2021. I wanted to patch Aram Kocharyan’s Crayon Syntax Highlighter plugin to work with Gutenberg. Other people have had the same objective. I relied heavily on Fedor Urvanov’s resuscitation […]
Highlighting PowerShell Core
I use a patched version of Aram Kocharyan’s Crayon Syntax Highlighter as a syntax highlighter plugin for WordPress, currently version 5.3.2 running on PHP 7.3.14. I wanted the plugin to highlight PowerShell Core scripts in the same way that the PSReadLine module does. Configuring the theme I created a new Crayon theme Solarized Dark PS […]
Powershell Core
Windows 10 replaced the Command Prompt (cmd.exe) with Windows PowerShell (powershell.exe) as the default command-line interpreter (CLI). PowerShell Core (pwsh.exe) is the successor to Windows PowerShell. Until recently, I had used the Command Prompt through the Windows Terminal with the DejaVu Sans Mono font and the Solarized Dark colour scheme. What would be required to […]
PHP 7.3.13
I switched from PHP 7.2.26 to PHP 7.3.13 and that broke my WordPress blog. The problem was Aram Kocharyan’s Crayon Syntax Highlighter plugin. Version 2.8.4 has not been updated for 4 years. PCRE to PCRE2 The transition from PHP 7.2.x to PHP 7.3.x upgraded the PCRE (Perl Compatible Regular Expressions) extension to PCRE2. User ‘baseapp’ […]
Programming ligatures
A ligature is a glyph formed by two or more graphemes. Computer fonts with programming ligatures use ligatures to present lexemes formed of two or more symbols. There is disagreement over whether that is useful or harmful – harmful because the presentation masks the symbols required to form the lexeme in code. Ian Tuomi’s Hasklig […]
The more you study …
Trying to make Haskell-related things work on Windows, you can learn a lot about Unix-like operating systems. Sometimes you can learn about Windows too. Looking at RIO.Process.findExecutable provided by rio-0.1.12.0, I learnt about the PATHEXT environment variable. PATH and PATHEXT The Command Prompt (cmd.exe) and other executables use the environment variables PATH and PATHEXT to […]
Help? Help.
The package optparse-applicative provides a Haskell library for parsing options at the command line. A minimal example, providing only minimal help, is as follows:
1 2 3 4 5 6 |
module Main (main) where import Options.Applicative main :: IO (() -> ()) main = execParser (info helper fullDesc) |
On Windows 10, the ‘Usage:’ help text depends on how the executable is called and can include a filename extension. For example, at the Command Prompt, a test executable, opTest.exe, […]
Lawnmower Key
The Gtech Cordless Lawnmower comes with a plastic safety key. If the key is misplaced, the mower will safely not work. A spare key became a 3D printing project. I measured the dimensions of the key using a digital caliper and modelled it in Autodesk’s Fusion 360. I exported the model as an STL file […]
Political landscape II
About 47.6 million people were registered as entitled to vote in the United Kingdom’s general election on 12 December 2019 and about 32.1 million did so. I used Haskell to view the outcome with cartograms in which each of the 650 constituencies is represented by a regular hexagon of the same size. Turnout percentage I […]