Staatstrojaner et al.

Eine der Vorlesungen, die ich Ende der 90er Jahre an der ETH Zürich besuchte, hatte Betriebssystem-Konzepte zum Thema. In der Vorlesung lernte ich u.a. zwischen Politiken (policies) und Mechanismen (mechanisms) zu unterscheiden. Letztere setzen erstere um, so dass für dieselbe Politik (policy) mehrere Mechanismen (mechanisms) in Frage kommen könnten, was eine sorgfältige Abwägung ihrer Vor- und Nachteile notwendig macht.

Im Rahmen der BÜPF-Revision soll nun auch der Einsatz von Staatstrojanern in gewissen Fällen erlaubt werden (Futur I …). Mit der Politik (policy), die Privatheit „der Bösen“ einzuschränken, um die Sicherheit „der Guten“ zu gewährleisten, habe ich kein grundsätzliches Problem, wenn dabei keine faulen Kompromisse eingegangen werden. Womit ich ein grundsätzliches Problem habe, ist der Mechanismus (mechanism) des Staatstrojaners.

Damit ein Staatstrojaner seinen Zweck erfüllen kann, muss sein Hersteller Sicherheitslücken entdecken, ausnutzen und darüber Stillschweigen bewahren, damit die entsprechenden Sicherheitslücken nicht gestopft werden. Wenn also das EU-Mitglied Zypern und das Schweiz-Mitglied Zürich Staatstrojaner lizenzieren, geben sie dem Hersteller einen wirtschaftlichen Anreiz, Sicherheitslücken nicht aufzudecken. Damit weisen jedoch auch ihre eigenen Systeme die gleichen Sicherheitslücken auf – so dass beispielsweise das organisierte Verbrechen einen „Staats“-Trojaner gegen die Bundesanwaltschaft einsetzen könnte oder ein unfreundlich gesinnter Staat gegen die Armee oder

In Anlehnung an Bruce Schneier: Entweder ist ICT sicher für uns alle, oder ICT ist unsicher für uns alle. Deshalb wäre es wünschenswert, wenn die Schweiz wirtschaftliche Anreize geben würde, Sicherheitslücken aufzudecken und zu stopfen. Natürlich wäre es für die Judikative dann schwieriger, in der Schweiz 8 Personen oder so zu observieren, die nix Gutes im Schilde führen; vor allem wäre es jedoch auch viel schwieriger, 8 Millionen Schweizer zu observieren.

Name ist Schall und Rauch

Diese Woche habe ich mitbekommen, dass Typesafe den Namen ändern möchte. Und in meiner Rolle als Verwaltungsrat werde ich immer mal wieder darauf hingewiesen, dass Nezasa kein guter Name sei – obwohl sich Manuel et al. etwas dabei überlegt hatten.

Damit wir auch mit Variablen resp. Funktionen operieren können, wenn sie nicht gerade x resp. f heissen, pflegte mein Mathelehrer an der KSBG jeweils „Namen sind Schall und Rauch (und meine kranken Nachbarn auch)“ zu zitieren und andere Buchstaben -oder sogar 🌟 und ☕- zu verwenden.

Das ist nicht spurlos an mir vorbeigegangen, so dass ich in Bezug auf Namen von Firmen relativ entspannt bin (und nicht nur ich): Apple Computer heisst nur noch Apple – verkauft jedoch nach wie vor Computer und immernoch keine Äpfel. Mit Doodle kann man nicht kritzeln, sondern Termine finden. Und Google hat seinen Ursprung nicht zuletzt in einem Schreibfehler

Swiss-based vs. Switzerland-based

Wenn man auf Englisch darauf hinweisen möchte, dass eine Firma ihren Sitz in der Schweiz hat, könnte man „based in Switzerland“ verwenden, z.B. „Squeng AG is based in Switzerland“. Und mir war immer klar, dass es „Switzerland-based Squeng AG“ (mit Substantiv Switzerland) heissen müsste und nicht etwa „Swiss-based Squeng AG“ (mit Adjektiv Swiss). Und das war nicht nur mein Verständnis. Deshalb hat „Swiss-based [start-up]“  immer wieder meinen Lesefluss gestört.

Um den Schweizer Start-ups weitere Peinlichkeiten zu ersparen, wollte ich sie hiermit darauf hinweisen – und wurde stattdessen eines Besseren belehrt. (Wobei das WWW nicht das WWW wäre, wenn man nicht auch Beispiele finden würde, die beide Versionen als korrekt befinden, insbesondere in Kombination mit „born“.)

Und die Moral von der Geschicht? Ich werde einfach „St.Gallen-based Squeng AG“ schreiben – ist ohenhin coolerlässiger.

Boxes

Als Myke und ich vor acht Jahren den neusten Stand in Sachen HTML & CSS lernten und nutzten für die damals brandneue Java-basierte Version von Doodle, war das Buch Little Boxes unser wichtigstes Lern- und Nachschlagewerk. In der Zwischenzeit ist das Buch (besser gesagt die Buchreihe, die daraus entstanden war) vergriffen. Mit Einstieg in CSS gibt es jedoch einen Nachfolger, der nach wie vor auch für Anfänger geeignet ist.

Um mich dieses Jahr wieder auf den neusten Stand zu bringen, lese ich jedoch Flexible Boxes und kann es nur schon nach dem ersten Teil all denjenigen wärmstens empfehlen, die HTML- & CSS-Vorkenntnisse haben.

Von Java nach Scala

Seit über 15 Jahren programmiere ich in Java, 10 davon intensiv. Obwohl Java mit der vor einem Jahr veröffentlichten Version 8 wieder grosse Fortschritte gemacht hat, mache ich nun Scala (das auch schon 10 Jahre auf dem Buckel hat) zu meiner neuen Hauptsprache. Andere Kandidaten waren C# und Go. Alle vier Sprachen haben gemeinsam, dass sie statisch und relativ stark typisiert sind, was mir äusserst wichtig ist. Scala lerne ich wie folgt:

  1. Studium von Atomic Scala: danach programmiere ich realistischerweise immernoch mit der Semantik von Java, aber immerhin in der Syntax von Scala.
  2. Studium von Functional Programming in Scala: danach programmiere ich hoffentlich funktional(er) und unterm Strich objekt-funktional.
  3. Studium von Programming Scala, um das Gelernte zu festigen und zu vertiefen.

Und sobald Programming in Scala neu aufgelegt wird, werde ich mir gerne auch Zeit für sein Studium nehmen. Praktisch nutzen werde ich Scala für die Entwicklung von Web-Diensten auf der Basis vom Play Framework.

Lohnfindung, Lohnbuchhaltung, Lohnadministration

Von der Gründung (der Inturico Engineering GmbH) im Frühling 2007 bis zum Eintritt von Corinne im Frühling 2014 war ich Doodles Buchhalter und Personalverantwortlicher. Deshalb interesse ich mich heute für Themen wie Buchhaltung und Lohnabrechnung.

2010 hatte ich ein erstes Mal web-basierte Buchhaltungssysteme evaluiert; ausser Xero überzeugte mich damals nichts, und Xero kam aus Gründen, die mir leider entfallen sind, nicht für Schweizer KMUs in Frage. Damals kam die Idee auf, dereinst ein web-basiertes Banana zu entwickeln.

Heute gibt es mit CashCtrl und easySYS zwei ausgezeichnete web-basierte Buchhaltungssysteme für Schweizer KMUs. Was nach wie vor fehlt, ist ein ausgezeichnetes web-basiertes Lohnbuchhaltungssystem. Um zu verstehen, wie komplex Lohnabrechnungen werden können,
habe ich zwei Bücher zum Thema gekauft: „Lohnfindung, Lohnabrechnung, Lohnbuchhaltung“ sowie „Sozialversicherungen, Lohnadministration und Arbeitsrecht für Personalassistenten„. Ersteres habe ich in der Zwischenzeit gelesen und kann es wärmstens empfehlen, auch wenn man sich nicht mit dem Gedanken trägt, ein Lohnbuchhaltungssystem zu entwickeln.

Apropos Löhne: Zuckerbrot und Peitsche sind passé.