eliseomartelli


As software developers we are keen to discuss APIs, interfaces, and the beauty of well-crafted systems. We appreciate clarity, intentionality and the power that comes from a focused set of capabilities. The Unix philosophy, taken as a cultural norm of minimalist and modular components, brought us the Unix operating system.

The unix philosophy is pretty simple:

  1. Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features".
  2. Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.
  3. Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them.
  4. Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them.

But I think this philosophy can be applied to other tools we use in our daily lives, even outside the "digital realm".

If you know me and you read this blog, you know that I’m also a photographer in my (always-decreasing) free time. For me, the Unix philosophy finds its expression in the Leica M line.

Consider the core controls: shutter speed, ISO, and aperture (on the lens). That's it. It’s a beautifully constrained "API" for the act of photography. There are no distracting modes, no infinite menus to navigate, no array of buttons whose functions you constantly forget. It’s a deliberately designed camera that deeply resonates with my appreciation for clean architecture.

It brings to mind the profound words of Edsger W. Dijkstra:

We are all shaped by the tools we use, in particular: the formalisms we use shape our thinking habits, for better or for worse, and that means that we have to be very careful in the choice of what we learn and teach, for unlearning is not really possible.

This quote encapsulates why the simplicity of a Leica M influences creativity. You stop thinking about how to operate the camera and start thinking about how to see the light, compose the frame, and capture the moment. The camera becomes an extension of intent.

In contrast, many modern cameras, while technically astounding, present an overwhelming "API surface." With countless buttons, custom modes, and nested menus, they introduce a cognitive load that can pull the photographer away from the art itself. It's exactly like the difference between a well-designed command-line tool that does one thing well, and a GUI mega-application monolith that tries to do everything, clumsily.

Another great quote from Dijkstra speaks about emotion:

As my very last remark I should like to stress that the tool as a whole should have still another quality. It is a much more subtle one; whether we appreciate it or not depends much more on our personal taste and education and I shall not even try to define it. The tool should be charming, it should be elegant, it should be worthy of our love. This is no joke, I am terribly serious about this. In this respect the programmer does not differ from any other craftsman: unless he loves his tools it is highly improbable that he will ever create something of superior quality.

A Leica M, si a tool that is "charming" and "elegant". The tactile satisfaction of a Leica's mechanical shutter, the precise click of an aperture ring and even the deliberate act of manual focus, are hand crafted to be loved. The Leica M does one job: it exposes film or a digital sensor. It's designed to be the input for the next tool in the chain: the darkroom, the developing tank, the film scanner, or your digital post-production software.


You just read 651 words.

Reply

Suggested Articles

Here are some of my thoughts you might also like.


Newsletter

Stay in the loop and get news about what I have my eyes on!

This is the email I will use to send you some news!