OddThinking

A blog for odd things and odd thoughts.

Bashing bash

Microsoft are porting bash to Windows. Microsoft may as well tell me that they are going to support those old Sun mice that required the special gridded mouse mats. Why would we want to go back to that?

Read more...

Dice Games: Part 3 of 3: Solutions

Warning: Contains spoilers. Go read Part 1 and Part 2 first. Game A Jump to rules. It is easy to work out the model for this game by hand, but remember my goal here is to exercise some code. So, let’s see some output from the code. Here is the distribution of payouts. The expected […]

Read more...

Categories: Geek,Puzzle Solving,S/W Dev
Tags: dice

Dice Games: Part 2 of 3: Revealing the Meta-Goals

This is background information for Part 1. About six years ago, I was taught a dice game called Farkle. If you haven’t heard of it, it is not the same as Yahtzee, but it is close enough for this discussion. I have been meaning to get around to modelling Farkle, and coming up with an […]

Read more...

Categories: Puzzle Solving,S/W Dev
Tags: puzzle

Dice Games, Part 1 of 3: Defining the Rules

So, suppose we’ve been hired by the research division of SomeBetOdd
Casinos. They want an analysis of some new dice games they are thinking of introducing.

Read more...

Categories: Geek,Puzzle Solving,S/W Dev
Tags: puzzle

Haskell versus Python at solving Alphametics

Eight years ago, I posted a description of an Alphametics Helper. I wasn’t much interested in the answers (as was evidenced by the fact it gave wrong answers, and I only just noticed) so much as the architecture – I wanted to implement a new Puzzle Solving Framework that later proved to be very versatile. […]

Read more...

Categories: Puzzle Solving,S/W Dev

Light Up Puzzle

Long-term readers (given the radio silence, do I have any other type?) will remember that I wrote a Puzzle Solving Framework to help solve “newspaper” pencil-and-paper puzzles. I’ve been thinking of preparing a presentation about it for a local Python group, so I decided to implement another one. Introducing Light Up Light Up is an […]

Read more...

Categories: Puzzle Solving,S/W Dev
Tags: puzzles

Over-experienced

Apparently, I used C# well before the iPhone.

Read more...

Anti-Pattern: Report Proliferation

Report generation involves a conflict of interest, leading to proliferation.

Read more...

Anti-Pattern: Let the Users Configure the Business Rules

Here is a software analysis anti-pattern I have seen many times in my career. It is popping up in my current project, and I am trying to work out how to subvert it early.

Read more...

Why the Python Main area should be small

Today, I am justifying a particular personal coding standard rule. If I explicitly argue the case, I hope I will conform to it more.

Read more...

Categories: S/W Dev
Tags: Python