Our daughter asked us the other day: "Do you have any regrets about your life?" Wow, what a question from a 13 year old. Anyone who has lived to the age of 47 will have regrets. Even Frank Sinatra had a few. After thinking about it for a few days, I realized that I did have one big regret. I should have written my first book when I was 30. "Why?" you might wonder. When I was 30, no one knew me. No one expected anything from me. Now I'm a Java Champion and one of the top ten thousand speakers at Java conferences. If I write a bad book, people will notice. Another reason is that writing a book is a process. It's a bit like a large software project, where we are creating something from nothing. Had I learned how to do it at the tender age of 30, I would now be able to churn books out at a rapid pace. I've decided to start writing books. I'm beginning with mini-books and once I get the hang of it, I'm hoping to tackle a larger work. Last week I spoke to one of the most respected authors in the Java world: Maurice Naftalin. He has produced two excellent books. The first was on Generics and Collections and the second on Java 8 Streams and Lambdas. His advice: The most important for a book is to have good reviewers. They will make you throw away most of what you write, but the end will be much better for it. When my friend Sven Ruppert and I wrote a German mini-book, we did it without external reviewers. Now that I'm reading it again, I realize how many things we should have done differently. Good reviewers would have helped make the first edition so much better. But I did not realize how important this was. My fear in writing a book is that my "fame" will work against me. People will read it and say: "This is terrible. How did he become so famous in the Java world?" I hope to turn this disadvantage into my advantage - with your help. Sven Ruppert and I are re-doing the Dynamic Proxies book, but this time in English. We are publishing it as a mini-book on InfoQ. This means the e-book will be available for free. Why "Dynamic Proxies"? Well, for one there isn't any other book on that topic. Secondly, the topic is intellectually interesting. The generics alone will make your head spin. Like this: public interface AppendableCloseableFlushable <E extends Appendable & Closeable & Flushable> extends Appendable, Closeable, Flushable, Composite<E> { ... } So what does this have to do with you? As I said, we need your help to review the book. All those that provide constructive feedback will have their name mentioned. Plus they will get a free e-book once it is ready. (But then - everyone gets a free e-book ;-)) There will be other books. I'm thinking of mini-books on: java.lang.String StampedLock, Phaser, VarHandle, ForkJoinPool And of course a larger book, but only once I've done a few practice mini-books. If you would like to join as a reviewer, all you have to do is fill in this form. You will then get added to our list of reviewers. We will send you instructions on how to get the current version and how to submit your suggestions. Kind regards from Heinz Kabutz |