<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Artikel on iQiliO GmbH | Software Architecture für Embedded Linux &amp; CRA</title>
    <link>https://iqilio.ch/blog/</link>
    <description>Recent content in Artikel on iQiliO GmbH | Software Architecture für Embedded Linux &amp; CRA</description>
    <generator>Hugo</generator>
    <language>de-ch</language>
    <lastBuildDate>Mon, 02 Feb 2026 09:00:00 +0100</lastBuildDate>
    <atom:link href="https://iqilio.ch/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CRA reporting by September 2026 - Are you ready?</title>
      <link>https://iqilio.ch/blog/2026/cra-reporting-2026/</link>
      <pubDate>Mon, 02 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://iqilio.ch/blog/2026/cra-reporting-2026/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The Cyber Resilience Act (CRA) is a major milestone in securing embedded systems against cyber threats.&#xA;While most provisions must be implemented by 2027, reporting obligations take effect from 11 September 2026.&#xA;As a manufacturer, what are your responsibilities, and which devices are affected?&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Clean Code for Embedded Systems and C</title>
      <link>https://iqilio.ch/blog/2025/clean-code-embedded/</link>
      <pubDate>Tue, 25 Feb 2025 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2025/clean-code-embedded/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In embedded systems, the quality of code is crucial for long term reliability and efficiency.&#xA;The Clean Code principles, as outlined in Robert C. Martin’s influential book &lt;a href=&#34;https://www.goodreads.com/book/show/3735293-clean-code&#34;&gt;Clean Code&lt;/a&gt;, are widely used in general software development and can significantly enhance embedded C development.&#xA;This article explores how these principles can be applied to embedded C, drawing on extensive experience to improve code readability, reduce technical debt, and lower costs over the system’s lifetime.&#xA;Whether you’re a developer or a manager, this guide offers practical insights into integrating Clean Code into your embedded systems projects.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Neue Perspektiven durch ein Architekturreview</title>
      <link>https://iqilio.ch/blog/2024/arc-review/</link>
      <pubDate>Thu, 28 Nov 2024 10:00:00 +0100</pubDate>
      <guid>https://iqilio.ch/blog/2024/arc-review/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Manchmal erreicht ein Software-Projekt einen Punkt, an dem die Weiterentwicklung fast zum Stillstand kommt.&#xA;Features werden nur noch mühsam implementiert, und die Kosten für Änderungen explodieren.&#xA;Genau an diesem Punkt stand unser Kunde, als er uns, &lt;a href=&#34;https://iqilio.ch/team/urs-fassler/&#34;&gt;Urs Fässler&lt;/a&gt; von &lt;a href=&#34;https://iqilio.ch/&#34;&gt;iQiliO&lt;/a&gt; und &lt;a href=&#34;https://beyond-agility.com/about-peter/&#34;&gt;Peter Gfader&lt;/a&gt; von &lt;a href=&#34;https://beyond-agility.com&#34;&gt;Beyond Agility&lt;/a&gt;, mit einem Architektur-Review beauftragte.&#xA;Ziel war es, den Zustand der Software objektiv zu bewerten und eine Empfehlung abzugeben: Soll die bestehende Software weiterentwickelt oder komplett neu geschrieben werden?&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Embracing Obligations: Regulation as a Driver for Quality</title>
      <link>https://iqilio.ch/blog/2024/embracing-obligations/</link>
      <pubDate>Fri, 15 Nov 2024 09:00:00 +0100</pubDate>
      <guid>https://iqilio.ch/blog/2024/embracing-obligations/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;As software touches every part of life, people expect higher standards for quality, security, and reliability.&#xA;The Cyber Resilience Act (CRA) reflects this shift - a necessary response to past industry mistakes.&#xA;Rather than resisting, we can use this regulation to improve our practices.&#xA;Here’s why regulation is necessary, how we reached this point, and how we can use it to create better software.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Navigating the Cyber Resilience Act with Agility</title>
      <link>https://iqilio.ch/blog/2024/navigating-cra-with-agility/</link>
      <pubDate>Mon, 14 Oct 2024 08:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/navigating-cra-with-agility/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The CRA mandates stringent cybersecurity requirements for digital products, ranging from vulnerability management and regular updates to security-by-design principles.&#xA;Manufacturers are tasked with ensuring that their products remain secure throughout their lifecycle, providing ongoing updates, and managing vulnerabilities proactively.&#xA;The agile development approach, characterized by iterative cycles, cross-functional collaboration, and continuous integration, is ideally suited to meet these requirements.&#xA;Agile practices enable teams to quickly adapt to new regulatory demands, implement security measures efficiently, and deliver high-quality, secure software.&#xA;This article outlines the key aspects of agile development that align with CRA compliance and demonstrates how organizations can leverage agility to meet their obligations under the CRA.&#xA;For more information on how to transition your team to agile practices and ensure compliance with the CRA, feel free to reach out to me at &lt;a href=&#34;mailto:urs.fassler@iqilio.ch&#34;&gt;urs.fassler@iqilio.ch&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Success Story: CI optimiert Embedded-Projekte</title>
      <link>https://iqilio.ch/blog/2024/success-ci-optimized-embedded/</link>
      <pubDate>Wed, 02 Oct 2024 11:33:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/success-ci-optimized-embedded/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In diesem Artikel teile ich die Erfahrungen bei der Implementierung einer CI/Build-Pipeline für mehrere C++-Applikationen und Yocto Linux Projekte.&#xA;Die Firma stand vor Herausforderungen wie manuelle, nicht reproduzierbare Prozesse und ungleich verteiltes Wissen, was zu verspäteten oder fehlerhaften Auslieferungen führte.&#xA;Durch einen iterativen und inkrementellen Ansatz und gezielte Unterstützung der Entwickler konnten die Prozesse nachhaltig verbessert und der Stress reduziert werden.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Effective Quality in C&#43;&#43;</title>
      <link>https://iqilio.ch/blog/2024/effective-cpp-quality/</link>
      <pubDate>Mon, 22 Jul 2024 09:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/effective-cpp-quality/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In the ever-evolving landscape of software development, maintaining high-quality and reliable software is paramount.&#xA;To achieve this, rigorous testing practices and robust development methodologies are essential.&#xA;This article delves into various testing strategies and tools specific to C++, emphasizing the importance of automated regression tests, test coverage, compiler warnings, code formatting, static code analysis, sanitizers, and continuous integration (CI).&#xA;By adopting these practices, teams can ensure their software remains reliable, maintainable, and bug-free.&#xA;&lt;a href=&#34;https://iqilio.ch/services/modernization/&#34;&gt;We offer comprehensive support&lt;/a&gt; to help teams implement these tools and practices effectively, enabling them to achieve optimal results.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Torizon: First Steps and Impressions</title>
      <link>https://iqilio.ch/blog/2024/torizon-first-impression/</link>
      <pubDate>Wed, 19 Jun 2024 10:05:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/torizon-first-impression/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In this article, I share my initial impressions gathered from my first steps with &lt;a href=&#34;https://www.torizon.io/&#34;&gt;Torizon&lt;/a&gt;, a Linux-based containerized embedded OS developed by &lt;a href=&#34;https://www.toradex.com&#34;&gt;Toradex&lt;/a&gt;.&#xA;Torizon aims to simplify the user experience and customization process compared to alternatives like &lt;a href=&#34;https://www.yoctoproject.org&#34;&gt;Yocto&lt;/a&gt;.&#xA;It achieves this by running user applications within custom containers on a base OS, supported by an array of tools.&#xA;While Torizon simplifies the setup and lowers the entry barrier for newcomers, I found it occasionally challenging as an experienced &lt;a href=&#34;https://iqilio.ch/tags/embedded-linux/&#34;&gt;Embedded Linux and Yocto&lt;/a&gt; user.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Cyber Resilience Act overview</title>
      <link>https://iqilio.ch/blog/2024/cra-overview/</link>
      <pubDate>Wed, 05 Jun 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/cra-overview/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Check out the Cyber Resilience Act overview.&#xA;It shows the most important aspects of the upcoming regulation.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;imageblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;img src=&#34;https://iqilio.ch/uploads/cyber%20resilience%20act%20-%20overview.png&#34; alt=&#34;cyber%20resilience%20act%20 %20overview&#34;/&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Download as &lt;a href=&#34;https://iqilio.ch/uploads/cyber%20resilience%20act%20-%20overview.pdf&#34;&gt;pdf&lt;/a&gt; or &lt;a href=&#34;https://iqilio.ch/uploads/cyber%20resilience%20act%20-%20overview.png&#34;&gt;png&lt;/a&gt;.&#xA;Contact us for preparing the software development, questions and remarks.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Embedded Software Meetup ist zurück</title>
      <link>https://iqilio.ch/blog/2024/embedded-software-meetup-is-back/</link>
      <pubDate>Tue, 04 Jun 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/embedded-software-meetup-is-back/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Embedded Software Meetup Zürich ist zurück!&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Nach längerer Pause des &amp;#34;Embedded GNU/Linux Developer Meetup&amp;#34; führen wir es als &amp;#34;Embedded Software Meetup&amp;#34; wieder durch.&#xA;Es geht um:&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Embedded Software Entwicklung&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Embedded Linux&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Zephyr&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Qualität&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Software Craftsmanship&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;und vieles mehr.&#xA;Im Fokus steht der Austausch zwischen Entwicklern und anderen gleichgesinnten.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Den Anfang macht Urs Fässler mit seinem &lt;a href=&#34;https://www.meetup.com/de-DE/embedded-software/events/301325160/&#34;&gt;Erfahrungsbericht zu moderner Applikationsentwicklung für Embedded Linux&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Clean code für mehr Cyber-Sicherheit</title>
      <link>https://iqilio.ch/blog/2024/clean-code-for-security/</link>
      <pubDate>Fri, 24 May 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/clean-code-for-security/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Clean Code und Software Craftsmanship helfen, Embedded Systeme sicher zu machen (safety und security).&#xA;Diese Botschaft hat uns Simon Künzli im aktuellen Kurs Security in Embedded Systems an der ZHAW School of Engineering vermittelt, und ich stimme absolut zu.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Es sind Methoden, Prinzipen und Praktiken welche ich seit bereits 10 Jahren anwende und sehr zu schätzen gelernt habe.&#xA;Vielleicht tönt TDD, BDD, CI/CD, Review und was es alles gibt abschreckend.&#xA;Persönlich gebe ich es nicht mehr her.&#xA;Es gibt so viel Sicherheit das man das richtige entwickelt und die Qualität stimmt.&#xA;Auch reduziert es die Bugs - dadurch ist der initial etwas höhere Aufwand nach kurzer Zeit amortisiert.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Public Money -&gt; Public Code in Switzerland</title>
      <link>https://iqilio.ch/blog/2024/public-money-public-code-oss-siemens/</link>
      <pubDate>Thu, 16 May 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/public-money-public-code-oss-siemens/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Public Money? Public Code! Wie have it in Switzerland.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;See the talk from Matthias Stürmer at &lt;a href=&#34;https://opensource.siemens.com/events/2024/slides/Matthias_St%C3%BCrmer_The_new_Swiss_Law_-_Public_Money_Public_Code.pdf&#34;&gt;OpenSource at Siemens&lt;/a&gt; how he did it.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>iQiliO Founded</title>
      <link>https://iqilio.ch/blog/2024/iqilio-founded/</link>
      <pubDate>Fri, 10 May 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/iqilio-founded/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Very happy to announce that I founded my own company:&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;imageblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;img src=&#34;https://iqilio.ch/images/iqilio.png&#34; alt=&#34;iqilio&#34;/&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The go to place when you need&#xA;- Quality Software&#xA;- Embedded Linux Software and Systems&#xA;- Open Source Specialists&#xA;- Software Architecture&#xA;- Shorter delivery and feedback cycles&#xA;and any combination of it.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Yocto investigation with bitbake-getvar</title>
      <link>https://iqilio.ch/blog/2024/bitbake-getvar/</link>
      <pubDate>Mon, 06 May 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/bitbake-getvar/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Investigating Yocto issues can be challenging.&#xA;Yocto employs Bitbake, which heavily relies on variables (lists) that are set, appended, prepended, and modified across several recipes.&#xA;Other recipes reference these variables to make decisions and modify additional variables.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;One particularly troublesome variable is &lt;code&gt;DISTRO_FEATURES&lt;/code&gt;.&#xA;Numerous recipes manipulate this variable, and any change typically triggers a rebuild of most packages.&#xA;In our case a colleague was missing systemd within &lt;code&gt;DISTRO_FEATURES&lt;/code&gt;, although it was present in my configuration.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Configuration directory for Linux service</title>
      <link>https://iqilio.ch/blog/2024/linux-service-config-directory/</link>
      <pubDate>Fri, 03 May 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/linux-service-config-directory/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Have you ever struggled with finding the right place to store your service’s configuration files on a Embedded Linux system?&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;I’ve observed numerous file storage and System Configuration practices, such as placing everything under &lt;code&gt;/data&lt;/code&gt;, utilizing &lt;code&gt;/opt/…​&lt;/code&gt;, or keeping operational data under &lt;code&gt;/etc/…​&lt;/code&gt;, among others.&#xA;While these methods are feasible, I would advise against them.&#xA;The &lt;a href=&#34;https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html&#34;&gt;Filesystem Hierarchy Standard (FHS)&lt;/a&gt; specifies the appropriate locations for different types of files.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;If you’re developing services for Embedded Linux, adhering to the FHS can significantly simplify software deployment and management.&#xA;By following these standards, developers ensure their applications are more portable and easier to maintain.&#xA;For instance, tools like Yocto automatically locate files expected in standard directories.&#xA;Runtime behavior is as expected when you choose the correct location for temporary and log files.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Nachhaltige Embedded Systeme dank up-to-date Linux</title>
      <link>https://iqilio.ch/blog/2024/sustainable-embedded-systems-with-up-to-date-linux/</link>
      <pubDate>Fri, 26 Apr 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/sustainable-embedded-systems-with-up-to-date-linux/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Um in der heutigen schnelllebigen Technologiewelt Embedded Systeme Nachhaltig zu gestalten ist es unerlässlich, dass Software fortlaufend aktualisiert wird.&#xA;Es ist nicht mehr zeitgemäss, Embedded Software einmalig zu entwickeln und dann über Jahre unverändert zu lassen.&#xA;Verschiedene Faktoren treiben diese Notwendigkeit an:&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Neue Kundenanforderungen und Geschäftsstrategien&lt;/strong&gt;: Unternehmen müssen flexibel auf Marktveränderungen reagieren können.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Sicherheitsupdates&lt;/strong&gt;: Um die Sicherheit zu gewährleisten, sind regelmässige Updates unverzichtbar.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Regulatorische Anforderungen&lt;/strong&gt;: Gesetze und Vorschriften wie der Cyber Resilience Act (CRA) oder die Radio Equipment Directive (RED) erfordern Anpassungen.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Hardware-Änderungen&lt;/strong&gt;: Die Verfügbarkeit von Bauteilen kann sich ändern, was Softwareanpassungen erforderlich macht.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Änderungen an externen Diensten&lt;/strong&gt;: Updates sind nötig, wenn sich Schnittstellen oder die Verfügbarkeit von Diensten ändert.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Cyber Resilience Act and third party components</title>
      <link>https://iqilio.ch/blog/2024/cra-third-party/</link>
      <pubDate>Thu, 25 Apr 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/cra-third-party/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;What to do with third party hardware components in your machine wrt. Cyber Resilience Act?&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;When working towards CRA compliance the focus is usually on the software you write.&#xA;Especially devices based on Embedded Linux often have other hardware they control or interact with.&#xA;In this context, one question came up from multiple customers: how do we work with third party hardware that contains software?&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;I thought about this and came to a quite simple solution with the realization of two key ideas:&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Selbstständigkeit: Angebot</title>
      <link>https://iqilio.ch/blog/2024/self-employment-offer/</link>
      <pubDate>Tue, 02 Apr 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/self-employment-offer/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Heute starte ich in die Selbstständigkeit.&#xA;Mein Angebot umfasst:&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Agile Praktiken für Entwickler&lt;/strong&gt;: Coaching und Mitarbeit zur Implementierung effektiver agiler Methoden (Extreme programming) in Entwicklungsprojekten, um die Produktivität und Qualität zu steigern.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Individuelle Softwareentwicklung&lt;/strong&gt;: Entwicklung massgeschneiderter Qualitäts-Software für nachhaltig erfolgreiche Produkte.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Architekturberatung&lt;/strong&gt;: Beratungsdienste zur Gestaltung und Optimierung von Softwarearchitekturen, um eine langfristige Skalierbarkeit, Flexibilität und Wartbarkeit sicherzustellen.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Embedded GNU/Linux-Anwendungs- und Systementwicklung&lt;/strong&gt;: Expertise in der Entwicklung von eingebetteten Systemen und Anwendungen unter Verwendung von GNU/Linux.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Unterstützung bei der Einhaltung des Cyber Resilience Acts&lt;/strong&gt;: Massgeschneiderte Beratung und Lösungen, um Kunden bei der Einhaltung des CRA zu unterstützen.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Selbstständigkeit: Der Weg dahin</title>
      <link>https://iqilio.ch/blog/2024/self-employment-journey/</link>
      <pubDate>Mon, 01 Apr 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/self-employment-journey/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Es ist Zeit für ein neues Kapitel: Heute starte ich in die Selbstständigkeit.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Meine Karriere begann mit einer Elektronikerlehre, gefolgt von Jahren in der Berufswelt, die mich zur Software-Entwicklung führten.&#xA;Ich studierte Systeminformatik an der ZHAW, erwarb meinen Master in Computer Science an der ETH, absolvierte ein Praktikum am CERN und verfasste meine Masterarbeit an der University of California in Irvine.&#xA;Währenddessen entdeckte ich Freie Software/Open Source mit den Werten, welche ich bis heute teile.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Compiler support for switch-case error detection</title>
      <link>https://iqilio.ch/blog/2024/cpp-no-switch-case-no-default/</link>
      <pubDate>Sat, 30 Mar 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/cpp-no-switch-case-no-default/</guid>
      <description>&lt;p&gt;Not adding a default label to the switch-case statement improves the C++ code quality.&#xA;The normal use case for a switch-case is over an enum like in the example below.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-C++&#34; data-lang=&#34;C++&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;enum&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Op&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;Addition,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;Subtraction,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;};&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;execute&lt;/span&gt;(Op op, &lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt; left, &lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt; right) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;switch&lt;/span&gt; (op) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;case&lt;/span&gt; Op&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;Addition:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; left &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; right;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;case&lt;/span&gt; Op&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;Subtraction:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; left &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; right;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; {};&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All the enum options have to be considered in the switch-case (if this is not the case then probably something else is a bit smelly in the code).&#xA;The compiler is telling us whenever we missed an enum options.&#xA;In gcc it is the &lt;code&gt;-Wswitch&lt;/code&gt; flag, this comes for free with &lt;code&gt;-Wall&lt;/code&gt;.&#xA;The benefits are:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Auftakt Weiterbildungskurs Security in Embeeded Systems</title>
      <link>https://iqilio.ch/blog/2024/wbk-embedded-security-start/</link>
      <pubDate>Fri, 15 Mar 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/wbk-embedded-security-start/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Gestern war der Auftakt des Kurses Security in Embeeded Systems an der &lt;a href=&#34;https://www.zhaw.ch/&#34;&gt;ZHAW Zürcher Hochschule für Angewandte Wissenschaften&lt;/a&gt;.&#xA;Ich konnte durch den Input von Simon Künzli und den Diskussionen mit meinen Kommilitonen bereits einen differenzierteren Blick auf die kommenden Anforderungen des Cyber Resilience Act (CRA) der EU gewinnen.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Speziell interessiert mich, wie wir als Open Source Community im Embedded Linux Umfeld das Thema gemeinsam umsetzen können.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Effizienz durch Exzellenz</title>
      <link>https://iqilio.ch/blog/2024/efficiency-through-excellence/</link>
      <pubDate>Wed, 13 Mar 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/efficiency-through-excellence/</guid>
      <description>&lt;div class=&#34;quoteblock&#34;&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Aufgrund mangelnder Zeit im Projekt benötigten wir wesentlich mehr Zeit für die Implementierung der Features.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Dieses paradoxe Phänomen tritt häufig in der Softwareentwicklung auf.&#xA;Entwickler stehen unter Zeitdruck und sehen sich gezwungen, schnelle Lösungen zu implementieren, anstatt sich Zeit zu nehmen, diese zu planen und so zu implementieren, dass die Software nachhaltig erweiterbar ist.&#xA;Dies führt zu schlechter Codequalität und unzureichender Testabdeckung, die später mehr Zeit und Ressourcen erfordern, um sie zu beheben.&#xA;Der Versuch, Zeit zu sparen, indem man an der Qualität spart, endet in einem viel längeren Entwicklungszyklus.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Erste Schritte mit cucumber-cpp</title>
      <link>https://iqilio.ch/blog/2024/cucumber-cpp-first-steps/</link>
      <pubDate>Fri, 01 Mar 2024 10:00:00 +0200</pubDate>
      <guid>https://iqilio.ch/blog/2024/cucumber-cpp-first-steps/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/cucumber/cucumber-cpp&#34;&gt;Cucumber-cpp&lt;/a&gt; bietet die Infrastruktur um Behaviour Driven Development (BDD) mit C++ oder C zu machen.&#xA;In diesem Beitrag zeige ich wie du deinen Akzeptanztest mit cucumber-cpp implementierst.&lt;/p&gt;&#xA;&lt;p&gt;Umsetzen wollen wir ein Lauflicht.&#xA;Einerseits ist es eine genug kleine Aufgabe, anderseits sind Lauflichter einfach cool.&#xA;So ein Lauflicht hat zwar nicht wirklich viel Verhalten (Behaviour), aber es geht hauptsächlich um die Infrastruktur.&#xA;Natürlich kann man so ein Lauflicht auch noch beliebig kompliziert machen.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
