Hi folks,
We have discovered that at the end of the last year our email database – comprising of first names, last names, job titles (almost never present) and email addresses – was copied from Salesforce by unknown attackers. If you registered your email address with us at any point, you should assume that these attackers now know your name and email and you should take the usual precautions.
Read more
While the infamous N+1 SELECTs problem is increasingly associated with ORM tools, it can still happen in your app even if you avoid ORM like the plague. Spring JDBC Template is a popular way to use Plain Old SQL in Java in a way that provides some abstraction over SQL parameters, looping over rows and mapping to DTOs.
Read more
In the previous article we’ve uncovered a typical Hibernate issue – as Hibernate hides a lot of relational database complexity from us, it is easy to accidentally pull too much data through too many queries from the database. We used XRebel to identify that issue in Spring Petclinic, but haven’t figured out how to fix it yet…
Read more
Hi folks, Jevgeni here. I’m the founder and CEO of ZeroTurnaround.
Read more
Hibernate is an amazing tool used by a majority of Java developers to hide the complexity of querying and modifying a relational database. However, the very complexity it hides can sometimes create issues that are hard to understand and fix. One of the biggest challenges that Hibernate users face is determining how much information and in which way will be queried from the database.
Read more
Building web applications with Spring MVC often requires to store some user data – some examples are security credentials, profile information, temporary conversational objects and others. The natural way to do that in Spring MVC is by setting the HttpSession attributes either directly or through the session scope descriptors.
Read more
Hi folks. Jevgeni here, your friendly neighborhood startup founder and CEO.
Today we proudly announce the general availability of XRebel 1.0. XRebel was born over a year ago, in a brainstorm that I had with my co-founder Toomas Römer at a particularly boring conference session in Las Vegas. We spent a year researching, building and rebuilding to finally achieve the product that we are presenting now. We are extremely proud of the result – it incorporates feedback from hundreds of users and it started selling even before we officially launched it! How cool is that?
Read more
We run a business that relies on essential services like zeroturnaround.com, my.jrebel.com, buy.zeroturnaround.com, several internal apps and backend services, that are supported by our internal IT organization. This adds up to 32 applications that run on 17 servers in 10 separate deployment groups.
Watch how we use LiveRebel, Jenkins and a combination of tests to release application updates twice a week and still achieve 99.99% uptime and no release failures.
WATCH HOW TO RELEASE APPS TWICE A WEEK WITH 99.99% UPTIME
Read more

The reason I started writing this post was Buffer’s post that included the salaries of everyone in the company. Although it’s a great PR move, I immediately started thinking what risks they are taking with this approach.
There will be folks who won’t be comfortable with such a level of transparency. Conflicts might occur when someone feels that they are more valuable than the salary assigned by the system. The system might be hard to scale as the company grows, when not everyone is a starry-eyed enthusiast. All kinds of things might happen and they all will distract the management from working on the things that matter. Sometimes this can make a great deal of difference.
Read more