From steffen.winkler at gmx.net Sat Sep 1 00:50:01 2007 From: steffen.winkler at gmx.net (Steffen Winkler) Date: Sat, 01 Sep 2007 09:50:01 +0200 Subject: [Dresden-pm] Fwd: [Erlangen-pm] Foto(s) vom Abendessen der YAPC::Europe::2007 Message-ID: <20070901075001.218150@gmx.net> Steffen S. ist mit bei uns auf dem erlangen.pm Bild. Damit gehört er nicht mehr zu dresden.pm. Das hat er nun davon! -------- Original-Nachricht -------- Datum: Fri, 31 Aug 2007 11:20:30 +0200 Von: "Martin H. Sluka" An: Erlangen-pm at pm.org Betreff: [Erlangen-pm] Foto(s) vom Abendessen der YAPC::Europe::2007 Mahlzeit, anbei eine verkleinerte Version unseres Gruppenfotos. Das Original und die übrigen Fotos habe ich jetzt mal provisorisch unter abgelegt. Grüße, Martin -- _________________________________________ _ Martin H. Sluka \ tel +49-700-19751024 / ASCII ribbon ( ) Breite Straße 3 \ / campaign - against X D-90552 Röthenbach \ / HTML email & vcards / \ -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kanns mit allen: http://www.gmx.net/de/go/multimessenger -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : 2007-08-29 20:03:54 Erlangen.pm.jpg Dateityp : image/jpeg Dateigröße : 47700 bytes Beschreibung: nicht verfügbar URL : http://mail.pm.org/pipermail/dresden-pm/attachments/20070901/2c6eadca/attachment-0001.jpg -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : inline218151188633001 Dateityp : application/pgp-signature Dateigröße : 306 bytes Beschreibung: nicht verfügbar URL : http://mail.pm.org/pipermail/dresden-pm/attachments/20070901/2c6eadca/attachment-0001.bin -------------- nächster Teil -------------- _______________________________________________ Erlangen-pm mailing list Erlangen-pm at pm.org http://mail.pm.org/mailman/listinfo/erlangen-pm From thomas.rittsche at gmail.com Tue Sep 4 08:32:43 2007 From: thomas.rittsche at gmail.com (Thomas Rittsche) Date: Tue, 4 Sep 2007 17:32:43 +0200 Subject: [Dresden-pm] Wortgleichheit Message-ID: <584da2df0709040832x38528f93oef5fd93a144c8ba5@mail.gmail.com> Hallo Mongers, wir wollen Usereingaben auf Wortähnlichkeit, um bei falschen Schreibweisen trotzdem richtig reagieren zu können. Da gibts ja schon was von Ratiopharm (interner für Steffen)... . Das haben wir schon auf unserer Liste: Text::Levenshtein Text::LevenshteinXS Text::WagnerFischer Text::PhraseDistance Hat jemand Erfahrungen in dieser Richtung und kann uns wertvolle Tips geben ???? Vielen Dank!!!! Gruß Thomas From helmut.wollmersdorfer at gmx.at Tue Sep 4 16:17:37 2007 From: helmut.wollmersdorfer at gmx.at (Helmut Wollmersdorfer) Date: Wed, 05 Sep 2007 01:17:37 +0200 Subject: [Dresden-pm] Wortgleichheit Message-ID: <20070904231737.69080@gmx.net> Thomas Rittsche wrote: > wir wollen Usereingaben auf Wortähnlichkeit, um bei falschen > Schreibweisen trotzdem richtig reagieren zu können. [...] > Text::Levenshtein > Text::LevenshteinXS > Text::WagnerFischer > Text::PhraseDistance Eventuell auch interessant: String::Approx Algorithm::Diff Text::Soundex Zu Levenshtein: Hab ich mal vor längerer Zeit runtergeladen, zum Laufen gebracht und in ein 'sub' verpackt. Der originale Levenshtein-Algorithmus permutiert alle Kombinationen durch und gibt dann die Edit-Distance zurück. Doppelt lange Strings brauchen viermal so lange. Das ist das Hauptproblem. Daran ändert die XS-Variante vermutlich auch nicht viel (nicht probiert). Wagner-Fischer erweitert noch um Gewichte, was vermutlich noch etwas langsamer sein wird. Üblicherweise genügt für obige Problemeatik eine Edit-Distance von 1 oder 2, wofür man den Algorithmus modifizieren kann, sodass bei Erreichen oder Überschreiten einer maximalen Distanz abgebrochen wird. Sowas (und noch andere schnelle Matching-Algorithmen) hat ein Herr Ukkonen entwickelt. Die zurückgebene Edit-Distance stimmt dann für 0 .. $max_distance, darüber nicht unbedingt, ist aber grösser als $max_distance. Ich hab das mal nach Perl portiert (Quelle des Pseudocodes vergessen): sub ukkonen { my ( $string1, $string2, $max_distance, ) = @_; if ($string1 eq $string2 ) { return (0); # edit distance = 0 } my ($length1, $length2) = (length $string1, length $string2); my $length_difference = abs ($length1 - $length2); if ($length_difference > $max_distance) { return ($length_difference); } my $i = 0; my $j = 0; my $error_count = 0; TRY: while ( ($error_count <= $max_distance) and ($i < $length1) and ($j < $length2) ) { # The current characters match. # Advance to next character in both strings. if ( substr($string1,$i,1) eq substr($string2,$j,1) ) { $i++; $j++; next TRY; } # The current character matches the next in the other string. # Advance to next character in other string, error++. elsif ( (($j + 1) < $length2) and substr($string1,$i,1) eq substr($string2,$j + 1,1) ) { $error_count++; $j++; next TRY; } elsif ( (($i + 1) < $length1) and (substr($string1,$i+1,1) eq substr($string2,$j,1)) ) { $error_count++; $i++; next TRY; } # Else: Advance in both strings; error++. $error_count++; $i++; $j++; next TRY; } if ($error_count <= $max_distance) { if ($i < $length1) { $error_count = $error_count + ($length1 - ($i + 1)); } if ($j < $length2) { $error_count = $error_count + ($length2 - ($i + 1)); } } return ($error_count); } Dazu ein Benchmark auf meinem Athlon XP 2500: use Benchmark qw(:all) ; cmpthese(50000, { 'lev1' => sub { levenshtein('meier','maier'); }, 'ukk1' => sub { ukkonen('meier','maier',2); }, 'lev2' => sub { levenshtein('wollmersdorfer','wollnerstorfer'); }, 'ukk2' => sub { ukkonen('wollmersdorfer','wollnerstorfer',2); }, }); Rate lev2 lev1 ukk2 ukk1 lev2 442/s -- -86% -99% -100% lev1 3069/s 595% -- -93% -97% ukk2 45872/s 10280% 1394% -- -50% ukk1 90909/s 20471% 2862% 98% -- Einen Eingabestring mit allen Elementen eines Array oder Hash zu vergleichen, sollte also bei zehntausend Elementen noch vernünftige Antwortzeiten erlauben. Die Menge kann man natürlich reduzieren, indem man den Eingabestring und die Schlüssel der Vergleichstabelle 'normalisiert', z.B. durch lc(), Entfernen der Punktation und der Umlaute: my %mapping = ( 'grungasse' => [ 'Grüngasse', 'Grun-Gasse', ]); Soundex bringt auch gute Ergebnisse und eignet sich auf für sehr grosse Datenmengen, wenn man einen Soundex-Index (auf Platte, Datenbank) anlegt. Dann gibt es noch jede Menge Möglichkeiten, wie Suffix-Trees, Patricia-Trees, Bloom-Filter oder auf Matching optimierte Datenbanken, die je nach Einsatzcharakteristik mehr oder weniger gut passen. Helmut Wollmersdorfer -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kanns mit allen: http://www.gmx.net/de/go/multimessenger From schwigon at webit.de Fri Sep 7 14:00:34 2007 From: schwigon at webit.de (Steffen Schwigon) Date: Fri, 07 Sep 2007 23:00:34 +0200 Subject: [Dresden-pm] Dresden Perl Mongers Treffen September 2007 Message-ID: Hi, Am kommenden Donnerstag ist wieder Treffen der Dresden Perl Mongers. Ja, diesmal ist es der zweite Donnerstag im Monat. Wir sind trotzdem im Pentacon. Es gibt sicher etwas Milch und Kekse, weil wir 5-Jähriges haben. Donnerstag, den 13. September 2007 2o.oo Uhr Medienkulturhaus (wo auch das 'Kino im Dach' ist) Schandauer Str. 64, 01277 Dresden http://www.medienkulturhaus.de Wer etwas über Perl reden oder lernen mag, ist eingeladen. Wir sind offen für Einsteiger und Fortgeschrittene, jung und alt. Themen: * 5 Jahre Dresden.pm * etwas Chemnitz.pm zu Gast * Komodo Edit/IDE * YAPC::EU Berichte * KindaPerl6-Projekt * misc und Folklore Termine+Themen immer hier: * http://dresden-pm.org/cgi-bin/twiki/view/PM/TermineTreffen GreetinX Steffen -- Steffen Schwigon Dresden Perl Mongers From create-soft at tiscali.de Sun Sep 9 04:23:34 2007 From: create-soft at tiscali.de (Torsten Knorr) Date: Sun, 9 Sep 2007 11:23:34 UT Subject: [Dresden-pm] Wortgleichheit Message-ID: <46B40989005BD17B@mail-relay-6.tiscali.sys> (added by postmaster@smtp10.unit.tiscali.de) #!/usr/bin/perl -w #*** word_distance.pl ***# #------------------------------------------------- =head Hallo Thomas Warum für einfache Sachen immer schwere Module verwenden. Der Algorithmus von Herrn Ukkonen ist gut. Die Implementierung von Helmut weniger. MfG Torsten =cut #------------------------------------------------- use strict; use warnings; #------------------------------------------------- if(CheckString("Thomas Rittsche", "thomas Ritttsches", 3, 0)) { print("OK\n"); } else { print("WRONG\n"); } #------------------------------------------------- sub CheckString { my ($str_right, $str_unknown, $max_distance, $case_sensitive) = @_; ($str_right, $str_unknown) = (lc($str_right), lc($str_unknown)) if($case_sensitive); return(1) if($str_right eq $str_unknown); return(0) if(abs(length($str_right) - length($str_unknown)) > $max_distance); my @r = unpack('c*', $str_right); my @u = unpack('c*', $str_unknown); my $errors = my $pos_r = my $pos_u = 0; LOOP: while($errors <= $max_distance) { last(LOOP) if((!$r[$pos_r]) || (!$u[$pos_u])); if($r[$pos_r] == $u[$pos_u]) { $pos_r++; $pos_u++; next(LOOP); } for(my $i = 1; $i <= $max_distance; $i++) { if($r[$pos_r] == $u[$pos_u + $i]) { $errors += $i; $pos_r++; $pos_u += ++$i; next(LOOP); } elsif($r[$pos_r + $i] == $u[$pos_u]) { $errors += $i; $pos_r += ++$i; $pos_u++; next(LOOP); } } $errors++; $pos_r++; $pos_u++; } for(; $pos_r <= $#r; $pos_r++) { $errors++; } for(; $pos_u <= $#u; $pos_u++) { $errors++; } return(1) if($errors <= $max_distance); return(0); } #------------------------------------------------- From schwigon at webit.de Tue Sep 11 08:33:03 2007 From: schwigon at webit.de (Steffen Schwigon) Date: Tue, 11 Sep 2007 17:33:03 +0200 Subject: [Dresden-pm] Donnerstag Treffen Message-ID: <86lkbdw72o.fsf@tkr_suse.webit.de> Hi! Am Donnerstag ist Treffen! Wie normal im Penthaus. 5-Jähriges. Ich bringe mindestens ein geliehenes Buch wieder mit. Und vielleicht etwas Kuchen und Wein. Steffen -- Steffen Schwigon Dresden Perl Mongers Deutscher Perl-Workshop From schwigon at webit.de Mon Sep 17 02:40:32 2007 From: schwigon at webit.de (Steffen Schwigon) Date: Mon, 17 Sep 2007 11:40:32 +0200 Subject: [Dresden-pm] Stand auf LIT 2007? Message-ID: <86tzpteijz.fsf@tkr_suse.webit.de> Hi! Mit Vortrag wird's dieses Jahr wohl weniger, falls keiner außer mir Lust hat. Ich hab aber für die Vorbereitung keine Zeit. Aber vielleicht machen wir ja einen Stand. Wir können ca. 100 Hefte vom "$foo Perl Magazin" bekommen, können locker zig Projekte rund um Perl zeigen und müssten vor allem aber präsent sein. Da ich als Familienmensch sicher nicht den kompletten Tag da sein kann: Würden denn noch paar Leute mitmachen? Ich fänd's gut. Termin/Details: Samstag, dem 3. November 2007 http://linux-info-tag.de/ GreetinX Steffen -- Steffen Schwigon Dresden Perl Mongers Deutscher Perl-Workshop From schwigon at webit.de Tue Sep 18 06:08:35 2007 From: schwigon at webit.de (Steffen Schwigon) Date: Tue, 18 Sep 2007 15:08:35 +0200 Subject: [Dresden-pm] Stand auf LIT 2007? In-Reply-To: <86tzpteijz.fsf@tkr_suse.webit.de> (Steffen Schwigon's message of "Mon, 17 Sep 2007 11:40:32 +0200") References: <86tzpteijz.fsf@tkr_suse.webit.de> Message-ID: <861wcwjf3g.fsf@tkr_suse.webit.de> Mädels! Steffen Schwigon writes: > Aber vielleicht machen wir ja einen Stand. Wir können ca. 100 Hefte > vom "$foo Perl Magazin" bekommen, können locker zig Projekte rund um > Perl zeigen und müssten vor allem aber präsent sein. > > Da ich als Familienmensch sicher nicht den kompletten Tag da sein > kann: Würden denn noch paar Leute mitmachen? Ich fänd's gut. Von 50 Leuten, die hier mitlesen, muss doch *irgendeiner* *irgendeine* Meinung dazu haben. Hat keiner Böcke, sich gemütlich auf dem LIT hinzusetzen? Könnt ihr wenigstens explizit absagen oder Ausreden feature'n, damit ich weiß, dass ich überhaupt wahrgenommen werde? :-) Steffen, through the looking glass From mailinglisten at renee-baecker.de Tue Sep 18 06:20:19 2007 From: mailinglisten at renee-baecker.de (ReneeB) Date: Tue, 18 Sep 2007 15:20:19 +0200 Subject: [Dresden-pm] Stand auf LIT 2007? In-Reply-To: <861wcwjf3g.fsf@tkr_suse.webit.de> References: <86tzpteijz.fsf@tkr_suse.webit.de> <861wcwjf3g.fsf@tkr_suse.webit.de> Message-ID: <46EFD093.4090709@renee-baecker.de> Steffen Schwigon wrote: > Mädels! > > Steffen Schwigon writes: > >> Aber vielleicht machen wir ja einen Stand. Wir können ca. 100 Hefte >> vom "$foo Perl Magazin" bekommen, können locker zig Projekte rund um >> Perl zeigen und müssten vor allem aber präsent sein. >> >> Da ich als Familienmensch sicher nicht den kompletten Tag da sein >> kann: Würden denn noch paar Leute mitmachen? Ich fänd's gut. >> > > Von 50 Leuten, die hier mitlesen, muss doch *irgendeiner* *irgendeine* > Meinung dazu haben. Hat keiner Böcke, sich gemütlich auf dem LIT > hinzusetzen? Könnt ihr wenigstens explizit absagen oder Ausreden > feature'n, damit ich weiß, dass ich überhaupt wahrgenommen werde? :-) > Für mich zu weit weg ;-) > > Steffen, through the looking glass > _______________________________________________ > Dresden-pm mailing list > Dresden-pm at pm.org > http://mail.pm.org/mailman/listinfo/dresden-pm > > > -- $foo - Perl-Magazin (http://foo-magazin.de) Perl-Community.de (http://board.perl-community.de) Perl-Blog (http://reneeb-perlblog.blogspot.com) From dresden-pm at demofreak.de Tue Sep 18 10:09:28 2007 From: dresden-pm at demofreak.de (Johannes Studt) Date: Tue, 18 Sep 2007 19:09:28 +0200 Subject: [Dresden-pm] Stand auf LIT 2007? In-Reply-To: <861wcwjf3g.fsf@tkr_suse.webit.de> References: <86tzpteijz.fsf@tkr_suse.webit.de> <861wcwjf3g.fsf@tkr_suse.webit.de> Message-ID: <200709181909.28431.dresden-pm@demofreak.de> Am Dienstag, 18. September 2007 schrieb Steffen Schwigon: > Mädels! Aye! > hinzusetzen? Könnt ihr wenigstens explizit absagen oder Ausreden > feature'n, damit ich weiß, dass ich überhaupt wahrgenommen werde? :-) Ich geh sicher nicht hin. Hannes From create-soft at tiscali.de Wed Sep 19 03:42:52 2007 From: create-soft at tiscali.de (Torsten Knorr) Date: Wed, 19 Sep 2007 10:42:52 UT Subject: [Dresden-pm] Stand auf LIT 2007? Message-ID: <46B40989006F5AAE@mail-relay-6.tiscali.sys> (added by postmaster@smtp10.unit.tiscali.de) =head Hallo Steffen Leider weiß ich gar nicht so recht um was es bei "LIT 2007" überhaupt geht. Was soll man dort eigentlich machen? Mfg Torsten =cut From schwigon at webit.de Wed Sep 19 06:40:06 2007 From: schwigon at webit.de (Steffen Schwigon) Date: Wed, 19 Sep 2007 15:40:06 +0200 Subject: [Dresden-pm] Stand auf LIT 2007? In-Reply-To: <46B40989006F5AAE@mail-relay-6.tiscali.sys> (added by postmaster@smtp10.unit.tiscali.de) (Torsten Knorr's message of "Wed, 19 Sep 2007 10:42:52 UT") References: <46B40989006F5AAE@mail-relay-6.tiscali.sys> Message-ID: <86lkb2kc3t.fsf@tkr_suse.webit.de> Torsten Knorr writes: > =head > Hallo Steffen > Leider weiß ich gar nicht so recht um was es bei > "LIT 2007" > überhaupt geht. Was soll man dort eigentlich machen? > Mfg Torsten > =cut Der Linux-Info-Tag ist dazu da, den Besuchern alles mögliche rund um freie und quelloffene Software nahezubringen. Üblicherweise gibt es Vorträge, Workshops und Stände zu diversen Themen. Perl ist eine Untermenge von Freier Software und deren Kultur davon. Und wir würden uns als Perlmongers hinstellen, als Gruppe in Dresden, die Perl macht, und Interessenten etwas über uns oder über Perl erzählen. Paar Plakate, paar Zeitschriften, paar Webseiten parat. Das ganze einen ganzen Tag lang. Als Stand stelle ich mir das relativ entspannt vor. Zumindest enspannter als Vortragsvorbereitung und -halten. Steffen -- Steffen Schwigon Dresden Perl Mongers Deutscher Perl-Workshop From create-soft at tiscali.de Wed Sep 19 10:32:08 2007 From: create-soft at tiscali.de (Torsten Knorr) Date: Wed, 19 Sep 2007 17:32:08 UT Subject: [Dresden-pm] Stand auf LIT 2007? Message-ID: <46DDCC02001F3199@mail-relay-7.tiscali.sys> (added by postmaster@smtp11.unit.tiscali.de) =head1 Hallo Steffen =item Na ja, ich könnte mir`s schon vorstellen mal nach Dresden zu kommen. Aber ich bin weder Linux-Spezialist noch Perl-Guru. Auch kenne ich die Projekte der Gruppe nicht. Was für Plakate? Was für Zeitschriften? Welche Webseiten? ...? ...? ...? =head2 Mfg Torsten =cut From schwigon at webit.de Thu Sep 20 01:07:22 2007 From: schwigon at webit.de (Steffen Schwigon) Date: Thu, 20 Sep 2007 10:07:22 +0200 Subject: [Dresden-pm] Stand auf LIT 2007? In-Reply-To: <46DDCC02001F3199@mail-relay-7.tiscali.sys> (added by postmaster@smtp11.unit.tiscali.de) (Torsten Knorr's message of "Wed, 19 Sep 2007 17:32:08 UT") References: <46DDCC02001F3199@mail-relay-7.tiscali.sys> Message-ID: <868x71n4jp.fsf@tkr_suse.webit.de> Torsten Knorr writes: > Na ja, ich könnte mir`s schon vorstellen mal nach Dresden zu > kommen. Na also, ein erster. :-) > Aber ich bin weder Linux-Spezialist noch Perl-Guru. Sind wir das nicht alle? > Auch kenne ich die Projekte der Gruppe nicht. Das macht nichts. Im Zweifel zeigt man einfach auf unsere Webseite. > Was für Plakate? http://dresden-pm.org/twiki/pub/PM/LogoWettbewerb/logo4.png > Was für Zeitschriften? 100 aktuelle Ausgaben von http://foo-magazin.de/ > Welche Webseiten? ...? ...? ...? http://dresden-pm.org http://perlbuzz.com http://pugs.blogs.com http://search.cpan.org What ever u like. Improvisieren. GreetinX Steffen -- Steffen Schwigon