Articles

Optimising and Debugging Paid Advertisements

Ways metrics mislead you; how to overcome low reach/low quality score/high CPC etc.


Strategic Principles in Paid Advertising

Rationed views, gas pedals, per person frequencies, when to trust platform reps


Ad Creative Writing Basics

Tips for image choice, headline, and the body


A Tour of Targeting

The general principles of targeting followed by a tour of the available options on the major platforms


Staying Organised When Advertising

How to structure campaigns, why to not delete data, when to schedule reviews


Building an Advertising Ready Web Application (and other preparations for advertising)


Introduction to Paid Advertising

Where I try to convince you that advertising isn't always an annoyance (and that you shouldn't be afraid of ad blockers)


Email Marketing

The relevant laws, some growth-hackery tips, and suggestions about good emails to send


SEO and Internationalisation

Separate language from territory; clarify your international site structure to Google


SEO with Social Networks

Why Twitter Cards and Facebook Open Graph aren't total wastes of time


SEO Through Backlinks

Email outreach, featuring famous people, and buying links?


SEO in Image Search

SEO-ed *text* enters you into the main event, but you might also want to compete in Google’s alternative races, such as Google Images, Google Videos, or Google Maps.


SEO by Mitigating Duplicate Content Issues

Canonicalization, Robots, and Redirects


SEO at the Whole Website Level

Internal linking strategies, sitemaps, and HTTPS


SEO on Each Individual Page

Rich snippets and all the basics about keywords in title tags, URLs, etc.


SEO Steps To Take Before Writing a Single Line of Code

You need to bake two things into the heart of your web app: keywords and a clever scalable content creation strategy


Taking Data Integrity Srsly

Data Validity Spot Checks, No-Delete Policies, Database Constraints, and Care with NULLs vs. FALSEs etc.


The Bug Slip

A bug hunting ritual that makes things a little easier


log_tokens

A simple technique to make your logs more useful when debugging


A Guide to Testing Web Applications for Developers Who Care about Overall Profitability

Presented in the form of 10 axioms


Application-Level Documentation Beats Code-Level Documentation

Or how to dramatically reduce training time, speed up recovery during disasters, and make future programmers love you


What Happens If A User Clicks A Button Twice

The most common source of bugs in web applications?


7 Keys to Systematic Debugging

Learn to recognise the various bug breeds and build awareness of how they appear in packs.


Minimum Viable Backups for Web Apps

A list of the various nooks and crannies needing backing up followed by a look at the most common failure modes of a backup system


Excelling at Exception Notification

Fighting inadequate exception notification– do your background queues, assistive servers, and OS report issues?


Dworkinian Integrity and (Sub-)Symbol Minimisation: Prescriptions for Consistent Software

How the perfect unbuilt API already exists, floating in the zeitgeist, and how it is up you to pay attention to the totality in front of you


WWW vs. Naked Domain?

When starting a new website, is it better to choose domain.com or www.domain.com?


Project-Level Attribute Normalisation

Why you should introduce a software layer close to your object relational mapper that formats attributes into clean, standardised forms


Replayability

Why your code should be capable of remembering and replaying inputs in the event that something goes wrong


5 Ways URLs Go Wrong

A tour of the traps and potholes that inhibit us from getting URL naming right


Silent Failures Must Be Given a Voice

The most dangerous bugs are those you remain chronically unaware of–as all too often occurs with failing scheduled scripts


Web Developers: Harmonise Your Time Zones

How it's all too easy to wind up with divergent time zones across a modern web stack


How Payments Providers Screw You

How hidden fees stack up so as to quadruple the cost of using online payments providers


Deliberately Shopping for a Configuration Strategy

7 Factors To Consider When Choosing How To Manage Your Web App's Credentials and Configuration Options


The Key to Good Documentation: Broaden Your Definition of Software

Or how to avoid frustration configuring, debugging, and rescuing servers and third-party services


Why I Stay Behind the Version Rat Race

Whereas updates *sometimes* bring improvements, they are *guaranteed* to bring changes. And, as any programmer knows, software is allergic to change.


4 Ideas For Improving Testability in Web Apps

Backdoors, interface hooks, explanatory dry runs, and deep reachability


Dealing with Test Leakage

Strategies for pinpointing and extricating indeterminacy from software tests.


Tips for Programming Accounting Features in Web Apps

Learn about representing money, rounding algorithms, and anticipating oddball transactions.


Adminimisation: Tips for Building Great Admin Dashboards

How to build a robust administrative area that'll help you automate away the boring and routine tasks involved in running a web site


Non-Traditional Ways of Thinking About Targeting on Inbound.org

Fresh mental models to help with finding the right targeting for your online advertising.


Check Out My Guide to Statistical Significance on Kissmetrics

Fun, example-filled guide, aimed at building intuition


A Lasting Marriage: Lessons Learned After 7 Years With Google Analytics

1   chart  why bother

A deep guide to developing a loving relationship founded on clean data, great communication, and appropriate caution


A Thorough Guide to Website Copywriting

1   typewriter  intro

From psychology to rhetoric: copywriting tips for those who don't know what to say


The Conversion Surgeon: A Guide to Conversion Rate Optimization

Conversion library

A High-Level Catalogue of The Main Areas to Fiddle With When Optimizing Your Conversion Rate


Awareness Through the Creation of Jargon

Happy wall

An experiment in perception involving a taxonomy of typos.


Debugging Rails with Pry Console

Tips and tricks for snooping about your codebase with the Pry console. You'll learn how to view the source code of ANY method on demand, see global variables, or change "self" to another object.


Debugging Rails with Pry Debugger

Master the universal debugger commands "step" and "next" and learn how to crack open a Pry session at any point.


Debugging Rails with Operating System Tools

Unix/Command-Line level tools for making web-developers' lives easier– lsof, nslookup, gdb, tcpdump, ctags, ack, strace, and top


Debugging Rails with Online or Third Party Tools

How Google Webmaster Tools, Google Search, New Relic, and email delivery reports can help you uncover errors in your web application


Debugging Rails with Memcached

Many apps use Memcached in their infrastructure so it's important to know how to debug thorny caching errors.


Debugging Rails with Logs

Everything you ought to be looking at when interpreting the Rails built-in logs. Also looks at other logs, such as Amazon S3 access logs and scheduler logs.


Debugging Rails with Git

Source control software gives us a unique insight into changes in code and the human intention behind them.


Debugging Rails with Custom Instrumentation

Why settle with the debugging tools built into Rails? Why not create your own custom tools to ease the load?


Debugging Rails With Chrome DevTools

Chrome DevTools gives you yet another angle for debugging your software, especially the CSS and JS.


Debugging Rails With Built-in Tools

Lesser known tools built in to the standard stack - such as the middleware lister, Gemfile.lock, Ruby compiler checks, rails dbconsole


A Comprehensive Guide To Debugging Rails

Feedback systems for finding errors in your web application.


On Passive Income

How I created a passive income stream and my advice to those starting off. Learn about the four great freedoms.


Automating Popularity

Can handing your Facebook profile to a computer program make you more popular in real life?


Janki Method

Anki

Using spaced repetition systems to learn and retain technical knowledge.


Why Bother With Cucumber Testing?

The disadvantages of using Cucumber and its widespread use as a poor man's integration test.


Textmate to VIM

Where I explain how to reproduce over 110 commands from Textmate in VIM.