Restaurant review: The Looking Glass, Cheltenham

It’s still surprisingly hard to find restaurants that serve organic food. So I was delighted to discover The Looking Glass in Cheltenham not only does organic food but they also make everything in-house and they’re open for breakfast.

The restaurant feels much more spacious on the inside than it looks through the window. There are lots of succulents dotted around the restaurant, along with a smattering of mirrors and flamingo statues. Just the right amount of whimsy for my tastes.

Ordered my usual decaf flat white. It didn’t look like the best coffee when it arrived, but the flavour was good. I didn’t come for the coffee though, I came for the food.

I ordered the Full English so I could get a measure of the place. When it came out the plate looked amazing. The eggs had bright orange yolks, the sausage was plump, the bacon crispy and the beans rustic. Apparently the mushrooms are foraged locally. They certainly looked impressive, lots of different colours and shapes, a far cry from the usual sad looking pile of button mushrooms.

The flavour didn’t dissapoint either. Everything on the plate was cooked to perfection, and tasted incredible. I polished off every last morsel. The Looking Glass offers incredibly tasty food at a reasonable price. Well worth a visit if you like your food sustainable and delicious.

Read the menu and book a table at

Distraction-free new tab

The web is full of distractions: adverts, news, social media, email. It can sometimes be hard to remember why you opened the browser in the first place. Even opening a new tab is distracting. You see bookmarks, a search box and frequently visited sites before you’ve even begun the task you went on the web for.

I wanted to go back to the days where you could have “about:blank” as your new tab and it would show you a plain white page. Like a fresh sheet of paper waiting for you to write on.

If you use Firefox or Safari then you can go into the settings and select “Blank Page” (Firefox) or “Empty Page” (Safari) and that’s it, job done. But Google Chrome doesn’t let you do that. Instead you have to use an extension.

I tried some of the existing extensions, but they turned out to be too blank. They didn’t feel like native tabs. There were two features in particular that I wanted but none of the existing extensions offered.

  1. Background colour should be the same off-white as other Chrome screens such as “Settings” and “Extensions”.
  2. It should have the same title as the default new tab, i.e. “New tab”, rather than “chrome://newtab”.

There was no alternative, I was going to have to create my own blank new tab extension. As a bonus writing my own extension meant I didn’t have to worry about scammers taking over one of the other “blank new tab” extensions and mining bitcoin in my browser. 1

Screenshot of the Chrome Extension in action

The extension is two lines of HTML and the required manifest.json file. The code is open source, so you can review it and check I’m not mining bitcoin in your browser.

Get the code on GitHub and enjoy a less distracting web.

  1. “Do you use a popular browser extension? How confident are you that the creator wouldn’t accept a $10k offer to hand it over only to have it then go rogue on you?” @troyhunt on Twitter 

The power of a system

Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can’t be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, become general and useful tools. 1

This also applies to object-oriented programming, where the power of a system comes from the messages sent between objects, rather than from the objects themselves.

Keep your objects and programs simple, then combine them into more complex and powerful systems.

  1. Brian Kernighan and Rob Pike, The UNIX Programming Environment (1983) Preface viii. 

Eat food, not too much, mostly plants

This is my summary of the recommendations at the end of Unhappy Meals by Michael Pollan.

  • Eat real food that people 2000 years ago would have recognised as food
  • Avoid foods that have health claims
  • Don’t buy things with unfamiliar or unpronounceable ingredients
  • Ideally don’t buy anything with an ingredients list
  • Shop organically, sustainably and locally rather than going to the supermarket
  • Pay more, eat less
  • Eat until you are 80% full
  • Eat mostly plants, especially leaves
  • Flexitarians are as healthy as vegetarians
  • Eat in more traditional ways, as cultures historically have
  • Cook your own food
  • Grow your own food
  • Eat a wide variety of foods

Running philosophy

You’ve got to slow down if you want to go further.

Performance varies from day to day, sometimes 30 minutes seems easy and flashes by, other times you want to give up in the first 10 minutes.

Regular practice is how you get better, there are no shortcuts.

Pushing through when it gets hard is how major gains are made.

YNAB API: Get total amount paid to each payee

I created this little shell pipeline to help me see the total amount given to or received from people and companies using my data in YNAB.

I used the new YNAB API, jq and q to get a CSV out. It’s not perfect as it includes the “Transfer: Bank Account” payees, but it’s good enough for my purposes.

First set an access token in the environment. You can get an access token from

export YNAB_ACCESS_TOKEN='...'

Then you can run the pipeline, which should default to your last-used budget. This outputs a CSV where the first column is the payee name and the second column is the total amount paid to that payee (if negative) or received from that payee (if positive).

curl -H "Authorization: Bearer $YNAB_ACCESS_TOKEN" \
  | jq -r '.data.transactions | .[] | [.payee_name,.amount] | @csv' \
  | q -d, 'select c1, sum(c2)/1000.0 as total from - group by c1 order by total'

Gloucester Cathedral

Outside of Gloucester Cathedral

We visited Gloucester Cathedral yesterday. The cathedral is over 1000 years old and is built in a mix Romanesque and Gothic style architecture. It has a stained glass window that depicts the earliest known images of golf that dates from 1350, sadly I didn’t get a picture of it.

St. Benedict on a stone outside Gloucester Cathedral

They’re currently doing some work around the cathedral as part of Project Pilgrim. This is one of the unfinished stones depicting Saint Benedict which is going to make up part of a new seating area outside the cathedral.

Gloucester Cathedral cloisters

The cathedral’s magnificent cloisters. Used as a filming location in a few of the Harry Potter films.

Inside of Gloucester Cathedral

Inside the cathedral looking west towards the choir and organ.

subscribe via RSS