Trunk based (mainline) development is (mostly) wrong

10 minute read
Mainlining Some very experienced developers, some of whom I’ve heard it from in-person, strongly advocate what is often called “mainline” or “trunk-based” development, meaning that the git history is a series of commits directly to the main branch, with no pull requests, feature branches or merge commits in sight. This...
Read More

Why do automated tests matter?

14 minute read
It might seem a bit odd to write a post on software tests after so many years and so much content, yet to this day I see well meaning developers writing software without adequate test coverage. In fact I will share that I myself have been very late to enlightenment...
Read More

Templated repos with dotnet new

1 minute read
I’ve been digging in to making dotnet new templates and it turns out to be a remarkably capable bit of tooling. It’s particularly useful when you want to build a load of similar microservices with their own git repos. It can: Rename files. Rename strings (variables, class names etc). Preserve...
Read More

Older posts

New tool: sln-items-sync for Visual Studio solution folders
(7 minute read)

New rust and ssbf podcast episodes
(0 minute read)

Use kdiff3 for merge conflict resolution
(4 minute read)

git - what do 'base' 'local' 'remote' mean?
(1 minute read)

What is Hexagonal Architecture, aka "Ports and Adapters"
(27 minute read)

New podcast episodes - rust meetups and fast talkers
(0 minute read)

Enabling modern app security
(6 minute read)

Text-based tools - the ultimate format for everything
(5 minute read)

Zero-downtime website rewrite migrations
(4 minute read)

Maintaining software - a bare minimum
(3 minute read)

Website builders for non-programmers
(0 minute read)

Always Add Argument (Parameter) Names
(2 minute read)

The trap of two-stage commitments
(2 minute read)

Importing Slashdot Journal Articles by Yak
(2 minute read)

Finding a contractor accountants
(1 minute read)

Exceptions vs Wrapper Return Types
(5 minute read)

Taking an idea from business concept to software implementation
(2 minute read)

How to be a highly valued developer
(4 minute read)

Choosing a programming language for timslist
(10 minute read)

Single class per file
(3 minute read)

Tips for remembering names
(4 minute read)

Detecting bit-rot with md5deep
(2 minute read)

Upgrading indirect NuGet dependencies
(3 minute read)

Phone setup notes
(94 minute read)

Technical phone screen interview questions
(5 minute read)

Being a development team lead
(24 minute read)

Integrating ShipStation with QuickBooks Desktop
(2 minute read)

The death of custom software development
(11 minute read)

Why I want you to use slack threads
(5 minute read)

GitHub rebase and squash considered harmful
(12 minute read)

Link your outlook calendar with your google calendar
(0 minute read)

House buying and selling tip - make contact!
(2 minute read)

Podcasting hardware setup
(3 minute read)

A book list for my children
(8 minute read)

Remote code interview pairing tools
(0 minute read)

Database migration options for dotnet core
(0 minute read)

Running the CosmosDB emulator on Linux
(5 minute read)

Effective GTD with Trello
(10 minute read)

Approaches to refactoring, technical debt and legacy code
(13 minute read)

Personal backlogs
(4 minute read)

Fast backup to external drive with lz4
(1 minute read)

Question: where are we at with dynamic static sites?
(2 minute read)

What you should do between contracts
(4 minute read)

Time to "Shape Up" your SCRUM processes? The new thing from Basecamp
(2 minute read)

Should you rebase or merge to update feature branches in git?
(4 minute read)

Why I made SQL Schema Explorer open source
(3 minute read)

Laptop setup notes
(2 minute read)

Why every team needs a Delivery Manager (DM)
(4 minute read)

How to find contract developer clients
(4 minute read)

Setting up a static website/blog with jekyll
(4 minute read)

Blog refresh - bye bye wordpress, hello jekyll
(0 minute read)

Database tools I was surprised existed
(5 minute read)

Teardown of a landing page story
(5 minute read)

A Modern Digital Government Outsourcer
(5 minute read)

Always add braces
(0 minute read)

5 ways to make your database better - by Tim Abell
(4 minute read)

Building on my own just for you and your database
(1 minute read)

Building a Windows 10 Development VM from scratch
(3 minute read)

My Screencasting Setup
(1 minute read)

Regression Tests for ASP.NET / SQL Projects
(5 minute read)

Developers, Love Your SQL Database
(2 minute read)

My approach to my work
(7 minute read)

Contract developer to entrepreneur - resources
(1 minute read)

Down with SDV! long live SSE!
(4 minute read)

From contractor to entrepreneur - motivations
(2 minute read)

Looking for beta-testers for my new Free Sql Data Viewer tool
(0 minute read)

Why SDV could be a billion dollar business
(0 minute read)

Git for TFS users
(0 minute read)

Choosing wordpress hosting for a new idea
(2 minute read)

Home server docker-compose
(0 minute read)

Home server backups
(1 minute read)

Running sdv in docker
(1 minute read)

Patreon open source funding
(2 minute read)

Dustbin of ideas - IT Contractor Buddy
(2 minute read)

IT Contractor buddy
(2 minute read)

New home server with Xen and docker
(3 minute read)

New year new blog
(0 minute read)

Startup competitors - Data Viewer
(1 minute read)

New year new blog, happy 2017
(0 minute read)

javascript dates in firefox and locales
(0 minute read)

Yet another good-commit-messages post
(6 minute read)

Starting up a startup
(11 minute read)

Sql Data Viewer - preview release
(0 minute read)

100 reasons I hate ssrs
(10 minute read)

LibreOffice mail merge - "data source 'SOURCE' was not found"
(2 minute read)

throw vs throw ex vs wrap and throw in c-sharp
(1 minute read)

Why publish open source when you are commercial?
(1 minute read)

Bash command line editing cheat sheet
(0 minute read)

Converting kml to gpx with python
(1 minute read)

Returning to commercial ASP.NET from Ruby on Rails
(2 minute read)

Getting rails 4 up and running with rbenv on Ubuntu 13.10
(1 minute read)

Unfinished hyperlinks - add a todo
(1 minute read)

Installing ruby 2 + Rails 4 on Ubuntu 12.04 LTS
(3 minute read)

Java checked and runtime exceptions and how to transition
(3 minute read)

Subversion to git - the pain retold
(6 minute read)

AA Gold member benefits, the real cost
(1 minute read)

Configuration confusion in visual studio
(0 minute read)

automatic mysql backups
(0 minute read)

Connecting to smb shares on a domain in gnome
(0 minute read)

Debugging stored procedures in VS2010 / SQL Express
(1 minute read)

Enabling TCP/IP in SQL Express 2008 R2
(0 minute read)

Running IE Application Compatibility VPC under Virtual Box
(0 minute read)

Poll svn server for changes with git clone
(0 minute read)

Announcing the Communication Book project
(0 minute read)

Quote of the day - scrum progress updates
(0 minute read)

The BBC and the bouncing emails
(2 minute read)

The trouble with agile is it's a bit too good
(9 minute read)

Git, Windows and Line endings
(4 minute read)

Multiple working folders for git on Windows XP
(1 minute read)

GpsPrune file matching
(0 minute read)

LVM + ReiserFS for the win
(0 minute read)

share your test data for your project
(0 minute read)

Simple water butt level meter
(0 minute read)

Auto-expanding django formset with jQuery
(2 minute read)

Data driven test in NUnit with csv source data
(1 minute read)

Reliable javascript checkbox events
(0 minute read)

Using Pidgin for IRC
(0 minute read)

configuring kdiff3 as a mergetool in msysgit
(0 minute read)

openlayers svn into git
(1 minute read)

backing up Vista
(2 minute read)

MCTS in ASP.NET 3.5 - Mission accomplished.
(0 minute read)

getting supybot to announce new bugzilla bugs
(1 minute read)

bugzilla upgrades and user tokens
(1 minute read)

life update - software learning
(0 minute read)

backuppc and windows vista
(1 minute read)

git-svn imports for open source projects
(0 minute read)

mini police eye in the sky
(0 minute read)

format all documents in a visual studio solution
(1 minute read)

password-free ubuntu login with facebrowser
(1 minute read)

error "Not a valid object name" filtering an ex-svn git repo with renames
(0 minute read)

reseting home folder permissions in ubuntu linux
(1 minute read)

Don't trust audible.com, it's drm infected and they don't tell you
(1 minute read)

work at emapsite
(0 minute read)

New wiki, mostly for car pc
(0 minute read)

Nightly Shutdown, a new product from Proven Works
(0 minute read)

A vision of open in-car computing systems
(2 minute read)

sharing work between computers with a usb flash drive and git
(3 minute read)

Removing the execute flag from many files
(0 minute read)

My bash prompt
(0 minute read)

stop motion animation on linux
(0 minute read)

Tech support at its worst
(3 minute read)

Preparing photos for a digital picture frame
(5 minute read)

Enabling TV-Out on Ubuntu Linux 7.10 on a Dell Inspiron 8500
(5 minute read)

Making money with free software
(9 minute read)

xsession sold out
(0 minute read)

OSS Contribution Number One!
(0 minute read)

Creating a blogroll
(0 minute read)

Taking a Microsoft Learning course - my experience so far
(2 minute read)

Blocking web adverts
(0 minute read)

Ubuntu screen locking
(0 minute read)

backing up your home folder
(2 minute read)

My mum and her super ceramics
(0 minute read)

Get emailed Tim's blog and photos
(0 minute read)

starfighter
(1 minute read)

running partimage in batch mode
(7 minute read)

bad geek joke: the bourne shell
(0 minute read)

partimage + stdout, existing code
(0 minute read)

compiling partimage
(1 minute read)

tim; now available with flickr pics
(0 minute read)

Multi-room music at home
(2 minute read)

Today's project - partimage enhancement
(1 minute read)

new blog, take two
(0 minute read)

tim's new blog
(0 minute read)

mountain bike stolen
(0 minute read)

a manual? for £££££?!
(0 minute read)

sailing pics
(0 minute read)

M4 J11 Reading plans
(0 minute read)

comedy email circular
(1 minute read)

Ian & broadband
(0 minute read)

Get with the (music) program - podsafe radio
(0 minute read)

bad websites
(0 minute read)

bicycles
(0 minute read)

gimp trouble
(0 minute read)

article: Windows rapidly approaching desktop usability!
(0 minute read)

cv
(0 minute read)

colds. ugh
(0 minute read)

read a book today - without leaving your chair
(0 minute read)

article: micro$oft battles for survival of office
(0 minute read)

geek here
(0 minute read)

warning: geek entry - vim
(0 minute read)

Hurricane Wilma
(0 minute read)

trackback
(0 minute read)

copying all (hidden) files in linux with cp
(0 minute read)

microsoft office clipart
(0 minute read)

marketing? grrrrrrr! oh, and greenbelt this weekend
(0 minute read)

funky technology
(0 minute read)

google wos ere
(0 minute read)

tim's technical ramblings
(0 minute read)

funky flash game
(0 minute read)

corolla
(0 minute read)

yacht
(0 minute read)

post-relational databases in the real world
(0 minute read)

no patents on software!!
(0 minute read)

i still hate sundays
(0 minute read)

Java!=javascript (geek entry)
(0 minute read)

firefox bookmark synch extension
(0 minute read)

eBay / iRiver
(0 minute read)

and paypal aren't looking too hot
(0 minute read)

I hate ebay because...
(0 minute read)

Pay as you drive won't work because...
(1 minute read)

how to destroy the earth
(0 minute read)

google funds open source development
(1 minute read)

waaaah!
(0 minute read)

What's your political persuasion?
(0 minute read)

some things I'm happy about
(0 minute read)

more raucous laughter
(0 minute read)

laughing my behind off!
(0 minute read)

pointless acronyms
(0 minute read)

unblocked!
(0 minute read)

April showers came early. MS vendor lock in.
(0 minute read)

shock! timwise.co.uk home page updated!
(0 minute read)

new year? when was that?
(0 minute read)

ebay - buy my stuff
(0 minute read)

email security / lack of
(0 minute read)

update
(0 minute read)

let the selling begin
(0 minute read)

i don't do forwards
(0 minute read)

moved
(0 minute read)

busy
(0 minute read)

xmas flash animation
(0 minute read)

why am i here
(0 minute read)

Urgh. Not such a toothy grin now.
(0 minute read)

Weekend
(0 minute read)

workworkworkworkworkworkwork...
(0 minute read)

mmmm cake
(0 minute read)

mourn
(0 minute read)

b3ta teddy
(0 minute read)

woo!
(0 minute read)

website stats
(0 minute read)

Offline friends
(0 minute read)

Nothing much
(0 minute read)

Lecture, 19th Oct
(0 minute read)

Weekend / Talent? / Sport / Theatre
(1 minute read)

no cycling for me
(0 minute read)

Play / 14th Oct
(1 minute read)

weekend update
(1 minute read)

Guitar Book
(0 minute read)

Mr C
(0 minute read)

Tonight
(0 minute read)

Curiosity did _not_ kill the cat. That was the car >:|
(0 minute read)

more stats!
(0 minute read)

Now I'm annoyed
(1 minute read)

I know where my towel is.
(0 minute read)

stats
(0 minute read)

life continues
(1 minute read)

roxio
(0 minute read)

life update
(0 minute read)

So what _is_ the "internet"?
(0 minute read)

Morzine
(0 minute read)

more pics
(0 minute read)

Picture-skew
(0 minute read)

Facial Fuzz
(0 minute read)

Bonjour
(0 minute read)

Biking
(0 minute read)

Real IT Stories
(0 minute read)

Busy busy
(2 minute read)

paris who?
(0 minute read)

swimming
(0 minute read)

an evenings work
(0 minute read)

taff tour
(0 minute read)

Commuting by Bike
(0 minute read)

Wow. I've never had it so good.
(2 minute read)

Another rung on the ladder
(0 minute read)

Pringles
(0 minute read)

SBR
(0 minute read)

**No Title**
(0 minute read)

Windsurfing
(0 minute read)

This is a local village
(0 minute read)

Blollogs
(0 minute read)

The Wall
(0 minute read)

Photos
(0 minute read)

swimming
(0 minute read)

sleep is for wusses
(1 minute read)

Own a domain? Then Fear the "Joe Job"
(0 minute read)

File manager of fun
(0 minute read)

swimming
(0 minute read)

beer, linux & aaar.
(0 minute read)

Swimming
(0 minute read)

Dodgy DELL drivers
(0 minute read)

Swimming
(0 minute read)

This weekend
(0 minute read)

Cycling
(0 minute read)

good for nothing script kiddies
(1 minute read)

swimming
(0 minute read)

morning
(0 minute read)

M$
(0 minute read)

Star gazing
(0 minute read)

Balls!
(0 minute read)

swimming
(0 minute read)

Hulloa
(0 minute read)

You, yes you, reading my /. journal
(0 minute read)

Things + lycra swimwear & goggles
(0 minute read)

Swimming
(0 minute read)

Morning
(0 minute read)

Drama
(0 minute read)

Swimming
(0 minute read)

Bloody Banks
(0 minute read)

Swimming
(0 minute read)

Swimming
(0 minute read)

Swimming
(0 minute read)

Swimming
(0 minute read)

Music - bad response
(0 minute read)

Swimming
(0 minute read)

Swimming
(0 minute read)

Swimming
(0 minute read)

Also - music
(0 minute read)

Anargams
(0 minute read)

Swimming
(0 minute read)

Eddie Izzard
(0 minute read)

WhoIs Privacy
(0 minute read)

Splash
(0 minute read)

sooooo long
(0 minute read)

Swimming
(0 minute read)

Nigerian Scam
(10 minute read)

Yawn
(0 minute read)

bluetooth headset & old pc with new cable modem
(0 minute read)

motorola
(0 minute read)

message to motorola support
(1 minute read)

light
(0 minute read)

warble
(0 minute read)

Hello reader
(0 minute read)

Wrinkly hands
(0 minute read)

Vodafone - sucking
(1 minute read)