Why Dependabot Works

This is the theory of why dependabot works so well.

With atomic changes you know what triggered the break (or find that your tests are unreliable, which is also valuable).

Genetic Algorithms In Elixir

This weekend I have been working through the published version of this book.

The ideas are great, but there are too many errors in the examples to make it easy to work through.

The book builds up a framework for using Genetic Algorithms, including some sophisticated logging, visualisation and performance tuning tricks. Some of the example code used clearly belongs with earlier drafts. I am sure if you download the sample code you could fix the mistakes. For example some of the logic in the tiger example is wrong in the first instance, but correct when used later on. Also I don’t think that you can pass an anonymous function to apply.

Here is the repo that I have been working on:


Identity Theft

Recently I have been the victim of Identity Theft.

In October and November last year there were a total of 57 attempt to take out financial services in my name. So far two of these have succeeded in obtaining money.

Both of them were payday loan companies. I have reported the identity theft to Action Fraud. Both companies would openly talk to me about the loans and have recorded them as fraudulent.

I have signed up to a credit file checking service to allow me to see what the current state is. I will need to keep this up for a couple of months.

However neither of them have made any attempt to check that I am who I say I am. I have been sent the pdf bank statement used as part of the identification by one of the companies. Other than giving them publicly available information about myself (name, date of birth and address) no attempt has been made to validate who I am.

It can be hard to get a company to talk to you about fraud. Firms should really have an email address that can be used to report this. For example one of the finance checks went to Sky Mobile. I cannot find a means of talking to them without becoming a customer.

GDPR requests seem to be the only way to get a company to talk to them.

Programming Phoenix Chapter 12

This chapter adds an OTP application to the demo.

This is the first chapter where I have found some typos
info_sys/application.ex needs the following to work:

alias InfoSys.Counter

Without that the app won’t start.

You also need to be careful with the examples. The name of the files are sometimes incorrect (although the listed path is right). Sometimes it asks you to edit a file in Rumbl when it actually means InfoSys.

There are also a lot of mistakes in the supervisor demos. Sometimes aliases are missed (as above) and sometimes it refers to the wrong project.

Again working though Programming Phoenix (part 2)

I have continued working through the Programming Phoenix book.


Currently I am at the end of Chapter 10.
This has introduced using websockets in Phoenix to interact with the page.
The application allows annotations to be made to a video that playback in real time.

I am having some trouble with the actual Youtube API since it now complains about cookies not being on the main site. I intend to finish working through the book and return to fix this issue.

Chapter 11 is about refactoring the application to use an Umbrella Application. This will split the Rumbl and RumblWeb applications apart. Having a real demo of refactoring is useful.