Writing tools

As you know, I have explored several different writing tools and setups for books and blogs.

My current setup is iA Writer for writing — it used to be Ulysses or Sublime. Ulysses changed to a subscription form and in any case was hard to combine with my other pipeline, so those two issues combined moved me away from Ulysses. Sublime is a great editor for both coding and writing, but for some reason the keybindings on my laptop are different from the bindings on my desktop — and I haven’t figured out how to change that — and that annoyed me sufficiently to not use that editor for writing. So iA Writer it is.

For posting on this blog, I can send text and images directly from iA Writer to WordPress. For my books, I write Markdown files that I process with Pandoc and, for R books, knitr. I have a setup with Makefiles to handle that, and that works well. For my new R blog, I haven’t figured out the right workflow yet. I’m writing in RMarkdown, so some combination of iA Writer and knitr combined with Hugo is likely to be the solution. If I can get Blogdown to work, that would be great, but Makefiles usually work well for me if I don’t manage that.

Anyway, I am always interested in learning about new tools and new pipelines, and now Ferry Vermeulen from INSTRKTIV has sent me this list of resources. I haven’t explored it fully yet, but when I have a quiet moment I will see if there are tools there I absolutely have to try out.

What are your preferred writing tools? For blogging, papers or books?

Domain-specific languages in R is sold

Well, I got the signed contract for *Domain-specific Languages in R. My deadline for finishing it is April 1st and then it should get published in June. That shouldn’t be a problem—I have most of it done and just want to add two or three more chapters. Right now I have two example chapters planned and I might write a chapter on design patterns for DSLs.

Anyway, because I have now sold the book, I have to pull it from Gumroad. There are a few edits I want to do first. I found out today that the UQE function from the rlang package is getting deprecated, so I need to change the examples that uses it so the code is not deprecated when the book is out. I will do that tonight or tomorrow. Then, I will pull the book from Gumroad later in the week.

Update on Domain-Specific Languages in R

I’ve managed to get a lot written on my book on domain-specific languages in R over the last two weeks. I’ve been working on this book, rather than my book on hash tables because I got an email from Apress at the beginning of January asking if I had new books for them. Well, yes, I have this book on domain-specific languages; I just haven’t written it yet.

Well, now I have written most of it. I have all the theory I want in it, I think, and just want a few more interesting examples in the last chapters. I haven’t implemented those yet, though, so I need to do a bit of coding before I can write more. I look forward to that—hacking new languages is always fun.

After that, I’ve been asked to write a book about machine learning. I have to think a bit about what I can contribute to that topic. There are plenty of books about how to apply machine learning techniques in R, but I don’t know how much has been written about implementing algorithms. Or at least written about efficient implementations. There are plenty of blog posts and such, but I haven’t seen it in any of the R books I have.

Book covers

With my previous books, I’ve made covers myself with Canva. Canva is nice to use to whip up some graphics quickly, but let’s face it, my graphics skills are somewhat limited. So, I decided to get help for The Joys of Hashing.

I had heard about Fiverr before, so that is where I went. Fiverr is a place where you can buy stuff like graphic design or editing and such relatively cheap and straightforward. The book covers usually start around $5, and you can pay with PayPal, so there is little hassle involved.

To have something to choose from, I ordered a book cover from two different designers. For both, I had to pick stock photos from DepositPhotos. I paid extra for that, although I am not entirely sure if one was included in the price at the first designer — I can’t quite work that out from the description — but I got two from her, so maybe.

Anyway, both designers charged $5 $5 for design and stock photo, and then Fiverr charged $1. So I’m down $22 for these designs — pretty cheap compared to the time it would have taken myself to make the covers.

Anyway, the first designer, lauria, made me two covers — I paid for one and got two, sweet.

Of these, the first makes me think of a dark fantasy novel rather than a tech book — great if that is what I am writing, but it is not — but the second one I really like and the one I have chosen to use.

The second designer, alerrandre made this cover:

It’s not too bad, but not by far as good as the one I chose to go with.

Lean publishing

I liked publishing chapter by chapter when writing my first books. I could get feedback while writing and that was very motivating. Leanpub is set up for this, and it was an enjoyable experience. Easy to set up a new project and easy to update books — but since they started charging $99 per book ($125 for me with VAT), I can’t use them. I am not sure I will make the money back; I just do not sell that many books.

So, when I wrote Functional Data Structures in R, I instead used Gumroad. I’m not sure it is really geared for lean publishing, though — there isn’t much support making updates compared to Leanpub. I made $14.40 on that book on Gumroad, so you can see that paying $125 for hosting a project is not cost-effective.

Well, I say I made $14.40, but I have never actually received the money. They are supposed to pay out each week if the balance is above $10, but it has never happened to me — still, hope springs eternal.

Are there any Leanpub-like sites out there where one can publish without upfront payment? Everyone takes percentages, of course, and there is nothing wrong with that — I’m just not too keen on upfront payment.