Re: [Catalyst] Catalyst::Helper::Model::DBIC::Schema patchette?

2007-01-17 Thread David Morel


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?

2007-01-17 Thread Kieren Diment

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?

2007-01-17 Thread Dylan Vanderhoof
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

2007-01-17 Thread Juan Miguel Paredes

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

2007-01-17 Thread Dylan Vanderhoof
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

2007-01-17 Thread Ian Docherty

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

2007-01-17 Thread Ian Docherty

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

2007-01-17 Thread Perrin Harkins
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

2007-01-17 Thread Hartmaier Alexander
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

2007-01-17 Thread Perrin Harkins
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

2007-01-17 Thread John Napiorkowski

--- 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

2007-01-17 Thread Jonathan Rockway
[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

2007-01-17 Thread Wade . Stuart





"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

2007-01-17 Thread Sébastien Wagener
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

2007-01-17 Thread Jim Spath
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

2007-01-17 Thread Perrin Harkins
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

2007-01-17 Thread Perrin Harkins
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

2007-01-17 Thread Jay K
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

2007-01-17 Thread Marcello Romani

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

2007-01-17 Thread Marcello Romani

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

2007-01-17 Thread Robert 'phaylon' Sedlacek

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

2007-01-17 Thread Thomas Hartman

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

2007-01-17 Thread Joe Landman

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

2007-01-17 Thread Perrin Harkins

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

2007-01-17 Thread Octavian Rasnita

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

2007-01-17 Thread Matt S Trout


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

2007-01-17 Thread Octavian Rasnita

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

2007-01-17 Thread Matt S Trout


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

2007-01-17 Thread Chisel Wright
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

2007-01-17 Thread Octavian Rasnita

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

2007-01-17 Thread Matt S Trout


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

2007-01-17 Thread Kiki
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

2007-01-17 Thread Matt S Trout


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

2007-01-17 Thread Carl Franks

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

2007-01-17 Thread Octavian Rasnita

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

2007-01-17 Thread Bogdan Lucaciu
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

2007-01-17 Thread Octavian Rasnita

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

2007-01-17 Thread Octavian Rasnita

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

2007-01-17 Thread Peter Edwards
>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/