Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re^3: Plack Middleware aXML

by Logicus
on Oct 19, 2011 at 00:48 UTC ( #932264=note: print w/replies, xml ) Need Help??

in reply to Re^2: Plack Middleware aXML
in thread Plack Middleware aXML

Yup, yup, the proof of the pudding is in the eating as they say, and a demo version is going to be available very soon! After that I will have to get down to the boring task of documentation and commenting the code ready for submitting it to CPAN and then it belongs to everyone to do with as they wish, no strings, no licences, just ridiculously fast and powerful code which even the most spaghetti brained ameture coder can leverage to build powerful and well structured apps in.

I couldn't of done this without standing on the shoulders of giants like Larry and Miagawa.

If anyone wants to start getting their system ready for it, I suggest starting by installing Task::Plack from CPAN and reading up a little on it by searching for the "Plack Advent Calendar" to familiarise themselves with how Plack/PSGI & Plackup etc works. aXML now sits on top of that system, and a working understanding of it will be useful in the early stages until aXML is 100% ready and available to install from CPAN. (the first early demo will come in zip format with some install instructions and a sample basic catalogue and shopping cart app.)

Replies are listed 'Best First'.
Re^4: Plack Middleware aXML
by chromatic (Archbishop) on Oct 19, 2011 at 06:02 UTC

    If you've documented your path to learning Plack, an article or meditation might be very useful for other people who have yet to start to adopt it.

    Improve your skills with Modern Perl: the free book.

      That's a good idea... I'll whip up a guide to what I've found out about Plack when I have a spare moment or two.
Re^4: Plack Middleware aXML
by Jenda (Abbot) on Oct 20, 2011 at 09:26 UTC

    If you've cooked the pudding for yourself, then yes, the proof is in the eating. If you've cooked it for others, then the proof is in the selling. You've failed to sell even the idea of a pudding.

    So it's possible you've learned to cook ... at least so that you yourself like what you cooked ... now comes the (for you apparently much harder) problem of learning to advertise and sell.

    Enoch was right!
    Enjoy the last years of Rome.

      I never was any good at sales or salesmanship, that is probably why I'm in the opensource arena. All I can do is describe what the thing does, what I believe its advantages to be and to provide a download for people to give a whirl themselves. Said download will not be long, however if not long is too long, then the principle of the thing is basically exactly the same as previous releases, this version is just a shed load faster.

      Now it's fair enough to say that the original was far too slow for a large scale site, but do bear in mind that I was using it for various apps for over 4 years without any problems or even any pressing desire to upgrade it or change it in any radical way. Maybe that tells you something, maybe not.

      All I know is that when the new version is as stable and reliable as the old version, my development time will be just about 100% devoted to making cool sites on top of it rather than fiddling around with the guts of the thing. It was a rare event that I felt any need to look lower than the document level and usually when I did so I came to realise that the error was in the document and not in the system or its plugins.

      like I said I'm not a salesman, I'm a geek and an inventor and I'm not the best at social situations generally even when people haven't already decided they love to hate me.

      perhaps a little example of some code would help here

      In aXML I can go : (debug)<dump>$env->{'psgix.session'}</dump>(/debug) And this, because of the code of the plugins "dump" and "debug" is equivalent to : if ($debug) { my $dump = Dumper($env->{'psgix.session'}); $dump =~ s/\n/<br>/gs; print $dump; }

      So you see it's a lot simpler and quicker, and less prone to bugs and typos, and easy to understand / reuse. My main template for the site I'm working on right now has that line in at the bottom, and the $debug var is set from the Conf file, so I can then just turn the debug output off and on from there.

      The only limit on the abstractions is your imagination... for instance, who knows what <splarg> does... infact you can choose what it does by writing a plugin called splarg. You can overload any existing abstraction with your own, you can change the meaning of abstractions on the fly during the rendering time... the possibilities are endless, and I'm not trying to suggest that the abstractions I've come up with represent a complete set or are even the best ones to use it with... indeed I hope that eventually others will come with new and cool things I haven't thought of that make working life with it even more fun and interesting.

        All I can do is describe what the thing does, what I believe its advantages to be

        But that's exactly what you FAILED to do!

        use Data::Dumper qw(Dumper); $main::DEBUG = 1; sub debug (&) { if ($main::DEBUG) { $_[0]->(); } } sub Dump { my $dump = Dumper($_[0]); $dump =~ s/\n/<br>\n/gs; print $dump; } debug { Dump(\%ENV); };

        Enoch was right!
        Enjoy the last years of Rome.

        So you see it's a lot simpler and quicker, and less prone to bugs and typos, and easy to understand / reuse.

        How is it less prone to typos?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://932264]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2018-05-27 00:30 GMT
Find Nodes?
    Voting Booth?