Featured: Nicholas Marriott, tmux

05.05.2011 01:51
Anika Kehrer

Nicholas Marriott from Northern Ireland wrote the terminal multiplexer "tmux", because - so he said in an interview in 2009 [1] - he found the already existing terminal multiplexer "screen" too unpractical to extend. For his own tool he wanted to keep the codebase readable and extendable. This lesson he had learned was veryfied by another lesson, which his own project taught him: People use tools in surprisingly different ways.

Talk "The tmux terminal multiplexer", Saturday, 14.05.2011, Room Europa II, 4.30 - 5 p.m: tmux is a program that permits multiple text terminal processes to be created and managed from a single text terminal. This talk will cover the history of tmux, its main features and some of the differences from similar programs such as GNU screen. To Nicholas' Talk

Backstage with Nicholas

Nicholas, since 2007 you are maintaining your own FOSS project. You (and others) taught tmux to do more and more things. Let's reverse the perspective: What did tmux teach you?

I don't know that anything would really jump out. Obviously I know a lot more about terminal emulators than I used to and of course development skills never improve without writing code.

I suppose one thing would be that there is a lot of variety within the OSS community and many different ways in which people use the tools available on Unix. Almost all tmux features have come from either my requirements or a user request and there have been many requests for things that I've later started to use a lot. For example, someone requested the ability to simultaneously send the same input to multiple panes (synchronize-panes option) which I didn't use at the time but now use daily, it is incredibly useful for setting up the same environment on several boxes.

The way people use tmux can also be surprising. For example, even the variety of opinions on what the default prefix key should be - there are people out there using almost every conceivable key, there is no consensus that one key is the best. Also a lot of the session selection menus and better copy support came out of users who wanted to switch between sessions more easily (which I also now use a lot as well). Mouse support is something that has improved a lot recently - I barely use the mouse at all in tmux, but it is clear that there are a good few people out there who do.

How much time do you spend on tmux, what is the most time consuming activity, and how do you explain to non-tech people what "this tmux thing you're always occupied with" is good for?

Typically on average I spend maybe half an hour to an hour every day related to tmux (replying to mail or on IRC, making small changes, and so on). Larger blocks of time where I work on significant changes vary wildly with available free time. Most time consuming overall is writing code - if it wasn't then it wouldn't be much fun.

I don't tend to evangelize, so very few people ask me about tmux who need a long explanation of what it is. If they do I don't usually go into it in too much detail - tmux is not easy to explain to people who don't need it.

Apart from tmux, OpenBSD and the whole Tekkiverse - which part of life is of special interest for you, something you find really fascinating?

Aside from computers I spend a lot of time reading and hiking. What I am fascinated with can change quite a lot; recently I've read a few popular astronomy books which have been quite interesting.

You wrote in your speaker bio, you work as a software developer in the financial industry. What does a typical "Nicholas workingday" look like?

I work in a small team on a product within a larger set produced by the company. The area I work on is really more related to performance and networking than to finance, although most of the other software the company makes it is to do with trading in some form or another.

At the moment I'm typically involved in developing new components so most of my day is spent discussing, writing and debugging code. Usually I'm either working out how something will work, in which case my time is spent talking to people, reading documentation and writing test programs, or implementing it, which means writing the code.

Why did you choose to present a talk at LinuxTag 2011?

It was suggested and it looked interesting. Also I haven't been to Berlin for a long time so I thought it would be nice to visit again.

Nicholas' Data Sheet

Place of birth/place of living: Northern Ireland

Age: 30

Favourite programming language(s): C

Favourite FOSS operating system flavour(s): OpenBSD

[1] Link to the interview with Nicholas at OpenBSD journal

Meet more LinuxTag speakers: All Speaker Features

Category: Speaker Features, Homepage