Vegan Product Lists Provided By (UK) Brands 22 Jan 2015

Most companies have some sort of list of products that are suitable for Vegans, however sometime they are quite hard to find. Below is a list of all of the ones I have been able to find. Hopefully this should make it easier for people (myself included).

Supermarket/Stores Published Date Notes
ALDI May 2016  
ASDA - Search for “vegan”
Marks and Spencer - Updates automatically.
Sainsbury’s March 2016 -
Tesco June 2016 -
The Co-Operative March 2014 -
Waitrose - And click “Vegan diet”
Restaurants/Cafe Published Date Notes
Starbucks January 2015 -
Costa - -
Gourmet Burger Kitchen - -
Handmade Burger Co December 2014 -
Cafe Nero - Items labeled as “vegan” are suitable
Wagamama June 2015 -
Company Published Date Notes
United Biscuits - McVitie’s, Jacob’s, Crawford’s and Carr’s
Snack a Jacks February 2015 -
Quaker September 2014 -
Nestle - -
McCain October 2015 -
KP Snacks February 2015 McCoy’s, Hula Hoops, Skips, Discos, Nik Naks, Wheat Crunchies, Space Raiders, Phileas Fogg, KP Nuts
Heinz Feburary 2016 HP, Daddy’s, Amoy
Dr Oetker January 2015 -
Coca-Cola - List of non Vegan products
Warburtons January 2016 List of Dairy Free Products

Companies that are yet to reply:


Companies who have confirmed that they do not have a vegan list:

Company Notes
Betty Crocker We would like to inform you that currently none of our Betty Crocker products are suitable for vegans as they may contain traces of milk or egg.
Green And Blacks By definition vegan products contain no ingredients derived from animals within the recipe and this still remains true for Green & Black’s dark chocolate. However, as our dark chocolate is made on the same production line as our milk chocolate there is some risk of cross contact
Innocent Drinks Because of the risk of contamination from the shellac in wax, they are not comfortable with saying products are vegan, some people may be fine with this
P&G It is our policy to use synthetic or vegetable derived ingredients where they are available. However, if there is no alternative to using animal ingredients, or if there is a shortage in synthetic or vegetable ingredients, we may have to use animal ingredients.
Mars Unfortunately none of our chocolate products are suitable for people who follow a vegan diet.
Old el Paso Unfortunately as all our Old El Paso product may contain traces of milk and egg, they are not suitable for vegans.
Nature Valley We can confirm that most of our Nature Valley products are suitable for vegans as they does not contain any ingredients of animal origin, except for our Protein bars that do contain milk.
Kellogs Where a product does not include milk, honey or vitamin D, it will be suitable for vegans if it is already labelled as vegetarian.
Hovis Most of our bread is fine for vegetarians and vegans. But some things from our bakery – our Rolls, Crumpets, Pancakes, Muffins and Teacakes – might contain animal products, such as milk, butter and/or eggs. So please read the packaging before you buy.
Morrisons We don’t have a list as all the stores won’t have exactly the same products as some stores are ranged for specific items where as other are either a smaller store or not ranged.
Lidl We are not able to provide you with a full list of Lidl products that are suitable for a vegan diet.

More will be added as I find them. If you know of any, please let me know if the comments below.

Submit Changes Add Request Submit Issue

Plex for Chromecast 19 Jan 2014

When Plex announced that it would be an official Chromecast partner, I knew that I had to get ahold of one. On Christmas day, I jumped onto Amazon and ordered one for £35.


I had been using Plex for about 4 month before this, however I only had access to a very limited set of features due to using it as a DLNA device. I could browse the media (thumbnail and title) and play, and that was about it.

Plex for Chromecast

Getting the Chromecast has unlocked a lot more features that have made watching TV shows and Movies a whole lot nicer.

For example, I use extensivly, and with a simple plugin, Plex automatically sends what I am watching to Trakt. This means I can keep track of what I am watching, and even tell Plex to filter only “Unwatched” episodes/movies. This now works with stuff I watch on my TV thanks to their Chromecast support, so I no longer have to worry about marking things as watched manually with an app.

Another great advantage is being able to control your TV with basically any device in the house. I can pick my Mac up, choose a TV show and start watching, and then pick my phone up and turn the volume down on the TV. This makes everything seamless and much nicer to use.

Because it’s all going though Plex, it also means that I could stop watching something half way through, and pick up where I left off on my phone. For example, I could watch QI on the way home on the Metro, and finish watching an episode on my TV using Chromecast when I got in.

If you use Plex, and have not yet got a Chromecast, then I really recommmend it. It has made watching media a lot nicer experience overall. And if you do not use Plex, then try it out!

Let me know how you get on in the comments.

Pushover 10 Oct 2013

About 2 month ago, I found a nice service going by the name of

"Pushover makes it easy to send real-time notifications to your Android and iOS devices."

I had a look around for a decent PHP library, but could not find one. Most of them either had way too much code for such a simple task (it’s basically a curl call), or where totally untested.

The library I built is very easy to use, and easy to setup. Below you can see an example of how to send a push notification:

include __DIR__ . '/vendor/autoload.php';

$pushover = new \Scottymeuk\Pushover\Client([
    'token' => '',
$pushover->message = 'testing';

// Push Single
$push = $pushover->push($token);

// Push Multiple
$push = $pushover->pushMultiple([

The only downside to is that the app costs, but with the amount of things I use it for, its been worth it.

If you wish to try out the library, then you can view it on Github.

Can’t think of a use case? I built a quick CLI tool using the library to make it easy to push things to your mobile from your desktop. You can view that on Github too.

If you do happen to use any of these, please let me know in the comments below.

Supervisor+PHP+Nginx 25 Aug 2013

While reinstalling my Mac today I realised how easy it was to get PHP and Nginx working with Supervisor. However, if you asked me this the first time i setup my Mac, I probably would have screamed at you for not helping me.

Supervisor allows you to manage any process with ease, and through a simple web ui. You can manage anything from PHP itself, to long running scripts. We use it on to manage the upload workers which are written in PHP, its very powerful to use, once you know.

I figured I’d write a blog post to explain how simple it is, and act as a copy and paste reference for me in the future.

I am going to assume you have the following installing:

  • Homebrew
  • PHP (with “–with-fpm” option)
  • Nginx

First we need to install Supervisord, to do this we need to install “pip”. You can do this by running the following commands:

easy_install pip

This will then allow you to run:

sudo pip install supervisor

We can now create our supervisord.conf file, which will tell Supervisor how and what to run. I created mine in /usr/local/etc/supervisord.conf. Note that you can create it in a few different locations and Supervisord will automatically pick it up, have a look at their docs for this.

The following is my supervisord.conf file, which includes configs to run the web interface:

port =

; Deamon
logfile = /var/log/supervisord.log
logfile_maxbytes = 50MB
logfile_backups = 5
loglevel = info
pidfile = /tmp/
nodaemon = false
minfds = 1024
minprocs = 200
user = root
directory = /tmp
strip_ansi = true

; RPC Interface
supervisor.rpcinterface_factory  =  supervisor.rpcinterface:make_main_rpcinterface

serverurl =

files = /usr/local/etc/supervisor.d/*.conf

If you notice on the last line, we are including files from /usr/local/etc/supervisor.d. This means we can place config files for PHP, Nginx etc in this folder to keep it cleaner, however you can place all the configs in the above file if you so with.

First off, we will create the config file for php-fpm in /usr/local/etc/supervisor.d/php.conf:

command = /usr/local/sbin/php-fpm
user = root
autostart = true

The above will run php on startup as root.

Next we will add the Nginx config file in its respective file:

command = /usr/local/bin/nginx
user = root
autostart = true

This will also run nginx on startup as root. You will also want to add the following to your main nginx config file:

daemon off;

This will stop nginx from daemonizing it’s self, and is needed for nginx to run smoothly.

Run the following command to tell Supervisor to look for config file changes. Please note that you will need to run this every time you make a change to the config files.

supervisorctl update

That should be it all setup ready for you to get these processes running. Simply type the following to test this out:

supervisorctl start php;
supervisorctl start nginx;

PHP and Nginx should now be running, to check this simply run. You should see “RUNNING”:

supervisorctl status php

To get Supervisord to start when your Mac starts, you will want to use launchctl. Simply put the following inside /Library/LaunchDaemons/com.agendaless.supervisord.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">

And run:

launchctl load /Library/LaunchDaemons/com.agendaless.supervisord.plist

At this stage, Supervisord should be running and ready to use, however I do normally have to restart my Mac for things to work properly. This could have been due to launchctl having not been used before this.

To check that it is running, simply go to in your browser, or use the following command:

supervisorctl status

If all works well, you should see the following in your browser:

If you have any questions, or suggestions please let me know in the comments below, or tweet me

Dropbox Server Backups 24 Aug 2013

Over the past few months I have been searching for a backup solution for my VPS’s. I wanted a single solution that allowed me to backup multiple sources such as MongoDB, MySQL and the usual files.

After a while searching, I decided I would build it myself, due to not being able to find the perfect solution.

Before this, I simply had the Dropbox service running on each machine, and had a cron that copied mysqldump into the Dropbox folder, which was synced. This worked well, but it was quite laborious to setup.

Because of this, I opted to use the Dropbox API directly to backup from the tool. This allowed me to deploy the script to any server (see here) and the only dependencies are PHP and Curl.

When setting it up, all you need to do is run:

bin/console dropbox:auth

This will give you an authorisation link for Dropbox, which will return a token which is used to build your config file.

Once you have set the config file up (see the repo’s for details). You will be able to simply setup a cron to run the following for instance:

bin/console export:mysql

This will loop over each database you have access to, mysqldump them, gzip them and upload them to Dropbox. My MySQL (and MongoDB) backups, are set to backup once per hour, but the file is stored YMD, which means that the file will be overwritten. This would normally be a bad thing since you could overwrite with a bad backup easily, but because we are using Dropbox, it keeps internal revisions meaning that we have around 23 copied per day, but we keep the storage space to a minimum.

If you would like to view the source, and maybe use the tool, then please head over to Github. Let me know if you have any questions, or suggestions.