This is a presentation held at eLiberatica 2008.
http://www.eliberatica.ro/2008/
One of the biggest events of its kind in Eastern Europe, eLiberatica brings community leaders from around the world to discuss about the hottest topics in FLOSS movement, demonstrating the advantages of adopting, using and developing Open Source and Free Software solutions.
The eLiberatica organizational committee together with our speakers and guests, have graciously allowed media representatives and all attendees to photograph, videotape and otherwise record their sessions, on the condition that the photos, videos and recordings are licensed under the Creative Commons Share-Alike 3.0 License.
26. The sky is the limit
Permissive
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36. Legal Entity
Copyleft
#!/usr/bin/env perl
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
use Encode ();
use YAML ();
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;
37. Legal Entity use
use
use
use
use
use
our
YAML ();
LWP::UserAgent;
Number::RecordLocator;
Email::Address;
Fcntl qw(:mode);
File::Temp;
$CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
Copyleft
#!/usr/bin/env perl
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
use Encode ();
use YAML ();
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;
38. Legal Entity use
use
use
use
use
use
our
YAML ();
LWP::UserAgent;
Number::RecordLocator;
Email::Address;
Fcntl qw(:mode);
File::Temp;
$CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
Copyleft
#!/usr/bin/env perl
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
use Encode ();
use YAML ();
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;
39. Legal Entity use
use
use
use
use
use
our
YAML ();
LWP::UserAgent;
Number::RecordLocator;
Email::Address;
Fcntl qw(:mode);
File::Temp;
$CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
Copyleft
#!/usr/bin/env perl
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
use Encode ();
use YAML ();
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;
40. Legal Entity use
use
use
use
use
use
our
YAML ();
LWP::UserAgent;
Number::RecordLocator;
Email::Address;
Fcntl qw(:mode);
File::Temp;
$CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
Copyleft
#!/usr/bin/env perl
use strict;
use warnings;
Copyleft
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to #!/usr/bin/env perl
run as a cgi script use strict;
Hacked up by zak@fooassociates.com use warnings;
=cut
=head1 DESCRIPTION
use Encode (); Hacked version of Best Practical's Hiveminder todo.pl script
use YAML (); Generates reports from Hiveminder - meant to be safe-ish to
use LWP::UserAgent; run as a cgi script
use Number::RecordLocator; Hacked up by zak@fooassociates.com
use Email::Address; =cut
use Fcntl qw(:mode);
use File::Temp; use Encode ();
use YAML ();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; use LWP::UserAgent;
our %config = (); use Number::RecordLocator;
our $ua = LWP::UserAgent->new; use Email::Address;
our $locator = Number::RecordLocator->new(); use Fcntl qw(:mode);
our $default_query = "not/complete/starts/before/tomorrow/ use File::Temp;
accepted/but_first/nothing";
our %args; our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
$ua->cookie_jar({}); our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
# Load the user's proxy settings from %ENV our $default_query = "not/complete/starts/before/tomorrow/
$ua->env_proxy; accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;
my $encoding;
eval {
require Term::Encoding;
$encoding = Term::Encoding::get_encoding();
};
$encoding ||= "utf-8";
binmode STDOUT, ":encoding($encoding)";
main();
sub main {
setup_config();
$args{owner} = "me";
41. Legal Entity
use YAML ();
Copyleft
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/accepted/but_first/
#!/usr/bin/env perl nothing";
use strict; our %args;
use warnings;
$ua->cookie_jar({});
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script # Load the user's proxy settings from %ENV
Generates reports from Hiveminder - meant to be safe-ish to $ua->env_proxy;
run as a cgi script
Hacked up by zak@fooassociates.com my $encoding;
=cut eval {
require Term::Encoding;
use Encode (); $encoding = Term::Encoding::get_encoding();
use YAML (); };
use LWP::UserAgent; $encoding ||= "utf-8";
use Number::RecordLocator;
use Email::Address; binmode STDOUT, ":encoding($encoding)";
use Fcntl qw(:mode);
use File::Temp; main();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; sub main {
our %config = (); setup_config();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new(); $args{owner} = "me";
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing"; do_login() or die("Bad username/password -- edit $CONFFILE and try
our %args; again.");
$ua->cookie_jar({}); @_ = @ARGV;
# Load the user's proxy settings from %ENV gen_head();
$ua->env_proxy; &list_tasks;
}
sub gen_head {
print <<EOS
<style type="text/css">
42. Legal Entity
use YAML ();
Copyleft
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/accepted/but_first/
#!/usr/bin/env perl nothing";
use strict; our %args;
use warnings;
$ua->cookie_jar({});
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script # Load the user's proxy settings from %ENV
Generates reports from Hiveminder - meant to be safe-ish to $ua->env_proxy;
run as a cgi script
Hacked up by zak@fooassociates.com my $encoding;
=cut eval {
require Term::Encoding;
use Encode (); $encoding = Term::Encoding::get_encoding();
use YAML (); };
use LWP::UserAgent; $encoding ||= "utf-8";
use Number::RecordLocator;
use Email::Address; binmode STDOUT, ":encoding($encoding)";
use Fcntl qw(:mode);
use File::Temp; main();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; sub main {
our %config = (); setup_config();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new(); $args{owner} = "me";
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing"; do_login() or die("Bad username/password -- edit $CONFFILE and try
our %args; again.");
$ua->cookie_jar({}); @_ = @ARGV;
# Load the user's proxy settings from %ENV gen_head();
$ua->env_proxy; &list_tasks;
}
sub gen_head {
print <<EOS
<style type="text/css">
43. Legal Entity
use YAML ();
Copyleft
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/accepted/but_first/
#!/usr/bin/env perl nothing";
use strict; our %args;
use warnings;
$ua->cookie_jar({});
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script # Load the user's proxy settings from %ENV
Generates reports from Hiveminder - meant to be safe-ish to $ua->env_proxy;
run as a cgi script
Hacked up by zak@fooassociates.com my $encoding;
=cut eval {
require Term::Encoding;
use Encode (); $encoding = Term::Encoding::get_encoding();
use YAML (); };
use LWP::UserAgent; $encoding ||= "utf-8";
use Number::RecordLocator;
use Email::Address; binmode STDOUT, ":encoding($encoding)";
use Fcntl qw(:mode);
use File::Temp; main();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; sub main {
our %config = (); setup_config();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new(); $args{owner} = "me";
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing"; do_login() or die("Bad username/password -- edit $CONFFILE and try
our %args;
Copyleft
again.");
$ua->cookie_jar({}); @_ = @ARGV;
# Load the user's proxy settings from %ENV gen_head();
$ua->env_proxy; &list_tasks;
}
sub gen_head {
print <<EOS
<style type="text/css">
#!/usr/bin/env perl
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
use Encode ();
use YAML ();
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;
my $encoding;
eval {
require Term::Encoding;
$encoding = Term::Encoding::get_encoding();
};
$encoding ||= "utf-8";
binmode STDOUT, ":encoding($encoding)";
main();
sub main {
setup_config();
$args{owner} = "me";
do_login() or die("Bad username/password -- edit
$CONFFILE and try again.");
@_ = @ARGV;
gen_head();
&list_tasks;
}
sub gen_head {
print <<EOS
44. Legal Entity
use YAML ();
Copyleft
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/accepted/but_first/
#!/usr/bin/env perl nothing";
use strict; our %args;
use warnings;
$ua->cookie_jar({});
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script # Load the user's proxy settings from %ENV
Generates reports from Hiveminder - meant to be safe-ish to $ua->env_proxy;
run as a cgi script
Hacked up by zak@fooassociates.com my $encoding;
=cut eval {
require Term::Encoding;
use Encode (); $encoding = Term::Encoding::get_encoding();
use YAML (); };
use LWP::UserAgent; $encoding ||= "utf-8";
use Number::RecordLocator;
use Email::Address; binmode STDOUT, ":encoding($encoding)";
use Fcntl qw(:mode);
use File::Temp; main();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; sub main {
our %config = (); setup_config();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new(); $args{owner} = "me";
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing"; do_login() or die("Bad username/password -- edit $CONFFILE and try
our %args;
Copyleft
again.");
$ua->cookie_jar({}); @_ = @ARGV;
# Load the user's proxy settings from %ENV gen_head();
$ua->env_proxy; &list_tasks;
}
sub gen_head {
print <<EOS
<style type="text/css">
#!/usr/bin/env perl
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
use Encode ();
use YAML ();
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;
my $encoding;
eval {
require Term::Encoding;
$encoding = Term::Encoding::get_encoding();
};
$encoding ||= "utf-8";
binmode STDOUT, ":encoding($encoding)";
main();
sub main {
setup_config();
$args{owner} = "me";
do_login() or die("Bad username/password -- edit
$CONFFILE and try again.");
@_ = @ARGV;
gen_head();
&list_tasks;
}
sub gen_head {
print <<EOS
45. Legal Entity
use YAML ();
Copyleft
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/accepted/but_first/
#!/usr/bin/env perl nothing";
use strict; our %args;
use warnings;
$ua->cookie_jar({});
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script # Load the user's proxy settings from %ENV
Generates reports from Hiveminder - meant to be safe-ish to $ua->env_proxy;
run as a cgi script
Hacked up by zak@fooassociates.com my $encoding;
=cut eval {
require Term::Encoding;
use Encode (); $encoding = Term::Encoding::get_encoding();
use YAML (); };
use LWP::UserAgent; $encoding ||= "utf-8";
use Number::RecordLocator;
use Email::Address; binmode STDOUT, ":encoding($encoding)";
use Fcntl qw(:mode);
use File::Temp; main();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; sub main {
our %config = (); setup_config();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new(); $args{owner} = "me";
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing"; do_login() or die("Bad username/password -- edit $CONFFILE and try
our %args;
Copyleft
again.");
$ua->cookie_jar({}); @_ = @ARGV;
# Load the user's proxy settings from %ENV gen_head();
$ua->env_proxy; &list_tasks;
}
sub gen_head {
print <<EOS
<style type="text/css">
#!/usr/bin/env perl
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
use Encode ();
use YAML ();
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;
my $encoding;
eval {
require Term::Encoding;
$encoding = Term::Encoding::get_encoding();
};
Incompatible
$encoding ||= "utf-8";
binmode STDOUT, ":encoding($encoding)";
main();
sub main {
setup_config();
$args{owner} = "me";
#!/usr/bin/env perl
do_login() or die("Bad username/password -- edit use strict;
$CONFFILE and try again."); use warnings;
@_ = @ARGV; =head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
gen_head(); Generates reports from Hiveminder - meant to be safe-ish to
&list_tasks; run as a cgi script
} Hacked up by zak@fooassociates.com
=cut
sub gen_head {
print <<EOS use Encode ();
use YAML ();
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;
46. Legal Entity
Copyleft
#!/usr/bin/env perl
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
use Encode ();
use YAML ();
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;
47. Legal Entity
Copyleft Incompatible
#!/usr/bin/env perl =head1 DESCRIPTION
use strict; Hacked version of Best Practical's Hiveminder todo.pl script
use warnings; Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
=head1 DESCRIPTION Hacked up by zak@fooassociates.com
Hacked version of Best Practical's Hiveminder todo.pl script =cut
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script use Encode ();
Hacked up by zak@fooassociates.com use YAML ();
=cut use LWP::UserAgent;
use Number::RecordLocator;
use Encode (); use Email::Address;
use YAML (); use Fcntl qw(:mode);
use LWP::UserAgent; use File::Temp;
use Number::RecordLocator;
use Email::Address; our $CONFFILE = "$ENV{HOME}/.hiveminder";
use Fcntl qw(:mode); our %config = ();
use File::Temp; our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; our $default_query = "not/complete/starts/before/tomorrow/
our %config = (); accepted/but_first/nothing";
our $ua = LWP::UserAgent->new; our %args;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/ $ua->cookie_jar({});
accepted/but_first/nothing";
our %args; # Load the user's proxy settings from %ENV
$ua->env_proxy;
$ua->cookie_jar({});
my $encoding;
# Load the user's proxy settings from %ENV eval {
$ua->env_proxy; require Term::Encoding;
48. Legal Entity
Copyleft Incompatible
#!/usr/bin/env perl =head1 DESCRIPTION
use strict; Hacked version of Best Practical's Hiveminder todo.pl script
use warnings; Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
=head1 DESCRIPTION Hacked up by zak@fooassociates.com
Hacked version of Best Practical's Hiveminder todo.pl script =cut
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script use Encode ();
Hacked up by zak@fooassociates.com use YAML ();
=cut use LWP::UserAgent;
use Number::RecordLocator;
use Encode (); use Email::Address;
use YAML (); use Fcntl qw(:mode);
use LWP::UserAgent; use File::Temp;
use Number::RecordLocator;
use Email::Address; our $CONFFILE = "$ENV{HOME}/.hiveminder";
use Fcntl qw(:mode); our %config = ();
use File::Temp; our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; our $default_query = "not/complete/starts/before/tomorrow/
our %config = (); accepted/but_first/nothing";
our $ua = LWP::UserAgent->new; our %args;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/ $ua->cookie_jar({});
accepted/but_first/nothing";
our %args; # Load the user's proxy settings from %ENV
$ua->env_proxy;
$ua->cookie_jar({});
my $encoding;
# Load the user's proxy settings from %ENV eval {
$ua->env_proxy; require Term::Encoding;
49. Legal Entity
Incompatible
#!/usr/bin/env perl
Copyleft Incompatible
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
#!/usr/bin/env perl use Encode (); =head1 DESCRIPTION
use strict; use YAML (); Hacked version of Best Practical's Hiveminder todo.pl script
use warnings; use LWP::UserAgent; Generates reports from Hiveminder - meant to be safe-ish to
use Number::RecordLocator; run as a cgi script
=head1 DESCRIPTION use Email::Address; Hacked up by zak@fooassociates.com
Hacked version of Best Practical's Hiveminder todo.pl script use Fcntl qw(:mode); =cut
Generates reports from Hiveminder - meant to be safe-ish to use File::Temp;
run as a cgi script use Encode ();
Hacked up by zak@fooassociates.com our $CONFFILE = "$ENV{HOME}/.hiveminder"; use YAML ();
=cut our %config = (); use LWP::UserAgent;
our $ua = LWP::UserAgent->new; use Number::RecordLocator;
use Encode (); our $locator = Number::RecordLocator->new(); use Email::Address;
use YAML (); our $default_query = "not/complete/starts/before/tomorrow/ use Fcntl qw(:mode);
use LWP::UserAgent; accepted/but_first/nothing"; use File::Temp;
use Number::RecordLocator; our %args;
use Email::Address; our $CONFFILE = "$ENV{HOME}/.hiveminder";
use Fcntl qw(:mode); $ua->cookie_jar({}); our %config = ();
use File::Temp; our $ua = LWP::UserAgent->new;
# Load the user's proxy settings from %ENV our $locator = Number::RecordLocator->new();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; $ua->env_proxy; our $default_query = "not/complete/starts/before/tomorrow/
our %config = (); accepted/but_first/nothing";
our $ua = LWP::UserAgent->new; my $encoding; our %args;
our $locator = Number::RecordLocator->new(); eval {
our $default_query = "not/complete/starts/before/tomorrow/ require Term::Encoding; $ua->cookie_jar({});
accepted/but_first/nothing"; $encoding = Term::Encoding::get_encoding();
our %args; }; # Load the user's proxy settings from %ENV
$encoding ||= "utf-8"; $ua->env_proxy;
$ua->cookie_jar({});
binmode STDOUT, ":encoding($encoding)"; my $encoding;
# Load the user's proxy settings from %ENV eval {
$ua->env_proxy; main(); require Term::Encoding;
sub main {
setup_config();
$args{owner} = "me";
50. Legal Entity
Incompatible
#!/usr/bin/env perl
Copyleft Incompatible
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
#!/usr/bin/env perl use Encode (); =head1 DESCRIPTION
use strict; use YAML (); Hacked version of Best Practical's Hiveminder todo.pl script
use warnings; use LWP::UserAgent; Generates reports from Hiveminder - meant to be safe-ish to
use Number::RecordLocator; run as a cgi script
=head1 DESCRIPTION use Email::Address; Hacked up by zak@fooassociates.com
Hacked version of Best Practical's Hiveminder todo.pl script use Fcntl qw(:mode); =cut
Generates reports from Hiveminder - meant to be safe-ish to use File::Temp;
run as a cgi script use Encode ();
Hacked up by zak@fooassociates.com our $CONFFILE = "$ENV{HOME}/.hiveminder"; use YAML ();
=cut our %config = (); use LWP::UserAgent;
our $ua = LWP::UserAgent->new; use Number::RecordLocator;
use Encode (); our $locator = Number::RecordLocator->new(); use Email::Address;
use YAML (); our $default_query = "not/complete/starts/before/tomorrow/ use Fcntl qw(:mode);
use LWP::UserAgent; accepted/but_first/nothing"; use File::Temp;
use Number::RecordLocator; our %args;
use Email::Address; our $CONFFILE = "$ENV{HOME}/.hiveminder";
use Fcntl qw(:mode); $ua->cookie_jar({}); our %config = ();
use File::Temp; our $ua = LWP::UserAgent->new;
# Load the user's proxy settings from %ENV our $locator = Number::RecordLocator->new();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; $ua->env_proxy; our $default_query = "not/complete/starts/before/tomorrow/
our %config = (); accepted/but_first/nothing";
our $ua = LWP::UserAgent->new; my $encoding; our %args;
our $locator = Number::RecordLocator->new(); eval {
our $default_query = "not/complete/starts/before/tomorrow/ require Term::Encoding; $ua->cookie_jar({});
accepted/but_first/nothing"; $encoding = Term::Encoding::get_encoding();
our %args; }; # Load the user's proxy settings from %ENV
$encoding ||= "utf-8"; $ua->env_proxy;
$ua->cookie_jar({});
binmode STDOUT, ":encoding($encoding)"; my $encoding;
# Load the user's proxy settings from %ENV eval {
$ua->env_proxy; main(); require Term::Encoding;
sub main {
setup_config();
$args{owner} = "me";
51. Legal Entity
Incompatible
#!/usr/bin/env perl
Copyleft Incompatible
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
#!/usr/bin/env perl use Encode (); =head1 DESCRIPTION
use strict; use YAML (); Hacked version of Best Practical's Hiveminder todo.pl script
use warnings; use LWP::UserAgent; Generates reports from Hiveminder - meant to be safe-ish to
use Number::RecordLocator; run as a cgi script
=head1 DESCRIPTION use Email::Address; Hacked up by zak@fooassociates.com
Hacked version of Best Practical's Hiveminder todo.pl script use Fcntl qw(:mode); =cut
Generates reports from Hiveminder - meant to be safe-ish to use File::Temp;
run as a cgi script use Encode ();
Hacked up by zak@fooassociates.com our $CONFFILE = "$ENV{HOME}/.hiveminder"; use YAML ();
=cut our %config = (); use LWP::UserAgent;
our $ua = LWP::UserAgent->new; use Number::RecordLocator;
use Encode (); our $locator = Number::RecordLocator->new(); use Email::Address;
use YAML (); our $default_query = "not/complete/starts/before/tomorrow/ use Fcntl qw(:mode);
use LWP::UserAgent; accepted/but_first/nothing"; use File::Temp;
use Number::RecordLocator; our %args;
use Email::Address; our $CONFFILE = "$ENV{HOME}/.hiveminder";
use Fcntl qw(:mode); $ua->cookie_jar({}); our %config = ();
use File::Temp; our $ua = LWP::UserAgent->new;
# Load the user's proxy settings from %ENV our $locator = Number::RecordLocator->new();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; $ua->env_proxy; our $default_query = "not/complete/starts/before/tomorrow/
our %config = (); accepted/but_first/nothing";
our $ua = LWP::UserAgent->new; my $encoding; our %args;
our $locator = Number::RecordLocator->new(); eval {
our $default_query = "not/complete/starts/before/tomorrow/ require Term::Encoding; $ua->cookie_jar({});
accepted/but_first/nothing"; $encoding = Term::Encoding::get_encoding();
our %args; }; # Load the user's proxy settings from %ENV
$encoding ||= "utf-8"; $ua->env_proxy;
$ua->cookie_jar({});
binmode STDOUT, ":encoding($encoding)"; my $encoding;
# Load the user's proxy settings from %ENV eval {
$ua->env_proxy; main(); require Term::Encoding;
sub main {
setup_config();
$args{owner} = "me";
52. Legal Entity
Incompatible
#!/usr/bin/env perl
Copyleft Incompatible
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
#!/usr/bin/env perl use Encode (); =head1 DESCRIPTION
use strict; use YAML (); Hacked version of Best Practical's Hiveminder todo.pl script
use warnings; use LWP::UserAgent; Generates reports from Hiveminder - meant to be safe-ish to
use Number::RecordLocator; run as a cgi script
=head1 DESCRIPTION use Email::Address; Hacked up by zak@fooassociates.com
Hacked version of Best Practical's Hiveminder todo.pl script use Fcntl qw(:mode); =cut
Generates reports from Hiveminder - meant to be safe-ish to use File::Temp;
run as a cgi script use Encode ();
Hacked up by zak@fooassociates.com our $CONFFILE = "$ENV{HOME}/.hiveminder"; use YAML ();
=cut our %config = (); use LWP::UserAgent;
our $ua = LWP::UserAgent->new; use Number::RecordLocator;
use Encode (); our $locator = Number::RecordLocator->new(); use Email::Address;
use YAML (); our $default_query = "not/complete/starts/before/tomorrow/ use Fcntl qw(:mode);
use LWP::UserAgent; accepted/but_first/nothing"; use File::Temp;
use Number::RecordLocator; our %args;
use Email::Address; our $CONFFILE = "$ENV{HOME}/.hiveminder";
use Fcntl qw(:mode); $ua->cookie_jar({}); our %config = ();
use File::Temp; our $ua = LWP::UserAgent->new;
# Load the user's proxy settings from %ENV our $locator = Number::RecordLocator->new();
our $CONFFILE = "$ENV{HOME}/.hiveminder"; $ua->env_proxy; our $default_query = "not/complete/starts/before/tomorrow/
our %config = (); accepted/but_first/nothing";
our $ua = LWP::UserAgent->new; my $encoding; our %args;
our $locator = Number::RecordLocator->new(); eval {
our $default_query = "not/complete/starts/before/tomorrow/ require Term::Encoding; $ua->cookie_jar({});
accepted/but_first/nothing"; $encoding = Term::Encoding::get_encoding();
our %args; }; # Load the user's proxy settings from %ENV
$encoding ||= "utf-8"; $ua->env_proxy;
$ua->cookie_jar({});
binmode STDOUT, ":encoding($encoding)"; my $encoding;
# Load the user's proxy settings from %ENV eval {
$ua->env_proxy; main(); require Term::Encoding;
sub main {
setup_config();
$args{owner} = "me";
Copyleft
#!/usr/bin/env perl
use strict;
use warnings;
=head1 DESCRIPTION
Hacked version of Best Practical's Hiveminder todo.pl script
Generates reports from Hiveminder - meant to be safe-ish to
run as a cgi script
Hacked up by zak@fooassociates.com
=cut
use Encode ();
use YAML ();
use LWP::UserAgent;
use Number::RecordLocator;
use Email::Address;
use Fcntl qw(:mode);
use File::Temp;
our $CONFFILE = "$ENV{HOME}/.hiveminder";
our %config = ();
our $ua = LWP::UserAgent->new;
our $locator = Number::RecordLocator->new();
our $default_query = "not/complete/starts/before/tomorrow/
accepted/but_first/nothing";
our %args;
$ua->cookie_jar({});
# Load the user's proxy settings from %ENV
$ua->env_proxy;