Re: [Catalyst] Catalyst::Helper::Model::DBIC::Schema patchette?
Le 18 janv. 07 à 06:35, Kieren Diment a écrit : The current synopsis for creating a model with Catalyst::Helper::DBIC::Schema looks like this: script/create.pl model ModelName DBIC::Schema My::SchemaClass [ create=dynamic | create=static ] [ connect_info arguments ] and a few permutations on the same theme in the rest of the docs. My question is: is this any clearer (especially to people who still have their L plates on)? script/myapp_create.pl model CatalystModelName DBIC::Schema MySchemaClass [ create=dynamic | create=static ] [ connect_info arguments ] If people say it is, i'll go and change it throughout the docs. +1, even if after running the helper twice you get to understand. But still, a better doc is always welcome IMHO. David Morel ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
[Catalyst] Catalyst::Helper::Model::DBIC::Schema patchette?
The current synopsis for creating a model with Catalyst::Helper::DBIC::Schema looks like this: script/create.pl model ModelName DBIC::Schema My::SchemaClass [ create=dynamic | create=static ] [ connect_info arguments ] and a few permutations on the same theme in the rest of the docs. My question is: is this any clearer (especially to people who still have their L plates on)? script/myapp_create.pl model CatalystModelName DBIC::Schema MySchemaClass [ create=dynamic | create=static ] [ connect_info arguments ] If people say it is, i'll go and change it throughout the docs. ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
[Catalyst] Gentoo myapp_fastcgi.pl startup script?
In my neverending quest to not reinvent the wheel, has anybody written a gentoo init.d script to start/stop/reload a Catalyst fastcgi app? (Using fastcgiexternalserver) Thanks, Dylan ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Recommend methods for form handling
On 1/17/07, Ian Docherty <[EMAIL PROTECTED]> wrote: John Napiorkowski wrote: > I think FillInForm is quasi depreciated, since it > parses each request and can slow things down quite a > bit. > I had an initial struggle with FillInForm initially, but then I struggled finding a good alternative in the first place. I am now quite keen on using it and have used it for several large web and intranet sites with no problems. The only issue I had was with checkboxes filled in from the database, since CGI does not send back a value for unchecked checkboxes then FillInForm would not handle them correctly so I had to develop a work-around. Regards Ian Docherty (IcyDee) Oh, amazing! I was just starting to write a post asking something like that, although my problem showed on radiobuttons (e.g. option 0=No doesn't get selected), using Formbuilder, but I think it's the same principle. Would you please show/explain your workaround? In the meanwhile, I just tried using "false" instead of "0" (works for inserting/updating, at least with PostgreSQL) and converting "0" to "false" when filling form, but I don't think it's really elegant... Regards, Juan ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
[Catalyst] Catalyst job available in Seattle, WA
Crossposting here for visibility, in case any of you folk might live in Seattle or be interested in relocating. http://jobs.perl.org/job/5209 -Dylan ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Recommend methods for form handling
Hartmaier Alexander wrote: Hi Jim! I don't recommend the use of FillInForm, I dropped it finally two weeks ago when I had time to refactor my Catalyst apps that used it. Now I handle forms by putting the data they should show on the stash with $c->stash->{form_data}->{fieldname} = 'value'; I have to private actions to do this, one _from_db and one _from_params. Their names should be self-explanatory. E.g. the edit action forwards to the _from_db method on first load of the form which is detected by checking for method POST and the value of the submit button, else the _from_params. With this I don't have to overwrite the cgi params and have full control of what my form should display. Those values are used in my templates like value="[% form_data.fieldname %]". You can look at FormBuilder which should be pretty good from what I've heard. I'll wait for Reaction and invest some time in learning how to use it when it's done. Ah, and I use Plugin::FormValidator for the form validation. A private do_form method does this and is used for both add and edit methods. -Alex I tried this approach myself some time ago, before I moved to FillInForm but I found in cumbersome. I would like to you say what you did not like about FillInForm and why you don't recommend it? The trouble with your _from_db and your _from_params approach (which is similar to the approach I originally used) is that you have to write a long sequence of copies from one place to another and to keep track of all the things you have to copy, adding new ones when you add form elements. It breaks the DRY approach since you now have similar code in at least two or three places. (from the db to the stash, from the params to the stash, from the stash to the db). What I especially like about using FillInForm is that if I have a form that edits (say) a user, I simply pass the user object on the stash. The template then refers to [% user.firstname %], [% user.lastname %] etc. and FillInForm does the rest when the form is re-submitted. It makes my controllers so much simpler. Regards Ian Docherty (IcyDee) ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Recommend methods for form handling
John Napiorkowski wrote: I think FillInForm is quasi depreciated, since it parses each request and can slow things down quite a bit. I had an initial struggle with FillInForm initially, but then I struggled finding a good alternative in the first place. I am now quite keen on using it and have used it for several large web and intranet sites with no problems. The only issue I had was with checkboxes filled in from the database, since CGI does not send back a value for unchecked checkboxes then FillInForm would not handle them correctly so I had to develop a work-around. Regards Ian Docherty (IcyDee) ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Recommend methods for form handling
On Wed, 2007-01-17 at 10:40 -0800, John Napiorkowski wrote: > I think FillInForm is quasi depreciated, since it > parses each request and can slow things down quite a > bit. Actually, it's quite fast: http://use.perl.org/~mpeters/journal/28943 That benchmark uses HTML::Template::Expr, which is probably not quite as fast as TT, but it's clear that FillInForm is fast. I don't see a good reason not to use FillInForm, given its performance. - Perrin ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
RE: [Catalyst] Recommend methods for form handling
Hi Jim! I don't recommend the use of FillInForm, I dropped it finally two weeks ago when I had time to refactor my Catalyst apps that used it. Now I handle forms by putting the data they should show on the stash with $c->stash->{form_data}->{fieldname} = 'value'; I have to private actions to do this, one _from_db and one _from_params. Their names should be self-explanatory. E.g. the edit action forwards to the _from_db method on first load of the form which is detected by checking for method POST and the value of the submit button, else the _from_params. With this I don't have to overwrite the cgi params and have full control of what my form should display. Those values are used in my templates like value="[% form_data.fieldname %]". You can look at FormBuilder which should be pretty good from what I've heard. I'll wait for Reaction and invest some time in learning how to use it when it's done. Ah, and I use Plugin::FormValidator for the form validation. A private do_form method does this and is used for both add and edit methods. -Alex > -Original Message- > From: Jim Spath [mailto:[EMAIL PROTECTED] > Sent: Wednesday, January 17, 2007 7:09 PM > To: catalyst@lists.rawmode.org > Subject: [Catalyst] Recommend methods for form handling > > I was wondering what the current consensus among Catalyst users is about > what the best way to approach forms is? > > I started off writing the forms directly into the template, validating > with FormValidator::Simple, and trying to fill values in with > FillInForm. > > I really liked FormValidator::Simple alot, and writing the forms > directly in the template gives designers complete control, but I had > some trouble with FillInForm and read that it could be slow, so I > decided to try something else. > > I'm trying out HTML::Widget now, since the Advanced CRUD tutorial uses > it, and I guess it seems ok, although its validation capabilities don't > seem as powerful as FormValidator::Simple. Also, it seems like it makes > it harder for designers to work with the forms, and I'm about its > performance. > > I guess I'm just looking for some opinions on which methodology to > choose. Performance is probably the biggest consideration for me, but > validation, ease of development, and allowing for designers to easily > edit the appearance are all important. > > Thanks! > Jim > > ___ > List: Catalyst@lists.rawmode.org > Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst > Searchable archive: http://www.mail- > archive.com/catalyst@lists.rawmode.org/ > Dev site: http://dev.catalyst.perl.org/ *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"* T-Systems Austria GesmbH Rennweg 97-99, 1030 Wien Handelsgericht Wien, FN 79340b *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"* Notice: This e-mail contains information that is confidential and may be privileged. If you are not the intended recipient, please notify the sender and then delete this e-mail immediately. *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"* ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Re: Catalyst vs Rails vs Django Cook off
On Wed, 2007-01-17 at 19:24 +0100, Sébastien Wagener wrote: > On my production server, database requests are usually quite fast, so > most of the time is spent in perl code, and here are the first lines of > a "dprofpp -r" on my local 2.8 Ghz Laptop (production database, > Algorithm::C3 0.06, mod_perl deployment, as I do not want to use FastCGI > and dprofpp -F), for a repeated lost-password/login/change > password/logout cycle (totally about 1000 requests) One tip for profiling with mod_perl: If you preload your modules in httpd.conf (or a startup.pl called from it), make sure you initialize the debugger before you load them or else they will not show up in DProf output. For example, put this before any PerlModule or PerlRequire statements: require Apache::DB; Apache::DB->init; - Perrin ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Recommend methods for form handling
--- Jim Spath <[EMAIL PROTECTED]> wrote: > I was wondering what the current consensus among > Catalyst users is about > what the best way to approach forms is? > > I started off writing the forms directly into the > template, validating > with FormValidator::Simple, and trying to fill > values in with FillInForm. > > I really liked FormValidator::Simple alot, and > writing the forms > directly in the template gives designers complete > control, but I had > some trouble with FillInForm and read that it could > be slow, so I > decided to try something else. > > I'm trying out HTML::Widget now, since the Advanced > CRUD tutorial uses > it, and I guess it seems ok, although its validation > capabilities don't > seem as powerful as FormValidator::Simple. Also, it > seems like it makes > it harder for designers to work with the forms, and > I'm about its > performance. > > I guess I'm just looking for some opinions on which > methodology to > choose. Performance is probably the biggest > consideration for me, but > validation, ease of development, and allowing for > designers to easily > edit the appearance are all important. > > Thanks! > Jim I think FillInForm is quasi depreciated, since it parses each request and can slow things down quite a bit. I'm personally using HTML::Widget with a custom Model and ActionClass wrapping it's functionality. You can give back layout control to the page designers if you need to (you don't need to use it's built in view logic). However I don't have a great example to show you, I just use the default as_xml output and wrap it in a custom style sheet. It generally looks ok, but I agree that if you need very sophisticated layout needs you probably can't use the default. There's a controller and custom actionclass for Formbuilder (the plugin is depreciated, don't use it) over at: http://search.cpan.org/~jcamacho/Catalyst-Controller-FormBuilder-0.02/lib/Catalyst/Controller/FormBuilder.pm I actually used the plugin version and liked it's approach of using a config file to create fields and setup validation. However I'm not sure how hard it is to create complex validation logic, like validation associated with a callback sub. This looks like a lot of work was put into it to make it really work well for Catalyst; I'd be inclined to try if for someone new I was making if I hadn't already spend so much time on my HTML::Widget wrappers. Then there is the Reaction project (search the list archive for more). This is more than just for forms though, but I think it represents more state of the art thinking. If you've played with Java Struts and Tiles and JSF some of the ideas there will seem familar (at least I think so, but I've been known to see stuff that wasn't there :) However the learning curve is a bit steep since it uses cutting edge Perl disciplines like Moose for object oriented programming. If you have time to spare in the project it's probably worth a long hard look at. There are other form systems around but I think that covers what I've seen people talking about on the list. good luck, John > > ___ > List: Catalyst@lists.rawmode.org > Listinfo: > http://lists.rawmode.org/mailman/listinfo/catalyst > Searchable archive: > http://www.mail-archive.com/catalyst@lists.rawmode.org/ > Dev site: http://dev.catalyst.perl.org/ > Finding fabulous fares is fun. Let Yahoo! FareChase search your favorite travel sites to find flight and hotel bargains. http://farechase.yahoo.com/promo-generic-14795097 ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
[EMAIL PROTECTED] wrote: > Octavian, do what you want. No one is stopping you. You were > asking for advice about this and you have been given it. This is the most insightful comment so far. Octavian, you got advice on why source encryption isn't a great idea. If you want to do it anyway, then we told you how -- with PAR or with perlapp. We also suggested that you host the code yourself if you're worried about leaking it. Lastly, we suggested that you could always open-source the application; rendering "theft" impossible! Many experienced people have weighed in on the topic, and it's clear that source encryption doesn't work for them. They're using one of the other two alternatives, and they're mostly experiencing success. Learn from them; that's why you asked the list, right? Sometimes the idea that's stuck in your (anyone's) head is not the best. Regards, Jonathan Rockway -- package JAPH;use Catalyst qw/-Debug/;($;=JAPH)->config(name => do { $,.=reverse qw[Jonathan tsu rehton lre rekca Rockway][$_].[split //, ";$;"]->[$_].q; ;for 1..4;$,=~s;^.;;;$,});$;->setup; ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: Re: [Catalyst] creating binaries
"Octavian Rasnita" <[EMAIL PROTECTED]> wrote on 01/17/2007 04:53:08 AM: > From: "Kiki" <[EMAIL PROTECTED]> > > I would say that treating your customers as potential thieves won't get > > you very far in doing business with them. > > 1. In a country where the pyracy is over 90%, yes I can consider the > potential customers thieves. > 2. I am not selling the program directly to the customers, but to someone > that asks for some features, including hiding the source. > > Octavian My last post on this thread. It sounds like your reason for hiding the source is solely based on stopping piracy. I can not stress enough that any type of obfu you do to a perl program to hide its source is not going to stop piracy. All that needs to happen is for one person to take a look at the code and view your "key check", data base connection string, anti-piracy checks or whatever else and crack your program. Applications developed with C and ASM to enable these very same tactics and with a much^4 higher cost of entry for crackers are cracked the week (eh or even earlier) they are released. Look at software such as some of the 3d packages out there (lightwave, maya, 3ds) that in many forms cost > 10k per seat. These companies have spent thousands of man hours building in very well hidden checks for dongles or license hacking -- but at the end of the day, every single release gets cracked. Looking at return on your investment, considering the very low bar for getting into actual perl source vs jumping around machine language in C or ASM generated applications, any time spent on this task is much more likely to show returns you instead add new (or better) features to your product. Octavian, do what you want. No one is stopping you. You were asking for advice about this and you have been given it. -Wade ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Re: Catalyst vs Rails vs Django Cook off
What about profiling real world applications where the Catalyst seems to be the bottleneck? On my production server, database requests are usually quite fast, so most of the time is spent in perl code, and here are the first lines of a "dprofpp -r" on my local 2.8 Ghz Laptop (production database, Algorithm::C3 0.06, mod_perl deployment, as I do not want to use FastCGI and dprofpp -F), for a repeated lost-password/login/change password/logout cycle (totally about 1000 requests): Total Elapsed Time = 142.8513 Seconds Real Time = 142.8513 Seconds Exclusive Times %Time ExclSec CumulS #Calls sec/call Csec/c Name 13.7 19.56 19.569 53920 0.0004 0.0004 NEXT::ELSEWHERE::ancestors 11.0 15.83 77.300 57155 0.0003 0.0014 NEXT::AUTOLOAD 2.61 3.731 3.731 485987 0. 0. Class::Accessor::Fast::__ANON__ It appears that 39.121 (exclusive) seconds out of 142.8513 seconds, i.e. about 27.4% of the running time of my application are spent in subroutines which would probably not even exist in a compiled language like C++, or which could at least be ignored in such a language... (correct me if I am wrong) I do not want to criticise my personal profiling here, I am going to do that if I have more time. My point is: Do not talk about benchmarks but try to make real world applications faster. There are real world instances where Catalyst, DBIx::Class and related modules contribute a significant part to the running time of the application. If it is possible to reduce this part by a reasonable amount of work, try to reduce it. I do not mind a framework that speeds up the development time, but results in slightly slower requests if I know that the Catalyst team does not ignore the speed of its framework. I am not claiming that the team ignores performance, there have actually been made impressive improvements in Algorithm::C3 and so on. Just go on, and do not waste your time to build benchmarks to impress marketing people ;-) Sébastien On Wed, 2007-01-17 at 12:30 -0500, Perrin Harkins wrote: > On Wed, 2007-01-17 at 15:12 +0100, Robert 'phaylon' Sedlacek wrote: > > When I request a resource from a Catalyst application, two things are > > executed: The framework logic, and my application logic. But this is not a > > "first the one, then the other" execution. During the request, the > > framework calls my application logic to get some response together, and my > > application logic uses the framework logic in a convenient way. The > > dispatching (read: The decisio on what part of my application logic to > > execute) is a rather small part. > > That was my point actually: the dispatching (plus the abstraction layer > for accessing things like the query string from the web environment) is > nearly all of it, in terms of performance. A couple of calls to > $c->forward() and $c->stash() are negligible, and all the rest is either > your code or some non-Catalyst CPAN module. > > Regarding the DBI analogy, the thinking is pretty simple: > > - DBI is big, much bigger than Catalyst. > - DBI has tons of functionality in it, like a profiler, database schema > introspection, and a proxy system. > - If someone made a benchmark comparing DBI to JDBC based on query > speed, no one would complain that they didn't test the speed of the > other features, even though you might use them. Query speed is the most > relevant thing to benchmark for DBI, just like mapping URLs to methods > is the most relevant thing to benchmark for Catalyst. > > The benchmark still sucks though, even as a dispatcher test. He gave it > the easiest possible URL. > > - Perrin > > > ___ > List: Catalyst@lists.rawmode.org > Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst > Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ > Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
[Catalyst] Recommend methods for form handling
I was wondering what the current consensus among Catalyst users is about what the best way to approach forms is? I started off writing the forms directly into the template, validating with FormValidator::Simple, and trying to fill values in with FillInForm. I really liked FormValidator::Simple alot, and writing the forms directly in the template gives designers complete control, but I had some trouble with FillInForm and read that it could be slow, so I decided to try something else. I'm trying out HTML::Widget now, since the Advanced CRUD tutorial uses it, and I guess it seems ok, although its validation capabilities don't seem as powerful as FormValidator::Simple. Also, it seems like it makes it harder for designers to work with the forms, and I'm about its performance. I guess I'm just looking for some opinions on which methodology to choose. Performance is probably the biggest consideration for me, but validation, ease of development, and allowing for designers to easily edit the appearance are all important. Thanks! Jim ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Re: Catalyst vs Rails vs Django Cook off
On Wed, 2007-01-17 at 15:12 +0100, Robert 'phaylon' Sedlacek wrote: > When I request a resource from a Catalyst application, two things are > executed: The framework logic, and my application logic. But this is not a > "first the one, then the other" execution. During the request, the > framework calls my application logic to get some response together, and my > application logic uses the framework logic in a convenient way. The > dispatching (read: The decisio on what part of my application logic to > execute) is a rather small part. That was my point actually: the dispatching (plus the abstraction layer for accessing things like the query string from the web environment) is nearly all of it, in terms of performance. A couple of calls to $c->forward() and $c->stash() are negligible, and all the rest is either your code or some non-Catalyst CPAN module. Regarding the DBI analogy, the thinking is pretty simple: - DBI is big, much bigger than Catalyst. - DBI has tons of functionality in it, like a profiler, database schema introspection, and a proxy system. - If someone made a benchmark comparing DBI to JDBC based on query speed, no one would complain that they didn't test the speed of the other features, even though you might use them. Query speed is the most relevant thing to benchmark for DBI, just like mapping URLs to methods is the most relevant thing to benchmark for Catalyst. The benchmark still sucks though, even as a dispatcher test. He gave it the easiest possible URL. - Perrin ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] catalystinstaller.sh - Automated Catalyst installation for FC6
On Wed, 2007-01-17 at 15:03 +0100, Thomas Hartman wrote: > Is your cat installer script available to the public? It's not a Cat installer, but it is available to the public. This is the installer for the Krang CMS, and you can see an example of how it uses Expect here: http://svn.krangcms.com/trunk/krang/lib/Krang/Platform.pm It basically builds every module in a specified src/ directory for local use, so you could adapt it for Catalyst or anything else if you wanted to. - Perrin ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Re: Catalyst vs Rails vs Django Cook off
I agree 100% on this... if we are judging Catalyst, et al, as simple dispatchers, then we should consider apache+cgi in the discussion as well - as apache is obviously one of the most venerable and widely deployed dispatchers out there. A framework is much more than that. In my experience, the costs in time and money involved in building and maintaining the code for an app outweigh the cost of deploying it by huge margins. Furthermore, by the time you are experiencing enough traffic to be analyzing the performance at this granular a level, there are much better ways to improve your responses per second that cost much less in terms of time and money. These days, for less than the cost of a week of work, you can double your serving capacity easily - and because of the 'fringe benefits' of using Catalyst this is usually simply a matter of swapping out session and caching plugins (if you even use them) to the more cross- server compatible modules. If you are using a frontend cache like squid, you can do even more cost-for-performance-wise. Personally, I use Catalyst because it takes care of a lot of details I would rather not worry about. When I am free of worrying about all those details, I can focus on building JUST my application logic. This means that my application logic tends to be more solid, because I am not tracking a ton of specifics outside of my app. Because I'm not constantly crossing the line between my app and base functionality (responding to HTTP, getting the correct bit of code executed based on the request, etc.), I am not chasing bugs related to that line. I can rely on the fact that it will always happen in a particular way and if I have a bug, it's more than likely in my application, so I can focus there. That is the power of a Framework any 'benchmark' that doesn't take those things into account is so much fluff and of no use to me. JayK On Jan 17, 2007, at 9:44 AM, Marcello Romani wrote: David Morel ha scritto: Le 15 janv. 07 à 21:51, Christopher Hicks a écrit : On Mon, Jan 15, 2007 at 08:27:08PM +0100, Daniel McBrearty wrote: I don't see any reason why it shouldn't be meaningful if it was done well. Not that anyone should choose their framework on the basis of such a benchmark, but it's a factor to throw into the mix Does that include dynamic content caching wizardry ? It is meaningless if you don't take into account real-life scenarios like reverse proxy cache invalidation policies (and tricks). This is just to say that all this perf talk is meaningless : sometimes the power you get from a well thought out framework allows you to do things that are close to magick, speed-wise among others. Comparing simple setups is ridiculous IMHO. David Morel If a framework makes development easier because it's more elegant, easy to use, or whatever, then you may have more time to think about setting up a more efficient deployment architecture (i.e. the thinks mentioned above). Therefore it seems to me that ease of developement might be more important to the overall app performance than the raw speed in simple test cases. Just my 2 (euro)cents. ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/ catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ -- Marcello Romani Responsabile IT Ottotecnica s.r.l. http://www.ottotecnica.com ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/ catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ --- America will never be destroyed from the outside. If we falter and lose our freedoms, it will be because we destroyed ourselves. -- Abraham Lincoln ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Re: Catalyst vs Rails vs Django Cook off
David Morel ha scritto: Le 15 janv. 07 à 21:51, Christopher Hicks a écrit : On Mon, Jan 15, 2007 at 08:27:08PM +0100, Daniel McBrearty wrote: I don't see any reason why it shouldn't be meaningful if it was done well. Not that anyone should choose their framework on the basis of such a benchmark, but it's a factor to throw into the mix Does that include dynamic content caching wizardry ? It is meaningless if you don't take into account real-life scenarios like reverse proxy cache invalidation policies (and tricks). This is just to say that all this perf talk is meaningless : sometimes the power you get from a well thought out framework allows you to do things that are close to magick, speed-wise among others. Comparing simple setups is ridiculous IMHO. David Morel If a framework makes development easier because it's more elegant, easy to use, or whatever, then you may have more time to think about setting up a more efficient deployment architecture (i.e. the thinks mentioned above). Therefore it seems to me that ease of developement might be more important to the overall app performance than the raw speed in simple test cases. Just my 2 (euro)cents. ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ -- Marcello Romani Responsabile IT Ottotecnica s.r.l. http://www.ottotecnica.com ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Re: creating a model
Lee Standen ha scritto: lern2putty :D There's an option to turn on X11 forwarding, and it works :) I've seen it, but I've just ignored it. As I said, I've been lazy wrt this thing. :-) Marcello Romani wrote: A. Pagaltzis ha scritto: * Marcello Romani <[EMAIL PROTECTED]> [2007-01-15 14:15]: I usually do Cygwin/X, xhost +, then ssh into linux box, export DISPLAY and type startkde. You know that you can have SSH forward X so that none of the extra steps are necessary? (Plus your session is encrypted and the X server isn’t open to the world either.) Regards, I knew this, but I never tried for 2 reasons: the "network" is a simple cable (no switch) across the room (no need fo encryption) and that's how I learned it awhile ago, so I just did what I was used to. Thanks for pointing that out, though. I will try it today. ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ -- Marcello Romani Responsabile IT Ottotecnica s.r.l. http://www.ottotecnica.com ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Re: Catalyst vs Rails vs Django Cook off
A. Pagaltzis said: > > * Robert 'phaylon' Sedlacek <[EMAIL PROTECTED]> [2007-01-16 15:55]: > >> That's a rather odd comparison. I'd say "benchmarking mapping >> of URLs to methods isn't a good test of Catalyst like >> benchmarking DBI isn't a good test of DBIx-Class." > > I agree that Perrinâs analogy was a bit odd, but yours is even > odder. You are of course free to think so, but without some Why's I'm hardly able to argue about it. But I always wanted to be psychic, so I'll try it anyway :) When I request a resource from a Catalyst application, two things are executed: The framework logic, and my application logic. But this is not a "first the one, then the other" execution. During the request, the framework calls my application logic to get some response together, and my application logic uses the framework logic in a convenient way. The dispatching (read: The decisio on what part of my application logic to execute) is a rather small part. -- # Robert 'phaylon' Sedlacek # Perl 5/Catalyst Developer in Hamburg, Germany { EMail => ' [EMAIL PROTECTED] ', Web => ' http://474.at ' } ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] catalystinstaller.sh - Automated Catalyst installation for FC6
Is your cat installer script available to the public? On 1/17/07, Perrin Harkins <[EMAIL PROTECTED]> wrote: Thomas Hartman wrote: > If the only with your script is the user has to know to accept the > defaults, you may want to have a look at: > > http://search.cpan.org/~mschilli/Sysadm-Install-0.22/lib/Sysadm/Install.pm See also "Expect". We use it in our installer script to deal with chatty module installs that ask questions. Good for when you need more than just hitting ENTER. - Perrin ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
Bogdan Lucaciu wrote: On Wednesday 17 January 2007 10:49, Octavian Rasnita wrote: Bla bla. You are living in USA probably, where what you said is not bla [...] this is what some people refer to as "trolling". (High quality trolling even) Yup. Took me until I read that response from Octavian to realize it. My apologies to the list. I thought I was genuinely helping someone. Please end this thread, or at least try to keep legal/marketing/philosophy out of it. -- Joseph Landman, Ph.D Founder and CEO Scalable Informatics LLC, email: [EMAIL PROTECTED] web : http://www.scalableinformatics.com phone: +1 734 786 8423 fax : +1 734 786 8452 or +1 866 888 3112 cell : +1 734 612 4615 ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] catalystinstaller.sh - Automated Catalyst installation for FC6
Thomas Hartman wrote: If the only with your script is the user has to know to accept the defaults, you may want to have a look at: http://search.cpan.org/~mschilli/Sysadm-Install-0.22/lib/Sysadm/Install.pm See also "Expect". We use it in our installer script to deal with chatty module installs that ask questions. Good for when you need more than just hitting ENTER. - Perrin ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
From: "Matt S Trout" <[EMAIL PROTECTED]> I suspect it's more complaints about people expecting things for free from somebody who's got a hell of a lot of free advice on here without as yet contributing anything useful back are ... ironic at best. I haven't asked anything for free. I've just asked if Catalyst can do some things, and nobody showed that can do it. They try to convince me that what I want is not good. If it cannot do, then it is ok, they could at least tell me that, so I could use my time better and go and use another program for what I want. They would not lose their time either. I have asked that because I consider Catalyst the most complete framework, and I found it much easier to use than something else, but if it is not possible, then... that's it. Actually, it happily can and I know of people who have done so; unfortunately your entitlement attitude and repeated failure to read documentation or to listen when people point you at it has probably resulted in those who're knowledgeable about this not being willing to further help you for free - especially given any time you fail to understand something you accuse the tools of being incapable and broken, often when the authors of those tools are trying to help you learn. I haven't seen any recommendation about hiding the Catalyst source code in case the internet access is not available and web services cannot be used. If there was such a message, I might have missed it. So, Octavian, please moderate your attitude and try and stick to being on-topic and constructive in your comments in future. If I have asked something and that thing could be done, the list members helped very much with their answers. But, if I have asked something that cannot be done, the other tries to convince me that that way is not good, suggest me to use a better licence, and so on, even though sometimes I am asked to do a program in a certain way, and I cannot tell that that way is not good. And I have just explained them why in my case their way is not good. That's why this discussion appeared. And one more thing, if I don't like something, I use to tell it. I don't know why the others don't like this. Why should I like the same thing the others like? Why should we have the same needs or preferences? But this discussion wasn't about this, because I like Catalyst, and that's why I would like to use it in that project I've told you about. Or it is not ok to say that Catalyst cannot do some things? Can Catalyst do everything? I guess not, and I don't think that someone wants it to be able to do everything. So what's the big deal if it cannot be used for some things? Or maybe it can, but just like me, the other users don't know how to use it with perlapp for hiding its source completely. They could just tell me that they don't know, or not reply, because I have explained that I don't want an extremely good protection, and that the program might not have internet access, and that the licence is useless for me. But anyway, it doesn't matter. Octavian This is a community list and you're significantly reducing the utility of it for a substantial number of the other posters. I've had half a dozen complaints about your behaviour already. The next one will result in your subscription being terminated so the rest of the community isn't further disrupted. -- Matt S Trout, Technical Director, Shadowcat Systems Ltd. Offering custom development, consultancy and support contracts for Catalyst, DBIx::Class and BAST. Contact mst (at) shadowcatsystems.co.uk for details. + Help us build a better perl ORM: http://dbix- class.shadowcatsystems.co.uk/ + -- Matt S Trout, Technical Director, Shadowcat Systems Ltd. Offering custom development, consultancy and support contracts for Catalyst, DBIx::Class and BAST. Contact mst (at) shadowcatsystems.co.uk for details. + Help us build a better perl ORM: http://dbix- class.shadowcatsystems.co.uk/ + ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
On 17 Jan 2007, at 11:17, Octavian Rasnita wrote: But anyway, it doesn't matter. No, it doesn't. Because I didn't ask you to tell me why you thought I was wrong. I asked you to moderate your behaviour. If you feel people shouldn't have been offended by your arrogant whining, that's fine, just figure out which parts of it caused them to be offended and don't do those things anyway. I'm not brooking argument on this, we've wasted enough of other people's time as it is - but I wanted to say this in public so my policy and reasoning as a list admin is clear. That does *NOT* mean arguing with me will achieve anything. Now, please consider your behaviour and how you can avoid offending and infuriating the people trying to help you in future, bearing in mind that further complaints -will- result in your removal from this list. And at this stage, so will replying to this message since I do *not* want this conversation to become as big a waste of space as the rest of this thread has now become. Hope That Helps. Have A Nice Day. Do Not Reply If You Like Your Subscription. -- Matt S Trout, Technical Director, Shadowcat Systems Ltd. Offering custom development, consultancy and support contracts for Catalyst, DBIx::Class and BAST. Contact mst (at) shadowcatsystems.co.uk for details. + Help us build a better perl ORM: http://dbix- class.shadowcatsystems.co.uk/ + ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: Re: [Catalyst] creating binaries
From: "Chisel Wright" <[EMAIL PROTECTED]> If "hiding the source" was a requirement, why did you use perl? Because perl is the only language I know well enough to write a program that could work under Windows and Linux. Octavian ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
On 17 Jan 2007, at 10:53, Octavian Rasnita wrote: From: "Kiki" <[EMAIL PROTECTED]> I would say that treating your customers as potential thieves won't get you very far in doing business with them. 1. In a country where the pyracy is over 90%, yes I can consider the potential customers thieves. 2. I am not selling the program directly to the customers, but to someone that asks for some features, including hiding the source. Better. Now for god's sake can we let this subject drop and get back to Catalyst :) -- Matt S Trout, Technical Director, Shadowcat Systems Ltd. Offering custom development, consultancy and support contracts for Catalyst, DBIx::Class and BAST. Contact mst (at) shadowcatsystems.co.uk for details. + Help us build a better perl ORM: http://dbix- class.shadowcatsystems.co.uk/ + ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: Re: [Catalyst] creating binaries
On Wed, Jan 17, 2007 at 12:53:08PM +0200, Octavian Rasnita wrote: > 2. I am not selling the program directly to the customers, but to someone > that asks for some features, including hiding the source. If "hiding the source" was a requirement, why did you use perl? -- Chisel Wright e: [EMAIL PROTECTED] w: http://www.herlpacker.co.uk/ One in a million chances happen nine times out of ten. ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: Re: [Catalyst] creating binaries
From: "Kiki" <[EMAIL PROTECTED]> I would say that treating your customers as potential thieves won't get you very far in doing business with them. 1. In a country where the pyracy is over 90%, yes I can consider the potential customers thieves. 2. I am not selling the program directly to the customers, but to someone that asks for some features, including hiding the source. Octavian ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Re: Reaction Widgets questions
On 16 Jan 2007, at 17:07, Jonas Alves wrote: As for a controller that limits visible attributes, are you wanting to do this for the listview or globally? Imagine that i have 2 forms for the same table. One with all the fields and another with just some of them. What came to me was define another schema class to the same table but just with some of the attributes defined. But that doesn't seem the best aproach... But creating new action classes that just differ in the attributtes defined doesn't seem a better way. Maybe if I could pass the fields to the class when I push it to the viewport. Something like: Assuming the action can be committed without the additional fields, just subclass the Action class and override parameter_attributes to only return the attributes you want visible, then pass a copy of that action to the ViewPort instead. It's not perfect, but it works pretty well for me so far so I'm punting on a better solution until we've got a better idea what we need out of it. -- Matt S Trout, Technical Director, Shadowcat Systems Ltd. Offering custom development, consultancy and support contracts for Catalyst, DBIx::Class and BAST. Contact mst (at) shadowcatsystems.co.uk for details. + Help us build a better perl ORM: http://dbix- class.shadowcatsystems.co.uk/ + ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
OT: Re: [Catalyst] creating binaries
I know I shouldn't feed the trools, but what the heck. Octavian Rasnita wrote: > Yes I agree, but the customers would prefer to get the program from > another source, and don't pay anything for it. > I would say that treating your customers as potential thieves won't get you very far in doing business with them. ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
On 17 Jan 2007, at 10:04, Octavian Rasnita wrote: I wasn't the person that started talking about the legality on this thread. I haven't started talking about licences or things like that. Why didn't you reply to the message that first started talking about that? Have you something against me? I suspect it's more complaints about people expecting things for free from somebody who's got a hell of a lot of free advice on here without as yet contributing anything useful back are ... ironic at best. But it is ok, I understand that Catalyst cannot be used for that. Actually, it happily can and I know of people who have done so; unfortunately your entitlement attitude and repeated failure to read documentation or to listen when people point you at it has probably resulted in those who're knowledgeable about this not being willing to further help you for free - especially given any time you fail to understand something you accuse the tools of being incapable and broken, often when the authors of those tools are trying to help you learn. So, Octavian, please moderate your attitude and try and stick to being on-topic and constructive in your comments in future. This is a community list and you're significantly reducing the utility of it for a substantial number of the other posters. I've had half a dozen complaints about your behaviour already. The next one will result in your subscription being terminated so the rest of the community isn't further disrupted. -- Matt S Trout, Technical Director, Shadowcat Systems Ltd. Offering custom development, consultancy and support contracts for Catalyst, DBIx::Class and BAST. Contact mst (at) shadowcatsystems.co.uk for details. + Help us build a better perl ORM: http://dbix- class.shadowcatsystems.co.uk/ + -- Matt S Trout, Technical Director, Shadowcat Systems Ltd. Offering custom development, consultancy and support contracts for Catalyst, DBIx::Class and BAST. Contact mst (at) shadowcatsystems.co.uk for details. + Help us build a better perl ORM: http://dbix- class.shadowcatsystems.co.uk/ + ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
On 17/01/07, Joe Landman <[EMAIL PROTECTED]> wrote: That is unless you have your in-memory image also encrypted with on the fly decryption/execution. I am not aware of any one doing this for any language. Though I could be wrong. I've heard of this being used in pc/console games, but even this can still be cracked, as it has to be unencrypted at some point during runtime. ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
From: "Bogdan Lucaciu" <[EMAIL PROTECTED]> this is what some people refer to as "trolling". (High quality trolling even) Please end this thread, or at least try to keep legal/marketing/philosophy out of it. I wasn't the person that started talking about the legality on this thread. I haven't started talking about licences or things like that. Why didn't you reply to the message that first started talking about that? Have you something against me? I've just wanted to inform the others why some solutions are not always working and why it would be wonderful if Catalyst applications could be included entirely in a perlapp application. I have started this thread asking if I can do something to do that, but noone answered that "Catalyst applications could not be entirely included in a binary executable that hides the source code in memory" like other simple apps can. But it is ok, I understand that Catalyst cannot be used for that. Octavian ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
On Wednesday 17 January 2007 10:49, Octavian Rasnita wrote: > > Bla bla. You are living in USA probably, where what you said is not bla > bla, but I am living in Romania, Central Europe where even stronger laws > than those regarding the piracy are not always respected. In my country > there are no many people that care for what you said. Most of the users use > pirated programs... more than 90% of the private persons, and over 50% of > the companies, or even more. > > > So? They will get the source code and give the program to other persons, > that won't need to pay for it anymore. > Who stops them doing that? Do you think there is an institution in my > country that visits the private persons and check to see if they have > licences? Not even the companies care about that. Business Software > Alliance of MS, Oracle, Corel, SAP and a few other companies visit from > time to time the companies, and then they negociate with them for selling > them some more licences, because they are found that they have illegal > software. That's all. > > Of course Linux works just fine, but for very few people comparing with > Windows, and I don't care what the users use, but sell my program. I have > also noticed that most Linux users are users that know more about > computers, that like only open/free source programs, and it is almost > impossible to sell them something, because they think that all the programs > should be free. > > When talking for the public, they say that it is not important to have the > programs for free, but have the source code, in order to see what it does, > and beeing able to modify it for their own use, however, in fact they'll > never like to buy software and always try to use free software, even > pretending the the extra features provided by commercial software are not > important. > > I have heard for many times that PostgreSQL is same as good as Oracle, and > that the extra features Oracle has are not very important, and the > disadvantages of proprietary software are always presented by those who > like Linux. I haven't heard a single person that says that he like Linux, > but that he also agrees buying commercial programs. > I am constraint to work under Windows, but this is not the only reason I am > interested about this OS. I am interested because most of the users use it > and if I'll target only the Linux users, I won't be able to sell anything, > or much less. > > With ActivePerl, perlapp, and Null Soft installer and other tools provided > by Active State I can develop programs for Windows just like those made > with Visual Basic, so it is possible to create Windows programs with perl. > Probably very few people will find that the program was created using perl. > If I can hide the source code I can put a software protection, a key or > something like this, but if the source code is free, any user could just > edit the source code and disable that protection, even if the user doesn't > know perl. > > And I might need to create the program for a software company that requires > to hide the source code. I cannot tell them that they are stupid because > the source code can be found anyway. That's what they are asking, and I > need to give them this if it is possible. > No software company will agree to make open source programs for them, > because they won't be able to sell them. > I think what I want could be done, and in that case Catalyst would be used > in more other fields than the standard web pages. this is what some people refer to as "trolling". (High quality trolling even) Please end this thread, or at least try to keep legal/marketing/philosophy out of it. -- Bogdan Lucaciu ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
From: "Peter Edwards" <[EMAIL PROTECTED]> >Can you tell me how to find the source code from a perlapp program? Everyone says that it is very simple, but nobody was able to do it. The answer is in the manual http://perldoc.perl.org/perlfaq3.html#How-can-I-hide-the-source-for-my-Perl- program%3f I have read: Security through obscurity, the name for hiding your bugs instead of fixing them, is little security indeed. This is what I need. I already said that I don't want an absolute security. I'm still not really sure what you're trying to achieve as you haven't really said what your app will do. There are several approaches to consider: For the moment I want to create 2 versions of an application, one that can run under Windows, and the other one that can run under Linux. The program will have a server that listens to the com port and store the data in a database. (I will also need to find a database that can be protected, but without installing a server, but this is another discussion). And the other part of the program could be made in Catalyst. It will get the data from the database and show it in a browser from the intranet of the client, to authorised users. I want to hide the database connection string, and the code needed to connect, to authorize the users, and so on. I don't want that the system admin of the client to be able to modify the data in the database, and he will never know the password to it. The database will get information from a phone exchange. 1) Use a remote server to host part of the application and talk to it from a front end via SOAP and XML-RPC. That's a lot easier than it sounds provided your users have net access http://search.cpan.org/~rjray/RPC-XML-0.59/. In this case, it is not possible because that application might not have access to the internet, and the client wouldn't want someone from outside to know about their information anyway. 2) Write part of your app in VB or C# and supply a DLL wrapped in copy-protection. It will still be possible to crack but a lot more difficult than trying to hide perl. Bear in mind if your software is popular enough it only takes one person to crack it and list it on astalavista I don't know VB at all, and C# not very well, but the program should also run under Linux, so this is not an option anyway. 3) Go the Open Source route. My customers have started going this way. Why? A lot cheaper. Cost of developing software is 50% testing and if you use popular Open Source or sponsor its development you get a lot of free testing and quicker time to stable software. Yes I agree, but the customers would prefer to get the program from another source, and don't pay anything for it. Octavian ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] creating binaries
From: "Joe Landman" <[EMAIL PROTECTED]> Technological measures can be defeated. Assume they provide speed bumps at most to determined hackers. We have found that people are (sometimes) willing to pay for programs when they add significant value to what it is they are doing. That said, much of the reason we see our customers interested in open source has very little to do with libre' and a great deal to do with acquisition cost. The often higher quality is an added benefit. Bla bla. You are living in USA probably, where what you said is not bla bla, but I am living in Romania, Central Europe where even stronger laws than those regarding the piracy are not always respected. In my country there are no many people that care for what you said. Most of the users use pirated programs... more than 90% of the private persons, and over 50% of the companies, or even more. What stops them from doing un-intended things with it are good licenses that grant them the rights they require without granting them the rights they do not require. You are not granting ownership rights, you grant usage rights. So? They will get the source code and give the program to other persons, that won't need to pay for it anymore. Who stops them doing that? Do you think there is an institution in my country that visits the private persons and check to see if they have licences? Not even the companies care about that. Business Software Alliance of MS, Oracle, Corel, SAP and a few other companies visit from time to time the companies, and then they negociate with them for selling them some more licences, because they are found that they have illegal software. That's all. You may chose to restrict these rights, or not grant them at all. In this case, you may need to review which elements of OSS you may yourself use in your program. I cannot do this all the time, because for example I need to create a program that won't even probably have access to the internet. It is a program that should work with a phone exchange for showing statistics about the number of spoken minutes for each line, and other things like that. I need to create a Windows version and a Linux version also. It will be accessible in a web page, in the local intranet of the company, and it would be nice if it could be done with Catalyst, but of course, without showing the source code. I have not seen many users, who have a day job that requires that the get specific work done, try to crack program source code, or reverse engineer their apps. It all comes down to the value you offer, and what you are willing to enable. No, of course they are not paid for this, but the system admin of some companies could try to get the source code, and give it to his friends from other companies. Protection has its purposes, though compiling programs is not what I would call protection. If you want to protect you need to mix encryption with some sort of preventative execution measure, a DRM of sorts. This provides something akin to a higher speedbump, but it is only a speedbump. It is not absolute protection. The only way to get better protection is to never ship the application, only the side effects. Google doesn't ship its applications, though they are some of the most widely used in the world. I am willing to be that the critical internal bits are not OSS. I didn't say I want an absolute protection. I said what I need, but you try to convince me that what I want is bad, just because Catalyst cannot do it. The protection perlapp offers is very good for what I need. It is a very bad marketing to tell the client that the program he paid for is open source, because most of the users might think that in that case the program has no value, or that it could be very simple and that everyone else could get it for free, but he is forced to pay for it. And of course, he will get it and give to other friends that might need it. Hmmm So you think they should spend at least $90US of time to get the program from the internal representation? So do you know about B::Deparse? Oh yes, it would be very well if the program could be cracked only using B::Deparse. In that case I can consider the source code secure enough. The cracker must get the compiled version of the program from the memory, then use B::Deparse, and hope it will give good results... this is not a problem for me. I would suggest reflecting upon which goals you have in preventing access to source. Is it prevention of modification, protection of IP, restriction of redistribution ... It is restriction to redistribution what I want, and the laws don't help me at all. Even to try putting the law work for me, and find the crackers, would cost me more than I can earn. But I don't know if I understood correctly... from this discussion I think that it is not possible to do what I want using Catalyst. This has nothing to do with Catalyst. This is (not
OT: [Catalyst] creating binaries
>Can you tell me how to find the source code from a perlapp program? >Everyone says that it is very simple, but nobody was able to do it. The answer is in the manual http://perldoc.perl.org/perlfaq3.html#How-can-I-hide-the-source-for-my-Perl- program%3f Perlmonks is a better place for these kind of questions http://www.perlmonks.org/index.pl?node_id=243011 I'm still not really sure what you're trying to achieve as you haven't really said what your app will do. There are several approaches to consider: 1) Use a remote server to host part of the application and talk to it from a front end via SOAP and XML-RPC. That's a lot easier than it sounds provided your users have net access http://search.cpan.org/~rjray/RPC-XML-0.59/. 2) Write part of your app in VB or C# and supply a DLL wrapped in copy-protection. It will still be possible to crack but a lot more difficult than trying to hide perl. Bear in mind if your software is popular enough it only takes one person to crack it and list it on astalavista http://www.google.co.uk/search?hl=en&q=software+wrapper+copy+protection&btnG =Google+Search&meta= 3) Go the Open Source route. My customers have started going this way. Why? A lot cheaper. Cost of developing software is 50% testing and if you use popular Open Source or sponsor its development you get a lot of free testing and quicker time to stable software. Regards, Peter ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/