An interview with Diego Zamboni
  • May 8th, 2019

Diego Zamboni, Author of Learning Hammerspoon: Unleash the power of automation on your Mac

54 MIN
In this Episode

Diego Zamboni is the author of two Leanpub books, Learning Hammerspoon: Unleash the power of automation on your Mac and Learning CFEngine: Automated System Administration for Sites of Any Size. In this interview, Leanpub co-founder Len Epp talks with Diego about his background, moving around a lot and studying in Mexico, getting into the field of computer security, moving to the US and to Switzerland, automation and its impact on computing and unleashing human potential, his book, and at the end, they talk a little bit about his experience as a self-published author.

This interview was recorded on April 25, 2019.

The full audio for the interview is here. You can subscribe to the Frontmatter podcast in iTunes or add the podcast URL directly.

This interview has been edited for conciseness and clarity.


Learning Hammerspoon: Unleash the power of automation on your Mac by Diego Zamboni

Learning CFEngine: Automated System Administration for Sites of Any Size by Diego Zamboni

[Note to Leanpub authors: Check out Diego's great post on "Automating Leanpub book publishing with Hammerspoon and CircleCI" here.]

Len: Hi, I'm Len Epp from Leanpub, and in this Leanpub Frontmatter podcast I'll be interviewing Diego Zamboni.

Based in Switzerland, Diego is an enterprise security architect at Swisscom, the giant Swiss telecoms company. He has over 27 years of experience in various areas from self-healing systems to cloud computing, amongst others.

Diego's also a popular writer and speaker, and you can read his blog at, and follow him on Twitter [@zzamboni](

Diego is the author of two books, Learning CFEngine: Automated System Administration for Sites of Any Size, and his latest book, Learning Hammerspoon: Unleash the power of automation on your Mac

In this interview, we're going to talk about Diego's background and career, his professional interests, his books, and at the end, we'll talk a little bit about his experience working with a conventional publisher on his first book - and using Leanpub to publish his second book, and actually republish his first book.

So thank you, Diego, for being on the Frontmatter Podcast.

Diego: Thank you Len for the invitation, I'm happy to be here.

Len: I always like to start these interviews by asking people for their origin story. So, I was wondering if you could talk a little bit about where you grew up, and how you first became interested in computers and technology?

Diego: Actually I can go on at length about that. Feel free to interrupt me if I go on for too long.

I've basically been interested in technology for almost as long as I can remember. My dad is an engineer, he studied electronics engineering, and so he never worked a lot with computers, but he was fascinated by them. So I grew up among issues of Popular Mechanics, when it was still a proper technical magazine, Byte Magazine, and any technical magazine that he could get his hands on.

I got exposure to that from very early on, and I think that helped a lot in developing my own interest for technology. I remember as young as maybe five or six years old, I remember I was drawing robots and inventing things on paper.

Actually my first computer is one that my dad got for me, which was a Timex Sinclair 1000. If you've ever heard of those, it was the US equivalent of the famous ZX81 in the UK, and it had a fantastic one kilobyte of RAM.

That was my proper start in computing. That's when I started learning BASIC, I was about 10 years old at the time. Later I got a Commodore 64.

I started reading almost every computing magazine that I could get my hands on. Some of the early - also Commodore magazines, like COMPUTE! and COMPUTE!'s Gazette whenever I could get them. I grew up in Mexico, so it was not always easy to get US magazines and books there. But as much as I could, I would try to get them, read the programs.

I was of the generation of kids who typed programs from magazines into their computers to run games, and whatever. That was my start.

Eventually when I was about 15 years old, I managed to get a program that I wrote published in COMPUTE!'s Gazette. By that time, I had a Commodore 128, and I wrote a program that allowed you to create a catalog of your floppy discs, which was a problem in that era. Before hard disks, you would be shuffling floppy disks all the time. And everyone who used a computer had a growing collection of these things. So that was something I wrote to scratch my own itch, as they say - and ultimately turned into my first publication.

Then I went on to study computer engineering in college. And that's when I got started in the area of computer security.

Len: At what university did you study?

Diego: I studied at the National University of Mexico. It's in Mexico City - it's the largest university in Mexico, it's the national university. At the time I was studying, there were something like 300,000 students in the university, so it's a very big university. It has many campuses - not only in Mexico City, but all throughout the country. And it covers basically every field of study that you could imagine.

Len: I think you might be the first person I've interviewed who can give us an account of what it's like to study at university in Mexico. Of course, it's different in different countries. I think many people listening will have more or less a kind of American model in mind, where you study for four years, and you take a variety of classes, and you have a major. Is that is that how it worked for you?

Diego: It's basically like that. There, they call them schools, like a School of Engineering, or School of Science. The path I took was computer engineering. So that's when I took a bunch of general classes, like the common set of classes that you have to take in college. There are also more specialized classes, not only in computing, but also in electronics, in digital design, computer architecture, data center management. Those sorts of miscellaneous things that try to provide you with a fairly complete picture.

It's actually a very good university, and one of the things is that it has a lot of infrastructure. So actually while I was studying in college, I started working at the main computer center of the university.

They bought a Cray supercomputer. This was back when Cray Computer was still in existence, and was making these huge, super-expensive machines with a lot of processing power - at least by the standards of the time.

So, they bought a Cray supercomputer. And I was able to get a job in the supercomputer center, first as an intern, and then as an employee. That's when I started working as a UNIX system administrator. I started learning UNIX, and later I started getting interested in computer security. Because someone had to take care of these things, there had been a couple of security incidents. I found it very interesting, and that's when I started learning about that.

That actually turned into my career- the computer security. I went on from there to study a Ph.D. in the US, at Purdue University, where I did my Ph.D. in computer science. My field of specialization was computer security and intrusion detection, which was a topic of my Ph.D. dissertation. By then, I was long hooked into computing. I worked then for a few years at IBM, at the IBM research lab in Zurich in Switzerland.

Len: And if I can just pause you there in your story?

Diego: Yes.

Len: I guess I've got two questions. You've moved around a lot, and -

Diego: Yes.

Len: What was it like moving from Mexico to the United States, when you moved to Indiana?

Diego: I moved to Indiana, yes. It was an experience. My Ph.D. advisor sent me an email that I still have. Before, when I had already been accepted at the University - but before I started, he sent me an email that said, "When you go back home, which you eventually will - it will be with a much wider perspective of the world, and this is both a loss and a gain." This is this is something that I have found very true.

As you said, I have moved a lot around in my life. Every place is different, every place gives you a lot of richness. You learn a lot of things, but you also lose some things.

I notice that, basically, I don't consider myself a citizen of anywhere in particular, because I have lived in so many different parts of the world. Actually, my moving started very young, because I was actually born in Argentina, but I grew up in Mexico. And even within Mexico, my family moved around a lot, due to job and school and other things. As long as I can remember, I've moved around a lot.

So for me, going to the US was not such a drastic change. Of course, many cultural aspects and other things were different. But ultimately I found it a very interesting experience.

Len: I've got just a personal observation to make, and then I'd like to ask you a little bit more about that. I've moved around a fair amount in my life too. When I was a kid, my parents didn't really move a lot - but I ended up going to six different schools from kindergarten to grade 12.

And I moved to the UK in 1999, moved to London and thrived there in that country, in a way it wasn't possible for me to thrive in Canada, for a number of reasons.

I think I feel the same way to what you describe, where there's not really any particular place where I feel like I really belong. But for me, it's funny - people tend to assume that everybody's the same as they are. And when a lot of people hear that, they think, "Oh it must have been terrible to have lost that sense of home." And it's like, "I never had that." I actually carry a fair amount of resentment towards the people in the place where I actually grew up. I never fit in there, it was never a home. There was nothing to lose. The idea of feeling at home in a certain place is just something that I've never had, and don't miss. In a sense, it just seems kind of strange to me.

Diego: Right.

Len: That, and culturally speaking, I come from a Mennonite background. And Mennonites are people who don't have any particular connection to a place culturally. So the whole the whole idea of having a particular place that's your home - it wasn't there for me to lose. It's funny actually how many people there are like that - and when you move around, you tend to meet them.

Diego: Exactly, yeah. It's exactly like that for me as well. Ultimately for me, home is where my family is. And home is wherever the people I care for are, right? So it becomes less geographically rooted, and more rooted on other things, and what's important to you - people or events or maybe a job, or whatever it is for each person.

I think this is - as I said before, this is both a loss and a gain. Because I also see people that have never left, for example. Some of my old friends that never left. And for them, it's inconceivable to leave, because this is where everything is. I have met a lot of people who are like this. That they wouldn't even consider leaving where they are. Which is something that for me is natural.

Len: It's funny you say that. I have an old friend who's a philosopher, who has an old study that he can never track down, but he loves to cite all the time, in which people, in the rankings of things that would be a catastrophe in their life, say that number one is moving, and number two is divorce.

Diego: Interesting.

Len: If they had to choose between divorce and moving, people would choose divorce over moving. It's a really interesting phenomenon.

Diego: Wow.

Len: And so, you moved to Zurich to be a hotshot at IBM.

Diego: Yes.

Len: What was that like, moving to Zurich?

Diego: It's interesting, because in some ways, the culture in in Switzerland is more similar to Mexico than the US. For example, in the sense of family. I find that people here tend to be very close to their family, which is the same in in Mexico. And it's not so much in the US. It depends of course, this is a very broad generalization, right? But there are certain little things that I find very familiar.

On the other hand, of course Switzerland is a great country. It's very safe, it's very clean, everything works. All of the stereotypes that we have heard are true.

Len: I can't help myself - my joke about the Swiss is that they're Germans without the sense of humour.

Diego: Maybe, actually, that's one of the things, right? I mean, it can be a bit disconcerting for someone coming from a warmer culture. The Swiss are always polite, always kind or always proper. But it's very hard to get really close in a personal sense to the people. This is just an aspect of their culture. This can be disconcerting for someone moving in. But ultimately, we lived here for a few years - then we decided to go back to Mexico. And we ended up coming back to Switzerland. So it's really a nice place, and that's why we're back.

Len: And along the way, you worked for a company called CFEngine.

Diego: Yes.

Len: I was wondering if you could talk a little bit about that?

Diego: Of course. So when we moved back to Mexico, I worked for a very big computer company, whose name I'm not going to mention, because of what comes next.

I was working as a consultant. And one of the things that struck me as very odd was that a lot of things were still being done by hand - that even in very large projects, someone would be there sitting the whole night configuring machines and doing these things over and over and over again by hand.

I have always been very interested in automation from very early on. So, I knew about this program called CFEngine, which is basically a configuration management tool. It's the= granddaddy of tools like Puppet and Ansible and Chef, and other configuration management tools that are very well known now.

But CFEngine came out 20 years before any of those. So I started learning about it, and I realized that a new version had just come out - version three. Which was very different from the previous versions. It used a different language for configuration, and there was very little information about it. So I started teaching myself the tool, how to use it.

And I thought this was a good opportunity to fulfill a long time dream of mine, which was to write a book. So I started putting together a proposal for a book. I shopped it around for a little bit, and eventually O'Reilly accepted it. As you know, if you grew up in the 90s as a technical person, the mecca of technical books was and continues to be in many ways, O'Reilly. I grew up technically, professionally with O'Reilly books - as did many other people. So for me, getting the book accepted was a very big deal.

By then, I was participating in the CFEngine community in mailing lists, and things like this. So I sent an email to Mark Burgess, who was the main author of CFEngine - to tell him, "Hey, by the way I thought you should know that I've got this book proposal accepted by O'Reilly, so the book will come out in some time." And in return, he offered me a job at the company. CFEngine started as an open source project, which it continues to be. But then he founded with the company to sell a commercial version and professional services around CFEngine.

They offered me a position also as a consultant. I wasn't completely happy at my current job at the time. I thought, "This is a great opportunity." So I came on board, I worked at CFEngine for a few years. I got the book published, which was a win/win for both sides. I mean, I got a lot of support for writing the book by working there, and also the company got a lot of publicity and promotion from having an O'Reilly book published about the product. So that was a very good experience, a really pleasant experience. It was a very, very good team of people. That was my experience with CFengine.

Then a few years after, O'Reilly has been shifting some of its priorities. Now they focus a lot more on video content and tutorials and conferences, and not so much in books. They have become much stricter in the books that they publish, because - I guess it's a lot of investment. So they decided that they didn't want to publish my book anymore. It's a pretty niche market book, so it wasn't a top seller, I guess. But they were very kind about it, and they agreed to revert the rights of the book back to me, which is when I started publishing it as a self-published book - which eventually brought me to Leanpub.

Len: I've got some questions that I'd like to ask you about that, specifically - getting your rights back is actually a kind of hot topic in in the self-publishing world.

Diego: Yes.

Len: But before we move onto that, there are a couple of other things I wanted to talk to you about. One of which is - it was really interesting for me to read up about CFEngine. The way it was open source, and it was meant to provide people with a way to automate the management of numerous computing systems and servers at the same time. And as you were saying about the big company that shall not be named, they were doing things manually. Actually a lot of human potential was unleashed with the automation of these networks of computing machines.

Diego: Exactl.

Len: And so this actually represents a very significant moment in the post-industrial era.

Diego: Exactly. Actually this is a very good point. Because CFengine drew a lot of ideas from this. There's an author, and his name is escaping me at the moment. It'll will come back to me in a moment. But he wrote about the three waves of human evolution.

In the first wave, it's everyone does their own thing. For example, in terms of human society, this is the time of history when people were building their own parts and tools. They were planting their own food, and they were growing their own animals.

The second wave is when we have economies of scale. When people start specializing - and you no longer grow your plants, you buy them at the market from someone who does this at scale - and in return, you provide some other service.

Ultimately, the third wave is the wave in which we are now, in which it's not so much about products - it's more about ideas. Now, the really valuable things are the ideas and the processes, and the technologies that people invent.

In the sense of computer system administration, we used to compare CFEngine to the third wave of evolution. Because the idea is exactly as you said, that you free the humans that are tending to the systems, you free them from the mundane repetitive tasks, and you let them focus on higher-level thinking. So, instead of figuring out how to configure a web server so that it behaves in a certain way, you just say, "I need three web servers and two database servers and this and that," and you start thinking at a higher level, because their lower levels are automated. This is a very powerful idea.

Len: Thanks for that great explanation - and putting it in that high-level context, which i think is so important. The author, by the way, is Alvin Toffler.

Diego: Yes, thanks.

Len: And the books you referred to in your book are Future Shock and The Third Wave.

Diego: Exactly.

Len: Automation is obviously something that is in the news. It has been in the news for a very long time, I mean, indeed, centuries -

Diego: Yes.

Len: When it comes to the potential for job losses, and things like that. I just wanted to like talk to you for a little bit about that. I mean - my non-expert's, news-headline-reading, normal-person's view of it is, that people have been worried about automation taking jobs away for a long time. I think my intuition leads me to fall more or less on the side that automation tends to free up people to do other things, and automation just becomes the new tool that you can do things with.

But at the same time, particularly when I think about jobs like driving - like truck driving; there are like three million trick truck drivers in the United States, I think?

A lot of people like doing jobs that are repetitive, and where you kind of learn what you need to do once. Me, like I mean I could never drive a truck. Honestly, like I think I just couldn't. I'm not saying these things are easy. But they do come easy to some people, and when they learn them - then they they've acquired a skill, and they've acquired a trade, now they want to turn on the radio and like have their hand on the wheel and try and enjoy - I mean, trucking in particular, is actually very difficult job in a lot of ways. With time away from family, and hard hours and things like that, and that mistreatment by management and things like that.

But at the same time, there's just a certain kind of activity that I think some people are suited towards. I like to live in my head, and a lot of people like to live in their hands. And so one concern I have when I think about this is - what if because of what we can now do with machine learning and robotics and things like that, if the pace of change goes in things like self-driving cars, if it continues the way it has in the next 10 years, like it has in the past 10 years - to go into sort of sci-fi or futurist kind of ways of thinking - we could end up in an age when all those jobs, the category of activity of kind of manual labor, has only very few niches left, where it needs to be done.

Do you have concerns about that kind of thing, when you think about it?

Diego: I think my thinking about this, is that this has been a concern as long - as you said, as long as technology has existed. At every stage of human evolution there have been the worries that the new technologies will destroy jobs and will create massive economic problems, for example.

This happened when the first machines appeared, and a lot of things that people used to do with their hands, started being done by machines, or by tools. This happened again - first with human-powered machines, then with engine-powered machines, then with computers, now with faster computers, and more automation and AI.

What I think is that, we people will always find things to do with our time. And there will always be things that people can do to develop their interests and their passion.

Coming back to the example that you just mentioned - maybe this is simplistic thinking, but how about - what if, instead of - if you like driving, and if you like the feeling of this - what if you could do it just for fun? And not because you have to do it 12 hours a day, and you suffer mistreatment by management, and long hours away from home. And you can just do it when you feel like it, and as you wanted.

On the other hand, I think we are very far away from fully automating a lot of these jobs. As much progress as we have made, I think it's still a bit far away. So, I think we still have time to think about this - but my feeling tells me that there will always be other interesting things to do with our time, and with our with our interests, and with our abilities - despite the progress of automation. And there will be certain things that machines, I'm pretty confident, will never be able to do. Creative thinking, these kind of things, will be very hard or impossible ever to automate. So I think there will always be a room for humans in everything we do.

Len: Thanks very much for sharing that - that's a very optimistic answer, and I hope you're right.

So we've been talking about some big serious things, and not that I want to make light of it, but your latest book on Leanpub, is about automating tasks on your Mac to make it more and more fun to use your Mac, using something called Hammerspoon.

I really enjoyed getting into it. And just to set the stage, so using this tool Hammerspoon, you can do things like - you can set it up, so if you select some text in say German, then you can just use a short keyboard shortcut you've set up, and have something pop up with a translation in English. That's just one example.

Diego: Yes.

Len: I've got sort habits, and I've never found - I haven't looked very hard, I confess. But I haven't found a way of automating things that I do at various times of day, or at various times of week; for example, I like to change sort of the background image on my Mac. I've got a particular one for the weekend, I've got one for when I'm working during the day, and then one for when I've turned off work and now I'm using my computer for other things at night.

Diego: Yes.

Len: Can I use Hammerspoon to do that?

Diego: Yes, absolutely.

Len: Fantastic.

Diego: Basically Hammerspoon allows you to automate almost everything that you have on your Mac. I should mention it's a Mac-specific tool, but it has very deep integration. So you can definitely have things based on time of day, or on location.

For example, I have a few applications that need to be reconfigured when I come from the office or leave the office - because they need to reconfigure their proxy for using the office network. I have some conditions that trigger when there's a change in the wireless network to which my machine is connected. So, when I leave the office and I come home, the text is changed and it automatically reconfigures this application.

Len: That's amazing.

Diego: This is something that, for example - you can also have a trigger based on time of day, on day of the week, even on location. Hammerspoon can get geographical information, and maybe you can have it set that when you're at home or wherever you are - when you are at the airport or when you are at the office, you have different sets of things happen. It's a super powerful application, and I really like it.

Len: I was wondering if you could talk a little bit about how it actually works under the hood, and then maybe explain how, as a user, you would set up a task?

Diego: Yes of course. First of al,l I'd like to comment on something you said at the very beginning, which is on the writer side of things. The fact is that I love technology. I've always loved technology. And as I have progressed in my professional career, my job is less and less technical. It's more about planning, it's more about the sign, it's more about architecture and things like this. But I have never been able to subtract myself from actually tinkering with machines and playing with technology directly. Which is why outside of work, I keep coding, I keep programming - and that's why I ended up writing this book.

Hammerspoon is a Mac application which has integrations into a lot of the subsystems that compose the Mac OS operating system. So it has integrations into the UI events, it has integrations into the file system, it has integrations into the sound system, the networking system - and a bunch of other things. And all of these integrations are exposed to Lua, which is a scripting language which was developed from the beginning as an embeddable scripting language. Which means that it has facilities built into the language and the framework that make it very easy to integrate into other applications.

Lua is very commonly used in video games that allow you to program things into them using Lua as their scripting language. Hammerspoon also uses Lua. You can basically just write commands. For example, there's a Hammerspoon library which is called hs.window. Through this library, you can manipulate the windows on your machine, so you can find which windows are on the screen at the moment, which ones belong to different applications - and you can also manipulate them. So you can, for example, change their size, change their position, and move them back and forth with respect to one another.

This is something that I use very often with shortcuts on my keyboard. I can make one window take only half of the screen, and then the other take the other half of the screen. Or when I'm connected to my external monitor in the office, I can move windows from one screen to the other using my keyboard. And all of this is done basically by writing code. So, Hammerstone is an automation tool which is very suited towards programmers. Because you need to do at least a bit of programming to set it up the way you want it.

Hammerspoon also has libraries called "spoons," which make it easier to use it without so much coding. Spoons are modules that allow you to basically just load them and use them for different tasks. There's a lot of spoons that have been contributed by people in the community - for everything from window manipulation, to integration with smart light bulbs at home, or sound systems - all sorts of things that you can just load, tell it what you need to do, and then use it without having to worry too much about how it works.

But if you know how to program a little bit, you can have a tremendous amount of control over the things that happen on your Mac.

Len: That's amazing. I'm looking forward to trying to figure out a little bit of this myself. Because there are some things that we do all the time, and that example you have of, when you're switching Wi-Fi networks, you're going from one place to another - and having the settings all happen automatically. Is just sounds like magic.

Diego: Exactly, it is. It is like magic. And it often happens that we get used to doing these repetitive tasks.

This example you mentioned before, with the translation. Particularly because I live in a German-speaking country, and I speak a bit of German - but not very fluently yet - so all the time, I was selecting, sometimes copying, going to Google Translate, pasting it - and ultimately I realised this was something I could automate.

In this case, I can give you a concrete example. Hammerspoon has integration into the clipboard system. So, I can see which text is selected or copied into the clipboard. And on the other hand, it allows me to open a browser window that I can point at a specific URL. And by connecting these two, I can basically have a hotkey that copies the currently selected text, opens the browser windows that goes to Google Translate, puts the selected text there - and automatically does the translation. It saves me a lot of time every day.

Len: Moving on to the third part and last part of the of the interview, where we talk about the interviewee's experiences as an author and a self-published author.

You've had an interesting journey as an author. You talked a little bit already about your experience with O'Reilly. You mentioned shopping around your idea. It's funny - because the people who are sort of familiar with what these things mean, that's very obvious. But to people who are on the other side of it and who are like, "I'd really like to be an author myself," even if they're maybe a little bit familiar with what that means - obviously from the context, that means approaching publishers with an idea. How did you go about doing that? Did you send emails, did you have a business plan?

Diego: Not really. I did it a bit empirically. Actually my first approach was to a publisher called Pragmatic Programmers, who also publish technical books, they have very nice books. The reason I approached them first was because they organized, at the time, something that they called "The Pragmatic Programmers Writing Month," which is the equivalent - if you heard of it, of the novel - What is it?

Len: NaNoWriMo?

Diego: NaNoWriMo. The month in which you are encouraged - you can sign up, and you have to write 50,000 words, to get a jump start on your book. So basically they organize something like this, at the same time as NaNoWriMo, but for technical books. They were encouraging people to sign up to write a certain amount of text every day, and basically by doing this for a full month, jump starting their technical book.

So, I signed up with my idea for the CFengine book, and I did it. I wrote every day. I put together an outline and I started filling it in. And by the end, I had one or two chapters pretty full of content, I thought. And then I submitted my proposal to them, to Pragmatic Programmers. They didn't want to take it, because they were working on a similar book at the time, and they felt there was there was a lot of overlap between that and my proposal.

My next try was O'Reilly. But O'Reilly is a very popular publisher. My guess is that they will receive, or probably continue to receive, a lot of proposals from different people. So there were guidelines for potential authors, trying to discourage you as much as possible. They say things like, "Oh, you really need to think carefully before doing this. We have a very strict process, and it's a very low percentage of people who get accepted." Which I think makes sense, they try to filter out the people who just randomly submit something. But still, it was a dream of mine to have an O'Reilly book.

So, I sent them my proposal and they liked it. Actually maybe "shopping around" was a bit of an exaggeration. I only submitted it to two places, and the second one accepted it.

It was an extraordinary experience to work with O'Reilly. As I wrote somewhere, after working with them, I realized why their books are so good, or were so good. Because the whole process, the whole editorial process - I think this is what a good book publisher gets you. Which is of course harder to get as a self-published author.

You get an editor that basically walks along you through the whole process. And he asks you questions, and he tells you, "Hey, this is not very clear. What can we do here?" He tries to learn about what you're writing and he really gets engaged. I was very lucky to have an editor like this, and this was for me an eye-opening experience. I realized writing a book is much more than just putting the words on paper. It's about structuring your ideas and really motivating yourself. And of course here, having a good editor also helps a lot. Because he pushes you a little bit, to continue working.

Len: It's really interesting - having talked to quite a few people in interviews for this podcast about it, how some people react to the experience of working with a conventional publisher, and having an editor - and how other people react. Of course it depends on who the publisher is, and who they work with, within that publisher, and stuff like that.

But there are there are some people who are just like, "The last thing I want is some editor looking over my shoulder, telling me what to do with my book."

Diego: Yeah.

Len: But then, and then there are other people for whom that that's exactly what they want. And then, it's also project-specific.

Diego: Of course.

Len: There might be a certain kind of project where you're like, "this book absolutely needs to have a professional editor involved in its production." And then there are other ones where it just doesn't. There's no need for that, or, "It would slow me down, and I want to get this out right away," or something like that.

You mentioned you went through the experience of getting your rights back for the book. How did that happen?

Diego: Actually this happened pretty naturally. In fact, the initiative came from them. The thing was that I published the initial release of the book, and then I did an update a few months later, and another one a few months later. And then there was a fairly long period of time during which I didn't have a lot of time to work on the book. So there were no updates for a while.

When I started thinking about updating it again, my editor came back to me and said, "We are doing a bit of a cleanup in the catalogue, we are focusing only on the on the high value books. And so we have decided that your book - we're no longer interested in publishing your book. We will continue selling it, particularly the electronic version of the book." In fact, the original version of my book is still available in Safari Books Online - which is the online catalogue that O'Reilly keeps.

But then I asked him, "Okay, so what happens now? Is the book dead, or can I continue writing it?" And says, "Well, we could release new versions, but we wouldn't be able to do the whole editorial process, do the review on the typesetting, and all this - you would have to do this on your own." And then I suggested, "Would it be possible to get the rights of the book back to me - so that I can publish it on my own, or to some other publisher?"

And he said, "Okay, let me check on that." And they said, "Yes." Basically it was fairly painless. Then they sent me a letter saying that, "By this letter we acknowledge that the books rights are signed back to you and you can do whatever you want," with some conditions like removing branding and graphics and things like this from the book. And that was it.

As soon as I got this confirmation, I took the PDF almost as I had it, and published it on my own, on Amazon. But it was sometime after that I started looking around at places where I could do the self-publishing in a more elegant fashion, and that's when I found Leanpub - and that was it.

Len: I've got a question about that. This is very kind of in the weeds, but to people who face this challenge, hearing about someone's experience doing it, would probably be extremely helpful.

You had a written manuscript for the book, and then you wanted to publish it on Leanpub. And to do that, we have a "bring your own book" feature, which is a workflow where you upload your PDF, and that's amazing, and then you can use all of Leanpub’s 80% royalty rate and coupons and all that - bundling, and all that kind of great stuff.

But you can also, if you want to, convert your manuscript to Leanpub-Flavored Markdown or Markua, our in-house Markup syntax for publishing books. And Markua - of course, is the one we recommend to everyone going forward.

How did you go about taking your manuscript and putting it into Markua? Was that a laborious process, or was it just a matter of like putting number sign in front of your chapter titles?

Diego: No, it was a bit laborious. But I think I was also lucky.

The native format that was used for my book at O'Reilly was DocBook, which is an XML-based format. It's like any XML format, it's verbose, it's very structured. But I was lucky that some time before, O'Reilly also started using another format called, AsciiDoc. They did the initial conversion of my book to AsciiDoc for me, because I was still publishing the book with them. So by the time I got the rights of the book assigned to me, I had my manuscript in AsciiDoc format, which is a text-based format - similar to Markdown or Markua, but with some different conventions.

So I was able to fairly easily convert my files from AsciiDoc to Markdown, by using available tools like PanDoc. Yhat allowed me to basically just publish the book almost right away with Leanpub, it was fairly painless. It still required some manual intervention, because there were some sections of the book that even within the AsciiDoc file, were formatted using HTML. Because they have some very specialized placement, or colors or alignments, or things like this. So those parts I still had to convert by hand, but overall it was a fairly painless experience.

I think we are lucky to now be in a time where very powerful conversion tools are available. For example, Pandoc alone probably can take care of 80% of the format conversion needs for most documents.

I had to do a bit of tricks. Because, for example - AsciiDoc is not very well supported by Pandoc yet, so I had to use some other tools. I also had to do some manual scripting to transform certain aspects of the book. But overall I was very happy with it

Now the next step, which I should probably mention - is that I converted my book from Markdown to org-mode. I don't know if you're familiar with org-mode. It's a markup format in the Emacs world, the Emacs editor. It's a very powerful format, from which you can export a lot of other different formats. Eventually, I converted my whole book to org-mode, and from there I was really in Leanpub-Flavored Markdown.

But now, I started using Markua, and the nice thing is that my source text - the one I edit, continues to be in org-mode, and I'm just now exporting it in a different format. This is a very powerful combination.

Len: Fantastic, thank you very much for going into the details. That that kind of thing is gold to authors who are facing those challenges themselves, to hear to hear about those processes.

Diego: Just to complete the thought - I should mention that if anyone is interested, I like to write about this thing. I have quite a few posts in my blog about the tools and the configurations and the processes that I use for this. So if any of our listeners is interested, they can probably find some good information there.

Len: I should say, we actively invite authors, if they write anything about their Leanpub process and they write posts about them, we link to them in our Help Center and we'll post them in our author forum and things like that. We love hearing about that kind of stuff ourselves as well.

The last question I always like to ask people on the podcast is - if there's anything you can think of that you would ask us to build, and we would do it for you - or anything you would ask us to fix, and we would fix it for you, can you think one thing you would ask for?

Diego: Of course. So first, I would like to say a couple of things that I would like you not to change.

Len: Okay.

Diego: One of them is the approachability of you or Peter, of everyone at Leanpub. Because it's not common to get direct answers from the founders or the co-founders of a company when you ask a support question. I think this level of direct involvement and access is fantastic. Asking a question, and then getting it fixed right away, or getting direct information from the people who are building the product - this is extremely valuable, and I have found it very, very nice in dealing with you guys.

In terms of things that I would ask for, I think my main one will be to just finish the Markua implementation. Because the spec is there - it's very nice, it's very powerful - but there are quite a few things that are still not supported or not implemented. So to me, this would be very nice. Particularly for things like indexing, for example.

Maybe I'm old-fashioned, but I still like books that have an index. And my book has all of the indexing Markup in there, which is, at the moment, non-functional. But if I could generate an index from it, that would be very nice. And there are a few other things that I still find every once in a while that are not properly or fully implemented, and this would be my main request.

Len: Thanks very much for that. With respect to Markua, we made a strategic decision to really focus on finishing the implementation of it. And so that is something that we are actively working on, and we are going to be ecstatic when it's fully implemented. It's been a long process, but I the vision is there. And our authors - you can see it, we can see it - and we are very much looking forward to the day when it's finished, and when its implementation is finished. We are actively focusing on that - to the exclusion of other things.

And when it comes to the sort of direct touch, thank you very much for talking about that as well. It is really important to us to have that direct contact with authors and customers. It does involve a fair amount of saying the same thing over and over again to some extent, but that's part of the job.

The approach that I take to every interaction I have with an author or a reader, is - what systemic issue does this represent? There's the human factor, and actually there is a lot you can do about that with nudging and recommendations and design, and things like that.

In particular, maybe I'm a little bit romantic about it, but not all services you interact with are services where you're going to be spending hundreds of hours on a project that might be very important to you, if you know what I mean? And so when you're working with people who are writing - and writing has a fair amount of marketing about it - Leanpub encourages people to do in-progress publishing, which means, basically every time you update with a new chapter, it's a little new book launch.

And if someone is sitting there and they've been putting time and even money into marketing the launch of the next phase of your book, and they hit the publish button - and the book generation fails, and it's 11 pm on Friday Pacific time - and if we see that, I might have had too many beers to answer, or whatever, but if I see it, or Peter sees it - and someone's in trouble, it's not the same thing as something trivial not working. It's a big deal.

Diego: Exactly.

Len: And writing a book is a huge investment. And so having as much direct contact as is useful for authors, and for us to have - because there's matters of scale, and where your attention is going, and how you're using your attention and time responsibly that factor into everything. But that kind of direct contact is actually very important to us on our side as well, in a lot of ways. It's one of the reasons we choose to do business that way.

Diego: I can tell you as an author, it's really valuable. It's something that really, really makes you, I think, loyal, as an author - to know that people care about your book.

Len: Thank you for saying that, we don't we don't hear that all the time. It's nice to hear that what we believe is true.

Thank you very much Diego, for taking the time out of your evening in Switzerland to talk to me here. And thank you very much for being a Leanpub author.

Diego: Thank you Len, thank you again for the opportunity. I really enjoyed talking to you, and I hope we will do this sometime again.

Len: Thank you very much.

And as always, thanks to all of you for listening to this episode of the Frontmatter Podcast. If you like what you heard, please rate and review it wherever you found it, especially on iTunes, it really does help. And if you would like to be a Leanpub author creating either a book or a course, please go to our website at Thanks.

Podcast info & credits
  • Published on May 8th, 2019
  • Interview by Len Epp on April 25th, 2019
  • Transcribed by Alys McDonough