Using machine learning to win at every casino
Framing the multi-armed bandit problem for casinos—balancing exploration, exploitation, and R&D so machine learning investments pay off commercially.
Read on MediumArchive
A collection of posts, spanning engineering, leadership, and experiments.
Browse by tag
View all tags →Framing the multi-armed bandit problem for casinos—balancing exploration, exploitation, and R&D so machine learning investments pay off commercially.
Read on MediumHow we balance research and development with product delivery so experiments translate into commercially viable software.
Read on MediumA couple of weeks ago Chris and I went on a TDD course from Codemanship. This post is an expansion of some of my notes from the course. As always, suggestions and corrects are welcome (especially as pull requests). Schoo…
Read moreLast week I gave a talk at BCS Dorset about technical debt: Balancing technical debt and getting things done is one of the hardest problems we have. When should we write beautiful, elegant, clean code and when should we …
Read moreThis is a quick update to my original blog post criticizing mutability in PSR-7. The original blog post got a fair few tweets and traction on Reddit. More importantly, Matthew Weier O'Phinney, the lead author of PSR-7, r…
Read moreIn PHP, Traits can't implement interfaces. They can, however, include abstract methods. These methods then need to be implemented by the concrete class that implements the trait. This allows a trait to provide some boile…
Read moreSingletons The Singleton pattern is when you can only instantiate 1 instance of a class. Realistically the only way to do this in PHP is by controlling object lifetime inside the object itself globally. This is bad as it…
Read morePSR-7 contains interfaces for HTTP messages. These are like Symfony Kernel's Request and Response interfaces. Having these new interfaces would be great for the PHP community but there's a couple of issues with their cur…
Read moreSomeone posted a question about using global variables on r/php, which I answered. Copied here for posterity. Using global state is technical debt. This means you're trading off short term wins (mostly writing less boile…
Read moreMy notes on Everzet's talk "Design how your objects talk through mocking" at PHPNW14 Everzet's Original slide deck Code sample here are using Prophecy to create test doubles Different test doubles: Mocks, stubs…
Read moreA look at the languages, frameworks, and hosting choices powering Base’s client projects back in 2014.
Read on MediumQuick strace command that I use all the time to see what files a process is opening: strace -f <command> 2>&1 | grep ^open Really useful to see what config files something is reading (and the order) or to see what…
Read moreI haven’t done much with Canvas, so I thought I’d experiment by making Conway’s Game of Life with a little JavaScript. Conway’s Game of Life is based on a grid of cells, which are either alive or dead. It has 4 simple ru…
Read moreBitcoin is a digital currency without any central control. It was introduced 4 years ago today (3rd January 2009). 1 Bitcoin (BTC) is currently worth around $13. Last year Bitcoin grew considerably in market cap (now abo…
Read moreAs the first alpha of PHP 5.5 has been released, now is a great time to play with its new features. The first new feature is generators. Generators are like very simple iterators. PDO’s PDOStatement class implements Trav…
Read moreEvery now and then I need to batch resize or change the quality in some images. Photoshop and the GIMP let you do this, which is fine if you’re happy using your mouse or lots of RAM. The most efficient way of processing …
Read moreIn JavaScript A common patten in JavaScript is immediately-invoked function expressions, also known as self-executing anonymous functions. These allow you to create a private scope that won’t pollute the global namespace…
Read moreThe PHP Framework Interoperability Group (PHP-FIG) are a group representing most of the big names in the PHP world such as Zend and Symfony. The group has formed to encourage PHP frameworks to be more interoperable. They…
Read moreResponsive design today is great: different layouts can be served to different screen sizes. In the future, extra media queries could be available to web developers and designers to allow the content of a page respond to…
Read moreMobile browsers delay browser clicks (or, more accurately, taps) by 300ms so they can detect double taps. This can be great but if you want to speed up clicks in your mobile site or app, you can use my plugin: jQuery Fas…
Read moreWhy understanding the science behind supposedly “magical” technology matters more than trusting a mysterious black box.
Read on MediumWe all love using Dependency Injection but often Laravel’s facades and IoC container are used more like a static service locator, which (despite being testable) can easily lead to violations of the Dependency Inversion P…
Read more