Archiv des Autors: rbircher

Über rbircher

1980 geboren, körperlich behindert, Programmieren, Sportler und Initiator. Nach einer 20 jährigen, sehr intensiven Sportkarriere habe ich nun mit Vefko.ch mein eigenes Startup und auch die sportliche Reise geht weiter... wenn auch nicht ganz so intensiv.

Vortrag über Copyright und Lizenzen

Ein Bild von den ersten Zeilen des UHG

Urheberrecht trifft uns alle, weil wir in unserer digitalen Welt ständig damit in Berührung kommen. Sei es privat beim posten von Bildern in Social Media oder geschäftlich beim Schreiben von Konzepten oder programmieren. Doch die wenigsten haben sich mit dem Thema mal auseinander gesetzt.

In einer Stunde erkläre ich Ihnen die Grundlagen des schweizer Urheberrechts und wir machen einen kurzen Abstecher in die Creative Commons Lizenz

Wo? https://softwarehaus.net/ueber-uns/arena/
Wann? 14. Februar 2023, 12:00 – 13:00

Es wird eventuell auch ein Livestream geben, den Link hänge ich noch an

Was ist dein Traum?

Lange Zeit ist es her, als ich an einem Abend auf dem Basketballplatz eine Entdeckung machte, die mein Leben veränderte. Ich bemerkte, dass ich alles in allem grosse Fortschritte machte. Dies obschon es laut den Ärzten eigentlich nur noch bergab gehen sollte. Mir wurde mit 12 extra ein Rollstuhl angepasst, weil man davon ausging, dass ich schon mit 20 nicht mehr laufen könne. Doch die Fortschritte belehrten mich eines besseren.

Seit diesem Moment begleitet mich folgender Gedanke: „Wenn ich weiter trainiere, wird die Behinderung vielleicht mal ganz weg sein!“ Bei dem Gedanken lief mir ein kalter Schauer den Rücken herunter. Mehr noch als beim Gedanken, mal vor Zehntausenden Leuten zu spielen. Seit diesem Moment hatte ich ein Traum: „Der Unbesiegbarkeit der Cerebral Parese (meiner Behinderung) ein Ende zu setzen.

Seit diesem Zeitpunkt hatte ich einen tieferen Grund für das Training.

  • Ich Trainierte Bewusst mit nichtbehinderten um mich vom höheren Niveau mitziehen zu lassen
    • Ich fuhr 100000 km mit dem Fahrrad
    • Ich adressierte in meinen Trainings speziell die Behinderung

Tausende Stunden Training Noch nicht mal Krebs und Chemotherapie (im 2005/2006) konnte mich bremsen.

Ich bin heute nicht mehr der unzähmbare Sportler. Die Arbeit hat den Sport in der prioritätenliste übeholt. Auf Sportfeldern stand ich schon lange nicht mehr. Ich habe einen Schrittzähler und schaue, dass ich am Tag auf 4000 Schritte komme.

Ihr seht, vieles in meinem Leben hat sich verändert, aber nicht das:

Mein Traum ist es, meine Behinderung zu besiegen!

Was ist dein Traum?

Gemeinsame Reise an die FOSDEM aus der Schweiz

Hallo zusammen

Endlich ist sie wieder, die grösste Open Source Entwickler Konforenz Europas, die FOSDEM. Am 4. – 5. Februar 2023 trifft sich die internationale Open Source Scene mal wieder in Reallife.

Ich bin übezeugt, dass auch viele Schweizer nach Brüssel reisen werden. Deshalb kam mir die Idee, abzuklären ob man vielleicht auch gemeinsam anreisen könnte. Mit einem Car, und wenn das nicht klappt, vielleicht in Fahrgemeinschaften.

Anreise am Freitag, 3. Februar 2023.
Rückreise Montag 6. Februar 2023.

Um erst mal abzuchecken, ob genügend Interesse vorhanden ist, falls ja, werde ich Euch kontaktieren. Um genügend Zeit zu haben, bitte ich Euch, bis Ende Jahr Rückmeldung zu geben.

Gerne auch weiter teilen

Dieses Jahr wollte es nicht klappen. Deshalb habe ich das Formular wieder vom Netz genommen. Vielleicht starte ich nächstes Jahr noch mal einen Anlauf. Dann aber früher.

Vefko Neustart beschlossene Sache

Auf Ende Jahr gibt es noch schöne Neuigkeiten. Nachdem Vefko für lange Zeit vor sich hin schlummerte, wird das Projekt nun wiederbelebt. Mit von der Partie ist auch Marc Disch. Unser Ziel ist es, halbfertige Vereinstool an den Start zu bringen.

Nebenbei werden wir auch für andere IT Dienste zur Verfügung stehen. Ich Beispielsweise für Open Source Beratungen.

Ich halte Euch gerne auf dem laufenden.

Open Source Experience in Paris

Darauf habe ich lange gewartet. Die Covid Restriktionen verhinderten für zwei Jahre grössere internationale Veranstaltungen. Im September begann ich mal nach möglichen Events zu suchen und fand Opensource Experience in Paris. In Frankreich war ich noch nie an einem IT Messe, wohl aber in der Westschweiz (Genf). Und ja, ich kann ein bisschen Französisch.

Die Konforenz ging vom 8. – 9. November 2022. Ich reiste bereits am 7. November an, so hatte ich einen vollen Konforenz Tag und dann noch ein bisschen Konforenz am Folgetag. Für die Reise entschied ich mich für den Zug. Von Zürich aus hat man wunderbare Verbindungen nach Paris mit dem TGV Lyria.

Koffer steht bereit für die Abreise

So ging es am 7. November los. Die Zugreise war relativ schmerzfrei. Erst am Gare de Lion ging die Sucherei los. Oft nehme ich in diesen Fällen ein Taxi zum Hotel. Hier hätte sich das aber difinitiv nicht gelohnt. Denn ich musste ein mal quer durch die Stadt, und das noch im Feierabendverkehr. Also erst mal die Métro 1 suchen. Ich muss den Franzosen allerdings ein Kränzchen winden, denn die Ausschilderung war richtig gut. Die Hauptmetro zu Stossverkehrszeiten mit einem Koffer zu fahren, ist allerdings auch nur begrenzt witzig. doch durchalten brauchte ich nur gerade 25 Minuten.

Jetzt erst mal Essen suchen gehen. Findet man in Paris auch leicht, fragt sich halt nur zu welchem Preis. Ich sag nur, von dem her hätte ich auch zu Hause (in der Schweiz) bleiben können. Allerdings war die Konferenz auch eher in der teureren Region von Paris.

Bild vom Hotelzimmer

Das Hotelzimmer war klein aber ganz in Ordnung. Die Anreise war ziemlich anstrengend für mich. Ich machte fast 9000 Schritte und ein grossteil davon mit Gepäck. So fiel ich tot kaputt ins Bett.

Die Konferenz

Jedes mal wenn ich mal wieder an so einer Konferenz bin, frage ich mich: „weshalb tust du dir das an.“ Das Stehen ist mit meiner Beeinträchtigung super anstrengend und an solchen Konferenzen steht man halt super viel. Und dennoch bin ich am Ende immer glücklich, dabei gewesen zu sein. Das trefen von Leuten, die direkten Gespräche sind einfach durch nichts zu ersetzen.

Ich erwartete eine sehr französische Messe. Das war auch über weite Strecken so. Die Dienstleister kamen zu einem grossen Teil aus Frankreich und hatten ihr operationelles Gebiet in französischsprachigen Ländern. Es war eine typische Open Source Business messe, mit vielen Dienstleister. Zwar gab es auch einen Bereich für OpenSource Projekte, dieser war allerdings relativ klein. Für meinen Geschmack etwas zu klein. Allerdings müssen die Kosten für solche Messeanlagen ja irgendwie rein. 😉

Bild vom Eingang des Konferenzzentrums.

Eine gewisse internationalität hatte die Messe aber dennoch. Die Gespräche konnte ich relativ oft auf Englisch führen. Es waren auch einige internationale Firmen da. wie RedHat, Canonical und Huawei. Ich hatte verschiedene spannende Diskussionen mit den Leuten von https://www.smile.eu/en. Ein zusammenschluss von Firmen, den ich noch nicht kannte. Ebenfalls sprach ich noch mit Leuten von Huawei. Diese sind übrigens an ettlichen Projekten der Apache Software Foundation beteiligt. Des weiteren sprach ich noch mit Mitarbeiter von Canonical und von Next Cloud.

Und natürlich waren auch wieder alte Bekannte Gesichter da, die mich ansprachen. Ich war wohl einfach zu lange aktiv in der Open Source Welt, Mit Michael Meeks sprach ich noch etwas über die aktuelle Entwicklung in der Open Source Office Welt. Am Apache Software Foundation Stand fand ich wieder mal ein paar Bekannte von den Mailing Listen, die ich allerdings noch nie im realen Leben gesehen habe.

Heimreise

Tags darauf war ich dann nur noch kurz auf der Messe. Dann fuhr ich mit der Métro in Richtung Gare de Lion. Ich war eigentlich viel zu früh und nun kam der Messeschock. Ich hatte in den zwei Tagen fast nichts gegessen. Keine Ahnung wie ich das jeweils hinkriege, aber irgendwie fehlt da immer die Zeit dazu. Bevor mich mein Magen von innen auffrisst, entschied ich mich, was zu essen. Wie ich dann feststellen konnte, gehts auch günstig in Paris. Dann gings mit dem TGV Lyria zurück.

Es ging eigentlich auch alles gut, bis sich der Zug bei der Einfahrt in den Französischen Bahnhof Basel noch so viel Verspätung holte, damit wir den IC nach Chur verpassten. Janu, konnte ich halt das Loch im Magen noch etwas stopfen. Halb zehn Abends kam ich dann in Thusis wieder an.

Die drei Tage waren richtig anstrengend aber auch sehr gut. Ob ich nächstes Jahr wieder gehe, weiss ich noch nicht. Aber Veranstaltungen besuche ich ganz sicher wieder.

Hello System, ein Stück Zukunft?

Seit ich 2015 Appel den Rücken zukehrte, bin ich auf der Suche nach einem neuen System. Windows machte zwar jede Menge Fortschritte, doch es war mir auch von Anfang an klar, dass es nicht mein System werden wird. Das Traditionelle Mac OS X, so wie es im Jahr 2005 existierte war eigentlich mein Liebling.

Auf der FOSDEM online (einer Entwicklerkonforenz für Open Source Software) lernte ich dann Hello System kennen. Ich schaute mir auch noch ReactOS und Haiku an. Von all denen hat mir das Hello System aber am besten gefallen. Irgendwie auch verständlich. Denn vom Design her ist OS X 10.4 – 106 momentan das Vorbild

Hello System Screenshot vom Desktop
Screenshot vom Hello System Desktop

Das System basiert auf FreeBSD (Auf dem übrigens auch Mac OS X basiert). Doch FreeBSD alleine bietet keine Graphik, sondern nur Text. Der Graphische Teil von Hello System nutzt Qt und PyQt. Die Tools sind fast alle in Python geschrieben. Was mir vor allem gefällt. Das ganze ist nicht nur im Vordergrund einfach aufgebaut, sondern auch im Hintergrund.

Kein Klon von Mac OS X

Das Aussehen lässt aber vielleicht auch falsche Erwartungen aufflammen. Hello System hat nicht zum Ziel Mac OS X zu klonen. Hello System will vor allem eins, ein Open Source Desktop zu schaffen, de einfach gehalten ist. Ein System wo der User nicht früher oder später die Kommandozeile benötigt. Es wurden sehr wohl viel vom Mac OS übernommen. aber man wird sicher auch eigene Wege gehen.

Frühes Alpha Stadium

Auf https://github.com/helloSystem/hello kann man das ISO herunterladen. Aber WARNUNG: Das Ganze ist in einem frühen Alpha Stadium und nicht für produktive Anwendung gedacht. Ich empfehle das Ganze auf einer virtuellen Maschine zu installieren. Diese braucht übrigens mind. 4 GB RAM. Etwas rumspielen kann man damit schon. Aber viel mehr auch nicht. Natürlich könnt ihr euch auch in der Community beteiligen. Programmierer können noch gut gebraucht werden. Falls ihr nicht selbst den Eingang findet, kann ich Euch gerne helfen 😉

Der Weg ist noch lang

Hello System bekommt momentan viel gutes Feedback. Doch man sollte auch realistisch bleiben. Es gab schon viele Versuche, mit einem Open Source Desktop die Welt zu erobern. Bislang hat es keines dieser Projekte aus der „Freak Zone“ heraus geschafft. Ob Hello System dies gelingt, bleibt noch offen. Ich jeden falls glaube an das Projekt, und habe entschieden, ein bisschen Zeit in das Projekt zu investieren.

Internet, was ist das? und wie funktioniert es?

Im allgemeinen Sprachgebrauch wird als Internet die vielen millionen Webseiten bezeichnet, auf denen wir täglich surfen. Doch aus technischer Sicht stimmt das nicht. Das Internet bezeichnet eigentlich nur das Netz, und die spezielle Kommunikationsweise die durch standartisierte Vorgehensweisen ermöglicht werden.

Eine Weltkugel mit einem Internet darüber gelegt
(c) by Vector Background unter CC-BY Lizenz: Quelle: http://freedesignfile.com/20318-elements-of-internet-concept-background-design-vector-04/

Zurück in die 1970er

Damals war die Computerwelt noch eine komplett andere. Computer war nur einem kleinen Kreis der Gesellschaft zugänglich. Man hatte damals auch noch keine Personal Computer, sondern nur Grossrechner, auf denen viele Benutzer gleichzeitig arbeiten konnten. Man arbeitete an sog. Terminals an den Computer. Das waren Geräte mit einem Bildschirm und einer Tastatur, die nicht viel anderes machten alls die Eingaben des Benutzers an den Computer weiter zu leiten, und die Ausgaben des Computers zurück zum Benutzer schickten. Hin und her geschoben wurde meistens nur Text. Deswegen kamen in manchen Fällen auch Schreibmaschinen mit Endlospapier anstellle von Bildschirmen zum Einsatz. Die Grossrechner waren immens teuer, nicht nur in der Anschaffung, sondern auch im Betrieb. Hochleistungsrechner gab es damals nur sehr wenige, (wobei die Rechenpower von damals vermutlich von einem Handy von heute übertroffen würde)

ARPANET und die Entstehung

Der Datenaustausch gestaltete sich aber schwierig. Die Rechner konnten sich zwar über Telefonleitungen miteinander verbinden, dafür war aber eine Direkte Verbindung von Rechner zu Rechner notwendig. Man kann also nicht mit verschiedenen Rechner gleichzeitig verbunden sein. Damals kannte man nur zentrale Netzwerke. In den Anfängen hätte dies vermutlich sogar ausgereicht. Doch das Wachstum eines zentralen Netzwerk ist stark begrenzt. Etwas anderes musste her, etwas ohne Zentrale.

Noch heute ist die Geschichte weit verbteitet, dass das Internet eine Entwicklung des US Militärs war. Die US Streitkräfte waren ohne Zweifel beteiligt, laut der offiziellen Geschichte war es aber eine Initiative der Amerikanischen Universitäten. Das Militär versprach sich von ARPANET einen erheblichen Vorteil in der Kommunikation im Falle eines Atomkrieges. Ein dezentrales Netz ist viel schwerer lahm zu legen, als ein zentrales.

Die Internet Magic

Geniale Ideen sind oft einfach, und so ist es auch beim Internet. Denn das Internet ist eigentlich nichts anderes als ein Digitaler Post Service. Die Daten die der Computer mit einem Server austauschen will, werden zerstückelt und in Packete aufgeteilt. Diese kriegen die Adresse des Zielrechners „aufgeklebt“ und los gehts. Das Internet hat viele Sortierstationen sog. Switchs. Diese wissen welche Adressen in welchen Richtungen liegen, und leiten das Paket entsprechend weiter. Bis es beim Empfänger ankommt. Beim Empfänger werden dann die zerstückelten Packete wieder zusammengefügt.

Natürlich ist es komplizierter, wenn man ins Detail geht, das ist auch der Grund, weshalb es 2 Jahre gebraucht hat, die Standards für das Internet zu entwickeln. Dass die Leute damals extrem gute Arbeit geleistet haben, beweisst, dass das heutige Internet immer noch auf vielen Prinzipien von damals basiert. Das Internet war also schon 20 Jahre vor dem World Wide Web da. Die etwas eigenartige Geschichte des WWW erzähle ich Euch dann in einem anderen Blog.

Der mühsame Sommer

Viele Menschen mögen ihn, mein Freund ist er nicht so, der Sommer. Zumindest seit ich vorwiegend am Computer arbeite. Da nervt die Wärme nur. Ich wohne zwar in einer Altbauwohnung mit sehr dicken Bruchsteinmauern. Die halten lange die Wärme ab, aber wehe sie sind warm, dann kriegt man die Wärme nicht mehr aus der Hütte. Dazu kommen Computer die heizen.

Gestern war ich seit längerem wieder mal mit dem Zug unterwegs. Die Schweiz hat ja jetzt in den öffentlichen Verkehrsmitteln auch Maskenpflicht. Ich mag Schutzmasken gar nicht. Man bekommt weniger Luft und dadurch auch weniger Sauerstoff. Da meine Gangart sehr Kräftezehrend ist, brauch ich den aber. Auf der Kurzstrecke finde ich das mühsam. Auf der Langstrecke finde ich es einigermassen erträglich, denn da sitzt man ja vorwiegend… aber schön ist es nicht.

Am Samstag hatten wir ein grösseres Familientreffen, mit Cousinen und Cousins. Auch wenn einige nicht kommen konnten, waren wir doch eine schöne Gruppe. Meine Verwandtschaft ist auf beiden Seiten relativ gross, wobei diesmal die Bircher Seite dran war. Und für alle die immer wieder Fragen: Nein, ich bin nicht verwandt mit dem Bircher Müsli Erfinder 😉

Ich sehe meine Verwandtschaft eher wenig, und es sind jedes mal eine menge neue Gesichter dabei. Da entstanden auch ein paar spannende Gespräche. Und natürlich geht es dann schnell in Richtung Business Talk. Daran hab ich mich schon gewöhnt. Ich glaube das ist so eine Krankheit von Menschen in führenden Positionen. Bei denen ist die Arbeit einfach immer dabei.

Das Arbeiten macht nach dem Sommer bestimmt wieder mehr Spass. Jetzt gibts halt ein paar mühsame Wochen

Der Unterschied zwischen einem FTP Server und GIT

Vielen wird es wohl ähnlich ergangen sein. Wenn man als Neuling anfängt ein paar Websites zu bearbeiten, wird man relativ schnell mit FTP Bekanntschaft machen. Das File Transfer Protokoll ermöglicht es, einfach Dateien vom eigenen Rechner auf einen Server hochzuladen. FTP ist einfach zu bedienen, und funktioniert auch, solange man alleine an einem Projekt arbeitet. Wenn aber dieser Neuling nun in eine Gruppe kommt, wo mehrere Leute gleichzeitig an einem Code arbeiten, ist meist Schluss mit FTP. Dann muss man sich mit so kompliziertem Zeug wie GIT anfreunden.

Viele Neulinge stänkern dann erst mal. „Aber mit FTP hat es doch bei mir auch wunderbar funktioniert. Weshalb nun plötzlich so ein kompliziertes Tool?“ GIT ist tatsächlich ein komplizierteres Tool als FTP und der Unterschied ist erst mal nicht so offensichtlich. Den will ich Euch heute erklären.

Die Grenzen von FTP

Wenn man vom eigenen Rechner via FTP auf einen Webserver eine Datei oder mehrere hochlädt, wird die alte Datei einfach überschrieben. Klingt erst mal logisch, ist ja auf dem lokalen Rechner genau so. Doch wenn mehrere Leute an einer Website arbeiten kann das zu einem heillosen durcheinander führen. Ein Beispiel: Entwickler eins macht in einer Datei eine Änderung… informiert aber nicht gleich das Team. Er lädt die Datei auf den Server hoch. Dann kommt Entwickler zwei und will auch ein paar Änderungen machen. Nur hat er noch eine Datei ohne die Änderungen von Entwickler eins. Wenn nun Entwickler zwei seine Änderungen auf den Server hochlädt, sind die Änderungen von Entwickler eins einfach überschrieben. Dieses Problem schlägt schon bei ganz kleinen Teams zu, weshalb eigentlich alle Entwicklungsteams auf eine Versionskontrolle (GIT ist eine von vielen) setzen.

GIT speichert Change sets, keine komplette Dateien

Der eigentliche Unterschied zwischen einem FTP Server und GIT liegt im Hintergrund verborgen. Im Unterschied zu einem FTP Server speichert GIT nämlich die Änderungen in sog. Change sets. Das sieht dann ungefähr so aus:

Initial commitVersion 1
Changeset 1Version 2
Changeset 2Version 3
Changeset 3Version 4
Stark vereinfachte Darstellung einer Versionskontrolle

Wenn man also etas via GIT auf ein Repository (wie man die Ablage nennt) hochlädt, dann erstellt GIT erst auf dem eigenen Rechner ein Change set. Dieses wird dann an den Server übermittelt. Die Change Sets funktionieren Zeilenbasiert. An folgendem Screenshot kann man das sehr gut erkennen:

Ein Change Set auf GitHube
Darstellung eines Change Sets auf GitHub.com Hier zu sehen Code von Apache Openmeetings

Die Dateien die man also in Git erhält, sind immer aus vielen einzelnen Change sets zusammengezimmert worden.

Dieses System eröffnet ganz andere Möglichkeiten. Zum einen können so Fehler einfach zurückgespult werden. Zum anderen ist es möglich, Änderungen eines anderen Entwicklers in den eigenen Quellcode einzubauen auch wenn man selbst schon Änderungen gemacht hat.

GIT ist zwar komplizierter zu bedienen, vereinfacht aber letztendlich vieles. Selbst das kleine Einmann Projekt profitiert davon. Insbesondere wenn man was einbauen wollte, und erst zu spät bemerkt, dass es nicht funktioniert. Mit GIT kann man die Änderung einfach zurückrollen und hat somit eine laufende Website.

Programmierung des Automatischen logouts für das VTool

Heute Morgen setzte ich mich mal wieder an den Quellcode. Etwas was ich in letzter Zeit eigentlich viel zu wenig mache. Ich nahm mich einem Problem an, dass sich über das gesamte Tool erstreckt, und das auch sicherheitsrelevant ist. Denn man wird Tool bis jetzt nicht automatisch ausgeloggt. Wenn also jemand das Logout vergisst und einfach nur den Browser schliesst, kann theoretisch eine andere Person mit dem selben Computer sich auch Stunden später auf einem fremden Account rumtreiben. Das wollen wir natürlich nicht 😉

Der Code dafür war eigentlich nicht so eine grosse Herausforderung. Nach ein bisschen Recherche war er schnell geschrieben. Aufwändiger war das Testen. Denn das Timeout (wie man das im Fachjargon nennt) muss in jedem Fall funktionieren. Soll einem aber auch nicht unnötig raushauen.

Computer mit Bildschirmschoner, einer Tastatur mit Kekse drauf
So gemütlich kann Programmieren sein, wenn man auf das Timeout wartet

Das ganze ist natürlich immer wieder mit Wartezeiten verbunden. Natürlich hab ich den Wert für das Timeout für den Test auf drei Minuten runter gestellt. Normalerweise ist er auf 30 Minuten. Ich habe ein paar mal 3 Minuten gewartet, was mich zum Bild oben verleitete 😉

Natürlich gab es auch ein paar Herausforderungen. Das dachte ich zumindest. Vor allem beim Chat witterte ich Probleme. Weil der immer wieder Daten vom Server nachlädt, fürchtete ich, dass er Aktivität simulieren könnte, ohne dass ein Benutzer aktiv ist. Das hätte dazu geführt, dass wenn man im Chat blieb, man nie ausgeloggt würde.

Doch das war nicht der Fall, im Gegenteil, ich musste dort überhaupt nichts ändern. Ich hab dann nur einen Kommentar im Quellcode hinterlassen, dass ich das absichtlich so belassen habe. Nicht das jemand hinterher meint… Oh, da hat jemand was vergessen, und mit seiner „Verbesserung“ einen Fehler provoziert.

Am Schluss musste ich dann meine Kekse aber doch weglegen. denn der letzte Teil war Fleissarbeit. Ich musste fast in allen Dateien ein paar Zeilen Code anpassen.