Yeehaw! Endlich wieder ein Blog!

written by Martin HĂ€cker on

Lange hat es gedauert - Ahem.

In den letzten Monaten habe ich mich mit Lektor auseinandergesetzt. Mit ein Paar Plugins (CreativeCommons und Markdown Highlighter) kann man viel Spaß beim Blog-Post schreiben haben.

Der große Vorteil von Lektor ist, dass man eine komplett statische Seite damit rendert. Man kann die Seite danach also ĂŒber ein CDN ausliefern - 'Internet Scale' ist also gar kein Problem


Solche Systeme gibt es natĂŒrlich viele - aber mit Lektor kriegt man zusĂ€tzlich noch ein CMS (das Lokal lĂ€uft) - oder auch hinter .htaccess geschĂŒtzt laufen kann, so dass man keine Sorgen haben muss, dass einem ĂŒber so eine Webseite der Server aufgemacht wird.

Aber Lektor ĂŒberzeugt auch mit einer moderat einfachen API, selbst plugins dafĂŒr zu schreiben ist einfach und macht Spaß. Fast wie es bei Track ganz am Anfang auch einmal war. â˜ș

Ich freue mich darĂŒber dass ich jetzt eine voll-responsive Seite haben, die mit HTML und CSS wirklich auskommt - no JS needed. (Ich werde aber vielleicht in der Zukunft fĂŒr Experimente auch JS in der Seite verwenden). FĂŒr jetzt ist es erst mal das Experiment wie lange ich ohne JS auskomme.

Da wĂ€re zum Beispiel das MenĂŒ - das auf Mobil mit Animation schön aufklappt. Hierzu habe ich verschiedene Techniken kombiniert.

  1. Die VerhĂ€ltnisse der ganzen Abmessungen werden ĂŒber CSS-Variablen und CSS-Calc einmal global gesetzt. Das geht zwar noch nicht vollstĂ€ndig, da man CSS Variablen nicht in Media Queries einsetzen kann, aber immerhin. Einzig dass man Stylesheets noch nicht 'nested' aufschreiben kann stört.

  2. Die Animation beim klick auf das Hamburger MenĂŒ sowie das Öffnen des MenĂŒs kommt komplett ohne JS aus. Damit das geht braucht es ein DOM Element, dass den State 'ein oder ausgeblendet' hĂ€lt, gleichzeitig via CSS abgefragt werden kann sowie diesen State durch Klick auf ein anderes Element Ă€ndert. Well, dafĂŒr funktioniert lustiger Weise das <input type=checkbox id=menu-state> Element. Das wechselt den checked-Zustand, was mann dankenswerter Weise in CSS mittels :checked herausfinden kann. Der Clou ist aber, dass man irgendwo anders im Dokument ein <label for=menu-state> haben kann, auf das man Klicken kann um diesen State zu wechseln. Und <label> kann man im Gegensatz zu <input type=checkbox> in allen Browsern vernĂŒnftig stylen. Und man kann mittels CSS-Animationen alles animieren. Fuck yeah!

Lockless Algorithms

written by Martin HĂ€cker on

Schon lange habe ich keine so passende Visualisierung mehr fĂŒr etwas gesehen:

Lockless Algorithms / Schlosslose Algorithmen:

via devopsreactions

Melderecht Datenweitergabe jetzt ohne Zustimmung

written by Martin HĂ€cker on

Das ist doch ein Juwel: Melderechter sollen in Zukunft meine Daten an jedes Industrieunternehmen weitergeben dĂŒrfen - wenn die Firma die Daten fĂŒr ein "update" schon vorhandener Daten anfragt.

Was pikanterweise die Voraussetzung fast jeder Anfrage ist.

Dem kann man dann gar nicht mehr widersprechen - de fakto hat man also keine Möglichkeit mehr dieser GeschĂ€ftspraktik der MeldeĂ€mter wenigstens fĂŒr sich persönlich Einhalt zu gebieten.

Compact hĂ€lt dagegen und hofft auf 200.000 unterstĂŒtzer in möglichst kurzer Zeit:

http://www.campact.de/melderecht/sn1/signer

DafĂŒr!

SSL Certificate Trouble

written by Martin HĂ€cker on

If you should ever stumble upon this bug, consider yourself very lucky that I have found the solution to this already, because it took me AGES to figure this out. No shit.

So here's the problem: We used a self signed certificate on on of our servers and curl and all tools relying on curl just couldn't connect to this server at all (with certificate validation). Despite the fact that the root certificate that signed the server certificate was happily in my keychain and marked as trusted.

The solution first: Turns out that the Keychain will eat certificates in many formats, specifically it supports DER and PEM. curl however can't use the DER certificate in the keychain and just reports it as missing. Exporting the certificate, converting it to PEM and then reimporting it (making sure to remove the DER version beforehand) fixed it.

I converted the file with this command openssl x509 -inform DER -in some.ser.ver.der -out some.serv.ver.pem

Here's some of the error messages I got:

% curl -I https://some.serv.ver -v
* About to connect() to some.serv.ver port 443 (#0)
*   Trying some.ip... connected
* Connected to some.ser.ver (some.ip) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
* Closing connection #0
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

If you hit this brick wall - hope this helps you too.

Mappei StĂŒtzen und Rechnungsstellung

written by Martin HĂ€cker on

Gerade habe ich endlich fĂŒr mein GTD-System ein super-Zubehör gefunden, MappenstĂŒtzen von Classei. Der große Vorteil davon: Die Mappen stehen in den Boxen auch stabil wenn diese nicht voll sind - damit kann man seine GTD-Ablage viel entspannter aufbauen. :)

Und noch ein witziges Detail: Classei gewĂ€hrt 2% Skonto wenn man zĂŒgig bezahlt. Das bedeutet natĂŒrlich das sie eigentlich 2% mehr verlangen, wenn man nicht zĂŒgig bezahlt. Ich wette aber, dass das viele Leute dazu veranlasst schnell zu bezahlen. Und das finde ich einen schönen Trick. :-)

Musik ist doch was feines

written by Martin HĂ€cker on

Da gibts so viele Möglichkeiten.

Iranische MĂ€nner weinen nicht...

written by Martin HĂ€cker on

... hat Ihm seine Mutter beigebracht als er ein Fahrad wollte dass sie sich nicht leisten konnte. Und dann weinte er so stark dass er sein Auto nicht mehr weiter fahren konnte und am Straßenrand anhalten musste.

http://www.thegreenwave-film.com/

Dieser Film hat mich tief traurig gemacht, weil es LĂ€nder wie den Iran gibt, in denen so viele Menschen nicht ihre Freiheit genießen und so sorgenfrei aufwachsen und leben können wie ich das hier konnte und kann.

Sehr sehenswert.

Ägypten

written by Martin HĂ€cker on

http://twitpic.com/3u6gvc

Dabei lĂ€ufts mir jedesmal wenn ich das anschaue kalt ĂŒber den rĂŒcken.

Umfragen und Ergebnisse - so gehts!

written by Martin HĂ€cker on

Viel zu selten kriegt man mal bescheid wenn man an einer Umfrage / Untersuchung teilgenommen hat und dann endlich die Ergebnisse vorlegen.

Um so schöner wenn das mal funktioniert!

Die Uni Augsburg hat das mal richtig gemacht!

Und dann auch gleich zur nÀchsten Runde eingeladen. Jawohl!

Die meisten wissenschaftlichen Ergebnisse sind falsch

written by Martin HĂ€cker on

Geiler Titel eh? Trotzdem das Ergebnis gut replizierbarer wissenschaftlicher Forschung. Hach die Ironie.

Hier gibt es dazu einen sehr schönen Artikel. (via fefe)