Thoughts about Laurence Tratt’s Article “Can We Retain the Benefits of Transitive Dependencies Without Undermining Security?”

This is a comment on Laurence Tratt’s blog article “Can We Retain the Benefits of Transitive Dependencies Without Undermining Security?” discussed in the context of the Flow Design approach. Indeed, it becomes more and more terrible to see how the transitive dependencies are becoming overwhelming (just think about the NPM transitive dependencies trees for non-trivial applications). This is definitely a challenge for the future of programming and software development which needs to be tackled. And, I agree with your conclusion that some combination of privilege separation and compartmentalization (like actors) are needed at the end. I’m part of a community Continue reading Thoughts about Laurence Tratt’s Article “Can We Retain the Benefits of Transitive Dependencies Without Undermining Security?”

Let It Flow in Java

Waterfall at Java

As announced in my previous article, where I had introduced Flow Design, I want to show a concrete implementation in Java. The code for this example may be found on GitHub. I will follow the blog article “IODA Architecture by Example” of Ralf Westphal which made a Flow Design and implementation for the following scenario: Build an application that translates a Roman number entered by the user into an Arabic number and vice versa. It may be valuable to read his article too, to get further details. However, I will repeat his steps (sometimes a little bit shortened) for letting Continue reading Let It Flow in Java

Go Beyond Object Oriented Design — Let it flow!

Strutured Flowing Water

Why is software engineering so different from all other engineering dealing with real parts? Why is the design of a software system almost not recognizable anymore in the code? I’m quite sure, software engineering can get closer to how other engineering disciplines are doing it. It is possible to make design directly recognizable in code. This blog article series is about a possible approach. Look at this block diagram about an Apple I Video Terminal: It describes in an abstract way the components the video terminal is build from and how they interact and depend on. E.g., data is flowing Continue reading Go Beyond Object Oriented Design — Let it flow!