Setting up WireGuard on GCP

The high level steps are as follows: Reserve an external IP address Configure a firewall to allow all traffic Create a VM Set up the WireGuard server Set up the WireGuard client(s) Reserve an external IP address Go to the IP address page in GCP, and click “Reserve static IP address”. In order to receive the free 200GB/mo, select “Standard” netwo...

Building your backend on Google Cloud

I’ve just gone through this process on GCP and omg was it painful. Not only are there so many options for building your app, but the products offered through GCP have some serious limitations that may affect the entire infrastructure set up. What I wanted to set up First off, let me explain what I wanted to have. Pretty simple really: A backend ...

Updating certs on Google Cloud Load Balancer with zero downtime

The Google Cloud console doesn’t allow you to add multiple Google managed SSL certificates to the front end, meaning that going by the UI, there will be downtime if you need to modify the domains that the SSL certificate contains. There is an open feature request to get this implemented - https://issuetracker.google.com/issues/148809372 However,...

Build a free HTML based site on Google cloud

When it comes to basic web development (we're talking just static HTML, CSS and JS), there are three main ingredients: Domain Hosting Static files (HTML, CSS, JS, images, etc) I've built dozens of business sites on Google cloud (using App Engine), with virtually free hosting. These sites are usually 1-3 pages: an about section, some images and a...

Gmail productivity hacks

If you're like me, you get hundreds of new emails every day, not all important but mostly to do with the projects you're working on. And if you have that kind of email volume, you also don't have a lot of time to go through them and may resort to going through your inbox after the work day is over. Not good. So here are some productivity hacks I...

How do advertisers target and buy my inventory (AdSense)

The world of digital marketing is extremely complex, and AdSense plays quite a vital part in the equation. Before explaining how advertisers buy inventory, it's important to understand what the ecosystem looks like at a high level. There are thousands of companies that provide some sort of service or added value inside this ecosystem, so to keep...

From OKRs to landings

You may be familiar with the OKR framework , I've written briefly about it in the past. I realise now that I left out some key pieces of information, and two things I regularly get asked are: Clarity on is how to move from OKRs to launches to landings. An overview of my annual process Definitions Let's start by getting on the same page with rega...

Changes to AdSense ad units

AdSense is currently in the process of changing how ad units work. Modernization work was hinted at in October last year on the AdSense blog . The upcoming changes are geared towards simplification, and giving Google more space to make automated improvements over time for publishers. This is good, namely because of one reason - Google knows exac...

Ads.txt – what does it mean for publishers?

Ads.txt is starting to get adopted by major players in the ads ecosystem, and the IAB is also developing new versions of the specification. But what does ads.txt solve, and what’s the benefit of using ads.txt? Is it possible to shoot yourself in the foot by implementing it? In an effort to make ads inventory more credible (and prevent spammers f...

GCP Cloud Shell editor cheat sheet

Cheat sheet for App Engine development in the cloud using Cloud Shell. Instructions for uploading to app engine Git configs (first time) Set the global user email and name: git config --global user.email " email@example.com " git config --global user.name "YOUR NAME" Initialize Git: git init Authorize gcloud to access GCP: git config credential....

How to speed up your website

Site speed is one of the key factors that affects site rankings in search results, and user experience. If you monetise with ads, it also affects earnings. This article will describe the areas that are addressable by web developers, with some recommendations on how to improve each area. There are many posts and articles that talk about how to sp...

Setting meaningful, measurable goals and reaching them

Whether you work at a large global company or a small local business, setting goals and measuring success are very important things. There’s no concrete way to do this, and there are loads of different methods in which people have come up with over the years. Just doing a simple Google search will show you things like: What are KPIs? How do I wr...

Ads.txt in 2018

Well it’s been 6 months since ads.txt really started kicking off, and during this time adoption has been growing at a staggering speed. Mostly because large and influential platforms such as Google, AppNexus, Rubicon, etc are all supporting the initiative and have stopped buying unauthorized inventory. But what’s next? What can we expect from ad...

AdSense launches Auto ads

On February 20th 2018, AdSense officially launched a new(-ish) way to monetize content on the web with ads. Whilst the beta program, and some earlier iterations of the feature have been around for a while, it all has now come under one roof under the My ads tab where the power behind Google’s magic ad experience optimization technology is now ca...