Writing by Peter Hilton


#agile #BPM #comments #maintenance #naming #programming #Scala

Book review: Project Myopia

What’s wrong with software development projects, by @allankellynet - 17 September 2018 #startups

How to write unmaintainable code

Tribute to the classic thesis by Roedy Green - 04 September 2018 #code #maintenance

Three causes of unmaintainable code

Why programmers are lazy and too clever for their own good - 20 August 2018 #code #maintenance

Language expressiveness versus code maintainability

How different programming languages lead to different software maintenance challenges - 13 August 2018 #code #maintenance

Start-up ideas are still cheap

More free ideas from the archives, 2015-2017 - 27 July 2018 #startups

Start-up ideas for software development

Things you wish your favourite IDE vendor would invent - 16 July 2018 #startups

Software maintenance’s terrible question

The big question that teams don’t ask about software products - 09 July 2018 #code #maintenance

Start-up ideas for apps

Apps that someone else is going to sell if you don’t - 29 June 2018 #startups

The code maintenance problem

Why software maintenance is worth talking about - 26 June 2018 #code #maintenance

Ligatures with Fira Code

The coding font with ligatures that not everyone knows about - 15 June 2018 #code #typography

Correlation IDs for microservices architectures

Sorting out logs with UUID, GUID, CUID and other identifiers - 12 July 2017 #microservices

Single-letter names - a cautionary tale

Phillip Relf’s story of two lazy array index names - 10 January 2017 #naming #programming

Paper review: Achieving Software Quality through Source Code Readability

A computer science paper reviewed from an industry perspective - 31 December 2016 #naming, #readability, #paper

What science says about naming

Computer science papers about naming (co-written with Felienne Hermans) - 26 December 2016 #naming #programming

How to get better at naming things

10 steps to mastering names in code - 20 November 2016 #naming #programming

Naming smells

Code smells that indicate bad names so you can avoid using them - 31 October 2016 #naming #programming

Why naming things is hard

The hardest thing in programming and the great naming myth - 22 October 2016 #naming #programming

Where to start documenting a legacy system

What new team members need, to understand a system - 30 September 2016 #documentation

10 things programmers will switch jobs for

When they’re ready to leave, here’s what they’re looking for - 09 May 2016 #recruitment

Constructive laziness

Creative productivity for programmers - 28 March 2016 #programming #documentation

Questions about documentation and avoiding writing it

Q&A for my forthcoming keynote at ProgSCon London 2016 - 08 February 2016 #documentation

Book review: Functional Programming in Java

by Pierre-Yves Saumont - FP unencumbered by libraries, standard or otherwise - 29 January 2016 #programming #book

Legacy code

One programmer’s meat is another programmer’s poison - 28 November 2015 #programming

Not talking to programmers

Why face-to-face communication isn’t as good as they say - 20 November 2015 #programming #documentation

Book review: Functional Reactive Programming

by Stephen Blackheath and Anthony Jones - Intelligent, clear and witty - 26 October 2015 #programming #book

My documentation problem

ACCU 2015 lightning talk script - 24 April 2015 #documentation

BPM as a preferred approach to business application development

The fundamental problem with a process-centric approach - 16 March 2015 #BPM

Permission to enjoy process modelling

How to indulge in making process models - 12 March 2015 #BPM

The process modelling trap

Why you can’t help obsessing over diagrams - 08 March 2015 #BPM

The zero-code delusion and its silver lining

The hidden value of disguised programming - 25 February 2015 #BPM


why JavaScript frameworks live short but happy lives - 12 February 2015 #JavaScript #naming

Processes are not set in stone

process management means embracing change - 09 February 2015 #BPM

camunda BPM with Play and Scala

integrating Business Process Management with a web application - 27 January 2015 #BPM #playframework #Scala

camunda developer-friendly BPM

a Business Process Management platform by and for developers - 22 January 2015 #BPM

What to write on Twitter

the most important part of how to use Twitter - 19 January 2015 #Twitter

Networking tips for conference organisers

how to help attendees connect with each other - 12 January 2015 #conferences

Small details for conference organisers

Inspiration for incremental improvements - 05 January 2015 #conferences

Presentation tips for conference organisers

How to help speakers deliver legible slides - 30 December 2014 #conferences

Start-up company ideas are cheap

A good team that executes well matters most - 26 December 2014 #startups

Supplier Rejection Management

Building interruption marketing countermeasures with @Twilio - 26 November 2014 #vapourware

Comments are the introduction

three ways to introduce code - 03 November 2014 #programming #comments

One Big Menu

Unbundling restaurant menus on the web - 21 October 2014 #vapourware

How to comment code

What you have to actually do to get good comments - 09 October 2014 #programming #comments

3 kinds of good comments

Code tells you what and how - you need comments to say why - 08 October 2014 #programming #comments

7 ways to write bad comments

Things you don’t want to do to your code - 07 October 2014 #programming #comments

On the origin of systems thinking

John Seddon is this week’s mandatory viewing - 03 October 2014 #management

Systems integration with Effektif

Using JavaScript tasks to access web services - 24 September 2014 #BPM

Custom development with Effektif

What a process-centric spreadsheet alternative means for developers - 23 September 2014 #BPM

Effektif hosted BPM

A different kind of business automation - 22 September 2014 #BPM

Fear of renaming

Why renaming is harder than naming - 17 September 2014 #programming

Meaningless variable names

Naming things without actually choosing a name - 04 September 2014 #programming

Software development quotations

My favourite insights from articulate programmers; send me yours! - 03 September 2014 #programming

Camel message processing using the Scala DSL

A new Typesafe Activator template - 01 September 2014 #Camel #Scala

Camel HTTP file upload with multipart/form-data

How to integrate with legacy HTTP endpoints - 29 August 2014 #Camel #Scala

Inspecting HTTP client requests

Four easy tools for debugging web services - 28 August 2014 #programming

Software estimation checklist

Ten ways to avoid bad estimates - 26 August 2014 #agile

How to seduce a writer

Neil Gaiman doesn’t always write about programming - 22 August 2014

Scrum user story chilli ratings

Hotter than t-shirt sizes, looser than dress sizes - 21 August 2014 #agile

Neil Gaiman’s rules for coding

@neilhimself writes about programming - 20 August 2014 #programming

Post-it Super Sticky - notes that don’t fall off

Scrum hardware innovation (via @vgrgic) and Correct Post-it Technique - 19 August 2014 #agile

George Orwell’s six rules for Scala programmers

A concise style guide - 18 August 2014 #Scala

Talking about the cost of delay

Another way to look at business value - 15 August 2014 #agile

Source code maximum line length

GitHub sets the standard for code reviews - 14 August 2014 #Scala

Development cost is relative to value

Putting effort estimates in perspective - 13 August 2014 #agile

Play/Slick back-end for jQuery UI Sortable

A new Typesafe Activator template - 12 August 2014 #Scala

Today I learned useful and weird stuff

Working out loud and social learning - 11 August 2014 #collaboration

Formatting Clojure source code

The one thing that emacs can’t do - 08 August 2014 #Clojure

Process-centric application design

The fourth way to think about the problem - 07 August 2014 #BPM

Things the Scala compiler doesn’t do

Impossible functionality that you don’t actually want - 06 August 2014 #Scala

Scaling down Play and Scala web applications

Cruising with Play, Scala and in style - 05 August 2014 #Scala

Architect - the missing Scrum role

Agile architecture for non-functional requirements - 04 August 2014 #agile

What’s missing from the Scala Style Guide

Input for team-specific code conventions - 01 August 2014 #Scala

Agile user modelling with TV character personas

Better-looking software requirements analysis - 31 July 2014 #agile

Dropping the ‘agile’ from ‘software development’

Why ‘agile’ is still the new name for methodology - 30 July 2014 #agile

Code comments and metaphysical subjectivism

The philosophy of software maintenance and the objective meaning of legacy code - 29 July 2014 #programming #comments

Learning another programming language

The second language is hardest - 28 July 2014 #programming

Arithmetic symbols in source code

Why ASCII’s fifty year-old legacy is still with us - 25 July 2014 #programming

Simple processes need case workers too

Reducing errors with end-to-end responsibility - 24 July 2014 #BPM

What is a collaboration platform?

Collaboration is a tag - not a category - 23 July 2014 #collaboration

Supply chain delivery performance improvements

How status updates can improve perceived performance - 22 July 2014 #supplychain

Using only English words in code

What if you could tell the compiler to require correct spelling? - 21 July 2014 #programming

Object-oriented programming with constrained types

What if you had to define types for all values? - 17 July 2014 #programming

Enforcing coding style as part of the language

What if the compiler only accepted one coding style? - 16 July 2014 #programming

Does @SavedYouAClick prove Betteridge’s Law?

A brief study of clickbait headlines - 14 July 2014 #socialmedia

Older articles (2005-2014)

Articles from 2005 to early 2014 are published on the Lunatech Blog (now offline).

Play for Scala

Play for Scala by Peter Hilton, Erik Bakker and Francisco Canedo was published by Manning Publications in September 2013. The book teaches web developers how to use the Play Framework to build web applications using the Scala programming language.

Peter Hilton presents on the topic and is a certified trainer for Typesafe’s Fast Track to Play with Scala training course.

Cafe reviews

Independent cafe and restaurant reviews, from before TripAdvisor was invented:

The Netherlands Rotterdam, Maastricht, Amsterdam, Delft

Canada Kitchener-Waterloo

Spain Madrid

England Cambridge, Oxford, London

Italy Florence

Belgium Leuven, Antwerp

France Paris, Hyères

Ireland Galway

Luxembourg Luxembourg

Austria Vienna

Other people’s writing

Theatrical Adventures - Musings and memories of a thespian, by O.B. Clarence

Poetry by C R Hilton

Tristan And Iseult: A Jungian Interpretation

Older articles (1996-2004)


Page index

Photo index