Home » Archives for Remon Sinnema

Author Archives: Remon Sinnema

Architecture Artifacts Cross-Checker

Last time we looked at architecture metrics. We stated then that the data required for calculating these metrics could come from a variety of sources. However, we all know that information about architectures is often not kept up-to-date. So how do you keep your metrics reliable by keeping their inputs fresh? In order to answer a question like that it’s ...

Read More »

Architecture Metrics

Last time we saw how major tech projects continue to be difficult to schedule. One thing that can keep momentum going for a long-running initiative is the appropriate use of metrics. Improving scores allow you to visualize progress and maintain motivation to keep going. Let’s look at some metrics for software architectures. Architecture is the art of making trade-offs between ...

Read More »

Target Architecture

In the last two posts, we looked at generic architecture diagrams and security-specific diagrams. These diagrams reflect the current architecture of a system. This time we will look at using diagrams to depict a desired future architecture, or target architecture. The point of a target architecture is to paint a picture of the desired state that will act as the ...

Read More »

Data Flow Diagrams and Threat Models

Last time we looked at some generic diagrams from the C4 model, which are useful for most teams. This time we’re going to explore a more specific type of diagram that can be a tremendous help with security. Data Flow Diagrams A Data Flow Diagram (DFD), as the name indicates, shows the flow of data through the system. It depicts ...

Read More »

Architecture Diagrams

Hi, my name is Ray, and I’m a software architect. According to my old boss Jeroen van Rotterdam, this means that I draw boxes and lines. In practice, it’s only a small part of what I do, but I do think it’s an important part. Some people may wonder why, in the age of working software over comprehensive documentation, one ...

Read More »

TDD is like working out

We all know that exercise is good for us, members of the species Homo Sapiens Sitonourasses. And yet most of us don’t do enough of it. The same is true for Test-Driven Development (TDD). But the similarity doesn’t end there. With regular exercise, you can grow your muscles. The way this works is not linear, however. It follows an upward ...

Read More »

Functional FizzBuzz Kata in Java

A while ago I solved the FizzBuzz kata using Java 8 streams and lambdas. While the end result was functional, the intermediate steps were not. Surely I can do better. As always, let’s start with a failing test: package remonsinnema.blog.fizzbuzz; + + import static org.junit.Assert.assertEquals; + + import org.junit.Test; + + + public class WhenFunctionallyFuzzingAndBuzzing { + + private final FizzBuzzer ...

Read More »

How to manage dependencies in a Gradle multi-project build

I’ve been a fan of the Gradle build tool from quite early on. Its potential was clear even before the 1.0 version, when changes were regularly breaking. Today, upgrading rarely cause surprises. The tool has become mature and performs well. Gradle includes a powerful dependency management system that can work with Maven and Ivy repositories as well as local file system dependencies. During my work with Gradle I’ve come ...

Read More »

FizzBuzz Kata With Java Streams

After only a couple of weeks of Judo practice, my son got bored. He complained that he wasn’t learning anything, because he kept doing the same thing over and over. It’s not just young children that confuse learning and doing new things. For instance, how many software developers go through the trouble of deliberate practice by performing katas or attending dojos? It may seem ...

Read More »