Set Java Nonnull/Nullable Annotation By Package for Cleaner Code

What is a Java Null Annotation? Java null annotation (or nullability annotation) contracts are a way to mark the code in a way that static checkers know which parameters, variables or return types can be null. You would especially want to do that if you hate defensive null checks everywhere in the code, like this one: (more…)
What is The Real Purpose of Software Projects?

A few days ago I was asked to present some basics about software quality assurance to a group of employees at Agilio. Above all the methodologies and fancy techniques that come with quality assurance, I wanted to give them a sense of what the mission is. Why should they be bothered with all that? To understand what software quality really is about, we must look at the bigger picture. The Context of Business The universe, like the world, your ...
How to Log Technical Debt Like You Mean It

Before you can log technical debt, of course, you should know what it is and why anyone should care about it. The Wikipedia article on technical debt sums everything up nicely. For more, in-depth, information I strongly recommend going through these articles written by Martin Fowler on the matter. Why and Who Should Log Technical Debt Why should anyone log technical debt? Why not just tackle technical debt as we see it and leave the code clean ...
Build Wowza Modules Using Wowza Gradle Plugin

Building Wowza applications with the default ant script is a bit outdated, so I wrote a post on building Wowza with Gradle. Now I've gone a step further and built a Wowza Gradle Plugin to help you better control your build life cycle. Loading the Wowza Gradle Plugin 1. Create a file named wowza.plugin in the root of your project, next to your build.gradle, containing the following: (more…)
Wowza with Gradle. There is a Better Way Than Building with Ant!

Developing Wowza modules usually includes setting up the Wowza IDE (or a standard Java IDE). It may or may not auto-generate an ant build script that packages the sources as a jar library and deploys them to the local Wowza server. That is all pretty good... but you still have to do manual tasks like running test suites and restarting the service! This Gradle thing is nothing short of magic! Building Wowza with Gradle offers great opportunities ...