RSSAmplifier

Blog

Welcome on george pollard

Recent content in Welcome on george pollard

porg.esRSS feed ↗21 posts

Latest posts

Computers Cannot Multiply

What would you call a function that is incorrect 99.999999% of the time? Broken? 
 Let’s take a look: what happens if you multiply two (unsigned) 4-bit numbers? 
 
 
 All numbers multiplied by zero or one are okay. 
 If we multiply by 2, half the numbers are incorrect. 
 If we multiply by 3, two-thirds of the numbers are incorrect. 
 If we multiply by 4, three-quarters…

Aphorisms

Something that has worked well for me several times (twice so far) is coming up with a catchy aphorism and then getting other people to write about it. 
 I need to try this again. 
 implementations, not representations 
 Turned into the article “ Pass implementations, not representations ” (2017) by Bevan Arps. 
 parse, don’t validate 
 This motto was turned into the wonderful…

1–10+K Decks

(Extracted from a rambling email I sent to Raymond Lee, 22nd Feb 2024.) 
 To waffle a bit here, and think about a possible nebulous clumping (barely a category) of “1–(9/10)+K” decks, which have 9 or 10 pip cards plus (one or more, but not the full “European” complement of) “top cards” (honours, courts, etc), and usually having some suits reversed in…

A somewhat new theory about Mamluk Playing Cards

Here is a somewhat -new theory about the so-called “Mamluk playing cards” which I think shines light on the way the deck was constructed. 
 Firstly we simply remove the “replacement cards” to see what happens and secondly , this leaves us with something that is structurally similar with known Chinese decks of the same period. 
 As far as I know this connection hasn’t been suggested…

Interruption Testing

This post is an attempt to capture a general description of a simple testing technique I have encountered in a few guises — and “Interruption testing” is my attempt to give it a name. 
 Interruption testing is useful when: 
 
 You have a (deterministic) procedure that is comprised of a series of steps. (A prerequsite is that you have a way to inject code to interrupt the procedure at…

(Bad) Poems about NZ Beers

(Apologetically occasioned by Chris Tse’s tweets 1 , 2 .) 
 Steinlager 
 First sip: I am fishing from a dinghy, Bobbing in the ocean 
 Two: the sea is still The wind is quiet 
 Three: I have caught a fish I drop it in the bottom of the boat Seawater around my ankles 
 Four: I lift the vessel fish afloat, gunwales-to-lips and drink

History of Programming Language Topics

Inspired by Cajori’s A History of Mathematical Notations , and/or TV Tropes . 
 
 [On computing as pop culture:] … But pop culture holds a disdain for history. Pop culture is all about identity and feeling like you’re participating. It has nothing to do with cooperation, the past or the future — it’s living in the present. I think the same is true of most people who write code…

Cheap model-based testing with F# & FsCheck

This is a blog version of a talk that I did ~2015 in Auckland. Nothing in it is original or unknown, but there aren’t that many examples of doing this aside from in the FsCheck documentation . I also gave a talk which contains a very similar example to the Melbourne ALT.NET meetup in 2018. 
 What is FsCheck? 
 FsCheck is a library in the spirit of Haskell’s QuickCheck , which allows you to…

Ignore Null Strategies

There’s no such thing as a null strategy! 
 Here is a simple refactoring/micro-pattern that can help remove a little complexity from classes that use passed-in behaviours/strategies/handlers/whatever you want to call them. 1 The examples given here may seem rather abstract or “enterprisey”, but it’s something that comes up repeatedly when developing software. 
 The problem: Checking…

Managing Multiplicity

Alternate titles: Purging Pluralities, Collapsing Cardinality. 
 Dealing with zero-or-more implementations is a common occurrence when dealing with code that uses behaviour injection (AKA the strategy pattern) heavily. 
 In this post I’ll demonstrate how to deal with multiplicity for specific types of strategies, in order to remove complexity from the consumer and allow more reuse and…

On i, j, … as iteration variables (but really a foray into primary sources)

This question was recently asked on StackOverflow: 
 
 I know this might seem like an absolutely silly question to ask, yet I am too curious not to ask… 
 Why did “i” and “j” become THE variables to use as counters in most control structures? 
 
 The question has generated many answers, from scholarly to spurious — but the thing that has struck me is that no one has attempted…

“Purity”

(Originally posted on StackOverflow .) 
 Mathematical functions have often been described as “pure” in terms of some specified variables. e.g.: 
 
 the first term is a pure function of x and the second term is a pure function of y 
 
 Because of this, I think that finding a true “first” occurrence will be near-impossible. 
 For programming languages, a little searching…

So, it turns out that .NET’s Regex are more powerful t̖̱̍ͭ͊h̟ͨͨa̞̖̙̔̇n͇̝͚̤̒́ͨ̐ ̯͖̏̌̔Ị̟̮̱̥̇̐̎͂ͬ͗̒ ̪̹̱͙̘ͦ̉ͪͪͣ̉͊o͕̥̝͇͙ͪ͊ͤ̑̂̽́r͔̭̪̮̟͗̍ͨ͗͛ͣḭ̝̜͈ͫ́g̥̹̥̜̦̓̇̓i̪͕̭̞͛ͯ̓͛̔̾ͫn̘̗a̰̜ͨͪ͊l̩͑̐̐́ͥ̚l̜ͨ͋̈ẙͦ́ ̟̬̬̫͙̤ͭ̚t̳͎̱̗̲́h͔͙̰̬̊̈́͊̾o͉ͫ̌̄u͉̲̥g̏ͥ̑̅̽̇h̻͇̥̰̯ͥͯṱ̯̏̄̒͒ͫ̃.͖̟͍̘̼̼̍̐̀͊̓́…

Today, thanks to user Lucero on StackOverflow, I learned about .NET’s “Balancing Groups” Regex feature. &#xA; Basically, any time you use a named capturing group, it actually pushes the capture onto a named stack. You can then pop this stack by using the same capturing group prefixed with a hyphen, like (?<-stackToPop>) . &#xA; &#xA; Of course, anyone who finds themselves in this situation is…

Debugging Turing: an excursion with Scheme

So, I thought it would be a fun idea for my first ever Lisp/Scheme program to implement Alan Turing’s original a -machines from his paper, On Computable Numbers, with an Application to the Entscheidungsproblem (paper available to public). Fun? Oh, I hadn’t any idea… &#xA; Preamble; choice of implementation &#xA; I decided to go with the latest and greatest version of Scheme: R⁶RS . There are…

An Occult History of Computing – Further Reading & Sources

This page lists articles used in the making of the talk “An Occult History of Computing”. (See publications .) &#xA; &#xA; Sources with a ⭐ are those that I particularly enjoyed. &#xA; The PowerPoint slides are available here . &#xA; Title Slide &#xA; &#xA; Geometrical Psychology: Mathematical Models of Consciousness by the 19th-Century Psychologist Benjamin Betts – The Marginalian (the spiral)…

Articles on the rise of occult practices

2018 &#xA; January - Why Are Millennials So Into Astrology? - The Atlantic &#xA; 2019 &#xA; June - The Rise of Progressive Occultism - The American Interest (the-american-interest.com) &#xA; July - https://www.newyorker.com/humor/daily-shouts/look-whos-suddenly-into-tarot-cards-now-that-hes-possessed-by-the-devil &#xA; October -…

Campaign Ideas

Some quick ideas of TTRPG things that would fit together nicely. &#xA; Songbirds & Strahd : run Curse of Strahd using Songbirds .

Geomantic Figures Proposal (L2/23-218)

This is a Unicode proposal to encode the Geomantic Figures. The Unicode document reference is L2/23-218 . &#xA; This was my first Unicode proposal and my experience of submitting it was very smooth. &#xA; The timeline of my submission, if it is of interest to other potential proposal authors, looked like this: &#xA; &#xA; June 2023: submitted to the Unicode Script Ad-Hoc Group &#xA; 18th August…

High Leverage

Invest a little, get a lot back. &#xA; Note: I distinguish this from “invest nothing, get something”. This precludes bunk stuff like ‘no-code’, magic AI, etc.

Interests

A short list of things I’m interested in. &#xA; Games, traditional, board & card &#xA; I collect playing cards and also games — as in, rules for them. &#xA; My main site about games is Ways to Play. For cards, I focus mainly on (East/South-East) Asian decks as they have been underrepresented in existing books and I would like to correct that: &#xA; &#xA; See the articles on Hanafuda for more on…

Publications

I would not call myself published , but this page collects together various bits and pieces of named & dated media. &#xA; Standards Documents &#xA; (2023) Unicode Proposal to encode Geomantic Figures &#xA; See Geomantic Figures Proposal for details. &#xA; Talks & Presentations &#xA; (2023) “An Occult History of Computing” &#xA; Presented at Code Camp Wellington . A history of computing through the…