From domm at cpan.org Mon May 1 23:46:12 2006 From: domm at cpan.org (Thomas Klausner) Date: Tue, 2 May 2006 08:46:12 +0200 Subject: [Vienna-pm] Fwd: Perl and Linguistic Graphs Message-ID: <20060502064612.GD19161@domm2.zsi.at> scheint kein SPAM zu sein... ----- Forwarded message from giandomenico.sica at polimetrica.com ----- From: giandomenico.sica at polimetrica.com Subject: Perl and Linguistic Graphs Date: Sun, 30 Apr 2006 19:14:24 +0200 To: domm at zsi.at Dear Dr. Klausner, I'm writing to you in order to ask if you can kindly distribute the following announce to the Perl mailing lists which you've subscribed. I'm developing a study about linguistic graphs and am looking for a computer scientist who can be interested in collaborating with me about this project. Many thanks for the help and please accept my apologies for the unusual request. Please feel free to contact me for any question. All the best, Giandomenico Sica ********************** ********************** Call for Cooperation An Atlas of Linguistic Graphs I'm a researcher in graph theory and networks. I'm working about a project connected with the theory and the applications of linguistic graphs, which are mathematical structures useful to represent languages and consequently to manage the organization of data in different kinds of scientific fields. At the present I'm developing an application of these graphs to medicine, specifically related to the ontology of clinical diseases. And now to the purpose of this message, which is to ask if someone in this list can be interested in collaborating with me about the construction of an open source software useful to represent, to analyse and to compare linguistic graphs. I've developed the project but don't have the necessary programming skills to proceed with the creation of the code. The software would be distributed in public domain and the collaboration is free and voluntary. I really hope that someone can be interested. In the case, please feel free to contact me by using my private e-mail address. I'll be pleased to send the complete documentation related to the project. Really many thanks. All the best, Giandomenico Sica Faculty of Philosophy Leiden University giandomenico.sica at polimetrica.com Publications http://www.polimetrica.com/polimetrica/view/people/Sica,_Giandomenico.html 1st World Congress and School on Universal Logic http://www.uni-log.org ----- End forwarded message ----- -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at cpan.org Tue May 2 02:43:41 2006 From: domm at cpan.org (Thomas Klausner) Date: Tue, 2 May 2006 11:43:41 +0200 Subject: [Vienna-pm] [ANNOUNCE] Changes to the Catalyst Project Message-ID: <20060502094341.GP19161@domm2.zsi.at> Da der 1.4. schon vorbei ist, vermute ich, das ist "ernst"... ----- Forwarded message from Adam Kennedy ----- From: Adam Kennedy Subject: [Catalyst] [ANNOUNCE] Changes to the Catalyst Project Date: Tue, 02 May 2006 19:29:03 +1000 To: catalyst at lists.rawmode.org Greetings everyone. I'd like to announce some changes to the organization and management of the Catalyst Project, effective 6pm Monday 1st May 2006 GMT. Firstly, note these are non-technical changes, and will have no effect on the functionality of any code on the CPAN within the Catalyst:: namespace. Secondly, due to the nature of these changes I have asked for a 24 hour lockout period on this mailing list. This is to allow websites/blogs/etc time to provide details, and prevent a flood of questions on this list. Any general or unrelated emails will be queued. Finally, to skip to the specific changes see the CHANGES heading below, and for additional details see the URLs listed at the end of this email. *** BACKGROUND *** Over the past few months there has been an increasing level of disagreement within the core development team of Catalyst. The details are complex and I will not be discussing them, but I can say that it has not been caused by any single issue. It could be best characterized as some general personal, creative and project management differences among the core team. Because this disagreement had begun to escalate to an unacceptable level, and was looking like it might rapidly escalate to disruptive levels, at 7pm Wednesday 26th April 2006 a group of the core team initiated an emergency lockdown of the entire Catalyst project. The following actions were taken. - All write access to the subversion repository was shut down. - All write access to the development trac website, wiki, roadmap and ticket tracking was shut down, and the database put into read-only mode. On a side note, putting the trac database into read-only mode caused an unexpected crash of the trac instance, unintentionally taking the site off-line for a few hours. - All PAUSE co-maint privileges to the Catalyst core distribution were removed, preventing anybody from uploading new Catalyst releases to the CPAN and having the indexer recognize them (due to the jumbled nature of the Catalyst namespace permissions). - All admin accounts for the mailing lists were disabled, and the mailing list itself was placed under moderation. Initial attempts to resolve the dispute among themselves failed, and so I was invited to become involved and mediate the dispute. My name is Adam Kennedy (ADAMK on CPAN) and I am one of the PAUSE administrators (although the most junior). In the interests of full disclosure I am not a Catalyst user myself, while I do know a number of the core developers. My interests lie primarily in providing continuity for CPAN users, and maintaining the integrity of the namespace. All of the core development team have personally and individually agreed to accept my terms for the mediation of this dispute. Under the terms of my mediation I have insisted on complete silence from the core development team on the situation until it was resolved. The mailing list has also been moderated to prevent any speculation here, although I'm happy to say that it has not been necessary and no messages have been blocked. While discussions have been in progress, uploads of Catalyst have been re-enabled, but limited to only urgent bug fix releases. At 5pm Monday 1st May 2006 GMT a series of meetings over the past few days to resolve the dispute ended, and I'm happy to state that all points of contention have been resolved to the satisfaction of all parties. *** CHANGES *** The following actions will be occurring as a result, commencing 6pm Monday 1st May 2006 GMT. --------------------------------------------------- Sebastian Riedel has chosen to step down from the core development team, and will no longer be involved in the development of the Catalyst core distribution, or in the general technical planning for the Catalyst Web Framework. While a few specific plugins will be passed to the core team, he has a number of plugins he will continue to maintain and develop. He will still be around in IRC and on the mailing lists, and will continue to remain involved with Catalyst generally. Sebastian will be creating a new separate framework, currently codenamed "Woodstock", which will be a ground-up reimplementation of a Catalyst-like framework. He will use Woodstock to explore new concepts relating to web MVC-style systems. Woodstock will be announced properly on this list by Sebastian in a few weeks. ---------------------------------------------------- Christian Hansen, Marcus Ramberg, Jesse Sheidlower, Andy Grundman, Matt Trout and Yuval Kogman will remain on the Catalyst core development team. All current roles will remain unchanged, and in particular Marcus will remain as release manager. The main current goals of the Catalyst core development team continue to be stability, performance and a more paced addition of features, with a focus on extensibility. Extensive improvements to the documentation are also expected in the short term. The Catalyst Roadmap at http://dev.catalyst.perl.org/roadmap will remain as is, and continues to reflect the specific priorities and schedule for future releases. And of course, plugins will remain in the hands of their various developers and will continue to progress at the same very rapid pace. ------------------------------------------------------ The core development team has recognized that as an Open Source project Catalyst is now increasingly important as a platform for business systems, and is being used for increasingly larger projects with their own planning and risk-management processes, and that Catalyst will need to be able to integrate with them at a project management level. As a result, they will be implementing a series of risk-management strategies to ensure greater certainty and continuity for business users (and thus of course providing the same for all users). While some of the details are still being worked out, I am able to announce the following three additional changes. ------------------------------------------------------- A charter will be drawn up to outline the underlying goals and principles, and to provide structure to the technical and organizational management of the Catalyst Web Framework project. Details of this will be forthcoming in the following days. -------------------------------------------------------- An audit will be made of all modules, namespaces and plugins within the Catalyst:: namespace, and of all modules that are critical dependencies of the core distribution, to identify any risks that may exist. Once the audit is complete, additional actions may need to be taken to address areas of concern. -------------------------------------------------------- Later this year the core development team will be reforming the PAUSE permissions information for the Catalyst:: namespace, with the assistance of the PAUSE administrators (i.e. me). Using the audit data, all modules and plugins owned by the core development team will be registered with the modules list to provide accurate implementation and maturity metadata, and all primary release rights will be transferred to the release manager. Instructions will be put in place to allow the orderly succession of release managers when required. For those not familiar with PAUSE please also note that there will be no user-visible changes or implications of any kind as a result of this permissions reform process. ------------------------------------------------------ Ownership and management of third-party plugins outside the core development team will of course remain with their respective authors as normal. More details of these changes will be announced over the coming weeks. This concludes my involvement in this matter, and releases the involved parties from their communications blackout. As such, you should expect to see further information from them appearing shortly, and they are now permitted to answer any questions you might have. *** MORE INFORMATION *** If you would like more information, please see the URLs list *first*, where more information will appear over the next 24 hours, and continue to appear over the next few days. Again, note that there will be a 24 hour lockout period commencing from this email. Any immediate questions should be addressed to the wiki FAQ page below, since they are very likely to become "frequent". This announcement has been timed so that a large number of the core development team will be active in IRC if you require immediate answers to any questions. Please do *not* respond to this email or to me directly with any questions, as my involvement in public under the terms of the mediation is limited to *only* this summary and announcement, and I am not in a position to answer any of your questions. Thank you all for your time. Adam Kennedy - Catalyst Homepage http://www.catalystframework.org/ - Catalyst Development Website http://dev.catalyst.perl.org/ - Catalyst Roadmap http://dev.catalyst.perl.org/roadmap - Wiki page specifically for your Reorganization questions http://dev.catalyst.perl.org/wiki/ReOrg - Blog of Marcus Ramberg, the Catalyst Release Manager http://marcusramberg.livejournal.com/tag/catalyst - Blog of Sebastian Riedel http://use.perl.org/~sri/journal/ - Catalyst IRC channel irc://irc.perl.org/catalyst - Woodstock IRC channel irc://irc.perl.org/woodstock _______________________________________________ Catalyst mailing list Catalyst at lists.rawmode.org http://lists.rawmode.org/mailman/listinfo/catalyst ----- End forwarded message ----- -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at cpan.org Wed May 3 07:22:17 2006 From: domm at cpan.org (Thomas Klausner) Date: Wed, 3 May 2006 16:22:17 +0200 Subject: [Vienna-pm] Fwd: Job Offering Message-ID: <20060503142217.GA32050@domm2.zsi.at> nicht wirklich Perl, aber ev trotzdem interessant... ----- Forwarded message from Flo Ledermann ----- From: Flo Ledermann Subject: [Metalab] Job Offering Date: Wed, 03 May 2006 15:01:45 +0200 To: Metalab General Discussion List hallo, fuer ein Projekt im Themenfeld Social Software - Geoinformation - Content Syndication suchen wir Unterstuetzung in den folgenden Bereichen: Client Programmierung --------------------- Kenntnisse: JavaScript, AJAX, (D)HTML Umfang: "Stundenweise nach Aufwand" bis "Full Time" Server Programmierung --------------------- Kenntnisse: Java, Servlets, SQL Umfang: "Stundenweise nach Aufwand" bis "Full Time" Server Administration --------------------- Kenntnisse: Linux, Apache, Tomcat, Subversion, generelle Server Administration, Security Umfang: Stundenweise nach Aufwand Was wir bieten: Junges Projekt mit viel Mitgestaltungsmoeglichkeit, State-of-the-art Webtechnologie, Beruecksichtigung von offenen Standards, gute+faire Bezahlung, potenziell wissenschaftlich relevante Fragestellungen Was wir brauchen: Selbststaendige Arbeit und Wille zur Mitgestaltung, Faehighkeit bestehenden Code zu erweitern und refactoren, Teamfaehigkeit auch ueber digitale Kommunikation (SVN, IM, Email) Bei Interesse bitte direkt bei mir melden. (Anmerkung: es handelt sich *nicht* um ein Projekt der TU Wien). Bitte an potenziell Interessierte weiterleiten. lg, f/0 -- |- | Dipl.-Ing. Florian Ledermann |- | "I think I'm thinking, therefore I possibly am." |- _______________________________________________ Metalab mailing list Metalab at lists.metalab.at http://lists.metalab.at/mailman/listinfo/metalab ----- End forwarded message ----- -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at cpan.org Tue May 9 13:25:02 2006 From: domm at cpan.org (Thomas Klausner) Date: Tue, 9 May 2006 22:25:02 +0200 Subject: =?iso-8859-1?q?_=5BVienna-pm=5D_Austrian_Perl_Workshop_2006_-_je?= =?iso-8859-1?q?tzt_auch_mit_Webseite!=1B?= Message-ID: <20060509202502.GM3360@domm2.zsi.at> Call for Participation / Papers fuer den Oesterreichischen Perl Workshop 2006 http://conferences.yapceurope.org/apw2006/ Der Perl Workshop bietet Perl-UserInnen von AnfaengerInnen bis Pumpking - die Moeglichkeit zum Lernen, Lehren und Plaudern. - Kontakt mit oesterreichischen und internationalen Perl EntwicklerInnen. - Einblicke in Methoden und Praktiken anderer ProgrammiererInnen. - interessante, amuesante und lehrreiche Vortraege. - ein paar nette Tage in Wien. - und allen anderen Vorzuege einer Begegnung in real life. Wichtige Daten: - Datum: 8. & 9. Juni 2006, 9:00 - 18:00 (in etwa...) - Ort: KapschCarrier Com, Am Europlatz 5, A-1120 Wien - Kosten: 10 / 30 / 75 Euro (StudentIn;Arbeitessuchende / Normal / Business) Gesucht werden Vortraege (in Deutsch oder English) mit Perl-bezug in der Laenge von 5-60 Minuten. Vortraege bitte schnell und in grosser Menge auf der Website einreichen: http://conferences.yapceurope.org/apw2006/ Dazu entweder einen neuen Account anlegen (oder den vom letzten Jahr verwenden), auf 'Vortrag einreichen' klicken & das Formular ausfuellen. D.h: JedeR kann Fragen ins Plenum einwerfen, und alle Anwesenden versuchen, eine oder mehrere Loesungen (oder zumindest -Ansaetze) zu finden. Dazu ebenfalls spaeter mehr. Als "Stargast" haben wir bisher neben Leo Toetsch auch Juerd. Juerd ist ein Hollaendischer Perl5/6 Hacker, der sich exterm gut mit Perl6 auskennt und neben ein oder zwei Vortraegen zu dem Thema sicher auch viele Fragen wird beantworten koennen. Danke uebrigens an 3united.com fuer das Sponsoring! Interessenten bitten wir ausserdem, sich auf der perlworkshop-Liste anzumelden, weil dort alle relevanten Informationen (plus die eine oder andere irrelevante...) gepostet werden werden: http://dmail.zsi.at/cgi-bin/mailman/listinfo/perlworkshop Wir freuen uns schon auf rege Teilnahme, bis dann, Vienna.pm / Thomas Klausner -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From hjp-vienna-pm-list at hjp.at Tue May 9 14:28:02 2006 From: hjp-vienna-pm-list at hjp.at (Peter J. Holzer) Date: Tue, 9 May 2006 23:28:02 +0200 Subject: =?iso-8859-1?q?Re=3A_=5BVienna-pm=5D_Austrian_Perl_Workshop_2006?= =?iso-8859-1?q?_-_jetzt_auch_mit_Webseite!=1B?= In-Reply-To: <20060509202502.GM3360@domm2.zsi.at> References: <20060509202502.GM3360@domm2.zsi.at> Message-ID: <20060509212802.GB22057@teal.hjp.at> On 2006-05-09 22:25:02 +0200, Thomas Klausner wrote: > Gesucht werden Vortraege (in Deutsch oder English) mit Perl-bezug in der > Laenge von 5-60 Minuten. Vortraege bitte schnell und in grosser Menge > auf der Website einreichen: > http://conferences.yapceurope.org/apw2006/ > Dazu entweder einen neuen Account anlegen (oder den vom letzten Jahr > verwenden), auf 'Vortrag einreichen' klicken & das Formular ausfuellen. > > D.h: JedeR kann Fragen ins Plenum einwerfen, und alle Anwesenden > versuchen, eine oder mehrere Loesungen (oder zumindest -Ansaetze) zu > finden. Dazu ebenfalls spaeter mehr. Ich glaube, zwischen den beiden Abs?tzen fehlt was. Der zweite bezieht sich wohl auf das, was wir bei der Generelversammlung "nicht-virtuelle Mailingliste" genannt haben (weniger sperriger Name w?re willkommen). hp -- _ | Peter J. Holzer | Ich sehe nun ein, dass Computer wenig |_|_) | Sysadmin WSR | geeignet sind, um sich was zu merken. | | | hjp at hjp.at | __/ | http://www.hjp.at/ | -- Holger Lembke in dan-am -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20060509/fd54baaa/attachment.bin From domm at cpan.org Tue May 9 23:34:09 2006 From: domm at cpan.org (Thomas Klausner) Date: Wed, 10 May 2006 08:34:09 +0200 Subject: =?iso-8859-1?q?Re=3A_=5BVienna-pm=5D_Austrian_Perl_Workshop_2006?= =?iso-8859-1?q?_-_jetzt_auch_mit_Webseite!=1B?= In-Reply-To: <20060509212802.GB22057@teal.hjp.at> References: <20060509202502.GM3360@domm2.zsi.at> <20060509212802.GB22057@teal.hjp.at> Message-ID: <20060510063409.GE5678@domm2.zsi.at> Hi! On Tue, May 09, 2006 at 11:28:02PM +0200, Peter J. Holzer wrote: > On 2006-05-09 22:25:02 +0200, Thomas Klausner wrote: > > Gesucht werden Vortraege (in Deutsch oder English) mit Perl-bezug in der > > Laenge von 5-60 Minuten. Vortraege bitte schnell und in grosser Menge > > auf der Website einreichen: > > http://conferences.yapceurope.org/apw2006/ > > Dazu entweder einen neuen Account anlegen (oder den vom letzten Jahr > > verwenden), auf 'Vortrag einreichen' klicken & das Formular ausfuellen. > > > > D.h: JedeR kann Fragen ins Plenum einwerfen, und alle Anwesenden > > versuchen, eine oder mehrere Loesungen (oder zumindest -Ansaetze) zu > > finden. Dazu ebenfalls spaeter mehr. > > Ich glaube, zwischen den beiden Abs?tzen fehlt was. Der zweite bezieht > sich wohl auf das, was wir bei der Generelversammlung "nicht-virtuelle > Mailingliste" genannt haben (weniger sperriger Name w?re willkommen). Richtig, da hab ich wohl versehentlich einen Satz zuviel geloescht. Es sollte heissen: Geplant ist ausserdem eine real-live multitopic "mailinglisten"-Session. D.h: JedeR kann Fragen ins Plenum einwerfen, und alle Anwesenden .. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From gooly at gmx.at Sat May 13 02:27:30 2006 From: gooly at gmx.at (Carl A. Schreiber) Date: Sat, 13 May 2006 11:27:30 +0200 Subject: [Vienna-pm] DESTROY() Message-ID: <200605131127.31320.gooly@gmx.at> Hallo und eine sch?nes Wochenende! Irgendwie geht DESTROY() nicht, wie ich mir das so gedacht habe - mach' ich 'was falsch? Ein kleines Programm schreibt ua seinen pid in /var/run: open F, "> /var/run/$0.pid"; print F "$$\n"; close(F); Am 'Ende' kommen die Def. von drei packages, eines davon ist package Studio; # (wird nur einmal aufgerufen!) mit verschieden Funktionen, zu letzt mit einem: sub DESTROY { my $del = unlink "/var/run/$0.pid"; print ( ( $del ) ? "del:$del:\t/var/run/$0.pid deleted!\n" : "del:$del\t\t/var/run/$0.pid NOT DELETED !!!"); } Nu aber passiert davon aber - NIX ?? Weder bei einem CTRL-C, noch bei kill -s SIGTERM 7867 (das erzeugt eine 'Beendet') kill -s SIGQUIT 7868 (das erzeugt eine 'Verlassen') wird das File gel?scht und das Resultat auf die Konsole geschrieben, in der das Prg lief? Ist DESTROY() nicht so gedacht? Danke scho' mal, Calli From lt at toetsch.at Sat May 13 03:10:26 2006 From: lt at toetsch.at (Leopold Toetsch) Date: Sat, 13 May 2006 12:10:26 +0200 Subject: [Vienna-pm] DESTROY() In-Reply-To: <200605131127.31320.gooly@gmx.at> References: <200605131127.31320.gooly@gmx.at> Message-ID: On May 13, 2006, at 11:27, Carl A. Schreiber wrote: > Irgendwie geht DESTROY() nicht, wie ich mir das so gedacht habe - mach' > ich 'was falsch? DESTROY() wird aufgerufen, um Objekte zu deinitialisieren (s. perldoc perlobj). Du willst END verwenden (s. perldoc perlsub) und eventuell zusaetzlich einen SIGTERM-Handler. > Calli leo From pilsl at goldfisch.at Mon May 15 23:37:26 2006 From: pilsl at goldfisch.at (peter pilsl) Date: Tue, 16 May 2006 08:37:26 +0200 Subject: [Vienna-pm] perl und speicher freigeben Message-ID: <44697326.8030802@goldfisch.at> Hmmm ... als Jongleur der schweren Daten hab ich zwar schon ?fter mit solchen Problemen zu tun gehabt, aber diesesmal krieg ich es nicht auf die Reihe. Ich hab ein langlaufendes Programm (ein daemon, der wochen laufen soll) und der nur ganz selten was zu tun hat. Dann aber muss es fleissig rechnen und braucht auch viel Speicher. Mein Problem ist nun, dass perl diesen Speicher einfach nicht mehr an das Betriebssystem zur?ckgibt - auch nicht nach Stunden und auch nicht, wenn das Betriebssystem vor lauter swappen sonst nix mehr tun kann. Ich hab das an einem kleinen Beispielprogramm illustriert: -------------------memd_test.pl-------- use strict; use warnings; $|=1; sub Run { my @x; foreach (0..200000) { push(@x,[33,44,55,66,77,88,99,22,11,33,44,55,66,77,88,99,22,11,33,44,55,66,77,88,99,22,11]); } } my $c; while () { print $c++; Run(); } ------------------------ Nach jeder Tasteneingabe wird Run() gestartet, dass ein grosses array erzeugt und dann aber eigentlich gleich wieder freigeben soll. Tut es aber nicht. Wenn man mehrere dieser Prozesse startet und jeweils 10 mal enter dr?ckt, dann sieht das im speicher so aus: #top 2461 root 9 0 122m 122m 1228 T 0.0 6.0 0:02.78 0 121m memd_test2.pl 2492 root 9 0 122m 122m 1228 T 0.0 6.0 0:02.77 0 121m memd_test2.pl 2564 root 9 0 122m 122m 1228 T 0.0 6.0 0:00.98 0 121m memd_test2.pl 2570 root 9 0 122m 122m 1228 T 0.0 6.0 0:01.87 0 121m memd_test2.pl jeder prozess braucht 122mb und gibt sie nie wieder her,obwohl er sie w?hrend dem warten gar nicht braucht. das ist b?se !! ;) F?llt jemanden hier was ein dazu? Das Programm muss als daemon laufen, weil es erstens eine sehr lange startzeit hat (einlesen und initialisieren von daten) und zweitens fallweise auch mal viele Anfragen parallel reinkommen. ich sehe das problem unter perl 5.8.5 auf linux 2.4. und 5.8.7 auf linux 2.6. danke lgp -- mag. peter pilsl goldfisch.at IT- & dataconsulting tel: +43 650 3574035 tel: +43 1 8900602 fax: +43 1 8900602 15 pilsl at goldfisch.at From mjy at geizhals.at Tue May 16 00:03:33 2006 From: mjy at geizhals.at (Marinos Yannikos) Date: Tue, 16 May 2006 09:03:33 +0200 Subject: [Vienna-pm] perl und speicher freigeben In-Reply-To: <44697326.8030802@goldfisch.at> References: <44697326.8030802@goldfisch.at> Message-ID: <44697945.3040303@geizhals.at> peter pilsl schrieb: > Nach jeder Tasteneingabe wird Run() gestartet, dass ein grosses array > erzeugt und dann aber eigentlich gleich wieder freigeben soll. Tut es > aber nicht. Wenn man mehrere dieser Prozesse startet und jeweils 10 > mal enter dr?ckt, dann sieht das im speicher so aus: Ob Perl prinzipiell kein (s)brk() mehr macht um Speicher wieder ans OS freizugeben, wei? ich nicht (w?rde mich nicht ?berraschen). > F?llt jemanden hier was ein dazu? > > Das Programm muss als daemon laufen, weil es erstens eine sehr lange > startzeit hat (einlesen und initialisieren von daten) und zweitens > fallweise auch mal viele Anfragen parallel reinkommen. Als daemon starten und initialisieren, dann bei Requests fork()en und in den child-Prozessen diesen Speicher anfordern. MfG, -mjy From kapcansoft at aon.at Tue May 16 09:26:32 2006 From: kapcansoft at aon.at (Kapcan-Soft) Date: Tue, 16 May 2006 18:26:32 +0200 Subject: [Vienna-pm] =?iso-8859-1?q?perl_programmierer_f=FCr_weiterentwick?= =?iso-8859-1?q?lung_gesucht?= Message-ID: <000c01c67905$7e9f6310$0501a8c0@prag> guten tag, wir suchen zur weiterentwicklung einer bestehenden perl website mit CMS einen Freelancer im raum wien. Es laufen ein mailerdaimon (newsletterfunktion) und 2 mysql datenbanken auf einem apache1.99 server bei Interesse oder f?r mehr infos meldet euch bitte per mail mfg mit besten Gr??en Ing. Cantonati Manfred ________________________________________ Kapcan-Soft Cantonati KEG email: kapcansoft at aon.at -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/vienna-pm/attachments/20060516/f862cbcc/attachment.html From hjp-vienna-pm-list at hjp.at Tue May 16 14:00:18 2006 From: hjp-vienna-pm-list at hjp.at (Peter J. Holzer) Date: Tue, 16 May 2006 23:00:18 +0200 Subject: [Vienna-pm] perl und speicher freigeben In-Reply-To: <44697326.8030802@goldfisch.at> References: <44697326.8030802@goldfisch.at> Message-ID: <20060516210018.GT25629@teal.hjp.at> On 2006-05-16 08:37:26 +0200, peter pilsl wrote: > Ich hab ein langlaufendes Programm (ein daemon, der wochen laufen soll) > und der nur ganz selten was zu tun hat. Dann aber muss es fleissig > rechnen und braucht auch viel Speicher. > Mein Problem ist nun, dass perl diesen Speicher einfach nicht mehr an > das Betriebssystem zur?ckgibt - auch nicht nach Stunden So intelligent ist die Perl Garbage Collection nicht - entweder gleich oder gar nicht. > und auch nicht, wenn das Betriebssystem vor lauter swappen sonst nix > mehr tun kann. Es gibt bei keinem Unix ein Signal "Speicher ist knapp, bitte alles freigeben, was nicht unbedingt ben?tigt wird". Die Idee dazu hatte ich schon vor vielen Jahren, aber ich f?rchte, wenn ich es nicht implementiere, implemnentiert es keiner :-(. > Ich hab das an einem kleinen Beispielprogramm illustriert: > > -------------------memd_test.pl-------- > use strict; > use warnings; > $|=1; > > sub Run { > my @x; > foreach (0..200000) { > push(@x,[33,44,55,66,77,88,99,22,11,33,44,55,66,77,88,99,22,11,33,44,55,66,77,88,99,22,11]); > } > } > > my $c; > while () { > print $c++; > Run(); > } > ------------------------ > > > Nach jeder Tasteneingabe wird Run() gestartet, Was tut Run()? Wirklich das, was Du oben angibst? > dass ein grosses array > erzeugt und dann aber eigentlich gleich wieder freigeben soll. Tut es > aber nicht. Wenn man mehrere dieser Prozesse startet und jeweils 10 > mal enter dr?ckt, dann sieht das im speicher so aus: > > #top > 2461 root 9 0 122m 122m 1228 T 0.0 6.0 0:02.78 0 121m > memd_test2.pl > 2492 root 9 0 122m 122m 1228 T 0.0 6.0 0:02.77 0 121m > memd_test2.pl > 2564 root 9 0 122m 122m 1228 T 0.0 6.0 0:00.98 0 121m > memd_test2.pl > 2570 root 9 0 122m 122m 1228 T 0.0 6.0 0:01.87 0 121m > memd_test2.pl Die Prozesse sind alle im Zustand "Stopped" (T). In den Zustand kommt ein Prozess eigentlich nur, wenn er im Debugger l?uft ("T" steht eigentlich f?r "trace") oder wenn man ihm ein Stop-Signal geschickt hat. Und wo kommen die mehreren Prozesse her? Was machst Du? > jeder prozess braucht 122mb und gibt sie nie wieder her,obwohl er sie > w?hrend dem warten gar nicht braucht. das ist b?se !! ;) C selbst-compiliert oder binary? Die Perl-eigene Malloc-Library gibt Memory nie frei. Per default wird allerdings auf den meisten Unixen das standard-malloc verwendet. GNU malloc (Standard unter Linux) unterscheidet zwischen "kleinen" (< 128 kB) und gro?en Speicherbereichen. Gro?e werden sofort an das OS zur?ckgegeben. Kleine nur dann, wenn es einen zusammenh?ngenden freien Bereich am Ende des Heaps gibt, der "gro? genug ist, dass es sich auszahlt". Das ist bei perl (viele kleine Speicherbereiche in vollkommen chaotischer Reihenfolge) u.U. nie der Fall. > Das Programm muss als daemon laufen, weil es erstens eine sehr lange > startzeit hat (einlesen und initialisieren von daten) und zweitens > fallweise auch mal viele Anfragen parallel reinkommen. "forking daemon", wie Nino schon vorgeschlagen hat. hp -- _ | Peter J. Holzer | Ich sehe nun ein, dass Computer wenig |_|_) | Sysadmin WSR | geeignet sind, um sich was zu merken. | | | hjp at hjp.at | __/ | http://www.hjp.at/ | -- Holger Lembke in dan-am -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20060516/c4720a57/attachment.bin From pilsl at goldfisch.at Tue May 16 14:51:39 2006 From: pilsl at goldfisch.at (peter pilsl) Date: Tue, 16 May 2006 23:51:39 +0200 Subject: [Vienna-pm] perl und speicher freigeben In-Reply-To: <44697326.8030802@goldfisch.at> References: <44697326.8030802@goldfisch.at> Message-ID: <446A496B.4010607@goldfisch.at> > > F?llt jemanden hier was ein dazu? > > Das Programm muss als daemon laufen, weil es erstens eine sehr lange > startzeit hat (einlesen und initialisieren von daten) und zweitens > fallweise auch mal viele Anfragen parallel reinkommen. > danke f?r die Antworten. Ich hab mich f?r die fork()-Variante entschieden, die ja naheliegend war. Ich war so auf das preforken versessen (der daemon forkt gleich nach dem start ein paar mal um anfragen schneller beantworten zu k?nnne), dass ich diese Variante nicht mehr ?berlegt hatte. Preforken ist also bei grossen Datenmengen nix f?r Perl ;) danke lgp -- mag. peter pilsl goldfisch.at IT- & dataconsulting tel: +43 650 3574035 tel: +43 1 8900602 fax: +43 1 8900602 15 pilsl at goldfisch.at From pilsl at goldfisch.at Wed May 17 03:30:31 2006 From: pilsl at goldfisch.at (peter pilsl) Date: Wed, 17 May 2006 12:30:31 +0200 Subject: [Vienna-pm] =?iso-8859-1?q?vermeiden_von_deadlocks_bei_tcp-commun?= =?iso-8859-1?q?ikation/_=FCbertragen_von_beliebigen_strings?= Message-ID: <446AFB47.2000109@goldfisch.at> Ich hab ein sehr einfaches szenario: ein client sendet einen string an den server und der server schickt dann einen antwortstring zur?ck und der client terminiert. Das Problem ist, dass der string selbst ein serialized (module Storable) hash (mit vielen unter- unter- hashes ist) und daher eigentlich jedes zeichen enthalten kann. Wie weiss nun der Server, wenn der Client mit dem Senden seines Strings fertig ist? Ich hab jetzt ein paar L?sungen selbstgestrickt, die auch funktionieren, die mich aber alle nicht wircklich ?berzeugen: * der client sendet zuerst die l?nge des strings, damit der server weiss wieviele bytes er lesen muss * der client sendet einen ganz komplexen string-ende-string ala \0\n\0\0\0\0\n und der programmierer betet, dass dieser string nie im ?bertragenen string vorkommt und setzt $/ entsprechend:) ich habe einfach das gef?hl, dass es in der praxis f?lle geben wird, die diese l?sungen aushebeln werden. (stringl?nge und utf8 schreit schon wieder nach ?rger, wenn client und server auf unterschiedlichen systemen laufen usw.) Wie macht man das vern?nftig/einfach/verl?sslich? Soll man den string encoden? Kann man ein meta-EOF schicken? Wie machen das die anderen? wie ist das mit dem datei-EOF eigentlich? Da funktioniert das alles ganz einfach. Man setzt $/ auf undef und schl?rft alles in einem rein? Das fkt. bei meinem Server/Client-Modell nicht. Bisher hatte ich nur mit Server/Client-modellen zu tun, wo ein 0x10 ein echter zeilenumbruch war und das ende einer eingabe markiert hat. danke lgp Ich versuch mal, mein Problem zu schildern und hoffe, die Frage ist nicht zu komplex hier: Ein Client muss mit einem Daemon Daten austauschen. Defacto m?ssen zwei Datenstrukturen/Objekte ausgetauscht werden. step1: der client schickt einen hash an den daemon step2: der daemon schickt den antworthash zur?ck step3: der client terminiert. die hashes sind dabei zT komplexe strukturen, die wieder hashes enthalten usw. usf. Die Daten m?ssen also serialisiert werden. Dazu bietet sich das Module Storable an, aber ich hab da grad einen Knopf im Kopf und laufe von einem Deadlock in den n?chsten. Die Serialisierung wandelt eine beliebige referenz in einen string um. Diesen String schicke ich nun hin und her. Aber ich krieg kein einfaches EOF zurande. Der Server weiss nicht, wann er alle Daten vom Client hat. -- mag. peter pilsl goldfisch.at IT- & dataconsulting tel: +43 650 3574035 tel: +43 1 8900602 fax: +43 1 8900602 15 pilsl at goldfisch.at From domm at cpan.org Wed May 17 04:02:37 2006 From: domm at cpan.org (Thomas Klausner) Date: Wed, 17 May 2006 13:02:37 +0200 Subject: [Vienna-pm] vermeiden von deadlocks bei tcp-communikation/ ?bertragen von beliebigen strings In-Reply-To: <446AFB47.2000109@goldfisch.at> References: <446AFB47.2000109@goldfisch.at> Message-ID: <20060517110237.GD26012@domm2.zsi.at> Hi! On Wed, May 17, 2006 at 12:30:31PM +0200, peter pilsl wrote: > Das Problem ist, dass der string selbst ein serialized (module Storable) > hash (mit vielen unter- unter- hashes ist) und daher eigentlich jedes > zeichen enthalten kann. > .. > Wie machen das die anderen? http POST (was ja auch jedes Zeichen enthalten kann) machts mit Content-Length, was IMO gut funktioniert. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at cpan.org Wed May 17 04:02:37 2006 From: domm at cpan.org (Thomas Klausner) Date: Wed, 17 May 2006 13:02:37 +0200 Subject: [Vienna-pm] vermeiden von deadlocks bei tcp-communikation/ ?bertragen von beliebigen strings In-Reply-To: <446AFB47.2000109@goldfisch.at> References: <446AFB47.2000109@goldfisch.at> Message-ID: <20060517110237.GD26012@domm2.zsi.at> Hi! On Wed, May 17, 2006 at 12:30:31PM +0200, peter pilsl wrote: > Das Problem ist, dass der string selbst ein serialized (module Storable) > hash (mit vielen unter- unter- hashes ist) und daher eigentlich jedes > zeichen enthalten kann. > .. > Wie machen das die anderen? http POST (was ja auch jedes Zeichen enthalten kann) machts mit Content-Length, was IMO gut funktioniert. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From Wolfgang.Laun at alcatel.at Wed May 17 04:16:47 2006 From: Wolfgang.Laun at alcatel.at (Wolfgang Laun) Date: Wed, 17 May 2006 13:16:47 +0200 Subject: [Vienna-pm] =?iso-8859-1?q?vermeiden_von_deadlocks_bei_tcp-commun?= =?iso-8859-1?q?ikation/_=FCbertragen_von_beliebigen_strings?= In-Reply-To: <446AFB47.2000109@goldfisch.at> References: <446AFB47.2000109@goldfisch.at> Message-ID: <446B061F.7070401@alcatel.at> Ich kenne drei grunds?tzlich verschiedene Methoden: 1. L?nge am Anfang. Das impliziert, dass die Daten beim Sender so vorliegen, dass diese L?nge bestimmbar ist. Der Empf?nger hat freie Hand: Er kann alles empfangen und danach verarbeiten oder (wenn es m?glich ist) auch in beliebigen Bl?cken. 2. Die Struktur der Daten ist ohnehin so, dass der Empf?nger das Ende gesichert erkennen kann. (Ein well-formed XML-Dokument w?re so etwas.) Der Empf?nger liest, was er so bekommt; die Verarbeitung muss in der Lage sein, portionsweise gef?ttert zu werden (und den nicht verarbeiteten Teil der letzten Portion zur?ckzumelden, wenn der Sender mehrere Daten-Transfers hintereinander machen darf. 3. L?nge vorab unbekannt; beliebiger Dateninhalt. Sender und Empf?nger verabreden (zB) dass das Ende mit einem Null-Byte gemeldet wird; jedes Null-Byte in den Daten wird als ESC NUL gesendet und jedes ESC als ESC ESC. Klarerweise kann das das Volumen um bis zu 100% erh?hen, idealerweise sollte man wenigstens eine Ahnung haben, wie der Inhalt aussieht. Die Bef?rchtung, dass die L?nge am Anfang zu Problemen f?hren k?nnte, kann ich nicht teilen. E/A auf Sockets verwendet Byte-Counts. F?r die Verarbeitung muss Einigkeit ?ber Codierung und/oder Darstellung bin?rer Daten gegeben sein, sonst ist sowieso alles sinnlos. mfg WL peter pilsl wrote: >Ich hab ein sehr einfaches szenario: > >ein client sendet einen string an den server und der server schickt dann >einen antwortstring zur?ck und der client terminiert. > > >Das Problem ist, dass der string selbst ein serialized (module Storable) >hash (mit vielen unter- unter- hashes ist) und daher eigentlich jedes >zeichen enthalten kann. > >Wie weiss nun der Server, wenn der Client mit dem Senden seines Strings >fertig ist? > >Ich hab jetzt ein paar L?sungen selbstgestrickt, die auch funktionieren, >die mich aber alle nicht wircklich ?berzeugen: > >* der client sendet zuerst die l?nge des strings, damit der server weiss >wieviele bytes er lesen muss >* der client sendet einen ganz komplexen string-ende-string ala >\0\n\0\0\0\0\n und der programmierer betet, dass dieser string nie im >?bertragenen string vorkommt und setzt $/ entsprechend:) > >ich habe einfach das gef?hl, dass es in der praxis f?lle geben wird, die >diese l?sungen aushebeln werden. (stringl?nge und utf8 schreit schon >wieder nach ?rger, wenn client und server auf unterschiedlichen systemen >laufen usw.) > > >Wie macht man das vern?nftig/einfach/verl?sslich? > >Soll man den string encoden? >Kann man ein meta-EOF schicken? >Wie machen das die anderen? > >wie ist das mit dem datei-EOF eigentlich? Da funktioniert das alles ganz >einfach. Man setzt $/ auf undef und schl?rft alles in einem rein? Das >fkt. bei meinem Server/Client-Modell nicht. > >Bisher hatte ich nur mit Server/Client-modellen zu tun, wo ein 0x10 ein >echter zeilenumbruch war und das ende einer eingabe markiert hat. > >danke >lgp > > > > > > > > > > > > >Ich versuch mal, mein Problem zu schildern und hoffe, die Frage ist >nicht zu komplex hier: > >Ein Client muss mit einem Daemon Daten austauschen. Defacto m?ssen zwei > Datenstrukturen/Objekte ausgetauscht werden. > >step1: der client schickt einen hash an den daemon >step2: der daemon schickt den antworthash zur?ck >step3: der client terminiert. > >die hashes sind dabei zT komplexe strukturen, die wieder hashes >enthalten usw. usf. > >Die Daten m?ssen also serialisiert werden. Dazu bietet sich das Module >Storable an, aber ich hab da grad einen Knopf im Kopf und laufe von >einem Deadlock in den n?chsten. > >Die Serialisierung wandelt eine beliebige referenz in einen string um. >Diesen String schicke ich nun hin und her. > >Aber ich krieg kein einfaches EOF zurande. Der Server weiss nicht, wann >er alle Daten vom Client hat. > > > > > > > > From hjp-vienna-pm-list at hjp.at Wed May 17 06:40:00 2006 From: hjp-vienna-pm-list at hjp.at (Peter J. Holzer) Date: Wed, 17 May 2006 15:40:00 +0200 Subject: [Vienna-pm] =?iso-8859-1?q?vermeiden_von_deadlocks_bei_tcp-commun?= =?iso-8859-1?q?ikation/_=FCbertragen_von_beliebigen_strings?= In-Reply-To: <446AFB47.2000109@goldfisch.at> References: <446AFB47.2000109@goldfisch.at> Message-ID: <20060517133959.GA16422@teal.hjp.at> On 2006-05-17 12:30:31 +0200, peter pilsl wrote: > > Ich hab ein sehr einfaches szenario: > > ein client sendet einen string an den server und der server schickt dann > einen antwortstring zur?ck und der client terminiert. [...] > > wie ist das mit dem datei-EOF eigentlich? Da funktioniert das alles ganz > einfach. Man setzt $/ auf undef und schl?rft alles in einem rein? Das > fkt. bei meinem Server/Client-Modell nicht. Doch, das sollte bei Dir funktionieren, da der Client ja den ganzen String schickt, bevor er vom Server was bekommt. perldoc -f shutdown Allerdings hat das den Nachteil, dass der Server nicht zuverl?ssig bestimmen kann, ob der Client die Verbindung geschlossen hat, weil der String zu Ende ist, oder weil er abgest?rzt ist. Ich w?rde diese L?sung also nur verwenden, wenn das dem Server egal ist. hp -- _ | Peter J. Holzer | Ich sehe nun ein, dass Computer wenig |_|_) | Sysadmin WSR | geeignet sind, um sich was zu merken. | | | hjp at hjp.at | __/ | http://www.hjp.at/ | -- Holger Lembke in dan-am -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20060517/bdcedb80/attachment.bin From bernd at firmix.at Thu May 18 01:51:32 2006 From: bernd at firmix.at (Bernd Petrovitsch) Date: Thu, 18 May 2006 10:51:32 +0200 Subject: [Vienna-pm] =?iso-8859-1?q?vermeiden_von_deadlocks_bei_tcp-commun?= =?iso-8859-1?q?ikation/_=FCbertragen_von_beliebigen_strings?= In-Reply-To: <446AFB47.2000109@goldfisch.at> References: <446AFB47.2000109@goldfisch.at> Message-ID: <1147942292.21168.13.camel@tara.firmix.at> On Wed, 2006-05-17 at 12:30 +0200, peter pilsl wrote: > Ich hab ein sehr einfaches szenario: > > ein client sendet einen string an den server und der server schickt dann > einen antwortstring zur?ck und der client terminiert. > > > Das Problem ist, dass der string selbst ein serialized (module Storable) > hash (mit vielen unter- unter- hashes ist) und daher eigentlich jedes > zeichen enthalten kann. > > Wie weiss nun der Server, wenn der Client mit dem Senden seines Strings > fertig ist? > > Ich hab jetzt ein paar L?sungen selbstgestrickt, die auch funktionieren, > die mich aber alle nicht wircklich ?berzeugen: > > * der client sendet zuerst die l?nge des strings, damit der server weiss > wieviele bytes er lesen muss > * der client sendet einen ganz komplexen string-ende-string ala > \0\n\0\0\0\0\n und der programmierer betet, dass dieser string nie im ^^^^^ > ?bertragenen string vorkommt und setzt $/ entsprechend:) Na dann wundert sich hoffentlich niemand, wo soviel buggy Software herkommt, wenn man solche broken-by-design-L?sungen ?berhaupt seri?s (abgesehen von abschreckenden Beispielen) ins Auge fa?t. > ich habe einfach das gef?hl, dass es in der praxis f?lle geben wird, die > diese l?sungen aushebeln werden. (stringl?nge und utf8 schreit schon > wieder nach ?rger, wenn client und server auf unterschiedlichen systemen > laufen usw.) Dann sollte der rationale Verstand ?ber das Gef?hl herrschen: Sobald du die L?nge (in Bytes!) voranstellst, ist ja wohl eindeutig klar, wieviele Bytes da r?berkommen. Wenn der Sender 5 mehr schickt, ist er kaputt (). Den ?rger hast du eine Eben h?her: Beide Seiten m?ssen das Array of Byte interpretieren k?nnen. Wenn die sich (bei Texten) schon ?ber das Charset/Encoding nicht einig sind, wird das die untere "?bertrage-n-Byte" Funktionen nicht beheben k?nnen. > Wie macht man das vern?nftig/einfach/verl?sslich? > > Soll man den string encoden? Ist das ein Fangfrage? Es gibt keine anderen Strings. > Kann man ein meta-EOF schicken? Willst du Byte-Stuffing implementieren? > Wie machen das die anderen? H?ngt da von ab - siehe z.B. W. Laun's Email. Bei ganz obigem Problem: Du serialisierst den String. Dann wei? du, wie lange er ist. Dann schickst du die L?nge (Hack alert: nicht bin?r, sonder textuell mit einem ' ' oder \n als Ende - dann ist das Protokoll HW-unabh?ngig) und dann den fertigen String als Blob. > wie ist das mit dem datei-EOF eigentlich? Da funktioniert das alles ganz > einfach. Man setzt $/ auf undef und schl?rft alles in einem rein? Das > fkt. bei meinem Server/Client-Modell nicht. Sicher geht das: EOF ist, wenn der Sender "close()" (oder "shutdown()") aufruft (z.B. macht das ftp bei den Data Connections so). Willst du das? > Bisher hatte ich nur mit Server/Client-modellen zu tun, wo ein 0x10 ein > echter zeilenumbruch war und das ende einer eingabe markiert hat. Naja, wenn du Zeichen definieren kannst, die garantiert nie in der Payload vorkommen (und dieses auch durchh?lst), kann man ohne Byte-Stuffing ein "Meta-EOF" u.a. Signalisierung machen. Bernd -- Firmix Software GmbH http://www.firmix.at/ mobil: +43 664 4416156 fax: +43 1 7890849-55 Embedded Linux Development and Services From pilsl at goldfisch.at Thu May 18 02:35:34 2006 From: pilsl at goldfisch.at (peter pilsl) Date: Thu, 18 May 2006 11:35:34 +0200 Subject: [Vienna-pm] =?iso-8859-1?q?vermeiden_von_deadlocks_bei_tcp-commun?= =?iso-8859-1?q?ikation/_=FCbertragen_von_beliebigen_strings?= In-Reply-To: <446AFB47.2000109@goldfisch.at> References: <446AFB47.2000109@goldfisch.at> Message-ID: <446C3FE6.7080507@goldfisch.at> peter pilsl wrote: > > Wie weiss nun der Server, wenn der Client mit dem Senden seines Strings > fertig ist? > Danke f?r die Antworten. Ich hab mich f?r die L?sung mit dem vorausschicken der L?nge entschieden. Fkt. sehr gut und sehr einfach und ich brauch nix encoden. Die L?sung mit dem "halben close" alias shutdown :), die von Peter Holzer eingebracht wurde, finde ich schon auch spannend. Allerdings muss ich davor noch ein bisschen mehr mit dem Errorhandling herumspielen. Da bin ich bei Server/Client-L?sungen nicht so firm. lgp -- mag. peter pilsl goldfisch.at IT- & dataconsulting tel: +43 650 3574035 tel: +43 1 8900602 fax: +43 1 8900602 15 pilsl at goldfisch.at From pilsl at goldfisch.at Thu May 18 02:35:40 2006 From: pilsl at goldfisch.at (peter pilsl) Date: Thu, 18 May 2006 11:35:40 +0200 Subject: [Vienna-pm] =?utf-8?q?vermeiden_von_deadlocks_bei_tcp-communikati?= =?utf-8?q?on/_=C3=BCbertragen_von_beliebigen_strings?= In-Reply-To: <1147942292.21168.13.camel@tara.firmix.at> References: <446AFB47.2000109@goldfisch.at> <1147942292.21168.13.camel@tara.firmix.at> Message-ID: <446C3FEC.8080209@goldfisch.at> Bernd Petrovitsch wrote: > Na dann wundert sich hoffentlich niemand, wo soviel buggy > Softwareherkommt ?hh ... aber ich hab doch nur ... > Ist das ein Fangfrage? Es gibt keine anderen Strings. ... tschuldigung ... > Willst du Byte-Stuffing implementieren? ahh ... weiss ich nicht. Was ist Byte-Stuffing? > Willst du das? weiss ich auch nicht und bin damit f?rchte ich durchgefallen ;) trotzdem danke f?r deine antwort. ;) lgp ps: bist du hauptberuflich lehrer oder schef? pps: bin ich echt der einzige der mit meinem thunderbird unter linux probleme mit deinen mails hat? (zeilenumbruch) -- mag. peter pilsl goldfisch.at IT- & dataconsulting tel: +43 650 3574035 tel: +43 1 8900602 fax: +43 1 8900602 15 pilsl at goldfisch.at From bernd at firmix.at Thu May 18 03:00:37 2006 From: bernd at firmix.at (Bernd Petrovitsch) Date: Thu, 18 May 2006 12:00:37 +0200 Subject: [Vienna-pm] =?iso-8859-1?q?vermeiden_von_deadlocks_bei_tcp-commun?= =?iso-8859-1?q?ikation/_=FCbertragen_von_beliebigen_strings?= In-Reply-To: <446C3FEC.8080209@goldfisch.at> References: <446AFB47.2000109@goldfisch.at> <1147942292.21168.13.camel@tara.firmix.at> <446C3FEC.8080209@goldfisch.at> Message-ID: <1147946437.21168.31.camel@tara.firmix.at> On Thu, 2006-05-18 at 11:35 +0200, peter pilsl wrote: > Bernd Petrovitsch wrote: [ ;-) ....] > > Willst du Byte-Stuffing implementieren? > > ahh ... weiss ich nicht. Was ist Byte-Stuffing? Du willst alle Bytes in den Daten haben und brauchst noch zus?tzliche f?r Meta-Information (so a la "frame start" oder "frame stop"). Da definiert man sich welche - z.B. ^ und $. Wenn in den Daten ein ^ kommt, machst du ein ^^ (und aus $ wird $$) draus. Dann kannst du ^ $ f?r die Meta-Information verwenden. Der Empf?nger liest jetzt den Zeichenstrom und bei $$ war es ein $ aus den Daten und bei $[^$] war es eine Meta-Daten $. So wie"Quoten" nur ein bi?chen anders. > ps: bist du hauptberuflich lehrer oder schef? Prim?r lern' ich selbst von mir und Chef kann ich auch nur im Selbstgespr?ch sein .... > pps: bin ich echt der einzige der mit meinem thunderbird unter linux > probleme mit deinen mails hat? (zeilenumbruch) Bernd -- Firmix Software GmbH http://www.firmix.at/ mobil: +43 664 4416156 fax: +43 1 7890849-55 Embedded Linux Development and Services From Wolfgang.Laun at alcatel.at Thu May 18 03:06:17 2006 From: Wolfgang.Laun at alcatel.at (Wolfgang Laun) Date: Thu, 18 May 2006 12:06:17 +0200 Subject: [Vienna-pm] =?iso-8859-1?q?vermeiden_von_deadlocks_bei_tcp-commun?= =?iso-8859-1?q?ikation/_=FCbertragen_von_beliebigen_strings?= In-Reply-To: <446C3FE6.7080507@goldfisch.at> References: <446AFB47.2000109@goldfisch.at> <446C3FE6.7080507@goldfisch.at> Message-ID: <446C4719.6090201@alcatel.at> Die L?sung mit shutdown zur Signalisierung des Endes der Daten hat ein paar Nachteile. 1. Zus?tzlicher Overhead (auf der TCP/IP-Ebene) f?r Auf- und Abbau der Verbindung 2. Der Port auf der Server-Seite bleibt noch einige Zeit belegt. 3. Beobachtung (z.B. netstat) ist bei kurzlebigen Verbindungen nicht m?glich. Ich will nicht sagen, dass die Strategie mit einer Transaktion pro Session ganz zu vermeiden ist. Viele Klienten, die aber jeweils nur selten etwas wollen, k?nnten sich durchaus sinnvoll so verhalten. (Es kenne auch Server, die den Klienten hinauswerfen, wenn der einige Zeit nichts von sich gibt!) mfg WL peter pilsl wrote: > Die L?sung mit dem "halben close" alias shutdown :), die von Peter > >Holzer eingebracht wurde, finde ich schon auch spannend. Allerdings >muss ich davor noch ein bisschen mehr mit dem Errorhandling >herumspielen. Da bin ich bei Server/Client-L?sungen nicht so firm. > >lgp > > > From Wolfgang.Laun at alcatel.at Thu May 18 03:32:19 2006 From: Wolfgang.Laun at alcatel.at (Wolfgang Laun) Date: Thu, 18 May 2006 12:32:19 +0200 Subject: [Vienna-pm] =?iso-8859-1?q?vermeiden_von_deadlocks_bei_tcp-commun?= =?iso-8859-1?q?ikation/_=FCbertragen_von_beliebigen_strings?= In-Reply-To: <446B061F.7070401@alcatel.at> References: <446AFB47.2000109@goldfisch.at> <446B061F.7070401@alcatel.at> Message-ID: <446C4D33.3010106@alcatel.at> Na, da habe ich doch glatt etwas vergessen. Beliebige bin?re Daten k?nnen so umgeformt werden, dass sie als Textdatei behandelt werden k?nnen. Das geht mit uuencode (siehe u.a. auch perlpacktut) oder mit Base64 (RFC 1521). Nachteil ist der Overhead, der aber bei beiden konstant ~25% ist. mfg WLaun Wolfgang Laun wrote: > Ich kenne drei grunds?tzlich verschiedene Methoden: > > From spaceman at foo.at Thu May 18 06:54:21 2006 From: spaceman at foo.at (Stefan Weiss) Date: Thu, 18 May 2006 15:54:21 +0200 Subject: [Vienna-pm] =?utf-8?q?vermeiden_von_deadlocks_bei_tcp-communikati?= =?utf-8?q?on/_=C3=BCbertragen_von_beliebigen_strings?= In-Reply-To: <446C3FEC.8080209@goldfisch.at> References: <446AFB47.2000109@goldfisch.at> <1147942292.21168.13.camel@tara.firmix.at> <446C3FEC.8080209@goldfisch.at> Message-ID: <446C7C8D.8030908@foo.at> Jetzt misch ich mich auch noch ein bissl ein, weil 1) hat noch keiner vorgeschlagen, ein Modul f?r die Kommunikation zwischen Client und Server zu verwenden statt das Rad neu zu erfinden (auch wenns nat?rlich interessant sein kann, wie die Dinge in den Modulen implementiert werden). Anbieten w?rden sich zB (je nach Einsatzbereich): XMLRPC::Lite RPC::XML SOAP::Lite und andere (->CPAN) Au?erdem, falls du's nicht eh schon kennst, "perldoc perlipc" ist Gold wert. 2) > Bernd Petrovitsch wrote: > >> Na dann wundert sich hoffentlich niemand, wo soviel buggy >> Softwareherkommt Naja, das war dem Peter ja eh klar, deshalb hat er auch hier gefragt. Au?erdem ist program&pray eine durchaus verbreitete Technik; die meisten Leute, deren Code ich bearbeiten darf, sind darin Meister :-/. 3) > pps: bin ich echt der einzige der mit meinem thunderbird unter linux > probleme mit deinen mails hat? (zeilenumbruch) Thunderbird 1.5.0.2 hier, und soweit keine Probleme. cheers, stefan