Size matters

During my experiments will building my own Docker images I have become somewhat preoccupied with getting my images as small as possible. Naturally I’m using Alpine as a starting base image but I recently started wondering what could be shed from even this, almost heading toward a Unikernel approach. Not only would these be tiny — and therefore incredibly fast — but also far more secure due to a much reduced attack surface.

After I started doing some research, I happened across a blog post that outlines the process of stripping back a container to its smallest possible image.

My own tinkering continues.

Learning from communities

Edinburgh has a raft of user groups — technology-related and otherwise. I usually attend the monthly PHP group, have dipped into EdinburghJS several times and this coming Thursday I’ll be going along to the Docker meetup.

The PHP talk this evening concerned the PHP FIG which I’d kind of put out of my mind after the meltdown back in May. It seems rumours of their demise had been greatly exaggerated.

Back at the Scotland PHP Conference, Jessica Rose presented on the topic of tech communities. One pearl was the Ruby community mantra:

“Matz is nice so we are nice”

From what I’ve seen of the latest raft of popular languages, Rust and Elixir have great supportive communities. There is no combativeness but frequent support, encouragement, understanding and learning. When challenged, their response is one of explanation. For example, “Here are the reasons behind this design decision, please tell us what we could do better.” and, if that fails to resolve any conflict, “If this isn’t clear then we have a problem with our documentation”.

PHP is often the target of derision — at times with good reason — but to see this kind of maturity among developers is very refreshing.

Starting early

I’ve purchased the first of the Christmas presents — quite possibly the earliest that I’ve ever undertaken the annual gift-buying frenzy.

Maybe it’s because I’ve had half-an eye on Christmas for a few months now.

My walk to and from work takes me past Edinburgh’s Royal Botanical Gardens — one of my favourite places in the city. Since the conifers started casting their pine cones I’ve been keeping watch for nice specimens that have fallen over the fence onto the roadside and gathered them up. There is some gold spray paint and red ribbon set aside to make some festive decorations with them.

The only downside of starting my shopping so early is that I now have to wait several weeks before I can get my hands on my daughter’s toys.

One thing that I definitely don’t have sorted for December yet is a final personal challenge.

Working well

I’m hoping that frequently working on smaller projects like some custom-built Docker images will help me get into good development habits. Things like maintaining a Change log, adhering to Semantic Versioning principles and working with git properly instead of just branching and merging can all very easily be overlooked for the sake of speed or at the hands of general laziness.

After some digging around and reading this afternoon, I’ve found a git semver plugin, remembered about change log generation and toyed around with Makefiles for tagging and releasing which I’ll hope to put to the test this week.

More power

The phone in your pocket these days is massively more powerful than those from even five years ago but things need to increase even more to stop me from losing the plot and hurling my phone against the nearest wall.

Yes, I’m talking about my interactions with Siri.

The interaction itself is fine — just as long as you don’t try and do anything too complex or contextual; it is practically pointless asking any follow-up questions to your initial query. Now that Siri is listening constantly it’s actually useful to use in the kitchen to start timers for example while my hands are covered in dough. My five-year-old daughter is fascinated with asking about the weather forecast or what the time is.

I’m a big fan of Apple’s stance on privacy. This means, among other things, that a lot of the detail in my Siri “conversations” stays on the device instead of being sent to a server somewhere for processing. This does also mean that there is a trade-off in terms of the just how “smart” the AI can be.