Linux als Alternative zu Windows

Die Stadt München hat vor einigen Jahren beschlossene ihre IT Infrastruktur im Bereich der Engeräte, also den PCs in den verschiedenen Behörden, auf Linux umzustellen. Vorher wurden hier Produkte aus dem Haus Microsoft benutzt. In einer aktuellen Diskussion prüft die Stadt München offenbar die Rückkehr zu einer Microsoft basierten Lösung. Aus diesem Anlass möchte ich gerne ein paar Gedanken zu der Thematik Linux vs. Windows loswerden.

Für alle Andwendungsfälle gibt es Lösungen die besser oder schlechter funktionieren als andere. Privat benutze ich heute deshalb drei unterschiedliche Betriebssysteme.

Wie viele habe ich beim Einstieg in die IT Welt einen Computer mit einem Betriebssystem aus dem Hause Microsoft verwendet. Nach zehn Jahren bin ich 2007 auf eine Apple basierte Lösung umgestiegen. Inzwischen benutze ich in erster Linie Linux. Obwohl ich die allermeisten Aufgaben mit Linux erfüllen kann, nutze ich parallel sowohl ein Windows System wie auch Mac OS X. Beide benutze ich für spezielle Aufgaben: Windows zum spielen und Mac OS X für Audio und Video Aufnahmen und Schnittarbeiten. Für alles andere nutze ich ausschließlich Linux.

Wenn man sich heute überlegt von einer Windows basierten Lösung auf ein Linux umzusteigen, dann ist der Umstieg sehr viel leichter als noch vor wenigen Jahren. Geht man zehn Jahre zurück, dann war es für einen durchschnittlichen Computer Nutzer äußerst umständlich und anstregend ein Linux auf den eigenen Computer zu installieren. Das hat sich jedoch geändert. Heute gibt es verschiedene Linux Distributionen (~Ausfertigungen), die sich genauso komfortabel installieren lassen wie man es z.B. von Apple gewöhnt ist. Der Nutzer wählt am Anfang der Installation die gewünschte Sprache aus und wird dann über einen leicht verständlichen Dialog durch die Installation geführt. Dabei nehmen einige Linux Distributionen sogar rücksicht auf ggf. vorhandene Windows Installationen: Der Nutzer wird gefragt, ob man die bestehende Installation behalten möchte. Bejaht man diese Frage, dann kann man in der Zukunft beim Einschalten des Computers auswählen, ob man mit dem gewohnten Windows oder mit Linux arbeiten möchte.

Die alten Probleme, dass es keine (guten) Treiber für die eigene Hardware gibt, sind glücklicherweise vorbei. Quasi bei allen Computern, egal ob Desktop Gerät oder Notebook, findet Linux bei der Installation eigenständig alle nötigen Treiber. Dazu muss der Computer nur mit dem Internet verbunden sein (bei der Einrichtung des Internetzugangs wird der Nutzer ebenfalls von Linux angeleitet). Nur bei sehr wenig Hardware muss man ggf. per Hand Treiber nachinstallieren. Keine Treiber gibt es quasi nur noch für besonders exotische Hardware, die aber für die allermeisten Nutzer, egal ob zu Hause oder im Büro, keine Rolle spielt.

Aus meiner Tätigkeit als Administrator von verschiedenen Netzwerken kann ich erfahrungsgemäß sagen, dass ich deutlich mehr Treiberprobleme bei Windows basierten Systemen habe. Selbst bei Produkten die “Windows xyz zertifiziert” sind gibt es oft Ärger bei der Treiberinstallation.

Hat man Linux einmal installiert, dann stehen einem sofort eine Reihe von Anwendungen zur Verfügung. Darunter Programme wie Webbrowser, E-Mail Client, Office Programme und Audio-Video-Player. Die Anwendungsprogramme, insbesondere Office Programme wie Libre Office, sind inzwischen so ausgereift, dass sie mit den kommerziellen Lösungen oft nicht nur mithalten können, sondern diese im Leistungsumfang sogar überholen. Wenn man jedoch die Office Produkte aus dem Hause Microsoft gewöhnt ist, benötigt man ggf. eine kurze Eingewöhnungsphase, bis man sich an die kleinen Unterschiede in der Bedienung gewöhnt hat. Hierfür gibt es auch verschiedene Schulungen, die z.B. an Volkshochschulen besucht werden können. Wenn Unternehmen oder Behörden auf ein Produkt wie Libre Office umsteigen, dann können diese für ihre Mitarbeiter eine entsprechende Schulung anbieten.

Alle wichtigen Programme sind seit geraumer Zeit auch in einer deutschen Sprachversion verfügbar, die normalerweise bereits installiert und als Standard eingerichtet wird, wenn man bei der Installation von Linux die passende Sprache wählt.

Eine Schwierigkeit beim Umstieg auf Linux ist die große Auswahl an unterschiedlichen Distributionen. Alle Distributionen haben ihre Stärken und schwächen. Für den Einsteiger ist Linux Mint derzeit am Besten geeignet. Hier sind bereits alle wichtigen Programme vorinstalliert und die Installation ist sehr komfortabel. Eine Alternative zu Linux Mint für den Einsteiger ist Ubuntu.
Für den Einsatz in Unternehmen und Behörden hingegen würde ich Debian oder eine auf Arch Linux basierende Lösung empfehlen. Insbesondere Arch Linux eignet sich nicht für den Einsteiger, da die Installation und Einrichtung des Systems sehr komplex ist. Dafür bietet es einige andere Vorteile. Da in Unternehmen und Behörden die Anwender normalerweise nicht für die Installation und Wartung des Betriebssystems zuständig sind, sondern ein Admisistrator, ist das aber kein Problem. Der Anwender bekommt nach der Installation die gleiche, komfortable Benutzeroberfläche mit allen Andwendungen präsentiert, wie bei den Einsteiger Distributionen. Für den Administrator, der das entsprechende Fachwissen hat, ist es nur ein einmaliger geringer Mehraufwand, ein solches System zu installieren. Dafür profitieren sowohl der Administrator wie auch der Endanwender von den zusätzlichen Features, die Arch Linux mit sich bringt.

Grundsätzlich ist es auch möglich eine eigene Linux Distribution zu bauen. Das ist jedoch mit Vorsicht zu genießen. Während eine eigene Distribution den großen Vorteil hat, dass man diese genau auf den eigenen Bedarf zurecht stutzen kann, hat man zusätzliche Arbeit die Distribution auch aktuell zu halten. Wenn man ein ausreichend hohes Budget und die nötigen Fachkräfte hat, dann stellt das kein Problem dar. Wenn man sich aber die Situation bei Behörden anschaut, dann ist es sehr wahrscheinlich, dass die selbstgebaute Distribution schnell veraltet. Das wiederum führt zu Sicherheitslücken und anderen Fehlern, unter denen die Anwender zu leiden haben.

Insgesamt kann man sagen, dass Linux soweit ist, dass man es sowohl im privaten Umfeld wie auch in Unternehmen und Behörden gut einsetzen kann, ohne dass die Anwender darunter leiden müssen.

Why TLS is crappy by Design

Jeder der das Internet benutzt, der nutzt auch TLS, besser bekannt unter dem alten Namen SSL. TLS sorgt dafür, dass eine HTTP Verbindung zwischen dem Client und einem Server verschlüsselt ist. Alle Daten die ich an die Website übermittel und vice versa können nicht von Dritten mitgelesen werden. Insbesondere nach den Enthüllungen von Edward Snowden sollte jeder Betreiber einer Website TLS standardmäßig zur Verfügung stellen.

TLS selbst gilt als (weitgehend) sicher. Daran möchte ich auch nichts rütteln.Was jedoch einerseits ein Sicherheits Feature ist, ist gleichzeitig auch ein großes Problem. Wenn zwischen Client und Server erstmal eine Verbindung aufgebaut wurde, dann werden sämtliche Inhalte verschlüsselt übertragen. Sobald eine TLS Verbindung einmal aufgebaut ist, dann ist es unmöglich zu unterscheiden, für welche Domain das eingehende TLS Paket ist. Wenn man auf einem Server unter der gleichen IP Adresse mehrere Domains betreibt, z.B. foo.example.com und bar.example.com, und beide (Sub-)Domains verschiedene Zertifikate mit unterschiedlichen Schlüsseln zur Verschlüsselung der Verbindung verwenden, dann kann der Server später nicht unterscheiden, ob ein eingehendes verschlüsseltes Paket für foo.example.com oder für bar.example.com bestimmt ist.

Grundsätzlich ist dieses Verhalten gut, da ein Angreifer nicht sehen kann, welche URIs der Client abrufen möchte. Es führt aber auch zu gewaltigen Problemen:

Wenn man eine Reihe von Servern betreibt, auf denen eine Webapplication in mehreren Instanzen läuft und Kunden über my-instance.awesome-company.com zugreifen, dann ist es wünschenswert einen Loadbalancer zu betreiben, der alle Anfragen an *.awesome-company.com entgegen nimmt und jede Anfrage an den Server weiter reicht, auf dem die angeforderte Instanz betrieben wird (eine Aufteilung der Kunden auf isolierte Instanzen ist aus Datenschutz Gründen wünschenswert oder sogar erforderlich). Durch HTTPS wird das leider unmöglich: Aus einem verschlüsselten Paket kann man später nicht mehr feststellen, an welche Instanz dieses weitergeleitet werden muss.

Bisher ist die einzige Möglichkeit das Problem zu umgehen der Einsatz eines TLS Reverse Proxies. Hier baut der Client eine verschlüsselte Verbindung zum Loadbalancer auf. Dieser entschlüsselt die Nachricht und kann dann anhand des HTTP Headers erkennen, für welche Instanz das Paket gedacht ist. Der Loadbalancer schickt dass Paket dann über eine neue Verbindung entweder im Klartext oder über eine neue TLS Verbindung an den Instanz Server weiter. Umgekehrt schickt der Instanz Server seine Antwort an den Reverse Proxy, der diese dann an den Client weitergibt. Dieses Model hat zwei nennenswerte Probleme: Zum einen bietet die TLS Verbindung hier keine echte Ende-zu-Ende Verschlüsselung. Daten können auf dem Load Balancer entschlüsselt und ggf. manipuliert oder von Dritten gelesen werden. Zum anderen müssen die Daten vom Loadbalancer zum Instanz Server neu verschlüsselt werden. Das kostet zusätzliche Ressourcen und damit zusätzliches Geld. Es kommt daher nicht selten vor, dass die Verbindung vom Loadbalancer zu den Background Servern nicht verschlüsselt ist.

Eine mögliche Lösung wäre die Erweiterung von TLS. Dazu in einem späteren Post mehr.

Classmind – Informationsmanagement für Ihre Schule

Ich hatte vor einiger Zeit bereits über eines meiner Projekte geschrieben. In diesem Projekt geht es um die Entwicklung einer modernen und flexiblen eLearning-und Verwaltungsplattform für Schulen. Classmind unterstützt neben klassichen eLearning Komponenten (Aufgaben, Arbeitsmaterial, Kommunikation, …) die Schule bei der Verwaltung.

Die Lehrerinnen und Lehrer profitieren von modulen wie einem digitalen Klassenbuch (Verspätungen, Fehlstunden, …), einem Modul zur Notenverwaltung und natürlich der Arbeitsersparnis durch die eLearning Plattform.

Auch die Schulleitung profitiert von der schnelleren und komfortableren Notenverwaltung, die u.a. auch das automatische Erstellen und Drucken von Zeugnissen am Schuljahresende ermöglicht.

Nicht zuletzt profitieren natürlich auch die Schüler von Classmind. Dazu gehören ein individueller Stundenplan, der automatisch über Ausfälle und Änderungen informiert, eine Übersicht der eigenen Leistungen, die für mehr Transparenz sorgt, und natürlich alle Vorteile der eLearning Plattform wie dem Frage-und Diskussionsmodul für Aufgaben und Arbeitsmaterial.

Classmind ist von der internen Architektur so aufgebaut, dass eine Schule nach Bedarf weitere Module zu dem Kernsystem dazubuchen kann. Das können z.B. Module für Kurswahlen, Lehrmittelverwaltung oder Stundenplanverwaltung sein. Es ist denkbar, dass es zu einem späteren Zeitpunkt auch für Drittanbieter eine Möglichkeit geben wird Module für Classmind zu entwickeln.

Neben den Aspekten der einfachen und übersichtlichen Bedienbarkeit, der Modularität und Flexibilität legen wir einen besonderen Focus auf die Einhaltung des Datenschutzes. Hierzu arbeiten wir seit Herbst des letzten Jahres mit dem Hessischen Datenschutzbeauftragtem zusammen. Dieser unterstützt uns in Fragen Datenschutz, damit wir alle Vorgaben und Regelungen einhalten, die für die Verarbeitung von Pädagogischen-und Verwaltungsdaten gelten. Entsprechend fallen auch unsere technischen Maßnahmen aus: Vollverschlüsselte Datenübertragung, Rollenbasierte Zugangskontrolle und in der Zukunft Zwei-Faktor Authentifizierung für besonders sensible Daten, die derzeit noch nicht erhoben werden.

Zum aktuellen Zeitpunkt befinden wir uns in einem Pilotprojekt mit einer Schule, dass auch von HDSB begleitet wird. In dieser Pilotphase testen wir Classmind im realen Schuleinsatz, um Fehler zu beseitigen. Parallel dazu erweitern wir Classmind um weitere Funktionen. Dabei haben alle Teilnehmer der Pilotphase, aber auch sonstige Lehrerinnen und Lehrer sowie Schüler, die Möglichkeit mitzubestimmen, welche Funktionen Classmind in Zukunft bekommen soll.

Ab dem Sommer wird Classmind im begrenzten Umfang für weitere Schulen zur Verfügung stehen. Wir werden uns dann zunächst auf wenige Schulen konzentrieren (~5-10) um auch weiterhin guten Support leisten zu können.

Ein Closed Beta Zugang ist auf Anfrage möglich.

Die erste Frage der Kollegin

Die erste Frage einer neuer Kollegin an meiner Schule war, wie man denn die Überwachungssoftware der Schulcomputer findet und wie man sie benutzt.

Ich finde es ja gleichsam erstaunlich, erschreckend und traurig, dass gerade neue Lehrerinnen und Lehrer die frisch von der Uni kommen als erstes danach fragen, wie man denn die Computer überwacht, an denen die Schüler arbeiten. Natürlich hat man als LehrerIn ein Interesse daran, dass die Schüler im Unterricht am Computer nicht nur auf Facebook oder Youtube unterwegs sind, sondern tatsächlich auch etwas arbeiten. Ich war bloß bisher der Meinung, man würde als LehrerIn in der pädagogischen Ausbildung lernen, mit solchen Situationen umzugehen, indem man die Schüler zum arbeiten motiviert. Nicht dass man die Schüler überwacht. Es ist traurig, dass stattdessen ein “wir müssen den Schüler mit dem komischen Internet auf die Finger schauen” rauskommt.

P.S. Eine solche Software gibt es in meinem Netzwerk nicht und solange ich hier BOFH bin wird es das auch nicht geben.

Sparangebot für Schulen – oder auch “wie ziehe ich meinem Kunden Geld aus der Tasche”

Man hört ja immer wieder, dass Windows Lizenzen Geld kosten. Man hört auch, dass Schulen meistens kein Geld für Investitionen in ihre IT haben. Glücklicherweise haben sich ein paar schlaue Menschen zusammengesetzt und in einem Rahmenvertrag ein Sparmodel erarbeitet, damit Schulen beim Kauf von Windows Lizenzen Geld sparen. Das sieht dann so aus:

Wenn ich normale Win 8 Pro Lizenzen kaufe (Win 7 Pro Downgrade inklusive) liege ich bei ca. 90€ pro Platz. Bei 40 Plätzen wären das dann 3600€. Einmalig. Ist nicht gerade billig.

Aber glücklicherweise gibt es ja ein Sparangebot!

Ein Rahmenvertrag mit Microsoft mit einem gewissen Institut über die die Schulen hier die Lizenzen beziehen können sieht vor, dass teilnehmende Schulen vergünstigte Lizenzen bekommen. Klingt super.
Eine Lizenz für Win7 Pro kostet dann pro Platz nur noch 50€, also knapp die Hälfte. Pro Jahr. Dafür kann man auf das jeweils aktuelle System updaten, ohne das neue System komplett bezahlen zu müssen. Allerdings kann ich wenn ich 40 Computer habe nicht sagen, ich brauche 40 Lizenzen. Nein, ich muss für fast doppelt so viele Plätze zahlen, da sich die Platzanzahl nicht nach den eigentlichen Installationen richtet, sondern nach einem seltsamen Schlüssel, der die Anzahl der unterrichtenden Lehrer und der in der Schulverwaltung Angestellten als Basis nimmt. Würde dann etwa 3500€ machen. Pro Jahr. Und selbstverständlich ist eine Lizenz nicht übertragbar und darf nicht weiterverkauft werden.
Achja, und das gilt nur, wenn man bereits eine andere Windows Lizenz gekauft hat. Sonst muss man pro Lizenz nochmal eine einmalige Gebühr bezahlen, die einen dann zur Nutzung des Spaarabos berechtigt. Wären in diesem Fall dann nochmal etwa 800€ (einmalig).

Nehmen wir an, dass die 40 Lizenzen vier Jahre lang betrieben werden. Wir kämen dann bei dem Sparmodel auf 14.000€ für die vier Jahre. Bei Lizenzen aus dem Supermarkt zahlen wir in den vier Jahren teure 3600€.

Kann man sich auch so vorstellen, als müsste ich mit einen 1er BMW kaufen, um dann einen 3er BMW mieten zu können, wobei die Jahresmiete dem halben Neupreis des 3er BMWs entspricht. Und natürlich muss ich auch gleich noch einen BMW für meine Frau, meine beiden Kinder (2 und 4 Jahre alt) und meine Schwiegermutter (92, blind und taub, unaustehliche Schreckschraube) dazu mieten (nicht zu vergessen die 1er BMWs die ich vorher noch kaufen muss!). Und selbstverständlich darf ich die Autos nicht weiterverkaufen, da diese explodieren, wenn ein nicht autorisierter Fahrer versucht diese zu starten.

Natürlich könnte das Sparmodel dann günstiger werden, wenn ich sehr viele Lizenzen brauche. Denn dann zahle ich ja trotzdem nur 72 mal den Grundbetrag und nicht pro Installation. Rechnen wir das einmal hoch. Ich gehe für die Rechnung von folgenden Parametern aus (persönlicher Erfahrungswert):

  1. Auf je 15 Schüler kommt ein Lehrer
  2. Auf je 100 Schüler kommt ein weiterer Verwaltungsangestellter (Sekretärin, Hausmeister, Schulpsyschologe, …)
  3. auf je 10 Schüler kommt ein Schul-PC
  4. Pro Supermarkt Lizenz 90€ bzw. 50€ beim Sparmodel

Dann kommt man darauf, dass bei einer erwarteten Laufzeit von 4 Jahren das Sparangebot in jedem Fall mindestens doppelt so teuer ist, wie der “Supermarktpreis”.  Hat man eine heterogene Umgebung, bei der ein Teil der PCs unter Linux o.ä. lauft, dann geht die Differenz noch viel weiter auseinander. In dem o.g. Beispiel sind das immerhin 3600€ zu 14.000€. Das macht eine Differenz von 10.400€!

Rechnet man weiter und berücksichtigt Updates des Betriebssystems, dann sieht die Situation wie folgt aus: Im Schnitt gibt es alle 2-3 Jahre ein neues Windows System. Wenn man annimt, dass das neue System im Supermarkt genau so viel kostet wie das vorherige (immer 90€ ) und man alle zwei Jahre das System erneuert, dann liegen die Kosten des Sparmodels und dem einfachen Kaufen der Lizenzen im Supermarkt etwa auf dem gleichen Level (das Sparmodell ist immer noch 10% teurer).
Nun ist es allerdings sehr unwahrscheinlich, dass eine Schule immer sofort nach dem Erscheinen eines neuen Betriebssystems aktualisiert. Gründe hierfür sind manigfaltig: Inkompatibilität mit verwendeter Software, unzureichende Hardware für ein neues System, Gewohnheit, Kinderkrankheiten eines neuen Systems, …). Wenn man diesen Faktor mit betrachtet, dann wird praktisch keine Schule die Möglichkeit der regelmäßigen, “kostenfreien” Updates in Anspruch nehmen.

Wenn man all dies betrachtet, dann ist das “Sparangebot” eine reine Abzocke.

Menschen für Projekt gesucht: Essen, Gemeinschaft, Nachhaltigkeit

Ich suche Menschen die Lust haben an einem spannenden Projekt mitzumachen:

Das Projekt bietet allen die mitmachen die Möglichkeit, an einer interessanten Sache mit zu arbeiten.
Der Fokus liegt nicht darauf schnell eine große Menge an Geld zu verdienen, sondern vielmehr nachhaltige Möglichkeiten zu schaffen, die sich teilweise auch bis in den wohltätigen Bereich erstrecken.
Inhaltlich geht es darum eine neue Plattform zu entwickeln, die (im weitesten Sinne) sehr viel mit Essen zu tun hat, aber auch der Punkt gemeinschaftlich spielt eine Rolle. Mehr Details gebe ich gerne bei persönlicher Ansprache.

Um das Projekt umzusetzen suche ich Leute die folgendes mitbringen:

- Spaß gemeinschaftlich an einem Projekt zu arbeiten
- Spaß und Freude an gutem Essen
- Kreativität
- Skills in den Bereichen
- (Web-) Entwicklung
- Webdesign
- Datenbankdesign
- Grundlegende Sicherheitsmechanismen
- App Entwicklung (Android/iOS)
- Bereitschaft sich in die Themen einzuarbeiten
- Kochen & Essen

Es ist nicht nötig in allen Bereichen Skills Stufe 20 zu haben, wichtig sind besonders Spaß und Kreativität. Man muss kein Informatiker sein, um bei dem Projekt helfen zu können. Auch wenn Du im ersten Moment vielleicht denkst, das kann ich alles nicht, dann bedeutet es nicht, dass du keine Bereicherung für das Projekt sein kannst.

Ich freue mich über alle Interessierten.

P.S. Da meine Reichweite begrenzt ist, würde ich mich sehr freuen, wenn ihr das hier an Leute weitergeben könntet, die ihr kennt und die ggf. Interesse haben könnten.

Umstieg auf Owncloud

Owncloud ist eine freie Open Source Lösung um seine eigene (private) mini Cloud aufzusetzen. Der Name Cloud ist dabei insofern irreführend, dass es eigentlich keine Cloud (mehrere im Intener verteilte Hosts) ist, sondern eine Software die verschiedene Dienste wie Dropbox, Kalender-und Adresssynchonisierung und Andere bereitstellt.

Owncloud kann man sich frei runterladen und auf dem eigenen Server installieren. Als Server kann entweder ein ausrangierter PC oder z.B. ein Raspberry Pi dienen, der von zu Hause aus über den normalen DSL Anschluss mit dem Internet verbunden ist. Alternativ kann man natürlich auch einen Server irgendwo im Rechenzentrum mieten und Owncloud darauf betreiben. Die Installation ist sehr einfach und dank einer ausführlichen Dokumentation auch ohne fundiertes Hintergrundwissen möglich.

Hat man Owncloud installiert, so kann man Owncloud verwenden um seine Kalender und Adressbücher zwischen mehreren Geräten zu synchronisieren. Dazu bietet Owncloud auch noch die Möglichkeit Dateien ähnlich wie bei Dropbox oder anderen Anbietern zwischen verschiedenen Geräten abzugleichen. Für alle gängigen Betriebssysteme gibt es hierzu entsprechende Client Software.

Der große Vorteil gegenüber Herstellerspezifischer Lösungen hat man hier selbst die Kontrolle über seine Daten, externe Dienstleister haben keinen Zugriff. Owncloud unterstützt auch direkt out of the Box eine Serverseitige Verschlüsselung: die eigenen Daten sind auf diese Weise zunächst ein Stück weit geschützt. Dennoch empfiehlt es sich sensible Daten weiterhin mit zusätzlichen Tools wie Truecrypt zu verschlüsseln, um eine echte Ende zu Ende Verschlüsselung zu haben. Denn bei der reinen serverseitigen Verschlüsselung liegt auch der Schlüssel irgendwo auf dem Server. Ein Angreifer der die Kontrolle über den Server übernimmt wäre so in der Lage die verschlüsselten Daten zu lesen.

Soweit hat mein Wechsel auf Owncloud reibungslos funktioniert. Auf allen Clients funktioniert der Sync ohne Probleme.

eLearning als Ergänzung zum Schulunterricht

Aus gegebenen Anlass möchte ich gerne ein paar Zeilen über ein Projekt schreiben an dem ich mit zwei Kollegen seit ein paar Monaten arbeite: Eleanor.

Eleanor ist der Arbeitstitel für eine eLearning Plattform. Nun gibt es bereits eine ganze Reihe an verschiedenen Lösungen die alle eine eLearning Plattform bereitstellen. Moodle, Olat und Ilias sind nur drei relativ bekannte Vertreter einer ganzen Familie von Produkten. Alle Lösungen haben ihre eigenen Stärken und Schwächen. Alle diese Plattformen haben jedoch eins gemeinsam: sie sind auf den Einsatz in der Hochschule konzipiert.
Nun kann man diese Plattformen natürlich auch in der Schule einsetzen. Möchte man nur die verschiedenen Kurse (=belegte Unterrichtsfächer) online nachbilden und über diese virtuellen Klassenräume beispielsweise Unterrichtsmaterial bereitstellen sind diese Lösungen ausreichend. Möchte man jedoch darüber hinaus auch verschiedene Verwaltungstätigkeiten die in der Schule anfallen über diese Plattformen abwickeln so ist das meistens nicht möglich oder mit einem hohen Aufwand verbunden.

Mit Eleanor wollen wir diese Lücke schließen. Neben dem althergebrachtem virtuellen Klassenzimmer – ein konservatives Modell – bringen wir eine Reihe von neuen Konzepten und Möglichkeiten in den Schulalltag.

Das versprochene Ziel von Eleanor ist die Verbesserung der Kommunikation zwischen Schülern und Lehrern sowie zwischen Lehrern. Dabei versuchen wir nicht ein schulinternes Soziales Netzwerk zu schaffe. Soziale Netzwerke gibt es genug. Und weder Schüler noch Lehrer wollen außerhalb des Unterrichts viel Zeit in einem uncoolen Schulsystem verbringen. Deshalb reduzieren wir die nötige Interaktion mit Eleanor auf ein Minimum. Eleanor läuft im Hintergrund und unterstützt Schüler und Lehrer bei ihrer Arbeit ohne dabei aufdringlich zu werden. Sowohl für Schüler als auch für Lehrer wird Eleanor den Schulalltag erleichtern, insbesondere Lehrer die zusätzlich zum Unterricht noch verschiedene Verwaltungsaufgaben in der Schule haben.

Eleanor ist wie viele andere eLearning Lösungen eine Webapplikation. Hierdurch erreichen wir eine maximale Kompatibilität mit den verschiedenen Betriebssystemen. Da Eleanor auf unseren Servern betrieben wird muss sich der Nutzer nicht mit technischen Fragen auseinander setzen. Wenn ein Server nicht richtig funktioniert, dann wird er von uns schnellstmöglichst ersetzt. Im Idealfall merken die Nutzer hiervor garnichts.
Damit alle Daten die mit der Zeit anfallen möglichst sicher sind nutzen wir keine große Cloudlösung bei der Server weltweit verteilt sind, sondern setzen auf eine in Deutschland betriebene Infrakstruktur.

Noch möchte ich nicht zu genau auf die einzelnen Details und Funktionen von Eleanor eingehen. Hierzu wird sehr bald die Gelegenheit kommen da wir uns stetig der ersten stabilen Version nähern (das erste Release ist für Ende dieser Woche geplant).

Eleanor ist keine freie Software. Wir haben uns bewusst hierfür entschieden. Auf diese Weise können wir selbst entscheiden wie wir Eleanor weiterentwickeln (wir haben sehr konkrete Pläne für die Zukunft) und wir können garantieren, dass eine Weiterentwicklung auch wirklich stattfindet. Zusätzlich können wir nur so einen entsprechenden Service und eine kurze Reaktionszeit bei Problemen und Bugs anbieten.

Auch nach dem ersten Release wird Eleanor noch nicht für den Produktivbetrieb zur Verfügung stehen. Da wir eine hohe Qualität garantieren wollen werden zunächst nur wenige Schulen an einer geschlossenen Beta Phase teilnehmen.

Wir haben zwar sehr konkrete Vorstellungen in welche Richtung sich Eleanor entwickeln soll, dennoch nehmen wir gerne Wünsche und Vorschläge für Änderungen und Ergänzungen an. Hierdurch können wir eine optimal an den Schulalltag angepasste Lösung schaffen. Daher kooperieren wir bereits seit dem ersten Entwicklungstag mit Lehrern und Schulen, um nicht an der Relität vorbei zu entwickeln.

Wer sich für die Teilnahme an der Beta Phase interessiert, egal ob Sie eine Schule repräsentieren oder privat interessiert sind, kann gerne per E-Mail Kontakt mit mir aufnehmen.

Man of Steel

Gestern gesehen: “Man of Steel”

Ich bin ja nun wirklich kein Fan von Superman. Aber diese Superman Verfilmung hatte großes Potential, da der Film anders an die Geschichte rangeht als die vorherigen Filme.
Die ersten Zehn Minuten des Films waren sehr gut, die nächste halbe Stunde war auch noch gut. Anschließend wurde es leider immer schlechter. Zur Mitte gibt es einen absoluten Tiefpunkt der auch gegen Ende nur minimal besser wird. Endlose Prügeleien zwischen Superman und seinen Artgenossen die auch aus der Hand von Michael Bay oder Roland Emmerich hätten kommen können.
Insgesamt kann man sagen die zu grundeliegende Handlung war gut, wurde aber sehr viel schlechter umgesetzt als möglich gewesen wäre. Besonders die Hintergründe zur Herkunft von Superman und seinem Volk waren vielversprechend. Die Special Effects waren ordentlich, 3D hat mehr gestört als das es einen Gewinn gebracht hat (ziemliche Unschärfe besonders in den Kampfscenen) und auch die verdammte Wackelkammera die alle Actionscenen des Films begleitet nervt gewaltig.
Schauspielerisch war der Film in Ordnung, Russel Crowe als der leibliche Vater von Superman war eine gute Besetzung.

Man kann sich den Film anschauen, aber die 8.1 Punkte hat er eigentlich nicht verdient. Persönlich gebe ich dem Film 6/10

http://www.imdb.com/title/tt0770828/

Programmieren in der Schule

Heute ist es in der Schule üblich im Informatikunterricht in der Oberstufe den Schülern eine Programmiersprache beizubringen. Ich selbst durfte Delphi lernen, an anderen Schulen wird Java oder Python gelehrt. Aber welche Programmiersprache ist am besten dafür geeignet in der Schule gelehrt zu werden?

Delphi

Die Programmiersprache Delphi basiert im Ursprung auf Pascal, einer in den frühen Siebzigern entwickelte Programmiersprache. Pascal wurde zu seiner Zeit extra mit dem Fokus entwickelt eine Lehrsprache zu sein: Pascal war einfach zu erlernen.
Das heutige Delphi (auch Object Pascal) erweitert das prozedurale Pascal um Objektorientierung und andere Features.
Auch Delphi ist für einen Anfänger leicht zu erlernen. Der große Nachteil: Delphi ist auf Windows beschränkt. Mit Kylix gibt es zwar auch die Möglichkeit Delphi unter Linux zu verwenden, allerdings nicht nativ sondern nur über eine Virtuelle Maschine.
Die Bedeutung von Delphi außerhalb des Lehrumfeldes ist eher gering (derzeit Platz 15 im Tiobe Index mit Tendenz nach unten) und das moderne Delphi konzentriert sich auf das .NET Framework von Microsoft und ist damit wieder nur unter Windows Betriebssystemen sinnvoll einsetzbar.
Insgesamt halte ich Delphi auf Grund dieser Einschränkungen nicht mehr für eine zeitgemäße Programmiersprache zur Lehre in Schulen.

Python

Die dynamische Programmiersprache Python hat in den letzten Jahren große Verbreitung erfahren. Python hat keine statischen Variablen, für den Programmieranfänger sicherlich eine Erleichterung. Andererseits kommt man schnell in die Versuchung Variablen unterschiedlicher Typen durcheinander zu werfen.
Python unterstützt sowohl die prozedurale als auch die objektorientierte Programmierung, sogar funktionale Programmierung wird unterstützt.
Auf Grund der Syntax wird der Schüler von Anfang an dazu gezwungen saubere Einrückungen im Code zu machen und nicht wie Kraut und Rüben zu programmieren. Python bietet dazu eine große Anzahl an Bibliotheken für sehr viele Bereiche.
Der Python Interpreter gibt dem Programmierer detailierte Informationen für das Debugging. Besonders für Programmieranfänger ist das Wünschenswert.
Zugute kommt noch, dass Python Plattformunabhängig und freie Software ist.

PHP

PHP, Sünde oder Segen? Die Sprache PHP ist eine besonders im Bereich der Webentwicklung weit verbreitet. Auch PHP ist ähnlich wie Python dynamisch typisiert. PHP ist freie Software und unter allen Plattformen verfügbar und sehr einfach einzurichten.
Auch in PHP bleibt es dem Programmierer überlassen, ob er einen strukturierten oder objektorientierten Ansatz wählt.
Ein besonders großer Vorteil für Anfänger: PHP verzeiht dem Programmierer sehr viel. Man kann einige Fehler machen und dennoch tut das Programm am Ende wie es soll. Aber genau hier liegt auch das Problem: Man wird als Anfänger nur mit sehr viel Disziplin lernen sauber zu programmieren. Genau das macht es für den Anfänger wieder ungeeignet.

Java

Die Sprache Java ist besonders im Business Bereich und bei der App Entwicklung unter Android sehr weit verbreitet (Tiobe Index Platz 1). Ein großer Vorteil von Java ist die Plattformunabhängigkeit. Nicht nur die Entwicklungswerkzeuge sind für alle Plattformen kostenlos verfügbar, sondern ein Java Programm ist (zumindest in der Theorie) ohne Anpassung auf allen Plattformen für die es eine JVM gibt lauffähig.
Auch für Java gibt es eine ganze Reihe von Bibliotheken und Modulen für eine Vielzahl von Aufgaben.
Der Nachteil von Java als Lehrsprache ist die hohe Lernschwelle für Einsteiger. Java ist vollständig objektorientiert. Mit ein wenig Klempnerei ist es zwar auch möglich mehr oder minder strukturiert zu programmieren, aber Java ist klar für objektorientierte Programmierung designt. Für den Einsteiger mit keinerlei Programmiererfahrung ist das nicht der richtige Ansatz.

C++

 Die Eierlegende Wollmilchsau. C++ ist ebenfalls weit verbreitet (Tiobe Index Platz 4). Viele andere Programmiersprachen (darunter Java, C#, D, …) sind syntaktisch an C++ angelehnt. Kann man einmal C++ programmieren, so fällt es einem relativ einfach andere Sprachen die an C++ angelehnt sind zu lernen.
C++ ermöglicht es dem Programmierer sehr frei zu entscheiden, welches Programmiermodell er nutzt. Ein strukturierter Ansatz ist genauso möglich wie ein objektorienterter.
Für C++ gibt es eine große Reihe an Bibliotheken und der C++ Compiler g++ ist für alle Plattformen als freie Software erhältlich.
Aber auch C++ bietet für den Anfänger eine sehr große Hürde. Anders als die oben genannten Sprachen muss man sich in C++ per Hand um die Speicherverwaltung kümmern. Das ist besonders für Anfänger schwierig.
Hat man jedoch einmal verstanden wie C++ funktioniert, so wird man auch mit anderen Programmiersprachen oftmals ohne große Probleme zurechtkommen. Gleichzeitig lernt viel darüber wie ein Computer intern arbeitet.

Schlussfolgerung

Die perfekte Programmiersprache um sie in der Schule zu lehren gibt es nicht. Ein Kompromiss wäre die Differenzierung zwischen Anfängern und Fortgeschrittenen.

In der neunten und zehnten Klasse sollte für alle Schüler verpflichtend der Informatikunterricht stattfinden. In diesen beiden Jahren werden die Grundlagen der Programmierung mit der Sprache Python gelehrt. So ist die Einstiegshürde für alle Schüler möglichst niedrig gehalten.

In der Oberstufe können Schüler das Fach Informatik freiwillig weiterführen. Neben theoretischen und allgemeinen Aspekten der Informatik sollte hier in Q1 eine Vertiefung der bisherigen Programmierkenntnisse stattfinden. Als Sprachen stünden hier Java oder C++ zu Auswahl. Auch wenn mein persönlicher Favorit C++ ist würde ich dazu tendieren Java zu lehren. C++ in einem Halbjahr zu lehren würde nicht funktionieren, dafür ist die Sprache einfach zu komplex.