Wllr:Tech, Rob Waller Website and Blog

Blog

Commit To Persist: A Better Way for Product Teams to Succeed

We get commitment in product development all wrong! Commitment is a critical aspect of achieving strategic goals.

September 09, 2024 #software #product #development #strategy

A Very Brief History of Computing In Sweden

Sweden isn’t a country one immediately thinks of when considering the development of computers. However, it has a rich history in the field of computing dating back to the 19th Century.

October 04, 2022 #history #computers #software #sweden

The Origins of Software: The Abstraction of Behaviour From the Machine

Software is to the 21st century what oil was to the 20th century. It is what drives our society forward and makes new opportunities possible.

August 16, 2022 #history #computers #software

4 Facts About Big Data Pioneer Herman Hollerith

One of the first, or most prominent people, to work on a Big Data problem was Herman Hollerith. In the 1880s the US Census Bureau was struggling to process census data in a timely fashion.

June 06, 2022 #history #computers #software #ibm #hollerith

The Failure of Charles Babbage and the Good Enough Principle

There are two important questions to ask about Charles Babbage, why did he fail to build his mechanical computers? And what can his failures teach computer scientists and businesses today?

May 23, 2022 #history #computers #software #babbage #good enough

The Incredible Struggle of Software Pioneer Kateryna Yushchenko

Kateryna Yushchenko studied Mathematics and in the 1950s became involved in the MESM project, the Soviet Union’s first computer.

April 08, 2022 #history #computers #software #ukraine #yushchenko

Ukraine’s Incredible Contributions to Computer Science

One of the great tragedies of any conflict is the damage it does to cultural and historical assets.

March 15, 2022 #history #computers #software #ukraine

Charles Babbage the Entertainer and Socialite

It is well documented Charles Babbage was a difficult, belligerent and often quarrelsome man.

February 16, 2022 #history #computers #software #babbage

Turing, the Halting Problem and the Dawn of the Digital Age

The period between 1930 and 1960 can be regarded as a dividing line in history. A 30 year period which turned more than 2,000 years of human history on its head.

February 02, 2022 #history #computers #software #turing

The Death of Charles Babbage, a Sad Tale of Labour Misspent

Charles Babbage wasn’t remembered as fondly at the time of his death as he is today.

January 18, 2022 #history #computers #software #babbage

3 Facts About Computer Pioneer Konrad Zuse

Konrad Zuse is widely regarded as one of the creators of the modern computer. In 1942 he released the Z3 which was the first digital computer.

January 09, 2022 #history #computers #software

The Origins of Computers: The Abacus and The Astrolabe

We could start our story with Colossus, influenced by Alan Turing and Max Newman, and built by Tommy Flowers in 1943.

January 03, 2022 #history #computers #software

The Pythagorean Theorem and Empathy for the Past

As software developers working in the 'modern' world it can be difficult for us to grasp how challenging previous generations found certain tasks.

December 09, 2021 #mathematics #history #computers #software #empathy

The Origins of Mathematics: The Journey Towards Computers and Software

We cannot consider the origins of computers and software without first considering the origins of mathematics. Without mathematics we couldn’t conceptualise either as it is a foundational pillar of both subjects.

November 25, 2021 #mathematics #history #computers #software

Code is Complicated, Software Development is Complex

An important distinction to remember when thinking about complexity is the difference between code and software development. The former is complicated and the later is complex.

November 05, 2021 #code #development #complexity

The Falacy of Stories and Plans

We've known for a long time that stories are deeply flawed, that history often only represents one perspective. Stories are put together after an event using a collection of facts, but never all the facts.

October 29, 2021 #management #agile #planning

Assembly Line Development

I've recently been reading The Machine That Changed The World it tells the story of the move from Mass Production to Lean Production. Lean is a precursor to Agile.

October 08, 2021 #management #agile #lean #planning

The Humble Developer Culture

Culture is probably the most important aspect of a development team, get the culture wrong and the team and the work will suffer.

October 01, 2021 #management #culture #teams #developers

The Four Types of Company Culture

I've found working at companies with decent people cultures has dramatically improved my wellbeing.

September 21, 2021 #management #culture #teams #developers

How to Handle the Emergence of Complexity in Software

In software development complexity itself is an emergent property of code. At some point in the development process software crosses the boundary between simple and complex.

July 17, 2020 #complexity #code isolation #clean architecture #architecture

How to Write Tests in Deno

This post aims to show you how to begin to write tests in Deno, and provides an honest appraisal of Deno's test tools so you are aware of current pitfalls.

June 13, 2020 #deno #javascript #tests #unit tests

Useful Web Design Tools

There are some great, free design tools online which are very helpful and I thought I'd make a quick note of a few of them.

May 27, 2020 #web design #colours #fonts #icons

Prove Your Code Works: Code Analysis

Code Analysis allows you to generate lots of metrics and information which help you improve your code and prove it's quality.

May 13, 2020 #code quality #documentation #tests #code analysis

Code Isolation and How to Handle Input Output

Code Isolation is a relatively simple concept, it just means one piece of code should not know about or affect any other piece of code.

May 11, 2020 #code isolation #isolation #IO #input output #business logic

Prove Your Code Works: Tests

Tests are one of the most important ways to prove your code works, they enable observability and provide a guarantee code will work as expected.

May 08, 2020 #code quality #documentation #tests #code analysis

Useful Social Media Tools for Websites

A few social media tools which are useful when building a website.

April 30, 2020 #social media #validation #websites #share content

Prove Your Code Works: Documentation

Good documentation helps other developers navigate code and implement it in their projects.

April 23, 2020 #code quality #documentation #tests #code analysis

The Code Maintainability Test

Code maintainability is a fundamental part good of software development. It is important because as code becomes less maintainable the cost to maintain the code increases.

March 26, 2020 #code #maintainability #maintenance #costs

The Code Maintainability Test Questions

These are just the questions for the code maintainability test I created.

March 26, 2020 #code #maintainability #maintenance #costs

How to Add a GitHub Actions Badge to Your Project

To add a GitHub Actions badge to your project just use the following markdown.

March 20, 2020 #github #actions #badges #rust

How to Easily Add JWTs to Slim PHP

The easiest way to add JWT authorisation to Slim PHP is via the library PSR-JWT

March 13, 2020 #php #slim #slim php #jwt #json web tokens

Prove Your Code Works: Introduction

One question I believe software developers need to ask themselves more often is, Can I prove this code works?

March 04, 2020 #code quality #documentation #tests #code analysis

Closing Down The Fakers App

I started the Fakers App in 2012 as a side project to help some journalists researching people who were buying fake followers on Twitter.

February 28, 2020 #twitter #spam #fake followers #fakers app

How to Unit Test WordPress

WP_Mock is an extension of PHPUnit which makes WordPress specific testing functionality available.

August 07, 2019 #wordpress #tests #unit test #php unit #wp mock

How to Set Up WordPress with Composer and Docker

Dusty is a WordPress starter repository, and it comes with a Composer and Docker integration out of the box.

July 20, 2019 #php #wordpress #docker #composer #dusty

My Appearance on How to Code Well Podcast to Discuss TDD

I recently appeared on Peter Fisher's How to Code Well podcast to discuss Test to Break Principles and Test Driven Development.

May 27, 2019 #php #tdd #testing #hot to code well

When I Appeared on CNN

Back in 2012 when I was running my own business I wrote a followers analytics algorithm for Twitter.

May 05, 2019 #cnn #development #twitter #php

What I've Learnt In 10 Years as a Developer

I feel like it is an appropriate moment for me to reflect and share some of my learnings from the past ten years of work.

May 02, 2019 #development #experience #php

PHP UK 2019: Test to Break Principles

This is my talk on Test Driven Development and Test to Break Principles at PHP UK 2019.

March 25, 2019 #tdd #tests #test to break #test driven development

The Law of Minimum Cost

Every software development task has a minimum cost which covers the creation of code that functions well and is bug free.

March 15, 2019 #development #tech #finance #costs #minimum cost #law of minimum cost

What are the Different Types of Code Tests

There are three different test types, unit, integration and functional, and they can all be run using PHPUnit.

March 11, 2019 #tdd #tests #unit tests #integration tests #functional tests #code tests

ReallySimpleJWT Version 2.0.0 to be Released Early 2019

To coincide with the deprecation of PHP 7.0 and the release of PHP 7.3 I have been working on version 2.0.0 of my Really Simple JSON Web Token library.

December 14, 2018 #jwt #php #json #json web tokens

Simple, Fast Development Planning with Requirements, Rules and Examples Spreadsheets

A Requirements, Rules and Examples spreadsheet helps a team understand complexity, write better tests and improves transparency.

November 28, 2018 #planning #tests #complexity #RRE

Setup Docker with Ubuntu Windows Subsystem for Linux

You can't install Docker for Windows and access it directly from WSL in your Ubuntu terminal.

November 07, 2018 #docker #windows #wsl #linux #ubuntu

How to Answer an Interview Assessment: A Python FizzBuzz Example

When you run a developer test or assessment you are not checking to see 'if' someone can write code and solve a problem.

October 26, 2018 #python #FizzBuzz #tests #interviews

The Three Laws of Test Driven Development

There are three laws which Bob Martin believes we should follow if we're doing test driven development.

October 24, 2018 #tdd #tests #unit tests

It's Just a Small Job

As developers we must maintain standards no matter what

August 06, 2018 #standards #development

Why Tech Projects Fail: Management, Planning, Process

Without good management, planning and process it is simply not possible to write good code and produce great products which is what all developers want to do.

August 01, 2018 #management #planning #process #development

Oddities With PHP Ternaries and String Concatenation

In PHP ternaries break down when you insert them in string concatenation code.

June 25, 2018 #php #concatenation #ternary #strings

How PHP Type Declarations Actually Work

There are two important caveats to the type declarations introduced in PHP 7 that developers should be aware of.

April 20, 2018 #php #type declarations #type hints #return types

Five Tips for Aspiring Tech Team Managers

To become a tech manager and learn how to be good at it is difficult. There isn't a great deal of 'documentation' available and developers don't discuss the topic a lot.

March 12, 2018 #management #development #tips

Four Security Principles That Software Developers Should Follow

Security is a topic that is often poorly understood by developers because many of them focus on the technical side of security rather than the wider topic

February 20, 2018 #security #privacy #google #stuxnet #jwt

How to Create a JSON Web Token Using PHP

If you'd like to build your own JSON Web Token generator or just learn a little bit more about the inner workings of JSON Web Tokens the following guide will help.

January 29, 2018 #php #json #jwt #tokens #authentication

Why You Must Always Follow Test to Break Principles

When building an application and writing code there are two types of test you can run to check everything works, test to work and test to break.

January 15, 2018 #tests #php #phpunit #unit tests #test to work #test to break

Set Up PHPUnit From Scratch

Writing unit tests with PHPUnit is a great way to improve your code and your applications, learn how to set it up from scratch.

January 04, 2018 #testing #tests #unit tests #phpunit #php

Scotch Box 3.0 PHP 7.0 XML Issue

Ever since Scotch Box released version 3.0 they've had an issue with the PHP-XML module not being installed on the Vagrant box.

December 11, 2017 #scotch box #php #php-xml #bug #issue #vagrant #composer

An Introduction to Automated Tests With Behat PHP

Behat is a PHP version of the well known testing tool Cucumber and it follows Behaviour Driven Development principles along with the Gherkin syntax.

November 22, 2017 #Testing #Behat #PHP #BDD #Automation #Automated Testing #Linux

How to Set Up Testing With Behat, Selenium and Chrome

This post aims to explain how to setup automated functional UI tests in Behat using Selenium and Chrome on an Ubuntu environment.

November 22, 2017 #Testing #Functional Tests #Automation #Automated Tests #Behat #PHP #Selenium #BDD #Chrome #Linux

AI and Machine Learning: 2. What is it and How Does it Work?

On a basic level machine learning involves lots and lots of data and what is called a 'model'

October 07, 2017 #ai #machine learning #explanation #google vision #tensors #php-ml #neural networks

Juniors Literally Can't Write Switch Statements: What Senior PHP Developers Need to Focus On

While many junior PHP developers struggle to write and learn basic code many seniors spend their time arguing and bickering.

September 26, 2017 #php #javascript #senior #juniors #code basics #learning

AI and Machine Learning: 1. A Brief History of Automation

The roots of automation took hold in 18th century Britain and then expanded across Europe and America

September 12, 2017 #AI #Machine Learning #History #Automation #Ford #Arkwright #Thomas Cook

Fableau Alpha Release: A Tableau Web Data Connector for Facebook

Fableau is a Tableau Web Data Connector for the Facebook Graph API which I've now released the Alpha version for.

September 04, 2017 #tableau #tableau wdc #facebook #facebook graph api #JavaScript

AI and Machine Learning: Series Introduction

Artificial Intelligence and Machine Learning are two industry buzz words that we're hearing more and more of at the moment.

August 24, 2017 #ai, #machine #learning, #tensorflow

Explaining The Developer Cave

I decided to explain what the basic development roles are and I came up with the development cave

August 15, 2017 #development #code #dev ops #front end #back end #dba

What Are Code Reviews?

There is a great deal of fear and misunderstanding surrounding code reviews.

August 13, 2017 #code reviews #communication #development #teams

Three Tools to Begin Coding on Your Android Phone

I recently went on a weekend break to Prague and decided not to take my laptop with me.

August 01, 2017 #android #code #tools #git #ide #ssh #droidedit #juicessh #mgit

Why The Right Code Tests are Important in Interviews

Very few people like code tests, particularly developers, and especially in interviews

July 22, 2017 #interviews #code #tests #hiring #developers

My First Post

July 09, 2017 #php #javascript #hello world