{"id":52,"date":"2024-05-16T14:44:56","date_gmt":"2024-05-16T12:44:56","guid":{"rendered":"http:\/\/192.168.1.232\/?page_id=52"},"modified":"2024-07-03T14:56:28","modified_gmt":"2024-07-03T12:56:28","slug":"ueber","status":"publish","type":"page","link":"https:\/\/biffo.de\/index.php\/ueber\/","title":{"rendered":"\u00dcber"},"content":{"rendered":"\n<div class=\"wp-block-group alignwide is-vertical is-layout-flex wp-container-core-group-is-layout-1 wp-block-group-is-layout-flex\">\n<h2 class=\"wp-block-heading\">\u00dcber \/ About<\/h2>\n\n\n\n<p><strong>Der Name Biffo?<\/strong><\/p>\n\n\n\n<p>Die Verwendung des Begriffs \u201eBIFFO\u201c ist relativ einfach erkl\u00e4rt. Der Begriff \u201eBIFFO\u201c steht eigentlich f\u00fcr \u201eBusiness Intelligence for front office\u201c. Die Domain biffo.de wurde in den guten 2000\u2018er von mir reserviert um irgendwann einmal etwas mit \u201eBI\u201c zu machen. Nachdem die goldene Internetzeit lange vorbei ist und die Domain bis heute keine Verwendung fand, daher eben \u201eBIFFO\u201c.<\/p>\n\n\n\n<p>Zugegeben der Name k\u00f6nnte auch f\u00fcr Hundefutter stehen, allerdings sind die Auflagen f\u00fcr die Herstellung von Tiernahrungsmitteln noch h\u00f6her, als ein Cookie-Banner bzw. eine Datenschutzerkl\u00e4rung umzusetzen. Meine Abneigung gegen administrativen Aufwand beschreibe ich im n\u00e4chsten Absatz.<\/p>\n\n\n\n<p><strong>Warum Biffo?<\/strong><\/p>\n\n\n\n<p>Ich geh\u00f6re nicht gerade zu den besten und erfolgreichsten Menschen wenn es um das Thema der privaten Backend-Administration geht. Rechnungen, Briefe und sonstige Schriftst\u00fccke landen bei mir\/uns regelm\u00e4\u00dfig \u201eIrgendwo\u201c in einer Schuhschachtel oder einer Keksdose (Bahlsen sei dank). Daher bin bzw. war ich auch kein gro\u00dfer Freund von j\u00e4hrlichen Erkl\u00e4rungen gegen\u00fcber irgendwelchen Beh\u00f6rden. Ich vertrat die Ansichten \u201edas FA holt sich sowieso was es braucht\u201c, \u201eder Firmensteuerberater wird mit der Datev-Software das schon richtig machen\u201c und \u201eich bzw. wir haben sowieso nichts zum absetzen\u201c. Leider war das eine Fehlannahme. Dank der Grundsteuerreform habe ich 2022 die Aufforderung bekommen f\u00fcr die letzten 4 Jahre eine Steuererkl\u00e4rung nachzureichen. Dank meiner chaotischen Zettelwirtschaft war das kein leichtes Unterfangen. Also entschied ich mich nach einem einfachen DMS Ausschau zu halten. Kriterien waren OSS, NAS, niedrige Betriebskosten, S\/FTP, einfache Bearbeitung wie Flip, Merge, Splitt, Re-PDF und nat\u00fcrlich auch eine einigerma\u00dfen funktionsf\u00e4hige Suche. Da keine passende L\u00f6sung gefunden wurde und ich auch keinen Bock hatte viel Geld zu zahlen oder irgendwas auf Windows Basis zu betreiben, habe ich mich entschieden eine eigene L\u00f6sung umzusetzen.<\/p>\n\n\n\n<p><strong>Warum diese Codebasis?<\/strong><\/p>\n\n\n\n<p>Zu Beginn der Entwicklung wurde ich direkt gefragt &#8222;Warum Java?\u201c, &#8222;Warum kein PHP?\u201c, &#8222;Wieso nicht Python?&#8220; und &#8222;Warum Linux?\u201c. Die Antworten sind auch hier relativ einfach. Ich entwickle seit 1994 Software. Zu der damaligen Zeit waren Cobol, Assembler und C die Sprachen der Notwendigkeit. Irgendwann 2000\/2001 ist dann Java als OO-Sprache hinzugekommen. Bei all diesen Sprachen ist eine feste Deklaration von Variablen-Typen eine Voraussetzung f\u00fcr deren Nutzung. Ich bin keine Freund von Variablen die von Text bis Datum alles aufnehmen k\u00f6nnen und dann der Interpreter entscheiden muss um welchen Type es sich handelt. Fr\u00fcher war Hauptspeicher ein streng begrenztes Gut und die CPU-Minute wurde mit 5,- DM (F\u00fcr Leute die nicht wissen was DM bedeutet -> &#8222;https:\/\/de.wikipedia.org\/wiki\/Deutsche_Mark&#8220;) der jeweiligen Kostenstelle belastet. Wenn jemand in meinen Java-Script Code reinschaut, ist durchaus eine gewisse Abneigung zu erkennen. Zugegeben ohne eine gewisse Interaktion gegen\u00fcber dem Anwender kommt auch biffo nicht aus, dennoch habe ich versucht so wenig wie m\u00f6glich Themen wie \u201eResponsive\u201c oder \u201eUser-Experience\u201c zu implementieren. Ich bin kein gro\u00dfer Freund von CSS und verabscheue \u201eJava-Script auf Java-Script, welches dann weitere f\u00fcnf Java-Script Files nachl\u00e4dt.\u201c Als Betriebssystem ist Linux (in meinem Fall Cent-OS) die einfachste Wahl. L\u00e4uft mit wenig Ressourcen, ich kann es installieren bzw. administrieren und irgendwann wird es wohl auch eine Dockerfile geben. Ziel ist weiterhin der Betrieb auf einer NAS unter der Vorgabe \u201eFire and Forgett\u201c. Auch wenn es im Privat-Umfeld nicht unbedingt notwendig ist, so unterst\u00fctzen die verwendeten Komponenten bereits eine umfangreiche Skalierung.<\/p>\n\n\n\n<p><strong>Warum ist das So?<\/strong><\/p>\n\n\n\n<p>Ich bin f\u00fcr Anregungen und W\u00fcnsche jederzeit empf\u00e4nglich und offen. Dennoch habe ich in der Vergangenheit sehr oft den Satz \u201eWenn das nicht so ist, dann setzen wir es nicht ein!\u201c geh\u00f6rt. Bei einer kommerziellen L\u00f6sung mit Sicherheit ein starkes Argument, aber bei einer OSS L\u00f6sung ohne den Einwurf von M\u00fcnzen, keine gute Verhandlungsbasis. Wer aber der Ansicht ist, das bestimmte Funktionen so zu implementieren seien, kann sich jederzeit selbst hinsetzen und etwas vergleichbares hochziehen.<\/p>\n\n\n\n<p><strong>Warum keine Verteilung \u00fcber Github?<\/strong><\/p>\n\n\n\n<p>Entwickeln ist mit Zeit, Aufwand und Arbeit verbunden. Nachdem die L\u00f6sung rein aus meiner eigenen Hand stammt und ich bis dato keine weiteren Entwickler eingebunden habe, kann ich meine eigene Codeverwaltung nutzen. Zugegeben, es besteht ein gewisser Charme den Code \u00fcber eine allgemeine Plattform zug\u00e4nglich zu haben, dennoch sollte man der Gefahr ins Auge sehen, dass irgendwann ein System \u00e4hnlich wie Chat-Gpt den Betrieb aufnimmt und ich dann ohne viel Arbeit mir ein Programm \u201eentwickeln\u201c lassen kann. Solche Mechanismen lehne ich strikt ab. Wer Fragen hat, kann sich gerne melden.<\/p>\n\n\n\n<p>Ferner untersage ich hiermit die Bereitstellung und die Verteilung meiner Code-Basis auf Plattformen wie Git-Hub, u.\u00c4. Der Code kann als tar.gz von dieser Seite heruntergeladen werden.<\/p>\n\n\n\n<p><strong>Stichwort Cloud?<\/strong><\/p>\n\n\n\n<p>Ja, das System ist aufgrund seiner Architektur auch Irgendwo betreibbar. Es gibt keine eingebauten Hintert\u00fcren und das System telefoniert auch nicht nach Hause (<a href=\"https:\/\/biffo.de\/wp-content\/uploads\/dms\/DmsWeb_src_0.9.tar.gz\" data-type=\"page\" data-id=\"1010\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">siehe Quellcode<\/a>). Wenn aber Begriffe wie Fail2Ban, Open-SSH und SELinux Fremdworte sind, dann sollte biffo nicht Irgendwo au\u00dferhalb der eigenen Firewall betrieben werden, au\u00dfer man ist Anh\u00e4nger der weitl\u00e4ufigen Theorie \u201eIch habe sowieso nichts zu verbergen.\u201c.<\/p>\n\n\n\n<p>Ich f\u00fcr meinen Teil \u00fcbernehme grunds\u00e4tzlich und absolut keinerlei Verantwortung bzw. Haftung.<\/p>\n\n\n\n<p><strong>\u00dcber mich?<\/strong><\/p>\n\n\n\n<p>&#8211; Jahrgang 1972<\/p>\n\n\n\n<p>&#8211; Datev Ausbildung zum DV-Kaufmann danach Softwareentwicklungsassistent 2*<\/p>\n\n\n\n<p>&#8211; SAP-EarlyWatch (Berater \/ Consultant)<\/p>\n\n\n\n<p>&#8211; BusinessObjects (PreSales-Berater)<\/p>\n\n\n\n<p>&#8211; BI Unternehmensberatung (MD)<\/p>\n\n\n\n<p>&#8211; Aufbau der Firma Talend in Deutschland (Business Development Manager)<\/p>\n\n\n\n<p>&#8211; Human Inference (Senior Advisor)<\/p>\n\n\n\n<p>&#8211; SolvencyCheck (Partner)<\/p>\n\n\n\n<p class=\"has-small-font-size\">* Kein Witz, die Bezeichnung gab es wirklich. Kurz vor meinem ausscheiden bin ich noch zum &#8222;Softwareentwicklungsassistent 1&#8220; bef\u00f6rdert worden.<\/p>\n\n\n\n<p><strong>Danksagung(en)<\/strong><\/p>\n\n\n\n<p>Der Dank f\u00fcr die Umsetzung dieser L\u00f6sung gilt meiner Lebensgef\u00e4hrtin, meinem Hund und meinem guten Freund Marcus. Ohne den Input der Dreien* w\u00e4re das System mit Sicherheit schon viel fr\u00fcher fertig gewesen.<\/p>\n\n\n\n<p class=\"has-small-font-size\">* Ja mein Hund kann sprechen und mault wenn bestimmte Dinge nicht eingehalten werden. Ich w\u00fcrde das gerne mit einem Video belegen, allerdings m\u00f6chte ich mir doch eine gewisse Seriosit\u00e4t vorbehalten und ich habe keine Lust auch noch irgendwelche rechtlichen Themen bzgl. Video-Verbreitung ber\u00fccksichtigen zu m\u00fcssen.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00dcber \/ About Der Name Biffo? Die Verwendung des Begriffs \u201eBIFFO\u201c ist relativ einfach erkl\u00e4rt. Der Begriff \u201eBIFFO\u201c steht eigentlich f\u00fcr \u201eBusiness Intelligence for front office\u201c. Die Domain biffo.de wurde in den guten 2000\u2018er von mir reserviert um irgendwann einmal etwas mit \u201eBI\u201c zu machen. Nachdem die goldene Internetzeit lange vorbei ist und die Domain [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/biffo.de\/index.php\/wp-json\/wp\/v2\/pages\/52"}],"collection":[{"href":"https:\/\/biffo.de\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/biffo.de\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/biffo.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/biffo.de\/index.php\/wp-json\/wp\/v2\/comments?post=52"}],"version-history":[{"count":37,"href":"https:\/\/biffo.de\/index.php\/wp-json\/wp\/v2\/pages\/52\/revisions"}],"predecessor-version":[{"id":1072,"href":"https:\/\/biffo.de\/index.php\/wp-json\/wp\/v2\/pages\/52\/revisions\/1072"}],"wp:attachment":[{"href":"https:\/\/biffo.de\/index.php\/wp-json\/wp\/v2\/media?parent=52"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}