Recent Posts

  1. Wordscapes with OpenCV

    I don't play a lot of games, but occasionally one catches my eye, usually because it looks like something I could have fun automating.

    This time, the game was Wordscapes, a cross between scrabble and a crossword. The aim is to find the words in the grid using a given set of letters; each letter can only be used once, bonus points for extra words!

    Read More... 2022-10-04
  2. A New Password Manager

    There are a lot of different password managers out there, a lot of good ones, but in one way or another, none of them quite hit the mark for me. The closest thing I found was Pass, but even that didn't quite fit the bill. It did inspire me to create my own though...

    Introducing SecureStore, a Pass-like password manager. Written in Bash flavoured shell and using GPG to encrypt the contents of the store. Looking at it from a high level, it's very similar to Pass, but there are some notable differences once you look at it a little deeper.

    Read More... 2020-04-12
  3. Steganographic Packets

    I had an idea a while ago about a method of sending data across a network link without sending a single byte of data in the packets themselves.

    Here's one of the packets:

    00000000: cc 33 bb c5 11 6e 70 85 c2 3a c4 25 08 00 45 00  .3...np..:.%..E.
    00000010: 00 1c 00 01 00 00 40 01 f6 0c c0 a8 01 85 c0 a8  ......@.........
    00000020: 01 fe 08 00 f7 ff 00 00 00 00                    ..........
    

    Not a single byte of payload data in there! We could break out every single bit (pun intended) to prove it, but by the end of this post, hopefully, I won't need to!

    So how is it possible to send data between two hosts without actually sending a single byte of it in the packets themselves?

    Read More... 2019-01-30
  4. The Original Task Runner

    It seems to me that the tools we use are changing so quickly that sometimes we forget to look around at what we already have before we invent something new. Don't get me wrong, specialised build tools and task runners have their place and can make things easier, but they can sometimes unnecessarily overcomplicate things.

    Simplicity is prerequisite for reliability. Edsger Dijkstra

    Enter Bash; installed on most Linux distributions by default, available on Mac and even Windows. Cross platform!

    People have been using Bash scripts to do this sort of thing for quite a while now, but hopefully this will put a slightly different spin on it.

    Read More... 2018-09-07