Kriss Jessop About Me Projects Personal Projects RPGs

Unique Strings – SQL

Posted on February 6th, 2018

On occasion a unique string with a database entry can be a very useful way of indexing a table that constrains to either a character limit, or hides the number of entries in the table. Here’s a couple of ways this can easily be done.


The likelihood of repetition with a UUID (or GUID) is so infinitesimally small, and so easily available using SQL that if all you need is a unique identifier then this is what you want. The trade-off is it’s length. A UUID is a 32-digit hex-number, so it’s not always useful when trying to create something like a URL shortener or have non-incrementing identifiers.

Memoirs of a Blackguard

Posted on October 26th, 2017

I am named Valkyrie; not by birth, but by trial. And while I doubt this account will never be declassified, it is requested for the records none the less.

How to use GitHub

Posted on October 21st, 2017

If you’re here, you’re probably a programmer of some variety that wants to know how to use GitHub. So come on in, stay a while, and I’ll tell you a stirring tale of code, version control, and definitely not about vampires.

I’m also assuming you have a GitHub account already. So let’s crack on.

Driving a Story: Agency and Conflict

Posted on January 30th, 2017

If you’re anything like me, you recognise the need for conflict to drive narrative and character development, but at times have difficulty putting two and two together. This can be especially apparent when it comes to tabletop RPG’s where you need to stitch your players’ characters and a narrative together, but how do you create conflict in a character that’s completely outside of your control? What happens in writing where a character needs to do something that we – or our audience – don’t believe they would do?

AirBnB Preprocessing

Posted on December 19th, 2016

Before I was able to start on the application of Dispersive Flies Optimisation to the AirBnB data, it occured to me that while I could use the information as it was, things would be much simpler further down the line if I was to process the data I needed (namely the amenities field) into fields of their own with boolean 0,1 values, than it would be to parse the amenities field each time a fitness check was performed. It should probably be noted early that DFO is intended for search with high dimensionality, My search is likely only going to use a few dimensions and it’s entirely possible that a more conventional search algorithm would perform better.

GA: Analysis to Implementation

Posted on December 3rd, 2016


Assume that your GA has chromosomes in the following structure:

ch = (g0, g1, g2, g3, g4, g5, g6, g7)

g0-7 can be any digits between zero to nine.
The fitness of each chromosome is calculated using the following formula:

f(ch) = (g0 + g1) – (g2 + g3) + (g4 + g5 ) – (g6 + g7)
BODMAS is a thing…

This problem is a maximisation problem.

In this scenario we initially have a population of four chromosomes as shown below:

Steady State vs Modular Genetic Algorithms

Posted on November 20th, 2016

Once again with definitions and stuff. I’m sure this makes for an absolutely thrilling read. Below we’re talk about the different types of genetic algorithm. Pretty straight forward.

An Introduction to Genetic Algorithms

Posted on November 14th, 2016

Genetic algorithms are a form of evolutionary computation pioneered by one John Henry Holland in 1975. At the time, the main limitation of applying early genetic algorithms was computing power. Because apparently my current computer is like 30,000 times more powerful than my first computer. Yeah…

The Epimia Southlands

Posted on November 5th, 2016

It’s been a thousand years since the Great Exodus and little fewer since the Age of Dragons came to an end. The horrors of The Old World have long since been forgotten. Civilisation thrives in the new land of Epimia.