Logging as Storytelling #3: Types

In my previous two blog posts I talked about how logging should be like storytelling. Specifically, structured as a series of causally-related actions. The next step is making sure log messages are consistent: objects that are used in different log messages should be referred to consistently, messages should be organized in a consistent manner to …

Read more

Unit Testing with State Machines

Hello again, readers. Welcome once more to a consideration of just some of the many advantages of writing software using explicit state machines. In the first post in this series I introduced the idea of an explicit state machine and explained some of the benefits of using them. In the second post, I expounded on …

Read more

Logging As Storytelling #2: Actions!

Logging should be like storytelling: you should be able to follow your heroes and the chain of actions they set in motion, cheering successes and jeering at failures. In this installment of my logging series I’ll be demonstrating a logging API designed to allow this, part of a new logging library called Eliot. Let’s look …

Read more

More Benefits of State Machines

Welcome, readers, to the next in my series of posts about state machines. If you recall, in my last post I began writing about the widely used but little recognized or respected software concept of state machines. I introduced the basic idea and gave an example that demonstrated the benefits that could be achieved by …

Read more

What is a State Machine?

If you’ve spent much time writing software or if you’ve been through any university computer science program then the term “state machine” is probably a familiar one. You might even recognize the names of some of the variations and specializations of the idea: finite state machine, deterministic finite automaton, etc. These ideas underlie many of …

Read more

Logging as Storytelling

The log messages generated by a piece software tell a story: what, where, when, even why and how if you’re lucky. The readers of this story are more often than not other programs: monitoring systems, performance tools, or just filtering the messages down to something a human can actually comprehend. Unfortunately the output of most …

Read more

— Back to top —