Gewinner der großen Geburtstagsverlosung
Es ist soweit, die Geburtstags-Aktion ist beendet und nun werden wir die Gewinner der Preise bestimmen. Erst einmal an dickes Dankeschön an alle, die mitgemacht haben, fleißig getwittert und gebloggt haben und somit insgesamt 155 Kommentare zusammengekommen sind. Davon sind 2 Einträge Trackbacks, 2 Einträge waren Ergänzungen um Twitter-Links, und 3 Einträge sind ungültig, mehr dazu ganz unten. Wir haben also 148 gültige Kommentare, die wir nun in den Lostopf werfen. Auch hier nochmal ein großes Dankeschön an die Verlage und Firmen, die die Preise zur Verfügung gestellt haben!
Um nun die Gewinner zu bestimmen habe ich ein kleines PHP-Script geschrieben welches uns ganz unparteiisch eine Liste von Namen ausspuckt. Das Verfahren ist von jedem von euch nachvollziehbar, es steckt kein Zufall drin, sondern nur eine besonderer Berechnung der Reihenfolge. Und zwar werden diejenigen gewinnen, bei denen der MD5 der Email-Adresse möglichst „nah“ am MD5 des Beginns der Aktion (sprich dem 1. Geburtstag) liegt.
Da euch wahrscheinlich die Liste der Gewinner am meisten interessiert bekommt ihr sie zuerst. Danach beschreibe ich noch im Detail, wie sie zustande gekommen ist und auch wie das Script dazu aussieht. Die Liste der Gewinne ist übrigens noch um weitere Planning-Poker-Sets erweitert worden, sodass ich nun 25 Preise zu vergeben habe. Die zusätzlichen Planning-Poker-Sets stammen von agile24.com und wibas.com. Vielen Dank!
Also, hier die Gewinner der Aktion mit dem jeweiligen Preis:
Name | Email-Adresse | MD5 | Abstand | Gewinn |
---|---|---|---|---|
Gjero Krsteski | gjero@***.de | f8c4fdde8545731ac4a77b52e4896595 | 427 | Business VServer |
chrza | chri***@web.de | 3febc8a5750763cf7fb63d6d8952ec81 | 452 | PHPStorm Lizenz |
Sebastian | gjlne***@googlemail.com | f3eba01107eaed3148c25ddba9260f7d | 465 | PHPStorm Lizenz |
Roman | blad***@googlemail.com | b6cbe5b44b06610dc0e74a38dcf06c13 | 474 | PHPStorm Lizenz |
volker | volker@k***.de | e2dcf355aa02f68f3a794edc963eebd6 | 476 | PHPStorm Lizenz |
matt | mail@mer***.biz | f93ffd047752b0baa18429f291018c92 | 479 | PHPStorm Lizenz |
daniel | gorekee@***.de | a3e0244d136cc06dd5b9bb25eb949d06 | 526 | Agile Prozesse |
mona | simghost@***.de | c767e3a77516f24013365eed487ddbc4 | 529 | Agile Prozesse |
Spider | lord@run***.de | 86e5cf9a39a0058e208a0b972652b000 | 529 | High Performance LAMP |
Steffen Rühlmann | steffen.r***@***.com | c15e6fe4022540dc12b881ead8aed329 | 542 | High Performance LAMP |
Max | max@q***.com | a1ec8809a92ecdfb0691827ad42fa447 | 552 | IT Performance |
Micha | info@ai***.de | f3dba5fbc3238742330b2b29ff9aad49 | 565 | IT Performance |
Jörg | webmaster@webb***.de | 66a944410703eb27c04200956354fe94 | 565 | CSS Techniken |
Ludwig | lo@gee***.org | d5b6f0b23c2d961840805f6c6870b04d | 567 | PHP 5.3 und MySQL 5.5 |
BOBmoraine | berge***@gmx.net | 1ccc856877e0e7bd1923ba3ce5af0d45 | 581 | Apache 2.2 |
Bernhard | herl***@gmx.de | a2b41f38d7914971a25f2d9a679b1c96 | 583 | 5 Planning Poker Sets |
Adi | jafe***@gmx.de | d68ecac7ee46b5a62e998168e205cde6 | 588 | Demobereich 6 Monate |
Tim | tim@ger***.de | bfc84d2765f3804bdfb46736dab89a63 | 603 | Demobereich 3 Monate |
Markus | public@markus-***.de | b601ccd782a9438437df342dfd9fbbb3 | 605 | t3n Magazin |
tim | tim@ain***.de | fd830c269491797925e5cca87028c8d0 | 612 | t3n Magazin |
René | tre***@gmx.ch | 9b7fb035c134c32252604a53cfc46fa7 | 616 | t3n Magazin |
campan43 | dominik.c***@g***.com | 53ed6ad702e043073dcac21db6c1e869 | 616 | 5 Planning Poker Sets |
Andreas | roth***@gmail.com | a34ffbd7b28d3ef870f70ebe16418831 | 626 | 5 Planning Poker Sets |
Matthias | kirs***@t-online.de | 738bad5e0879269d7f64d2873e44a851 | 628 | 4 Planning Poker Sets |
bernd kuebler | Kueble***@k***.de | 07fd6f8d29302d2dd629e0c5c6220b35 | 633 | 4 Planning Poker Sets |
Herzlichen Glückwunsch an alle Gewinner! Ich habe euch bereits angeschrieben und um eure Adresse gebeten, damit ich euch die Gewinne zuschicken kann. Bei Gutscheinen und Lizenzen habe ich euch geschrieben wie ihr diese einlösen könnt.
Ich hoffe dass es euch Spaß gemacht hat, ich möchte mich auf jeden Fall ganz herzlich bei euch bedanken, nicht nur fürs Mitmachen bei der Verlosung sondern auch für das Lesen der Artikel, für das Mitmachen bei den Wettbewerben und für die Diskussionen. Danke dafür!
————-
Nun zur Berechnung:
Der MD5 von michael@domain1.de lautet bf47932ca15e0ba6052153870dead359
Der MD5 des 1. Geburtstages, mit dem vergleichen wird lautet f9aced390441f72d90b73e1ba476da18
Nun vergleichen wir die beiden Hashes. Wenn eine Stelle gleich ist ist das ein Abstand von 0, der Abstand beispielsweise zwischen b und f ist bekanntlich 4. Da in Email-Adressen auch Sonderzeichen wie Punkt und Minus vorkommen können nutzen wir einfach die ASCII-Tabelle, um die Abstände leicht errechnen zu können. Wenn wir dieses Verfahren nun auf den ganzen Hash anwenden erhalten wir eine Summe, die die Gleichheit der Hashes ausdrückt. Wir zählen nicht nur die Anzahl der unterschiedlichen Stellen (Hamming-Abstand), sondern auch wie weit die einzelnen Stellen voneinander abweichen.
Die Email-Adressen, die wir dazu brauchen holen wir uns aus derWordpress-Datenbank:
SELECT * FROM wp_comments WHERE comment_post_ID = 1644 AND comment_approved = 1 AND comment_author_email != '' AND comment_author_IP != '84.156.96.31' AND comment_date_gmt < '2010-07-13 23:59:59' GROUP BY comment_author_email
Und damit füttern wir das folgende PHP-Script:
<?php $emailAddresses = array( '' // hier alle Email Adressen eintragen ); date_default_timezone_set('Europe/Berlin'); $md5Date = md5(mktime(16, 9, 0, 7, 10, 2010)); // ====================================================== $distances = array(); foreach ($emailAddresses as $emailAddress) { $distances[$emailAddress] = calcDistance(md5($emailAddress), $md5Date); } asort($distances); output($distances); function calcDistance($md5EmailAddress, $md5Date) { $sum = 0; for($position=0; $position < strlen($md5EmailAddress); $position++) { $sum += abs(ord($md5EmailAddress[$position])-ord($md5Date[$position])); } return $sum; } function output($distances) { foreach ($distances as $email => $distance) { echo str_pad($email, 50).' '. md5($email).' '. str_pad($distance, 5, ' ', STR_PAD_LEFT). "\n"; } }
Ich erwähnte ja bereits dass es auch eine Disqualifizierung gab. Das lag daran dass eine Person unter 3 verschiedenen Namen und Email-Adressen kommentiert hat. Anton P., das war unnötig, so leider nicht ;-(
Schade, hätte mich gefreut, denn die Preise waren echt super 🙂
Aber Glückwunsch an alle Gewinner, habt Spaß mit euren Gewinnen 😉
Arvid Bergelmir
14 Jul 10 at 08:29
Jo schöne Aktion, coole Idee. Hat ja einigen Traffic verursacht 🙂
Ralph Meier
14 Jul 10 at 08:42
vielen dank. ich bin zwar bisher ZDE benutzer, aber gerne schaue ich mir die phpstorm ide mal an. meine ZDE ist eh schon mittlerweile in die tage gekommen 😉
volker
14 Jul 10 at 08:55
mal gucken, ob das t3n mich doch von Typo3 überzeugen kann. Derzeit bin ich noch fest davon überzeugt, dass Typo3 „entwickler“ keine Ahnung vom programmieren haben.
Der Sourcecode ist grauenhaft und TypoScript total sinnfrei. Ich kenne viele Typo3 Entwickler die sogar auf dem Liveserver unter einem anderen Typo Web testen u.s.w., einfach durchweg grauenhaft …. Ich habe jedoch auch noch kein CMS gefunden, welches mich voll befriedigt. Auf dem ersten Blick macht http://www.kooboo.com/video den besten Eindruck auf mich.
tim
14 Jul 10 at 10:01
Schade, aber auch meinerseits gratulation an alle:)
Und nette Idee mit der Gewinnerermittlung!
ragtek
14 Jul 10 at 10:12
ha, das ist mal ein netter weg um die gewinner zu ziehen. der gefällt mir!
und danke für den gewinn 🙂
Max
14 Jul 10 at 10:21
Gratulation an die Gewinner 🙂
killerbees19
14 Jul 10 at 10:22
Vielen, vielen Dank! 😀 Ich freue mich schon, PHP Storm mal auszuprobieren, neue IDEs schaue ich mir gerne an 🙂
Vielen Dank für die tolle Verlosung!
Sebastian
14 Jul 10 at 11:25
Das erste Mal, dass ich etwas gewonnen habe 🙂
Vielen Dank also auch von mir für die tolle Verlosung!
mona
14 Jul 10 at 14:32
Danke auch von mir 🙂
Mal schauen was ich unter einen „Planning Poker Set“ zu verstehen habe ^^
campan43
14 Jul 10 at 16:43
…
juhu, ein t3n Magazin gewonnen…
t3n » Twitter Trends
14 Jul 10 at 17:17
Wow!!!! Da freue ich mich aber. Habe seit langem nichts gewonnen, und gleich den Hauptpreis. Das kommt mir grade zugute, denn ich möchte bald einen Privatprojekt starten und das passt hervorragend. Danke, Danke, Danke!!!! 🙂
Gjero Krsteski
15 Jul 10 at 08:47
Danke für die schnelle Zusendung des Gewinns – das Buch „High Performance LAMP“ liest sich bisher sehr interessant !
Danke für das Gewinnspiel und viel Erfolg auch weiterhin mit dem Blog !
Steffen
27 Jul 10 at 10:37