Sorry for my constant talk about the book, but we have a single life, and such event deserves some reflection because it took so much effort.

It seems I need to clarify the numbers and sums behind its production. Maybe you'll find it interesting.
Pure time of working on the book is between 1600 and 3200 hours. Not sure how much exactly.

This includes:
- working on the text itself
- developing the Andromeda showcase project
- developing the Hydra showcase project
- developing the samples for the book
- production
Periods of active working:

2015-12-02: project with Manning, start of the work
2017-10-02: project termination, stop of the work

2019-02-26: Patreon program, start of the work
2020-11-13: Paper copies printed

1y 5m + 1y 8m = 3y 1m
It's between 40 and 90 hours per month of pure working hours. 1-3 working hours every day in average.

This year will take even more, because I'm working on the Second Edition for Manning.
Money and paper copy costs.

LeanPub has nothing to do with the paper copy. LeanPub is not a publisher, it's a digital distribution service. It doesn't do except hosting e-books. And takes its fees for that.
Initially, I had only 1 option on LeanPub:
$50 min $60 recommended.

Currently, I have two options: one for e-book only, and one for a paper copy + educational videos.

If you pay $50, I get $40.
If you pay $60, I get $48.
If you pay $80, I get $64.
To issue paper copies, I did everything myself and paid from my pocket.

- Bought the cover design $50
- Hired a professional corrector from USA $2578
- Ordered to print printing service $4479 (I also prepared a PDF suitable for printing)

LeanPub has no relation to this.
Every package costs me ~$40 in average, not counting the time.

$30: avg shipping cost
$5-10: materials, coupons, risks, resending failed packages

Times for shipping 15 copies:
- packaging: 2h
- adresses arranging: 1h
- visiting a post office: 1h
I already paid $2258 for shipping services, and will pay ~$2200 for the rest of packages.

Total nominal expenses:

50 + 2578 + 4479 + 2258 + 2200 = $11565

Fortunately, I could use my Patreon money for this.
So if the LeanPub's paper copy option is $80, I get $64 from LeanPub and pay $40 for shipping. I'm getting only $24 of revenue.

1/3 of the purchasers paid $60 on the early stage (my revenue is $8)
1/5 of the purchasers paid even less due to coupons. My revenue is negative.
However, none of these calculations can be compared to the time I spend for writing. If we state the rate to be $50, then it costed me:


Which is no way possible to cover by selling the book to the small Haskell community, even a digital copy of it.

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with Alexander Granin

Alexander Granin Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @graninas

14 Jan
I'm so happy for the Scala community!

And so disappointed that the Haskell community could achieve the same, but it didn't.

And again, folks, there is something I can share with you from my personal experience.
In 2017, I designed a workflow technology for Juspay using, how do you think what? My ideas from the book. Yes, Free monads. It was a PureScript Free monadic workflow based on Node.JS.

(I was not alone; A. Sarkar and A. Raghavan made a big contribution to it.) Image
The workflow had the following features:
- Monadic
- Distributed (you could have many runners for your workflows)
- Persistable (all the scenarios could be saved into the DB)
- Resumable (pause/resume functionality)
- Async (child workflows and awaiting possibilities) Image
Read 7 tweets
7 Aug 20
I'm learning ZIO (by @jdegoes), and I can say this framework has so much in common with my frameworks.

ZIO is based on Free monads.

All my frameworks (Node, Hydra, frameworks at @juspay) are based on Free monads.

ZIO and Hydra programs are values which can be interpreted due to the Free monadic nature. Free monads is the best approach to separate interface and implementation. Free monadic programs are simple, maintainable and testable.

In ZIO, there is a notion of Runtime. It’s a place for keeping resources, such as a thread pool.

Not by chance, my frameworks share the same design. There is the Runtime structure which hides a lot of implementation details about the internal stuff.

Read 9 tweets
3 Feb 20
"Never use Free Monads.

They are slow.
They produce boilerplate.
They require functors. Functors can’t be composed.
They require interpreters. Interpreters can’t be composed.
So FMs can’t be composed."

These statements are all wrong or completely misleading.

Unfortunately, the FUD about Free Monads was significantly boiled by several articles in which the reasoning was based on the mathematical nature of Free Monads rather on the applicability in a particular tasks. (I won’t provide links to avoid unnecessary conflicts.)

In software design, nothing should be assessed from the theoretical point of view. It’s not a rare case when a theoretical statement on some topic turns out to be completely misleading because of the impurity and limitations of the real world.

Read 20 tweets
23 Jun 19
I’m pretty sure there is a big demand for materials about high level architecture and design of big applications in pure FP (Scala, Haskell). This is what I'm actually doing for a long time.

Let me describe the materials I have to the present moment (ongoing thread).

1) Functional Design and Architecture book

In this book, I develop a complete set of tools and approaches for building complex applications in a pure functional language (Haskell).

I’m working on the book currently. 5 chapters are available already:…

It tells how to make a finely structured, layered applications composed of subsystems and services, with database support, multithreading, safe concurrency. The code should satisfy requirements: testability, maintainability, simplicity, should be easy to understand.

Read 29 tweets

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!