- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
210 lines
18 KiB
Plaintext
210 lines
18 KiB
Plaintext
Episode: 2952
|
|
Title: HPR2952: Publishing your book using open source tools
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr2952/hpr2952.mp3
|
|
Transcribed: 2025-10-24 13:48:34
|
|
|
|
---
|
|
|
|
This is HPR2952 for Tuesday the 26th of November 2019.
|
|
Today's show is entitled Publishing Your Book Using Open Source Tools.
|
|
It's hosted by your rune button and is about 26 minutes long.
|
|
It carries a clean flag.
|
|
The summary is how I evolved from writing with a publisher
|
|
to self-publishing using open source tools.
|
|
This episode of HPR is brought to you by An Honesthost.com.
|
|
Get 15% discount on all shared hosting with the offer code
|
|
HPR15. That's HPR15.
|
|
Better web hosting that's Honest and Fair at An Honesthost.com.
|
|
HPR15. That's HPR1552 for Tuesday the 26th of November 2019.
|
|
HPR15. That's HPR15. That's HPR15. That's HPR15.
|
|
That's HPR15. That's HPR15. That's HPR15. That's HPR15.
|
|
That's HPR15. That's HPR15. That's HPR15. That's HPR15.
|
|
HPR15. That's HPR15. That's HPR15.
|
|
Hello everybody, here's Jerome Betten again with another podcast.
|
|
This time I decided to record sort of re-record the talk I did at last orcamp
|
|
in one of the, in one of the unconference sessions.
|
|
I did a talk on writing your own books using open source tools and I decided, well,
|
|
I have some knowledge there. Let's share it with the larger community or the community at large.
|
|
I don't know, which one you would choose.
|
|
Anyway, so I'll go to tell you how I evolved in my writing and yeah, let's take it from there.
|
|
So the first book I wrote was 20 years ago, well, about 20 years ago, in 2000.
|
|
I wrote a book. Well, sorry, there was this project that was halted
|
|
and I was a little frustrated and I wanted to disseminate the knowledge I get into society at
|
|
large. So I decided to write a book, my first one. So I contacted a publisher and
|
|
because it was an IT book in the Netherlands, it's pretty easy. You just submit a title and
|
|
well, most of the time you say, yeah, I should go right ahead and just send us the table of
|
|
contents. So we have sort of a the line in which the contents will, the story will progress.
|
|
So I wrote a table of contents and got a contract with the standard fees. I come to that later
|
|
and I started writing and in two months of writing in the evening hours, I had about 200 pages.
|
|
I submitted the text. They started to make the layout for that, just of publishing and all.
|
|
And after that, I get a correction example to look for any errors that they made in the DTP
|
|
department. And since everything was okay, after that, they sent it to the publisher, to the
|
|
printing press, sorry, and they printed it and it became available in the store. So the first
|
|
time you have an actual physical copy of your books in your hands, that's pretty amazing. That's
|
|
something I can recommend to anybody. Just don't overdo it, keep it to one book and you'll be happy.
|
|
Trust me, all the other books is well, it's something to become or to be an author.
|
|
The thing is, when you start writing a book, you sort of mentally commit to writing and telling a
|
|
story and at least on my part. As soon as you start, you want to finish it as quickly as possible.
|
|
You want to finish it. There's a flow going on and you're sort of channeling, not to sound too
|
|
weird, but it becomes sort of, my second book, for instance, I came back to work and one of my
|
|
managers said, well, you just wrote a book. Do you want to write another one? And you can do
|
|
it as a day job. So I said, yeah, sure, I'll go home and start writing and I wrote a 600 page book.
|
|
And then you get up in the morning and you're into this book. So everything is an obstacle
|
|
in finishing that book. So you start writing as early as possible. You finish as late as possible,
|
|
even sleeping is just a hurdle that you need to take. And then you want to just keep on writing.
|
|
So it consumes you. And it's something that some people can switch it off easily and for some,
|
|
that's harder. Anyway, so back to my first publisher, I got a standard deal which meant that I got
|
|
a royalty fee. So they have, you have your author rights and your copyrights. And author rights
|
|
is always with the author and the copyrights. As an author, you can sell your copyright. So you sell
|
|
that to the publisher in exchange for fee or percentage. And the percentage for I got from the
|
|
publisher. And as far as I can tell, that's pretty average is about 15%. One five percent.
|
|
And that's from their sales price. So after that, it goes into the shops, the shopkeeper also
|
|
need to make a profit. There's always the value and the tax. So all in all, it's about 15% of half
|
|
of the price. So you get maybe 7% of a price of a book which in practice is one or one and a half
|
|
euros book, which is fine. If it's a best seller, I mean 60, 70,000 copies sold. That's something
|
|
that you can live on. But if it's an IT book in a small country like the Netherlands, you're looking
|
|
at 600, 1500 copies sold. So I mean, it's not some change, but you can't live on it either. Either.
|
|
Anyway, I wrote a couple of books that way because, well, just because. And at some point,
|
|
I got to see the actual financial figures for the book. So for instance, I would get 600 euros
|
|
for writing the book. And the publisher would get 20,000 euros for selling the book. And that
|
|
felt a little off. You know, the balance is wrong. It feels wrong. So from that point on, I decided,
|
|
well, if I'm going to write a book, I'm going to do differently. And I start looking around. And
|
|
there's something called printing on demand. And with printing on demand, you upload to a website
|
|
PDF. You can do the marketing yourself or you can hire somebody to do the marketing. But if you do
|
|
the marketing yourself, you can even decide what price you want to put on this book. So let's say
|
|
you don't want to make one euro per book, but maybe 10 or 15. And maybe you sell less. And maybe
|
|
you earn less. But it does feel a lot better. At least that's what I thought and still think.
|
|
So I wrote a couple of books using a printing on demand service. I found a website called lulu.com.
|
|
And the next challenges to realize your own book are technical. For instance, if you
|
|
upload a PDF, you need to have the fonts that you use in your book to have included in the PDF.
|
|
Now, on Linux is just a simple command. Just look Google it and you'll find it. No biggie. But
|
|
if you don't include the fonts in the file, then lulu will say, well, sorry, but no joy. You need to
|
|
add the fonts. How to generate the fonts? How to generate a PDF? We'll come to that in a few minutes.
|
|
The other thing is the cover. And the cover is also a story in and by itself. So that one
|
|
we also going to talk about a little later. So first, let's focus on the contents. There are
|
|
a couple of ways that you can write the contents for your book and have the layout correctly.
|
|
One is easy, usually rough. It's got this great functionality to generate a table of contents.
|
|
You can, I guess, even make index terms. You can see how it looks. That's all very fine and it
|
|
can even save as a PDF. But what do you do about version management? How do you manage the changes
|
|
in your content? So for version management, you can use a git repository. But LibroFus file usually
|
|
is a digital zip file containing XML files. Now, you can also save LibroFus as an XML file and then
|
|
you can do version management. But it's still for the layout part. It leaves a few things to be
|
|
desired. So I found one of my other books that I wrote. I wrote in Docbook. Docbook is an
|
|
XML-based file format in the sgml kind of way. And sure enough, with Docbook, you can generate
|
|
HTML. You can generate PDF and you can even generate ebooks. But writing XML can be a hassle. It's
|
|
not really user-friendly to write an XML. And Docbook editors that are user-friendly, if you were
|
|
far between. So it works, but only once. I mean, it works several times, of course. But after one
|
|
exercise, you're going to look for a better solution. So that's when I stumbled across ExyDoc.
|
|
ExyDoc is an Eski file format. And it resembles a lot the Wiki syntax. I like
|
|
two equal signs. It had a one-level, three equal signs. It had a two-level, etc., etc.
|
|
So you get really clean Eski files that you can very easily store in your Git repository,
|
|
where you can do diffs and you can do, you can see your changes and everything is fine and dandy.
|
|
It's just how do you get from Eski, Doc to Docbook? Well, the fun thing is EskiDoc can generate Docbook
|
|
file. So you make your own script where you enter a build command to sort of compile
|
|
from EskiDoc to XML, Docbook XML, and from Docbook XML to PDF, often using the FO that stands for
|
|
Formatting Objects, the FO tool to go from Docbook to XML to PDF.
|
|
It works. And then somebody made a new tool called EskiDocter,
|
|
and EskiDoc is written in Python. EskiDocter is written in Ruby. And it's compared to EskiDoc,
|
|
it's blazingly fast. It does have some syntax changes, not big ones, small ones, and some of
|
|
these changes are actually very nice to have. So my latest book, and we're now talking about
|
|
my ninth book, is written using EskiDocter. And EskiDocter has an incarnation called EskiDocter-PDF,
|
|
which goes from EskiDoc format, or EskiDocter format, if you want to,
|
|
immediately directly over to PDF. And then you, again, use a command to embed your PDF fonts,
|
|
and you can upload this to Lulu. And this works very, very, very nice. So my advice would be,
|
|
use EskiDocter-PDF, look for that you embed your fonts into the PDF, that that's all settled,
|
|
and start doing your thing. In EskiDoc, you can also include other EskiDoc files, so you can
|
|
make one master file that includes every file per chapter, which I would recommend to do.
|
|
Yes, you can also include images. You can tell them how, if the image should be left-aligned,
|
|
right-aligned, or center-aligned, how much, what percentage of the width the image should take.
|
|
But, and that's unfortunate, I think, is that EskiDoc, and EskiDocter,
|
|
is not capable of doing text flow around an image. So, usually that's not really a big problem,
|
|
because if you do an IT book, you have screenshots and screenshots on average are approximately
|
|
the size of your text, the width of your text. So it doesn't really bother me a lot, but sometimes,
|
|
you know, for instance, if you have a logon screen, which is relatively small, and you want to
|
|
write a little text to the side of that, because only a small logon screen in a full page
|
|
setting, that's pretty, pretty overdone. Well, the way to sort of a workaround, and I'm not saying it's
|
|
it's a perfect solution, but it works, is to make a table with two columns on and one row,
|
|
on the left side, for instance, you do your text on the right side, you include your image,
|
|
and then it doesn't disturb the flow of your text too much. So, you have your Git repository,
|
|
you have your EskiDoctor-PDF executable, you can write EskiDoctor, there are enough things on
|
|
the internet to help you how to do that, you write your own build script or whatever script to
|
|
compile, at some point you want to do that, maybe you want to build counter, maybe I don't know
|
|
what you want, but it's in a way it's book source code, so you can build it, whatever you like,
|
|
you can even import attributes from the command line into your text, so if you describe
|
|
certain application, you can make the version number a variable outside in your build script,
|
|
for instance, or you can define a variable in the header of your book in EskiDoctor as well,
|
|
EskiDoctor Source. Okay, so you have your PDF, you have uploaded your PDF to lulu.com or another
|
|
sideably Amazon has Kindle, which is also a self-publishing platform, but Amazon does make a bundle,
|
|
and if they make a bundle, you don't, just saying, but you know, your mileage may vary, maybe you
|
|
find Kindle development platform better than lulu, I don't know, it's a free country, you know,
|
|
at least over here it is. Okay, then there is the matter of the book cover, now the book cover,
|
|
when you first encounter it starts to discuss the spread, now what is the spread? Well the spread is
|
|
the width of the front page plus the width of the back cover page, and of course the width of
|
|
the spine of the book, and the width of the spine of the book depends on the number of pages,
|
|
so what happens if you upload this again as an example to lulu.com your PDF, it will say it's so
|
|
many pages and the next page will say, the next page on lulu site will tell you, okay, then you
|
|
need a spread of so many pixels or points, and yeah, then they have their own cover wizard,
|
|
where you can make a modest attempt to build a cover, it's not fancy, but it works,
|
|
but probably you want to change that into something fancy, I mean, it is the cover of your book,
|
|
and the cover of your book should look the part, right? So you have the spread, the width of your,
|
|
of your cover, lulu will tell you at what coordinates the spine will start and
|
|
how what the width of the spine will be, and that's all you need, so what you do is you fire up
|
|
inkscape, you tell inkscape the properties that you see in on the lulu page, and you have a blank
|
|
canvas where you can design your cover, and you slide one of the, what's the word for it,
|
|
the assistance lines, I would call them, you know, they're not lines that are visible in the printout,
|
|
but the lines that are visible on the GUI, so they help you, you can draw assistance lines,
|
|
horizontal vertical, but in this time, this case horizontal, sorry, vertical line,
|
|
but you draw it from a horizontal ruler, you draw that to the correct coordinates,
|
|
and then you see your spine, and you can go right ahead and enter some graphics and some
|
|
coloring, some some colored boxes, some some text, to to design your own cover, and when you think
|
|
your cover is looks nice, you just upload, you again, you save it as SVG, that's a standard
|
|
inkscape format, but you also save as PDF, you upload PDF to lulu site, and it will use that cover
|
|
design, and well, oh yeah, the next thing is that lulu will tell you how much money it will cost
|
|
to print one copy, for instance, and this is sort of randomish, say it's a book of 200 pages,
|
|
printing that, including the cover, will cost you either five euros, five dollars, five pounds,
|
|
exchange rate today are very limited functionality over here, and the next question is how much money,
|
|
what do you want to make, what do you want to set as the price of the book, so let's say it's
|
|
five euro pound dollar, and you say well yeah, but this book I think is worth 25, so you enter the
|
|
price of the book as being 25 euro pound dollars, and lulu will tell you how much you will earn
|
|
because of this profit, they also want 20%, which is I think fair, instead of that you get paid
|
|
15%, you pay them 20%, but the rest of it is a pretty healthy profit, and then your book is
|
|
published, and you can order one copy for yourself, and you can put it online or tweet about it,
|
|
or there are several reasons why you want a printed book, maybe for instance you do training,
|
|
and if you do training with your own training material, a book just looks good, and it looks better
|
|
than a couple of staples together, a letter or a four paper size sheets, right, or you think yeah,
|
|
well I can bind them using some sort of binding material, yeah that was fancy in the 80s,
|
|
yeah I'm sorry to be a little harsh about this, but it's 2019, the way better options,
|
|
and even it still looks better than the competition, because not everybody does it, right,
|
|
so you can do training, maybe you want to have a book that's thin, it's not a big book,
|
|
but it's a book nonetheless, and it tells your potential clients what makes you in your business
|
|
unique, so you tell a few stories, people love stories, and you give it to your potential client,
|
|
now there is this little trick, because if you give a book to a client, there is a chance
|
|
he feels uncomfortable, because he feels obligated that he needs to give you the job,
|
|
because well you just gave him a book, right, and well what you can do is say well this is one of the
|
|
lending pieces, so I lend them, and when you're finished just return the book to me and I'll give
|
|
it to somebody else, in practice you'll never see it back, but it takes the sting out of this
|
|
commitment issue, and that has always also worked in the past for me, and what other,
|
|
why you can, maybe you want a book for your workplace, a nice manual about this new software
|
|
that you've rolled out in your company, of which you are the application manager for instance,
|
|
and you use the screenshots as this application is customized for your company, it just looks good,
|
|
even with internal courses, it can be a little addictive to start writing, just saying I've
|
|
for several reasons I haven't written in about a decade I believe, but like I said I'm
|
|
recently starting working on my ninth book, and it's still a lot of fun, so yeah that's about it,
|
|
if there are any questions about the subject, just please put them in the comments, and I will maybe
|
|
make a follow up episode, if you want to contact me, because you think that I can write a good book for
|
|
your project, which is also an option, yeah it's not that I started this podcast thinking let's
|
|
make a sales pitch, but no I think about it, well you know, Giron and Giron Baton.nl or
|
|
well you'll find me some way, that's the internet for you, nobody's invisible these days,
|
|
okay anyway, yeah that's I think about all I wanted to share with you, I hope you find it informative,
|
|
like I said please leave a comment in a note in the comments or whatever, I put if you don't know
|
|
how to spell lulu.com, I put it in the show notes, and I would say I wish you a lot of success and
|
|
happiness, writing your own books, bye bye,
|
|
you've been listening to Hacker Public Radio at Hacker Public Radio dot org, we are a community
|
|
podcast network that releases shows every weekday Monday through Friday, today's show, like all our
|
|
shows, was contributed by an HBR listener like yourself, if you ever thought of recording a podcast
|
|
and click on our contributing to find out how easy it really is, Hacker Public Radio was found
|
|
by the digital dot pound and the infonomican computer club, and it's part of the binary revolution
|
|
at binrev.com, if you have comments on today's show please email the host directly, leave a comment
|
|
on the website or record a follow up episode yourself, unless otherwise status, today's show is
|
|
released on the creative comments, attribution, share a like, 3.0 license.
|