Goodreads Summary: Karadur and Tenjiro are twin sons of Kojiro Antani, the dragon lord of Ippa. But only Karadur, whose name means "fire-bringer," bears the blood of the dragon in his veins. His younger brother, Tenjiro or "Heaven's hope," was second out of the womb and is the weakest and smallest of the two. As the twins grow to maturity, Karadur is anxious to attain the promise of his blood and transform into the dragon he is capable of becoming. But Tenjiro, who bears the scars of Karadur's claws, resents his older brother and, on the eve of Karadur's transformation, steals the talisman that makes the change possible. That same night he disappears, fleeing to a distant, icy realm where he will reemerge as a powerful wizard bent on destroying his older brother. But Karadur, lord of Dragon Keep, is prepared to go to war against Tenjiro, and it's likely only one will survive. --Craig Engler (less)
GoodReads summary: Microservices in Action is a practical book about building and deploying microservice-based applications. Written for developers and architects with a solid grasp of service-oriented development, it tackles the challenge of putting microservices into production. You'll begin with an in-depth overview of microservice design principles, building on your knowledge of traditional systems. Then, you'll start creating a reliable road to production. You'll explore examples using Kubernetes, Docker, and Google Container Engine as you learn to build clusters and maintain them after deployment. Throughout this rich, experience-driven book, you'll move through real-world use cases including a continuous delivery pipeline, production monitoring, and practical techniques for scaling and maintaining a healthy system.
Bad code exists everywhere. You shouldn't defend it, even if it is your own code.
So you got tired of bad tests and decided it is a good idea to add some fuzz testing tool. Before you do add it in the main branch, you have to discuss it with your team.
Since we are talking about logging, another thing you must do is to be transparent with the user in your user interface.
A lot of things change during development. One day you need a field, another day that field may be completely different. For those cases, use one version to add the new field and another to remove.
If Gerrit is such a mistake, what can you use instead? Git Flow!
When I said "Scala is garbage" or "Gerrit is a mistake", it wasn't "l33th4x0r" who said that; it was Julio Biason. 'Cause I do believe that putting your face to be slapped is the way we grow.
I hate calling software "a mistake", but I can't find any other way to describe Gerrit. You may see people using Gerrit 'cause Google uses it. The thing is: Google misunderstood what Git actually is.
Depending on where you look, "Nothing more permanent than a temporary solution" is either an old Russian proverb or a quote by Milton Friedman. Thing is, temporary solutions, unless you think about the future to fix them, will become permanent.