Category Archives: book

Learning Spring Boot – 2nd edition on its way from @PacktPub

learning-spring-boot-2nd-edition-contract-headerlearning-spring-bootI just signed a contract to write Learning Spring Boot – 2nd Edition. This will nicely dovetail the Learning Spring Boot Video Tutorial I’m currently recording.

The 1st edition had five chapters. The goal was to get to market, fast, and gauge reader’s reactions, so we kept it short and sweet, focused on the most critical bits. The results were a SMASH HIT! That book catapulted forward faster than my previous titles. Packt Publishing approached me a few months ago to record a video, and at the same time, discuss doing a 2nd edition. Suffice it to say, we’ve hammered out a solid lineup.

What’s the plan? The 2nd edition will be composed of ten chapters, and is squarely aimed at Spring Boot 2.0 (which comes with Spring Framework 5.0). Spring 5 will include lots of goodness including Project Reactor support for reactive data access as well as reactive Spring MVC. In this day and age, people want stuff that scales. Spring has already proven that, but as more and more people start using things like Project Reactor, RxJava, and other stuff to squeeze more out of their servers, the Spring team has stepped up to improve things once again.

learning-spring-boot-2nd-edition-chapter-hintWe’re shooting to have it out next Spring (see how I did that?). It’s not a rehash, but some of the key lessons will re-appear. For example, a Quick Start with Java is always cool. Just see one of Josh Long’s many presentations!

We’ll dive into Spring’s support for reactive web and data access that’s in motion right now. But other hot stuff is coming as well. (This is just half of the ten chapters coming)

Stay tuned!




#LearningSpringBoot Video is on its way!

I just signed a contract to produce a video-based sequel to Learning Spring Boot, a veritable 2nd edition!

This will move a lot faster than its predecessor. Schedule says primary recording should be done sometime in August, so hopefully you can have it in your hands FAST! (I know Packt has quick schedules, but this is even faster).

This won’t be some rehash of the old book. Instead, we’ll cover a lot of fresh ground including:

  • Diving into Spring’s website.
  • Building a rich, fully functional web app using Spring Boot, Spring Data JPA, Spring Security, and more.
  • Using Boot’s latest and greatest tools like: Actuator, DevTools, and CRaSH.

I’ve written three books. Recording video will be a new adventure. If you want to stay tuned for updates, be sure to sign up for my newsletter.

Can’t wait! Hope you’re as excited as me.

Today is “Day against DRM”. My fine friends @PacktPub are offering a 24-hour flash sale. #AgainstDRM

I have written three books for Packt Publishing over the past five years (Learning Spring Boot being the latest). They have supported me well. Many of you are aware of DRM (Digital Rights Management). That is coder speak for “wrapping content you bought with controls left in the hands of supplies”. I don’t dig DRM. I cheered it when free market competition brought out DRM-free music from certain vendors.

I believe in paying for content to support creators, but also having the freedom to put content I purchased on any of my devices. It’s another reason I like Packt. Their e-books have been DRM-free since Day 1 (2004). That is über cool.

Whereas I would leap for joy if you bought a copy of my book, I sincerely ask that you search their vast list of titles and pick out something you enjoy.

Happy reading!2015 Banner


Announcing the winner of our #LearningSpringBoot contest…. /cc @PacktPub

Over the past month, we have had several entries. We have rallied together an international set of both contestants and judges. And here are the results!

The contestants

First of all, let’s list the applications that were submitted (in alphabetical order).

1. Mercury

This app is used for piping various types of traffic over different systems. It leverages Spring Boot’s conditional settings, allowing the user to customize as needed. It also has a hypermedia-based RESTful API.

2. Polaromatic

This application shows cute eye candy. It ingests files and manipulates them to look like “Polaroid” snaphots and dynamically displays them on the screen. It has a Spring Boot CLI script to fetch pictures from Flickr. It is Groovy all the way (all the way to the web templates). It uses websockets, Spring Integration, has nice Spock test cases, and

3. VotesApp

This application is a bot that listens in on chat sessions to count votes for/against spontaneous activities. That way, they can quickly get a tally of who all is going/not going on the fly. It has a pluggable architecture, comes with a video demo on an Android smartphone, uses Project Reactor, and leverages Spring’s profile support.

The results

Each of these apps was top notch. The contestants showed real skill. As judges, it was very hard because each team went in a different direction. Spring Boot offers a lot of concise and flexible power, and each of the entries used it well, just differently.

The winner **drum roll**

And the winner is…..Polaromatic! If you want to see, the winner has a running copy here. Visit it and simply wait a few seconds to see the outcome. The team behind Polaromatic has won a free copy of Learning Spring Boot.

Thanks for all who entered!

Valuable things I have learned while writing three books for @PacktPub

I recently had a friend of mine ask me about the viability of writing a book for his open source project. He had questions about how to submit a proposal as well as the money involved. I wrote him a detailed response, but decided to post some of my lessons learned here.

Don’t write a book for the money

This is definitely a worn out expression. I have seen people get this starry gleam in their eye, Sorry, but that only happens when you write a best selling, fictional trade novel. Not everyone can be J.K. Rowling. In fact, there are actually a very small number of authors who make it big. The real name of the game in writing is to write LOTS of books, such that over time, people that like your material end up buying all your titles.

When writing technical books, you still need to sell a bunch to really make any money, but we are forever cursed by books going out-of-date in just a few years. Trade novels last a lot longer.

That may sound a tad depressing. So why write book? Because it can open doors you never knew would happen. When you are a published author, it can impact interviews, speaking engagements, consulting opportunities, and other things. It is always a major +1 to your CV to have written a title. Even more if you get several under your belt. It also increases your overall name recognition and personal brand.

Understand what you’re getting into

Before expending any effort in writing, I made sure we had a contract in place that we both agreed to. I’ve read article where people keep writing chapter after and yet have not signed an agreed upon contract. I don’t work that way. You are taking on risk by doing that. Until a contract is in place, the publisher can bring onboard other writers.

I have historically preferred to write my titles by myself. It lets me control the content 100% and not have to deal with interacting with another author, one who might/might not be as motivated as me. As a nice side effect, it also ensures that I get all the money. Since we’re already talking about a small pile of money, it feels counter production to split it up amongst two or three people.

Packt’s contracts include an option of first refusal for your next two titles. I understand Packt’s desire to get first dibbs on future work. It make business sense, so I had no issue with this in my first two titles. But on the third one, I had decided they had made enough money on me. I asked that this clause be removed to liberate me for future works. I have no hard feelings nor have I felt any malice from anyone at Packt.

Be sure to understand that the contract includes deadlines and exactly how much money you’ll be paid and when. If you sign the contract, you are agreeing to everything stated. Understand what you are agreeing to.

It’s your title. Act accordingly

Every publisher out there will probably tell you how glorious their marketing and sales team is. But for you to write a book and make no mention on Twitter/FaceBook/Google+, nor to write a peep on your blog site is ridiculous. You should be blogging all the time as you write and beyond publishing. Don’t assume that your publisher will automatically sell 1000 copies of your book and be fired up to order another batch!

Another aspect of “acting accordingly” is to remember this will reflect first and foremost on YOU. If you have a certain voice or a style of presentation when you speak at conferences, then by all means, try to write that into your manuscript. Your editors may try to edit that out. If you give them the upper hand, they can reduce your effuse writing into boring humdrum. I’ve seen editors edit out some of my sassy writing. My response? I edit it back in! They don’t usually push back too hard.

It’s important that the publisher have a certain level of quality. But there needs to be enough of YOU in whatever you write that makes it stand out.

Go and read other people’s technical books. Part of this inspiration for me came from a couple other technical books I read. The style these author’s wrote knocked me out of my chair. I LOVED the small jokes, clever class names, and funny material they injected into their writing. And it told me I could do the same, as long as it wasn’t offensive or obnoxious. Again, my editors pushed back, but I paid keen attention to EVERY edit, and undid several of these. I wanted my book to be fun.

Making your book fun is no one’s job but yours.

Take credit for your work – give credit to others

In my latest title, I started each chapter with a quote from twitter. “Spring Boot” was so hot, that I started collecting tweets as I wrote. I would launch a chapter, and include a link to that user’s twitter handle. Their comments were inspirational. I hope they picked up new followers.

At the same time, I gave a presentation that pre-dated release of my book. I mocked up a logo of the book with the title in it, and included that in my profile slide at the beginning. This was a PR moment I wouldn’t pass up. I wanted everyone in that audience to know a book was coming, and hopefully they all bought a copy!

That same week, my colleagues and I trekked to a JUG meeting. Someone in the group asked, “Is there a book on Spring Boot coming?” Everyone turned to me, and I happily gave them the estimated release date. More free PR. I also was sure to cc more than a handful of tweets to that group’s twitter handle. Hopefully they each bought a copy! (Not likely, but one can dream, right?)

Finally, I wrote my last title using asciidoctor thanks to Dan Allen. This was by far the best option. It allowed me to focus on quality content and not idiotic Word Processor issues.

Knuckle down and write

Okay, all these suggestions up to this point are nice and all, but it’s all for naught unless you put in the hours to actually write your book. I read someone’s blog article where they thought the deadlines were crazy since they only planned to write on the weekends.

Sorry, but I don’t have much sympathy there. I wrote each of my books while we also had a newborn baby. I quickly adopted the style of writing every night after everyone had gone to bed. This way, I could focus with no distractions, and then take the weekend off. Writing every night from 10pm-midnight can be exhausting when you mix it with feeding a baby at 2 AM, but this ensured that I got my book finished and out the door. It also cut down on the risk of my technology moving away from me too quickly and making the material invalid, or avoiding massive rewrites due to mega-changes.

Another thing you have to be ready to do is carry your book all by yourself. You can’t depend on certain reviewers to fix things for you. Instead, you need to be ready to proof read in the event your book reviewers don’t actually give you any feedback until the last minute. It’s sad, but this still reflects on you.

There were times when I hit bugs in my sample code, and had to simply pack up for the night. There were other times when I had no choice but to work an extra two hours to hammer out a problem that no one else could help me with, either in my asciidoctor backend, or in my sample code. After all, no one was going to pick this up and fix it, right? Leaning on pull requests, etc. is no excuse for not writing your book.

I demoed Spring Social GItHub in my latest book, and had to go to press using version 1.0.0.BUILD-SNAPSHOT because the project lead was simply too backed up to fix the milestone release already published which broke my book’s sample code. Them’s the breaks.

So by now, if I haven’t smashed your dream of writing a technical book too badly, I wish you only the best in going out, submitting a proposal, and snagging a contract.

One week left for #LearningSpringBoot contest!

3021OS_mockupcover_normalIt’s not too late to join the Learning Spring Boot contest! Spring Boot has made it super simple for people to create new apps rapidly. You still have plenty of time!

I’ve seen a few tweets from contestants. Are you secretly working on an entry? Tweet your github repo, and I’ll DEFINITELY star it so you can score some extra points with the judges.

Just visit the contest site, fork it, create your app, and submit a pull request by January 17th 11:59pm CST (UTC-6).

I’ve already seen cool traffic a la twitter. I would also suggest posting links/announcements at as well!

Good luck!

I owe so much to @russmiles!

Russ's shipment of Learning Spring Boot, ready to distribute to conference attendees

Russ’s shipment of Learning Spring Boot, ready to distribute to conference attendees

Russ is a good friend of mine I met back in 2008. He was working for SpringSource at the time as a consultant. He had spotted my open source project, Spring Python, and invited me to make it an official Spring Extension. I was quite excited! Along the way, I had this crazy idea of writing a book about it. I had seen so many other Spring books that I wondered if I could do the same.

When I bounced this ridiculous idea off Russ, he immediately told me to go for it. Having written a couple books, he had suggestions on how to pitch it, who might be willing to publish something about what was frankly a niche project, and also brought on board Sylvain. Thus was born Spring Python 1.1.

Throughout the writing process, Russ provided a constant stream of useful feedback and assistance, a veritable mentor by any definition. (The irony being that I’m older!) Fast forward to now. My third technical published, Learning Spring Boot. This time around, I negotiated different options in my contract, I took the liberty of writing it in asciidoctor, and I’ve journaled about the writing the whole time to give potential readers an insight into what they can expect.

When my editor asked about ideas for marketing, I immediately suggested they send Russ a truckload of copies to hand out. He travels to all sorts of conferences. Naturally Russ leaped at the chance. You can see the picture of his shipment at the top of this article.

I have mentioned before that I picked the cover art for Learning Spring Boot to symbolize how the power of Spring Boot is built upon a strong network of roots underneath the forest. In that case, I was speaking about the Spring Framework underneath Spring Boot. Regarding my ability to write, Russ has been a strong foundation for my ever growing reach into the written world. What more can a fellow software geek ask for?

Cheers mate!

“Learning #SpringBoot” is now signed, sealed, and delivered /cc @PacktPub @JavaMUG

3021OS_mockupcover_normalI finally wrapped up edits and proofing the pre-finals. Learning Spring Boot is officially completed. The only lingering thing on my plate is migrating the code base into my newly minted github repo. I hope you have already pre-ordered your copy.

According to my editor, they are uploading it to the printers tomorrow. I can’t wait to get my shipment!

I can say this: I’m exhausted. As I write this blog entry, my watch reads 49 minutes past midnight. Nonetheless, I’m glad to have finished such an exciting book. Can’t wait to hold a copy in my hands.

Good night!