Blog & Articles

Article

Den Äther programmieren

Bei Ethereum denken viele an eine Kryptowährung, dabei ­handelt es sich eigentlich um ein weltweit verteiltes Rechen­zentrum, das Programme – ­sogenannte Smart Contracts – auf einer Blockchain ausführt. Wir zeigen Ihnen, wie Sie einen solchen Smart Contract programmieren, um „Schere, Stein, Papier“ auf der Ethereum-­Blockchain zu spielen.

Article

Geld im Äther

Tesla akzeptiert Bitcoin-Zahlungen, auf Ethereum werden Tweets verkauft – von Kryptowährungen hört man ständig. Aber wie benutzt man so ein System, wie kommt man an das virtuelle Geld und wie überweist man es? Zum entspannten Lernen eignet sich Ethereum: ­Dessen Blockchain ist einfach zu benutzen und erlaubt freies Experimentieren in Testnetzen.

Article

Using feature flags with FF4j, Togglz, and Unleash in Java

Fun with flags

Article

Machine Learning Security – Teil 1

Machine Learning kommt immer mehr in sensiblen Entscheidungssystemen zum Einsatz. Dies bringt nicht nur neue Möglichkeiten, sondern auch neue Schwachstellen mit sich, die gezielt von Angriffen ausgenutzt werden können. In Teil 1 dieses Artikels navigieren wir uns Stück für Stück durch die ML Security Taxonomie und nehmen die Perspektive des Angriffs ein.

Article

Quality Driven Software Architecture - Revised

Quality is the raison d’être for software architects: Our systems should be reliable, performant, scalable and user-friendly. Systems should be build and maintained cost-effective and future-proof. Every IT professional knows that this combination of characteristics means hard work. The article shows how you can methodically construct quality.

Article

Docker Server

Schnellere Tests durch einen dedizierten Docker-Server

Blog Post

Test organization and naming

As our system grows, so will our test suites. For our production code, we have learned techniques to keep it maintainable. For example, we try to structure our logic into sub-aspects, put them in specific locations and give the units meaningful names. We want to achieve the same for our tests. One of the main goals is that a developer - or generally speaking, the person who has to maintain the test - knows where to find which test. We also want to understand as quickly as possible what the test is for and what might be the reason for a failing test.

Article

Accessibility-Mythen aufgeklärt

Wer sich mit der Barrierefreiheit bzw. Accessibility von Websites und mobilen Anwendungen beschäftigt, stößt früher oder später auf Mythen, die sich in diesem Bereich hartnäckig halten und eine weitere Verbreitung barrierefreier Designs erschweren. Wir greifen fünf dieser häufig verbreiteten Mythen auf und klären auf, warum sie nicht zutreffen.

Blog Post

What’s in a name: Legacy

Article

IT-Projekte: Kostenfaktor statt Wettbewerbsvorteil

Lange genug hat es geheißen, dass IT-Projekte einen Wettbewerbsvorteil versprechen. Schaut man der Realität ins Auge, wird ein IT-Projekt jedoch wie ein Kostenfaktor behandelt – nicht anders als Strom oder Miete. Dabei könnte es anders sein.

Blog Post

Test Strategy

In our previous posts, we focused on why and how we write tests. In most of our projects, there will be many of those tests. In the last post about tests granularity, we additionally stated that there usually will be different kinds of tests, on different levels of granularity. That leads to our next topic: which kinds of tests do we need and what is the ideal mix of them?

Article

Innovation on steroids - Teil 2

Mit DDD und ML Design Canvas Use Cases für Machine Learning identifizieren

Article

Stufe 3

14 Jahre nach Erscheinen von Scala 2.0 wagt die Sprache den nächsten großen Schritt. Wird Scala mit Version 3 so, wie es immer sein sollte? Ein Release Candidate steht schon in den Startlöchern und zeigt, wie sich die Scalable Language weiterentwickelt.

Blog Post

Decentralized Architecture: What’s Behind Blockchains?

Fueled by ever new highs in cryptocurrency prices, there is currently a lively debate about blockchains. Some praise the “self-sustaining” currencies as saviors in times of crisis, while others see their excessive power consumption as a climate killer.

Article

Smart Contracts programmieren in Ethereum

Gegenwart & Zukunft

Blog Post

What’s in a Name: Quality

We use the word quality colloquially for something “good” – but we usually leave open what exactly we mean by it. This article illustrates that we should be a little more precise in this regard.

Blog Post

Migrating the iSAQB® Mock Examination to AsciiDoc

The iSAQB(R) provides a mock-examination for the Foundation-Level certification. This post shows how we moved this exam from docx format to AsciiDoc, facilitating collaboration and enabling automated generation of the required multilingual document variants.

Article

Innovation on steroids - Teil 1

Mit Domain-driven Design, Event Storming und ML Design Canvas zu mehr Produktverständnis

Blog Post

Collaborative Learning with Mobshops

After a year with COVID-19 and plenty of online activities, I think we are tired with workshops that copy the offline world into an online setting. More interactive formats are needed. In this blog post, I briefly describe my learnings with a new format I’ve developed and piloted in practice: Mobshops.

Blog Post

The (new) Software Architecture Foundation curriculum

Want to learn Software Architecture? Look no further – the recently released iSAQB Foundation Curriculum covers all your needs!

Blog Post

Persistente fachliche Validierungen mit Rails

Teil 1 von 2: MVP

Blog Post

iSAQB Advanced Level examination anti-patterns

As the “crowning glory” of the iSAQB(R) Advanced Certification, you have to write an approximately 40-page-long paper (AKA architectural solution) to a given problem. During our 5+ years of experience in reviewing such papers, we found several anti-patterns. This blog post aims to help future CPSA-A aspirants to avoid these nasty glitches.

Blog Post

Evidenz aus Hirnstürmen

Evidenz aus Hirnstürmen? Und was haben Fische und Kartoffelknödel damit zu tun?

Blog Post

Just Add Code
(Part 2)

Using GitHub Catalyst for Progressive Enhancement with Web Components

Blog Post

Is Domain-driven Design overrated?

Domain-driven design (DDD) is a useful approach that provides excellent guidelines for modeling and building systems, but it is a means to an end, not an end in itself. While the concepts are valid, you lose a lot if you limit yourself to using them only: There actually is a life beyond DDD.