Early wild garlic

Young wild garlic shoots

Found some young wild garlic shoots while out walking yesterday.

Seems very early in the year for them to already be this big, but it has been a very mild winter so far.

Start with the command line

Screenshot of the iTerm terminal emulator with zsh prompt

When starting a new project it’s tempting to reach for a web framework straight away. But I think it’s good to resist that urge. Start with the simplest thing that could possibly work. Start with the command line.

If you start with the command line then you can cut straight to the heart of the problem and solve the interesting bits first. Then once you understand what’s needed it can be translated to a web app or smartphone app or whatever.

Foggy winter days

Sandford Park with low lying fog

Saw some beautiful low-lying fog over the park the other day. You can get fog at all times of year, but there’s something particularly enchanting about seeing fog on a cold winters day.

I like the mystery of fog. You don’t know what might be happening beyond the fog. You are forced to exist in a kind of temporary bubble, where you can only see as far the the fog permits.

Being ill

Feverfew

Being ill is rubbish, but when you come out the other side it can make you feel grateful that things are back to normal.

Before you got ill, normal might have been stressful or boring. But after the lows of illness, when your body aches and you feel like you have no energy or drive, it’s a relief to finally be better and back to normality. You see life with a new positivity.

Command-query separation principle

When writing a program it’s common to have two distinct types of method, verbs and nouns. The verb methods have names like generate or launch, and the noun methods have names like quarterly_sales_statistics or current_altitude.

In verb methods we’re giving a command to perform an action, which is probably changing the state of our program in some way. In the noun methods we’re querying the state of our program, and we expect some return value from these methods.

The “Command-query separation” principle1 says that all methods in a program should either be commands (verbs), which change state but don’t return data, or queries (nouns), which return data but don’t change state, but not both.

So if you spot any methods in your programs with verb-like names, and those methods are returning data that’s used elsewhere in the program, then this is a potential red flag. These methods can be split up so that the part that returns data is moved into a method that has a noun-like name, which can then be called by the verb method.

Life Lessons from Bergson

I read Life Lessons from Bergson by Michael Foley a few months ago. It was an OK book, nothing outstanding, but there were a couple of good quotes that I wrote in my notebook that are worth sharing.

Refusing to learn anything new is a major cause of petrifaction.

It is not what we feel and think that guides what we do, but what we do that guides what we feel and think.

subscribe via RSS