]> Matthias Wimmer (溫雅石)

Content tagged DE

Meine Fortschritte in Chinesisch

posted on

Vor eineinhalb Jahren schrieb ich, als ich gerade mein HSK2-Zertifikat beim Konfuzius Institut in München abgeholt hatte. Heute nun habe ich wieder ein Prüfungsergebnis bekommen: die HSK4-Prüfung vor zwei Wochen habe ich bestanden. Das ist nun zwei Stufen höher und man merkt, dass die Stufen zwischen den Prüfungen immer größer werden: von HSK2 zu HSK3 brauchte ich 9 Monate, von HSK3 zu HSK4 war es schon ein Jahr. Die Menge der notwendigen Vokabeln verdoppelt sich auch jedes Mal, von der Gramatik ganz abgesehen. (Wikipedia: Hanyu Shuiping Kaoshi)

Die Prüfungen haben sich für mich als gute Methode herausgestellt mein Lernen voran zu treiben. Es ist Ziel, Motivation und ein Paket an Anforderungen, die ich mir vornehme.

Nächstes Ziel nun also: HSK5 ... irgendwann im nächsten Jahr. Aber die Vorbereitung beginnt jetzt und das ist ab sofort meine Motivation.

Meine Zertifikate: 汉语水平考试(HSK)一级和二级

posted on

Inzwischen steht mein Kopf eher schon beim nächsten Test. Trotzdem wollte ich noch von meinen Prüfungen im September abschließend berichten:

Mein Gefühl hat sich bestätigt, ich habe beide Prüfungen bestanden. HSK1 sogar ohne Fehler. Die Ergebnisse waren ab dem 16. Oktober online einsehbar. Hierzu kann man sich einfach mit den persönlichen Zugangsdaten auf der Seite anmelden über die der Test auch gebucht wurde und sieht dann die Ergebnisse oder man kann auch ohne Login dort die Ergebnisse abfragen, wenn man seinen Namen und die Admission-Ticket-Nummer eingibt. Am 9. November war es dann soweit und ich konnte auch meine Zertifikate im Konfuzius Institut München abholen.

汉语水平考试(HSK)一级和二级

posted on

Letzten Sonntag habe ich mein Chinesisch testen lassen. Ich hatte mich zu den Prüfungen HSK 1 und HSK 2 angemeldet. Ursprünglich wollte ich nur die niedrigste Stufe HSK 1 schreiben und meldete mich entsprechend an. In der Vorbereitung merkte ich jedoch schnell, dass die Anforderungen hierfür nicht so hoch waren wie ich dachte. Zwar gab es noch ein paar Vokabeln, die ich nicht kannte, aber im Großen und Ganzen hatten wir den Stoff längst im Unterricht behandelt.

Dann laß ich beim Konfuzius Institus München, dass es auch möglich ist sich für zwei benachbarte Prüfungslevel gleichzeitig anzumelden. Die Prüfungszeiten sind so geplant, dass dies geht. Das klang gut: für HSK 1 konnte ich mich eh nicht mehr abmelden und ich könnte parallel versuchen, ob ich nicht schon die nächste Stufe schaffe. Gedacht getan, ich meldete mich auch hierfür an.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Benutzt du Clojure in der Arbeit?

posted on

Wenn ich auf ein Meetup gehe, lautet die erste Frage immer „was machst du so?“. Beginnt das typische Gespräch hingegen mit „benutzt du Clojure in der Arbeit?”, bin ich auf der :clojureD in Berlin gelandet.

Am 24. Februar war ich auf meiner ersten Clojure-Konferenz. Nach einem Treffen der Munich Clojurians war das erst mein zweites Zusammentreffen mit anderen, die der Begeisterung dieser Programmiersprache erlegen sind.

Es war ein tolles Erlebnis. Auf keiner Konferenz bisher hatte ich so den Eindruck, dass alle einfach ein rießen Interesse an Softwareentwicklung haben und alle dafür brennen neue Gedankenanstöße aufzunehmen. Keiner der einfach nur seine Arbeit erledigt bekommen will. Ich hatte das Gefühl wirklich unter den Besten zu sein, die es in meinem Beruf gibt.

Wie schade, dass anscheinend trotzdem das Potential der Sprache so oft noch nicht genutzt wird. Obwohl ich im Cognicast oft genug auch schon die andere Seite gehört habe: Firmen, die darüber klagen zu wenige Clojure-Entwickler zu finden. Die Antwort auf der :clojureD war leider öfters: „nein, in der Arbeit nutze ich kein Clojure“.

VDSL von der Telekom mit IPv6 und Debian

posted on

IPv6 is the new normal

Meine letzten IPv6-Tunnel werden langsam überflüssig. Seit letzter Woche haben wir auch im Büro natives IPv6. Die Telekom hat uns auf einen NGN-Anschluss umgestellt.

Setup

IPv6 aktivieren

Kurz zusammengefasst

Für den IPv6-Zugang muss der pppd IPv6 auf der PPP-Verbindung aktivieren. Die Telekom benutzt dann Router-Advertisements (radv) um dem ppp0-Device eine IPv6-Adresse zu geben. Soll IPv6 im LAN weiterverteilt werden, bekommen wir Präfixe hierfür über Präfix-Delegation per DHCPv6. Letzteres kann aber nicht als Ersatz für die Router-Advertisements genutzt werden, da die Telekom nur Präfixdelegation darüber macht.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Worin ich mich 2016 verbessere: Clojure und Softwaretests

posted on

Mein einer Vorsatz für dieses Jahr ist es die Philosophie von Clojure zu denken. Seit 2011 spiele ich mit Lisp und 2014 hatte ich meinen ersten Kontakt zu Clojure, einem der Dialekte von Lisp. Der andere ist, ich möchte meine Erfahrungen mit Softwaretests ausbauen. Bisher hatte ich vor allem an meinen Fähigkeiten mit Unit-Tests gearbeitet und hierfür meinen Stil gefunden. Jetzt will ich automatische Integrationstests in mein Standardrepertoire von Entwicklungstechniken aufnehmen.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Vim, Emacs oder IDE (IntelliJ)?

posted on

In welchem Editor kann ich den besten Code schreiben? Vim wie bisher, doch vielleicht besser Emacs oder gar wie meine Kollegen mit einer IDE? Die letzten Wochen habe ich getestet: zwei Wochen nur Emacs und zwei Wochen nur IntelliJ als IDE

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Mein Weg zur testgetriebenen Entwicklung

posted on

Testgetriebene Entwicklung (TDD) funktioniert – überall. Sie scheitert nicht am Kunden, den nicht Qualität sondern Tempo interessiert. Sie steht nicht im Widerspruch zum jungen Projekt mit wenig Budget, das schnell Kunden gewinnen muss um zu überleben. Sie hindert nicht daran schnell Features umsetzen zu können. Ja, sie macht mir auch nicht (mehr) langsamer.

Es ist keine neun Monate her, dass ich das nicht glauben konnte. Mehrere Anläufe hatte ich unternommen neben Code auch Tests zu schreiben. Länger als zwei Monate ging das nie gut:

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

„ARM Assembly Language - an Introduction“ von J. R. Gibson

posted on

ARM Assembly Language – an Introduction

Die letzten Tage habe ich das Buch ARM Assembly Language – an Introduction von J. R. Gibson gelesen. Es ist eine Anleitung wie man ARM-Prozessoren in Assembler programmiert. Geschrieben wurde das Buch als Lehrbuch an der Universität Liverpool. Das merkt man, am Ende jeden Kapitels stehen Übungsaufgaben zum Einprägen und Verständnis überprüfen.

Das Buch ist perfekt für Einsteiger in der Assemblerprogrammierung. Der Leser erhält einen ausführlichen Überblick wie er in dieser Sprache programmieren kann. Wird der Einstieg mit einer begleitenden Vorlesung und Übungen unterstützt, so funktioniert das Buch noch besser. Es hilft aber auch, ein paar Grundlagen der Zahldarstellung und der Bit-Manipulation schon zu kennen.

Im Buch wird die ARM-7-Architektur behandelt. Vor allem wird der Prozessor ARM7TDMI betrachtet. Details zu den Prozessoren oder anderer Hardware findet man aber nicht. Dadurch ist das Buch auf für die allgemeine ARM-Programmierung interessant. Wer allerdings die Cortex-M-Prozessoren programmieren möchte, hat mit diesem Buch nicht das richtige. Es behandelt nicht die THUMB-Befehle, die der Cortex-M ausschließlich unterstützt.

Meine Bewertung: 5 von 5 Punkten für den Leser, der Assembler auf einem ARM-Prozessor lernen möchte und motiviert sind auch die Übungsaufgaben zu bearbeiten. Lesen alleine reicht nicht aus.

„C++11“ von Rainer Grimm

posted on

C++11, Der Leitfaden für Programmierer zum neuen Standard

Endlich wissen was in C++11 neu ist, deswegen habe ich „C++11, Der Leitfaden für Programmierer zum neuen Standard” von Rainer Grimm gelesen. Ein dickes Buch mit 500 Seiten beschreibt was sich in der neuen Version seit 1998 geändert hat oder neu ist. – Und das ist eine Menge.

Immer wieder war ich erstaunt über ungewöhnliche neue Konstrukte und neue Syntax. Solch große Änderungen hatte ich einer reifen Sprache nicht zugetraut. Meine Highlights in C++ sind:

Sehr mutig ist die Spezifikation auch weil sie eine neue Syntax für Funktionen einführt. Bisher definieren wir eine Funktion in der Reihenfolge „Rückgabetyp, Funktionsname und Parameterliste“. In C++ können wir den Rückgabetyp auch hinter die Parameterliste schreiben:

auto fac(int n) -> int {
    return n > 0 ? n * fac(n - 1) : 1;
}

Rainer Grimm geht die Änderungen leicht verständlich an: in drei Durchgängen zeigt er zuerst nur was es neues gibt, im zweiten geht er weiter in die Tiefe der Erweiterungen und im dritten geht er ins Detail. Er Leser kann sich so schnell einen Überblick verschaffen und stolpert in den Details nicht darüber, wenn in Beispielen auch eine andere Neuerung als die gerade erklärte schon benutzt wird. Einziges Manko: im dritten Durchgang bei den Details wurde mir etwas langweilig. Trotzdem ein großartiges Buch dem ich vier von fünf Punkten gebe.

Timing-Fehler auf dem Modbus

posted on

Modbus ist einer Feldbussystem. Eine Steuerung kommuniziert seriell über nur zwei Adern mit mehreren Sensoren und Aktoren. Ich entwickle die RemoteGuard. Diese erfasst Sensordaten so und über andere Schnittstellen und kann dann Aktionen starten oder Daten an unsere M2M-Plattform übertragen.

Für die Entwicklung muss ich oft Sensoren simulieren. Das geht gut und einfach mit einem Arduino. Schnell etwas Hardware zusammengesteckt und Software aufgespielt. Löten meist nicht nötig.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

DNSsec-Signaturen überprüfen mit Bind

posted on

Wer einen authoritativen Nameserver betreibt sollte die eigenen Zonen mit DNSsec sichern. Hier zeige ich euch, wie ihr einen rekursiven Nameserver so einrichtet, dass der DNSsec-Signaturen prüft. Was ist der Unterschied? Authoritative Nameserver sorgen beim Besitzer einer Domain, dass diese gefunden werden kann. Rekursive Nameserver suchen für einen Internetanschluss die richtige Verbindung zu fremden Domains.

Warum soll ich DNSsec aktivieren?

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Eingesperrt von Google

posted on

Seit einigen Jahre macht sich WhatsApp auf den Smartphones meiner Kontakte breit. Natürlich werde ich von meinen Bekannten auch immer wieder aufgefordert das Programm doch zu installieren. Ich wollte das nie. Mir war es zuwider mich auf einen proprietären Dienst einzulassen wenn es offene Alternativen gibt. Diese offene und Anbieter übergreifende Alternative war und ist Jabber bzw. XMPP (zwei Namen für das gleiche).

Nun ist dies erst einmal aber nur ein Protokoll und damit nichts was man nutzen könnte. Was ein Jabber-Nutzer braucht ist ein Programm und Diensteanbieter. Hierfür war meine Empfehlung bisher Google Talk. Als Programm super integriert und vorinstalliert auf jedem Android-Telefon. Eine einfach zu bedienende Oberfläche, die auch für einen „Normalmenschen“ verständlich ist. Nichts was von Freaks für Freaks gemacht ist. Als Anbieter stand Google mit einem super stabilen Dienst dahinter.

Bisher eine tolle Sache: einerseits konnte man komplett abgestimmt alles aus einer Hand bekommen, andererseits konnte man mit Nutzern bei anderen Anbietern chatten und wenn man wollte sogar einen eigenen Server installieren. Echt klasse!

Mit meiner Weigerung ein geschlossenes Messaging zu nutzen und meinem andauernden Hinweis auf die freie Alternative habe ich auch einige Freunde und Bekannte zu Google Talk gebraucht.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

DHL: Erfolgloser Zustellversuch, Empfänger nicht zu Hause

posted on

Ich kann mal wieder von DHL berichten: ich habe dringend ein Buch benötigt und Amazon konnte dies nur noch mit der Lieferoption „Morning Express“ am nächsten Tag liefern. Nicht schlecht, dachte ich: da die Lieferung an einem Freitag und ins Büro erfolgt, ist es super die Sendung „garantiert“ vor zwölf Uhr zu erhalten.

Am Tag der Zustellung schaue ich also immer mal wieder aus dem Fenster des Büros, wenn ein Paketdienst vorbeifährt. Mittag kommt immer näher und ich wundere mich, dass die Sendung noch nicht angekommen ist. Es wird doch hoffentlich alles klappen? Ich brauche das Buch dringend um mich auf einen Kundentermin vorzubereiten.

Punkt zwölf Uhr kommt der Paketboote – fast ein wenig außer Atem – durch die Türe und hat mein Paket in der Hand. „Das hat ja gerade noch geklappt,“ denke ich schmunzelnd und nehme das Paket entgegen.

Wirklich verärgert hat es mich nun aber, als ich am Wochenende ins Tracking von DHL geschaut habe. Ich wollte wissen, welche Uhrzeit DHL als Zustellzeitpunkt erfasst hat. Dabei stelle ich fest, dass angeblich schon eine halbe Stunde zuvor ein Zustellversuch stattgefunden habe, jedoch der Empfänger nicht anzutreffen war. („Erfolgloser Zustellversuch. Empfänger nicht zu Hause.“)

Was ist denn das für ein Unsinn? Die Lieferung ging an eine Firmenadresse. Einerseits saß ich im Büro und habe auf die Lieferung gewartet und andererseits waren zusätzlich auch noch Kollegen im Büro, die die Sendung genauso hätten annehmen können – wenn denn jemand da gewesen wäre, der einen Zustellversuch unternommen hätte.

Es scheint mir doch sehr, als habe der Kurier hier einfach schon einmal einen Zustellversuch in seinem Gerät vermerkt, ohne dass er vor Ort gewesen wäre. Vermutlich war im klar, dass es knapp wird mit der rechtzeitigen Zustellung. Die Liefergarantie gilt nämlich nur für den ersten Zustellversuch.

Mein DNSsec-Setup

posted on

Vor ein paar Tagen habe ich bereits über einen Teil meines Nameserver-Setups mit Bind geschrieben. Ich habe erklärt, wie DDNS mit bind verwendet werden kann um beispielsweise Kunden die Möglichkeit zu geben Änderungen an Ihren Zonen über ein standardisiertes Protokoll durchzuführen oder die sich häufiger ändernde IP des Internetanschlusses zuhause immer aktuell im DNS zu hinterlegen. Dabei habe ich erwähnt, dass ein interessantes Argument für den Einsatz von DDNS zum Updaten von Zonen auch ist, dass bind in diesem Fall sich automatisch darum kümmert diese erneut zu signieren. Wie dieses Setup funktioniert möchte ich in diesem Artikel beschreiben.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

DDNS mit Bind einrichten

posted on

Der Nameserver Bind bringt von Hause aus die Möglichkeit mit, dass Änderungen in Zonen dynamisch durchgeführt werden können. Dies kann zum Beispiel genutzt werden um selbst etwas wie DynDNS zu realisieren. In der Tat nennt sich das was Bind da implementiert auch DDNS. Spezifiziert ist das Protokoll in RFC 2136: Dynamic Updates in the Domain Name System (DNS UPDATE).

Da ich heute eh den größten Teil dieses Textes als Mini-HOWTO für einen Kollegen geschrieben habe, möchte ich ihn auch hier auf meinem Weblog für andere zur Verfügung stellen. Alle hier verwendeten Befehle sind Befehle von Bind. Unter Debian sind diese Utility-Befehle im Paket dnsutils verpackt. Aktuell benutze ich die Version 9.8.4 von Bind.

Ich zeige in diesem Artikel:

  1. wie man einen kryptografischen Schlüssel zur Sicherung des Zugriffs erstellt,
  2. wie die Konfiguration von Bind angepasst wird,
  3. wie dynamische Updates an Bind geschickt werden und
  4. was zu beachten ist, wenn weiterhin auch klassische Updates an der Zone durchgeführt werden sollen.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Probleme beim Zugriff auf das S-Trust Zertifikatsverwaltungssystem

posted on

Fehler bei der Initialisierung der ZKA-SIG-API-Umgebung
Notwendige Komponenten zum Betrieb der ZKA-SIG-API konnten nicht gefunden werden. Eventuell liegt eine unvollständige bzw. fehlerhafte Installation vor.
Zur Lösung des Problems suchen Sie bitte die folgende Seite auf: https://www.s-trust.de/service_support/chipkartenleser/kartenlesersupport/

Diese Meldung habe ich heute bekommen als ich auf das S-Trust Zertifikatsverwaltungssystem zugreifen wollte. Grund war, dass ich meine CSA-PIN entsperren musste.

Als erstes habe ich die auf der Website von S-Trust gegebenen Ratschläge ausgeführt:

Trotz diversem hin und her und einigen Reboots hat es einfach nicht funktioniert. Immer wieder kam die obige Fehlermeldung.

Ich musste also in den sauren Apfel beißen und die Hotline von S-Trust anrufen. Das ist ärgerlich, da sie nur über eine 0900-Rufnummer erreichbar ist und solche Anrufe ich nicht vom Festnetz tätigen kann. Mein Festnetzanbieter vermittelt nicht zu 0900. Wohl oder übel musste ich also vom Handy aus anrufen. Mein Mobilfunkanbieter verlangt hierfür stolze 1,79 € pro Minute.

Am Telefon hatte ich ohne große Wartezeit einen sehr freundlichen und kompetenten Mitarbeiter. Sehr schnell hatte er das Problem erfasst:

Reiner SCT, der Hersteller meines Chipkartenlesegerätes installiert die Datei zkasigapi.dll in den Ordner $JAVA_HOME/lib/ext/x86. Das Java-Applet von S-Trust sucht diese DLL dagegen im Ordner $JAVA_HOME/bin. Nachdem ich die DLL-Datei vom ersten Ordner in den zweiten Ordner kopiert hatte funktionierte alles einwandrei.

Wer hier für den Fehler verantwortlich ist (Reiner SCT oder S-Trust) kann ich nicht beurteilen. Auf jeden Fall wäre es aber schön gewesen die Lösung für das Problem auch auf der Support-Seite von S-Trust zu finden. Ich hatte nach der Fehlermeldung gegooglet und nichts gefunden. – Mit meinem Blogpost hier hoffe ich zumindest letzteres Problem für alle anderen denen es wie mir geht zu lösen.

Die Cloud und ich … was das Aus von Google Reader für mich bedeutet.

posted on

Schon länger habe ich eine zwiespältige Einstellung gegenüber „der Cloud“. Manche würden wohl sogar sagen, das hätte ich schon immer gehabt. Allerdings meine ich, dass ich „die Cloud“ bis vor etwa zwei Jahren eher ganz abgelehnt habe. (Unter „Cloud“ verstehe ich jetzt nur das Ablegen auf Servern von fremden Anbietern, insbesondere solchen bei denen ich nichts dafür zahle.)

Wie ich angefangen habe „die Cloud“ zu nutzen

Eine gewisse Akzeptanz für „die Cloud“ habe ich mit meinem Android-Telefon gewonnen. Wahrscheinlich gar nicht weil es besser war, aber es war wunderbar bequem Kontakte und Kalender bei Google abzulegen. Zuvor hatte ich hierfür vor allem SyncML benutzt, das auf meinem eigenen Server installiert war.

Mit der Zeit kamen weitere Dienste von Google dazu, die ich genutzt habe: Google Plus, Google News, Google Reader, Google Talk, Blogger und ja sogar Google Analytics.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

GSM-Modem SIM900 und GsmMuxd

posted on

Diese Woche habe ich an einer spannenden Aufgabenstellung gearbeitet: ich musste die Firmware für ein Gerät zur Datenerfassung und zum Monitoring an ein neues zukünftig darin verbautes GSM-Modem anpassen.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Auf was ich stolz bin: Unterschiede zwischen Latin 1 und Latin 9

posted on

Wieder einmal bin ich daran meine Website auf eine neue Plattform umzustellen. Eine Seite, die ich mit jeder Umstellung unangetastet liegen lasse ist meine Seite über die Unterschiede zwischen Latin 1 und Latin 9.

Nicht dass das eine so besonders wichtige Seite wäre. Glücklicherweise ist das Encoding der Wahl in der westlichen Welt inzwischen UTF-8 geworden. Aber ich bin stolz darauf, dass ich mit dieser Seite 2005 in der Musterlösung einer Übung der Universität Koblenz aufgetaucht bin: [http://mtech.uni-koblenz.de/MT2005/Uebung/ueb1/loes1.pdf [PDF, 26 KiB]](http://mtech.uni-koblenz.de/MT2005/Uebung/ueb1/loes1.pdf)

Java Webstart und WELD

posted on

Für meinen Arbeitgeber habe ich ein Programm entwickelt, das wir nutzen Zeiten zu erfassen und in unser Projektmanagement einzukoppeln. Um in der Firma einfach auf allen Rechnern immer die neuste Softwareversion zur Verfügung zu haben, habe ich mich dafür entschieden Java Webstart einzusetzen. Diese Technik hatte ich auch bereits für einige andere Java-Anwendungen von meinen Kunden eingesetzt.

Neu dieses mal war nun allerdings, dass ich nicht Sprint sondern CDI für die Dependency Injection gewählt habe. CDI implementiert durch WELD ist bei uns auf der Arbeit hierzu meist der Standard der Wahl.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Bericht von der Prüfung DELE Nivel A1

posted on

Heute mal etwas ganz anderes hier als sonst: ein Erfahrungsbericht von meiner DELE-A1-Prüfung Anfang November beim Instituto Cervantes Múnich.

DELE sind die offiziellen Prüfungen des spanischen Kultusministeriums über Spanisch als Fremdsprache. Es gibt die Prüfungen in den sechs Stufen des Gemeinsamen Europäischen Referenzrahmens. A1 ist dabei die kleinste Stufe. Ganz grob gesagt ist A1 etwa das Niveau, das man nach einem Schuljahr Fremdsprachenunterricht (zwei Stunden pro Woche) erreicht. C2 ist die höchste Stufe und ist das Niveau, wenn man fast wie ein Muttersprachler spricht. Meine Stufe würde ich deswegen umschreiben als „zertifiziertes nichts können”.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

DHL datiert Status der Zustellung in die Packstation zurück

posted on

Mehr als eine Woche warte ich auf eine Sendung von Amazon. Ich habe sie mir an die Packstation schicken lassen.

Samstag, 25. August 2012: Die DHL-Sendungsverfolgung meldet: „Diese Sendung befindet sich auf dem Weg zur Packstation.“ Weiter ist nichts passiert.

Ein paar Tage später: Ich reklamiere die Sendung bei Amazon. Die Kundenbetreuung wundert sich auch wo das Paket steckt. Sie schicken die Bestellung ein zweites Mal los.

Donnerstag, 30. August 2012: DHL meldet auch für das zweite Paket: „Diese Sendung befindet sich auf dem Weg zur Packstation“ und es tut sich weiter nichts.

Diese Packstation steht vorübergehend nicht zur Verfügung

Mittwoch, 29. August 2012: Ich bin genervt aber habe die Hoffnung, die SMS könnte nur nicht angekommen sein. Vielleicht kann ich das Paket abholen. Leider nein! Dafür weiß ich was los ist, denn auf dem Bildschirm der Packstation steht: „Diese Packstation steht vorübergehend nicht zur Verfügung.“ Kann passieren, aber wieso geht die Sendung dann nicht in die Postfiliale nebenan oder an eine andere Packstation?

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Apps für Android 4 fit machen

posted on

Im Play-Store gibt es einige Apps zur Vorbereitung auf Funk- und Sportbootführerscheine von mir. Um eine möglichst große Zahl von Nutzern zu erreichen, habe ich die Anwendungen kompatibel zu Android 2.1 entwickelt. – Für mich hieß das, dass ich bei der Erstellung für die Anwendungen das API-Level 7 als „Project Build Target“ benutzt habe.

Ergebnis dieser Vorgehensweise ist, dass auch Telefone mit einer neueren Version von Android die Anwendung in einer Art „Kompatibilitätsmodus“ ausführen. In diesem Modus wird die ganze Oberfläche möglichst genau so gezeichnet wie es unter der alten Version der Fall war. Dies soll sicherstellen, dass auch eine Anwendung, die sich z.B. genau darauf verlässt wie groß ein Button zu sein hat auch Buttons in genau dieser Größe vorfindet.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Kompatibilität von 8192-Bit-Zertifikaten

posted on

Aufgrund der Tatsache, dass die Hardware mit denen Public-Key-Schlüssel angegriffen werden kann immer leistungsfähiger wird, ist es notwendig, dass auch die Größe der eingesetzten Schlüssel immer weiter vergrößert wird.

Für den Einsatz mit qualifizierten digitalen Signaturen in Deutschland veröffentlicht beispielsweise die Bundesnetzagentur jährlich den sogenannten Algorithmenkatalog. In ihm steht jeweils welche Mindestschlüssellänge bis zu welchem Zeitpunkt als ausreichend angesehen werden kann.

Aktuell wird für den Einsatz von RSA-Schlüsseln bis Ende 2018 beispielsweise empfohlen, dass diese mindestens 2048 Bit lang sein sollten.

Dies betrifft aber natürlich nicht nur qualifizierte Signaturen sondern beispielsweise auch die verschlüsselte Übertragung von Webseiten mit dem HTTPS-Protokoll. Auch hierfür werden meistens RSA-Schlüssel eingesetzt. Üblicherweise trifft man auf Webservern dabei meistens Schlüssel der empfohlenen Länge an. (Ergebnis einer nicht repräsentativen Überprüfung einiger Websites durch mich.)

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Site schnellstens aus Google entfernen: alles außer robots.txt sperren

posted on

Diese Woche bekomme ich einen Anruf von einem Bekannten: er entwickelt gerade eine Website für einen Kunden. Und obwohl die Seite noch nicht fertig ist, taucht sie schon im Suchindex von Google auf. Er hatte vergessen die Seite während der Entwicklung mit einem Passwortschutz zu versehen. Er fragte mich, ob ich eine Idee habe, wie er dieses Versäumnis so schnell als möglich korrigieren könne.

Wir sind nun gemeinsam ein paar Möglichkeiten durchgegangen das Problem zu beheben:

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Probleme mit TLS-Verbindungen bei StartSSL-Zertifikaten

posted on

Ich greife mit zwei E-Mail-Programmen auf meinen Mailaccount zu. Das eine ist mutt, das andere ist Thunderbird. Während ich mit mutt keine Probleme habe, kann ich seit zwei Tagen mit Thunderbird nicht mehr auf mein E-Mail-Konto zugreifen.

Wenn ich es probiere, dann sehe ich Thunderbird für etwa 20 Sekunden versuchen eine Verbindung mit dem Mailserver aufzubauen. Nach diesen 20 Sekunden stellt sich Thunderbird wieder so als hätte es nicht versucht E-Mails abzufragen. Es kommt also auch keine Fehlermeldung oder dergleichen.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Android 4.0.3+ überholt Version 2.3.3+

posted on

Diese Woche hat für die erste meiner Anwendungen (SKS-Trainer) die Anzahl der Installationen auf Android 4.0.3+ die der Installationen auf Android 2.3.3+ überholt. Bei meinen anderen Apps – vor allem denen für die Funkscheine – hat letztere die Nase noch vorn. Nach den Zahlen von Google ist Android 2.3.3+ auch an sich noch immer die am häufigsten genutzte Version des Handybetriebssystems.

Ich biete fünf Android-Apps im Play Store an. All diese Programme richten sich an annähernd die gleiche Zielgruppe: Anwender, die sich auf einen Segelschein vorbereiten und die Theoriefragen lernen wollen.

Version Durchschnitt lernen Sportboot
binnen
SKS UBI SRC LRC
Android 2.3.3+ 56,61 % 45,1 % 40,7 % 42,0 % 45,5 % 49,5 %
Android 2.2 15,51 % 7,5 % 6,6 % 9,0 % 7,5 % 8,0 %
Android 4.0.3+ 15,23 % 38,7 % 41,5 % 33,5 % 32,0 % 29,0 %
Android 3.2 5,72 % 6,2 % 9,0 % 13,0 % 12,0 % 12,0 %
Android 2.1 3,87 % 1,7 % 0,9 % 1,5 % 1,0 % 1,5 %
Android 3.1 2,36 % 0,5 % 0,9 % 0,5 % 1,0 %
Android 2.3 0,32 % 0,1 % 0,1 %
Android 4.0 0,14 % 0,1 % 0,1 % 0,5 %
Android 3.0 0,13 % 0,1 % 0,1 % 0,5 %

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Virtuelles Hosting für HTTPS mit Apache und mod_gnutls

posted on

Die IPv4-Adressen gehen aus – so ließt man. Im Februar 2011 wurde die letzte freie Adresse in Europa vergeben. Was seitdem getan wird: nichts. Trotzdem leiste ich meinen Beitrag: ich spare IPv4-Adressen mit virtuellem Hosting auch für HTTPS.

HTTPS und die IP-Adressen

Der wichtigste Grund warum ein Webserver mehrere IP-Adressen hat ist HTTPS. Für jede HTTPS-Domain brauchte man bisher eine eigene IP-Adresse. Die Verschlüsselung von HTTPS wird aktiviert bevor der Webbrowser dem Server sagt welche Webadresse er abrufen möchte. Das Problem dabei: das Zertifikat welcher Domain soll der Server nun benutzen? Verwendet er das falsche meckert der Browser. Eine rote Seite erscheint und warnt den Internetnutzer, dass da etwas nicht stimmt und die Seite vielleicht unsicher ist. Das wollen wir nicht!

Die Lösung bisher: jede Domain hat eine eigene IP-Adresse. Muss ein Webserver eine HTTPS-Anfrage beantworten, schaut er welche IP-Adresse angesprochen wurde. Kein Problem, das kann er. Für jede IP-Adresse weiß er die zugehörige Domain. Er kann das richtige Zertifikat nutzen.

Schon 2003 aber wurde Server Name Indication (engl. für „Andeutung des Servernamens“) erfunden RFC 6066: Transport Layer Security (TLS) Extensions: Extension Definitions Moderne Browser übermitteln hiermit schon bevor verschlüsselt wird welche Domain sie erwarten. Wenn sich der Browser an diesen Standard hält, dann kann der Webserver auch ohne verschiedene IP-Adressen erkennen welches Zertifikat er nutzen muss.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Abweisen unbekannter Anrufer (ACR) im ISDN

posted on

Vor ein paar Tagen habe ich - wie viel zu oft - wieder meinem Bildfernschreiber (neudeutsch einfach kurz Fax genannt) nur Werbung entnommen. Jede dieser Sendungen kostet mich ein paar Eurocent für das Thermopapier und strapaziert darüber hinaus meine Nerven.

Als Gegenmittel habe ich mir neuerdings bei der Telekom das Dienstmerkmal Abweisen unbekannter Anrufer (ACR) beantragt. Ich gehe davon aus, dass quasi alle Werbesendungen mit unterdrückter Rufnummer übermittelt werden, damit die Absender möglichst nicht für Beschwerden erreichbar sind. Im Gegensatz dazu stammen alle meine erwünschten Fernschreiben von Anschlüssen, die ihre Rufnummer ganz normal übermitteln.

Angeboten wird dieses Merkmal von der Telekom kostenlos. Dass dies so ist liegt vermutlich an der EU-Telekommunikations-Datenschutzrichtlinie 97/66/EC, die fordert, dass der Angerufene die Möglichkeit haben muss, ankommende Anrufe, bei denen die Rufnummernanzeige durch den Anrufenden unterdrückt wurde, auf einfache Weise und unentgeltlich abzuweisen. (Zitiert aus einem Dokument der RegTP.) Umgesetzt wurde dieses in der TDSV in § 11, Abs. 1. Dass dieses durch den Angerufenen auf einfache Weise möglich ist, möchte ich jedoch noch bezweifeln. Zum einen kann ACR nicht selbständig aktiviert werden, sondern muss bei der Telekom beauftragt werden und zum anderen ist die Ansage, die ein abgewiesener Anrufer erhält für diesen nicht wirklich hilfreich. (Dieser Anschluss ist aus technischen Gründen vorübergehend nicht erreichbar. Bitte versuchen Sie es später wieder.). Aus den Mobilfunknetzen sind wieder andere Ansagen oder gar einfach ein Besetztzeichen zu hören.

Besser realisiert wurde dieses Dienstmerkmal von der Swisscom (schweizer Telefongesellschaft), dort kann der Kunde ACR durch wählen von *99# selbst aktivieren und mit #99# wieder deaktivieren. Auch die Ansage, die ein Anrufer gegebenenfalls hört, ist für diesen aufschlussreicher: Der Swisscom Kunde wünscht keine Anrufe mit unterdrückter Rufnummer. Es wäre wünschenswert, dass die Telekom sich hieran ein Beispiel nimmt.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Jabber! - Wieso Jabber?

posted on

Wie an anderer Stelle auf meiner Website zu lesen ist, nutze ich als Instant-Messenger-System Jabber. Oft werde ich gefragt, wieso ich nicht wie „alle anderen” auch ICQ, AIM oder dergleichen nutze. Nun, das kann ich erklären:

ICQ nutze ich nicht, da das Protokoll von vorn bis hinten unsicher ist. Viele wissen wahrscheinlich (oder auch nicht), dass der Authorisierungs-Anforderung bei ICQ nur ein Augenschein ist. Jeder kann jeden beliebigen ICQ-Nutzer zu seiner „Contact-List” hinzufügen, auch ohne die Zustimmung des anderen vorher einzuholen. Dass es so aussieht, als müsste man dies ist nur eine Sache der Original-ICQ-Software. Mit den meisten Nachbau-Programmen geht es deswegen auch ohne. Ebenso ist es nicht möglich jemanden, der einen in seiner "Contact-List" hat, die Zustimmung dazu wieder zu entziehen.

Ein weiteres ICQ-Problem ist, dass wenn man diesen Dienst unbeschränkt nutzen möchte, für alle anderen ICQ-Nutzer es kein Problem ist herauszufinden, welche IP-Adresse man gerade hat. Zwar lässt sich dies verhindern, indem man nur die Kommunikation über den Server zulässt, dann aber ist z.B. die maximale Nachrichtenlänge beschränkt.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

IMUnified - Protokoll

posted on

IMUnified hat vor etwa zwei Jahren angekündigt, ein Protokoll zu schaffen, das es ermöglichen soll, verschiedene Instant Messaging Systeme mit einem Client zu benutzen. Gründungsmitglieder waren unter anderem MSN, Odigo und Yahoo!.

Inzwischen ist es wieder ruhig geworden, ob IMU jemals ernsthaft eingesetzt wird, wird wage ich fast zu bezweifeln. Aber immerhin kann beispielsweise der Yahoo!-Messenger das Protokoll, man muss es nur mit ein paar Registry-Änderungen unter Windows einschalten. Danach hat man die Möglichkeit, sich zusätzlich zu Yahoo! auch in andere IM Dienste anzumelden.

Dies habe ich zum Anlass genommen, mir IM Unified doch einmal anzuschauen und habe ein paar Sessions mit einem Network-Sniffer protokolliert. Das Protokoll ist an sich sehr einfach aufgebaut und erinnert etwas an Protokolle wie SMTP oder HTTP.

Alle Daten werden über eine TCP/IP-Verbindung ausgetauscht. Der Client konnektiert hierzu auf den Port 11319 des Servers. Über diese Verbindung macht er zunächst ein Login-Handshake und tauscht danach Daten aus. Der Austausch erfolgt in Blöcken.

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »

Darstellung negativer Dualzahlen: Einer- und Zweierkomplement

posted on

Darstellung von ganzen Zahlen

In einer vorgegebenen Anzahl von Bits (meist 8 Bit, 16 Bit, 32 Bit) kann eine ganze Zahl in verschiedenen Weisen dargestellt werden. Drei davon haben wir davon in der Zentralübung kennengelernt. Es ist aus der Darstellung selbst (und damit dem Inhalt der Speicherzelle, des Registers oder wo auch immer die Zahl gerade steht) nicht ersichtlich welche Darstellung gewählt wurde.
Je nach gewählter Darstellung kann mit der vorgegebenen Anzahl von Bits ein verschiedener Wertebereich dargestellt werden.

Die nachfolgende Tabelle stellt für die kennengelernten Kodierungen dar, welches die größte und welches die kleinste darstellbare Zahl ist, wenn n Stellen (Bits) für die Zahl zur Verfügung stehen.

Darstellung kleinste Zahl größte Zahl
„normal” (vorzeichenlos) 0 2n-1
Einerkomplement -(2n-1-1) 2n-1-1
Zweierkomplement -(2n-1) 2n-1-1

Für gebräuchliche Stellenzahlen ergiben sich folgende Wertebereiche:

Stellenzahl Werteb. vorzeichenlos Werteb. Einerkompl. Werteb. Zweierkompl.
8 Stellen = 8 Bit = 1 Byte 0 … 255 -127 … 127 -128 … 127
16 Stellen = 16 Bit = 1 Word 0 … 65535 -32767 … 32767 -32768 … 32767
32 Stellen = 32 Bit = 1 Long Word 0 … 4294967295 -214748363 … 214748363 -214748364 … 214748363

weiterlesen | read more | lee mas | lê mais | 閱讀更多 »


Unless otherwise credited all material Creative Commons License by Matthias Wimmer