Stephan Augsten ♥ Embedded Software Engineering

Stephan Augsten

Chefredakteur Dev-Insider
Vogel IT-Medien

Ursprünglich zum Fachinformatiker ausgebildet, wagte ich 2003 den Quereinstieg in den Journalismus und arbeitete zunächst als freier Mitarbeiter bei Heimatzeitungen und Spielmagazinen. Im Jahr 2006 verschlug es mich dann nach Augsburg zu den Vogel IT-Medien. Nach meinem Volontariat war ich als Redakteur für Security-Insider tätig.

Im Jahr 2017 schloss sich dann der Kreis, der mit meiner Ausbildung begann, denn seitdem verantworte ich als Chefredakteur das Online-Portal Dev-Insider. Meine Themenschwerpunkte liegen auf allen organisatorischen und technischen Aspekten der Softwareentwicklung. Auch im Privaten hantiere ich gerne an und mit GNU/Linux-basierten Betriebssystemen.

Artikel des Autors

Mit dem Open-Source-Projekt Quantum Katas liefert Microsoft spezielle Übungen für die Programmiersprache Q#. (Microsoft)

Quantum Katas für Programmiersprache Q#

Das „Microsoft Quantum Team“ hat Coding Katas für Quantencomputer-Interessierte veröffentlicht. Diese sollen beim Erlernen der Programmiersprache Q# helfen und stehen als Open-Source-Projekt bei GitHub zur Verfügung.

Weiterlesen
Agilität ist nichts, was ein Unternehmen „so nebenbei“ umsetzen kann und sollte. (holdosi - Pixabay.com)

6 Tipps für agile Prozesse und Strukturen

Viele IT-Unternehmen sind auf die schnelle Implementierung neuer Systeme und Anwendungen sowie kurze Reaktionszeiten bedacht. Agile Prozesse helfen dabei, doch es gibt einiges bei der Umsetzung zu beachten, wie die ITSM Group unterstreicht.

Weiterlesen
Die verteilte Versionsverwaltung von Git vereinfacht die Teamarbeit ungemein. (bakhtiarzein - stock.adobe.com)

Git-Tutorial: Ein typischer Git-Arbeitstag

In diesem Git-Tutorial gehen wir einen vereinfachten, aber praktischen Arbeitstag mit entferntem Git-Repository, Teamarbeit und Dateikonflikten durch. Denn der Reiz der verteilten Versionsverwaltung liegt nun einmal in den Collaboration-Funktionen.

Weiterlesen
Erweiterungen für MATLAB installieren. (Joos / Mathworks)

Einstieg in MATLAB

Die kommerzielle Software MATLAB von MathWorks ist eine Umgebung, mit der mathematische Formeln erstellt und gelöst werden können. Genutzt wird MATLAB für die Analyse von Daten und zum Entwickeln von Modellen und Algorithmen.

Weiterlesen
Die Arduino IDE ist recht einsteigerfreundlich, es gibt allerdings auch gute Alternativen. (nicklbaert)

Alternativen zur Arduino IDE

Für kleinere Arduino-Projekte genügt die hauseigene IDE. Allerdings verlangt es vermutlich vor allem Software-Entwickler nach der Hardware-Schlacht nach etwas Komfort – und vielleicht einer anderen Programmiersprache.

Weiterlesen
Welche Trends und Tools hält das Jahr 2021 für Entwickler bereit? (iXimus)

Tools und Trends für Software-Entwickler

Der Trend hin zu Container-Umgebungen und Microservices ist ungebrochen. Gleichzeitig spielen „as-a-Service“-Lösungen, Blockchain sowie Künstliche Intelligenz eine immer wichtigere Rolle. Daher benötigen die Entwickler auch die dazu passenden Tools.

Weiterlesen
Argo beim Synchronisieren. (Argo CD)

GitOps-Tools in der Übersicht

GitOps beschäftigt Entwickler, Medien und IT-Manager – aber was bedeutet das überhaupt in der Kategorie der Tools und Lösungen? Ein Überblick über die wichtigsten Werkzeuge rund um den Pull-Request-Ansatz.

Weiterlesen
Dank der Arduino-Plattform erhalten Entwickler einen schönen Einblick in die Welt der Hardware-nahen Programmierung. (Daniel Andrade)

Einstieg in Arduino-Boards

Das Arduino-Universum mag für Software-Entwickler auf den ersten Blick nur nach schmutzigen Händen und dem Gestank von Lötzinn aussehen. Aber ein Blick lohnt sich, der Einstieg ist simpel und es gibt auch beliebtere Buzzwords wie C++ oder Python.

Weiterlesen
In Softwareprojekten entsteht zwangsläufig Architektur, auch in agil aufgestellten Projekten. (caropat)

Brauchen wir noch Software-Architekten?

Jeden Tag und jede Stunde, in der Software entwickelt wird, entsteht Architektur – ob es so vorgesehen war oder auch nicht. Wenn Architektur aber einfach so entsteht, dann braucht man keine Software-Architekten – oder vielleicht doch?

Weiterlesen
Ubuntu Core soll die Entwicklung für Embedded Systems deutlich vereinfachen. (Canonical)

Cross-Development mit Ubuntu Core

Die Softwareentwicklung für eingebettete Systeme hat ihre ureigenen Besonderheiten. Unter Ubuntu Linux ergänzt Snapcraft die Toolchain um Continuous-Techniken und automatisierte Builds.

Weiterlesen
Zen-Coding soll dabei helfen, sich beim Programmieren auf das Wesentliche zu konzentrieren. (simonmigaj)

Mit Zen-Coding zu besserer Software

Programm- und Website-Code sollte möglichst einfach und aufgeräumt sein. Bei der Erstellung hilft die Idee des Zen-Codings: Es geht darum, möglichst simplen und effizienten Code zu schreiben, um sich voll und ganz auf die Aufgabe zu konzentrieren – und damit für Ruhe und Ordnung bei der Arbeit zu sorgen.

Weiterlesen
Definition eines einfachen ML-Modells. (Drilling / Juypter)

Machine Learning mit Python: Grundbegriffe und einfache Beispiele

Machine Learning und KI helfen in fast allen Branchen, die Effizienz zu steigern. Sukzessive zeigen wir, wie man diesem faszinierenden Thema in Python begegnet. Ob Transport und Logistik, Industrie- und Automobilbranche, Tourismus oder Verlagsgeschäft: Beide Technologien lassen sich in völlig unterschiedlichen Anwendungsfeldern nutzen.

Weiterlesen
Wer macht im Cloud-nativen Umfeld das Rennen: Go oder Kotlin? (dimitrisvetsikas1969)

Golang und Kotlin im Vergleich

Die beiden Cloud-nativen Sprachen Go und Kotlin bringen ein ganzes Spektrum innovativer Features speziell für Microservices mit. Sie locken gegenüber althergebrachten Alternativen mit dem Versprechen, verteilte Anwendungsausführung auf ein neues Niveau leichtgewichtiger Elastizität zu heben. Entwickler von Cloud-Anwendungen haben jetzt wieder die Qual der Wahl.

Weiterlesen
Graph-Algorithmen dienen dazu, einen umfassenden Einblick in die Beziehungen zwischen bestimmten Datenpunkten zu erhalten sowie Muster zu erkennen. (Anastasia Dulgier)

5 wichtige Graph-Algorithmen im Überblick

Graph-Algorithmen bilden in Graphdatenbanken die Grundlage für die Analyse realer Netzwerke. Ihre Anwendungsgebiete reichen von der Betrugsaufdeckung bis hin zur Planung städtischer Infrastrukturen. Hier ist eine Übersicht der technischen Voraussetzungen sowie der fünf bekannten Basis-Algorithmen.

Weiterlesen
Vordergründig ein normaler Online-Shop: der OWASP Juice Shop. (Lang / OWASP)

OWASP Juice Shop lädt zum Hacken ein

„Was für ein Saftladen“, möchte man sich denken: Der OWASP Juice Shop ist eine Plattform mit Sicherheitslücken – jeder Menge davon. Als Entwickler oder IT-Security-Experte sollte man ihn definitiv installieren.

Weiterlesen
Die Anwendungsbereiche für Arduino-Plattformen sind ebenso vielfältig wie die Zahl der verschiedenen Boards. (felishks)

Arduino Boards in der Übersicht

Arduino ist mehr als nur Hardware – und es gibt auch nicht „den einen“ Arduino. Vom Standard-Board über Musik-Spezialisten bis hin zu IoT-Hardware dienen die Arduino-Plattformen unterschiedlichsten Zwecken.

Weiterlesen
Wichtig ist bei DevOps-Projekten neben der Automatisierung das Zusammengehörigkeitsgefühl in den Teams. (Asha Sreenivas - stock.adobe.com)

DevOps – kein neues Web 2.0

Das Internet ist voll nutzloser Diskussionen, die DevOps und seine Schlüsselkonzepte verkomplizieren. Ist DevOps jedoch zu kompliziert, schwächt dies das Vertrauen des Teams und verhindert somit den Fortschritt.

Weiterlesen
Entwickler sollten neben fachlichen Qualifikationen auch Soft Skills mitbringen, insbesondere hinsichtlich der Kommunikation. (geralt)

5 Soft Skills eines Top-Developers

Die Programmierarbeit stellt Entwickler selten vor Probleme, anders sieht es da mitunter bei Produktpräsentation, Kompromissbereitschaft und Teamwork aus. Der IT-Dienstleister Avision hat sich Gedanken über die wichtigsten weichen Faktoren gemacht.

Weiterlesen
Mit RStudio gelingt der Einstieg in R einfacher als ohne passende IDE. Eine Desktop-Version steht kostenlos zur Verfügung.  (Joos / RStudio)

Überblick zu „R“ und RStudio

Als Programmiersprache und Statistikumgebung richtet sich „R“ vornehmlich an Datenwissenschaftler. Gleichsam profitieren Entwickler, die Daten analysieren und statistische Programme entwickeln oder Lösungen in diesem Bereich anbieten. Wir geben einen ersten Überblick.

Weiterlesen
Verwalten der Dateien eines Projektes in Azure DevOps. (Joos / Microsoft)

Erste Schritte mit Azure DevOps

Mit Azure DevOps können Entwickler DevOps-Ansätze direkt in der Cloud bei Microsoft Azure abbilden. Der Dienst integriert dabei vollständig mit anderen Ressourcen und Services in der Microsoft-Cloud.

Weiterlesen
Im Agile- und DevOps-Kontext gilt es, Security-Methoden bereits möglichst früh im Software-Lebenszyklus zu verankern. (Asha Sreenivas - stock.adobe.com)

So verändert DevOps die Unternehmen

DevOps wird zunehmend zum neuen Standard in Unternehmen. Doch mit den integrierten Prozessen für IT-Betrieb und Entwicklung verändern sich auch Strukturen und Abläufe sowie der Umgang mit Anwendungen.

Weiterlesen
Piece of cake: Die Migration vom Oracle JDK auf das quelloffene OpenJDK ist meist einfacher als vermutet. (leunesmedia)

OpenJDK – Java jenseits von Oracle

Für die Nutzung des Java Development Kit, kurz JDK, verlangt Oracle seit 2019 Lizenzgebühren. Dadurch steigen in vielen Unternehmen die IT-Kosten. Anders OpenJDK: Die Open-Source-Alternative macht unabhängig und ist gratis.

Weiterlesen
SSH ermöglicht die schnelle Ferneinrichtung des Raspberry Pi. (Rentrop)

Der Raspberry Pi 4 als Entwickler-Client

Mit dem Raspberry Pi 4 ist der Raspberry Pi Foundation der große Wurf gelungen. Der Bastel-Rechner bietet sich dank verbesserter Hardware-Ausstattung nämlich förmlich als preisgünstiger Entwickler-Client und Desktop-Ersatz an.

Weiterlesen
Entwickler mit Erfahrung in Sachen Künstlicher Intelligenz (KI) und Machine Learning (ML) sind gesucht, die Einsatzszenarien breit gefächert. (monsitj - stock.adobe.com)

Die passende Machine Learning IDE finden

Integrierte Entwicklungsumgebungen, kurz IDEs, bieten Funktionen wie Syntax Highlighting, Code Completion, Debugging-Möglichkeiten, Variableneditoren oder Paketmanagement. Damit Entwickler davon auch im Machine-Learning-Umfeld profitieren, müssen sie aber zunächst die passende IDE finden.

Weiterlesen
Quelloffenheit entbindet nicht von der Erfüllung bestimmter Lizenzvorgaben, wie die GNU GPL sie vorsieht. (ar130405 - stock.adobe.com)

7 Fragen und Antworten zur GNU GPL

Embedded Linux und ähnliche Open-Source-Projekte unterliegen häufig den Bestimmungen der GNU General Public License, kurz GNU GPL. Dies wirft immer wieder Compliance-Fragen auf. Sieben besonders wichtige Punkte wollen wir im Folgenden klären.

Weiterlesen
Nicht für alle Geschäftsprozesse ist es sinnvoll oder erforderlich, dass wichtige Entscheidungen mittels Hyperautomation gefällt werden. (TheDigitalArtist)

Wo Hyper-Automatisierung wirklich sinnvoll ist

Ob man Hyperautomation etabliert, sprich Geschäftsprozesse mithilfe von RPA, KI und anderen Werkzeugen automatisiert, will wohlüberlegt sein. Denn menschliche Aktivitäten und Entscheidungsketten nachzubilden ist kein Allheilmittel, sondern birgt auch Risiken.

Weiterlesen
Wenn Text-Schreiber auf Software-Entwickler und deren gewohnte Tools und Entwicklungsumgebungen treffen, prallen oft zwei grundsätzlich unterschiedliche Welten aufeinander. Wie lässt sich so eine praxistaugliche Methode für anständige Software-Dokumentation finden? (gemeinfrei)

Software-Dokumentation in der Praxis

Für den Job eines Autors genügen meist ein Texteditor, ein Browser und ein Screenshot-Tool. Der Workflow beschränkt sich auf E-Mails und ein paar Ideen zum Inhalt wären auch nicht schlecht. Aber Dokumentation? Das Schreiben eines Handbuchs für eine komplexe Software? Da kann ich Ihnen ganz andere Geschichten erzählen.

Weiterlesen
Das Entwickeln und Implementieren einer eigenen Lösung zur Software-Nutzungsanalyse birgt mehrere Herausforderungen. (janjf93)

6 zentrale Kriterien für Software Usage Analytics

Wer die Nutzung seiner Softwareprodukte analysiert, kann datengestützte Entscheidungen treffen und seine Produkt-Roadmap strategisch ausbauen. Wer selbst Entwickler beschäftigt, kann ein solches Analysetool selbst implementieren lassen. Doch dabei gilt es, einige Aspekte zu beachten.

Weiterlesen