From alfiej at opera.com Sat Feb 2 03:23:12 2013 From: alfiej at opera.com (Alfie John) Date: Sat, 02 Feb 2013 22:23:12 +1100 Subject: [Melbourne-pm] Meeting - Wednesday the 13th of February In-Reply-To: <510B68EC.50209@strategicdata.com.au> References: <1359581616.15696.140661184662777.6438BEDF@webmail.messagingengine.com> <510B68EC.50209@strategicdata.com.au> Message-ID: <1359804192.17237.140661185872681.1E92C9B0@webmail.messagingengine.com> Hey Toby, On Fri, Feb 1, 2013, at 06:04 PM, Toby Corkindale wrote: > I've scheduled events on Meetup.com and Facebook.com. > I guess I should do G+ as well. > > Anyone feel like doing LinkedIn and The Fetch? Thanks for doing those. I'll do the others and G+. Alfie -- Alfie John alfiej at opera.com From alfiej at opera.com Tue Feb 5 13:51:35 2013 From: alfiej at opera.com (Alfie John) Date: Wed, 06 Feb 2013 08:51:35 +1100 Subject: [Melbourne-pm] Meeting Reminder: Wednesday the 13th of February, 2013 Message-ID: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> Hello Perl Mongers, This is a friendly reminder that the next Melbourne Perl Mongers meeting will be on Wednesday the 13th of February, 2013 and will start around 6:30pm: Opera Software Level 1, 91-97 William Street Melbourne CBD We have the following talks: - Kahil Hodgson on using Catalyst to build a service bus - Myf on using autobox::Core - Michael Schwern on Test::Builder2 with a possible fix-a-thon at the end Alfie -- Alfie John alfiej at opera.com From schwern at pobox.com Tue Feb 5 18:24:21 2013 From: schwern at pobox.com (Michael G. Schwern) Date: Wed, 06 Feb 2013 15:24:21 +1300 Subject: [Melbourne-pm] Meeting Reminder: Wednesday the 13th of February, 2013 In-Reply-To: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> Message-ID: <5111BED5.9080803@pobox.com> Change of plans, I'm getting in from NZ at 1740 Wednesday. Should be able to make it to the meeting in time. I'll keep you posted, just schedule me last. :) From leigh.sharpe at gmail.com Sat Feb 9 16:45:33 2013 From: leigh.sharpe at gmail.com (Leigh Sharpe) Date: Sun, 10 Feb 2013 11:45:33 +1100 Subject: [Melbourne-pm] Image::Resize, avidemux and JPEG types Message-ID: <5116EDAD.6010005@gmail.com> Hi All, I've been using Image::Resize for a while, and it works a treat. But recently I've found that if I use avidemux to save a screenshot from a video as a JPEG, Image::Resize chokes on it. The offending code is in this block in GD::Image : sub _image_type { my $data = shift; my $magic = substr($data,0,4); return 'Png' if $magic eq "\x89PNG"; return 'Jpeg' if $magic eq "\377\330\377\340"; return 'Jpeg' if $magic eq "\377\330\377\341"; return 'Jpeg' if $magic eq "\377\330\377\355"; return 'Jpeg' if $magic eq "\377\330\377\356"; return 'Gif' if $magic eq "GIF8"; return 'Gd2' if $magic eq "gd2\000"; return 'Xpm' if substr($data,0,9) eq "/* XPM */"; return; } ...It turns out that my images all start with \377\330\377\376 The fix is as simple as adding another line to the sub above, to say: return 'Jpeg' if $magic eq "\377\330\377\376"; ..But I'm not sure just where the fault lies here. Should I submit a patch to the GD::Image maintainers? Or is this actually a bug in avidemux? Is the image being created by avidemux actually valid? Any ideas?? From andrewmcnnz at gmail.com Sat Feb 9 17:07:29 2013 From: andrewmcnnz at gmail.com (Andrew McN) Date: Sun, 10 Feb 2013 12:07:29 +1100 Subject: [Melbourne-pm] Image::Resize, avidemux and JPEG types In-Reply-To: <5116EDAD.6010005@gmail.com> References: <5116EDAD.6010005@gmail.com> Message-ID: Googling this suggests that many other file recognition systems match on "\377\330\377" and don't care about the next byte. Not sure if it's recommended. Haven't found an authoritative reference. On 10/02/2013 11:45 AM, "Leigh Sharpe" wrote: > Hi All, > I've been using Image::Resize for a while, and it works a treat. But > recently I've found that if I use avidemux to save a screenshot from a > video as a JPEG, Image::Resize chokes on it. > The offending code is in this block in GD::Image : > > sub _image_type { > my $data = shift; > my $magic = substr($data,0,4); > return 'Png' if $magic eq "\x89PNG"; > return 'Jpeg' if $magic eq "\377\330\377\340"; > return 'Jpeg' if $magic eq "\377\330\377\341"; > return 'Jpeg' if $magic eq "\377\330\377\355"; > return 'Jpeg' if $magic eq "\377\330\377\356"; > return 'Gif' if $magic eq "GIF8"; > return 'Gd2' if $magic eq "gd2\000"; > return 'Xpm' if substr($data,0,9) eq "/* XPM */"; > return; > } > > > ...It turns out that my images all start with \377\330\377\376 > > The fix is as simple as adding another line to the sub above, to say: > > > return 'Jpeg' if $magic eq "\377\330\377\376"; > > > ..But I'm not sure just where the fault lies here. Should I submit a patch > to the GD::Image maintainers? Or is this actually a bug in avidemux? Is the > image being created by avidemux actually valid? > > Any ideas?? > > > ______________________________**_________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/**listinfo/melbourne-pm > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alfiej at opera.com Tue Feb 12 14:05:55 2013 From: alfiej at opera.com (Alfie John) Date: Wed, 13 Feb 2013 09:05:55 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> Message-ID: <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> Hello Perl Mongers, This is a friendly reminder that the next Melbourne Perl Mongers is tonight and will start around 6:30pm: Opera Software Level 1, 91-97 William Street Melbourne CBD We have the following talks: - Kahil Hodgson on using Catalyst to build a service bus - Myf on using autobox::Core - Michael Schwern on Test::Builder2 with a possible fix-a-thon at the end Alfie -- Alfie John alfiej at opera.com From toby.corkindale at strategicdata.com.au Tue Feb 12 15:50:56 2013 From: toby.corkindale at strategicdata.com.au (Toby Corkindale) Date: Wed, 13 Feb 2013 10:50:56 +1100 Subject: [Melbourne-pm] Stack traces Message-ID: <511AD560.4020904@strategicdata.com.au> Oh Perl, where did it all go so wrong? I've seen Java stack traces that are easier to figure out than this. What's the worst you've seen? Attempting to reinitialize Log::Any::Adapter::Syslog with new parameters at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Adapter/Syslog.pm line 38 Log::Any::Adapter::Syslog::init('Log::Any::Adapter::Syslog=HASH(0x986ad88)', 'category', 'CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Adapter/Base.pm line 12 Log::Any::Adapter::Base::new('Log::Any::Adapter::Syslog', 'category', 'CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Manager.pm line 63 Log::Any::Manager::_new_adapter_for_entry('Log::Any::Manager=HASH(0x2246c00)', 'HASH(0x2341c40)', 'CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Manager.pm line 42 Log::Any::Manager::get_logger('Log::Any::Manager=HASH(0x2246c00)', 'CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Adapter.pm line 22 Log::Any::Adapter::__ANON__('Log::Any::Adapter', 'CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any.pm line 51 Log::Any::get_logger('Log::Any', 'category', 'CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any.pm line 33 Log::Any::_export_to_caller('Log::Any', 'CHI::Driver::File', '$log') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any.pm line 21 Log::Any::import('Log::Any', '$log') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver/File.pm line 15 CHI::Driver::File::BEGIN() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver/File.pm line 15 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver/File.pm line 15 require CHI/Driver/File.pm called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Module/Runtime.pm line 317 Module::Runtime::require_module('CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 177 Class::Load::__ANON__() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 71 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x9840a10)', 'Try::Tiny::Catch=REF(0x9834d38)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 183 Class::Load::try_load_class('CHI::Driver::File', undef) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 38 Class::Load::load_class('CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI.pm line 116 CHI::new('CHI', 'driver', 'File', 'root_dir', '/mnt/vfast/var/tmp/MyApp_rm_cache', 'dir_create_mode', 509, 'file_create_mode', 432, ...) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/SD/RateMonitor.pm line 66 Catalyst::Plugin::SD::RateMonitor::_rate_monitor_cache('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/SD/RateMonitor.pm line 149 Catalyst::Plugin::SD::RateMonitor::rate_monitor_check('MyApp=HASH(0x9832130)', 'login_ip', 127.0.0.1) called at /home/tobyc/git/MyApp/lib/MyApp/Controller/Login.pm line 56 MyApp::Controller::Login::index('MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 65 Catalyst::Action::execute('Catalyst::Action=HASH(0x9565170)', 'MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 Catalyst::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9565170)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/StackTrace.pm line 22 Catalyst::Plugin::StackTrace::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9565170)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 60 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x9565170)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Controller.pm line 158 Catalyst::Controller::_ACTION('MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 65 Catalyst::Action::execute('Catalyst::Action=HASH(0x9564ee8)', 'MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 Catalyst::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9564ee8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/StackTrace.pm line 22 Catalyst::Plugin::StackTrace::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9564ee8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 60 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x9564ee8)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 257 Catalyst::Dispatcher::_do_forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'forward', 'MyApp=HASH(0x9832130)', '_ACTION') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 237 Catalyst::Dispatcher::forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'MyApp=HASH(0x9832130)', '_ACTION') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 372 Catalyst::forward('MyApp=HASH(0x9832130)', '_ACTION') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Controller.pm line 132 Catalyst::Controller::_DISPATCH('MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 65 Catalyst::Action::execute('Catalyst::Action=HASH(0x95649a8)', 'MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 Catalyst::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x95649a8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/StackTrace.pm line 22 Catalyst::Plugin::StackTrace::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x95649a8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 60 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x95649a8)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 257 Catalyst::Dispatcher::_do_forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'forward', 'MyApp=HASH(0x9832130)', '/login/_DISPATCH') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 237 Catalyst::Dispatcher::forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'MyApp=HASH(0x9832130)', '/login/_DISPATCH') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 372 Catalyst::forward('MyApp=HASH(0x9832130)', '/login/_DISPATCH') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 105 Catalyst::Dispatcher::dispatch('Catalyst::Dispatcher=HASH(0x450ba18)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1628 Catalyst::dispatch('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/Static/Simple.pm line 77 Class::MOP::Class:::around('CODE(0x44545b0)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Class/MOP/Method/Wrapped.pm line 162 Class::MOP::Method::Wrapped::__ANON__('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Class/MOP/Method/Wrapped.pm line 91 MyApp::dispatch('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1978 Catalyst::__ANON__() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 76 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x9831b48)', 'Try::Tiny::Catch=REF(0x22533a0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1984 Catalyst::handle_request('MyApp', 'env', 'HASH(0x97e25b8)', 'response_cb', 'CODE(0x98319e0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Engine.pm line 688 Catalyst::Engine::__ANON__('CODE(0x98319e0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Starman/Server.pm line 258 Starman::Server::process_request('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server.pm line 141 Net::Server::run_client_connection('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 273 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 273 Net::Server::PreFork::run_child('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 229 Net::Server::PreFork::run_n_children('Starman::Server=HASH(0x223a360)', 5) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 144 Net::Server::PreFork::loop('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server.pm line 116 Net::Server::run('Starman::Server=HASH(0x223a360)', 'port', 'ARRAY(0x44f9950)', 'host', 'ARRAY(0x38841c8)', 'proto', 'ARRAY(0x3504fb0)', 'serialize', 'flock', ...) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Starman/Server.pm line 67 Starman::Server::run('Starman::Server=HASH(0x223a360)', 'CODE(0x2253538)', 'HASH(0x94f0798)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Plack/Handler/Starman.pm line 18 Plack::Handler::Starman::run('Plack::Handler::Starman=HASH(0x2253bb0)', 'CODE(0x2253538)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Plack/Loader.pm line 84 Plack::Loader::run('Plack::Loader=HASH(0x22199f0)', 'Plack::Handler::Starman=HASH(0x2253bb0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Plack/Runner.pm line 277 Plack::Runner::run('Plack::Runner=HASH(0x1fe1c30)') called at /usr/local/strategic/perl/bin/starman line 41 Attempting to reinitialize Log::Any::Adapter::Syslog with new parameters at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Adapter/Syslog.pm line 38 Log::Any::Adapter::Syslog::init('Log::Any::Adapter::Syslog=HASH(0x9854530)', 'category', 'CHI::Driver::Role::HasSubcaches') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Adapter/Base.pm line 12 Log::Any::Adapter::Base::new('Log::Any::Adapter::Syslog', 'category', 'CHI::Driver::Role::HasSubcaches') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Manager.pm line 63 Log::Any::Manager::_new_adapter_for_entry('Log::Any::Manager=HASH(0x2246c00)', 'HASH(0x2341c40)', 'CHI::Driver::Role::HasSubcaches') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Manager.pm line 42 Log::Any::Manager::get_logger('Log::Any::Manager=HASH(0x2246c00)', 'CHI::Driver::Role::HasSubcaches') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Adapter.pm line 22 Log::Any::Adapter::__ANON__('Log::Any::Adapter', 'CHI::Driver::Role::HasSubcaches') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any.pm line 51 Log::Any::get_logger('Log::Any', 'category', 'CHI::Driver::Role::HasSubcaches') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any.pm line 33 Log::Any::_export_to_caller('Log::Any', 'CHI::Driver::Role::HasSubcaches', '$log') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any.pm line 21 Log::Any::import('Log::Any', '$log') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver/Role/HasSubcaches.pm line 7 CHI::Driver::Role::HasSubcaches::BEGIN() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver/Role/HasSubcaches.pm line 7 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver/Role/HasSubcaches.pm line 7 require CHI/Driver/Role/HasSubcaches.pm called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver.pm line 9 CHI::Driver::BEGIN() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver/Role/HasSubcaches.pm line 7 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver/Role/HasSubcaches.pm line 7 require CHI/Driver.pm called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Module/Runtime.pm line 317 Module::Runtime::require_module('CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 177 Class::Load::__ANON__() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 71 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x98c98e8)', 'Try::Tiny::Catch=REF(0x986aa10)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 183 Class::Load::try_load_class('CHI::Driver', undef) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 38 Class::Load::load_class('CHI::Driver', undef) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Moose/Meta/Class.pm line 554 Moose::Meta::Class::superclasses(undef, 'CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Moose.pm line 63 Moose::extends('Moose::Meta::Class=HASH(0x984d0a8)', 'CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Moose/Exporter.pm line 382 Moose::extends('CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver/File.pm line 20 require CHI/Driver/File.pm called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Module/Runtime.pm line 317 Module::Runtime::require_module('CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 177 Class::Load::__ANON__() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 71 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x9840a10)', 'Try::Tiny::Catch=REF(0x9834d38)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 183 Class::Load::try_load_class('CHI::Driver::File', undef) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 38 Class::Load::load_class('CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI.pm line 116 CHI::new('CHI', 'driver', 'File', 'root_dir', '/mnt/vfast/var/tmp/MyApp_rm_cache', 'dir_create_mode', 509, 'file_create_mode', 432, ...) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/SD/RateMonitor.pm line 66 Catalyst::Plugin::SD::RateMonitor::_rate_monitor_cache('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/SD/RateMonitor.pm line 149 Catalyst::Plugin::SD::RateMonitor::rate_monitor_check('MyApp=HASH(0x9832130)', 'login_ip', 127.0.0.1) called at /home/tobyc/git/MyApp/lib/MyApp/Controller/Login.pm line 56 MyApp::Controller::Login::index('MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 65 Catalyst::Action::execute('Catalyst::Action=HASH(0x9565170)', 'MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 Catalyst::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9565170)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/StackTrace.pm line 22 Catalyst::Plugin::StackTrace::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9565170)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 60 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x9565170)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Controller.pm line 158 Catalyst::Controller::_ACTION('MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 65 Catalyst::Action::execute('Catalyst::Action=HASH(0x9564ee8)', 'MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 Catalyst::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9564ee8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/StackTrace.pm line 22 Catalyst::Plugin::StackTrace::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9564ee8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 60 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x9564ee8)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 257 Catalyst::Dispatcher::_do_forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'forward', 'MyApp=HASH(0x9832130)', '_ACTION') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 237 Catalyst::Dispatcher::forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'MyApp=HASH(0x9832130)', '_ACTION') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 372 Catalyst::forward('MyApp=HASH(0x9832130)', '_ACTION') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Controller.pm line 132 Catalyst::Controller::_DISPATCH('MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 65 Catalyst::Action::execute('Catalyst::Action=HASH(0x95649a8)', 'MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 Catalyst::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x95649a8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/StackTrace.pm line 22 Catalyst::Plugin::StackTrace::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x95649a8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 60 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x95649a8)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 257 Catalyst::Dispatcher::_do_forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'forward', 'MyApp=HASH(0x9832130)', '/login/_DISPATCH') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 237 Catalyst::Dispatcher::forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'MyApp=HASH(0x9832130)', '/login/_DISPATCH') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 372 Catalyst::forward('MyApp=HASH(0x9832130)', '/login/_DISPATCH') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 105 Catalyst::Dispatcher::dispatch('Catalyst::Dispatcher=HASH(0x450ba18)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1628 Catalyst::dispatch('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/Static/Simple.pm line 77 Class::MOP::Class:::around('CODE(0x44545b0)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Class/MOP/Method/Wrapped.pm line 162 Class::MOP::Method::Wrapped::__ANON__('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Class/MOP/Method/Wrapped.pm line 91 MyApp::dispatch('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1978 Catalyst::__ANON__() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 76 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x9831b48)', 'Try::Tiny::Catch=REF(0x22533a0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1984 Catalyst::handle_request('MyApp', 'env', 'HASH(0x97e25b8)', 'response_cb', 'CODE(0x98319e0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Engine.pm line 688 Catalyst::Engine::__ANON__('CODE(0x98319e0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Starman/Server.pm line 258 Starman::Server::process_request('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server.pm line 141 Net::Server::run_client_connection('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 273 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 273 Net::Server::PreFork::run_child('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 229 Net::Server::PreFork::run_n_children('Starman::Server=HASH(0x223a360)', 5) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 144 Net::Server::PreFork::loop('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server.pm line 116 Net::Server::run('Starman::Server=HASH(0x223a360)', 'port', 'ARRAY(0x44f9950)', 'host', 'ARRAY(0x38841c8)', 'proto', 'ARRAY(0x3504fb0)', 'serialize', 'flock', ...) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Starman/Server.pm line 67 Starman::Server::run('Starman::Server=HASH(0x223a360)', 'CODE(0x2253538)', 'HASH(0x94f0798)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Plack/Handler/Starman.pm line 18 Plack::Handler::Starman::run('Plack::Handler::Starman=HASH(0x2253bb0)', 'CODE(0x2253538)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Plack/Loader.pm line 84 Plack::Loader::run('Plack::Loader=HASH(0x22199f0)', 'Plack::Handler::Starman=HASH(0x2253bb0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Plack/Runner.pm line 277 Plack::Runner::run('Plack::Runner=HASH(0x1fe1c30)') called at /usr/local/strategic/perl/bin/starman line 41 Attempting to reinitialize Log::Any::Adapter::Syslog with new parameters at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Adapter/Syslog.pm line 38 Log::Any::Adapter::Syslog::init('Log::Any::Adapter::Syslog=HASH(0x9928678)', 'category', 'CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Adapter/Base.pm line 12 Log::Any::Adapter::Base::new('Log::Any::Adapter::Syslog', 'category', 'CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Manager.pm line 63 Log::Any::Manager::_new_adapter_for_entry('Log::Any::Manager=HASH(0x2246c00)', 'HASH(0x2341c40)', 'CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Manager.pm line 42 Log::Any::Manager::get_logger('Log::Any::Manager=HASH(0x2246c00)', 'CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any/Adapter.pm line 22 Log::Any::Adapter::__ANON__('Log::Any::Adapter', 'CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any.pm line 51 Log::Any::get_logger('Log::Any', 'category', 'CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any.pm line 33 Log::Any::_export_to_caller('Log::Any', 'CHI::Driver', '$log') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Log/Any.pm line 21 Log::Any::import('Log::Any', '$log') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver.pm line 20 CHI::Driver::BEGIN() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver.pm line 20 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver.pm line 20 require CHI/Driver.pm called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Module/Runtime.pm line 317 Module::Runtime::require_module('CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 177 Class::Load::__ANON__() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 71 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x98c98e8)', 'Try::Tiny::Catch=REF(0x986aa10)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 183 Class::Load::try_load_class('CHI::Driver', undef) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 38 Class::Load::load_class('CHI::Driver', undef) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Moose/Meta/Class.pm line 554 Moose::Meta::Class::superclasses(undef, 'CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Moose.pm line 63 Moose::extends('Moose::Meta::Class=HASH(0x984d0a8)', 'CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Moose/Exporter.pm line 382 Moose::extends('CHI::Driver') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI/Driver/File.pm line 20 require CHI/Driver/File.pm called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Module/Runtime.pm line 317 Module::Runtime::require_module('CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 177 Class::Load::__ANON__() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 71 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x9840a10)', 'Try::Tiny::Catch=REF(0x9834d38)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 183 Class::Load::try_load_class('CHI::Driver::File', undef) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Class/Load.pm line 38 Class::Load::load_class('CHI::Driver::File') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/CHI.pm line 116 CHI::new('CHI', 'driver', 'File', 'root_dir', '/mnt/vfast/var/tmp/MyApp_rm_cache', 'dir_create_mode', 509, 'file_create_mode', 432, ...) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/SD/RateMonitor.pm line 66 Catalyst::Plugin::SD::RateMonitor::_rate_monitor_cache('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/SD/RateMonitor.pm line 149 Catalyst::Plugin::SD::RateMonitor::rate_monitor_check('MyApp=HASH(0x9832130)', 'login_ip', 127.0.0.1) called at /home/tobyc/git/MyApp/lib/MyApp/Controller/Login.pm line 56 MyApp::Controller::Login::index('MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 65 Catalyst::Action::execute('Catalyst::Action=HASH(0x9565170)', 'MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 Catalyst::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9565170)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/StackTrace.pm line 22 Catalyst::Plugin::StackTrace::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9565170)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 60 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x9565170)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Controller.pm line 158 Catalyst::Controller::_ACTION('MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 65 Catalyst::Action::execute('Catalyst::Action=HASH(0x9564ee8)', 'MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 Catalyst::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9564ee8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/StackTrace.pm line 22 Catalyst::Plugin::StackTrace::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x9564ee8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 60 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x9564ee8)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 257 Catalyst::Dispatcher::_do_forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'forward', 'MyApp=HASH(0x9832130)', '_ACTION') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 237 Catalyst::Dispatcher::forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'MyApp=HASH(0x9832130)', '_ACTION') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 372 Catalyst::forward('MyApp=HASH(0x9832130)', '_ACTION') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Controller.pm line 132 Catalyst::Controller::_DISPATCH('MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 65 Catalyst::Action::execute('Catalyst::Action=HASH(0x95649a8)', 'MyApp::Controller::Login=HASH(0x937f060)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1682 Catalyst::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x95649a8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/StackTrace.pm line 22 Catalyst::Plugin::StackTrace::execute('MyApp=HASH(0x9832130)', 'MyApp::Controller::Login', 'Catalyst::Action=HASH(0x95649a8)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Action.pm line 60 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x95649a8)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 257 Catalyst::Dispatcher::_do_forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'forward', 'MyApp=HASH(0x9832130)', '/login/_DISPATCH') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 237 Catalyst::Dispatcher::forward('Catalyst::Dispatcher=HASH(0x450ba18)', 'MyApp=HASH(0x9832130)', '/login/_DISPATCH') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 372 Catalyst::forward('MyApp=HASH(0x9832130)', '/login/_DISPATCH') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Dispatcher.pm line 105 Catalyst::Dispatcher::dispatch('Catalyst::Dispatcher=HASH(0x450ba18)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1628 Catalyst::dispatch('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Plugin/Static/Simple.pm line 77 Class::MOP::Class:::around('CODE(0x44545b0)', 'MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Class/MOP/Method/Wrapped.pm line 162 Class::MOP::Method::Wrapped::__ANON__('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi/Class/MOP/Method/Wrapped.pm line 91 MyApp::dispatch('MyApp=HASH(0x9832130)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1978 Catalyst::__ANON__() called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 76 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x9831b48)', 'Try::Tiny::Catch=REF(0x22533a0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst.pm line 1984 Catalyst::handle_request('MyApp', 'env', 'HASH(0x97e25b8)', 'response_cb', 'CODE(0x98319e0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Catalyst/Engine.pm line 688 Catalyst::Engine::__ANON__('CODE(0x98319e0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Starman/Server.pm line 258 Starman::Server::process_request('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server.pm line 141 Net::Server::run_client_connection('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 273 eval {...} called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 273 Net::Server::PreFork::run_child('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 229 Net::Server::PreFork::run_n_children('Starman::Server=HASH(0x223a360)', 5) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server/PreFork.pm line 144 Net::Server::PreFork::loop('Starman::Server=HASH(0x223a360)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Net/Server.pm line 116 Net::Server::run('Starman::Server=HASH(0x223a360)', 'port', 'ARRAY(0x44f9950)', 'host', 'ARRAY(0x38841c8)', 'proto', 'ARRAY(0x3504fb0)', 'serialize', 'flock', ...) called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Starman/Server.pm line 67 Starman::Server::run('Starman::Server=HASH(0x223a360)', 'CODE(0x2253538)', 'HASH(0x94f0798)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Plack/Handler/Starman.pm line 18 Plack::Handler::Starman::run('Plack::Handler::Starman=HASH(0x2253bb0)', 'CODE(0x2253538)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Plack/Loader.pm line 84 Plack::Loader::run('Plack::Loader=HASH(0x22199f0)', 'Plack::Handler::Starman=HASH(0x2253bb0)') called at /usr/local/strategic/perl/lib/site_perl/5.16.2/Plack/Runner.pm line 277 Plack::Runner::run('Plack::Runner=HASH(0x1fe1c30)') called at /usr/local/strategic/perl/bin/starman line 41 2013/02/13-10:40:23 Server closing! From scottp at dd.com.au Tue Feb 12 15:59:05 2013 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 13 Feb 2013 10:59:05 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: <511AD560.4020904@strategicdata.com.au> References: <511AD560.4020904@strategicdata.com.au> Message-ID: <5AD44187-B8AD-4C28-9B4B-AAD43A0B51C8@dd.com.au> Cool. Perl is all grown up and just like Java now. I know, we should make it the default that these are displayed to the user when an error occurs. (tongue now removed from cheek) Scooter P.S. Funnier still - my email reply just now got moderated because it was too big for the Perl list !!! -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5928 bytes Desc: not available URL: From kahlil.hodgson at dealmax.com.au Tue Feb 12 16:01:14 2013 From: kahlil.hodgson at dealmax.com.au (Kahlil Hodgson) Date: Wed, 13 Feb 2013 11:01:14 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: <511AD560.4020904@strategicdata.com.au> References: <511AD560.4020904@strategicdata.com.au> Message-ID: <511AD7CA.8030703@dealmax.com.au> On 13/02/13 10:50, Toby Corkindale wrote: > Oh Perl, where did it all go so wrong? > I've seen Java stack traces that are easier to figure out than this. Seems any stack trace involving Moose looks pretty scary, but yours is, well, just _special_. > What's the worst you've seen? My worst was shorter but involved the words 'segmentation violation'. UNIVERSAL::isa is bad in so many ways. K -- Kahlil (Kal) Hodgson GPG: C9A02289 Head of Technology (m) +61 (0) 4 2573 0382 DealMax Pty Ltd (w) +61 (0) 3 9008 5281 Suite 1415 401 Docklands Drive Docklands VIC 3008 Australia "All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can't get them together again, there must be a reason. By all means, do not use a hammer." -- IBM maintenance manual, 1925 From list at bereft.net Tue Feb 12 16:33:41 2013 From: list at bereft.net (Brad Bowman) Date: Wed, 13 Feb 2013 11:33:41 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: <511AD7CA.8030703@dealmax.com.au> References: <511AD560.4020904@strategicdata.com.au> <511AD7CA.8030703@dealmax.com.au> Message-ID: <511ADF65.2060602@bereft.net> On 13/02/13 11:01, Kahlil Hodgson wrote: > On 13/02/13 10:50, Toby Corkindale wrote: >> Oh Perl, where did it all go so wrong? I guess it's because Perl has been eating it's way down the stack, all the way to Starman, you just get FMTYEWTK. >> I've seen Java stack traces that are easier to figure out than this. > > Seems any stack trace involving Moose looks pretty scary, but yours is, well, > just _special_. > Catalyst seems like the real bad guy: $ cat st |egrep -v 'eval|require' | cut -f1 -d: |sort | uniq -c | sort -n 1 2013/02/13-10 1 Log 2 Attempting to reinitialize Log 6 Moose 6 MyApp 6 Starman 7 CHI 8 Try 9 Plack 15 Net 21 Class # Class::Load 15 & Class::MOP 6 24 Log 81 Catalyst From david.warring at gmail.com Tue Feb 12 16:44:33 2013 From: david.warring at gmail.com (David Warring) Date: Wed, 13 Feb 2013 11:44:33 +1100 Subject: [Melbourne-pm] Image::Resize, avidemux and JPEG types In-Reply-To: References: <5116EDAD.6010005@gmail.com> Message-ID: I've found this thread on SO http://stackoverflow.com/questions/1557071/the-size-of-a-jpegjfif-image. It seems to concur with what Andrew is saying. The accepted answer references http://www.w3.org/Graphics/JPEG/itu-t81.pdf p.32. If I'm following this correctly, bytes 3 and 4 represent a segment header. Byte 3 is always \377. but byte 4 can take a range of values; which agrees with just not checking the 4th byte. - David On Sun, Feb 10, 2013 at 12:07 PM, Andrew McN wrote: > Googling this suggests that many other file recognition systems match on > "\377\330\377" and don't care about the next byte. > > Not sure if it's recommended. Haven't found an authoritative reference. > On 10/02/2013 11:45 AM, "Leigh Sharpe" wrote: > >> Hi All, >> I've been using Image::Resize for a while, and it works a treat. But >> recently I've found that if I use avidemux to save a screenshot from a >> video as a JPEG, Image::Resize chokes on it. >> The offending code is in this block in GD::Image : >> >> sub _image_type { >> my $data = shift; >> my $magic = substr($data,0,4); >> return 'Png' if $magic eq "\x89PNG"; >> return 'Jpeg' if $magic eq "\377\330\377\340"; >> return 'Jpeg' if $magic eq "\377\330\377\341"; >> return 'Jpeg' if $magic eq "\377\330\377\355"; >> return 'Jpeg' if $magic eq "\377\330\377\356"; >> return 'Gif' if $magic eq "GIF8"; >> return 'Gd2' if $magic eq "gd2\000"; >> return 'Xpm' if substr($data,0,9) eq "/* XPM */"; >> return; >> } >> >> >> ...It turns out that my images all start with \377\330\377\376 >> >> The fix is as simple as adding another line to the sub above, to say: >> >> >> return 'Jpeg' if $magic eq "\377\330\377\376"; >> >> >> ..But I'm not sure just where the fault lies here. Should I submit a >> patch to the GD::Image maintainers? Or is this actually a bug in avidemux? >> Is the image being created by avidemux actually valid? >> >> Any ideas?? >> >> >> ______________________________**_________________ >> Melbourne-pm mailing list >> Melbourne-pm at pm.org >> http://mail.pm.org/mailman/**listinfo/melbourne-pm >> > > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sam at nipl.net Tue Feb 12 18:02:19 2013 From: sam at nipl.net (Sam Watkins) Date: Wed, 13 Feb 2013 13:02:19 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: <511AD560.4020904@strategicdata.com.au> References: <511AD560.4020904@strategicdata.com.au> Message-ID: <20130213020219.GD10746@opal.nipl.net> On Wed, Feb 13, 2013 at 10:50:56AM +1100, Toby Corkindale wrote: > I've seen Java stack traces that are easier to figure out than this. Frankly, I think the solution is - don't use all that ridiculous bloated crap! Keep it simple. If you can write it in one line, do so; Don't write 20 pages when 1 will do. Don't use bloated 3rd party modules, only if they are as clean and simple as possible for the necessary task. Read "The Practice of Programming" ... Chant "Simplicity, Clarity, Generality" ... This is my personal opinion only, and does not necessarily represent the official stance of the company for which I work. Unfortunately. On many systems, in normal languages, with normal libraries, a stack trace like that would indicate stack overflow due to unbounded recursion... (is that perhaps what happened?) From schwern at pobox.com Tue Feb 12 18:39:57 2013 From: schwern at pobox.com (Michael G Schwern) Date: Wed, 13 Feb 2013 15:39:57 +1300 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> Message-ID: Sorry, I haven't had the time to put together a proper Test::Builder 1.5 fixathon. I've been flat out the last week and will be coming straight from the airport to the meeting. However, I would like to introduce an idea I've hammered out some at Kiwi Foo Camp. It's not about Perl, but it could provide web sites with an entirely new way to make money, create an artistic middle class and save digital freedom. Like to hear about that? On Feb 13, 2013 11:06 AM, "Alfie John" wrote: > > Hello Perl Mongers, > > This is a friendly reminder that the next Melbourne Perl Mongers is > tonight and will start around 6:30pm: > > Opera Software > Level 1, 91-97 William Street > Melbourne CBD > > We have the following talks: > > - Kahil Hodgson on using Catalyst to build a service bus > - Myf on using autobox::Core > - Michael Schwern on Test::Builder2 with a possible fix-a-thon at the > end > > Alfie > > -- > Alfie John > alfiej at opera.com > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm -------------- next part -------------- An HTML attachment was scrubbed... URL: From alfiej at opera.com Tue Feb 12 19:04:16 2013 From: alfiej at opera.com (Alfie John) Date: Wed, 13 Feb 2013 14:04:16 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> Message-ID: <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> On Wed, Feb 13, 2013, at 01:39 PM, Michael G Schwern wrote: > However, I would like to introduce an idea I've hammered out some at Kiwi > Foo Camp. It's not about Perl, but it could provide web sites with an > entirely new way to make money, create an artistic middle class and save > digital freedom. > > Like to hear about that? Sounds good. Alfie -- Alfie John alfiej at opera.com From toby.corkindale at strategicdata.com.au Tue Feb 12 20:41:18 2013 From: toby.corkindale at strategicdata.com.au (Toby Corkindale) Date: Wed, 13 Feb 2013 15:41:18 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: <20130213020219.GD10746@opal.nipl.net> References: <511AD560.4020904@strategicdata.com.au> <20130213020219.GD10746@opal.nipl.net> Message-ID: <511B196E.5030008@strategicdata.com.au> On 13/02/13 13:02, Sam Watkins wrote: > On Wed, Feb 13, 2013 at 10:50:56AM +1100, Toby Corkindale wrote: >> I've seen Java stack traces that are easier to figure out than this. > > > > Frankly, I think the solution is - don't use all that ridiculous bloated crap! > Keep it simple. If you can write it in one line, do so; > Don't write 20 pages when 1 will do. Don't use bloated 3rd party modules, > only if they are as clean and simple as possible for the necessary task. It's not really as simple as that. > Read "The Practice of Programming" ... > Chant "Simplicity, Clarity, Generality" ... But there's also: Don't Repeat Yourself. Don't copy and paste code around when you could use a single package. But as requirements get more complex, so do your dependencies, which may themselves be simple, but be made up of many further dependencies. Even if they are all relatively simple in and of themselves, the combination of all grows complex. For example.. you could write a program like this, to check inputs (badly) for your subroutines: ---------------------------- sub foo { my ($self, $one, $two, %three) = @_; unless (defined $one and $one =~ /^\d+$/) { die "err for param one" } unless (defined $two and $two =~ /^\w+$/) { die "err in param two" } unless (exists $three{thing}) { die "missing thing in hashref" } } sub bar { my ($self, $one, $two, %three) = @_; unless (defined $one and $one =~ /^\s+$/) { die "err for param one" } unless (defined $two and $two =~ /^\d+$/) { die "err in param two" } unless (exists $three{bloop}) { die "missing bloop in hashref" } } ---------------------------- Or, you could do it this way: ---------------------------- use Method::Signatures; method foo (Int $one, Str $two, :$thing!) { } method bar (Str $one, Int $two, :bloop!) { } ---------------------------- Now I'm sure you'll agree the latter method meets your own requirements for "If you can write it in one line, do it". Yet, it's added a dependency upon another module, which may itself be complex. -Toby From andrewmcnnz at gmail.com Tue Feb 12 21:21:39 2013 From: andrewmcnnz at gmail.com (Andrew McNaughton) Date: Wed, 13 Feb 2013 16:21:39 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: <511B196E.5030008@strategicdata.com.au> References: <511AD560.4020904@strategicdata.com.au> <20130213020219.GD10746@opal.nipl.net> <511B196E.5030008@strategicdata.com.au> Message-ID: <511B22E3.3030303@mcnaughty.com> On 13/02/13 15:41, Toby Corkindale wrote: > On 13/02/13 13:02, Sam Watkins wrote: >> On Wed, Feb 13, 2013 at 10:50:56AM +1100, Toby Corkindale wrote: >>> I've seen Java stack traces that are easier to figure out than this. >> >> >> >> Frankly, I think the solution is - don't use all that ridiculous >> bloated crap! >> Keep it simple. If you can write it in one line, do so; >> Don't write 20 pages when 1 will do. Don't use bloated 3rd party >> modules, >> only if they are as clean and simple as possible for the necessary task. > > It's not really as simple as that. > >> Read "The Practice of Programming" ... >> Chant "Simplicity, Clarity, Generality" ... > > But there's also: Don't Repeat Yourself. > Don't copy and paste code around when you could use a single package. > But as requirements get more complex, so do your dependencies, which > may themselves be simple, but be made up of many further dependencies. > Even if they are all relatively simple in and of themselves, the > combination of all grows complex. So we have simplicity at the top level with all the complexity hidden, until you get to the stack trace. If you're using the same frameworks a lot and want to hide the complexity in the stack traces too, it likely makes sense to write something to filter the stack traces to recover the simplicity there. Of course this also exaggerates the tendency for the programmer to lose track of the performance implications of all that complexity they're hiding. Sometimes it matters. Andrew From adam.clarke at strategicdata.com.au Tue Feb 12 21:30:56 2013 From: adam.clarke at strategicdata.com.au (Adam Clarke) Date: Wed, 13 Feb 2013 16:30:56 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: <511B22E3.3030303@mcnaughty.com> References: <511AD560.4020904@strategicdata.com.au> <20130213020219.GD10746@opal.nipl.net> <511B196E.5030008@strategicdata.com.au> <511B22E3.3030303@mcnaughty.com> Message-ID: On 13/02/2013, at 4:21 PM, Andrew McNaughton wrote: > On 13/02/13 15:41, Toby Corkindale wrote: >> On 13/02/13 13:02, Sam Watkins wrote: >>> On Wed, Feb 13, 2013 at 10:50:56AM +1100, Toby Corkindale wrote: >>>> I've seen Java stack traces that are easier to figure out than this. >>> >>> >>> >>> Frankly, I think the solution is - don't use all that ridiculous >>> bloated crap! >>> Keep it simple. If you can write it in one line, do so; >>> Don't write 20 pages when 1 will do. Don't use bloated 3rd party >>> modules, >>> only if they are as clean and simple as possible for the necessary task. >> >> It's not really as simple as that. >> >>> Read "The Practice of Programming" ... >>> Chant "Simplicity, Clarity, Generality" ... >> >> But there's also: Don't Repeat Yourself. >> Don't copy and paste code around when you could use a single package. >> But as requirements get more complex, so do your dependencies, which >> may themselves be simple, but be made up of many further dependencies. >> Even if they are all relatively simple in and of themselves, the >> combination of all grows complex. > > So we have simplicity at the top level with all the complexity hidden, > until you get to the stack trace. If you're using the same frameworks a > lot and want to hide the complexity in the stack traces too, it likely > makes sense to write something to filter the stack traces to recover the > simplicity there. > > Of course this also exaggerates the tendency for the programmer to lose > track of the performance implications of all that complexity they're > hiding. Sometimes it matters. Please note, tongue firmly on cheek! So we have a choice. We can stand on the shoulders of giants, sometimes slipping off and falling into their excrement. Or we can stand on a pile of our own excrement desperately trying not to sink into it before we reach the level of those shoulders. Sounds to me like we are stuck between a sometimes soft place and an always soft place ;) From scottp at dd.com.au Tue Feb 12 21:41:51 2013 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 13 Feb 2013 16:41:51 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: References: <511AD560.4020904@strategicdata.com.au> <20130213020219.GD10746@opal.nipl.net> <511B196E.5030008@strategicdata.com.au> <511B22E3.3030303@mcnaughty.com> Message-ID: <90C13D23-C669-444A-B8A0-951B6D6C1D91@dd.com.au> On 13/02/2013, at 4:30 PM, Adam Clarke wrote: > Sounds to me like we are stuck between a sometimes soft place and an > always soft place ;) Stuck between a Rock and a Back Trace. Stuck between Software Dump and a Core Dump. Stuck between simplicity and complexity. Stuck between perlrocks and Die::Hard. Stuck between too much and too little. Stuck between Scott and Adam. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5928 bytes Desc: not available URL: From scottp at dd.com.au Tue Feb 12 21:44:00 2013 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 13 Feb 2013 16:44:00 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: <90C13D23-C669-444A-B8A0-951B6D6C1D91@dd.com.au> References: <511AD560.4020904@strategicdata.com.au> <20130213020219.GD10746@opal.nipl.net> <511B196E.5030008@strategicdata.com.au> <511B22E3.3030303@mcnaughty.com> <90C13D23-C669-444A-B8A0-951B6D6C1D91@dd.com.au> Message-ID: I like this module XXX https://metacpan.org/module/INGY/XXX-0.18/lib/XXX.pod It would allow me to dump, stack trace, and find my bugs. Paul Fenwick will tell you that about 80% of the bugs we used to find at myinternet, where already marked in the comments with "XXX" - along the lines of: "XXX don't release this, I haven't tested it; or this will explode; or need to fix this before release... or something like that..." So instead of # XXX will explode. I can put XXX "will explode" and it really will :-) Scott -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5928 bytes Desc: not available URL: From andrew at sericyb.com.au Tue Feb 12 22:00:26 2013 From: andrew at sericyb.com.au (Andrew Pam) Date: Wed, 13 Feb 2013 17:00:26 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: References: <511AD560.4020904@strategicdata.com.au> <20130213020219.GD10746@opal.nipl.net> <511B196E.5030008@strategicdata.com.au> <511B22E3.3030303@mcnaughty.com> <90C13D23-C669-444A-B8A0-951B6D6C1D91@dd.com.au> Message-ID: <511B2BFA.3050905@sericyb.com.au> On 13/02/13 16:44, Scott Penrose wrote: > I like this module > XXX Yeah, I found it very useful while I was at Strategic Data - often just to generate nice warnings while debugging. +1 from me. Cheers, Andrew From toby.corkindale at strategicdata.com.au Wed Feb 13 01:20:10 2013 From: toby.corkindale at strategicdata.com.au (Toby Corkindale) Date: Wed, 13 Feb 2013 20:20:10 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 Message-ID: I'm sorry I didn't make it tonight. I hope the meeting went well? (Actually, hopefully it's still going) -Toby Alfie John wrote: >Hello Perl Mongers, > >This is a friendly reminder that the next Melbourne Perl Mongers is >tonight and will start around 6:30pm: > > Opera Software > Level 1, 91-97 William Street > Melbourne CBD > >We have the following talks: > > - Kahil Hodgson on using Catalyst to build a service bus > - Myf on using autobox::Core > - Michael Schwern on Test::Builder2 with a possible fix-a-thon at the > end > >Alfie > >-- > Alfie John > alfiej at opera.com >_______________________________________________ >Melbourne-pm mailing list >Melbourne-pm at pm.org >http://mail.pm.org/mailman/listinfo/melbourne-pm From sam at nipl.net Wed Feb 13 02:12:31 2013 From: sam at nipl.net (Sam Watkins) Date: Wed, 13 Feb 2013 21:12:31 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> Message-ID: <20130213101231.GF10746@opal.nipl.net> On Wed, Feb 13, 2013 at 02:04:16PM +1100, Alfie John wrote: > On Wed, Feb 13, 2013, at 01:39 PM, Michael G Schwern wrote: > > It's not about Perl, but it could provide web sites with an > > entirely new way to make money, create an artistic middle class and save > > digital freedom. > > > > Like to hear about that? > > Sounds good. yes, please tell us about it on the list later also... From javier at candeira.com Wed Feb 13 05:10:53 2013 From: javier at candeira.com (Javier Candeira) Date: Thu, 14 Feb 2013 00:10:53 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: <20130213101231.GF10746@opal.nipl.net> References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> Message-ID: >> On Wed, Feb 13, 2013, at 01:39 PM, Michael G Schwern wrote: >> > It's not about Perl, but it could provide web sites with an >> > entirely new way to make money, create an artistic middle class and save >> > digital freedom. >> > >> > Like to hear about that? >> >> Sounds good. > > yes, please tell us about it on the list later also... +1 here. J From alfiej at opera.com Wed Feb 13 14:37:57 2013 From: alfiej at opera.com (Alfie John) Date: Thu, 14 Feb 2013 09:37:57 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: References: Message-ID: <1360795077.10968.140661191116129.180A5CAD@webmail.messagingengine.com> On Wed, Feb 13, 2013, at 08:20 PM, Toby Corkindale wrote: > I'm sorry I didn't make it tonight. I hope the meeting went well? > (Actually, hopefully it's still going) I think that the night went pretty well, the talks were great and the discussions during and after were productive too. I also think that it was one of the biggest attendances we've had (I counted 24 at one point). Also from last night, here's a bit more info from Ben who's looking for developers: --8<-- Regular Expression Experts for a SaaS Startup You will be required to: - Design/develop complex regular expressions - Develop key system logic patterns with preferred character string algorithms You will contribute towards a team effort in solving complex machine learning and artificial intelligence problems. Must have: - Significant demonstrable experience writing regular expressions Position will begin with contract work and move to permanent for the right candidates. --8<-- If the above sounds interesting to you, please send your CV to: ben at tetrisdigital.com.au Now I didn't get a chance to speak to Paul last night, but I think Jacinta put up his hand up for a February meeting. And after watching his talk on The Perl Renaissance (https://www.youtube.com/watch?v=oZ5xTI1QRTA), if he's invited to a meeting he'll be happy to give a talk :) Thanks again everyone for a great night. Alfie -- Alfie John alfiej at opera.com From sam at nipl.net Wed Feb 13 17:49:04 2013 From: sam at nipl.net (Sam Watkins) Date: Thu, 14 Feb 2013 12:49:04 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: <511B196E.5030008@strategicdata.com.au> References: <511AD560.4020904@strategicdata.com.au> <20130213020219.GD10746@opal.nipl.net> <511B196E.5030008@strategicdata.com.au> Message-ID: <20130214014904.GJ10746@opal.nipl.net> me: >Frankly, I think the solution is - don't use all that ridiculous bloated crap! Toby: > It's not really as simple as that. Yes, it really is as simple as that! I'm not saying, "don't reuse code". I'm saying, "don't reuse awful code". From sam at nipl.net Wed Feb 13 17:49:49 2013 From: sam at nipl.net (Sam Watkins) Date: Thu, 14 Feb 2013 12:49:49 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: References: <511AD560.4020904@strategicdata.com.au> <20130213020219.GD10746@opal.nipl.net> <511B196E.5030008@strategicdata.com.au> <511B22E3.3030303@mcnaughty.com> Message-ID: <20130214014949.GK10746@opal.nipl.net> On Wed, Feb 13, 2013 at 04:30:56PM +1100, Adam Clarke wrote: > So we have a choice. We can stand on the shoulders of giants, sometimes > slipping off and falling into their excrement. Or we can stand on a pile of > our own excrement desperately trying not to sink into it before we reach > the level of those shoulders. find a better, and smaller, giant From list at bereft.net Thu Feb 14 15:32:59 2013 From: list at bereft.net (Brad Bowman) Date: Fri, 15 Feb 2013 10:32:59 +1100 Subject: [Melbourne-pm] Stack traces In-Reply-To: <20130214014949.GK10746@opal.nipl.net> References: <511AD560.4020904@strategicdata.com.au> <20130213020219.GD10746@opal.nipl.net> <511B196E.5030008@strategicdata.com.au> <511B22E3.3030303@mcnaughty.com> <20130214014949.GK10746@opal.nipl.net> Message-ID: <511D742B.10209@bereft.net> On 14/02/13 12:49, Sam Watkins wrote: > On Wed, Feb 13, 2013 at 04:30:56PM +1100, Adam Clarke wrote: >> So we have a choice. We can stand on the shoulders of giants, sometimes >> slipping off and falling into their excrement. Or we can stand on a pile of >> our own excrement desperately trying not to sink into it before we reach >> the level of those shoulders. > > find a better, and smaller, giant We're actually standing on a very high pile of midgets, hence the stack trace. From schwern at pobox.com Mon Feb 18 16:55:25 2013 From: schwern at pobox.com (Michael G. Schwern) Date: Tue, 19 Feb 2013 11:55:25 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> Message-ID: <5122CD7D.5080802@pobox.com> On 2/14/13 12:10 AM, Javier Candeira wrote: >>> On Wed, Feb 13, 2013, at 01:39 PM, Michael G Schwern wrote: >>>> It's not about Perl, but it could provide web sites with an >>>> entirely new way to make money, create an artistic middle class and save >>>> digital freedom. >>>> >>>> Like to hear about that? >>> >>> Sounds good. >> >> yes, please tell us about it on the list later also... > > +1 here. I'll post up about it at a later date, probably going to be a month before I can come back to this. The discussion at the meeting was excellent and the idea is rapidly evolving towards something implementable. From sam at nipl.net Mon Feb 18 18:22:40 2013 From: sam at nipl.net (Sam Watkins) Date: Tue, 19 Feb 2013 13:22:40 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: <5122CD7D.5080802@pobox.com> References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> <5122CD7D.5080802@pobox.com> Message-ID: <20130219022240.GD4393@opal.nipl.net> On Tue, Feb 19, 2013 at 11:55:25AM +1100, Michael G. Schwern wrote: > I'll post up about it at a later date, probably going to be a month > before I can come back to this. The discussion at the meeting was > excellent and the idea is rapidly evolving towards something implementable. Can you inform us non-attendees what, vaguely, your amazing idea is about in like one line, now? From schwern at pobox.com Mon Feb 18 18:53:59 2013 From: schwern at pobox.com (Michael G. Schwern) Date: Tue, 19 Feb 2013 13:53:59 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: <20130219022240.GD4393@opal.nipl.net> References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> <5122CD7D.5080802@pobox.com> <20130219022240.GD4393@opal.nipl.net> Message-ID: <5122E947.9020607@pobox.com> On 2/19/13 1:22 PM, Sam Watkins wrote: > On Tue, Feb 19, 2013 at 11:55:25AM +1100, Michael G. Schwern wrote: >> I'll post up about it at a later date, probably going to be a month >> before I can come back to this. The discussion at the meeting was >> excellent and the idea is rapidly evolving towards something implementable. > > Can you inform us non-attendees what, vaguely, your amazing idea > is about in like one line, now? Aldi, Myf, $very_beared_gentleman (whose name I forget) and I came up with a working title "PayTron". It combines the idea of payment with the idea of patronage with the idea of awful puns. It provides an API to answer the question "tell me about this file (or other digital thing)" which includes "how do I pay for this digital thing". Once the content creator has registered their thing with the system anyone can get at the metadata. Since its an API, anything can query PayTron and build tools to do so. Since its discoverable, it requires no interaction between the content creator and the thing doing the displaying. For example, https://www.comic-rocket.com/ is my favorite comic aggregation site. For each comic I read it could query PayTron for metadata about each comic URL (in this way it can absorb Flattr) and display it if available. If it includes payment information it can display a "pay for it" button. As the "distributor" or more correctly "entity who got the payment button in front of your face", Comic Rocket gets a small cut providing a new revenue source for web sites. PayTron gets a small cut for operating costs. The notary (which may be a traditional publisher/label) which verifies who has the right to sell what gets a cut negotiated with the content creator. The content creator gets the rest. If you charge $1 for something and get 80 cents on the dollar it takes 100k sales a year to make a very nice living. This is still a lot of sales, but its more achievable than the millions of sales necessary to make a living in a traditional system where the content creator gets pennies on the dollar. My friend who has music on Spotify gave me some numbers... they got $1.52 for 200 downloads of a song or less than a penny per download. Yuck. There are a great many details and sub-problems and legal issues which I will not get into right now but can later. The notary system. The payment system. The identification system. Legal issues. Social engineering users to pay. Social engineering artists to register. We have first order solutions to them. The meeting turned into a huge discussion about how one might make it distributed. That would be neat and protect it against the inevitable subpoena from the MPAA/RIAA/USgovt ("hey look, its a database of piracy!"). I'm interested in the shortest technical, social, economic and legal path to getting it off the ground, which means side-stepping interesting but difficult problems like how we make it distributed. From myfwhite at gmail.com Mon Feb 18 19:03:09 2013 From: myfwhite at gmail.com (Myf White) Date: Tue, 19 Feb 2013 14:03:09 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: <5122E947.9020607@pobox.com> References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> <5122CD7D.5080802@pobox.com> <20130219022240.GD4393@opal.nipl.net> <5122E947.9020607@pobox.com> Message-ID: $very_beared_gentleman = "Andrew"; Kind Regards, Myf White *Phone: *0413 757 052* Email:* myfwhite at gmail.com On Tue, Feb 19, 2013 at 1:53 PM, Michael G. Schwern wrote: > On 2/19/13 1:22 PM, Sam Watkins wrote: > > On Tue, Feb 19, 2013 at 11:55:25AM +1100, Michael G. Schwern wrote: > >> I'll post up about it at a later date, probably going to be a month > >> before I can come back to this. The discussion at the meeting was > >> excellent and the idea is rapidly evolving towards something > implementable. > > > > Can you inform us non-attendees what, vaguely, your amazing idea > > is about in like one line, now? > > Aldi, Myf, $very_beared_gentleman (whose name I forget) and I came up > with a working title "PayTron". It combines the idea of payment with > the idea of patronage with the idea of awful puns. > > It provides an API to answer the question "tell me about this file (or > other digital thing)" which includes "how do I pay for this digital > thing". Once the content creator has registered their thing with the > system anyone can get at the metadata. Since its an API, anything can > query PayTron and build tools to do so. Since its discoverable, it > requires no interaction between the content creator and the thing doing > the displaying. > > For example, https://www.comic-rocket.com/ is my favorite comic > aggregation site. For each comic I read it could query PayTron for > metadata about each comic URL (in this way it can absorb Flattr) and > display it if available. If it includes payment information it can > display a "pay for it" button. As the "distributor" or more correctly > "entity who got the payment button in front of your face", Comic Rocket > gets a small cut providing a new revenue source for web sites. PayTron > gets a small cut for operating costs. The notary (which may be a > traditional publisher/label) which verifies who has the right to sell > what gets a cut negotiated with the content creator. The content > creator gets the rest. > > If you charge $1 for something and get 80 cents on the dollar it takes > 100k sales a year to make a very nice living. This is still a lot of > sales, but its more achievable than the millions of sales necessary to > make a living in a traditional system where the content creator gets > pennies on the dollar. My friend who has music on Spotify gave me some > numbers... they got $1.52 for 200 downloads of a song or less than a > penny per download. Yuck. > > There are a great many details and sub-problems and legal issues which I > will not get into right now but can later. The notary system. The > payment system. The identification system. Legal issues. Social > engineering users to pay. Social engineering artists to register. We > have first order solutions to them. > > The meeting turned into a huge discussion about how one might make it > distributed. That would be neat and protect it against the inevitable > subpoena from the MPAA/RIAA/USgovt ("hey look, its a database of > piracy!"). I'm interested in the shortest technical, social, economic > and legal path to getting it off the ground, which means side-stepping > interesting but difficult problems like how we make it distributed. > > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm > -------------- next part -------------- An HTML attachment was scrubbed... URL: From schwern at pobox.com Mon Feb 18 19:06:42 2013 From: schwern at pobox.com (Michael G. Schwern) Date: Tue, 19 Feb 2013 14:06:42 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> <5122CD7D.5080802@pobox.com> <20130219022240.GD4393@opal.nipl.net> <5122E947.9020607@pobox.com> Message-ID: <5122EC42.9040306@pobox.com> On 2/19/13 2:03 PM, Myf White wrote: > $very_beared_gentleman = "Andrew"; Andrew. Of course he's named Andrew. From ickphum at gmail.com Mon Feb 18 19:07:29 2013 From: ickphum at gmail.com (Ian Macdonald) Date: Tue, 19 Feb 2013 14:07:29 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: <5122EC42.9040306@pobox.com> References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> <5122CD7D.5080802@pobox.com> <20130219022240.GD4393@opal.nipl.net> <5122E947.9020607@pobox.com> <5122EC42.9040306@pobox.com> Message-ID: "Beared"? On Tue, Feb 19, 2013 at 2:06 PM, Michael G. Schwern wrote: > On 2/19/13 2:03 PM, Myf White wrote: > > $very_beared_gentleman = "Andrew"; > > Andrew. Of course he's named Andrew. > > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm > -- Ian Macdonald -------------- next part -------------- An HTML attachment was scrubbed... URL: From sam at nipl.net Mon Feb 18 19:11:30 2013 From: sam at nipl.net (Sam Watkins) Date: Tue, 19 Feb 2013 14:11:30 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: <5122E947.9020607@pobox.com> References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> <5122CD7D.5080802@pobox.com> <20130219022240.GD4393@opal.nipl.net> <5122E947.9020607@pobox.com> Message-ID: <20130219031130.GF4393@opal.nipl.net> Michael G. Schwern wrote: > PayTron Good name. > an API to answer the question "tell me about this file (or > other digital thing)" which includes "how do I pay for this digital > thing". Sounds interesting. Would that include supporting free software authors? I think it useful to provide a "pay once, support many" feature, so e.g. I could donate $100 to be spread somehow among the many project I'd like to support. My take on how to do that, is just choose a random project from my list and give the whole $100 to that project, that prevents people getting annoyingly small donations, and tends to be fair on average when there is a large number of supporters. > The meeting turned into a huge discussion about how one might make it > distributed. That would be neat and protect it against the inevitable > subpoena from the MPAA/RIAA/USgovt ("hey look, its a database of > piracy!"). I'm interested in the shortest technical, social, economic > and legal path to getting it off the ground, which means side-stepping > interesting but difficult problems like how we make it distributed. If such a subpoena is undesirable / potentially disasterous for the service, then it would be important to deal with that (perhaps by being distributed right from the beginning). I would not use a service, if as a result I might get sued by the MPAA or whatever. But using the would not necessarily imply that you pirated the content in the first place... I don't think you'd be able to give money to publishers, only to the original artists who are willing to accept it. I don't think publishers will accept small donations in lieu of normal payment, but most artists will say "thanks for the support". I think you should not take a cut. Just allow people to support your service if they choose, as they would support any other creative content. Seeing as every user is thinking "thanks for this service", you'd be likely to get plenty of support - even too much - that way. Sam From andrewmcnnz at gmail.com Mon Feb 18 19:12:45 2013 From: andrewmcnnz at gmail.com (Andrew McN) Date: Tue, 19 Feb 2013 14:12:45 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> <5122CD7D.5080802@pobox.com> <20130219022240.GD4393@opal.nipl.net> <5122E947.9020607@pobox.com> <5122EC42.9040306@pobox.com> Message-ID: No, I'm bearded, but not beared (nor any of the other things my phone's auto correction suggested just now. Andrew On 19/02/2013 2:07 PM, "Ian Macdonald" wrote: > "Beared"? > > > On Tue, Feb 19, 2013 at 2:06 PM, Michael G. Schwern wrote: > >> On 2/19/13 2:03 PM, Myf White wrote: >> > $very_beared_gentleman = "Andrew"; >> >> Andrew. Of course he's named Andrew. >> >> _______________________________________________ >> Melbourne-pm mailing list >> Melbourne-pm at pm.org >> http://mail.pm.org/mailman/listinfo/melbourne-pm >> > > > > -- > Ian Macdonald > > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm > -------------- next part -------------- An HTML attachment was scrubbed... URL: From schwern at pobox.com Mon Feb 18 19:50:26 2013 From: schwern at pobox.com (Michael G. Schwern) Date: Tue, 19 Feb 2013 14:50:26 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: <20130219031130.GF4393@opal.nipl.net> References: <1360101095.29788.140661187300465.6EBEFF12@webmail.messagingengine.com> <1360706755.21647.140661190586197.79BD2118@webmail.messagingengine.com> <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> <5122CD7D.5080802@pobox.com> <20130219022240.GD4393@opal.nipl.net> <5122E947.9020607@pobox.com> <20130219031130.GF4393@opal.nipl.net> Message-ID: <5122F682.4010603@pobox.com> On 2/19/13 2:11 PM, Sam Watkins wrote: > Michael G. Schwern wrote: >> PayTron > > Good name. Thanks! > Would that include supporting free software authors? I think it useful > to provide a "pay once, support many" feature, so e.g. I could donate > $100 to be spread somehow among the many project I'd like to support. That's the Flattr model. I'm not particularly interested in that model but PayTron can be used to implement it. > My take on how to do that, is just choose a random project from my list > and give the whole $100 to that project, that prevents people getting > annoyingly small donations, and tends to be fair on average when there > is a large number of supporters. Over a large enough set of people and projects, won't that result in projects getting exactly the same amounts they do now? Over small sets it makes the system a crap shoot. I'd rather have $20 for certain than $100 maybe. Part of making a middle class is certainty of income. >> The meeting turned into a huge discussion about how one might make it >> distributed. That would be neat and protect it against the inevitable >> subpoena from the MPAA/RIAA/USgovt ("hey look, its a database of >> piracy!"). I'm interested in the shortest technical, social, economic >> and legal path to getting it off the ground, which means side-stepping >> interesting but difficult problems like how we make it distributed. > > If such a subpoena is undesirable / potentially disasterous for the service, > then it would be important to deal with that (perhaps by being distributed > right from the beginning). We talked about this a lot after the meeting. PayTron must be perceived as (and actually be) a legitimate way to pay for things which does not expose the user to legal problems. I don't think it can be distributed without allowing the MPAA/RIAA from running nodes and collecting information. Its basically the Distributed Hash Table bit torrent problem. OTOH a few systems which defend against this problem, such as Bitcoin, were brought up for possible examination. If somebody can solve this problem, great! My strategy is to assume we're going to be penetrated, so simply not store incriminating data. Detailed logs would be thrown out after a very short period (days) and long term info only stored as aggregate statistics. Part of the strategy is to make sure that anything we DO store is evidence of a legal purchase. There was discussion even about how these receipts can be made only readable by the purchaser. Even then, its possible some overzealous US Federal Prosecutor will have a beef with the idea that you can make "stealing" something legal by paying after you've stolen it. > I would not use a service, if as a result I > might get sued by the MPAA or whatever. But using the would not necessarily > imply that you pirated the content in the first place... Seeing an IP address downloading an illegal copy of something doesn't mean a specific person committed a crime, but that hasn't stopped the US courts. But this is all lawyer, security and crypto stuff best left to professional. Its also stuff that's only a concern *after* it gets off the ground and successful. People tend to get hung up on how it might fail without really having the knowledge to know if it will. I'd rather hear about what you might do with such a system. > I don't think you'd be able to give money to publishers, only to the > original artists who are willing to accept it. I don't think publishers > will accept small donations in lieu of normal payment, but most artists > will say "thanks for the support". I have an "embrace, extend, destroy" strategy which entices the publishers in with money. "Embrace" is to demonstrate there's money to be made on what was previously being lost as piracy because it was too difficult to pay or the price was wrong. "Extend" is getting publishers to put their own artist's content into the system with their existing suggested prices and existing artist's contracts. They get paid and then they pay their artists. Whereas before it was lost to piracy, now they have a new source of revenue. There are legal and social issues, but the basic strategy is to start with small publishers, gather success stories, and how much PayTron sales impacted other sales. Then go larger. All the while enticing with money money money. More money, new revenue streams. Money from pirates! It's like free money! "Destroy" is when the artists realize they don't need their traditional publishers any more and can now self-publish and keep a much larger share of their sales. > I think you should not take a cut. Just allow people to support your > service if they choose, as they would support any other creative content. > Seeing as every user is thinking "thanks for this service", you'd be likely > to get plenty of support - even too much - that way. Steady income is important, both so the people behind the service can do it full time and so they can pay for reliable infrastructure. Also the intent is for the user to never even think about the service. They register once, then they just click the "pay" button and interact with the artist. We're the sewer. Nobody should have to think about the sewer, it should just take care of itself. Do it right and the artists will be making WAY more than they could before both in terms of profit per dollar of sale and in terms of volume. Did you know Kickstarter takes 5% of a project's donations? *TOTALLY WORTH IT* for the service they provide. From alfiej at opera.com Tue Feb 19 13:43:11 2013 From: alfiej at opera.com (Alfie John) Date: Wed, 20 Feb 2013 08:43:11 +1100 Subject: [Melbourne-pm] Moving March's meeting to Thursday Message-ID: <1361310191.22112.140661193909833.2087A204@webmail.messagingengine.com> Hello Perl Mongers, I have spoken to Paul and he is happy to give a talk for March's meeting, however he can't do Wednesdays. Does anybody object if we move March's meeting to the 14th which is a Thursday (the day after the usual timeslot)? Alfie -- Alfie John alfiej at opera.com From sam at nipl.net Tue Feb 19 17:22:06 2013 From: sam at nipl.net (Sam Watkins) Date: Wed, 20 Feb 2013 12:22:06 +1100 Subject: [Melbourne-pm] Meeting Reminder (TONIGHT): Wednesday the 13th of February, 2013 In-Reply-To: <5122F682.4010603@pobox.com> References: <1360724656.3849.140661190687009.185A4D44@webmail.messagingengine.com> <20130213101231.GF10746@opal.nipl.net> <5122CD7D.5080802@pobox.com> <20130219022240.GD4393@opal.nipl.net> <5122E947.9020607@pobox.com> <20130219031130.GF4393@opal.nipl.net> <5122F682.4010603@pobox.com> Message-ID: <20130220012206.GG4393@opal.nipl.net> On Tue, Feb 19, 2013 at 02:50:26PM +1100, Michael G. Schwern wrote: > On 2/19/13 2:11 PM, Sam Watkins wrote: > > Michael G. Schwern wrote: > >> PayTron > > > > Good name. > > Thanks! > > > > Would that include supporting free software authors? I think it useful > > to provide a "pay once, support many" feature, so e.g. I could donate > > $100 to be spread somehow among the many project I'd like to support. > > That's the Flattr model. I'm not particularly interested in that model > but PayTron can be used to implement it. It's kind of essential, good if you can implement it. Few people can afford to pay $20 to everyone they should support (in the free software world), and no one wants to receive individual 10c donation. I think this issue is the single biggest problem stopping free software projects from receiving adequate support via donations. > > My take on how to do that, is just choose a random project from my list > > and give the whole $100 to that project, that prevents people getting > > annoyingly small donations, and tends to be fair on average when there > > is a large number of supporters. > > Over a large enough set of people and projects, won't that result in > projects getting exactly the same amounts they do now? Yes, but at least they will get it in large chunks not individual 10c paypal payments, and little projects won't be excluded. > My strategy is to assume we're going to be penetrated, so simply not > store incriminating data. good. although there may be legal requirements to store some data for some payments, if you're playing with money across various jurisdictions. > Even then, its possible some overzealous US Federal Prosecutor will have > a beef with the idea that you can make "stealing" something legal by > paying after you've stolen it. well, you can say that this is mainly intended to support products which are free-to-share, and rely on donations > But this is all lawyer, security and crypto stuff best left to > professional. Its also stuff that's only a concern *after* it gets off > the ground and successful. it would be disappointing if it bites the dust due to issues like that after you put in the work to make it successful. but it's an unlikely target compared to active piracy sites and systems > I'd rather hear about what you might do with such a system. pay for my free software purchases, perhaps support some websites, perhaps give occassional donations to musicians that I like. > I have an "embrace, extend, destroy" strategy which entices the > publishers in with money > "Destroy" is when the artists realize they don't need their traditional > publishers any more And you just went on the record with that! if the publishers do their homework they will stay FAR AWAY from you. > > I think you should not take a cut. Just allow people to support your > > service if they choose, as they would support any other creative content. > > Seeing as every user is thinking "thanks for this service", you'd be likely > > to get plenty of support - even too much - that way. > > Steady income is important, both so the people behind the service can do > it full time and so they can pay for reliable infrastructure. If it's distributed, you don't need your own infrastructure. Personally I think any big net-based engine that buys their own infrastructure is doing it wrong, even facebook, google, etc. are doing it wrong. (And they don't even know how to monetise properly without using 1950s style undirected advertisting!) I also think it's better if you don't handle the money, can avoid a whole lot of legal and liability issues that way. > Do it right and the artists will be making WAY more than they could > before both in terms of profit per dollar of sale and in terms of > volume. Did you know Kickstarter takes 5% of a project's donations? > *TOTALLY WORTH IT* for the service they provide. Well, I don't agree that it's totally worth it, the service they are providing costs them nothing like that 5%, and they are making a killing. I don't agree with taking excessive profit. Anyway, I guess it's up to you if you want to create a bittorrent-type distributed system, or a 'pirate bay' type centralized system. For me, I'd prefer to work on a distributed system! But like I said, it's a great idea to work on something like this, and a really great achievement if you can make it fly, regardless of whether you take a cut or not - can help support Art on this planet! Please consider, though - if you don't take a cut, you have a better case for receiving donations to your service, through the service. And you could then make it an open-source / community project, which adds geek-cred. You might find that the donations you receive (if you don't take a cut) outweigh the cut you would have taken. If you get too much donations, you could ask the users to give them to an artist of their choice, instead. Sam From andrew_dent at dentaur.com Sun Feb 24 22:17:09 2013 From: andrew_dent at dentaur.com (Andrew Dent) Date: Mon, 25 Feb 2013 17:17:09 +1100 Subject: [Melbourne-pm] Receipt program Message-ID: <002b01ce131f$bef452c0$3cdcf840$@dentaur.com> Hi I have a customer that is in need of a multiuser receipt/payment application that is not hosted in the cloud. Must be on premise as the Internet Connection is dodgy at best. Does anyone know of a Perl solution to this problem? Perl CGI would be good. Cheers Andrew Dent -------------- next part -------------- An HTML attachment was scrubbed... URL: