Category: TIM Group

Human Error and Just Culture

Sidney Dekker’s Just Culture made me thankful I don’t work in an occupation with a high risk of impacting public safety (those described in the book include aviation, health-care, and policing). In our society we believe that practitioners should be accountable for their actions, that without legal consequences after a […]

Read More

SoCraTes Germany

SoCraTes Germany 2015 has again been a conference full of superlatives — or should I say “unconference”, given that it consists mainly of a two-day Open Space? Whatever you call it, we had more participants (over 180), more proposed sessions (90 – 100 sessions per day), and more sponsors than […]

Read More

Joda Time? You might be overusing DateTime

We generally prefer to use Joda-Time for our date and time representation. Its immutable objects fit our house style, and the plusHours, plusDays etc methods usually produce much more readable and maintainable code than the giant bag of static methods based on Date and Calendar that we had before. Throw […]

Read More

TRUNCATE making replicated MySQL table inconsistent

Here at TIM Group we make use of MySQL’s statement-based replication. This means that some functions, like UUID and LOAD_FILE, cannot be used when we write code or do manual maintenance because they break the consistency of the slaves. We now know we have to add the TRUNCATE statement to […]

Read More

From structure to behaviour – migrating to an Event Sourced system

For a few years now we have identified Event Sourcing as being a good fit for the sort of applications we build at TIM Group. This is becoming increasingly important as the business has been transitioning from an alpha capture and distribution tool to a platform that provides analytics as […]

Read More

Workflow for deploying potentially unstable Tucker components

When adding a Tucker component to an application, it’s important to get the workflow right so as to avoid contributing noise to our already noisy alerting. Now support for that workflow is built into Tucker, it’s easier to get right than ever before. Problem Occasionally, I’ve added a Tucker component […]

Read More

MDI: Monitoring Driven Infrastructure?

Adam and I attended the London Infracoders Meetup last night which featured a demo of serverspec and Beaker. When I asked Adam what he thought he wasn’t impressed*. “I don’t see the point of this if you’re using Puppet unless you’re worried about typos or you don’t control your production […]

Read More

Switching To Scala talk @ Devoxx 2014

Last year I was lucky enough to be able to attend (and participate a little bit) at Devoxx UK. I found it to be a great conference, with a friendly vibe and interesting talks. This year I’m going back for seconds, as a speaker, talking about some of my experiences […]

Read More

Distributed Pair Programming @ TIM Group with Saros

There’s a particular technology used within TIM Group that has been too useful for too long to continue to go uncelebrated. The tool is called “Saros“, it is an Eclipse plugin for distributed pair programming that is used extensively at TIM Group. Why We Need A Distributed Pairing Solution We […]

Read More

Released scalaquery-play-iteratees 1.1.0

Announcing the release of scalaquery-play-iteratees version 1.1.0. This version is for use with Slick 2.0.0+ and Play Framework 2.2.0+ on Scala 2.10.x. This library provides the “glue” between Play’s concept of Iteratee and Slick’s Query, making it super-easy to process chunks of database query results in a reactive fashion. Please leave us […]

Read More