E-Learning Plattform „Oppia“ vorgestellt (powered by Google)

Nachdem seit einer gefühlten Ewigkeit (15 Jahre? 20?) immer mal wieder „eLearning“ als Trend des Jahres oder auch der Dekade erklärt wurde, entwickelt man ja fast eine gewisse Resistenz gegenüber des Themas.

Gerade hat aber Google ein ganz interessantes Projekt vorgestellt: Oppia.

Das folgende Video enthält eine kurze Vorstellung bzw. ein Tutorial:

Ansonsten gibt es mehr zu lesen auf der Website oder bei bei T3N.

Spannend bzw. überhaupt erwähnenswert finde ich das Projekt vor allem, weil Google zumindest in der Lage wäre, hier genug Ressourcen und Publicity einzusetzen, um das Projekt zu einem Erfolg werden zu lassen.

Und: Der Code steht als Open Source frei zur Verfügung: siehe Google Code.

Seiten oder Dateien in Mediawiki per Batch löschen

Ergänzend zum gerade vorher veröffentlichten Kurzartikel zum Import von Bildern hier noch der thematisch passende Hinweis, wie man sein Mediawiki auch wieder schnell von den importierten Dateien befreien kann 🙂

(klappt auch zum „schnell- bzw. batch-Löschen“ von Seiten)

  1. in der LocalSettings.php die Extension „Nuke“ aktivieren (ist seit einiger Zeit Bestandteil der Mediawiki Distribution), also die Zeile einfach in die LocalSettings.php einfügen:
  2. require_once "$IP/extensions/Nuke/Nuke.php";
  3. dann (bei einer deutschsprachigen Installation) die Seite „https://$deine-wiki-url/index.php/Spezial:Massenlöschung“ aufrufen
  4. der Rest sollte halbwegs selbsterklärend sein

Bilder oder Grafiken in Mediawiki importieren

Weil ich’s immer wieder vergesse und jedes Mal neu recherchiere, welche Extension man denn nochmal gleich verwendet, um Bilder oder Grafiken im Batch ins Mediawiki importiert:

  1. man braucht keine Extension! 🙂
  2. gewünschte / zu importierende Dateien auf den Server kopieren
  3. dann per Shell ins Verzeichnis $DocumentRoot/maintenance/ wechseln
  4. dort befindet sich neben anderen praktischen Scripts auch die Datei importImages.php
  5. diese einfach mittels Command-Line PHP aufrufen und das zu importierende Verzeichnis mit angeben, z.B. php5 ./importImages.php /$path/$to/$images/
  6. kurz warten und fertig!

Netgear WLAN Router WNDR3700 mit DD-WRT (alternative Firmware)

Es ist ja wirklich seltsam: Da kauft man einen WLAN Router, nimmt ihn mit der Standardsoftware in Betrieb…und wundert sich darüber, dass das „High Tech Teil“ so weit hinter den Erwartungen zurückbleibt, die der Hersteller geweckt hatte.

So geschehen z.B. bei meinem Buffalo WHR-HP-G54, der mit der installierten Firmware des Herstellers zwar halbwegs funktionierte, aber dauernd Verbindungsabbrüche bei Windows Rechnern erzeugte, sobald Mac OS Clients zum WLAN verbunden waren. Hinzu kam eine eher enttäuschende Performance. Glücklicherweise ist der Markt der WLAN Router das Hardwaresegment, wo ein Austausch der Hersteller-Firmware gegen freie Software problemlos möglich ist (wobei Buffalo ja sogar GPL-Software als Basis für seine Firmware verwendet).

Nach einiger Recherche hatte ich mich aufgrund des nicht allzu leistungsstarken Prozessor des Buffalo G54 Gerätes für die Tomato Firmware entschieden, die mit einem ausreichenden Funktionsumfang, einem sehr schlanken, tauglichen Interface und nicht zuletzt mit extremer Stabilität auftwarten kann.

Also die Firmware installiert, alle Einstellungen vorgenommen – et voilà: Alle Probleme gelöst. Außer anläßlich eines Umzugs musste ich das Gerät seitdem nicht mehr neu starten oder vom Stromnetz trennen. Statt dessen erfreue ich mich an Eigenschaften, die man sonst einem buckligen Auto nachsagte: Er läuft und läuft und läuft.

Für ein zweites Netzwerk bei mir nebst eigenem DSL Anschluss kam vor einigen Monaten ein Netgear WNDR3700 ins Haus (siehe auch Produktseite bei Netgear.de). Wie immer bei Technikprodukten darf der geneigte Leser davon ausgehen, dass ich mich vor dem Kauf umfassend informiert hatte 😉

Der Funktionsumfang stimmte also, auch die Leistungsfähigkeit der Hardware (Atheros AR7161 680 MHz CPU, 64MB RAM, 16 MB Flash, Realtek RTL8366SR Switch, Dual Band Technologie mit 2.4 GHz/AR9223 und 5 GHz/AR9220…).

Schade nur, dass die Performance so gar nicht stimmen wollte – insbesondere im internen Netz. Da sich hier sehr unterschiedliche Devices zum WLAN verbinden (iPhone 1, iPhone 4, ein alter Dell Laptop, ein MacBook Air, ein MacMini u.v.m., wenn die Familie zu Besuch ist..), kann ich auf einen „mixed mode“ nicht verzichten. Auch Device-spezifische Optimierungen scheiden somit eigentlich aus, wenn ich zu Hause nicht die ganze Zeit IT-Support leisten will. Wir erwarten also nicht das letzte Quentchen an Performance, wenn ich das brauche, greife ich auf Gigabit Ethernet Verkabelung zurück 😉 Dennoch: Mehr als 1 MB/Sek. dürfte schon gerne zwischen den Clients erreicht werden – auch wenn die Rahmenbedingungen (hinsichtlich der Geräte) alles andere als ideal sind.

Gut, dass bei der Auswahl des Gerätes auch der volle Support des Gerätes durch DD-WRT (Link zum Wikipedia Artikel) ein Entscheidungskriterium war.

Ich habe also anhand der guten gerätespezifischen Dokumentation im Wiki auf DD-WRT.com die DD-WRT Firmware eingespielt und eingerichtet, was nur ca. 20 Min. in Anspruch genommen hat (inklusive Vornahme aller Einstellungen für das Netzwerk wie WPA2 Verschlüsselung, Gästenetz mit einfacherem Zugang etc. pp.).

Die gesamte Installation und Einrichtung lief völlig problemlos, die Ping-Zeiten sind erheblich gesunken und im Ergebnis gehen nun nicht mehr 1 MB/Sek., sondern immerhin mal 5 MB/Sek. übers interne Netzwerk (via WLAN). Operation erfolgreich, würde ich sagen 😉

Und getreu dem Motto „if it ain’t broken, don’t fix it!“ werde ich mir weitere Optimierungen jetzt erstmal sparen, das kommt ggf. später. So „out of the box“ läuft das Gerät ja bereits erstaunlich gut.

Whats App Messenger und der Datenschutz – eine klare „Nichtkaufempfehlung“

In den letzten Monaten wurde mir immer mal wieder die „Whatsapp Messenger“ App empfohlen. Diese soll dem Nutzer hohe SMS Gebühren ersparen und plattformübergreifendes Instant Messaging ermöglichen (soweit ich das gelesen habe inkl. Attachments wie Bildern, Videos etc.).

OK, Geld sparen klingt immer erstmal gut – da ich in Sachen App Kauf aber zur sehr sparsamen Fraktion gehöre, hatte ich die App bisher nicht auf Verdacht gekauft. Aktuell steht sie aber kostenlos im iTunes Store zur Verfügung, ich habe also mal den Download gestartet.

Öffnet man die App, so begrüßt einen gleich der folgende Screen:

OK, mein spontaner Reflex ist da natürlich der gleiche wie wenn z.B. Facebook einen Abgleich des Adressbuches vorschlägt: Nein, natürlich will ich das nicht – es wird also auf „verbieten“ geklickt.

Die App wird dann sofort eher trotzig und ermöglicht einem keine Nutzung des Dienstes:

Das gefällt mir in der Tat nicht – ich wollte die App eigentlich nur für die allmorgendliche Abstimmung mit einem Freund und Arbeitskollegen nutzen („und, wann fahren wir heute..?“). Somit möchte ich der App natürlich nicht mehr Zugriffsrechte auf meine Daten einräumen als genau diese eine Telefonnummer oder User-ID.

Ein kompletter Abgleich mit meinem Adressbuch ist weder notwendig noch zumutbar und in der EU nebenbei nichtmals gesetzlich zulässig. Letzteres scheint dem Anbieter auch klar zu sein – zumindest wird in den Bedingungen und in der ihren Namen kaum verdienenden Privacy Policy auch hierauf eingegangen. Hier wird versucht, die Verantwortung für eine Übertragung der Daten aus der EU in die USA unterzuschieben – ob dies zulässig oder möglich ist, vermag ich nicht sicher zu sagen.

Was hier passiert ist ja ohnehin etwas, wo es nicht um meine Daten, sondern diejenigen meiner Kontakte geht – also die privaten Daten Dritter. Diese haben keine Chance, der Datenfreigabe bzw. der Übertragung zu wiedersprechen, also sollte man selber mit diesen Daten besonders verantwortungsvoll (besser: paranoid!) umgehen.

An der Stelle darf ich meine Kontakte auch darum bitten.

Dann mal zur Frage was denn im normalen Betrieb hier wohl passiert – bzw. was passiert wäre, hätte ich dem Adressbuchabgleich zugestimmt:

  • durch den Abgleich mit meinem Adressbuch wären alle (ca. 800) Einträge meines iPhones an die Fa. Whatsapp übertragen worden
  • ob hierbei nur Rufnummern oder stets der komplette Datensatz inkl. Name, ggf. vorhandener Beschreibungen, Photos etc. auf deren Server geht ist unklar; in Ermangelung einer anderen Information gehe ich mal vom schlimmsten aus (kompletter Transfer)
  • die Kontaktdaten (mindestens die Rufnummern) bleiben dauerhaft (!!) auf den Systemen des Anbieters gespeichert (sonst könnte die App ja keinen sofortigen Abgleich für neue User machen)
  • ein Test der App und darauf folgendes Löschen verhindert also nicht, dass das Unternehmen zumindest die Möglichkeit hat, die Adressbuchdaten für immer gespeichert zu lassen

Warum man nicht einfach die seriöse Option verwendet (nämlich ein manuelles Eintragen der gewünschten Kontakte bzw. die manuelle Suche nach schon bei Whatsapp registrierten Usern) ist klar: Vertriebsziele bzw. eine möglichst große und aktive Userbase sind wichtigere Anliegen als der Datenschutz -nicht unüblich bei Internetstartups…

Ich denke es ist klar geworden, dass ich wohl kein Whatsapp User mehr werde.

Nachdem das recht schnell entschieden war, wollte ich mir aber zumindest noch die Frage nach Alternativen stellen. Ich selbst habe zwar einen Handytarif mit „nahezu Flatrate“ (die Anzahl der erlaubten SMS und Telefonminuten überschreite ich niemals), aber das gilt ja nicht unbedingt auch für alle meine Freunde.

Statt Whatsapp könnte man…

  • wie bisher SMS nutzen und sich um eine Flatrate kümmern
  • das sichere Jabber Protokoll verwenden, bei dem man sogar den Server selbst betreiben kann und somit nicht nur die gesamte Kommunikation, sondern auch die Speicherung der Kontaktdaten in der eigenen Hand behalten kann (das machen wir z.B. in der Firma)
  • Skype verwenden und damit zwar auch einige Daten bei einem amerikanischen Unternehmen speichern, aber dies nur sehr selektiv. Gleichzeitig kann man bei Skype ja wunderbar mit Pseudonymen arbeiten. Zentral ist aber das vorgenannte Wort „selektiv“: Man ist bei Skype nicht gezwungen, sein komplettes Adressbuch zu synchronisieren (also auf den Server des Anbieters zu kopieren!) Ich hätte mir nebenbei nicht vorstellen können, Skype mal als ein Positivbeispiel für Datenschutz anzuführen, aber es kommt wohl immer auf das Verhältnis an 😉

Wie absurd eine solche Adressbuchfreigabe ist, hat Stefan Dom in seinem Blog recht deutlich und gleichzeitig anschaulich formuliert. Man merkt ihm die Entrüstung an:

so… und nun stelle man sich vor, dass man auf der strasse angequatscht wird: “hey.. willst du umsonst mit deinen freunden telefonieren? dann gib mir mal dein notizbuch mit all adressen, die du in deinem leben gesammelt hast. ich verschwinde kurz damit um mir das zu kopieren. wenn da einer deiner freunde drin steht, dessen adressbuch ich mir auch schon kopiert habe, dann kannst du mit dem telefonieren, aber sonst mit niemandem”. bescheuert oder? niemand wuerde sowas machen.

 

Fazit:

Natürlich, Sicherheit ist unbequem und Datenschutz führt dazu, dass man auf manches Onlineangebot oder eben manche App besser verzichten sollte.

Nun gut, dann ist das eben so – gerade bei dieser App. Hier geht es schließlich nichtmals um meine persönlichen Daten, sondern um diejenigen meiner Familie, meiner Freunde und nicht zuletzt meiner Geschäftskontakte und -freunde (!).

Asus Eee PC mit Ubuntu 10.10 (Maverick Meerkat)

Auch wenn mein Apple MacBook Pro (13.3 Zoll) ja schon recht handlich ist, so wäre als Reisebegleiter weniger Gewicht und weniger Größe durchaus nett – ich teste daher gerade einen Asus Eee PC (danke an die Kollegen von make.tv für die Leihgabe!).

An Windows mag ich mich aber nicht gewöhnen müssen. Als erstes wurde daher ein Image der bestehenden Platte gemacht und das installierte Windows XP durch ein Ubuntu 10.10 (Maverick Meerkat) ersetzt.

In Ermangelung eines internen CD-/DVD-Laufwerks wollte ich vom USB Stick booten, dies schlug aber fehl. Trotz verschiedener USB Sticks, trotz der Erstellung des bootfähigen Images unter Linux und Mac OS hat der Eee PC partout nicht vom USB Device booten wollen. Mit einem externen USB CD-Laufwerk hingegen klappte die Installation ohne Probleme – bis auf eine Kleinigkeit, die aber schnell zu beheben war:

Displayhelligkeit

Das Display gibt erst einmal ein enttäuschendes Bild ab: Es ist nach der Installation dunkler als beim vorher installierten Windows und läßt sich über die Einstelldialoge von Ubuntu ebenso wenig gut einstellen wie über die Funktionstasten: Die Helligkeit „springt“ zwischen den Stufen stark hin und her – und bei Einstellungen über 79% Bildschirmhelligkeit wird es wieder dunkler (!).

Die Lösung hierfür ist schnell und einfach, gefunden im Blog von Tom Schimana:

Datei „/etc/default/grub“ editieren:

vi /etc/default/grub

Dort zur Zeile GRUB_CMDLINE_LINUX_DEFAULT navigieren und hier folgende Änderung vornehmen bzw. die Zeile durch diesen Text ersetzen:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux"

Mit sudo update-grub2 die Änderungen speichern bzw. die Grub Konfiguration erzeugen, reboot und schon ist das Problem gelöst…

Zwischenfazit

Nachdem nun der Monitor hell strahlt, bin ich mit dem ersten Eindruck sehr zufrieden. Natürlich ist so ein Asus Eee PC kein Ersatz für mein Apple MacBook Pro, aber mit ca. 250.- Ladenpreis kostet das Netbook schließlich auch nur ca. ein Drittel…

Ich nutze den Rechner jetzt ein paar Tage zu Hause und entscheide, ob ich damit in unserer Ferienwohnung im Urlaub für ein paar Stunden arbeiten kann. In dem Falle bleibt der Apple zu Hause – das Asus Gerät ist leichter, kleiner und im Falle eines Diebstahls eher zu verschmerzen 😉


Kurznotiz: Darwinports, Fink und Macports

Nachdem Stefan in seinem Blog kurz und eindringlich von Darwinports abriet und Fink mich vor einiger Zeit schon nicht begeistert hatte, habe ich heute mal Macports eine Chance gegeben.

Kurzfazit:

  • Installation über einen Mac Installer (!), entsprechend problemlos und schnell
  • Installation von Paketen sehr einfach, automatische Auflösung von Abhängigkeiten klappt gut
  • binnen 15 min. gewechselt vom unerträglich schlechten RSYNC auf dem Mac zu einer aktuellen Version (rsync  version 3.0.7  protocol version 30)

Tipp der Redaktion, sozusagen 😉

VirtualBox Images kopieren; Netzwerkinterfaces eth0, eth1, eth2…; Netzwerk funktioniert nicht?

Kopiert man VirtualBox Images mit Linux-Systemen als Gast (zumindest Ubuntu und Debian, ggf. weitere), funktionieren oftmals die Netzwerkeinstellungen nicht mehr.

Dies liegt daran, dass bei VirtualBox i.d. Regel nur das Festplatten-Image, nicht jedoch die Konfiguration der virtuellen Hardware kopiert wird (wie das z.B. bei vmWare der Fall ist). Vergleichbar ist dies also mit dem Einbau der Festplatte in eine andere Rechner-Hardware.

Um zu verhindern, dass Netzwerkkonfigurationen z.B. durch den Einbau neuer Hardware ungültig werden, werden die Konfigurationen (z.B. für das Device eth0) an die Hardwareadresse (MAC-Adresse) der jeweiligen Netzwerkkarte gebunden.

Das heisst also:

  • bei der Neuinstallation eines Linux-Systems befindet sich eine Netzwerkkarte im Rechner
  • diese wird als eth0, also als erstes Netzwerkdevice am Bus identifiziert
  • das Betriebssystem speichert in der Datei /etc/udev/rules.d/70-persistent-net.rules die Zuordnung dieser Netzwerkkarte (über die MAC-Adresse) zum Devicenamen „eth0“
  • die Netzwerkkarte bzw. das Netzwerk wird konfiguriert (feste IP-Adresse vs. DHCP etc.) in der Datei /etc/network/interfaces

Der Eintrag in o.g. /etc/udev/rules.d/70-persistent-net.rules sieht ungefähr wie folgt aus:

# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="6c:62:6d:0d:9c:93", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Wird nun das Festplattenimage auf einen anderen Rechner kopiert, so wird i.d. Regel eine neue virtuelle Maschine angelegt, wobei VirtualBox automatisch eine zufällige MAC-Adresse für die virtuelle Netzwerkkarte erzeugt.

Beim Start erkennt das Linux-System dann ein neues Interface und trägt dieses in der Datei /etc/udev/rules.d/70-persistent-net.rules ein. Da die bisher verwendete ID (in unserem Beispiel eth0) ja bereits vergeben ist, wird entsprechend hochgezählt: Die neue virtuelle Karte erhielte dann z.B. eth1.

Da in /etc/network/interfaces die Konfiguration jeweils für das spezifische Device definiert wird (z.B. eth0), greift sie entsprechend für eth1, eth2, eth3 etc. nicht – das Netzwerk funktioniert also nicht, da das in der VM verfügbare Netzwerkdevice noch unkonfiguriert ist.

Es muss also vor dem Start des Gastes manuell eingegriffen werden. Hierfür kommen 3 Optionen in Betracht:
weiterlesen »

Agile Entwicklung vs. Wasserfallmodell & Co.

Dass agile Entwicklung bisweilen erhebliche Vorteile gegenüber althergebrachten Entwicklungsmethoden hat ist hinlänglich bekannt. In diesem Zusammenhang sehr interessant ist die nüchterne Betrachtung des Projekterfolgs je nach Vorgehensweise, den Eberhard Huber im „projekt (B)LOG“ vollzieht:

Quelle: projekt (B)LOG - http://www.pentaeder.de/

Serviert wird diese Grafik unter der Überschrift…

Das Wasserfallmodell bleibt problematisch

– eine Aussage, die wir eindeutig teilen.

Ebenso wie die Schlußworte des Autors:

Es bleibt m.E. problematisch, dass das Wasserfallmodell immer noch in 30% der Projekte eingesetzt wird.

Nebenbei: Das projekt(B)LOG ist es m.E. in jedem Falle wert, den Weg in den RSS Reader zu finden.

Java 4 ever

Eigentlich ist ja PHP unser Kerngeschäft, aber das ist schlichtweg zu genial, um die werten Leser nicht damit zu erfreuen 😉

Medium: www.youtube.com
Link: www.youtube.com