RogerBW's Blog

The Weekly Challenge 300: What a Beautiful Nest 22 December 2024

I’ve been doing the Weekly Challenges. The latest involved permutations and array recursion. (Note that this ends today.)

[more]
Everybody Codes 2024 19 December 2024

I did Everybody Codes, a new set of programming challenges in the style of Advent of Code.

[more]
The Weekly Challenge 299: Words, Words, What Are Words? 15 December 2024

I’ve been doing the Weekly Challenges. The latest involved manipulations of word lists. (Note that this ends today.)

[more]
The Weekly Challenge 298: Whatever You Do, Be Maximally Right 08 December 2024

I’ve been doing the Weekly Challenges. The latest involved various sorts of array hunting. (Note that this ends today.)

[more]
The Weekly Challenge 297: Semi-Ordered Contiguity 01 December 2024

I’ve been doing the Weekly Challenges. The latest involved array hunting and re-permuting. (Note that this ends today.)

[more]
The Weekly Challenge 296: Matchstick Compression 24 November 2024

I’ve been doing the Weekly Challenges. The latest involved run-length encoding and knapsack-style fitting. (Note that this ends today.)

[more]
The Weekly Challenge 295: Jump and Break 17 November 2024

I’ve been doing the Weekly Challenges. The latest involved tree searches. (Note that this ends today.)

[more]
The Weekly Challenge 294: Permutationally Consecutive 10 November 2024 - 2 comments

I’ve been doing the Weekly Challenges. The latest involved list searches and permutations. (Note that this ends today.)

[more]
The Weekly Challenge 293: Domino Boomerang 03 November 2024

I’ve been doing the Weekly Challenges. The latest involved checking dominoes and doing some floating-point operations. (Note that this ends today.)

[more]
The Weekly Challenge 292: Largest Zuma 27 October 2024

I’ve been doing the Weekly Challenges. The latest involved fiddling with arrays and searching game states. (Note that this ends today.)

[more]
The Weekly Challenge 291: Index Poker 20 October 2024

I’ve been doing the Weekly Challenges. The latest involved list evaluation and poker hands. (Note that this ends today.)

[more]
The Weekly Challenge 290: Double Luhn 13 October 2024

I’ve been doing the Weekly Challenges. The latest involved list analysis and Luhn's checksum algorithm. (Note that this ends today.)

[more]
The Weekly Challenge 289: Maximum Jumble 06 October 2024

I’ve been doing the Weekly Challenges. The latest involved list evaluation and string manipulation. (Note that this ends today.)

[more]
The Weekly Challenge 288: Block the Palindrome 29 September 2024

I’ve been doing the Weekly Challenges. The latest involved palindromic numbers and block searches. (Note that this ends today.)

[more]
Brute-Forcing Hidden Movement 24 September 2024

I've been adminisitering a hidden-movement game over at the tekeli.li forums, and it occurred to me that this was a potentially enjoyable programming challenge.

[more]
The Weekly Challenge 287: Strong and Valid 22 September 2024

I’ve been doing the Weekly Challenges. The latest involved password analysis and number parsing. (Note that this ends today.)

[more]
The Weekly Challenge 286: The Game of Order 15 September 2024

I’ve been doing the Weekly Challenges. The latest involved quinelikes and list processing. (Note that this ends today.)

[more]
The Weekly Challenge 285: Making Connections 08 September 2024

I’ve been doing the Weekly Challenges. The latest involved network analysis and change calculation. (Note that this ends today.)

[more]
The Weekly Challenge 284: Lucky Relative 01 September 2024

I’ve been doing the Weekly Challenges. The latest involved a list search and an unusual sort. (Note that this ends today.)

[more]
The Weekly Challenge 283: Uniquely Valuable 25 August 2024

I’ve been doing the Weekly Challenges. The latest involved list counting. (Note that this ends today.)

[more]
The Weekly Challenge 282: Good Keys for Changing Integers 18 August 2024

I’ve been doing the Weekly Challenges. The latest involved string-searching integers and bouncing around a keyboard. (Note that this ends today.)

[more]
The Weekly Challenge 281: Check the Knight's Colour 11 August 2024

I’ve been doing the Weekly Challenges. The latest involved chess-related problems. (Note that this ends today.)

[more]
The Weekly Challenge 280: The Sudden Appearance of Asterisks 04 August 2024

I’ve been doing the Weekly Challenges. The latest involved character repetition and a basic string parse. (Note that this ends today.)

[more]
The Weekly Challenge 279: Split and Sort Strings of Letters 28 July 2024

I’ve been doing the Weekly Challenges. The latest involved more string manipulations. (Note that this ends today.)

[more]
The Weekly Challenge 278: Reverse the Sort in Strings of Words 21 July 2024

I’ve been doing the Weekly Challenges. The latest involved decoding a string format and partially sorting characters. (Note that this ends today.)

[more]
The Weekly Challenge 277: A Strong Count 14 July 2024

I’ve been doing the Weekly Challenges. The latest involved word hunting and integer combinations. (Note that this ends today.)

[more]
The Weekly Challenge 276: Frequency Day is Complete 07 July 2024

I’ve been doing the Weekly Challenges. The latest involved combinations and counting. (Note that this ends today.)

[more]
The Weekly Challenge 275: Broken Digits 30 June 2024

I’ve been doing the Weekly Challenges. The latest involved various flavours of string processing. (Note that this ends today.)

[more]
The Weekly Challenge 274: Goat on the Bus 23 June 2024

I’ve been doing the Weekly Challenges. The latest involved string tweaking and bus route analysis. (Note that this ends today.)

[more]
The Weekly Challenge 273: Building Character 16 June 2024

I’ve been doing the Weekly Challenges. The latest involved poking through strings. (Note that this ends today.)

[more]
The Weekly Challenge 272: Score the Defranged Strings 09 June 2024

I’ve been doing the Weekly Challenges. The latest involved string replacement and character searching. (Note that this ends today.)

[more]
The Weekly Challenge 271: Sort the Maximum One 02 June 2024

I’ve been doing the Weekly Challenges. The latest involved matrix analysis, bit-counting and sorting. (Note that this ends today.)

[more]
The Weekly Challenge 270: Special Distribtions Position the Elements 26 May 2024

I’ve been doing the Weekly Challenges. The latest involved searching matrices and raising array elements. (Note that this ends today.)

[more]
The Weekly Challenge 269: The Bitwise Elements 19 May 2024

I’ve been doing the Weekly Challenges. The latest involved sequence testing and splitting. (Note that this ends today.)

[more]
The Weekly Challenge 268: If the Game is Magic, Where's My Number? 12 May 2024

I’ve been doing the Weekly Challenges. The latest involved list comparisons and rearangements. (Note that this ends today.)

[more]
The Weekly Challenge 267: The Line is the Sign That Your Product Counts 05 May 2024

I’ve been doing the Weekly Challenges. The latest involved series multiplication and text fitting. (Note that this ends today.)

[more]
The Weekly Challenge 266: X, the Uncommon 28 April 2024

I’ve been doing the Weekly Challenges. The latest involved word list comparison and matrix validation. (Note that this ends today.)

[more]
The Weekly Challenge 265: The Appearance of Completion 21 April 2024

I’ve been doing the Weekly Challenges. The latest involved hunting integers and filtering words. (Note that this ends today.)

[more]
The Weekly Challenge 264: Greatest English Array 14 April 2024

I’ve been doing the Weekly Challenges. The latest involved letter hunting and array construction. (Note that this ends today.)

[more]
The Weekly Challenge 263: Targets Merge 07 April 2024

I’ve been doing the Weekly Challenges. The latest involved list and hash hunting. (Note that this ends today.)

[more]
The Weekly Challenge 262: Count Max, Type O Negative 31 March 2024

I’ve been doing the Weekly Challenges. The latest involved various sorts of filtering arrays. (Note that this ends today.)

[more]
The Weekly Challenge 261: Two Elements Who Adore You 24 March 2024

I’ve been doing the Weekly Challenges. The latest involved digit sums and progressive multiplication. (Note that this ends today.)

[more]
The Weekly Challenge 260: Uniquely Rank 17 March 2024

I’ve been doing the Weekly Challenges. The latest involved multi-level counts and word ordering. (Note that this ends today.)

[more]
The Weekly Challenge 259: Banking Parser 10 March 2024

I’ve been doing the Weekly Challenges. The latest involved date offsets and parser construction. (Note that this ends today.)

[more]
The Weekly Challenge 258: Valuing the Count 03 March 2024

I’ve been doing the Weekly Challenges. The latest involved counting digits and matching bit-counts. (Note that this ends today.)

[more]
The Weekly Challenge 257: Smaller than Echelon 25 February 2024

I’ve been doing the Weekly Challenges. The latest involved list processing and matrix testing. (Note that this ends today.)

[more]
The Weekly Challenge 256: Maximum Strings 18 February 2024

I’ve been doing the Weekly Challenges. The latest involved array analysis and string merging. (Note that this ends today.)

[more]
The Weekly Challenge 255: Most Frequently Odd Character 11 February 2024

I’ve been doing the Weekly Challenges. The latest involved a lot of counting. (Note that this ends today.)

[more]
The Weekly Challenge 254: Reverse the Power of Three Vowels 04 February 2024

I’ve been doing the Weekly Challenges. The latest involved numerical searching and letter substitution. (Note that this ends today.)

[more]
The Weekly Challenge 253: You Are the Weakest String 28 January 2024

I’ve been doing the Weekly Challenges. The latest involved splitting strings and sorting rows. (Note that this ends today.)

[more]
The Weekly Challenge 252: Unique and Special 21 January 2024

I’ve been doing the Weekly Challenges. The latest involved list filtering and sequence generation. (Note that this ends today.)

[more]
The Weekly Challenge 251: Concatenating Luck 14 January 2024 - 2 comments

I’ve been doing the Weekly Challenges. The latest involved decomposing sequences and searching for limit values. (Note that this ends today.)

[more]
The Weekly Challenge 250: Smallest Viable Value 07 January 2024

I’ve been doing the Weekly Challenges. The latest involved searching sequences and parsing strings. (Note that this ends today.)

[more]
The Weekly Challenge 249: Equal Match 31 December 2023

I’ve been doing the Weekly Challenges. The latest involved breaking lists into groups and building a numerical sequence. (Note that this ends today.)

[more]
Advent of Code 2023 28 December 2023

I did Advent of Code again, and had a really good time. Spoilers.

[more]
The Weekly Challenge 248: Shortest Submatrix 24 December 2023

I’ve been doing the Weekly Challenges. The latest involved searching a string and adding matrix elements. (Note that this ends today.)

[more]
The Weekly Challenge 247: Most Frequent Santa 17 December 2023

I’ve been doing the Weekly Challenges. The latest involved gift allocation and letter pairs. (Note that this ends today.)

[more]
The Weekly Challenge 246: Linear 49 10 December 2023

I’ve been doing the Weekly Challenges. The latest involved random generation and spotting a linear recurrence. (Note that this ends today.)

[more]
The Weekly Challenge 245: Largest Sort 03 December 2023

I’ve been doing the Weekly Challenges. The latest involved keyed sorting and digit searching. (Note that this ends today.)

[more]
The Weekly Challenge 244: Counting Your Heroes 26 November 2023

I’ve been doing the Weekly Challenges. The latest involved a list search and combinations. (Note that this ends today.)

[more]
The Weekly Challenge 243: Pairs on the Floor 19 November 2023

I’ve been doing the Weekly Challenges. The latest involved combinatorics and integer division. (Note that this ends today.)

[more]
The Weekly Challenge 242: One Of Our Matrices Is Missing 12 November 2023

I’ve been doing the Weekly Challenges. The latest involved differentiating lists and processing matrices. (Note that this ends today.)

[more]
The Weekly Challenge 241: Prime Triplets 05 November 2023

I’ve been doing the Weekly Challenges. The latest involved sequence searching and another nested sort. (Note that this ends today.)

[more]
The Weekly Challenge 240: Building Acronyms 29 October 2023

I’ve been doing the Weekly Challenges. The latest involved substrings and array mapping. (Note that this ends today.)

[more]
The Weekly Challenge 239: Same and Consistent 22 October 2023

I’ve been doing the Weekly Challenges. The latest involved joining strings and matching characters. (Note that this ends today.)

[more]
The Weekly Challenge 238: Running Persistence 15 October 2023

I’ve been doing the Weekly Challenges. The latest involved cumulative sums and complicated sorts. (Note that this ends today.)

[more]
The Weekly Challenge 237: Seize Greatness 08 October 2023

I’ve been doing the Weekly Challenges. The latest involved date calculations and didn't involve array permutations. (Note that this ends today.)

[more]
The Weekly Challenge 236: Change for the Machines 01 October 2023

I’ve been doing the Weekly Challenges. The latest involved calculating change and finding loops. (Note that this ends today.)

[more]
The Weekly Challenge 235: One, Zero 24 September 2023

I’ve been doing the Weekly Challenges. The latest involved spotting sequences, and duplicating list entries. (Note that this ends today.)

[more]
The Weekly Challenge 234: Triplets with Character 17 September 2023

I’ve been doing the Weekly Challenges. The latest involved messing about with lists. (Note that this ends today.)

[more]
The Weekly Challenge 233: Similar Frequency 10 September 2023

I’ve been doing the Weekly Challenges. The latest involved reducing lists in various ways. (Note that this ends today. And 232 was cancelled as the administrator was unwell)

[more]
The Weekly Challenge 231: Max Citizens 27 August 2023

I’ve been doing the Weekly Challenges. The latest involved various list processing. (Note that this ends today.)

[more]
The Weekly Challenge 230: The Count of Separation 20 August 2023

I’ve been doing the Weekly Challenges. The latest involved number lists and word prefixes. (Note that this ends today.)

[more]
The Weekly Challenge 229: Three, Two, Out of Order 13 August 2023

I’ve been doing the Weekly Challenges. The latest involved analysing strings and picking over lists. (Note that this ends today.)

[more]
The Weekly Challenge 228: The Empty Sum 06 August 2023

I’ve been doing the Weekly Challenges. The latest involved inspecting integer elements and making iterative things less so. (Note that this ends today.)

[more]
The Weekly Challenge 227: The 13th Roman 30 July 2023

I’ve been doing the Weekly Challenges. The latest involved date calculations and Roman mathematics. (Note that this ends today.)

[more]
The Weekly Challenge 226: Shuffling Zeroes 23 July 2023

I’ve been doing the Weekly Challenges. The latest involved string convolution and array reduction. (Note that this ends today.)

[more]
The Weekly Challenge 225: Diffs on the Right, Words on the Left 16 July 2023

I’ve been doing the Weekly Challenges. The latest involved splitting sentences and processing arrays. (Note that this ends today.)

[more]
The Weekly Challenge 224: Specially Additive Number Notes 09 July 2023

I’ve been doing the Weekly Challenges. The latest involved string construction and numerical sequence analysis. (Note that this ends today.)

[more]
The Weekly Challenge 223: Counting Boxes 02 July 2023

I’ve been doing the Weekly Challenges. The latest involved prime counting and list selections. (Note that this ends today.)

[more]
The Weekly Challenge 222: Members Everywhere 25 June 2023

I’ve been doing the Weekly Challenges. The latest involved sorted lists and iterative reductions. (Note that this closes today.)

[more]
The Weekly Challenge 221: Good Arithmetic 18 June 2023

I’ve been doing the Weekly Challenges. The latest involved more finding strings that can be made out of letters, and a search for a subsequence. (Note that this is open until 18 June 2023.)

[more]
The Weekly Challenge 220: Square Commoners 11 June 2023

I’ve been doing the Weekly Challenges. The latest involved word breakdowns and perfect squares. (Note that this is open until 11 June 2023.)

[more]
The Weekly Challenge 219: Travel for Squares 04 June 2023

I’ve been doing the Weekly Challenges. The latest involved sequence processing and a cost optimisation. (Note that this is open until 4 June 2023.)

[more]
The Weekly Challenge 218: Maximum Matrix 28 May 2023

I’ve been doing the Weekly Challenges. The latest involved list manipulation and bit flipping. (Note that this is open until 28 May 2023.)

[more]
The Weekly Challenge 217: Sorted Max 21 May 2023

I’ve been doing the Weekly Challenges. The latest involved various sorts of sorting. (Note that this closes today.)

[more]
The Weekly Challenge 216: Word Registration 14 May 2023

I’ve been doing the Weekly Challenges. The latest involved mucking about with words. (Note that this is open until 14 May 2023.)

[more]
The Weekly Challenge 215: Placing the Odd 07 May 2023

I’ve been doing the Weekly Challenges. The latest involved sorting words and modifying sequences. (Note that this is open until 7 May 2023.)

[more]
The Weekly Challenge 214: A Rank Collection 30 April 2023

I’ve been doing the Weekly Challenges. The latest involved score ranking and sequence manipulation. (Note that this is open until 30 April 2023.)

[more]
The Weekly Challenge 213: Shortest Fun 23 April 2023

I’ve been doing the Weekly Challenges. The latest involved an unusual sort and a pathfinding problem. (Note that this is open until 23 April 2023.)

[more]
Dustbin Day, iCalendar, and PhantomJS 18 April 2023

I wanted to get dustbin collection days into the house calendar server. Shouldn't be too hard, right?

[more]
The Weekly Challenge 212: Rearrange by Jumps 16 April 2023

I’ve been doing the Weekly Challenges. The latest involved letter rearrangement and number grouping. (Note that this is open until 16 April 2023.)

[more]
The Weekly Challenge 211: Splitting Toeplitz 09 April 2023

I’ve been doing the Weekly Challenges. The latest involved matrix evaluation and integer searching. (Note that this closes today.)

[more]
The Weekly Challenge 210: Collisions Kill 02 April 2023

I’ve been doing the Weekly Challenges. The latest involved searching in lists of integers. (Note that this closes today.)

[more]
The Weekly Challenge 209: Special Merge 26 March 2023

I’ve been doing the Weekly Challenges. The latest involved decoding a sequence and merging lists. (Note that this closes for public solutions today.)

[more]
The Weekly Challenge 208: Missing Index? Just Duplicate! 19 March 2023

I’ve been doing the Weekly Challenges. The latest involved searching through arrays. (Note that this is closes today.)

[more]
The Weekly Challenge 207: Indexed Keyboards 12 March 2023

I’ve been doing the Weekly Challenges. The latest involved letter sorting and an array calculation. (Note that this closes today.)

[more]
The Weekly Challenge 206: Array Time! 05 March 2023

I’ve been doing the Weekly Challenges. The latest involved lots of combinatorial searches. (Note that this closes today.)

[more]
The Weekly Challenge 205: Third Exclusive 26 February 2023

I’ve been doing the Weekly Challenges. The latest involved list parsing and combinations. (Note that this closes today.)

[more]
The Weekly Challenge 204: Reshape the Monotony 19 February 2023

I’ve been doing the Weekly Challenges. The latest involved list testing and matrix reconstruction. (Note that this is open until 19 February 2023.)

[more]
The Weekly Challenge 203: Directing the Quadruplets 12 February 2023

I’ve been doing the Weekly Challenges. The latest involved list searching and directory evaluation. (Note that this is open until 12 February 2023.)

[more]
Upside Down and Inside Out 11 February 2023

Here's how I use graphical emacs as the working editor on a remote machine.

[more]
The Weekly Challenge 202: Consecutive Valley 05 February 2023

I’ve been doing the Weekly Challenges. The latest involved various sorts of list filtering. (Note that this closes today.)

[more]
The Weekly Challenge 201: Penny Numbers 29 January 2023

I’ve been doing the Weekly Challenges. The latest involved an array search and a mathematical classic. (Note that this is open until 29 January 2023.)

[more]
The Weekly Challenge 200: Seven Slices 22 January 2023

I’ve been doing the Weekly Challenges. The latest involved array searching and an emulated seven-segment display. (Note that this is open until the end of today.)

[more]
The Weekly Challenge 199: Good N-lets 15 January 2023

I’ve been doing the Weekly Challenges. The latest involved filtering pairs and triplets out of a list. (Note that this ends today.)

[more]
Advent of Code 2022 10 January 2023 - 3 comments

I did Advent of Code again, and had a really good time. Spoilers.

[more]
The Weekly Challenge 198: Count Max 08 January 2023

I’ve been doing the Weekly Challenges. The latest involved analysing a list and counting primes. (Note that this is open until the end of today.)

[more]
The Weekly Challenge 197: Move with a Wiggle 31 December 2022

I’ve been doing the Weekly Challenges. The latest involved list filtering and a perverse sort. (Note that this is open until tomorrow.)

[more]
The Weekly Challenge 196: Pattern and Range 25 December 2022

I’ve been doing the Weekly Challenges. The latest involved looking for patterns in arrays. (Note that this closes today. Merry Christmas!)

[more]
The Weekly Challenge 195: Frequently Special 18 December 2022

I’ve been doing the Weekly Challenges. The latest involved integer filtering. (Note that this closes today.)

[more]
Series Tagging on a Kobo Libra 2 17 December 2022

I recently got a Kobo Libra 2, after my Aura ONE died. And I've been looking into its series tagging features.

[more]
The Weekly Challenge 194: Digital Equaliser 11 December 2022

I’ve been doing the Weekly Challenges. The latest involved expanding a search space and running a character frequency test. (Note that this closes today.)

[more]
The Weekly Challenge 193: Odd Binary 04 December 2022

I’ve been doing the Weekly Challenges. The latest involved a binary expansion and string analysis. (Note that this closes today.)

[more]
Home audio with mpd and snapcast 28 November 2022

I have a multi-channel home audio setup that works quite remarkably well.

[more]
The Weekly Challenge 192: Equal Flips For All 27 November 2022

I’ve been doing the Weekly Challenges. The latest involved a binary negation and list division. (Note that this is open until 27 November 2022.)

[more]
The Weekly Challenge 191: Large but Cute 20 November 2022

I’ve been doing the Weekly Challenges. The latest involved list sorting and permutation checking. (Note that this is open until 20 November 2022.)

[more]
The Weekly Challenge 190: Decoding Capital 12 November 2022

I’ve been doing the Weekly Challenges. The latest involved checking capitalisation and decoding an ambiguous string. (Note that this is open until 13 November 2022.)

[more]
The Weekly Challenge 189: Degree of Character 06 November 2022

I’ve been doing the Weekly Challenges. The latest involved filtering character lists and finding subarrays. (Note that this is open until 6 November 2022.)

[more]
The Weekly Challenge 188: Divisible Zero 25 October 2022

I’ve been doing the Weekly Challenges. The latest involved more list searching and a variation on the greatest common divisor. (Note that this is open until 30 October 2022.)

[more]
The Weekly Challenge 187: Magical Days Together 18 October 2022

I’ve been doing the Weekly Challenges. The latest involved date overlaps and combination searches. (Note that this is open until 23 October 2022.)

[more]
The Weekly Challenge 186: Makeover List 14 October 2022

I’ve been doing the Weekly Challenges. The latest involved combining lists and squashing unicode characters. (Note that this is open until 16 October 2022.)

[more]
The Weekly Challenge 185: Big MAC and Mask 06 October 2022

I’ve been doing the Weekly Challenges. The latest involved various string manipulations. (Note that this is open until 9 October 2022.)

[more]
The Weekly Challenge 184: Split Sequence 29 September 2022

I’ve been doing the Weekly Challenges. The latest involved modifying and picking things out of sequences. (Note that this is open until 2 October 2022.)

[more]
The Weekly Challenge 183: A Unique Date 20 September 2022

I’ve been doing the Weekly Challenges. The latest involved array comparisons and date calculations. (Note that this is open until 25 September 2022.)

[more]
The Weekly Challenge 182: Max is Common 14 September 2022 - 2 comments

I’ve been doing the Weekly Challenges. The latest involved list searching and finding a common subpath. (Note that this is open until 18 September 2022.)

[more]
The Weekly Challenge 181: Hot Sentence 08 September 2022

I’ve been doing the Weekly Challenges. The latest involved string splitting and data sorting. (Note that this is open until 11 September 2022.)

[more]
The Weekly Challenge 180: Unique Trim 30 August 2022 - 4 comments

I’ve been doing the Weekly Challenges. The latest involved filtering strings and lists. (Note that this is open until 4 September 2022.)

[more]
The Weekly Challenge 179: Spark and Spell 25 August 2022

I’ve been doing the Weekly Challenges. The latest involved ordinal numbers and Unicode generation. (Note that this is open until 28 August 2022.)

[more]
The Weekly Challenge 178: Imaginary Date 18 August 2022

I’ve been doing the Weekly Challenges. The latest involved an unusual base representation and date calculations. (Note that this is open until 21 August 2022.)

[more]
The Weekly Challenge 177: Damm Cyclops 11 August 2022

I’ve been doing the Weekly Challenges. The latest involved a check-digit function and more number reversals. (Note that this is open until 14 August 2022.)

[more]
The Weekly Challenge 176: Reversible Permutations 04 August 2022

I’ve been doing the Weekly Challenges. The latest involved lots of number-string conversions. (Note that this is open until 7 August 2022.)

[more]
The Weekly Challenge 175: Perfect Sunday 26 July 2022

I’ve been doing the Weekly Challenges. The latest involved date calculations and number theory. (Note that this is open until 31 July 2022.)

[more]
The Weekly Challenge 174: The Rank Smell of Disarium 20 July 2022

I’ve been doing the Weekly Challenges. The latest involved disarium numbers and ranked permutations. (Note that this is open until 24 July 2022.)

[more]
The Weekly Challenge 173: The Aesthetics of Sylvester 14 July 2022

I’ve been doing the Weekly Challenges. The latest involved more mathematical tests. (Note that this is open until 17 July 2022.)

[more]
The Weekly Challenge 172: Partition of Five 07 July 2022

I’ve been doing the Weekly Challenges. The latest involved prime partitioning and some basic statistics. (Note that this is open until 10 July 2022.)

[more]
The Weekly Challenge 171: First-Class Abundance 30 June 2022

I’ve been doing the Weekly Challenges. The latest involved findind odd abundant numbers and first-class functions. (Note that this is open until 3 July 2022.)

[more]
The Weekly Challenge 170: Kronecker's Primorial 23 June 2022

I’ve been doing the Weekly Challenges. The latest involved primes and an unusual form of matrix multiplication. (Note that this is open until 26 June 2022.)

[more]
The Weekly Challenge 169: The Brilliance of Achilles 15 June 2022

I’ve been doing the Weekly Challenges. The latest involved more numerical series. (Note that this is open until 19 June 2022.)

[more]
The Weekly Challenge 168: At Home with the Perrins 09 June 2022

I’ve been doing the Weekly Challenges. The latest involved more furkling about with prime numbers. (Note that this is open until 12 June 2022.)

[more]
The Weekly Challenge 167: Circling the Gamma 02 June 2022

I’ve been doing the Weekly Challenges. The latest involved circular primes and the Lanczos approximation. (Note that this is open until 5 June 2022.)

[more]
The Weekly Challenge 166: Hexing the Directories 26 May 2022

I’ve been doing the Weekly Challenges. The latest involved word searching and directory mangling. (Note that this is open until 29 May 2022.)

[more]
The Weekly Challenge 165: Scaling the Fits 19 May 2022

I’ve been doing the Weekly Challenges. The latest involved generating SVG and fitting lines to points. (Note that this is open until 22 May 2022.)

[more]
PostScript Libraries 15 May 2022

Yes, I'm still programming in PostScript. Why? Because I enjoy it.

[more]
The Weekly Challenge 164: Happy Palindromes 12 May 2022

I’ve been doing the Weekly Challenges. The latest involved two number-sequence tasks. (Note that this is open until 15 May 2022.)

[more]
The Weekly Challenge 163: Sums and Sums 05 May 2022

I’ve been doing the Weekly Challenges. The latest involved various summation-like operations. (Note that this is open until 8 May 2022.)

[more]
The Weekly Challenge 162: Playing Fair with ISBNs 28 April 2022

I’ve been doing the Weekly Challenges. The latest involved ISBN check digits and the Wheatstone-Playfair cipher. (Note that this is open until 1 May 2022.)

[more]
The Weekly Challenge 161: Words and More Words 21 April 2022

I’ve been doing the Weekly Challenges. The latest involved word selections and manipulations. (Note that this is open until 24 April 2022.)

[more]
The Weekly Challenge 160: Balancing Four is Magic 14 April 2022

I’ve been doing the Weekly Challenges. The latest involved English word lengths and array partitioning. (Note that this is open until 17 April 2022.)

[more]
The Weekly Challenge 159: Farey and Moebius 07 April 2022

I’ve been doing the Weekly Challenges. The latest involved generating more sequences. (Note that this is open until 10 April 2022.)

[more]
The Weekly Challenge 158: Prime Cuban Additives 31 March 2022

I’ve been doing the Weekly Challenges. The latest involved subsets of primes. (Note that this is open until 3 April 2022.)

[more]
The Weekly Challenge 157: Pythagoras in Brazil 24 March 2022

I’ve been doing the Weekly Challenges. The latest involved a variety of means and more number theory. (Note that this is open until 27 March 2022.)

[more]
The Weekly Challenge 156: Weirdly Pernicious or Perniciously Weird? 17 March 2022

I’ve been doing the Weekly Challenges. The latest involved more number-theory definitions. (Note that this is open until 20 March 2022.)

[more]
The Weekly Challenge 155: Pisano's Fortune 10 March 2022

I’ve been doing the Weekly Challenges. The latest involved more number theory problems. (Note that this is open until 13 March 2022.)

[more]
The Weekly Challenge 154: Missing Padovan 03 March 2022

I’ve been doing the Weekly Challenges. The latest involved permutations and primality testing. (Note that this is open until 6 March 2022.)

[more]
The Weekly Challenge 153: Factoriality 24 February 2022

I’ve been doing the Weekly Challenges. The latest involved various progressions based on factorials. (Note that this is open until 27 February 2022.)

[more]
The Weekly Challenge 152: Triangles, Rectangles, and Objects 17 February 2022

I’ve been doing the Weekly Challenges. The latest involved finding minimum paths and overlapping rectangles. (Note that this is open until 20 February 2022.)

[more]
The Weekly Challenge 151: Robbing Depth 10 February 2022

I’ve been doing the Weekly Challenges. The latest involved a return to binary trees and an optimisation puzzle. (Note that this is open until 13 February 2022.)

[more]
The Weekly Challenge 150: Square-Free Words 03 February 2022

I’ve been doing the Weekly Challenges. The latest involved a Fibonacci-like word construction and a search for square-free numbers. (Note that this is open until 6 February 2022.)

[more]
Quicksort in Postscript 30 January 2022 - 5 comments

I think this is the closest I've come to writing a Cthulhu Mythos document: if you don't know what's going on, it's harmless, but with a little knowledge it can be mildly disturbing…

[more]
The Weekly Challenge 149: Fibonacci Squares 27 January 2022

I’ve been doing the Weekly Challenges. The latest involved just-in-time Fibonacci and squares without repeating digits. (Note that this is open until 30 January 2022.)

[more]
The Weekly Challenge 148: Eban, Cardano 20 January 2022 - 2 comments

I’ve been doing the Weekly Challenges. The latest involved various sorts of numerical search. (Note that this is open until 23 January 2022.)

[more]
The Weekly Challenge 147: Truncating the Pentagon 11 January 2022

I’ve been doing the Weekly Challenges. The latest involved prime searches and pentagonal numbers. (Note that this is open until 16 January 2022.)

[more]
Polyglot Programming 09 January 2022 - 4 comments

I've got up to nine programming languages for The Weekly Challenge (formerly the Perl Weekly Challenge). Why am I doing this? (And is it just envy of Abigail, who usually does 14 or more? I don't think so.)

[more]
The Weekly Challenge 146: Curious Prime 04 January 2022

I’ve been doing the Weekly Challenges. The latest involved prime-counting and fraction trees. (Note that this is open until 9 January 2022.)

[more]
The Weekly Challenge 145: Tree Product 28 December 2021

I’ve been doing the Weekly Challenges. The latest involved vector multiplication and a recently-invented data structure. (Note that this is open until 2 January 2022.)

[more]
Advent of Code 2021 27 December 2021 - 3 comments

I did Advent of Code again, and had a really good time. Spoilers.

[more]
The Weekly Challenge 144: Semiprime Ulam 21 December 2021

I’ve been doing the Weekly Challenges. The latest involved some interesting mathematical sequences. (Note that this is open until 26 December 2021.)

[more]
The Weekly Challenge 143: Stealthy Calculator 15 December 2021

I’ve been doing the Weekly Challenges. The latest involved counting divisors and another joke sort. (Note that this is open until 19 December 2021.)

[more]
The Weekly Challenge 142: The Last Digit of Sleep 07 December 2021

I’ve been doing the Weekly Challenges. The latest involved counting divisors and another joke sort. (Note that this is open until 12 December 2021.)

[more]
The Weekly Challenge 141: Binary and Tabular 30 November 2021

I’ve been doing the Weekly Challenges. The latest involved an unusual binary encoding and indexing into a multiplication table. (Note that this is open until 5 December 2021.)

[more]
Virtual Tabletop on the cheap 28 November 2021 - 2 comments

I don't generally use maps much when I'm role-playing; my games are fairly fluid, such that it's not very clear where things are going to be happening until the session has started, and exact tactical distances don't matter much. But since the pandemic began, particularly because I can't easily sketch something and hand it round the group, I've been experimenting with something a bit more sophisticated.

[more]
Perl Weekly Challenge 140: Binary and Tabular 24 November 2021

I’ve been doing the Weekly Challenges. The latest involved an unusual binary encoding and indexing into a multiplication table. (Note that this is open until 28 November 2021.)

[more]
Perl Weekly Challenge 139: Jort Primes 18 November 2021

I’ve been doing the Weekly Challenges. The latest involved date calculations and numerical decompositions. (Note that this is open until 21 November 2021.)

[more]
Perl Weekly Challenge 138: Split Work 12 November 2021

I’ve been doing the Weekly Challenges. The latest involved date calculations and numerical decompositions. (Note that this is open until 14 November 2021.)

[more]
Perl Weekly Challenge 137: Long Cheryl 05 November 2021

I’ve been doing the Weekly Challenges. The latest involved date calculations and numeric palindromes. (Note that this is open until 7 November 2021.)

[more]
Perl Weekly Challenge 136: Fibonacci Friends 29 October 2021

I’ve been doing the Weekly Challenges. The latest involved GCDs, powers of two, and an unusual numeric sequence. (Note that this is open until 31 October 2021.)

[more]
Perl Weekly Challenge 135: Valid Middle 21 October 2021

I’ve been doing the Weekly Challenges. The latest involved digit substrings and securities validation. (Note that this is open until 24 October 2021.)

[more]
Interfacing with rtorrent over Unix sockets 20 October 2021

The torrent client rtorrent is the best I've found that runs on Unix systems, but its built-in logic is somewhat lacking. Fortunately one can extend this.

[more]
Perl Weekly Challenge 134: Pandigital Multiplication 13 October 2021

I’ve been doing the Weekly Challenges. The latest involved pandigital numbers and multiplication tables. (Note that this is open until 17 October 2021.)

[more]
Perl Weekly Challenge 133: Rooting the Smith 06 October 2021

I’ve been doing the Weekly Challenges. The latest involved Smith numbers and square roots. (Note that this is open until 10 October 2021.)

[more]
Perl Weekly Challenge 132: Hash on the Mirror 02 October 2021

I’ve been doing the Weekly Challenges. The latest involved date calculations and inner joins. (Note that this is open until 3 October 2021.)

[more]
Perl Weekly Challenge 131: Splitting and Splitting More 23 September 2021

I’ve been doing the Weekly Challenges. The latest involved splitting arrays and strings. (Note that this is open until 26 September 2021.)

[more]
Perl Weekly Challenge 130: An Odd Tree 17 September 2021

I’ve been doing the Weekly Challenges. The latest involved more binary trees and linked lists. (Note that this is open until 19 September 2021.)

[more]
Perl Weekly Challenge 129: Eats Roots and Lists 10 September 2021

I’ve been doing the Weekly Challenges. The latest involved more binary trees and linked lists. (Note that this is open until 12 September 2021.)

[more]
Perl Weekly Challenge 128: Maxima and Minima 03 September 2021

I’ve been doing the Weekly Challenges. The latest involved finding submatrices and counting trains. (Note that this is open until 5 September 2021.)

[more]
Perl Weekly Challenge 127: Disjoint Conflict 26 August 2021

I’ve been doing the Weekly Challenges. The latest involved set intersections and merging intervals. (Note that this is open until 29 August 2021.)

[more]
Perl Weekly Challenge 126: Count Sweeper 20 August 2021

I’ve been doing the Weekly Challenges. The latest involved numbers excluding 1, and Minesweeper. (Note that this is open until 22 August 2021.)

[more]
Perl Weekly Challenge 125: Pythagorean Diameter 11 August 2021 - 1 comment

I’ve been doing the Weekly Challenges. The latest involved Pythagorean triples and binary trees. (Note that this is open until 15 August 2021.)

[more]
Perl Weekly Challenge 124: War Day 04 August 2021 - 4 comments

I’ve been doing the Weekly Challenges. The latest involved ASCII graphics and set partitioning. (Note that this is open until 8 August 2021.)

[more]
Perl Weekly Challenge 123: Ugly Square 28 July 2021 - 3 comments

I’ve been doing the Weekly Challenges. The latest involved regular numbers and geometrical squareness testing. (Note that this is open until 1 August 2021.)

[more]
Perl Weekly Challenge 122: Basketball Stream 22 July 2021 - 1 comment

I’ve been doing the Weekly Challenges. The latest involved a progressive average and additive compositions. (Note that this is open until 25 July 2021.)

[more]
Perl Weekly Challenge 121: Travelling Bit 14 July 2021 - 6 comments

I’ve been doing the Weekly Challenges. The latest involved more binary manipulation and a traditional problem. (Note that this is open until 18 July 2021.)

[more]
Perl Weekly Challenge 120: Swap Clock 07 July 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved more binary manipulation and analogue clocks. (Note that this is open until 11 July 2021.)

[more]
Perl Weekly Challenge 119: Sequence Nibble 02 July 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved fake binary manipulation and an unusual number sequence. (Note that this is open until 4 July 2021.)

[more]
Perl Weekly Challenge 118: Binary Knight 23 June 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved binary palindromes and a restricted Knight's Tour. (Note that this is open until 27 June 2021.)

[more]
Perl Weekly Challenge 117: Missing Possibilities 16 June 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved file analysis and combinatorial explosion. (Note that this is open until 20 June 2021.)

[more]
Perl Weekly Challenge 116: Square Sequence 10 June 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved lots of digit splitting. (Note that this is open until 13 June 2021.)

[more]
Perl Weekly Challenge 115: Largest Chain 05 June 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved chained strings and number construction. (Note that this is open until 6 June 2021.)

[more]
Perl Weekly Challenge 114: Going Higher 27 May 2021 - 2 comments

I’ve been doing the Perl Weekly Challenges. The latest involved unconventional solutions to numerical problems. (Note that this is open until 30 May 2021.)

[more]
Perl Weekly Challenge 113: Represent-Recreate 19 May 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved finding constrained integer decompositions and more binary tree furkling. (Note that this is open until 23 May 2021.)

[more]
Perl Weekly Challenge 112: Canonical Stairs 12 May 2021 - 2 comments

I’ve been doing the Perl Weekly Challenges. The latest involved path canonicalisation and numerical compositions. (Note that this is open until 16 May 2021.)

[more]
Perl Weekly Challenge 111: Search Letters 05 May 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved search optimisations and word sorting. (Note that this is open until 9 May 2021.)

[more]
Perl Weekly Challenge 110: Transpose Numbers 28 April 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved transpositions. (Note that this is open until 2 May 2021.)

[more]
Podcast Recording in Isolation 22 April 2021

Now that I'm involved in a boardgaming podcast as well as the role-playing one, and all recording is remote, I've been recording multiple tracks and editing them together.

[more]
Perl Weekly Challenge 109: Chowla Squares 20 April 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved another numerical sequence and permutations. (Note that this is open until 25 April 2021.)

[more]
Perl Weekly Challenge 108: Memory Bell 13 April 2021 - 3 comments

I’ve been doing the Perl Weekly Challenges. The latest involved bad things and triangular numbers. (Note that this is open until 18 April 2021.)

[more]
Perl Weekly Challenge 107: Self-Descriptive Methods 07 April 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved several sorts of introspection. (Note that this is open until 11 April 2021.)

[more]
Perl Weekly Challenge 106: Maximum Decimal 31 March 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved integer differences and decimal expansion. (Note that this is open until 4 April 2021.)

[more]
Perl Weekly Challenge 105: Name Root 23 March 2021 - 2 comments

I’ve been doing the Perl Weekly Challenges. The latest involved fractional exponentiation and sweating with the oldies. (Note that this is open until 28 March 2021.)

[more]
Perl Weekly Challenge 104: FUSC NIM 16 March 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved the Stern-Brocot sequence (which Dijkstra named "fusc") and a variant of Nim. (Note that this is open until 21 March 2021.)

[more]
Getting your podcast onto iTunes and Spotify 12 March 2021 - 2 comments

One of the podcasts I work on has been on iTunes for a while, which was done back when it was easier. Now the other two are as well, and they're all on Spotify too. Here's how to achieve this, from a standing start.

[more]
Perl Weekly Challenge 103: Playing Zodiac 10 March 2021

I’ve been doing the Perl Weekly Challenges. The latest involved lots of modulus arithmetic. (Note that this is open until 14 March 2021.)

[more]
Migrating a Discourse server 09 March 2021

I recently moved discussion.tekeli.li to a new host. Here's how I did it (with the false starts removed).

[more]
Perl Weekly Challenge 102: Rare Hash 03 March 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved an obscure class of number and a self-consistent string format. (Note that this is open until 7 March 2021.)

[more]
Perl Weekly Challenge 101: Spiral Origin 24 February 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved packing an array and a standard geometry problem. (Note that this is open until 28 February 2021.)

[more]
Flamme Rouge by Forum 21 February 2021 - 2 comments

I have written and released software for running games of Flamme Rouge by forum.

[more]
Perl Weekly Challenge 100: Time Triangle 18 February 2021

I’ve been doing the Perl Weekly Challenges. The latest involved converting time formats and more tree traversal. (Note that this is open until 21 February 2021.)

[more]
Perl Weekly Challenge 99: Unique Match 10 February 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved globbing and building sub-sequences. (Note that this is open until 14 February 2021.)

[more]
Perl Weekly Challenge 98: Insert N 05 February 2021

I’ve been doing the Perl Weekly Challenges. The latest involved reading tiny chunks from a file and searching a list. (Note that this is open until 7 February 2021.)

[more]
Perl Weekly Challenge 97: Caesar Substrings 27 January 2021

I’ve been doing the Perl Weekly Challenges. The latest involved implementing the Caesar cipher and breaking up binary strings. (Note that this is open until 31 January 2021.)

[more]
Perl Weekly Challenge 96: Reverse Distance 22 January 2021

I’ve been doing the Perl Weekly Challenges. The latest involved reversing words in a string and calculating Levenshtein distance. (Note that this is open until 24 January 2021.)

[more]
Running a Vote 16 January 2021

I recently ran the vote for the Pearple's Choice Awards, which used to happen on the old Shut Up & Sit Down forum and now happen on discussion.tekeli.li.

[more]
Perl Weekly Challenge 95: Palindrome Stack 14 January 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved testing for palindromic numbers and building a stack class. (Note that this is open until 17 January 2021.)

[more]
Fun with Letter Tycoon 13 January 2021 - 1 comment

I've been playing a lot of Letter Tycoon on BoardGameArena (it seems that losing at Scrabble to my wife is good training for this). I wanted a practice opponent. So I wrote one.

[more]
Advent of Code 2020 07 January 2021

I did Advent of Code again, and had a good time. Spoilers.

[more]
Perl Weekly Challenge 94: Binary Anagrams 05 January 2021 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved grouping anagrams and more furkling with binary trees. (Note that this is open until 10 January 2021.)

[more]
Perl Weekly Challenge 93: Max Path 30 December 2020

I’ve been doing the Perl Weekly Challenges. The latest involved colinear points and binary tree sums. (Note that this is open until 3 January 2021.)

[more]
Perl Weekly Challenge 92: Isomorphic Interval 25 December 2020

I’ve been doing the Perl Weekly Challenges. The latest involved string isomorphism and interval merging. (Note that this is open until 27 December 2020.)

[more]
Perl Weekly Challenge 91: Number Jump 18 December 2020

I’ve been doing the Perl Weekly Challenges. The latest involved breaking down numbers and following sequences. (Note that this is open until 20 December 2020.)

[more]
Perl Weekly Challenge 90: Ethiopian DNA 10 December 2020 - 3 comments

I’ve been doing the Perl Weekly Challenges. The latest involved base sequences and a binary multiplication system. (Note that this is open until 13 December 2020.)

[more]
Perl Weekly Challenge 89: magic sum 05 December 2020

I’ve been doing the Perl Weekly Challenges. The latest involved GCDs and magic squares. (Note that this is open until 6 December 2020.)

[more]
Perl Weekly Challenge 88: Spiral Product 28 November 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved multiplications and spirals. (Note that this is open until 29 November 2020.)

[more]
A Shebang For Rust 23 November 2020

Rust is a compiled language. How can I run a program directly from the shell?

[more]
Perl Weekly Challenge 87: Consecutive Rectangles 19 November 2020

I’ve been doing the Perl Weekly Challenges. The latest involved list searches and matrices. (Note that this is open until 22 November 2020.)

[more]
Perl Weekly Challenge 86: Sudoku Difference 12 November 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved list searches and combinatorial explosions. (Note that this is open until 15 November 2020.)

[more]
Perl Weekly Challenge 85: Triplet Power 05 November 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved searching combinations and integer powers. (Note that this is open until 8 November 2020.)

[more]
Perl Weekly Challenge 84: Reverse squares 28 October 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved reversing integers and a two-dimensional search. (Note that this is open until 1 November 2020.)

[more]
Perl Weekly Challenge 83: Length and Inversion 23 October 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved string manipulation and a numerical search. (Note that this is open until 25 October 2020.)

[more]
A test harness for my Discourse plugin 19 October 2020

I have ended up maintaining a plugin for Discourse. As I got it, it had no tests. Fixing that was fun.

[more]
Perl Weekly Challenge 82: Interleave Factors 14 October 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved common factors and string searches. (Note that this is open until 12 October 2020.)

[more]
A tour of the United Kingdom with Flightgear 12 October 2020

I've now done a Flightgear-simulated tour at "every" airport in the United Kingdom.

[more]
Perl Weekly Challenge 81: Base Frequency 07 October 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved substrings and word frequencies. (Note that this is open until 11 October 2020.)

[more]
Perl Weekly Challenge 80: missing numbers and jealous neighbours 29 September 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved missing numbers and more ranking of neighbours. (Note that this is open until 4 October 2020.)

[more]
Perl Weekly Challenge 79: cumulative bit count and water capacity 23 September 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved more bit counts and an innovative use of histograms.

[more]
Perl Weekly Challenge 78: Leaders and Rotation 16 September 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved searching array values and rotating lists.

[more]
zpool birthday 14 September 2020

On 14 September 2015 I created the storage zpool that I'm still using.

[more]
Perl Weekly Challenge 77: Fibonacci Sum and Lonely X 09 September 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved summing Fibonacci numbers and looking through a grid for neighbours.

[more]
Fun with Flightgear 07 September 2020

I've been playing with Flightgear again, now with a decent joystick and rudder pedals.

[more]
Perl Weekly Challenge 76: prime sum and word search 03 September 2020 - 5 comments

I’ve been doing the Perl Weekly Challenges. The latest involved summing primes and performing a word search.

[more]
Perl Weekly Challenge 75: coins and rectangles 27 August 2020 - 1 comment

I’ve been doing the Perl Weekly Challenges. The latest involved building set values of coins and finding rectangles in histograms.

[more]
Perl Weekly Challenge 74: more songs about lists 23 August 2020

I’ve been doing the Perl Weekly Challenges. The latest involved finding minima in subsets of lists.

[more]
A shim between Flightgear and Viking 20 August 2020

I've been renewing my interest in the Flightgear flight simulator. And it turns out there's a neat trick you can do with it.

[more]
Perl Weekly Challenge 73: fun with minima 15 August 2020 - 2 comments

I’ve been doing the Perl Weekly Challenges. The latest involved finding minima in subsets of lists.

[more]
Perl Weekly Challenge 72: factorial zeroes and line ranges 05 August 2020

I’ve been doing the Perl Weekly Challenges. The latest involved finding the trailing zeroes of a factorial and printing a range of lines from a file.

[more]
Perl Weekly Challenge 71: peak elements (and Rallyman tracks) 28 July 2020

I’ve been doing the Perl Weekly Challenges. The latest involved finding peak elements and more mucking about with linked lists.

[more]
Perl Weekly Challenge 70: character swaps and Gray code 22 July 2020

I’ve been doing the Perl Weekly Challenges. The latest involved swapping characters, and generating Gray code.

[more]
Perl Weekly Challenge 69: invertible numbers and very long strings 18 July 2020

I’ve been doing the Perl Weekly Challenges. The latest involved finding numbers that looked the same inverted, and generating a very long string.

[more]
Perl Weekly Challenge 68: zero matrix and list reordering 10 July 2020

I’ve been doing the Perl Weekly Challenges. The latest involved zeroing parts of a matrix and reordering a list.

[more]
Perl Weekly Challenge 67: combining numbers and phone keypad 03 July 2020

I’ve been doing the Perl Weekly Challenges. The latest involved generating combinations of numbers and expanding telephone keypad letters.

[more]
Perl Weekly Challenge 66: dividing and factorising 29 June 2020 - 2 comments

I’ve been doing the Perl Weekly Challenges. The latest involved dividing without dividing, and making a test of factors.

[more]
Perl Weekly Challenge 65: summing digits and finding palindromes 23 June 2020

I’ve been doing the Perl Weekly Challenges. The latest involved generating large numbers and splitting strings into palindromes.

[more]
Apps that have lasted 16 June 2020 - 5 comments

A friend is experimenting with LineageOS, and it's about two years since I started to use it, so I thought I'd review the apps that I'm still running frequently.

[more]
Perl Weekly Challenge 64: summing paths and breaking words 10 June 2020

I’ve been doing the Perl Weekly Challenges. The latest involved searching for paths through a grid and breaking a word into tokens.

[more]
Perl Weekly Challenge 63: last words and string rotation 06 June 2020

I’ve been doing the Perl Weekly Challenges. The latest involved finding the last matching word in a string and permuting a string.

[more]
SSL certificates! How do they work? 02 June 2020 - 1 comment

An SSL certificate expired.

[more]
Perl Weekly Challenge 62: email sorting and 3d queens 27 May 2020

I’ve been doing the Perl Weekly Challenges. The latest involved sorting email addresses and solving a variant N-queens problem.

[more]
Perl Weekly Challenge 61: maximum products and IPv4 20 May 2020

I’ve been doing the Perl Weekly Challenges. The latest involved searching for the maximum product in a sequence, and un-munging IPv4 addresses.

[more]
Perl Weekly Challenge 60: Excel columns and number generation 14 May 2020 - 2 comments

I’ve been doing the Perl Weekly Challenges. The latest involved working with a form of numeric encoding, and a very arbitrary numerical problem.

[more]
Perl Weekly Challenge 59: linked list and bit sum 12 May 2020 - 2 comments

I’ve been doing the Perl Weekly Challenges. The latest involved working with a linked list and determining binary differences.

[more]
Perl Weekly Challenge 58: version comparison and ordered line 08 May 2020

I’ve been doing the Perl Weekly Challenges. The latest involved comparing version numbers and generating an arbitrary order.

[more]
Arking Time 06 May 2020 - 2 comments

I've been running a small Discourse forum for role-playing and boardgaming for a while now, ever since UKRolePlayers shut down. It's suddenly got much bigger.

[more]
Perl Weekly Challenge 57: tree inversion and unique prefixes 05 May 2020

I’ve been doing the Perl Weekly Challenges. The latest involved inverting a binary tree and finding unique prefixes.

[more]
Perl Weekly Challenge 56: Diff-K and path sum 29 April 2020

I’ve been doing the Perl Weekly Challenges. The latest involved searching arrays and summing tree paths.

[more]
Perl Weekly Challenge 55: binary flips and alternating permutation 25 April 2020

I’ve been doing the Perl Weekly Challenges. The latest involved flipping bits and generating zigzag permutations.

[more]
Perl Weekly Challenge 54: permutations and Collatz 21 April 2020

I’ve been doing the Perl Weekly Challenges. The latest involved generating permutations and checking the Collatz Conjecture.

[more]
Perl Weekly Challenge 53: matrix rotation and string expansion 17 April 2020

I’ve been doing the Perl Weekly Challenges. The latest involved a basic Markov chain.

[more]
Perl Weekly Challenge 52: stepping numbers and game theory 13 April 2020

I’ve been doing the Perl Weekly Challenges. The latest involved some game theory.

[more]
Perl Weekly Challenge 51: triplet sums and colourful numbers 07 April 2020

I’ve been doing the Perl Weekly Challenges. The latest involved a lot of nested loops.

[more]
How To Jitsi 03 April 2020

I've been playing RPGs over Google Hangouts for a while but I don't like it. Here's how to do it with free software instead.

[more]
Perl Weekly Challenge 50: merged intervals and noble integers 30 March 2020

I’ve been doing the Perl Weekly Challenges. The latest was about merging intervals and determining noble numbers.

[more]
Perl Weekly Challenge 49: multiples and LRU cache 22 March 2020

I’ve been doing the Perl Weekly Challenges. The latest was about searching for particular multiples of a number, and implementing a fixed-size cache.

[more]
How To Hangouts 20 March 2020 - 3 comments

I've been playing RPGs over Google Hangouts for a while, and recently several people have asked how to go about this as their regular groups move on-line. So here are my notes.

[more]
Perl Weekly Challenge 48: survivor and palindromic dates 16 March 2020

I’ve been doing the Perl Weekly Challenges. The latest was about calculating the survivor of a stabbing game, and determining palindromic dates.

[more]
Perl Weekly Challenge 47: roman calculator and gapful numbers 09 March 2020

I’ve been doing the Perl Weekly Challenges. The latest was about doing Roman arithmetic and generating gapful numbers.

[more]
Perl Weekly Challenge 46: corrupt messages and hotel rooms 28 February 2020

I’ve been doing the Perl Weekly Challenges. The latest was about recovering a corrupted message and solving an iterative problem.

[more]
Perl Weekly Challenge 45: bad codes and quines 21 February 2020

I’ve been doing the Perl Weekly Challenges. The latest was about a bad encoding scheme and producing the source of a program.

[more]
Perl Weekly Challenge 44: goal-seeking 13 February 2020

I’ve been doing the Perl Weekly Challenges. The latest was about arranging numbers and arithmetical operations.

[more]
Perl Weekly Challenge 43: rings and self-descriptive numbers 09 February 2020

I’ve been doing the Perl Weekly Challenges. The latest was about allocating numbers to rings and generating self-descriptive numbers.

[more]
Perl Weekly Challenge 42: octal and balancing brackets 03 February 2020

I’ve been doing the Perl Weekly Challenges. The latest was about printing in octal and detecting balanced brackets.

[more]
Perl Weekly Challenge 41: obscure number sequences 23 January 2020

I’ve been doing the Perl Weekly Challenges. The latest was about generating number sequences.

[more]
mpd and YouTube 15 January 2020

I've extended my mpd-tools suite to allow for a new mode of operation.

[more]
Advent of Code 2019 09 January 2020

I did last year's Advent of Code, and had a lot of fun working on it. Spoilers.

[more]
Perl Weekly Challenge 40: mucking about with lists 29 December 2019 - 2 comments

I’ve been doing the Perl Weekly Challenges. The latest was about list manipulation.

[more]
Perl Weekly Challenge 39: text parsing 25 December 2019

I’ve been doing the Perl Weekly Challenges. Last week's was about parsing a specific file format.

[more]
Perl Weekly Challenge 38: date parsing and word games 18 December 2019

I’ve been doing the Perl Weekly Challenges. Last week's was about parsing an odd date format and generating words in a Scrabble-ish manner.

[more]
Perl Weekly Challenge 37: weekdays and day lengths 11 December 2019

I’ve been doing the Perl Weekly Challenges. Last week's was about counting weekdays and working out total daylight.

[more]
Perl Weekly Challenge 36: VINs and Knapsacks 05 December 2019

I’ve been doing the Perl Weekly Challenges. Last week's was about validating VINs and solving the knapsack problem.

[more]
Perl Weekly Challenge 35: Binary Morse Code 28 November 2019

I’ve been doing the Perl Weekly Challenges. Last week's was about encoding and decoding to a binary representation of Morse code.

[more]
Perl Weekly Challenge 34 18 November 2019

I’ve been doing the Perl Weekly Challenges Last week’s was about demonstrating specific coding techniques.

[more]
Perl Weekly Challenge 33 08 November 2019

I’ve been doing the Perl Weekly Challenges This week’s was about counting letters and generating a multiplication table.

[more]
Perl Weekly Challenge 32 04 November 2019

I’ve been doing the Perl Weekly Challenges (I missed 31 because of getting ready for Essen, and didn’t have time to do this one in Perl6). This week’s was about counting entities and generating ASCII bar charts.

[more]
Perl Weekly Challenge 30 15 October 2019

I've been doing the Perl Weekly Challenges. This one dealt with date calculations and exhaustive number searches.

[more]
Perl Weekly Challenge 29 11 October 2019

I've been doing the Perl Weekly Challenges. This one dealt with expanding braces and calling C functions.

[more]
Perl Weekly Challenge 28 04 October 2019

I've been doing the Perl Weekly Challenges. This one dealt with testing file contents and producing the current time.

[more]
Perl Weekly Challenge 27 26 September 2019

I've been doing the Perl Weekly Challenges. This one dealt with finding the intersection of two lines and doing worrying things to innocent variables.

[more]
Perl Weekly Challenge 26 20 September 2019

I've been doing the Perl Weekly Challenges. This one dealt with finding letters in words and the mean of circular quantities.

[more]
Perl Weekly Challenge 25 11 September 2019

I've been doing the Perl Weekly Challenges. This one dealt with building long strings and the Chaocypher.

[more]
Perl Weekly Challenge 24 03 September 2019

I've been doing the Perl Weekly Challenges. This one dealt with minimal programs and inverted-index text search.

[more]
Perl Weekly Challenge 23 28 August 2019

I've been doing the Perl Weekly Challenges. This one dealt with difference series and prime factorisation.

[more]
Perl Weekly Challenge 22 24 August 2019

I've been doing the Perl Weekly Challenges. This one dealt with sexy primes and LZW encoding.

[more]
Perl Weekly Challenge 21 15 August 2019

I've been doing the Perl Weekly Challenges. This one dealt with e, and URLs again.

[more]
Perl Weekly Challenge 20 08 August 2019

I've been doing the Perl Weekly Challenges. This one dealt with string splitting and amicable numbers.

[more]
Perl Weekly Challenge 19 05 August 2019 - 2 comments

I've been doing the Perl Weekly Challenges. This one dealt with months and word-wrapping.

[more]
Perl Weekly Challenge 18 27 July 2019

I've been doing the Perl Weekly Challenges. This one was a couple of standard computer-science problems.

[more]
Perl Weekly Challenge 17 24 July 2019

I've been doing the Perl Weekly Challenges. This one was to implement the Ackermann function and parse URLs.

[more]
Xandikos Calendar Server on Debian 10 20 July 2019 - 2 comments

Why have a calendar server in the first place? Because I want to check my schedule from multiple devices, and because I don't want to sell out to Google. (Which of course just means that when Google takes over I won't have been paid.)

[more]
Perl Weekly Challenge 16 18 July 2019

I've been doing the Perl Weekly Challenges. This one was to do a fiddly numerical calculation, and to check Bitcoin addresses.

[more]
Perl Weekly Challenge 15 11 July 2019

I've recently started doing the Perl Weekly Challenges. This one was to hunt primes and do "Vigenère" enciphering.

[more]
Walk Planning with Viking 19 June 2019

Viking is a powerful, but not always intuitive, program for handling geodata (position log recordings, maps, etc.). This post deals with how to plan a walking route using it.

[more]
Moving filenames to UTF-8 11 May 2019 - 1 comment

I've been renaming my large music collection into UTF-8.

[more]
Music for Barbecues 03 May 2019

I've been improving the ways people can get access to the local music server during my barbecues and similar events.

[more]
Unlocking a Pocophone F1 16 April 2019 - 5 comments

My Nexus 6P is jolly good, but its battery has become increasingly unreliable. So I now have a new shinyphone – also running LineageOS. This post covers all the gory details of getting it set up.

[more]
How I saved 2.2 terabytes by disabling compression 17 February 2019 - 3 comments

As part of the procedure for making sure a large set of work-related data remains intact and recoverable, I keep backups at home.

[more]
Online boardgaming with Tabletop Simulator 21 November 2018 - 1 comment

After some strong hints, I joined Steam and bought Tabletop Simulator.

[more]
Fixing "Vendor Image Mismatch" on LineageOS 17 August 2018

Every so often, after a LineageOS upgrade, the device starts to complain on reboot about a "Vendor Image Mismatch": the underlying Android code has become outdated. LineageOS doesn't fix this itself; this is firmware which the operating system can't change. Less forgivably, the LineageOS documentation doesn't appear to mention the problem. Here's a step-by-step guide to dealing with it, using the Linux command line.

[more]
Happiness is a warm SSLLabs test 11 August 2018 - 1 comment

I've recently set up HTTPS on the servers at work, running in parallel with HTTP. For reasons which were good at the time and are still not entirely wrong, we're using lighttpd as a front-end, and the process was less trivial than I'd have preferred.

[more]
Wireless networks in the wild 05 July 2018 - 4 comments

I've been running a wireless network receiver while out (mostly driving) with the smartphone, logging beacons and locations.

[more]
More apps for the smartphone 11 June 2018

Part 2 of an occasional series.

[more]
OpenVPN on LineageOS 27 May 2018

Since I have a bunch of useful things on servers at home, I was interested in using OpenVPN on the phone to get at them.

[more]
Jelly Comb folding Bluetooth keyboard 21 May 2018

Because I knew I was going to be using Termux quite a lot, I got a bluetooth keyboard to use with my phone. It turns out to be really rather good.

[more]
Osmand+ 19 May 2018

I've replaced the fairly basic Maps program I was using on my shinyphone with Osmand+.

[more]
Entering the 21st Century 15 May 2018 - 4 comments

I've finally found a smartphone that falls within my parameters for the three Ps: price, performance and paranoia.

[more]
Finding Supermarket Fuel 28 April 2018

A reader (hi Dave!) suggested extending the supermarket-finder to locate supermarket fuel near motorway junctions.

[more]
Finding Tesco 18 April 2018 - 8 comments

Well, my wife wanted a sandwich while we were on the road. And unlike me she is particular about what she likes to eat, so she wanted to find branches of Tesco. This is a job for: COMPUTERS!

[more]
A free countdown timer 12 December 2017 - 2 comments

When I'm playing play-by-forum games, there's often a deadline. Because players are scattered across the world and many people are bad at time zones, it's helpful to have a countdown to remind people how much time is left. So I made one.

[more]
Building a File Server 4: maintenance 18 October 2017

In this (probably final) part of the series on building a file server, I'll talk about keeping the thing running once you've got it. This is specific to the ZFS approach.

[more]
Building a File Server 3: software 03 October 2017 - 1 comment

In this part of the series on building a file server, I'll talk about software.

[more]
Building a File Server 2: hardware 25 September 2017 - 2 comments

In part 2 of this series on building a file server, I'll talk about hardware selection.

[more]
Building a File Server 1: planning 18 September 2017 - 2 comments

Many people these days want to store more data than can be conveniently accommodated on one hard disc. You can buy boxes to store files, or build your own. I've built and upgraded several, and in these posts I'm going to talk about how I did it.

[more]
Lies that git will tell you 14 September 2017

I do actually like git. I find it needlessly obfuscatory and deliberately confusing in its syntax and terminology, but it basically does its job reasonably well. However, there are some popular blatant untruths that I think people would do well to know about.

[more]
Mainland European Internet 27 August 2017

Some recent experience using hotel- and guest-house Internet services while travelling through Germany, Sweden and Finland.

[more]
Building My Second First CPAN Module 13 August 2017 - 4 comments

I wrote a CPAN module back in the day. Let's not talk about it; it wasn't very good. Recently the local Perlmongers group (ThamesValley.pm) encouraged me to modularise and release some newer code.

[more]
The units program as a command-line calculator 28 July 2017

The units(1) program is available on many Unix systems (though rarely installed by default). Most people think of it as a simple interactive converter. It's actually much more powerful than that.

[more]
Lenovo Laptop Repairs 10 July 2017

'Twas on a Wednesday evening that the laptop did break down... failing to come out of suspend after having been moved, with the 1-3-3-1 beep code that, on Lenovo machines at least, indicates a memory or system board problem. I cleaned up the DIMM contacts and it worked happily for a day, then died again on Thursday night, and more cleaning and re-seating didn't help. Time for a warranty repair.

[more]
Some technical thoughts on podcasting 08 July 2017 - 1 comment

I've been podcasting for over four years now, I'm now getting game recordings together for the Whartson Hall Æthernauts too, and I hope some of this advice may be useful to people who are getting started.

[more]
The Tripartite Problem Report 22 June 2017

I think I have come up with a new and potentially useful paradigm for computer-related problem reports.

[more]
World Service Pi 11 November 2016 - 2 comments

My wife likes to listen to the radio at night. But Radio 4 is getting increasingly annoying (even I notice this; I don't listen to the speech, but I do pick up the vocal intonations, which over the last couple of years have become increasingly aggressive even when the subject is not one that would seem to deserve it) and the World Service is preferred.

[more]
Garmin Drive favourites and Linux 16 October 2016

Getting "favourites" (stored locations) on and off the Garmin Drive navi is slightly more fiddly than it needs to be, but doesn't require Windows even slightly. Here's what worked for me.

[more]
How To Use a Garmin Drive navi with Linux 27 September 2016

I have recently purchased a Garmin DriveSmart navigation unit. It is quite possible to get this up and running, legally, without buying a copy of Windows or Mac OS. Here's how. I believe this will also work with DriveAware and DriveLuxe models.

[more]
Farewell to systemd 22 May 2016 - 6 comments

I tried to give it a fair shake. Really I did. But systemd has now annoyed me to the point where I've been removing it from the systems for which I'm responsible and bringing back sysvinit.

[more]
New Search Engine at Work 26 April 2016

We recently switched to a new search engine at work, largely written by me with a standard back-end library.

[more]
More Internet of Things 09 April 2016 - 3 comments

A recent news item on Revolv home hubs made me want to revisit my feelings on the Internet of Things.

[more]
Ubiquiti Unifi AP 03 April 2016 - 1 comment

This is simply the best wireless access point I have used.

[more]
Blog Search Engine 18 March 2016 - 8 comments

The blog now has a search engine, powered by Lucy.

[more]
Anker SATA dock 09 March 2016 - 4 comments

I've had a general-purpose IDE/SATA connector for a few years, but it runs into a 2TB limit with modern large drives.

[more]
Why not a root shell? 09 February 2016 - 3 comments

Many modern Linux systems assume that you will never have a root shell. Instead, you are expected to prepend "sudo" to every root-type command.

[more]
Lenovo/IBM warranty service 17 January 2016

It used to be traditional on a personal blog to rant about the horrible service one had received from a big company. (These days it does no good unless it's on Twitter or Facebook.) But there doesn't seem to be enough of the other side.

[more]
Internet of Things 28 December 2015 - 4 comments

This has been a year when "Internet of Things" devices became relatively mainstream. Oh dear.

[more]
Let's Encrypt at firedrake.org 05 December 2015 - 2 comments

Let's Encrypt has moved to public beta, and I've taken advantage of it. Why? Because a non-zero proportion of the people intercepting your web traffic are bad guys. The less plain-text traffic is out there, the less they learn.

[more]
Introducing pyromachy 15 September 2015 - 7 comments

My old file server is Full. So it's time to build a new one. All images are cc-by-sa.

[more]
Networking without network-manager 07 March 2015

I don't like network-manager. It's too big and complicated and hard to persuade to do the things I want. Fortunately it's not too hard to do without it.

[more]
Blog Spam 15 February 2015 - 6 comments

This blog remains spam-free, mostly because I see all comments before they go up.

[more]
Ideas for a 4X game 27 January 2015 - 5 comments

Back in the day I played quite a lot of VGA Planets. Now I'm thinking, not for the first time, about writing a computer game in the same broad style.

[more]
Replacing Chronicle 25 December 2014 - 1 comment

"It all looks different this morning!"

I've been using chronicle since I started this blog in January of this year, but the time has come to replace it.

[more]
Thanks, Google! 20 December 2014 - 1 comment

It was really useful to be able to plot arbitrary data onto a zoomable map. The only service to offer this was Google Maps; indeed, it was the last thing for which I was using any Google service.

[more]
The perils of in-band signalling 28 November 2014

It's often tempting, but usually an error, to allow control signals to be sent by the same channel as the data. This is an example of why.

[more]
The Live Tracker 01 November 2014 - 2 comments

When I'm driving, I may get caught in traffic or have to divert round roadworks. If that happens, I don't want to pull in to call whoever's at my destination; that'll just make me even later, and on the motorway there aren't many opportunities to stop. But the machinery that I'm already using to log my trips knows my position anyway…

[more]
Fun with Couriers 18 October 2014 - 1 comment

Every so often a server for which I'm responsible fails, and I get it shipped to me for fixing. Usually this works reasonably well.

[more]
The Haas Effect in Audacity 09 July 2014

The podcast for which I do sound tech (yes, all right, I'm also one of the speakers and writers) sometimes uses old recordings as interstitial music.

[more]
Plotting onto Tactical Pilotage Charts 10 June 2014

Sometimes my interests intersect. I've been working on a way to plot markers and objects onto real-world charts.

[more]
Setting up a headless Raspberry Pi under Linux 05 June 2014 - 2 comments

I have a checklist for setting up a Raspberry Pi, which I run through before I do any task-specific customisation. It occurred to me that people might find this useful.

[more]
Augmenting Chronicle 19 May 2014

I've been keeping this blog since the beginning of the year, and it's gradually been accreting ancillary code.

[more]
Search
Archive
Tags 1920s 1930s 1940s 1950s 1960s 1970s 1980s 1990s 2000s 2010s 2300ad 3d printing action advent of code aeronautics aikakirja anecdote animation anime army astronomy audio audio tech base commerce battletech bayern beer boardgaming book of the week bookmonth chain of command children chris chronicle church of no redeeming virtues cold war comedy computing contemporary cornish smuggler cosmic encounter coup covid-19 crime crystal cthulhu eternal cycling dead of winter doctor who documentary drama driving drone ecchi economics en garde espionage essen 2015 essen 2016 essen 2017 essen 2018 essen 2019 essen 2022 essen 2023 essen 2024 existential risk falklands war fandom fanfic fantasy feminism film firefly first world war flash point flight simulation food garmin drive gazebo genesys geocaching geodata gin gkp gurps gurps 101 gus harpoon historical history horror hugo 2014 hugo 2015 hugo 2016 hugo 2017 hugo 2018 hugo 2019 hugo 2020 hugo 2021 hugo 2022 hugo 2023 hugo 2024 hugo-nebula reread in brief avoid instrumented life javascript julian simpson julie enfield kickstarter kotlin learn to play leaving earth linux liquor lovecraftiana lua mecha men with beards mpd museum music mystery naval noir non-fiction one for the brow opera parody paul temple perl perl weekly challenge photography podcast politics postscript powers prediction privacy project woolsack pyracantha python quantum rail raku ranting raspberry pi reading reading boardgames social real life restaurant reviews romance rpg a day rpgs ruby rust scala science fiction scythe second world war security shipwreck simutrans smartphone south atlantic war squaddies stationery steampunk stuarts suburbia superheroes suspense television the resistance the weekly challenge thirsty meeples thriller tin soldier torg toys trailers travel type 26 type 31 type 45 vietnam war war wargaming weather wives and sweethearts writing about writing x-wing young adult
Special All book reviews, All film reviews
Produced by aikakirja v0.1