Open Source Projects

You find my GitHub account here: adlemich – GitHub.

There are many experiments, also for me to learn languages and frameworks. The most complete projects, are the following:

  • Archery Cinema. This is a Python program that is meant to work as a video playing and gamification tool for indoor-archery. It features multiple players, running videos with moving target, shot detection via audio analysis and camera based result collection.
  • Game Cube. This is a self-made gaming device with 4 buttons and a 64 pixel LCD matrix. It is based on an Arduino device and provides a full building documentation from a wooden box, over cables and wires to the C software for the Arduino. It comes with two ready to use games, but is made to be extended with custom games. This is a project that I used to educate kids to build something like a basic GameBoy as a multi-week workshop.

Open Source Projekte

Ihr findet meine GitHub Projekte hier: adlemich – GitHub

Es gibt viele Experimente, auch für mich, um Sprachen und Frameworks zu lernen. Die vollständigsten Projekte sind die folgenden:

  • Bogenkino. Dies ist ein Python-Programm, das als Video-Abspiel- und Gamification-Tool für Hallen-Bogenschießen konzipiert ist. Es bietet mehrere Spieler, laufende Videos mit beweglichen Zielen, Schusserkennung durch Audioanalyse und kamerabasierte Ergebniserfassung.
  • Game Cube. Dies ist ein selbstgebautes Spielgerät mit 4 Tasten und einer 64-Pixel-LCD-Matrix. Es basiert auf einem Arduino-Gerät und bietet eine vollständige Baudokumentation von einer Holzbox über Kabel und Leitungen bis zur C-Software für den Arduino. Es wird mit zwei gebrauchsfertigen Spielen geliefert, ist aber so konzipiert, dass es mit benutzerdefinierten Spielen erweitert werden kann. Dies ist ein Projekt, das ich verwendet habe, um Kindern in einem mehrwöchigen Workshop beizubringen, wie man selbst einen einfachen GameBoy baut.

There is no compression algorithm for experience…

During my journey across many different software projects and product organizations, I think I learned a few things. Sometimes thoughts and insights become only real, when you write them down. Feedback? Let me know!

Erfahrung wird immer mehr wert sein als Wissen…

In verschiedensten SW-Engineering Projekten und Organisationen in über 20 Jahren habe ich so einiges gesehen, erlebt und gelernt. Manche Dinge versteht man erst wirklich, wenn man sie aufschreibt. Feedback? Immer gerne!

  • Sometimes „automate it all“ does not help
    Sometimes „automate it all“ does not help

    Just recently I was looking into the next best tool to use for capturing customer demand. It needed to be a tool that allows our customer facing people from a lot of different departments, to provide new customer demand or plus-one existing ones. It needs to work at scale with many people as input providers and it must allow to provide feedback to these people from the product team, so that they are able to provide feedback to customers and manage expectations. I identified a tool that already exists in the company. It may not be perfect and the processes…

  • Warum die Deutschen ein Technologie-Volk werden sollten
    Warum die Deutschen ein Technologie-Volk werden sollten

    Gestern war ich auf einer Bürgerversammlung hier in meinem schönen Stadtteil. Da wurde über vieles gesprochen, auch darüber wie teuer alles geworden ist und dass die Stadt sparen muss. Nürnberg, meine Heimatstadt, verzeichnet die höchsten Einnahmen jemals. Aber auch die höchsten Ausagaben, jemals. Das kann man hier schön nachlesen: Der Haushalt der Stadt Nürnberg als interaktive Onlineversion. Auffällig der Tenor, es fällt schwer den stetig wachsenden Aufgaben und Wünschen nachzukommen weil das Geld feht, oder sich für entsprechende Tätigkeiten keine Bewerber melden (z.B. Stadtreinigung, Erhaltung von Denkmälern, Verwaltung, Bau, Instandhaltung, Bewässerung von Bäumen…). Weiterhin diese Woche ein schönes Interview im…

  • The Power of „Disagree and Commit“
    The Power of „Disagree and Commit“

    During my time as an employee with Amazon Web Services, I learned about one of Amazon’s leadership principles): „Disagree and Commit“. Amazon describes this principle as follows: „Leaders are obligated to respectfully challenge decisions when they disagree, even when doing so is uncomfortable or exhausting. Leaders have conviction and are tenacious. They do not compromise for the sake of social cohesion. Once a decision is determined, they commit wholly.“ This idea became a crucial element for me also when it is about software architecture and design, specifically when you build a system with distributed teams and with many highly skilled…

  • Platform Engineering – Part 5 – Data Platforms
    Platform Engineering – Part 5 – Data Platforms

    Data Platforms – more than just large data pools Data platforms are not a new phenomenon, but it seems that the need to build re-usable assets around collected data is growing in a rate we have not seen before. Specifically, IOT (internet of things) use cases – based on the data collection from field devices, is a driving factor. Once data is collected from devices and numerous other systems, the data should be used in the most effective way so that new business features and even completely new business models may prosper. The data collections quickly grow into hundreds of…

  • Platform Engineering – Part 4 – Cost Drivers
    Platform Engineering – Part 4 – Cost Drivers

    Managing platform scope – Start small with a bold vision It is essential to be clear about the scope of the target platform, or better: what the start scope is (we call this the initial scope). If used within one organization only, the larger the platform becomes and the more organizations and people are impacted, the more it becomes a product line approach. Beside the pure technical challenges, also the organizational and human-centric challenges become more and more substantial to the success of such a platform development project. The answer to this question can be derived from a sound business…

  • Platform Engineering – Part 3 – Platform Business
    Platform Engineering – Part 3 – Platform Business

    Platform Business Models Software Platforms, like all software, can be delivered in several ways to serve their users and so, they may be used in different ways to generate revenue. We can basically differentiate the following fundamental business models for platforms: Please note that the business model differs from the deployment model. You can host internal platforms as well as external, commercialized services. What all business models share in common is that it shall be used by 2 or more solutions or products, that the platform cost is somehow distributed over all users and so price typically lowers with more…

  • Platform Engineering – Part 2 – The Basics
    Platform Engineering – Part 2 – The Basics

    What is a Software Platform? There are many definitions for this term in computer sciences. In this paper, the term is about software platforms and is used according to a definition that can be found in several papers and books: “A software platform is defined by a well specified interface that allows other software to be built on top of it.” So, it is about functionality (and system qualities) that is provided by a set of software which can be used by other software or better, by developers who write the „other software“. When building a platform that is designed…

  • Platform Engineering – Part 1 – Introduction
    Platform Engineering – Part 1 – Introduction

    In most software-based businesses it is quite common to think about platforms. Building an own internal platform that implements the common assets of the business so that new products and solutions can be built faster and cheaper, by reusing features or system qualities, or leverage the data that was collected from previous projects – for internal use or externalized as a platform-as-a-service or software component business. While now many of the classic software platform functions like authorization, authentication, logging, metering, configuration… are mostly available as ready-to-use software and solved, there is an unbroken need for platforms that implement higher level…

  • Re-programming your own brain’s algorithms
    Re-programming your own brain’s algorithms

    Computers are ignorant, dumb machines. We write new operating systems and routines, compile and deploy them and these machines behave differently. Just as you programmed them. At times I wish that my own head would work like this, because this machine, called brain, does not simply accept new routines. Did you ever had to admit that the routines and skills that made you successful at work, or even in life, simply do not work anymore? How easy was it to realize this and then figure out how to change your own brains programming to adapt to whatever is needed now?…

  • How human is automation after all?
    How human is automation after all?

    It is almost 15 years ago, when I first had a touchpoint with the ethic and morale question: “How human is automation after all?” At the time, I was writing software and automated the process of mail and parcel sorting for the major postal service in Brazil. So, I was at the construction site in Rio de Janeiro, commissioning our software that was a central part to a new parcel sorting system. This system could sort parcels with superior efficiency and speed, replacing the workforce of about 30 human workers. In the manual process, people picked a parcel from a…

  • Why you should (NOT) listen to your Experts
    Why you should (NOT) listen to your Experts

    There once lived a man next to a mighty and beautiful mountain. When the man was a kid, he was told by his father that he needed to grow older before taking a journey to the peak of the mountain. He needed to get stronger first. From many travelers he heard stories of the breathtaking beauty of the outlook from that peak. He was dreaming of the day where he could see it with his own eyes. So he started asking people: How did make that climb and what did you see? Over the years he asked one hundred people…

  • Attributes for highly valuable Proof of Concepts (PoC)
    Attributes for highly valuable Proof of Concepts (PoC)

    After supporting and observing several Proof of Concept activities in various departments, I realized that I could do more to guide a team in how PoCs are planned and executed. Increasing the chances that the activity results into an actually working and productive system. This document shall collect the lessons learned and it distills a set of quality attributes that we should pay attention to, so that we can guide teams better towards the desired outcome: A productive solution or product. What are the goals of a PoC and why it should be called differently The term “Proof of Concept”…

  • Public Talk: Building End-to-End IOT Solutions with AWS
    Public Talk: Building End-to-End IOT Solutions with AWS

    I had the please to talk at AWS re:invent 2019 about end to end IOT solutions. The session was recorded, you find it here:

  • Multi-Cloud as a Strategy
    Multi-Cloud as a Strategy

    When discussing the vendor strategy for the technical systems, traditionally in software engineering you find conflicting requirements. This is not different in today’s business where cloud based technology is an innovation accelerator. One example: You want to be fast, e.g. do not develop again what others already provide; and you do not want to be dependent on your vendors too much to reduce strategic risks. Elaborating on the different reasons, there is a number of drivers that may force businesses towards basing their products on more than one cloud provider’s services. These drivers include reducing perceived risk from a single…

  • The Power of “as a Service”
    The Power of “as a Service”

    The XaaS – everything as a service movement is quite considerable. When looking at successful internet companies today, you can notice that a substancial portion of them offer “something” as a service. In this small article I want to explore what that means and I will explain why I think that every piece of SW should be managed and brought to their users “as a service”. The power of taking away the operations burden from your customers As a software developer in my former roles I loved to use 3rd party libraries which make my life easier and encapsulate some…

  • The key values behind DevOps
    The key values behind DevOps

    Since may years during my career I came across all these tools and frameworks: Waterfall, V-Modell, SCRUM, Kanban, LESS, SAFe, Lean and then this mystical DevOps thing (not to forget DevSecOps). I have seen managers pushing in SCRUM trainings on top of people, I’ve seen teams building large walls of Kanban boards with hundreds of sticky notes… and some weeks later the shiny yellow was grayed out and the board was abandoned. In addition, you see consultants rushing in, telling everyone that the way of work is oldish and things must dramatically change, combined with a stack of best practices that…

Nach oben scrollen