Baikal: Kalender mit anderen Benutzern teilen

Ich habe gerade Baïkal (aka Baikal) installiert, um damit meine Kalender und Kontakte zu synchronisieren. Nach ein paar Startschwierigkeiten läuft das jetzt auch recht gut. Ich nutze den Kalenderserver zusammen mit meiner Freundin, und daher wollte ich es so einrichten, dass wir jeweils lesenden Zugriff auf den Kalender des jeweils anderen haben. Leider ist das über die Web-Oberfläche von Baikal nicht direkt machbar. Es geht aber doch:

Weiterlesen

Tipp: Datum von mehreren Fotos in Picasa anpassen

Ich verwende ja seit jeher Picasa zur Verwaltung meiner Fotos. Auch wenn es seit Jahren von Google abgekündigt ist, ist es immer noch ein praktisches Programm zur Foto-Verwaltung. Heute habe ich die Fotos aus meinem USA-Urlaub importiert, und dabei festgestellt, dass ich natürlich vergessen hatte, die Zeitzone in meiner Kamera korrekt einzustellen 🙁

Eingestellt war Deutschland (UTC+2), an der Westküste gilt aber UTC-7. Alle Fotos mussten also 9 Stunden nach hinten datiert werden. Wie ich dadurch gelernt habe, hat Picasa dafür ein eingebautes Tool: Nachdem man alle zu ändernden Fotos selektiert hat, kann über „Tools/Datum und Uhrzeit anpassen…“ ein Dialog geöffnet werden.

Weiterlesen

Tipp: Fotos sortiert aus Picasa exportieren

Für die Verwaltung meiner Fotos nutze ich seit jeher die Software Picasa. Sie wurde ursprünglich von Google entwickelt, inzwischen aber leider eingestellt. Die letzte veröffentliche Version funktioniert aber (abgesehen von den Online-Funktionen, die ich eh nie benutzt habe) immer noch sehr gut. Für mich auch weiterhin die optimale Fotoverwaltung 🙂

Heute habe ein neues Feature entdeckt: Es ist möglich, die Fotos in der aktuellen Sortierung zu exportieren, und dabei Zahlen vor den Dateinamen einzufügen, damit die Sortierung auch von allen Geräten so angezeigt wird. Das Feature ist eigentlich gar nicht so versteckt, es ist unter Datei/Bilder in Ordner exportieren (Strg+Umschalt+K) zu finden.

Weiterlesen

Softcore CPU NEO430 mit GHDL simulieren

Für meine Masterarbeit beschäftige ich mich gerade mit Softcore-Prozessoren auf FPGAs. Dabei kommt für meine Arbeit der NEO430 zum Einsatz, ein sehr kleiner aber feiner Prozessor der an meinem Institut entwickelt wurde (von Stephan Nolting). Da ich aktuell noch nicht in einem Stadium bin, wo ich den Prozessor wirklich auf einem FPGA implementiere (auch wenn das der nächste Schritt ist) arbeite ich aktuell sehr viel mit Simulation, und da vor allem mit ModelSim. Ein bisschen was dazu hatte ich ja hier im Blog schon mal da zu geschrieben.

Nun hatte ich heute Abend die Idee, man könnte ja mal einen anderen Simulator ausprobieren. Mir hat es dabei GHDL angetan, vor allem, da er OpenSource ist, aber auch weil er einen interessanten Ansatz verfolgt: Der VHDL-Code wird mit einem umgebauten Compiler (GCC oder LLVM) direkt in Maschinencode kompiliert, und dieser Code dann ausgeführt. Dadurch soll der Simulator extrem schnell sein. Auf Windows ist das ganze etwas eingeschränkt, hier wird ein interner Codegenerator verwendet. Weiterlesen

CakePHP – Ein Review

Heute fragte mich jemand, ob ich eigentlich etwas kennen würde, um mit PHP „schöner“ zu programmieren. Ich dachte zugegebener Maßen erst an einen Editor (da würde ich PhpStorm (gibt’s für Studenten umsonst!) empfehlen), es wurde dann aber relativ schnell klar, das es eher um sowas wie ein PHP-Framework geht. Um es gleich mal klar zu sagen: Ohne irgendein Framework würde ich nichts in PHP schreiben, was länger als 100 Zeilen ist. Man muss das Rad ja nicht immer neu erfinden, und dabei die gleichen Sicherheitslücken wieder einbauen 🙂

Nun entwickele ich für meinen Hiwi-Job schon rund 4 Jahre in PHP. Dabei habe ich die erste Zeit eine Anwendung weiter gepflegt, die ohne ein Framework geschrieben war. Nach einiger Zeit war klar, das es so nicht weitergehen konnte, die Anwendung war, auch durch ihr Alter und die Weiterentwicklung von PHP, unwartbar geworden und lief mit schnellen Schritten auf das End-Of-Life „ihrer“ PHP-Version zu. (Mehr sage ich jetzt nicht, der Autor ließt hier mit 🙂 ). Es musste also eine Neuentwicklung her, natürlich auf Basis eines Frameworks. Damals wurde mir CakePHP empfohlen (damals noch Version 2), was ich dann relativ unreflektiert übernommen habe. Jetzt nähert sich die Anwendung langsam der Fertigstellung, inzwischen basierend auf CakePHP 3. Im Laufe der Entwicklung hat sich eine gewisse Hassliebe zu Cake entwickelt…

Weiterlesen

ftRoboExt: Software

Nach einiger Pause gibt es mal wieder etwas neues zu meinem selbstgebauten Erweiterungsmodul „ftRoboExt“. Hardware und Gehäuse waren ja schon fertig, nun fehlte eine finale Version der Software. Inzwischen ist das ganze Projekt übrigens auf GitHub zu finden.

Das Protokoll für die Kommunikation zwischen Interface und Extension ist recht einfach, es ist im Prinzip ein SPI-Bus mit einem zusätzlichen Bestätigungssignal und einer Adresse. Über drei Adressleitungen wählt das Interface aus, mit welcher Extension es sprechen möchte. Die originalen Extensions lassen sich verketten, dabei wird das Signal aber nicht ganz unverändert durchgeschleift, sondern die Adresse wird von jedem Modul um ein verringert. Auf diese Weise ist jedes Modul adressiert, wenn es Adresse 0 sieht (das erste direkt, das zweite weil es 1-1=0 sieht). Eine sehr intelligente Lösung, denn dadurch wird die Adresse des Moduls einfach durch die Verkabelung bestimmt.

Wenn das Modul die Adresse 0 sieht, zieht es EM-ACK (die Bestätigungsleitung) auf Low. Nun beginnt das Interface 6 Bytes zu senden, die Extension gibt nach jedem Byte einen kurzen High-Puls auf der EM-ACK Leitung aus. Die originale Extension scheint recht langsam zu sein, so braucht sie etwa 700µs um die Adressierung zu bestätigen. Das Interface hat aber scheinbar auch kein Problem damit, wenn man schneller ist. Die 6 Bytes übertragenen Bytes enthalten die Nutzdaten, genaueres bei thkais.

Weiterlesen

Garmin Communicator Plugin und die AddOn-Signierung in Firefox

Mit Firefox 43 hat Mozilla ernst gemacht: Unsignierte AddOn werden deaktiviert, und lassen sich auch nicht mehr aktivieren. Ich dachte immer, das das kein Problem für mich sein sollte, ich konnte mich nicht daran erinnern, jemals ein unsigniertes AddOn installiert zu haben. Heute wies mich dann aber eine freundliche gelbe Leiste auf das Gegenteil hin: Um Wegpunkte von geocaching.com direkt an mein Garmin GPS-Gerät zu versenden braucht man ein AddOn von Garmin, und das ist leider unsigniert. Garmin selbst redet auf der Download-Seite nur Quatsch:

Als Hilfe hat Garmin eine sichere Verknüpfung erstellt, um den Internet Explorer-Webbrowser auf Ihrem Computer zu öffnen und Sie sicher zur gewünschten Seite bei Garmin.com weiterzuleiten.

Weiterlesen

Kurztipp: Segmentation Fault von PHP mit XDebug unter Ubuntu 15.04

Unser Entwicklungsrechner lief hier lange unter Ubuntu 14.10 LTS, aber nach dem jetzt Ubuntu 15.04 da war, haben wir uns doch mal entschlossen, ein Update zu fahren, in der Hoffnung dadurch ein paar Probleme loszuwerden, die wir hatten. (Und ich wollte mal sehen, wie sich Systemd macht…). Abgesehen von einem kleinen Stromausfall während des Updates und darauf folgender Reparatur auf der Textkonsole (bei Windows wäre ein Neuinstallation nötig gewesen!), lief auch alles gut.

Was leider nicht mehr wollte, war Xdebug. Ohne Debugger liefen die PHP-Skripte perfekt, aber wenn man sie debuggte, wurde komischerweise teilweise Variablen nicht angezeigt und es kam zu sehr unerklärlichen Exceptions, gefolgt von einer tollen Meldung im Apache Log:


[core:notice] [pid 13686] AH00052: child pid 14595 exit signal Segmentation fault (11)

Weiterlesen

Opertunistic Encryption mit Firefox 37 und Ubuntu 14.04 LTS

Firefox 37 hat ein neues Feature: Opertunistic Encryption, oder auch „TLS for http://“. Die Idee ist einfach: Wir versuchen einfach mal, die Seite über HTTPS zu laden, auch wenn das Zertifikat nicht nicht stimmt, behaupten aber auch nicht, die Seite wäre sicher. Einfach, aber wirkungsvoll. Ich finde es aktuell schrecklich, das es entweder verschlüsselt und authentifiziert mit teurem Zertifikat, oder völlig unverschlüsselt gibt. Sollte nicht viel mehr der Unterschied verschlüsselt und nicht authentifiziert (http) oder verschlüsselt und authentifiziert (https) sein?

Natürlich ist es ein leichtes, die Verschlüsselung auszuhebeln, wenn man ein aktiver Angreifer/MITM ist. Aber es hilft gegen passives Belauschen. Und das muss nicht mal die NSA sein, es geht auch um Sachen wie FireSheep. Auf jeden Fall ist die Idee das man so, wenn möglich, ein verschlüsselte Verbindung bekommt, aber da man ja nicht weiß, mit wem man redet, behauptet niemand, das die Verbindung sicher sei.

Weiterlesen

Kurztipp: VPN Verbindungen unter Windows zurücksetzen

Irgendwie hatte ich es geschafft, die Netzwerkeinstellungen von Windows völlig zu zerlegen. Ich konnte keine Verbindung mehr zu einem VPN herstellen, und bei dem Versuch ein bestehendes VPN zu ändern oder auch nur zu löschen ist am Ende der komplette Windows-Explorer abgestürzt.

Ein Hinweis fand ich im Geräte-Manager: Dort wurden (evtl. versteckte Geräte einblenden) ein paar „WAN Miniport“s angezeigt, die ein gelbes Ausrufezeichen hatten. In den Details wurde dann ein „Fehler 31“ erwähnt. Leider ließen sich diese Geräte auch in keinster Weise löschen oder reparieren. Zu Fehler 31 findet man sogar direkt bei Microsoft den Tipp, dieser Fehler würde auftreten, wenn das Gerät nicht gelöscht werden kann, weil es nicht richtig installiert ist 😉 . Man würde es loswerden, indem manuell irgendeinen Treiber installiert, um es dann zu löschen (gleich mehr dazu). Das hat leider auch nicht geholfen, nach einem Reboot waren die Geräte und die Probleme wieder da.

Jetzt habe ich noch mal ein wenig im Netz gesucht, und bin dabei auf diesen Tipp gestoßen, und er hat funktioniert!

Weiterlesen