BeanHub: Drei Jahre Entwicklung und Vertrieb einer Beancount-basierten Buchhaltungssoftware

2025-03-05

Angetrieben von der Leidenschaft für Datensicherheit und Automatisierung, verbrachte der Autor drei Jahre mit der Entwicklung von BeanHub, einer Buchhaltungssoftware, die auf dem Open-Source-Projekt Beancount basiert. Das Kernstück des Designs ist die Philosophie „Datei vor App“, bei der alle Operationen an Textdateien und nicht an einer Datenbank durchgeführt werden, um die Datenoffenheit und langfristige Zugänglichkeit zu gewährleisten. Diese Reise umfasste die Open-Source-Veröffentlichung von 15 Projekten und die Bewältigung von Herausforderungen wie dem Aufbau eines großen, überprüfbaren Git-Repositorys und der sicheren Verarbeitung von vom Benutzer hochgeladenen Daten. Trotz des Verkaufsdrucks und des Wettbewerbs priorisierte der Autor Qualität und baute eine Community und Tutorials auf, um die Benutzererfahrung zu verbessern, und zog schließlich zahlende Kunden an und bewies den langfristigen Wert des „Datei vor App“-Ansatzes.

Mehr lesen
Entwicklung

Nvidia GPUs auf einem Bare-Metal Kubernetes-Cluster mit NixOS: Ein Abenteuer im Kaninchenbau

2025-03-02

Um sein Machine-Learning-Framework MAZE zu skalieren, versuchte der Autor, die Unterstützung von Nvidia GPUs auf seinem Kubernetes-Cluster, bestehend aus drei Mini-PCs und einem ausgemusterten Workstation, zu aktivieren. Dies erwies sich als weitaus schwieriger als erwartet, mit Hürden wie der Konfiguration des Nvidia-Geräte-Plugins, der Bewältigung der Komplexität einer NixOS-Umgebung und der Bereitstellung von PKI-Zertifikaten. Schließlich gelang es ihm, und er teilt seine Erfahrungen mit der Bereitstellung eines Kubernetes-Clusters unter Verwendung von NixOS, Ansible und Sops, zusammen mit einem Deep Dive in CRI, CDI, nvidia-container-toolkit und mehr. Er entwickelte auch nix-playground, ein Tool zur Vereinfachung des Patchens und Bauens von Open-Source-Projekten, und nutzte Grok 3 zum Debugging. Unterwegs stieß er auf weitere Herausforderungen wie PyCharm-Probleme mit WSL NixOS und die Konfiguration von Kubernetes RuntimeClass. Das gesamte Abenteuer, ähnlich wie Alice im Wunderland, unterstreicht die beeindruckende Ausführungskraft und die Problemlösungskompetenzen des Autors.

Mehr lesen
Entwicklung

Eine Reise der Softwareentwicklung in CAD und 3D-Druck: Ein überentwickelter Webcam-Heber

2024-12-16

Ein erfahrener Softwareentwickler, müde von der virtuellen Welt der Programmierung, sehnte sich danach, in der realen Welt zu erschaffen. Er erwarb einen Bambu Lab X1C 3D-Drucker und beherrschte schnell den 3D-Druck. Anschließend begann er, die CAD-Software Fusion 360 zu erlernen und stellte überrascht fest, dass deren Constraint-Konzepte den iOS-UI-Constraints ähneln und das parametrische CAD-Design der funktionalen Programmierung entspricht. Sein erstes Projekt: ein überentwickelter Webcam-Heber, um das Problem zu lösen, dass die Webcam seinen Bildschirm verdeckt. Dieses Projekt bescherte ihm nicht nur die Freude am 3D-Druck und am CAD-Design, sondern auch ein tiefes Verständnis für Fertigung, Materialien und andere Details, die in der Entwurfsphase berücksichtigt werden müssen.

Mehr lesen
Entwicklung 3D-Druck CAD-Design