Can you tell our readers about yourself and your blog?
I’m a systems administrator with some web development experience who caught the Unix bug in my late teens. I live in provincial New Zealand, and work for an internet services provider, mostly in the care and feeding of our Unix‐like servers. I don’t have much computer science education. My blog Arabesque focuses mostly on command‐line tools for Unix‐like operating systems, a topic that fascinates me. I’ve been writing it since 2012.
How you first got involved with blogging?
I started the blog mostly to practice technical writing, and to formalize my own knowledge. At the time, I was linking some of the posts to relevant sections on Reddit. As I found that more people were reading the articles, especially the content on Vim, I began to put more effort into making the posts more generally useful. I’d found many good blogs about computers and was mostly attempting to emulate the things I liked about them.
A lot of the posts boil down to explaining and demonstrating things in a more discursive way than the manual pages do. Not that we shouldn’t be reading manual pages, but a good tutorial for an initial approach to a program never hurts, if only to orient you toward one possible way of thinking about any given problem you have, or to get a better idea of the features available to you in a program.
What’s the best thing a blogger can give to his readers?
I don’t really know how to answer that—the posts would be a lot more popular if I did!
There are definitely some standards I try to meet in writing, but I don’t know of a magic bullet. I write about the things that interest me on the Unix command line, in the hopes that others will be interested too. Each post is really just casting an idea out into the void. They’re not really marketed or targeted. I’m glad if people read them and find them useful, but I’d probably still be writing the same content if I only had four or five readers a day.
Everyone has a favorite/least favorite post. Name yours and why?
I’m fond of the Vim Koans page. I enjoy playing with the idea of computers as a kind of modern mysticism, and I’m fascinated with Eastern esotericism in general, though I’m more interested in Vedantic Hinduism than Buddhism. The inspiration came from The Rootless Root or The Unix Koans of Master Foo on Eric Raymond’s website.
The concrete techniques and tools of computing are generally not too hard to describe in plain language, given a sufficient technical vocabulary, but anything to do with a philosophy of computing or an approach to design or good general practice can be a lot harder to explain. A lot of the time you can really only grasp it by example and demonstration. The masters in zen stories often worked the same way, demonstrating an abstract concept in concrete terms, and frequently with a sense of humor.
What do you think what makes Unix so beloved by programmers?
Unix has a spirit of trusting the user to know what they are doing, and in placing a high value on freedom. This isn’t necessarily freedom in the pure ethical sense that Richard Stallman might advocate, staunchly enforced by legal structures; it’s more of a creative kind of freedom, providing you with the tools without trying to prescribe or even to predict exactly how they’re going to be used. That approach contributes to an ethos of the system staying out of your way: setting up as few artificial roadblocks as possible to getting what you want done. The idea of open source is an extension of this, which explains why Unix‐like operating systems fit so neatly into its mold—while there are certainly ethical and commercial benefits to the use and production of open source software, for a lot of technical people it really more boils down to removing artificial barriers to solving problems.
To programmers who are used to dealing with many abstractions and trying to solve complex problems by a “divide and conquer” strategy, that approach has a lot of appeal, especially where it extends to tool‐smithing—providing you with a means to customize and create your own tools, whether a patch or extension to your editor that you use every day, or a throwaway Awk meta‐program creating a few hundred lines of shell script to solve a one‐off task.
What is your advice to anyone who wants to advance their Unix knowledge?
Just find something you love to do (especially if it’s creating something), and do it with your favorite flavor of Unix, whether that’s programming, writing, typesetting, desktop customization, or any of the hundreds of other things for which there are so many time‐tested tools available to you. Don’t sweat too much whether you’re approaching learning “the right way”; read what others in the community are doing with the tools, try them out, and see how they fit with the way you like to work. Discard anything that doesn’t.
As soon as you find something you don’t like that’s inefficient, or wonder if there’s a better way to do something, or want something to run faster or more automatically—or even if you’re just curious as to why a program runs a certain way—explore that. Trust your instincts! As you develop in whatever you’re doing, you’ll find yourself learning more and more about the tool set and trying different tools, and before you know it you’ll be wanting to customize those tools, and then eventually to write your own.
From that point, everything clicks. With documentation and source code everywhere, you realize you can learn whatever you need to about the system whenever you need to, and that all it takes is motivation and time. Understanding the system will stop seeming like the preserve of a priesthood of genius computer scientists. You won’t feel the need to emulate anybody, nor to prove yourself, and you’ll truly make your sense of expertise your own. It’s a great feeling, and is worth striving for.
This is, I think, the best way to learn anything new in depth, not just computers—find a way to link it with something you already care about and love to do. That way, it doesn’t even really feel like work.
What is your favorite OS and why?
I run Debian GNU/Linux both at home and at work, and I tinker a lot with the major BSD systems in virtual machines, particularly to test code for compatibility. I’m also fond of OpenBSD. I am not much of a zealot in terms of choosing which Unix to use, though, generally—whatever gets the job done and works reliably is probably all right with me.
What is the future of Unix in general or your favorite OS? What do you think?
I used to be interested in the idea of spreading GNU/Linux usage to the general population and making it accessible and “ready for the desktop”, but I don’t worry about that much now; I don’t think it’s important to have mass‐market appeal for the system. I think rather than focusing on mass‐market appeal which would probably just adulterate what makes Unix unique, advocacy should instead focus on reaching out to the kind of person who finds this approach to computing valuable and worthwhile, because they will always be out there.
While I have no idea what the future holds for Unix as a system specifically, I’m pretty confident that the ideas that made it successful will endure permanently, as will the community that values those ideals.
Do you have any specific goals for the rest of this year?
Fnord! You are not cleared for this information!
There’s a big queue of article topics in the pipeline. We’ll see how many actually get published…