I might have sold Functional Data Structures in R already

I got an email last night from Apress. I had sent them a few chapters of Functional Data Structures in R back in spring, but back there we agreed to talk about it again in the autumn. Considering that they have published four of my books this year already, it makes sense not to publish more right now and start competing with myself.

Anyway, I got this mail with a suggestion for the back cover description and the message that the editor who wrote me, Steve Anglin, would try to get approval for sending an offer as early as next week.

Thing is, I am not actually done with the book yet. I have a complete draft, but I have only proofread a few chapters, and the way I write, I have lots of mistakes in a first draft. I write fast and I am not too careful with checking what I have written in the first iteration—it helps me get some writing done quickly and I know I will need to go through the text later to edit it anyway.

I will go through the remaining chapters over the coming week and get them proofread, but I also want to consider if there is more I should add to the book. I had plans to get some of my computer science friends to read it and make suggestions, but if I am selling it soon I don’t know if they will be willing to read it in a hurry. I am sure it would make the book better, though, so I will try.

If you are into data structures and willing to give it a quick read through, though, please let me know. I am not talking about proofreading or copy editing so much at this stage, but checking the data structures I describe are described correctly and that what I write is up to date with the literature, and of course make suggestions for more to add. If you are willing to, I will get you one of my free copies when the book is published in return.

If you are not up to giving the book a quick read through right now, but are interested in it, you might want to consider getting it now at Gumroad. I will update the book there once I’m done with proofreading and again if I add more material, but after the book is sold I will take it down. Right now the price at Gumroad is $1.99 (but you can pay more if you want). After I’m done with proofreading it will go up to $2.99. I spend the money on writing software and subscriptions—such as a subscription to Grammarly that helps me a lot with the proofreading—so I don’t charge a lot. Once the publisher needs his cut, though, the price goes up. My current published books are priced in the range $19-$35 (and my cut is around the same as when I sold them myself), so if you are happy with a PDF version, you should consider getting it now.

Of course, for programming books like this, you might prefer printed versions. I know I do. So I am very happy that this one looks like it will be published in proper print before long.

Hmm, I’m not too happy about this

It appears that Ulysses is switching to a subscription based form where earlier it was an app you just paid for.

I have been using both Ulysses and iA Writer for a while now, and I have both applications on both my Macs and iOS devices. For my technical books, where I need to compile the text with Pandoc, I have used iA Writer—it is easier to use with plain Markdown files than Ulysses, I find—but with other books, I have used Ulysses.

Back when I started using the tools, you couldn’t embed images and such in iA Writer, but you can now (although with a different syntax than usual Markdown), and images are automatically uploaded to Medium and WordPress, something I find really useful and that Ulysses supported when I started using the two apps.

I like both apps, but I am not sure I will be using both if they start charging a subscription fee. Sure, since I have bought Ulysses earlier, I get a lifetime discount, and I am considering it, but on the other hand, I am mainly using iA Writer for my writing. In the most recent writing, I have really only used Ulysses for blogging. I can do that in iA Writer as well—in fact, I am writing this post in iA Writer.

If I switch to iA Writer completely, there are a few features I will miss:

  1. The previews in Ulysses are nicer. You can create and install custom templates—although I don’t know exactly now that works—so I suppose it is possible to work around that.
  2. iA Writer cannot export to ePub, so even for simpler books, I would have to go through Pandoc to make ebooks. A slightly annoying thing here is that Markdown and iA writer includes images and other files differently so there might have to be some processing to make this easy.
  3. I will miss the word count tracking I can do in Ulysses, where I see a progress wheel that tells me how I am in relation to a goal. Those help me get roughly the correct word count that I have planned for. However, for all the books I pipe through Pandoc, I have used a spreadsheet for this anyway so it won’t be a major change.
  4. I was just about to say that I would miss the way I can group sheets and folders and such in Ulysses, but I can see that I can make folders in the iCloud library, and that combined with including other files through their names, I don’t think this will be much of a problem. But I might think otherwise once I have to export to Markdown to create ePub files via Pandoc. I don’t know.

Anyway, I think my status, for now, is that I will try using iA Write exclusively for a while, and see how it feels. In the mean time, I still have my current Ulysses apps that I can use without a subscription, so I don’t have to switch right away, and I am not aware of any new features in Ulysses that makes that worthwhile yet.

If I find that I miss Ulysses, I will get the subscription, of course. I already have lots of subscriptions for writing anyway, with ReadCube, Bear and Grammarly all being more expensive than what Ulysses costs, but if I do most of my writing in iA Writer anyway, it will feel a bit silly to have a subscription to Ulysses just for blogging…

Reversing the trend

My first book, Beginning Data Science, had a decent length at a bit more than a hundred thousand words.

After that, the books just got shorter and shorter, with Functional Programming at 31K words, Object-oriented Programming at 28K words Metaprogramming at about 24K words (Metaprogramming was published before OOP, but I wrote OOP before Metaprogramming).

With Functional Data Structures I’m reversing the trend. This book won’t be as long as the data science book, but it might end just a bit short of 50K words, so it will have a decent length for a technical book.

It is still a bit short for a text book, but for covering a single technical topic, I think it is an appropriate length.

Update on Functional Data Structures in R

The manuscript for Functional Data Structures in R is coming along nicely. I’ve just finished the description of red-black search trees. Insertion there is simple, but deletion requires a bit more work.

I added some code for visualising trees and some experiments with runtime performance.

Now I want to go back through the previous chapters and update those with more experiments and visualisation, and also include some of the experiment code. I plan to do this before I return to the search tree chapter and write about splay trees.

Nice to see my books around

Rene Thomsen posted this picture on twitter with the text

@ThomasMailund we have a lot of your ‘Beginning Data Science in R’ books available for both current and future data scientists at Scio+

It is great to see that somebody buys them at least. And there’s more there than I ever had myself.

By now, I only have one copy left of the Data Science book and one copy of the Functional Programming book, but still plenty of Metaprogramming and Object-oriented programming.