-
Actor Model
2024-05-10 in 2024
Concurrent programming has always been tricky. Accessing a shared state from multiple threads is a central problem, where hard-to-catch errors may easily appear. Protected access to identified shared variables is easy to realize. Mechanisms to avoid …
-
How to Document Your Software Architecture
2024-05-01 in 2024
You are creating the next digital software masterpiece. How can you document your software architecture in a way that is useful for your team and stakeholders? A software architecture document SAD is a document that describes the structure of a …
-
Modern Java Rant
2024-04-20 in 2024
The Java community releases a new version every six months. This is a good thing. It means that the language is evolving at a steady pace. New language features are added in each release. Much effort is put into improving the performance of the JVM …
-
Structure Your Concurrency
2024-04-01 in 2024
Writing concurrent software is one of the greatest challenges for software developers [1, 2]. A professional software developer must understand the principles of concurrent programming and the tools available to write concurrent software. Only …
-
Asciidoc and Hugo Website Improvements
2024-03-15 in 2024
The static website build tool Hugo is awesome. The extensive built-in feature set of Hugo and the feature-rich typesetting that Asciidoc offers provide a blogging experience composed of easy content management and fun writing experience. Source code …
-
Nice Statechart Diagrams
2024-03-10 in 2024
What are statecharts, also called hierarchical state machines? Put simply, a statechart is a beefed-up state machine [1] [2]. The syntax is formally defined in the UML standard. The beefing up solves a lot of the problems that state machines have, …
-
Java Modules
2024-03-01 in 2024
Java 9 introduces a new level of abstraction above packages, known as the Java Platform Module System JPMS, or Modules for short [1]. Modules emphasize at compilation time modern software engineering principles such as encapsulation, and modularity …
-
How To Improve
2024-02-20 in 2024
You attended a famous or a local technical school. You are the proud owner of a bachelor or a master degree in science. You are a certified engineer. You are now a full-time software developer. You write daily productive code with your colleagues in …
-
The Quest for an Agile Company: Eight Years tangly llc
2024-02-15 in 2024
We are an agile and software technology boutique. We often work as Scrum masters, product owners, and technical agile coaches. Regularly we are involved in the architecture and development of software products. Our collaborators love to coaching, …
-
Advanced Streams
2024-02-10 in 2024
The Java Stream API is a powerful and simple to understand set of tools for processing sequences of elements. The standard collections were retrofitted with the stream() method, which allows us to convert any collection to a stream. Modern Java code …