Re: [Rio-pm] Metodos de Download em Massa

2017-05-24 Por tôpico Renato Santos
Recomendo usar qualquer coisa menos forks para fazer downloads.

Forks são pesados, geram muitas trocas de contextos desnecessárias para
tarefas tão triviais como downloads em paralelo.


Se o yada ta complicado, ainda tem o https://metacpan.org/pod/HTTP::Async
que com o Future fica uma mão na roda

Algo como:

use Future;
use Future::Utils qw( try_repeat fmap1 );
use IO::Async::Loop;
use Net::Async::HTTP;

my $loop = IO::Async::Loop->new;
my $http = Net::Async::HTTP->new(  # serio, é assim q eu uso em produção,
com max_connections_per_host=400
max_connections_per_host => 400,
timeout  => 10 * 60
);
$loop->add($http);

sub DO_SOMETHING {
my ( $algum_content, $url, $algum_contexto_talvez ) = @_;

my $what = $http->do_request(
method   => 'GET PORT DELETE...',
uri  => "$url",
content_type => 'text/plain',
headers  => [
'Content-Type' => 'text/plain'
],
content => ( join "\n", @$algum_content )
);

$what = try_repeat { $what } until => sub {
eval { $_[0]->get->code == 200 };
};

return $what;
}
my @futures;
for my $url ( 1 ... 100 ) {
my $future =
  DO_SOMETHING( [...], $url, $algum_contexto_talvez )->on_done(
sub {
my $res = shift;

if ( $res->content =~ /401 Unauthorized/ ) {

# trata como se fosse erro, por exemplo
}
else {
# ...
}

}

  )->on_fail(
sub {
my $failure = shift;
log_error "error: $failure";
}
  );

push @futures, $future;
}

my @results = Future->needs_all(@futures)->get;



2017-05-24 16:53 GMT-03:00 Felipe Leprevost :

> Apenas como curiosidade Aureliano, de onde você está tentando obter os
> arquivos ?
>
> On Wed, May 24, 2017 at 3:21 PM Felipe da Veiga Leprevost <
> fel...@leprevost.com.br> wrote:
>
>> Apenas como curiosidade Aureliano, de onde você está tentando obter os
>> arquivos ?
>>
>> On Wed, May 24, 2017 at 3:19 PM Aureliano Guedes 
>> wrote:
>>
>>> Opa,
>>>
>>> Yada achei muito complicado pra pouca coisa que vou fazer. Mas to
>>> convencido a tentar.
>>>
>>> Breno, o truncado é por causa que estou fazendo varios downloads com o
>>> Parallel::ForkManager de um arquivo no formato texto, onde cada
>>> identificador é um dado do arquivo, como eu trabalho com milhoes desses
>>> identificadores e o servidor recomenda se limitar a 500 por requisição
>>> acaba que tenho que fazer varios downloads. So que to imprimindo tudo em
>>> STDOUT e redirecionando a saida pra um aarquivo estilo UNIX mesmo > , então
>>> tem varios processo tenetando escrever na tela ao mesmo tempo, eu pensei em
>>> fazer um lock mas acho q isso vai fazer demorar.
>>>
>>>
>>> Exatamente aqui é o problema, IPC::ShareTable ou algo assim deve
>>> resolver. Alguma sujestão de solução ?
>>>
>>>
>>> my $pm = new Parallel::ForkManager($req);
>>> while(my $id = <$IN>){
>>> $cnt++;
>>> chomp $id;
>>> if ($cnt == $split || $. == $nl){ #$split = 500;
>>> push @ids, $id;
>>> my @tmp = @ids;
>>> undef @ids;
>>> $cnt = 0;
>>> $pm->start and next; # do the fork
>>> my @resp = get_fasta(\@tmp, $db, $timeout);
>>> if ($resp[0]){
>>> $resp[1] =~ s/^\s*\n+//mg;
>>> print STDOUT $resp[1];
>>> }
>>> else{
>>> print STDERR "Status: $resp[2]\n$resp[3]\nDetails: $resp[1]\n";
>>> print STDERR join (" ", "Fail:", @tmp, "\n");
>>> }
>>> $pm->finish; #tihs is a fork, at the end (here) the memory will be
>>> released
>>> }
>>> else{
>>> push @ids, $id;
>>> }
>>> }
>>> $pm->wait_all_children;
>>>
>>>
>>> --
>>> *From:* Rio-pm  on
>>> behalf of breno 
>>> *Sent:* Wednesday, May 24, 2017 3:54:47 AM
>>> *To:* Perl Mongers Rio de Janeiro
>>> *Subject:* Re: [Rio-pm] Metodos de Download em Massa
>>>
>>>
>>> Oi Aureliano,
>>>
>>> se você está interessado em benchmarks, pode experimentar o LWP::Curl em
>>> vez do Furl, ou se tiver paciência pra ir direto ao metal, Net::Curl ou
>>> WWW::Curl.
>>>
>>> O que quer dizer com "truncado"? Se a conexão cai depois de X bytes
>>> baixados (e se vc consegue garantir que o arquivo parcial contém apenas
>>> dados válidos), vc pode baixar só o que falta e depois juntar os dois
>>> pedaços na mão. Por exemplo, se o arquivo parcial foi baixado em
>>> "parcial.tmp":
>>>
>>> -8<-
>>> my $ua = Furl->new;
>>> my $res = $ua->get( 'http://exemplo.com/arquivo.tmp', Range => 'byes='
>>> . -s 'parcial.tmp' . '-');
>>> open my $ fh, '>>', 'parcial.tmp;
>>> print $fh, $res->content;
>>> close $fh;
>>> -8<-
>>>
>>> (código não testado, estou no celular)
>>>
>>> Se o servidor suporta conteúdo parcial (ele responde o primeiro request
>>> com Accept-Ranges), isso deve baixar o resto do arquivo. Idealmente, em vez
>>> de sobrescever o arquivo parcial, vc junta o conteúdo dos dois em um
>>> terceiro arquivo.
>>>
>>> Finalmente, se quiser baixar vários pedaços do arquivo em paralelo, 

Re: [Rio-pm] Metodos de Download em Massa

2017-05-24 Por tôpico Renato Santos
Eu costumo usar o yada
http://search.cpan.org/~syp/AnyEvent-Net-Curl-Queued-0.047/bin/yada

On May 24, 2017 12:55 AM, "breno"  wrote:

> Oi Aureliano,
>
> se você está interessado em benchmarks, pode experimentar o LWP::Curl em
> vez do Furl, ou se tiver paciência pra ir direto ao metal, Net::Curl ou
> WWW::Curl.
>
> O que quer dizer com "truncado"? Se a conexão cai depois de X bytes
> baixados (e se vc consegue garantir que o arquivo parcial contém apenas
> dados válidos), vc pode baixar só o que falta e depois juntar os dois
> pedaços na mão. Por exemplo, se o arquivo parcial foi baixado em
> "parcial.tmp":
>
> -8<-
> my $ua = Furl->new;
> my $res = $ua->get( 'http://exemplo.com/arquivo.tmp', Range => 'byes=' .
> -s 'parcial.tmp' . '-');
> open my $ fh, '>>', 'parcial.tmp;
> print $fh, $res->content;
> close $fh;
> -8<-
>
> (código não testado, estou no celular)
>
> Se o servidor suporta conteúdo parcial (ele responde o primeiro request
> com Accept-Ranges), isso deve baixar o resto do arquivo. Idealmente, em vez
> de sobrescever o arquivo parcial, vc junta o conteúdo dos dois em um
> terceiro arquivo.
>
> Finalmente, se quiser baixar vários pedaços do arquivo em paralelo, pode
> experimentar o HTTP::Range e o LWP::Parallel::UserAgent, ou se inspirar
> neles e implementar sua própria solução paralela com Furl ou LWP::Curl.
>
> []s
> -b
>
> On 23:26, Tue, 23 May 2017 Aureliano Guedes, 
> wrote:
>
>> Ola Monges,
>>
>>
>> Gostaria de saber qual metodo vocês mais gostam para fazer downloads em
>> massa.
>>
>>
>> Eu usava muito LWP, recentemente comecei usar uma combinação de
>> Parallel::ForkManager e Furl, mas pra meu tipo de dado tem truncado parte
>> dos download. (vale uma dica pra lidar com dados truncados?)
>>
>> No meu caso, eu to fazendo download de mais me milhoes de sequencias, pra
>> isso eu sigo a regra do servidor e peço apenas 500 por vez e limito em 10
>> fork.
>>
>> Tem outros metodos que posso usar mas acabo perdendo e muito a
>> eficiência. Por isso pretendo testar um benchmark em varias formas
>> diferentes.
>>
>> Bom, sei que existem ferramentas, BioPerl, etc...
>>
>> Abraços,
>> acpguedes
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Função uniq com bug ou erro no codigo?

2017-03-06 Por tôpico Renato Santos
Ah, tem q sempre lembrar de enviar já ordenado ou
echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+SP" | tr '+' "\n"| *sort* | uniq
-c

2017-03-06 9:13 GMT-03:00 Renato Santos :

> echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | tr '+' "\n"| uniq -c
>
> 2017-03-06 9:08 GMT-03:00 Aureliano Guedes :
>
>> Saldações,
>>
>> Obrigado pela explicação, havia esquecido que o echo gera a quebra de
>> linha.
>> Abs,
>>
>>
>> --
>> *From:* Rio-pm  on behalf
>> of Ronaldo Ferreira de Lima 
>> *Sent:* Monday, March 6, 2017 12:04:44 PM
>> *To:* Rio PM
>>
>> *Subject:* Re: [Rio-pm] Função uniq com bug ou erro no codigo?
>>
>> Saudações Aureliano,
>>
>> On Sun, Mar 05, 2017 at 04:35:49PM +, Aureliano Guedes wrote:
>> > Ola,
>> >
>> > Caros Monges.
>> >
>> > Estou com uma pequena dúvida.
>> > Estou usando a função uniq (List::Util e List::MoreUtils) para reduzir a
>> > redundância de um array.
>> >
>> > echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | perl -MList::Util='uniq'
>> -MDDP -ne
>> > '@a = uniq (split (/\+/, $_)); print "\n"; p @a; print "\n"'
>> >
>> > Separa os elementos pelo '+' e depois remove a redundância. Acontece
>> que o
>> > ultimo elemento for redundante ele não é eliminado.
>> >
>> > Alguém sabe o porque disso??
>> O comando 'echo' produziu uma quebra de linha que não foi tratada pelo
>> código, ou seja, depois do 'split', a sua lista ficou assim:
>>
>> $VAR1 = [
>>   "SP",
>>   "TM",
>>   "TM",
>>   "TM",
>>   "TM",
>>   "TM",
>>   "TM",
>>   "TM",
>>   "TM",
>>   "TM",
>>   "TM",
>>   "TM\n"
>> ];
>>
>> >
>> > Alguma sujestão de como reverter sem q eu tenha que criar um script pra
>> isso ou
>> > minha propria rotina uniq??
>> Como já sugerido, remova a quebra de linha com o chomp ou similar que
>> estará resolvido.
>>
>> > Desde já grato.
>> []'s
>> --
>> "Não manejo bem as palavras
>> Mas manipulo bem as strings."
>> --
>> https://perspicazsite.wordpress.com
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> YAGNI,
> Renato CRON
> http://www.renatocron.com/blog/
> @renato_cron <http://twitter.com/#!/renato_cron>
>



-- 
YAGNI,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Função uniq com bug ou erro no codigo?

2017-03-06 Por tôpico Renato Santos
echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | tr '+' "\n"| uniq -c

2017-03-06 9:08 GMT-03:00 Aureliano Guedes :

> Saldações,
>
> Obrigado pela explicação, havia esquecido que o echo gera a quebra de
> linha.
> Abs,
>
>
> --
> *From:* Rio-pm  on behalf
> of Ronaldo Ferreira de Lima 
> *Sent:* Monday, March 6, 2017 12:04:44 PM
> *To:* Rio PM
>
> *Subject:* Re: [Rio-pm] Função uniq com bug ou erro no codigo?
>
> Saudações Aureliano,
>
> On Sun, Mar 05, 2017 at 04:35:49PM +, Aureliano Guedes wrote:
> > Ola,
> >
> > Caros Monges.
> >
> > Estou com uma pequena dúvida.
> > Estou usando a função uniq (List::Util e List::MoreUtils) para reduzir a
> > redundância de um array.
> >
> > echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | perl -MList::Util='uniq'
> -MDDP -ne
> > '@a = uniq (split (/\+/, $_)); print "\n"; p @a; print "\n"'
> >
> > Separa os elementos pelo '+' e depois remove a redundância. Acontece que
> o
> > ultimo elemento for redundante ele não é eliminado.
> >
> > Alguém sabe o porque disso??
> O comando 'echo' produziu uma quebra de linha que não foi tratada pelo
> código, ou seja, depois do 'split', a sua lista ficou assim:
>
> $VAR1 = [
>   "SP",
>   "TM",
>   "TM",
>   "TM",
>   "TM",
>   "TM",
>   "TM",
>   "TM",
>   "TM",
>   "TM",
>   "TM",
>   "TM\n"
> ];
>
> >
> > Alguma sujestão de como reverter sem q eu tenha que criar um script pra
> isso ou
> > minha propria rotina uniq??
> Como já sugerido, remova a quebra de linha com o chomp ou similar que
> estará resolvido.
>
> > Desde já grato.
> []'s
> --
> "Não manejo bem as palavras
> Mas manipulo bem as strings."
> --
> https://perspicazsite.wordpress.com
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
YAGNI,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] duvida cpan WWW::Mechanize

2016-04-29 Por tôpico Renato Santos
Tente outra versão,  pois parece um erro de typo!

Se não, tente instalar https://github.com/sdemingo/makeo

2016-04-29 19:58 GMT-03:00 Diego Tostes :

> Boa Noite pessoal,
>
> Tentando instalar o Mechanize com cpan:
>
> cpan WWW::Mechanize
>
>
> tomo a seguinte msg:
>
> Running make install
> sudo: unable to resolve host maria
> sudo: makeo: command not found
>   ETHER/WWW-Mechanize-1.75.tar.gz
>   sudo makeo install  -- NOT OK
>
>
> Acho estranho pois esse "makeo" realmente não existe, mas não sou eu que
> controlo isso...
>
> O que pode estar acontecendo?
>
> Abs
>
> Diego
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
YAGNI,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [DÚVIDA]Hash: varias key pra um mesmo value

2016-04-13 Por tôpico Renato Santos
Also,

https://metacpan.org/pod/Bio::Regexp

Será que isso não te ajuda?


pS: se você não esta rodando isso na cloud, YOU SHOULD!

Contratar uma maquina com 200+ GB de ram e rodar por 20min (se vc conseguir
resolver neste tempo) e desligar \o

Nao consigo encontrar o artigo, mas tinha um cara falando sobre isso (a
unica diferença é que a empresa rodou em mais de 1 nó)

2016-04-13 7:57 GMT-03:00 Renato Santos :

> Embora não acho que isso ajude no quesito velocidade, there's a module for
> that!
>
> https://metacpan.org/pod/Tie::RegexpHash
>
> 2016-04-13 5:30 GMT-03:00 Stanislaw Pusep :
>
>> Aureliano, o Perl não é suficientemente inteligente para interpretar
>> expressão regular como chave do hash :)
>> Pelo que entendi, vc quer algo assim:
>>
>> my %codon = (
>> (map { "CG".$_ => "A" } qw(A C T G)),
>> (map { "TT".$_ => "F" } qw(C T)),
>> (map { "TT".$_ => "L" } qw(A G)),
>> (map { "CU".$_ => "L" } qw(A C T G)),
>> );
>>
>> 2016-04-13 2:24 GMT+02:00 Aureliano Guedes :
>>
>>> Ola monges,
>>>
>>> Eu tenho uma dúvida, caso possam me ajudar.
>>> Eu tenho varias códigos que acessam o mesmo valor (no caso que uso são
>>> vários códons que traduzem o mesmo aminoácido).
>>>
>>> Exemplo:
>>> Aminoacido -> Códons
>>>
>>> Sendo os aminoácidos representados por 20 letras diferentes mais o X
>>> (stop códon).
>>> E os codons, combinações de 3 nucleotídeos, sendo um total de 4
>>> nucleotídeos (A, T, C e G),  logo temos 64 combinações de 3 nucleotídeos
>>> (64 codons possíveis).
>>> Por isso um mesmo aminoácido pode ser codificado por mais de um códon.
>>> No caso do aminoácido Alanina (Ala || A) é códificado pelos códons GCA,
>>> GCC, GCT ou GCU.  Observe que os dois primeiros nucleotídeos são C e G,
>>> respectivamente, e o terceiro pode ser ocupado por qualquer um dos 4
>>> nucleotídeo possíveis.
>>> Dessa forma:
>>>
>>>- A -> CGA ou CGC ou CGT ou CGG
>>>
>>> Outros:
>>>
>>>- F -> TTC || TTT
>>>- L -> TTA || TTG || CTA || CTG || CTC || CTT
>>>
>>>
>>> Bom, meu objetivo é simplesmente criar um hash, como esse:
>>>
>>>- my %aa = ( "UUU" => "F", "UUC" => "F", "UUA" => "L", "UUG" => "L",
>>>"UCU" => "S", "UCC" => "S", "UCA" => "S", "UCG" => "S", "UAU" => "Y",
>>> "UAC" => "Y", "UAA" => "X", "UAG" => "X", "UGU" => "C", "UGC" =>
>>>"C", "UGA" => "X", "UGG" => "W", "CUU" => "L", "CUC" => "L", "CUA"
>>>=> "L", "CUG" => "L", "CCU" => "P", "CCC" => "P", "CCA" => "P", "CCG"
>>>=> "P", "CAU" => "H", "CAC" => "H", "CAA" => "Q", "CAG" => "Q",
>>>"CGU" => "R", "CGC" => "R", "CGA" => "R", "CGG" => "R", "AUU" =>
>>>"I", "AUC" => "I", "AUA" => "I", "AUG" => "M", "ACU" => "T", "ACC"
>>>=> "T", "ACA" => "T", "ACG" => "T", "AAU" => "N", "AAC" => "N", "AAA"
>>>=> "K", "AAG" => "K", "AGU" => "S", "AGC" => "S", "AGA" => "R", "AGG"
>>>=> "R", "GUU" => "V", "GUC" => "V", "GUA" => "V", "GUG" => "V",
>>>"GCU" => "A", "GCC" => "A", "GCA" => "A", "GCG" => "A", "GAU" =>
>>>"D", "GAC" => "D", "GAA" => "E", "GAG" => "E", "GGU" => "G", "GGC"
>>>=> "G", "GGA" => "G", "GGG" => "G",);
>>>
>>>
>>> Contudo pensei em tomar outra abordagem, informar pra chave quem ela
>>> pode ser. Não sei se é possível, mas eu comecei tentando algo como:
>>>
>>>- my %codon = ( "CG"./[ACTG]/ => "A", "TT"./[CT]/ => "F",
>>>("TT"./[AG]/||"CU"./[ACTG]/) => "L",);
>>>
>>> Mas não funcionou.
>>>
>>> Pensei em pegar uma abordagem mais IUPAC, onde:
>>>
>>>- Y = C ou T
>>>- R = A ou G
>>>- N = A, C, G ou T
>>>
>>> *tem outros, mas por enquanto apenas estou vendo a possibilidade.
>>> Então fiz:
>>>
>>>- my $Y = /[CT]/;
>>>- my $R = /[AG]/;
>>>- my $N = /[ACTG]/;
>>>-
>>>- my %codon = ( "CG".$N => "A", "TT".$Y => "F", ("TT".$R||"CU".$N)
>>>=> "L",);
>>>
>>> Mas não funcionou.
>>>
>>>
>>> ___
>>> Rio-pm mailing list
>>> Rio-pm@pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> YAGNI,
> Renato CRON
> http://www.renatocron.com/blog/
> @renato_cron <http://twitter.com/#!/renato_cron>
>



-- 
YAGNI,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [DÚVIDA]Hash: varias key pra um mesmo value

2016-04-13 Por tôpico Renato Santos
Embora não acho que isso ajude no quesito velocidade, there's a module for
that!

https://metacpan.org/pod/Tie::RegexpHash

2016-04-13 5:30 GMT-03:00 Stanislaw Pusep :

> Aureliano, o Perl não é suficientemente inteligente para interpretar
> expressão regular como chave do hash :)
> Pelo que entendi, vc quer algo assim:
>
> my %codon = (
> (map { "CG".$_ => "A" } qw(A C T G)),
> (map { "TT".$_ => "F" } qw(C T)),
> (map { "TT".$_ => "L" } qw(A G)),
> (map { "CU".$_ => "L" } qw(A C T G)),
> );
>
> 2016-04-13 2:24 GMT+02:00 Aureliano Guedes :
>
>> Ola monges,
>>
>> Eu tenho uma dúvida, caso possam me ajudar.
>> Eu tenho varias códigos que acessam o mesmo valor (no caso que uso são
>> vários códons que traduzem o mesmo aminoácido).
>>
>> Exemplo:
>> Aminoacido -> Códons
>>
>> Sendo os aminoácidos representados por 20 letras diferentes mais o X
>> (stop códon).
>> E os codons, combinações de 3 nucleotídeos, sendo um total de 4
>> nucleotídeos (A, T, C e G),  logo temos 64 combinações de 3 nucleotídeos
>> (64 codons possíveis).
>> Por isso um mesmo aminoácido pode ser codificado por mais de um códon.
>> No caso do aminoácido Alanina (Ala || A) é códificado pelos códons GCA,
>> GCC, GCT ou GCU.  Observe que os dois primeiros nucleotídeos são C e G,
>> respectivamente, e o terceiro pode ser ocupado por qualquer um dos 4
>> nucleotídeo possíveis.
>> Dessa forma:
>>
>>- A -> CGA ou CGC ou CGT ou CGG
>>
>> Outros:
>>
>>- F -> TTC || TTT
>>- L -> TTA || TTG || CTA || CTG || CTC || CTT
>>
>>
>> Bom, meu objetivo é simplesmente criar um hash, como esse:
>>
>>- my %aa = ( "UUU" => "F", "UUC" => "F", "UUA" => "L", "UUG" => "L",
>>"UCU" => "S", "UCC" => "S", "UCA" => "S", "UCG" => "S", "UAU" => "Y", 
>> "UAC"
>>=> "Y", "UAA" => "X", "UAG" => "X", "UGU" => "C", "UGC" => "C", "UGA"
>>=> "X", "UGG" => "W", "CUU" => "L", "CUC" => "L", "CUA" => "L", "CUG"
>>=> "L", "CCU" => "P", "CCC" => "P", "CCA" => "P", "CCG" => "P", "CAU"
>>=> "H", "CAC" => "H", "CAA" => "Q", "CAG" => "Q", "CGU" => "R", "CGC"
>>=> "R", "CGA" => "R", "CGG" => "R", "AUU" => "I", "AUC" => "I", "AUA"
>>=> "I", "AUG" => "M", "ACU" => "T", "ACC" => "T", "ACA" => "T", "ACG"
>>=> "T", "AAU" => "N", "AAC" => "N", "AAA" => "K", "AAG" => "K", "AGU"
>>=> "S", "AGC" => "S", "AGA" => "R", "AGG" => "R", "GUU" => "V", "GUC"
>>=> "V", "GUA" => "V", "GUG" => "V", "GCU" => "A", "GCC" => "A", "GCA"
>>=> "A", "GCG" => "A", "GAU" => "D", "GAC" => "D", "GAA" => "E", "GAG"
>>=> "E", "GGU" => "G", "GGC" => "G", "GGA" => "G", "GGG" => "G",);
>>
>>
>> Contudo pensei em tomar outra abordagem, informar pra chave quem ela pode
>> ser. Não sei se é possível, mas eu comecei tentando algo como:
>>
>>- my %codon = ( "CG"./[ACTG]/ => "A", "TT"./[CT]/ => "F",
>>("TT"./[AG]/||"CU"./[ACTG]/) => "L",);
>>
>> Mas não funcionou.
>>
>> Pensei em pegar uma abordagem mais IUPAC, onde:
>>
>>- Y = C ou T
>>- R = A ou G
>>- N = A, C, G ou T
>>
>> *tem outros, mas por enquanto apenas estou vendo a possibilidade.
>> Então fiz:
>>
>>- my $Y = /[CT]/;
>>- my $R = /[AG]/;
>>- my $N = /[ACTG]/;
>>-
>>- my %codon = ( "CG".$N => "A", "TT".$Y => "F", ("TT".$R||"CU".$N) =>
>>"L",);
>>
>> Mas não funcionou.
>>
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
YAGNI,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Submetendo patches para módulos

2014-10-16 Por tôpico Renato Santos
Se eles usam git, tente mandar um pull request, ou algo semelhante.

Se não tem nenhuma informação, tente entrar em contato com o developer.

Se não retornar logo, tenta mandar o arquivo.patch no RT

Se não fizerem nada, aí vc pode subir uma versão nova pro cpan e depois
pedir para algum monge te declarar como mantedor ou algo assim daquele
módulo abandonado.
On Oct 16, 2014 3:24 PM, "Enrique Pessoa"  wrote:

> Boa tarde,
>
> Gostaria de saber se alguém por aqui tem o hábito de submeter patches para
> módulos encontrados no CPAN. Nós recentemente fizemos ajustes em dois
> módulos e isso por enquanto ainda está enclausurado aqui na empresa.
>
> Os módulos em questão são:
>
> Date::Calendar::Profiles - ajuste em datas de feriados brasileiros,
> nacionais e estaduais.
>
> Win32::Unicode - reorganização para permitir que versões compiladas (.exe)
> carreguem a dll sem a necessidade de manobras (para isso foi necessário
> fazer com que o Win32::Unicode assumisse o papel do Win32::Unicode::XS, que
> foi eliminado) - o criador desse módulo não responde.
>
> Abraços,
> Enrique Pessôa
> 
> *Enrique Pessôa | Technology Products Manager, Brazil | RR Donnelley |
> Global Capital Markets*
> +55 21 2103.0508 | enrique.pes...@rrd.com | +55 21 9.8127.0077
>
> *  | 15 anos de tecnologia para RI | Clique
> para conferir
> *
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Problema com "PP" (PAR) e Variable::Magic

2014-09-30 Por tôpico Renato Santos
Você não pode usar o XS no fatpack.

mas eu também não sei como seria isso em qualquer outro cenário sem o
compilador e todos os fontes das dependências de cada binário que você
precisa.

2014-09-30 19:05 GMT-03:00 Samir Cury :

> Achei que fosse algo bobo. A premissa e interessante e quase que essencial
> no meu caso. Vou rodar isso em varios setups diferentes onde nao tenho
> acesso a root, com a unica garantia de que o SO e CentOS 5 ou 6. Ter um
> binario que simplesmente roda sem depender de nada que nao venha no CentOS
> 5 padrao seria perfeito.
>
> Valeu pela dica Manoel, infelizmente viraria um problema de ovo e galinha
> neste caso - nao dependo de todos os modulos mas dependo do carton. Que
> tambem nao posso instalar no servidor remoto.
>
> Renato, fatpack parece interessante. Mas parece que o que o Solli comentou
> responde o que aconteceu aqui :
>
> -bash-4.1$ fatpack packlists-for `cat fatpacker.trace` > packlists
> Attempt to reload B/Hooks/EndOfScope/XS.pm aborted.
>
> Parece que o caminho de menor resistencia seria mandar um tarball de um
> lib/ com todos os modulos relevantes, e incluir no @INC do .pl. Totalmente
> manual. Achei que essas ferramentas resolveriam.
>
> Mas acredito que tentar os canais de suporte oficiais do pp pode ser uma
> boa ideia, se existirem.
>
> Abracos,
> Samir
>
> 2014-09-30 14:09 GMT-07:00 Aureliano Guedes :
>
>  Cara. Sempre tive problema com o PP.
>>
>> Manoel Domingues Junior  escreveu:
>>
>>  Samir,
>>
>> Esses dias, quando enfrentava problemas semelhantes de portabilidade,
>> conheci o carton que me ajudou muito.
>>
>> Da uma olhada, ele é capaz de gerar uma pasta bundle com todas as
>> dependências e basta ir no servidor remoto e executar um:
>> carton install --cached --deployment
>> E depois um:
>> carton exec script.pl
>>
>> Outra dica legal que encontrei foi usar o plenv para cuidar das versões
>> de perl...
>>
>> Abraços,
>> Em 30/09/2014 15:51, "Samir Cury"  escreveu:
>>
>> Galera,
>>
>>  Escrevi um codigo basico para uma tarefa trivial. Problema : Usei o
>> CPAN demais e tenho muitas dependencias. Vou rodar o codigo em sistemas
>> remotos onde so e garantido existir o Perl + core modules.
>>
>>  Pensei em usar o PAR, que ja me cria um executavel com "todos os
>> modulo" (-B). Perfeito.
>>
>>  Nem tanto. Uma vez que consigo o executavel, ele reclama de nao achar o
>> Variable::Magic [1].
>>
>>  Porem o .pl original roda tranquilo no mesmo sistema :
>>
>>  -bash-4.1$ ./report-fjr-couch.pl --fjr=FrameworkJobReport.xml
>>  --couchurl=http://a.cloudant.com --db=tr-benchmarks
>> CouchDB::Client::Doc=HASH(0x1286d60)
>>
>> O erro ate fez sentido uma vez que percebi que o sistema que usei para
>> gerar o executavel nao tinha o Variable::Magic instalado. Imaginei que
>> instalando e rodando de novo com -B iria incluir o modulo. Nada.
>>
>>  Sendo mais concreto, aqui estao os "pp s" que tentei :
>>
>> pp -B  -o report-fjr-couch report-fjr-couch.pl
>>  pp -B -P -o report-fjr-couch report-fjr-couch.pl
>>  pp -B -p -o report-fjr-couch report-fjr-couch.pl
>>
>>  Mesmo problema em todos.
>>
>>  Descricao das opcoes :
>>
>> http://search.cpan.org/~rschupp/PAR-Packer-1.022/lib/pp.pm
>>
>>  Caso queiram ver o codigo, aqui esta, mas fiquem tranquilos, admito e
>> sei que nao foi feito para ser bonito, mas funciona :
>>
>>
>> https://github.com/samircury/CMSSW-benchmarks/blob/master/condor/report-fjr-couch.pl
>>
>>  Alguem ja passou por uma situacao parecida ou teria dicas de como
>> resolver?
>>
>>  Valeu!
>>
>>  [1] :
>>
>>  -bash-4.1$ ./report-fjr-couch --fjr=FrameworkJobReport.xml  --couchurl=
>> http://a.cloudant.com --db=tr-benchmarks
>> Could not find a suitable B::Hooks::EndOfScope implementation: Can't
>> locate Variable/Magic.pm in @INC (@INC contains: CODE(0x1e1aca0)
>> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc/lib
>> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc
>> CODE(0x1aea050) CODE(0x1aea4d0)) at Module/Runtime.pm line 317.
>> BEGIN failed--compilation aborted at B/Hooks/EndOfScope/XS.pm line 17.
>> Compilation failed in require at Module/Runtime.pm line 317.
>> Can't locate B/Hooks/EndOfScope/PP/FieldHash.pm in @INC (@INC contains:
>> CODE(0x1e1aca0)
>> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc/lib
>> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc
>> CODE(0x1aea050) CODE(0x1aea4d0)) at Module/Runtime.pm line 317.
>> BEGIN failed--compilation aborted at B/Hooks/EndOfScope/PP.pm line 29.
>> Compilation failed in require at Module/Runtime.pm line 317.
>>  at B/Hooks/EndOfScope.pm line 22
>> BEGIN failed--compilation aborted at B/Hooks/EndOfScope.pm line 26.
>> Compilation failed in require at namespace/clean.pm line 11.
>> BEGIN failed--compilation aborted at namespace/clean.pm line 11.
>> Compilation failed in require at JSON/Any.pm line 11.
>> BEGIN failed--compilation aborted at JSON/Any.pm line 11.
>> Compilation failed in require a

Re: [Rio-pm] Problema com "PP" (PAR) e Variable::Magic

2014-09-30 Por tôpico Renato Santos
Tambem tem o fatpack, que junta todos suas deps em um unico arquivo.pl


2014-09-30 18:09 GMT-03:00 Aureliano Guedes :

>  Cara. Sempre tive problema com o PP.
>
> Manoel Domingues Junior  escreveu:
>
>  Samir,
>
> Esses dias, quando enfrentava problemas semelhantes de portabilidade,
> conheci o carton que me ajudou muito.
>
> Da uma olhada, ele é capaz de gerar uma pasta bundle com todas as
> dependências e basta ir no servidor remoto e executar um:
> carton install --cached --deployment
> E depois um:
> carton exec script.pl
>
> Outra dica legal que encontrei foi usar o plenv para cuidar das versões de
> perl...
>
> Abraços,
> Em 30/09/2014 15:51, "Samir Cury"  escreveu:
>
> Galera,
>
>  Escrevi um codigo basico para uma tarefa trivial. Problema : Usei o CPAN
> demais e tenho muitas dependencias. Vou rodar o codigo em sistemas remotos
> onde so e garantido existir o Perl + core modules.
>
>  Pensei em usar o PAR, que ja me cria um executavel com "todos os modulo"
> (-B). Perfeito.
>
>  Nem tanto. Uma vez que consigo o executavel, ele reclama de nao achar o
> Variable::Magic [1].
>
>  Porem o .pl original roda tranquilo no mesmo sistema :
>
>  -bash-4.1$ ./report-fjr-couch.pl --fjr=FrameworkJobReport.xml
>  --couchurl=http://a.cloudant.com --db=tr-benchmarks
> CouchDB::Client::Doc=HASH(0x1286d60)
>
> O erro ate fez sentido uma vez que percebi que o sistema que usei para
> gerar o executavel nao tinha o Variable::Magic instalado. Imaginei que
> instalando e rodando de novo com -B iria incluir o modulo. Nada.
>
>  Sendo mais concreto, aqui estao os "pp s" que tentei :
>
> pp -B  -o report-fjr-couch report-fjr-couch.pl
>  pp -B -P -o report-fjr-couch report-fjr-couch.pl
>  pp -B -p -o report-fjr-couch report-fjr-couch.pl
>
>  Mesmo problema em todos.
>
>  Descricao das opcoes :
>
> http://search.cpan.org/~rschupp/PAR-Packer-1.022/lib/pp.pm
>
>  Caso queiram ver o codigo, aqui esta, mas fiquem tranquilos, admito e
> sei que nao foi feito para ser bonito, mas funciona :
>
>
> https://github.com/samircury/CMSSW-benchmarks/blob/master/condor/report-fjr-couch.pl
>
>  Alguem ja passou por uma situacao parecida ou teria dicas de como
> resolver?
>
>  Valeu!
>
>  [1] :
>
>  -bash-4.1$ ./report-fjr-couch --fjr=FrameworkJobReport.xml  --couchurl=
> http://a.cloudant.com --db=tr-benchmarks
> Could not find a suitable B::Hooks::EndOfScope implementation: Can't
> locate Variable/Magic.pm in @INC (@INC contains: CODE(0x1e1aca0)
> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc/lib
> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc
> CODE(0x1aea050) CODE(0x1aea4d0)) at Module/Runtime.pm line 317.
> BEGIN failed--compilation aborted at B/Hooks/EndOfScope/XS.pm line 17.
> Compilation failed in require at Module/Runtime.pm line 317.
> Can't locate B/Hooks/EndOfScope/PP/FieldHash.pm in @INC (@INC contains:
> CODE(0x1e1aca0)
> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc/lib
> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc
> CODE(0x1aea050) CODE(0x1aea4d0)) at Module/Runtime.pm line 317.
> BEGIN failed--compilation aborted at B/Hooks/EndOfScope/PP.pm line 29.
> Compilation failed in require at Module/Runtime.pm line 317.
>  at B/Hooks/EndOfScope.pm line 22
> BEGIN failed--compilation aborted at B/Hooks/EndOfScope.pm line 26.
> Compilation failed in require at namespace/clean.pm line 11.
> BEGIN failed--compilation aborted at namespace/clean.pm line 11.
> Compilation failed in require at JSON/Any.pm line 11.
> BEGIN failed--compilation aborted at JSON/Any.pm line 11.
> Compilation failed in require at CouchDB/Client.pm line 9.
> BEGIN failed--compilation aborted at CouchDB/Client.pm line 9.
> Compilation failed in require at script/report-fjr-couch.pl line 6.
> BEGIN failed--compilation aborted at script/report-fjr-couch.pl line 6.
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Modulo - dependencias em pacotes do sistema

2014-08-08 Por tôpico Renato Santos
Então, o Alien é para o processo inverso, onde você vai executar o cpan
nome::seu:módulo aí o seu modelo que ficará responsável por instalar as
deps binárias (o que faz necessário a maquina ter, no mínimo, make e um
compilador).

É trabalhoso demais instalar as deps, é mais simples gerar o binário para a
distribuição desejada, geralmente.

É um mundo complicado esse que vivemos!
On Aug 8, 2014 11:01 PM, "Samir Cury"  wrote:
>
> Obrigado pelas respostas, bastante informacao util.
>
> Achei bem interessante o lance do Alien. Vou olhar com mais calma depois.
A principio, resolveria o problema.
>
> Apesar de concordar com o Blabos em varios pontos, ainda acho que pra
quem nao liga ou nao se importa com Perl, CPAN, etc, vai simplesmente dizer
"ah, esse troco nao funciona". E exatamente isso que quero evitar, atitude
que infelizmente tenho visto cada vez mais devido as tendencias da galera
considerar varias coisas como caixas pretas, ao inves de perder 3~5 min
descobrindo o problema.
>
> Sobre RPMs, chega a ser quase trivial, uma vez que se acostuma. Acho que
o que vai dar mais trabalho e a burocracia de incluir o RPM no repositorio
Contrib. Lembro que o Debian parecia uma sociedade secreta, so entrava
apadrinhado ou depois de ralar muito, algo assim.
>
> O pacote na distro parece o mais limpo. E como so me importo em dar
suporte ao CentOS (e talvez Debian) pode ser o caminho. Se acontecer algo
com o Alien aviso quanto trabalho deu. Parece ser a solucao mais
interessante porque o CPAN funcionaria sozinho.
>
> Abs
>
>
>
>
> 2014-08-08 11:53 GMT-07:00 Blabos de Blebe :
>
>> Opa,
>>
>> > Mas me deixa nervoso ter algo no CPAN que nao seria instalado
perfeitamente pelo
>> > CPAN na distribuicao padrao. Tenho quase certeza que o maximo que
posso fazer
>> > e deixar um warning gigante no POD, mas queria conferir com voces.
>>
>> Isso (nervoso) não faz sentido e eu vou tentar clarificar o porquê.
>>
>> Vários módulos são wrappers em Perl para bibliotecas que não fazem parte
da distribuição padrão, portanto, não faz sentido, querer o módulo, sem ter
a biblioteca.
>>
>> Aliás, a biblioteca não estar instalada na distribuição padrão é análoga
ao módulo não estar no core do Perl.
>>
>> Então é natural que alguns módulos não core, esperem ter disponível uma
biblioteca "não core" da distribuição.
>>
>> lalala-lib X lalala-lib-dev
>> ==
>>
>> Quando essa integração com bibliotecas externas acontece, é necessário
um pouco de cola em XS, que nada mais é do que um "C com esteróides".
>>
>> Esse XS precisa ser compilado durante a instalação do módulo. Por quê?
Porque sendo código C que vai virar binário, ele precisa ser exatamente
compatível com os binários específicos (*.so/*.a) que você você tem na sua
máquina. Coisas de build/linking, podemos detalhar mais em outra ocasião.
>>
>> Para compilar o XS, você vai precisar dos arquivos de cabeçalho em C
(*.h), bem como do compilador e ferramentas conjuntas. Esses arquivos
avisam pro compilador, qual a assinatura das funções da lib externa que
você está usando. Como eles são usados somente na compilação, eles são
distribuídos em separado em pacotes lalala-lib-dev.
>>
>> Já o seu módulo, depois de compilado, vai usar os binários da biblioteca
e não vai estar nem aí mais pros cabeçalhos.
>>
>> O triste aqui é que quando você está falando de pacotes que são
distribuídos de forma binária, vc pode pré-compilar e empacotar as libs sem
os cabeçalhos. Mas quando você está falando de módulo Perl que precisa
rodar em mais de 90 arquiteturas, o que for em XS precisa ser compilado
especificamente para aquela máquina.
>>
>> O que normalmente acontece é que os módulos mais famosos costumam ter um
padrinho, que os compila para as principais arquiteturas onde a
distribuição linux roda e por isso vc consegue instala-los com yum ou
apt-get.
>>
>> Como isso dá um trabalho do cacete, nem todos os módulos tem pacotes da
distro, e normalmente eles não são as versões mais atualizadas.
>>
>> Lembro-me que uma vez o Solli tinha pensado em fazer algo a respeito,
mas não sei o que deu dessa história. Só sei que o trabalho pra manter os
milhares de módulos do CPAN com um pacote atualizado pra cada distro e pra
cada arquitetura deve ser gigantesco.
>>
>> Samir,
>>
>> Acredito que pro seu caso, como é só um módulo, vc possa montar um
pacote para principais distros/arquiteturas colocando as libs externas como
dependência. Talvez nem dê tanto trabalho assim.
>>
>> Assim, quando alguém der apt-get seu-modulo, o próprio apt-get vai
baixar as bibliotecas necessárias, sem precisar dos lalala-lib-dev, já que
ele já vai estar compilado.
>>
>> Ou então usar a sugestão

Re: [Rio-pm] Modulo - dependencias em pacotes do sistema

2014-08-08 Por tôpico Renato Santos
Ah,

Este jeito que vou contar abaixo, não é recomendavel para ĩnstalações de
modulos (afinal, você vai querer que seu modulo seja instalado ao lado dos
outros, e não levar o codigo de mais um monte de modulos juntos ao seu),
mas funciona para distribuir aplicativos.

O Thiago (maluco) e o Gabriel (gabiruh) criaram um jeito legal para
distribuir a versão linux do agente da b-datum, e todo o código está aberto
em:
https://github.com/b-datum/b-datum-linux

Eu sei que ele usa o https://metacpan.org/pod/App::FatPacker para pegar
todos os modulos que não são core, mas que são pure-perl, e a partir dai, o
fatpacker junta todos os modulos na "fatlib", então você pode ter quantos
modulos PP você quiser.

Mas você ainda tem que cuidar dos modulos que dependem de binarios, e de
alguns modulos que alguns OS mudam o arquivo do core do perl (medo)

Para os modulos binarios, na hora de montar o .deb por exemplo, você coloca
o modulo binario que você precisa, como dependencia. Neste caso, alguem já
precisa ter feito a gentiliza de cria-lo para você.

https://github.com/b-datum/b-datum-linux/blob/master/linux/b-datum-linux.spec
https://github.com/b-datum/b-datum-linux/tree/master/linux/debian
https://github.com/b-datum/b-datum-linux/blob/master/macos/com.bdatum.backup.mac.plist

Eu não lembro exatamente como ele faz para gerar cada release e soltar no
github, mas ai da até pra colocar lá
https://github.com/b-datum/b-datum-linux/releases




2014-08-08 22:19 GMT-03:00 Rodrigo Mosconi (perl) :

>
>
>
> Em 8 de agosto de 2014 15:14, Samir Cury  escreveu:
>
> Perlssoal,
>>
>> Estou testando como um modulo que escrevi instala em um CentOS 6 puro,
>> para que no fim eu me livre do selo "works on my machine".
>>
>> Percebi que o CPAN vai sofrer um pouco se nao houver "expat-devel" e
>> "gcc" instalados no sistema. Pode-se argumentar que e fora do escopo do
>> CPAN, resolver problemas como este.
>>
>> O que me faz sentir falta do Slackware, que ja vinha bem completo e era
>> so alegria.
>>
>> O que pensei em fazer e um RPM para o Fedora/CentOS que contem estas
>> dependencias. Beleza, dai o cara pode usar yum install perl-package-name ou
>> yum install 'perl(Package::Name)'.
>>
>> Mas me deixa nervoso ter algo no CPAN que nao seria instalado
>> perfeitamente pelo CPAN na distribuicao padrao. Tenho quase certeza que o
>> maximo que posso fazer e deixar um warning gigante no POD, mas queria
>> conferir com voces.
>>
>> Se precisarem, o modulo e HTCondor::Queue::Parser. Por acidente achei o
>> report no CPAN Testers, que parece bem tranquilo :
>>
>>
>> http://www.cpantesters.org/distro/H/HTCondor-Queue-Parser.html?oncpan=1&distmat=1&version=0.04
>>
>> Talvez o ambiente deles ja resolve esses problemas. Mas por
>> perfeccionismo quero que o modulo instale sem problemas no CentOS padrao.
>>
>> Abracos,
>> Samir
>>
>>
> Os módulos Perl provenientes do CPAN podem ser obtidos pela ferramentas
> cpanspec ou cpan2rpm.
>
> A primeira gera o arquivo .spec que permitirá a criação dos RPM e SRPM.
>
>  A segunda não cheguei a usar/testar.
>
>
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Modulo - dependencias em pacotes do sistema

2014-08-08 Por tôpico Renato Santos
Hm
acho que você procura algo sobre isso:
https://metacpan.org/pod/Alien


2014-08-08 15:14 GMT-03:00 Samir Cury :

> Perlssoal,
>
> Estou testando como um modulo que escrevi instala em um CentOS 6 puro,
> para que no fim eu me livre do selo "works on my machine".
>
> Percebi que o CPAN vai sofrer um pouco se nao houver "expat-devel" e "gcc"
> instalados no sistema. Pode-se argumentar que e fora do escopo do CPAN,
> resolver problemas como este.
>
> O que me faz sentir falta do Slackware, que ja vinha bem completo e era so
> alegria.
>
> O que pensei em fazer e um RPM para o Fedora/CentOS que contem estas
> dependencias. Beleza, dai o cara pode usar yum install perl-package-name ou
> yum install 'perl(Package::Name)'.
>
> Mas me deixa nervoso ter algo no CPAN que nao seria instalado
> perfeitamente pelo CPAN na distribuicao padrao. Tenho quase certeza que o
> maximo que posso fazer e deixar um warning gigante no POD, mas queria
> conferir com voces.
>
> Se precisarem, o modulo e HTCondor::Queue::Parser. Por acidente achei o
> report no CPAN Testers, que parece bem tranquilo :
>
>
> http://www.cpantesters.org/distro/H/HTCondor-Queue-Parser.html?oncpan=1&distmat=1&version=0.04
>
> Talvez o ambiente deles ja resolve esses problemas. Mas por perfeccionismo
> quero que o modulo instale sem problemas no CentOS padrao.
>
> Abracos,
> Samir
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

[Rio-pm] Fwd: [Brasil-PM] YAPC 2014 is comming. Inscrições abertas!

2014-07-01 Por tôpico Renato Santos
-- Forwarded message --
From: Cícero 
Date: 2014-07-01 9:43 GMT-03:00
Subject: [Brasil-PM] YAPC 2014 is comming. Inscrições abertas!
To: brasil...@pm.org


Salve, salve Perl Mongers!



YAPC 2014 já tem data definida: 19 e 20 de setembro!



Local: Itapema/SC (70km da capital - 10km de Balneário Camboriú e 20km de
Bombinhas)



Tema: Desenvolvimento de software para gestão pública.



As soluções tecnológicas que abrangem a Administração Pública são dos mais
variados prismas.



Aos que acham um tema difícil de palestrar. Calma, eu tento dar algumas
direções! Vejam algumas dificuldades dos governantes:

- Analisar muitos dados referentes ao município - BIG DATA.

- Organizar tanta papelada.

- Gerenciar documentos específicos.

- Organizar despesas.

- Transparência de informações.

- Diretrizes de acesso a sistema interno.

- Segurança e backup de dados.

- Realizar ações baseadas em dados extraídos.

- Sistema de presença - ponto.

- Nota fiscal eletrônica.

- Licitações eletrônicas.

- Enfim, é impressionante como eles são escassos de soluções automatizadas
que contemplam ou auxiliem em toda a logística interna/externa do Órgão
Público.



Estamos tentando trazer também conteúdo - não técnico - que é relevante
para quem está disposto a compreender mais sobre esses assuntos:

- Marco Civil

- Transparência pública

- Governo eletrônico



O evento será realizado no hotel Enseada. Este encontra-se na Meia Praia -
bairro nobre da cidade e de frente pro mar. Isso mesmo, de frente pro mar!
Porém… alto lá! Não tem padrão Fifa e o período não é propício para “muitas
curvas e poucas vestes” na praia, ok? O que para um evento de compartilhar
conhecimento e muito foco, é bastante válido. Rss



Well, voltando a falar especificamente do Evento… é o seguinte:



Esses dados - local, data, hospedagem inclusa no pacote promocional, e tema
- já estão 100% definidos. Todas as informações estão no site do YAPC:
http://2014.yapcbrasil.org.br/



Para não estender esta thread, vou criar mais 2 emails direcionados aos
keynotes (palestrantes do exterior) e sugestões de apoio e patrocínio.



Abraços,

Cícero

___
Brasil-PM mailing list
brasil...@pm.org
http://mail.pm.org/mailman/listinfo/brasil-pm



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Release de modulo Beta no CPAN

2014-05-23 Por tôpico Renato Santos
ilizar pra montar o
> seu
> >> pacote.
> >>
> >> 2) Fase 2: code, code, code
> >>
> >> 3) Fase 3: Build
> >>
> >> No processo de build, uma peça de software é utilizada para juntar tudo
> >> que o seu pacote vai precisar para ser instalado em uma máquina
> qualquer.
> >>
> >> Essa etapa pode ser baseada em vários builders como:
> >>
> >> https://metacpan.org/pod/ExtUtils::MakeMaker
> >> https://metacpan.org/pod/Module::Build
> >> https://metacpan.org/pod/Module::Install
> >>
> >> Esses builders baseiam-se em arquivos perl (Makefile.PL, Build.PL, etc)
> >> para a partir de apontamentos que você faz, verificar as dependências,
> criar
> >> o Makefile e seus alvos,gerar o .tar.gz entre outras coisas necessárias
> para
> >> tornar o seu módulo instalável.
> >>
> >> Quando vc instala um módulo manualmente, normalmente o processo é:
> >>
> >> a) Baixar e descompactar o .tar.gz
> >> b) perl Makefile.PL (ou perl Build.PL). Isso vai criar um arquivo
> Makefile
> >> adaptado pra sua máquina.
> >> c) make. Isso vai fazer o build do seu módulo, eventualmente compilando
> >> XS, se for o caso, etc
> >> d) make test. Lê o Makefile para executar os testes do seu módulo.
> >> e) make install
> >>
> >> Quando você cria um módulo, para montar o .tar.gz normalmente você faz:
> >>
> >> a) perl Makefile.PL (ou perl Build.PL). Isso vai criar um arquivo
> Makefile
> >> adaptado pra sua máquina.
> >> b) make manifest. Isso vai criar uma lista com todos os arquivos que
> >> precisam ser distribuídos dentro do seu .tar.gz
> >> c) make dist. Isso vai criar um .tar.gz do seu módulo, dentro do qual,
> >> haverá um Makefile.PL (ou Build.PL), e *não* um Makefile.
> >>
> >> Os arquivos *.PL precisam ser executados no momento da instalação para
> que
> >> o Makefile seja montado de acordo com a máquina onde ele está sendo
> >> instalado e não de acordo com a máquina onde o módulo foi criado.
> >>
> >>
> >> 4) Release.
> >>
> >> Consiste em enviar o seu módulo para o CPAN.
> >>
> >> ***
> >>
> >> O Module::Make eu vou desconsiderar, porque ele só tem uma versão antiga
> >> lançada e nenhum outro módulo do cpan o utiliza
> >> (https://metacpan.org/requires/distribution/Module-Make?sort=[[2,1]]).
> >>
> >> ***
> >>
> >> Com o dzil você tem uma ferramenta, que em conjunto com plugins cobre
> >> todas as etapas listadas acima e mais algumas outras, como integração
> com o
> >> seu sistema de controle de versão e simplificação da criação de POD, por
> >> exemplo.
> >>
> >> Já se você preferir fazer sem ele, você pode fazer tudo manualmente, ou
> >> usar qualquer dessas ferramentas citadas acima pra cobrir uma fase ou
> outra,
> >> ou ainda combiná-las entre si.
> >>
> >> Eu particularmente tenho módulos que usam o dzil
> >> (https://github.com/blabos/Dancer2-Plugin-Paginator) e módulos que não
> usam
> >> (https://github.com/blabos/Paginator-Lite).
> >>
> >> E quando não uso, tenho preferência por criar o módulo com o
> >> Module::Starter (não confundir com
> https://metacpan.org/pod/Module::Start)
> >> usando como builder o Module::Install.
> >>
> >> ***
> >>
> >> Finalizando, só preste atenção no que você deseja fazer e escolha a
> >> ferramenta que achar mais adequada, tendo em mente que embora seja
> >> relativamente simples criar um módulo e botar no CPAN, há várias etapas
> >> envolvidas, que na maioria das vezes já são até instintivas, mas que se
> você
> >> misturar as coisas, pode dar a maior confusão.
> >>
> >> []'s
> >>
> >>
> >>
> >>
> >>
> >>
> >> 2014-05-20 16:12 GMT-03:00 Aureliano Guedes :
> >>
> >>> >Sim, passei o olho nisso, mas meio que ignorei pois o mesmo usa
> >>> > Dist::Zilla e lembro que os 2 metodos mais recomendados eram
> >Module::Build
> >>> > e Module::Make.
> >>>
> >>> Posso estar enganado, mas esses 'eram' os mais recomendados. O
> >>> Dist::Zilla é mais recente porem creio que seja o melhor e atualmente o
> >>> 'mais recomendado'.
> >>>
> >>> 
> >>> Date: Tue, 20 May 2014 11:52:43 -0700
> >

Re: [Rio-pm] Release de modulo Beta no CPAN

2014-05-20 Por tôpico Renato Santos
*
http://blogs.perl.org/users/oliver_gorwits/2011/10/releasing-trialdevbeta-versions-with-distzilla.html

#fastreply


2014-05-20 15:35 GMT-03:00 Samir Cury :

> Pessoal,
>
> Outro dia na lista, li alguem dizendo : manda pro CPAN logo como "beta"
>
> Como estou no passo intermediario para o meu primeiro modulo "decente",
> com testes e tudo mais, talvez nao tenha visto essa opcao ainda.
> Pesquisando um pouco esbarrei com todas essas definicoes :
>
> http://search.cpan.org/dlsip?bpmOp
>
> Ja que o modulo funciona, esta documentado e passa no "prove", achei
> interessante subir como beta, e lancar novas releases quando fizer mais
> refatoracoes.
>
> Enfim. Queria confirmar com a galera que ja trilhou este caminho, que
> quando eu for realmente subir o modulo vou ter a opcao de marcar como beta.
>
> Pra quem estiver curioso este e o modulo :
>
> https://github.com/samircury/HTCondor--Queue--Parser
>
> Abs,
> Samir
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] nota de falecimento

2014-05-10 Por tôpico Renato Santos
Vish vei, que bad

:-\

Pã
On May 10, 2014 8:32 PM, "Thiago Rondon"  wrote:

> Tristeza... Como pode
> Em 10/05/2014 19:18, "breno"  escreveu:
>
>> Oi pessoal,
>>
>> é com muita tristeza e saudade que venho comunicar o falecimento de
>> nossa querida amiga Diana Rosa.
>>
>> Diana começou a frequentar a comunidade nos encontros sociais da Rio
>> Perl Mongers há alguns anos e aos poucos foi se engajando, aprendendo
>> e ensinando. Tímida mas sempre animada, ela gostava de contar como, na
>> época em que trabalhava com Java, implementou rapidamente um one-liner
>> em Perl para corrigir um bug enquanto seus colegas ainda estavam
>> desenhando 19 quadrinhos de UML para representar o problema.
>> Atualmente, trabalhava como desenvolvedora Perl na Estante Virtual.
>>
>> A "di", como era conhecida pelos amigos, também adorava canto lírico e
>> era uma excelente pintora. Uma de suas obras, feita para homenagear um
>> amigo que faceleu recentemente, hoje enfeita o muro na esquina da Rua
>> Alice, em frente ao local onde fizemos tantos encontros sociais da
>> comunidade (e onde provavelmente faremos o próximo).
>>
>> Ainda não temos muitas informações, mas ao que parece ela não estava
>> se sentindo bem ontem à noite, deitou para descansar e, infelizmente,
>> não acordou. Ela nos deixa aos 27 anos.
>>
>> Aos que quiserem prestar sua homenagem, o velório será hoje (10/05) a
>> partir das 22:00 na Capela 7 do Cemitério São João Batista. O enterro
>> será amanhã (11/05) às 11:00.
>>
>>
>> Nossos sentimentos hoje vão para toda a família e amigos.
>>
>> breno
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Renato Santos
http://i.imgur.com/8iUZEZt.png
só pela zuera!


2014-04-29 20:25 GMT-03:00 Daniel Vinciguerra :

> Boas praticas com Delphi é ruim heim hahaha
>
>
> *Daniel Vinciguerra (@dvinciguerra)*
> Web solution architect, perl dev, vegetarian, geek and founder at *Bivee*
> bivee.com.br  -  github.com/Bivee
>
>
> 2014-04-29 20:11 GMT-03:00 Renato Santos :
>
> ** FLAME WARR***
>> C++ e Delphi ?
>>
>> linus torvalds discorda disso!
>>
>> http://article.gmane.org/gmane.comp.version-control.git/57918
>>
>>
>>
>>
>> 2014-04-29 20:02 GMT-03:00 Aureliano Guedes :
>>
>>  >ter Perl como primeira linguagem
>>> Esse foi meu feliz erro.
>>> Sofro com alguns problemas de boas praticas mas em questão de logica
>>> pura eu m dou bem.
>>> Eu diria que quem quer aprender logica deveria aprender Perl.
>>> Agora aprendi C VB.net e mais recentemente C++ e Delphi pra tentar
>>> aprender boas praticas.
>>>
>>>
>>>
>>> Blabos de Blebe  escreveu:
>>>
>>>  Mas ok, não é uma boa prática...
>>>
>>>
>>> 2014-04-29 19:15 GMT-03:00 Blabos de Blebe :
>>>
>>> > café deve ser 'duro'
>>>
>>>  TimToady!!!
>>>
>>>
>>> 2014-04-29 19:12 GMT-03:00 Renato Santos :
>>>
>>>  Cara, café não se pode ferver! seu café deve ser 'duro'
>>>
>>>
>>> 2014-04-29 19:01 GMT-03:00 Blabos de Blebe :
>>>
>>>  Enquanto meu café ferve, aqui vale uma reflexão:
>>>
>>>  "Boas práticas" é um conceito flutuante.
>>>
>>>  Perl é uma linguagem extremamente rica e se desenvolvimento bastante
>>> dinâmico. O que era boa prática quando eu aprendi, já não é boa prática
>>> hoje. As coisas mudam.
>>>
>>>  http://perldoc.perl.org/perlhist.html
>>>
>>>  Embora muita gente fale que Perl é pré-histórico, a versão mais atual
>>> foi lançada em janeiro. Se você bobear, você que fica pré-histórico.
>>>
>>>  []'s
>>>
>>>
>>>
>>>
>>> 2014-04-29 18:52 GMT-03:00 Blabos de Blebe :
>>>
>>>  Pacman, copião :)
>>>
>>>
>>> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>>>
>>>  > que Modulo::funcao dispensa declarar o construtor.
>>>
>>>  Não dispensa. Não tem nada a ver. Não misture as coisas.
>>>
>>>  Construtor é um conceito associado a um método especial utilizado para
>>> inicializar objetos, ou seja, quando você está utilizando uma interface
>>> orientada a objetos.
>>>
>>>  Em C++, o Construtor tem que ser um método cujo nome é o nome da
>>> classe.
>>>
>>>  Em Python é outro padrão.
>>>
>>>  Em Perl isso é livre, um construtor, ou seja um inicializador de
>>> objetos pode ser qualquer método que eventualmente invoque a sub bless().
>>>
>>>  http://perldoc.perl.org/functions/bless.html
>>>
>>>  Em Perl convencionamos, pra ninguém ficar louco, que o construtor
>>> chama-se new. Mas não existe palavra reservada ou obrigatoriedade nisso.
>>>
>>>  Modulo::funcao() é uma chamada 'procedural' aplicando o namespace
>>> completo FQN. Não tem nada a ver com objetos, ou construtores.
>>>
>>>  ***
>>>
>>>  No seu caso, como bem observado pelo Junior, o que você quer é não ter
>>> que passar o namespace completo, por isso o uso do Exporter, que nada mais
>>> faz do que tornar a sua função conhecida no namespace atual.
>>>
>>>  Exporter também não tem nada a ver com objetos.
>>>
>>>  A boa prática é usar @EXPORT_OK pra não exportar todos os símbolos por
>>> default. Nesse caso, ao usar o seu módulo você precisa fazer:
>>>
>>>  use Modulo qw{ funcao };
>>>
>>>  Aqui, "boa prática" significa basicamente, "vou tormar o cuidado de
>>> exportar apenas o necessário pra não correr risco de dar conflito com outra
>>> função de mesmo nome de outro módulo".
>>>
>>>  Mas é só uma politica de boa vizinhança, não quer dizer,
>>> necessariamente, errado. Depende do seu contexto.
>>>
>>>  ***
>>>
>>>  Como em Perl as coisas são mais livres, você vai ver casos de um
>>> package que tem construtor, métodos *E* funções comuns, ou seja, tanto uma
>>> interface OO quanto procedural. Exemplo:
>>> https://metacpan.org/pod/String::Trigram
>

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Renato Santos
** FLAME WARR***
C++ e Delphi ?

linus torvalds discorda disso!

http://article.gmane.org/gmane.comp.version-control.git/57918




2014-04-29 20:02 GMT-03:00 Aureliano Guedes :

>  >ter Perl como primeira linguagem
> Esse foi meu feliz erro.
> Sofro com alguns problemas de boas praticas mas em questão de logica pura
> eu m dou bem.
> Eu diria que quem quer aprender logica deveria aprender Perl.
> Agora aprendi C VB.net e mais recentemente C++ e Delphi pra tentar
> aprender boas praticas.
>
>
>
> Blabos de Blebe  escreveu:
>
>  Mas ok, não é uma boa prática...
>
>
> 2014-04-29 19:15 GMT-03:00 Blabos de Blebe :
>
> > café deve ser 'duro'
>
>  TimToady!!!
>
>
> 2014-04-29 19:12 GMT-03:00 Renato Santos :
>
>  Cara, café não se pode ferver! seu café deve ser 'duro'
>
>
> 2014-04-29 19:01 GMT-03:00 Blabos de Blebe :
>
>  Enquanto meu café ferve, aqui vale uma reflexão:
>
>  "Boas práticas" é um conceito flutuante.
>
>  Perl é uma linguagem extremamente rica e se desenvolvimento bastante
> dinâmico. O que era boa prática quando eu aprendi, já não é boa prática
> hoje. As coisas mudam.
>
>  http://perldoc.perl.org/perlhist.html
>
>  Embora muita gente fale que Perl é pré-histórico, a versão mais atual
> foi lançada em janeiro. Se você bobear, você que fica pré-histórico.
>
>  []'s
>
>
>
>
> 2014-04-29 18:52 GMT-03:00 Blabos de Blebe :
>
>  Pacman, copião :)
>
>
> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>
>  > que Modulo::funcao dispensa declarar o construtor.
>
>  Não dispensa. Não tem nada a ver. Não misture as coisas.
>
>  Construtor é um conceito associado a um método especial utilizado para
> inicializar objetos, ou seja, quando você está utilizando uma interface
> orientada a objetos.
>
>  Em C++, o Construtor tem que ser um método cujo nome é o nome da classe.
>
>  Em Python é outro padrão.
>
>  Em Perl isso é livre, um construtor, ou seja um inicializador de objetos
> pode ser qualquer método que eventualmente invoque a sub bless().
>
>  http://perldoc.perl.org/functions/bless.html
>
>  Em Perl convencionamos, pra ninguém ficar louco, que o construtor
> chama-se new. Mas não existe palavra reservada ou obrigatoriedade nisso.
>
>  Modulo::funcao() é uma chamada 'procedural' aplicando o namespace
> completo FQN. Não tem nada a ver com objetos, ou construtores.
>
>  ***
>
>  No seu caso, como bem observado pelo Junior, o que você quer é não ter
> que passar o namespace completo, por isso o uso do Exporter, que nada mais
> faz do que tornar a sua função conhecida no namespace atual.
>
>  Exporter também não tem nada a ver com objetos.
>
>  A boa prática é usar @EXPORT_OK pra não exportar todos os símbolos por
> default. Nesse caso, ao usar o seu módulo você precisa fazer:
>
>  use Modulo qw{ funcao };
>
>  Aqui, "boa prática" significa basicamente, "vou tormar o cuidado de
> exportar apenas o necessário pra não correr risco de dar conflito com outra
> função de mesmo nome de outro módulo".
>
>  Mas é só uma politica de boa vizinhança, não quer dizer,
> necessariamente, errado. Depende do seu contexto.
>
>  ***
>
>  Como em Perl as coisas são mais livres, você vai ver casos de um package
> que tem construtor, métodos *E* funções comuns, ou seja, tanto uma
> interface OO quanto procedural. Exemplo:
> https://metacpan.org/pod/String::Trigram
>
>  Antigamente, quando OO era 'novidade', o pessoal costumava publicar uma
> interface OO *E* uma interface procedural, pra ficar ao gosto do cliente
> escolher. Outro exemplo: https://metacpan.org/pod/CGI
>
>  Por essas e outras, *EU*, acho meio confuso ter Perl como primeira
> linguagem, pois ela te dar liberdades que em não tendo todos os conceitos
> bem sedimentados, *pode* confundir.
>
>  O importante é, em estar estudando, não parar no estágio "ah consegui
> fazer" mas sim prosseguir pelo menos até o "ah, entendi como funciona".
>
>  []'s
>
>
>
>
> 2014-04-29 18:32 GMT-03:00 Aureliano Guedes :
>
>  Funcionou da forma que o Junior passou.
>
>  Obrigado.
>
>  Experimentei fazer o dumper como o Bablos falou. Realmente são formas
> diferentes, sendo que Modulo::funcao dispensa declarar o construtor.
>
>  --
> From: juniiior...@gmail.com
> Date: Tue, 29 Apr 2014 18:15:00 -0300
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor
>
>Hi.
>
> Em 29 de abril de 2014 18:07, Blabos de Blebe  escreveu:
>
> Só mais uma coisa,
>
>  Isso não tem nada a ver com Exporter.

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Renato Santos
Cara, café não se pode ferver! seu café deve ser 'duro'


2014-04-29 19:01 GMT-03:00 Blabos de Blebe :

> Enquanto meu café ferve, aqui vale uma reflexão:
>
> "Boas práticas" é um conceito flutuante.
>
> Perl é uma linguagem extremamente rica e se desenvolvimento bastante
> dinâmico. O que era boa prática quando eu aprendi, já não é boa prática
> hoje. As coisas mudam.
>
> http://perldoc.perl.org/perlhist.html
>
> Embora muita gente fale que Perl é pré-histórico, a versão mais atual foi
> lançada em janeiro. Se você bobear, você que fica pré-histórico.
>
> []'s
>
>
>
>
> 2014-04-29 18:52 GMT-03:00 Blabos de Blebe :
>
> Pacman, copião :)
>>
>>
>> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>>
>> > que Modulo::funcao dispensa declarar o construtor.
>>>
>>> Não dispensa. Não tem nada a ver. Não misture as coisas.
>>>
>>> Construtor é um conceito associado a um método especial utilizado para
>>> inicializar objetos, ou seja, quando você está utilizando uma interface
>>> orientada a objetos.
>>>
>>> Em C++, o Construtor tem que ser um método cujo nome é o nome da classe.
>>>
>>> Em Python é outro padrão.
>>>
>>> Em Perl isso é livre, um construtor, ou seja um inicializador de objetos
>>> pode ser qualquer método que eventualmente invoque a sub bless().
>>>
>>> http://perldoc.perl.org/functions/bless.html
>>>
>>> Em Perl convencionamos, pra ninguém ficar louco, que o construtor
>>> chama-se new. Mas não existe palavra reservada ou obrigatoriedade nisso.
>>>
>>> Modulo::funcao() é uma chamada 'procedural' aplicando o namespace
>>> completo FQN. Não tem nada a ver com objetos, ou construtores.
>>>
>>> ***
>>>
>>> No seu caso, como bem observado pelo Junior, o que você quer é não ter
>>> que passar o namespace completo, por isso o uso do Exporter, que nada mais
>>> faz do que tornar a sua função conhecida no namespace atual.
>>>
>>> Exporter também não tem nada a ver com objetos.
>>>
>>> A boa prática é usar @EXPORT_OK pra não exportar todos os símbolos por
>>> default. Nesse caso, ao usar o seu módulo você precisa fazer:
>>>
>>> use Modulo qw{ funcao };
>>>
>>> Aqui, "boa prática" significa basicamente, "vou tormar o cuidado de
>>> exportar apenas o necessário pra não correr risco de dar conflito com outra
>>> função de mesmo nome de outro módulo".
>>>
>>> Mas é só uma politica de boa vizinhança, não quer dizer,
>>> necessariamente, errado. Depende do seu contexto.
>>>
>>> ***
>>>
>>> Como em Perl as coisas são mais livres, você vai ver casos de um package
>>> que tem construtor, métodos *E* funções comuns, ou seja, tanto uma
>>> interface OO quanto procedural. Exemplo:
>>> https://metacpan.org/pod/String::Trigram
>>>
>>> Antigamente, quando OO era 'novidade', o pessoal costumava publicar uma
>>> interface OO *E* uma interface procedural, pra ficar ao gosto do cliente
>>> escolher. Outro exemplo: https://metacpan.org/pod/CGI
>>>
>>> Por essas e outras, *EU*, acho meio confuso ter Perl como primeira
>>> linguagem, pois ela te dar liberdades que em não tendo todos os conceitos
>>> bem sedimentados, *pode* confundir.
>>>
>>> O importante é, em estar estudando, não parar no estágio "ah consegui
>>> fazer" mas sim prosseguir pelo menos até o "ah, entendi como funciona".
>>>
>>> []'s
>>>
>>>
>>>
>>>
>>> 2014-04-29 18:32 GMT-03:00 Aureliano Guedes :
>>>
>>>  Funcionou da forma que o Junior passou.

 Obrigado.

 Experimentei fazer o dumper como o Bablos falou. Realmente são formas
 diferentes, sendo que Modulo::funcao dispensa declarar o construtor.

 --
 From: juniiior...@gmail.com
 Date: Tue, 29 Apr 2014 18:15:00 -0300

 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

 Hi.

 Em 29 de abril de 2014 18:07, Blabos de Blebe escreveu:

 Só mais uma coisa,

 Isso não tem nada a ver com Exporter.

 []'s


 Eu acho que ele tá perguntando mesmo como exportar uma sub e torná-la
 possível ser chamada à partir de outro script bastando dar um use no
 módulo, e não como invocar um método estaticamente como eu pensei.

 Creio que o jeito mais roots seria:








 *package Modulo::Modulo;use vars qw(@ISA @EXPORT);@ISA=
 (qw(Exporter));@EXPORT = qw(acp); sub acp {*

 *...*
 *}*
 1;

 Deste modo, Aureliano, bastará dar um *use* em Modulo::Modulo e a
 função acp() estará acessível, assim como no Math::Prime::Util.

 []'s

  ___

 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm



 ___ Rio-pm mailing list
 Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm

 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm

>>>

Re: [Rio-pm] alguma diferença

2014-04-11 Por tôpico Renato Santos
http://blogs.perl.org/users/michael_g_schwern/2011/03/and-the-fastest-oo-accessor-is.html


2014-04-11 17:00 GMT-03:00 Aureliano Guedes :

> De fato, percebi isso. Mas então o Class::Accessor não traz nada de novo?
> Como já uso o Moose não vi vantagem nenhuma no Class::Accessor.
>
> --
> From: tiago.pecze...@gmail.com
> Date: Fri, 11 Apr 2014 16:37:59 -0300
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] alguma diferença
>
> Moose tem muito mais features (lazy, delegators, roles) e plugins (
> procure por MooseX:: ) do que o Class::Accessor, fora os hooks after /
> before / around.
>
> Moo é um subset do Moose que também tem muito mais features que o
> Class::Accessor.
>
>
> 2014-04-11 16:33 GMT-03:00 Aureliano Guedes :
>
> Monges,
>
> riam o quanto quiserem mas conheci hoje o Class::Accessor.
> Minha dúvida é: "Qual a diferença dele e do Moose?"
>
> Ao primeiro ver me parece a mesma coisa.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] CPAN x Pacotes Ou CPAN + Pacotes

2014-04-04 Por tôpico Renato Santos
Samir, o problema não é um teste seu quebrar, isso seria bom!

Ruim é quando algo do sistema feito em perl quebra, e você só vai saber
disso quando o SO bootar pela metade, num caso ruim.


2014-04-04 16:35 GMT-03:00 Bruno Buss :

> Você poderia manter um setup do local::lib/perlbrew que fosse
> compartilhado pelos usuários do seu servidor... não e' porque estamos usado
> algum desses, que precisa ser per-user a instalação de cada um :-)
> Talvez seja necessário configurar algumas variáveis de ambiente pros
> usuários, mas isso não me parece ser um problema muito difícil, certo? ;)
>
> [ ]'s
> Buss
>
> 2014-04-04 16:14 GMT-03:00 Samir Cury :
>
>> Interessante.
>>
>> Agora, se olharmos de um ponto de vista "mais sysadmin" -- voce *quer*
>> que os modulos estejam disponiveis system-wide (todos usuarios/ambientes) e
>> nao se importa tanto com as versoes especificas dos modulos -- porque a
>> principio a maioria das aplicacoes serao compativeis com uma faixa grande
>> de versoes de cada modulo.
>>
>> (acredito que da menos trabalho pensar assim e consertar individualmente
>> o que quebrar, do que fazer um bootstrap pra cada aplicacao pra ter certeza
>> que "funcionou, nao respira")
>>
>> Seria o CPAN puro como root ainda sim a melhor opcao neste caso?
>>
>> Valeu pela dica dos modulos dos pacotes sobre-escritos. Realmente e para
>> se considerar. No entanto, nao vejo tanto mal de ter o mesmo modulo
>> presente, outra versao. Concordo que e tosco ter "rpm -qa | grep Modulo"
>> dizendo uma coisa e quando voce carrega o modulo ser outra.
>>
>> Quando o RPM for desisntalado deve remover o arquivo, dai o CPAN
>> provavelmente vai se perder. Mas enquanto nao remover nada deve ser
>> ~tranquilo.
>>
>> O que estou tentando entender e - qual a melhor maneira de configurar um
>> sistema padrao com ferramentas padrao (cpan, rpm, apt). Pelo visto o preco
>> de eventuais gambiarras como a que descrevi nao causaria mais problemas do
>> que o tempo gasto debugando o teste que nao passou no CPAN. Indesejavel,
>> mas nao fatal.
>>
>> Pelo que entendi no melhor dos mundos -- da instalacao padrao, voce
>> escolhe entre 2 caminhos :
>>
>>   * usa CPAN como root - se um teste quebrar, vai perder um tempo
>>   * usa RPMs para tudo - se nao existir um pacote para o modulo, vai ter
>> que comecar a "sujar" o sistema com modulos instalados pelo CPAN
>>
>> E tenta nao misturar.
>>
>> Abs
>>
>>
>> 2014-04-04 11:48 GMT-07:00 Blabos de Blebe :
>>
>> Olá,
>>>
>>> Normalmente eu evito mexer no Perl do sistema. O fedora, inclusive, é
>>> historicamente bastante hostil ao lidar com o Perl, diga-se de passagem.
>>>
>>> Nos meus projetos, eu procedo da seguinte forma:
>>>
>>> 1) Instalar perlbrew*
>>> 2) Instalar a versão do Perl que eu vou usar**
>>> 3) Instalar o cpanm (App::cpanminus)
>>> 4) se máquina de desenvolvimento então
>>> instalar Carton e Dist::Zilla
>>> end-se
>>>
>>> Daí, para os meus módulos ou aplicações, faço o gerenciamento de pacotes
>>> com Carton, que me deixa travar a versão exata*** de cada módulo.
>>>
>>> Para os módulos não é necessário, mas para as aplicações, o carton
>>> permite que você empacote todas as dependências em um diretório vendor/,
>>> que você pode fazer um tar e subir para aquele servidor de produção que não
>>> sai pra internet, e então instalar normalmente, de forma que mesmo pacotes
>>> com XS funcionem. O carton se empacotes junto, inclusive, para o caso da
>>> máquina destino não ter carton instalado.
>>>
>>> Assim eu tenho o controle exato de cada versão de cada pacote.
>>>
>>> O CPAN é fantástico, sempre foi, mas eu diria que dá pra dividi-lo em
>>> duas eras: antes e depois do Carton.
>>>
>>>
>>>
>>> * Curiosamente hoje, a instalação do Perlbrew falhou num debian 6 que eu
>>> to configurando e eu precisei instalar o pacote Devel::PatchPerl
>>> diretamente no sistema com o cpan tradicional (root).
>>>
>>> ** O drawback é que eu preciso de acesso ao compilador.
>>>
>>> *** Sim, raramente acontece, mas eu já precisei achar uma combinação X
>>> de versões pra funcionar redondo, mas nada além de editar o cpanfile e
>>> rodar carton install denovo.
>>>
>>> []'s
>>>
>>>
>>> 2014-04-04 15:24 GMT-03:00 Samir Cury :
>>>
 E ai pessoal,

 Acabei de passar por um pequeno problema com o CPAN e achei uma solucao
 interessante. Tambem gostaria de perguntar ao pessoal que e mais fa do
 CPAN, o que acham de modulos que sao distribuidos como pacotes. Se e
 bom/ruim para o ecossistema.

 Entao, o problema foi quando tentei cpan install CouchDB::Client. Que
 funcionou em outras maquinas mas nao no Fedora 19 que tenho aqui. Quebrou
 em algum modulo referente a testes, que dependia do Module::Build que
 tambem falhou.

 Nao querendo gastar muito tempo com isso, fui para o plano B : Pacotes
 de modulos. O motivo dos pacotes serem meu plano B e que cada distribuicao
 gosta de um nome diferente e as vezes e irritante ter que adivinhar, mas
 acab

Re: [Rio-pm] CPAN x Pacotes Ou CPAN + Pacotes

2014-04-04 Por tôpico Renato Santos
Não sei quanto ao Fedora em especifico, mas geralmente, se você não esta
instalando os pacotes usando local::lib ou perlbrew, você pode, sem querer,
acabar instalando módulos novos em cima dos módulos do sistema, o que
poderia, teoricamente, quebrar o sistema,

é um pouco mais grave quando o sistema alterou o fonte de alguns módulos do
perl-core, pois ai quando você atualiza, você remove essa alteração e ai
começa as loucuras.

Você pode dar uma olhada no https://metacpan.org/pod/local::lib
pois ele cria um ambiente, que quando você rodar o programa cpan, ele vai
instalar na pasta ~/perl5 evitando conflitos com o sistema.

Com ele, você continua usando o mesmo binário do perl do sistema, porém,
com as libs apontando para carregar antes em ~/perl5.


Já com perlbrew (http://sao-paulo.pm.org/equinocio/2011/set/3) você compila
uma versão do perl para um determinado usuário (ou vários) totalmente
independente do perl do SO.

Ai você pode instalar os módulos em cada versão do perl separadamente.

Todos os módulos feitos puramente em perl, teoricamente, funcionam em
"todas" plataformas que o perl é possivelmente compilado.

Porém, uma boa parte dos módulos fazem uso de XS e link externo com outras
libs.

Esse não parece ser o caso do CouchDB::Client, pois olhando o código por
cima, ele se comunica com o CouchDB via HTTP.

Mas é o caso do SDL, por exemplo, ou DBD::Pg (que precisa saber onde ta a
lib do postgres)

Ai criaram os pacotes que começam com Alien:: que prepara o ambiente,
compila e linka os modulos, ex: Alien::SDL



2014-04-04 15:24 GMT-03:00 Samir Cury :

> E ai pessoal,
>
> Acabei de passar por um pequeno problema com o CPAN e achei uma solucao
> interessante. Tambem gostaria de perguntar ao pessoal que e mais fa do
> CPAN, o que acham de modulos que sao distribuidos como pacotes. Se e
> bom/ruim para o ecossistema.
>
> Entao, o problema foi quando tentei cpan install CouchDB::Client. Que
> funcionou em outras maquinas mas nao no Fedora 19 que tenho aqui. Quebrou
> em algum modulo referente a testes, que dependia do Module::Build que
> tambem falhou.
>
> Nao querendo gastar muito tempo com isso, fui para o plano B : Pacotes de
> modulos. O motivo dos pacotes serem meu plano B e que cada distribuicao
> gosta de um nome diferente e as vezes e irritante ter que adivinhar, mas
> acabei de achar um macete :
>
> yum install 'perl(Module::Build)'
>
> O pessoal do YUM mandou muito bem. Uma vez que o Module::Build foi
> instalado, procurei pelo pacote do modulo CouchDB::Client. Nao existia.
> Porem voltando para o CPAN e tentando de novo o CouchDB::Client foi
> tranquilo. Posso voltar a trabalhar no que eu preciso trabalhar, nao em
> consertar testes :-).
>
> Mas acho interessante a discussao sobre CPAN x Pacotes. Uma das principais
> desvantagens que ouvi uma vez (nao conferi) e que o CPAN acaba "nao
> sabendo" o que o Yum/Apt instalou. Procede? Existe algum efeito colateral
> grave conhecido?
>
> Abracos,
> Samir
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [Curiosidade] Perl no smartphone

2014-03-02 Por tôpico Renato Santos
Rodar Perl é relativamente simples, difícil é criar uma app.

Dado que o Perl tem poucas dependências, você precisa ter um compilar C no
smartphone e paciência.

Acho que Tinha um grupo, uns 3 anos atrás, no Android 1.5 (sim, já existiu)
que rodavam Perl. Mas não sabe mais disso!
On Mar 3, 2014 12:26 AM, "Aureliano Guedes"  wrote:

> Ola monges,
>
> So uma curiosidade.
> Alguem conhece ou ja viu algum metodo, projeto ou mesmo algum grupo que
> tenha apenas a vontade de rodar perl em smartphone, seja android windows
> phone ou iOS?
>
> T+
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Configuração de usuário não root no cpan & Perl Roll em Rocks Cluster

2014-01-30 Por tôpico Renato Santos
Posso estar falando besteira, mas da pra você configurar o perlbrew também
pra ser compartilhado. Mas aí quando um usuário instalar um módulo, todos
os outros vão enxergar esse módulo também
On Jan 30, 2014 12:02 PM, "Nicole Scherer" 
wrote:

> Oi Stanislaw,
>
> era exatamente isso que eu queria evitar, ter que invocar o local::lib
> pelo profile, pois assim, teria que instalá-lo em todos os nós do cluster,
> e isso seria uma outra acrobacia, devido a forma que o rocks funciona.
> Vou pensar um uma estratégia para colocar no .bashrc do usuário durante a
> configuração, como deveria ter sido feito pelo FirstTime.pm, mas não foi.
> Ainda não entendi por que não está funcionando.
>
> De toda forma, muito obrigada
>
> Abraços,
> Nicole
>
>
>
>   Em Quinta-feira, 30 de Janeiro de 2014 11:46, Stanislaw Pusep <
> creakt...@gmail.com> escreveu:
>  Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os
> diretórios necessários. Se salvar as variáveis de ambiente, não precisa
> rodar nunca mais.
> Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar
> a automação, basta colocar no final do /etc/profile (sim, o do sistema):
> "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão
> local::lib configurado ao fazer o login :)
>
>
> 2014-01-30 Nicole Scherer 
>
> Obrigada, Stanislaw!
>
> Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e
> colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele
> nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez
> que for instalar novos pacotes? Com as variáveis de ambiente definidas
> ainda preciso do local::lib?
>
> Abraços,
> Nicole
>
>
>
>
>   Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep <
> creakt...@gmail.com> escreveu:
>  Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl
> do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa
> etapa.
> O que acontece se você rodar "perl -Mlocal::lib"?
> Aqui, por exemplo, aparece:
>
> PATH="/Users/stas/perl5/bin${PATH+:}$PATH";
> export PATH;
> PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB";
> export PERL5LIB;
>
> PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT";
> export PERL_LOCAL_LIB_ROOT;
> PERL_MB_OPT="--install_base \"/Users/stas/perl5\"";
> export PERL_MB_OPT;
> PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5";
> export PERL_MM_OPT;
>
> Se você colar o output produzido no seu sistema para o .bashrc/.profile, o
> Perl "se sentirá em casa" no $HOME :)
> O cpanminus é opcional; única coisa absolutamente necessária é que "perl
> -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as
> variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib"
> diz.
>
>
> 2014-01-30 Nicole Scherer 
>
> Obrigada Stanislaw e Aureliano!
>
> Aureliano, a bioinformática está tomada por mulheres :-) Já foste no
> X-Meeting?
>
> Stanislaw,
>
> como gestora do cluster, meu objetivo é deixar para o usuário o sistema
> pronto para que ele possa instalar seus módulos localmente sem ter que
> fazer acrobacias. Eu já instalei o local::lib no sistema como root, então
> não seria necessário que o usuário instalasse novamente, correto? Ou ele
> precisaria fazer sua própria instalação?
>
> Quando o usuário faz sua primeira incursão no cpan e realiza a
> configuração, aparece a seguinte mensagem:
>
>
> ---
> local::lib is installed. You must now add the following environment
> variables
> to your shell configuration files (or registry, if you are on Windows) and
> then restart your command line shell and CPAN before installing modules:
>
>
> Would you like me to append that to /home/hpcst06/.bashrc now? [yes]
>
>
> ---
>
> Porém, como podes ver, o "following environment variables" está vazio e
> nenhuma modificação é feita no .bashrc
>
> Esta etapa é que deveria definir as tais variáveis de ambiente. Não
> entendo por que não está funcionando.
> Desta forma, a única solução seria mesmo acrescentar estas linhas ao
> .profile a força.
>
> Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan
> e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso
> seja demais, não?
>
> Qual o objetivo de instalar o App::cpanminus?
> A partir daí o usuário deve usar cpanm ao invés de cpan?
>
> Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só
> instalei no frontend), pode dar problema na hora de executar os programas
> em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na
> configuração do ambiente local, não é usado na execução dos módulos, certo?
> O home do usuário é montado em cada nó durante a execução, então o perl vai
> executar com as variá

Re: [Rio-pm] Perl e Facebook

2014-01-10 Por tôpico Renato Santos
Isso é só um mirror, geralmente de "contribuição" por utilizar Perl em
alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um
servidor não é nada, eles fazem o mirror. Assim como globo . com, etc
On Jan 10, 2014 9:26 AM, "Andre Luis"  wrote:

> Bom dia lista,
>
>
> Hoje configurando o CPAN na minha maquina notei uma coisa curiosa
>
>
> (32) http://cpan.mirror.facebook.net/
>
>
> Alguém sabe se o facebook está trabalhando com perl? Eu achava que o
> facebook usava PHP
>
>
> Abs
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Renato Santos
 SIGINT2   TermInterrupt from keyboard


Esse é o CTRL+C,

$SIG{INT} = 'IGNORE';

não consegui fazer assim:

my $c = 0; $SIG{INT} = sub { return 'IGNORE' if $c++ < 3 };

não sei porque, alguem sabe?


2013/11/25 Andre Luis 

> nesse caso só iria ignorar ele nao irira tratar ... pelo que eu entendi
> ele quer tratar
>
>
>
> $SIG{KILL} = sub {  do_something() };
>
>
>
>
> Em 25 de novembro de 2013 16:06, Renato Santos 
> escreveu:
>
> você tem que ignorar o sinal de KILL do sistema.
>>
>>
>> para saber mais sobre os sinais, http://perldoc.perl.org/perlipc.html
>>
>> algo para ignorar pra sempre,
>>
>>
>> $SIG{KILL} = 'IGNORE';
>>
>>
>>
>> 2013/11/25 Aureliano Guedes 
>>
>>> Boa tarde,
>>> Monges.
>>>
>>> Gostaria de saber se existe a possibilidade de eu controlar comandos do
>>> sistema?
>>>
>>> Bom, quando estamos executando algum script, se eu quiser encerra-lo a
>>> qualquer momento basta que eu tecle Ctrl + C.
>>> Mas e se eu quisesse, especificamente em um script, determinar que seu
>>> encerramento fosse após apertar 3 vezes consecutivas Ctrl + C, ou então ao
>>> apertar Ctrl + shift + C, ou sei lá, qualquer outro comando que eu queira,
>>> como deveria fazer?
>>>
>>> Desde já grato.
>>>
>>> Att,
>>> Aureliano Guedes
>>>
>>> ___
>>> Rio-pm mailing list
>>> Rio-pm@pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>
>>
>>
>> --
>> Saravá,
>> Renato CRON
>> http://www.renatocron.com/blog/
>> @renato_cron <http://twitter.com/#!/renato_cron>
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> "technology does not drive change - it enables change"
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Renato Santos
você tem que ignorar o sinal de KILL do sistema.


para saber mais sobre os sinais, http://perldoc.perl.org/perlipc.html

algo para ignorar pra sempre,


$SIG{KILL} = 'IGNORE';



2013/11/25 Aureliano Guedes 

> Boa tarde,
> Monges.
>
> Gostaria de saber se existe a possibilidade de eu controlar comandos do
> sistema?
>
> Bom, quando estamos executando algum script, se eu quiser encerra-lo a
> qualquer momento basta que eu tecle Ctrl + C.
> Mas e se eu quisesse, especificamente em um script, determinar que seu
> encerramento fosse após apertar 3 vezes consecutivas Ctrl + C, ou então ao
> apertar Ctrl + shift + C, ou sei lá, qualquer outro comando que eu queira,
> como deveria fazer?
>
> Desde já grato.
>
> Att,
> Aureliano Guedes
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Emissão de NF-e

2013-10-28 Por tôpico Renato Santos
Até onde eu lembro, o maior problema mesmo era conseguir testar se os XML
estavam corretos, pq tem q ter os arquivos de chaves e etc.

eu não entendo bem disso (embora seja o mantedor do modulo haha)

acho que pra pequenas empresas que queiram fazer isso, compensa pagar algum
terceiro.

mas seria bem legal ter em perl, poderia ate virar concorrente dessas
empresas que vendem para pequnas!


2013/10/28 Daniel Vinciguerra 

> Se alguém iniciar o projeto eu me proponho a contribuir!
>
> Só deve ser definido bem se o projeto em questão será para nota fiscal
> eletrônica (federal) ou  para notas de serviço (municipal e cada prefeitura
> possui uma implementação).
>
> Abraço,
>
>
> *
> Daniel Vinciguerra*
> Web Solutions Architect and Co-Owner at Bivee
> http://github.com/dvinciguerra <http://github.com/dvinciguerra>
>
>
> 2013/10/28 Renato Santos 
>
>> Hmm,
>>
>> e um plus, sobre o B:BR:NFe::RPS::TXT é que ele é apenas para o estado de
>> São Paulo
>>
>> E o TXT tem que ser enviado manualmente pelo contador/responsavel.
>>
>> 
>>
>> Até onde eu sei, o mais completo em linguagens não java nem .net é o
>> http://www.nfephp.org/
>>
>> porém nunca usei!
>>
>>
>>
>> 2013/10/28 Aureliano Guedes 
>>
>>> Bom, eu já havia lido a respeito, e vi que é bem complicadinho, pois
>>> existe muita burrocracia (regrinha), alem de que a maioria dos
>>> desenvolvedores que conheci que mechem com isso falaram que não há consenso
>>> entre os órgãos.
>>> A exemplo disso é o código das cidades, o CEP é o modelo mais conhecido
>>> para identificar uma cidade, mas na receita federal são identificados por
>>> outro número, e no IBGE outro.
>>>
>>> Em Delphi, existe um componente chamado AcBR (
>>> http://acbr.sourceforge.net/drupal/?q=node/36) não é um emissor, mas
>>> adianta o trabalho e muito.
>>> No CPAN tem um módulo chamado Business::BR::NFe::RPS::TXT (
>>> http://search.cpan.org/~rentocron/Business-BR-NFe-RPS-TXT-0.0124/lib/Business/BR/NFe/RPS/TXT.pm),
>>> e só.
>>>
>>> Pensei em tentar desenvolver um módulo para facilitar o desenvolvimento
>>> de emissores de NF-e em Perl, pois acho que ficaria muito bom já que tem
>>> empresas que emitem um volume assustador de notas.
>>>
>>> O emissor gratuito do governo trava totalmente quando você emite mais de
>>> 30 notas por dia, digo pois conheço um cara mão-de-vaca, que só usa ele e
>>> passa dificuldades por conta disso.
>>>
>>> Quanto a ser pago, vou verificar, pois também acho um absurdo se fosse
>>> (pago para receita, não para empresas que desenvolvem essas ferramentas),
>>> contudo o emissor gratuito do governo não é pago, o que me faz pensar que
>>> eu tenho direito de desenvolver meu próprio emissor sem precisar pagar nada
>>> pra ninguém.
>>>
>>>
>>>
>>> --
>>> Date: Sun, 27 Oct 2013 22:54:21 -0200
>>> From: andregarciacarne...@gmail.com
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] Emissão de NF-e
>>>
>>>
>>> Aureliano
>>>
>>> Acho difícil que exista algo desse tipo em qualquer linguagem, que não
>>> seja proprietário. Mesmo para poder usar a API via webservice é preciso
>>> está credenciado pela receita federal, e o serviço, se não me engano, é
>>> pago! O que acho um absurdo, mas isso não importa!
>>>
>>>
>>> Achei esse material aqui num fórum. Não sei se está atualizado Espero
>>> que seja útil!
>>>
>>> http://www.guj.com.br/posts/downloadAttach/4710.java
>>>
>>>
>>> Fuçando mais um pouquinho achei isso aqui:
>>>
>>> http://www.ticontrole.gov.br/portal/page/portal/ticontrole/biblioteca
>>>
>>>
>>> Por acaso é a origem do documento que encontrei no fórum. Mas não
>>> encontrei essas coisas no site da receita federal. Provavelmente porque não
>>> deveria mesmo estar lá!
>>>
>>> Proost!
>>>
>>>
>>>
>>> 2013/10/27 Aureliano Guedes 
>>>
>>> Boa tarde,
>>> Monges.
>>>
>>> Gostaria de saber se alguém conhece algum módulo voltado para integração
>>> com a secretaria da fazenda para emissão de nota fiscal eletrônica?
>>>
>>> Obrigado,
>>>
>>> ___
>>> Rio-pm mailing list
>>> Rio-pm@pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Emissão de NF-e

2013-10-28 Por tôpico Renato Santos
Hmm,

e um plus, sobre o B:BR:NFe::RPS::TXT é que ele é apenas para o estado de
São Paulo

E o TXT tem que ser enviado manualmente pelo contador/responsavel.



Até onde eu sei, o mais completo em linguagens não java nem .net é o
http://www.nfephp.org/

porém nunca usei!



2013/10/28 Aureliano Guedes 

> Bom, eu já havia lido a respeito, e vi que é bem complicadinho, pois
> existe muita burrocracia (regrinha), alem de que a maioria dos
> desenvolvedores que conheci que mechem com isso falaram que não há consenso
> entre os órgãos.
> A exemplo disso é o código das cidades, o CEP é o modelo mais conhecido
> para identificar uma cidade, mas na receita federal são identificados por
> outro número, e no IBGE outro.
>
> Em Delphi, existe um componente chamado AcBR (
> http://acbr.sourceforge.net/drupal/?q=node/36) não é um emissor, mas
> adianta o trabalho e muito.
> No CPAN tem um módulo chamado Business::BR::NFe::RPS::TXT (
> http://search.cpan.org/~rentocron/Business-BR-NFe-RPS-TXT-0.0124/lib/Business/BR/NFe/RPS/TXT.pm),
> e só.
>
> Pensei em tentar desenvolver um módulo para facilitar o desenvolvimento de
> emissores de NF-e em Perl, pois acho que ficaria muito bom já que tem
> empresas que emitem um volume assustador de notas.
>
> O emissor gratuito do governo trava totalmente quando você emite mais de
> 30 notas por dia, digo pois conheço um cara mão-de-vaca, que só usa ele e
> passa dificuldades por conta disso.
>
> Quanto a ser pago, vou verificar, pois também acho um absurdo se fosse
> (pago para receita, não para empresas que desenvolvem essas ferramentas),
> contudo o emissor gratuito do governo não é pago, o que me faz pensar que
> eu tenho direito de desenvolver meu próprio emissor sem precisar pagar nada
> pra ninguém.
>
>
>
> --
> Date: Sun, 27 Oct 2013 22:54:21 -0200
> From: andregarciacarne...@gmail.com
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] Emissão de NF-e
>
>
> Aureliano
>
> Acho difícil que exista algo desse tipo em qualquer linguagem, que não
> seja proprietário. Mesmo para poder usar a API via webservice é preciso
> está credenciado pela receita federal, e o serviço, se não me engano, é
> pago! O que acho um absurdo, mas isso não importa!
>
>
> Achei esse material aqui num fórum. Não sei se está atualizado Espero que
> seja útil!
>
> http://www.guj.com.br/posts/downloadAttach/4710.java
>
>
> Fuçando mais um pouquinho achei isso aqui:
>
> http://www.ticontrole.gov.br/portal/page/portal/ticontrole/biblioteca
>
>
> Por acaso é a origem do documento que encontrei no fórum. Mas não
> encontrei essas coisas no site da receita federal. Provavelmente porque não
> deveria mesmo estar lá!
>
> Proost!
>
>
>
> 2013/10/27 Aureliano Guedes 
>
> Boa tarde,
> Monges.
>
> Gostaria de saber se alguém conhece algum módulo voltado para integração
> com a secretaria da fazenda para emissão de nota fiscal eletrônica?
>
> Obrigado,
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> André Garcia Carneiro
> Software Engineer
> (11)982907780
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Testar o módulo Geo::Coder::GoogleMaps

2013-07-16 Por tôpico Renato Santos
até poucos commits atras existia esse cara aqui,

https://github.com/W3CBrasil/Iota/blob/7c6659a883f5fe34dd1dfca4a33e19173deea9ef/root/static/js/api.dados.js#L830

mas ai eu troquei para mapa de calor.

o codigo ta meio estranho, mas pode ajudar!


2013/7/16 Cleysinho 

> Oi Renato.
>
> Funcionou perfeitamente. Obrigado pela disponibilidade em responder a
> minha pergunta.
> Se em algum momento precisar disponha-se! Aproveitando, vc já usou algum
> módulo que manipule a API do markerclusterer?
>
>
> Em 16 de julho de 2013 17:51, Cleysinho  escreveu:
>
> Vou fazer o teste rapidamente. Para ver se consigo responder em tempo real.
>>
>>
>> Em 16 de julho de 2013 17:40, Renato Santos escreveu:
>>
>> Ah,
>>> e a versao 2 saiu do ar!
>>> http://stackoverflow.com/questions/15364521/google-maps-returning-error-610
>>>
>>>
>>> 2013/7/16 Renato Santos 
>>>
>>>> Então,
>>>>
>>>> Nesse modulo, existe um
>>>>
>>>> WARNING WARNING WARNING
>>>>
>>>>
>>>>
>>>> There is a huge API change between version 0.2 and 0.3 ! Please 
>>>> see the documentation of the geocode() method !
>>>>
>>>>
>>>> Eu utilizo o Geo::Coder::Google é mais recente e suporta a versão 3 da
>>>> API.
>>>>
>>>> Tem um exemplo de algo semelhante aqui:
>>>>
>>>> https://github.com/W3CBrasil/Iota/blob/master/script/atualiza_lat_log_cidades.pl
>>>>
>>>>
>>>> 2013/7/16 Cleysinho 
>>>>
>>>>>  Olá pessoal,
>>>>>
>>>>> Estou desenvolvendo um sistema em que por algumas situações coleta-se
>>>>> informações geográficas com base em informações de endereços (logradouro).
>>>>> Estou usando o módulo Geo::Coder::GoogleMaps para extrair tais informações
>>>>> de latitude e longitude. Ocorre-me que nas primeiras implementações o
>>>>> script funcionou normalmente, porém de meses para cá  não esta 
>>>>> funcionando.
>>>>> Eu acredito ser uma alteração na API do google que esse módulo utiliza. Na
>>>>> documentação do módulo sugerem um pequeno exemplo que não esta funcionando
>>>>> tambem. Por gentileza alguém pode testar se o código que sugerem esta
>>>>> realmente funcionando?
>>>>>
>>>>> use Geo::Coder::GoogleMaps;
>>>>> my $gmap = Geo::Coder::GoogleMaps->new( apikey => 'abcd' , output 
>>>>> => 'xml');my $response = $gmap->geocode(location => '88 rue du chateau, 
>>>>> 92600, Asnières sur seine, France');if( $response->is_success() ){
>>>>>my $location = $response->placemarks()->[0];
>>>>>print $location->latitude,',',$location->longitude,"\n";
>>>>>$location->toKML()->toString(); # is absolutly equivalent to 
>>>>> $location->toKML(1);}
>>>>>
>>>>>
>>>>> Estou usando o Sistema Operacional Linux Ubuntu na versão 12.04 e
>>>>> 13.04.
>>>>>
>>>>> Se alguém puder me ajudar ou sugerir-me um outro módulo onde posso
>>>>> coletar a coordenada geográfica. Fico grato.
>>>>>
>>>>> Um abraço.
>>>>>
>>>>> --
>>>>> **
>>>>>  .: Inteligência Coletiva :.
>>>>> Uma inteligência distribuída por toda parte: tal é o nosso axioma
>>>>> inicial. Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na
>>>>> humanidade’. (Pierre Lévy)
>>>>>
>>>>> José Cleydson F. da Silva
>>>>> *O**pen Source Bioinformatics Community*
>>>>> http://opensourcebioinformatics.com
>>>>>
>>>>> ___
>>>>> Rio-pm mailing list
>>>>> Rio-pm@pm.org
>>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Saravá,
>>>> Renato CRON
>>>> http://www.renatocron.com/blog/
>>>> @renato_cron <http://twitter.com/#!/renato_cron>
>>>>
>>>
>>>
>>>
>>> --
>>> Saravá,
>>> Renato CRON
>>> http://www.renatocron.com/blog/
>>> @renato_cron <http://twitter.com/#!/renato_cron>
>>>
>>> ___
>>> Rio-pm mailing list
>>> Rio-pm@pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>
>>
>>
>> --
>> **
>> .: Inteligência Coletiva :.
>> Uma inteligência distribuída por toda parte: tal é o nosso axioma
>> inicial. Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na
>> humanidade’. (Pierre Lévy)
>>
>> José Cleydson F. da Silva
>> *O**pen Source Bioinformatics Community*
>>
>> http://opensourcebioinfo.com <http://opensourcebioinformatics.com>
>>
>
>
>
> --
> **
>  .: Inteligência Coletiva :.
> Uma inteligência distribuída por toda parte: tal é o nosso axioma inicial.
> Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na
> humanidade’. (Pierre Lévy)
>
> José Cleydson F. da Silva
> *O**pen Source Bioinformatics Community*
> http://opensourcebioinfo.com <http://opensourcebioinformatics.com>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Testar o módulo Geo::Coder::GoogleMaps

2013-07-16 Por tôpico Renato Santos
Ah,
e a versao 2 saiu do ar!
http://stackoverflow.com/questions/15364521/google-maps-returning-error-610


2013/7/16 Renato Santos 

> Então,
>
> Nesse modulo, existe um
>
> WARNING WARNING WARNING
>
>
> There is a huge API change between version 0.2 and 0.3 ! Please see 
> the documentation of the geocode() method !
>
>
> Eu utilizo o Geo::Coder::Google é mais recente e suporta a versão 3 da API.
>
> Tem um exemplo de algo semelhante aqui:
>
> https://github.com/W3CBrasil/Iota/blob/master/script/atualiza_lat_log_cidades.pl
>
>
> 2013/7/16 Cleysinho 
>
>>  Olá pessoal,
>>
>> Estou desenvolvendo um sistema em que por algumas situações coleta-se
>> informações geográficas com base em informações de endereços (logradouro).
>> Estou usando o módulo Geo::Coder::GoogleMaps para extrair tais informações
>> de latitude e longitude. Ocorre-me que nas primeiras implementações o
>> script funcionou normalmente, porém de meses para cá  não esta funcionando.
>> Eu acredito ser uma alteração na API do google que esse módulo utiliza. Na
>> documentação do módulo sugerem um pequeno exemplo que não esta funcionando
>> tambem. Por gentileza alguém pode testar se o código que sugerem esta
>> realmente funcionando?
>>
>> use Geo::Coder::GoogleMaps;
>> my $gmap = Geo::Coder::GoogleMaps->new( apikey => 'abcd' , output => 
>> 'xml');my $response = $gmap->geocode(location => '88 rue du chateau, 92600, 
>> Asnières sur seine, France');if( $response->is_success() ){
>>my $location = $response->placemarks()->[0];
>>print $location->latitude,',',$location->longitude,"\n";
>>$location->toKML()->toString(); # is absolutly equivalent to 
>> $location->toKML(1);}
>>
>>
>> Estou usando o Sistema Operacional Linux Ubuntu na versão 12.04 e 13.04.
>>
>> Se alguém puder me ajudar ou sugerir-me um outro módulo onde posso
>> coletar a coordenada geográfica. Fico grato.
>>
>> Um abraço.
>>
>> --
>> **
>>  .: Inteligência Coletiva :.
>> Uma inteligência distribuída por toda parte: tal é o nosso axioma
>> inicial. Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na
>> humanidade’. (Pierre Lévy)
>>
>> José Cleydson F. da Silva
>> *O**pen Source Bioinformatics Community*
>> http://opensourcebioinformatics.com
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> Saravá,
> Renato CRON
> http://www.renatocron.com/blog/
> @renato_cron <http://twitter.com/#!/renato_cron>
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Testar o módulo Geo::Coder::GoogleMaps

2013-07-16 Por tôpico Renato Santos
Então,

Nesse modulo, existe um

WARNING WARNING WARNING


There is a huge API change between version 0.2 and 0.3 !
Please see the documentation of the geocode() method !


Eu utilizo o Geo::Coder::Google é mais recente e suporta a versão 3 da API.

Tem um exemplo de algo semelhante aqui:
https://github.com/W3CBrasil/Iota/blob/master/script/atualiza_lat_log_cidades.pl


2013/7/16 Cleysinho 

> Olá pessoal,
>
> Estou desenvolvendo um sistema em que por algumas situações coleta-se
> informações geográficas com base em informações de endereços (logradouro).
> Estou usando o módulo Geo::Coder::GoogleMaps para extrair tais informações
> de latitude e longitude. Ocorre-me que nas primeiras implementações o
> script funcionou normalmente, porém de meses para cá  não esta funcionando.
> Eu acredito ser uma alteração na API do google que esse módulo utiliza. Na
> documentação do módulo sugerem um pequeno exemplo que não esta funcionando
> tambem. Por gentileza alguém pode testar se o código que sugerem esta
> realmente funcionando?
>
> use Geo::Coder::GoogleMaps;
> my $gmap = Geo::Coder::GoogleMaps->new( apikey => 'abcd' , output => 
> 'xml');my $response = $gmap->geocode(location => '88 rue du chateau, 92600, 
> Asnières sur seine, France');if( $response->is_success() ){
>my $location = $response->placemarks()->[0];
>print $location->latitude,',',$location->longitude,"\n";
>$location->toKML()->toString(); # is absolutly equivalent to 
> $location->toKML(1);}
>
>
> Estou usando o Sistema Operacional Linux Ubuntu na versão 12.04 e 13.04.
>
> Se alguém puder me ajudar ou sugerir-me um outro módulo onde posso coletar
> a coordenada geográfica. Fico grato.
>
> Um abraço.
>
> --
> **
>  .: Inteligência Coletiva :.
> Uma inteligência distribuída por toda parte: tal é o nosso axioma inicial.
> Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na
> humanidade’. (Pierre Lévy)
>
> José Cleydson F. da Silva
> *O**pen Source Bioinformatics Community*
> http://opensourcebioinformatics.com
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [OFF] - Mão de Obra Projetos

2013-06-13 Por tôpico Renato Santos
HAHAHAHAHAHA Aureliano++



2013/6/13 Aureliano Guedes 

> Aleluia, pela divina grassa de Deus eu sou ateu. Amem senhor!
>
> http://www.youtube.com/watch?v=VgCx2bNxveM
>
> > Date: Thu, 13 Jun 2013 15:16:45 -0300
> > From: daniel.oliveira.mantov...@gmail.com
>
> > To: rio-pm@pm.org
> > Subject: Re: [Rio-pm] [OFF] - Mão de Obra Projetos
> >
> > Márcio, o problema é que você é um tipo de profissional que um
> > designer (que não tem foco em programação) olhou a sua lógica e
> > começou a bater a cabeça na porta de tão absurda que estava. Seus
> > ex-colegas de trabalho são testemunhas.
> >
> > Você fica repetindo esses provérbios que seu pastor falou na igreja,
> > porque você não lê um livro inteiro e aprende alguma coisa ?
> >
> > 2013/6/13 Marcio Ferreira :
> > > E nao houve desdenha, pelo contrário.
> > > Como diz o ditado: "Corrija um sábio e o fará mais sábio. Corrija um
> tolo e
> > > o fará teu inimigo!!!"
> > > Sem mais
> > >
> > >
> > > []s,
> > >
> > > Marcio Ferreira
> > > skype: marcio.ferreir4
> > > (21) 8365-7768
> > >
> > >
> > > 2013/6/13 Daniel de Oliveira Mantovani <
> daniel.oliveira.mantov...@gmail.com>
> > >>
> > >> Márcio, a sua tentativa de desdenha e o seu comportamento na lista
> > >> depois dos perl mongers terem ajudado você e a sua família mostra que
> > >> você não tem educação.
> > >>
> > >> 2013/6/13 Marcio Ferreira :
> > >> > OK Mantovani, se seu pai nao te deu educação, nao sou eu a fazer
> isso.
> > >> >
> > >> > Boa sorte!
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > []s,
> > >> >
> > >> > Marcio Ferreira
> > >> > skype: marcio.ferreir4
> > >> > (21) 8365-7768
> > >> >
> > >> >
> > >> > 2013/6/13 Daniel de Oliveira Mantovani
> > >> > 
> > >> >>
> > >> >> Márcio, sua experiência pessoal se limita a ser um simples
> > >> >> desenvolvedor PHP. Deixe as pessoas sérias interessadas se
> colocarem.
> > >> >> Mas não fiquei triste, isso não é uma piada é a sua situação atual.
> > >> >>
> > >> >> 2013/6/13 Marcio Ferreira :
> > >> >> > Mantovani,
> > >> >> >
> > >> >> > não entendi o objetivo do seu e-mail, é captação de projeto?
> > >> >> > Se for isso recomendo vc usar o linkedin!
> > >> >> >
> > >> >> >> Pessoal, estou com uma equipe de quatro pessoas boas. Uma delas
> é a
> > >> >> >> pessoa mais inteligente que eu conheço,
> > >> >> >
> > >> >> >
> > >> >> > Detalhe melhor sua equipe, "a pessoa mais inteligente que
> conheço" é
> > >> >> > tão
> > >> >> > arbitrário quanto dizer "hoje é o dia mais ensolarado da minha
> vida".
> > >> >> > Da forma que está escrito soa infantil e sem peso "comercial".
> > >> >> > Diga a experiência de cada um, no que sua equipe foco(sem tiver),
> > >> >> > projetos
> > >> >> > que já desenvolveram, etc.
> > >> >> >
> > >> >> >>
> > >> >> >> eu consigo um preço incrível na hora.
> > >> >> >
> > >> >> >
> > >> >> > Isso é um detalhe sensível, e acredito q varie com o projeto, ou
> > >> >> > seja,
> > >> >> > parece SPAM ou algo do genero, evite essa abordagem assim tão
> aberta.
> > >> >> >
> > >> >> >>
> > >> >> >> O desenvolvimento será em Java e dependendo do problema
> > >> >> >> poderá ser usado qualquer outra linguagem.
> > >> >> >
> > >> >> >
> > >> >> > Se o desenvolvimento é em Java, não é interessante enviar numa
> lista
> > >> >> > de
> > >> >> > Java? Linkedin mais uma vez!
> > >> >> >
> > >> >> >>
> > >> >> >> Se alguém tem algum projeto interessante e quiser fazer um
> teste me
> > >> >> >> manda um e-mail pessoal, daniel.oliveira.mantov...@gmail.com
> > >> >> >
> > >> >> >
> > >> >> > O que é projeto interessante?
> > >> >> >
> > >> >> >
> > >> >> > E encare que o fato de você enviar publicamente, está aberto de
> ser
> > >> >> > alvo
> > >> >> > de
> > >> >> > piada, não se preocupe com isso, é uma piada ;-)
> > >> >> >
> > >> >> > ___
> > >> >> > Rio-pm mailing list
> > >> >> > Rio-pm@pm.org
> > >> >> > http://mail.pm.org/mailman/listinfo/rio-pm
> > >> >>
> > >> >>
> > >> >>
> > >> >> --
> > >> >>
> > >> >> -dom
> > >> >>
> > >> >> --
> > >> >>
> > >> >> IBM - Business Analytics Optimization Consultant
> > >> >> Daniel Mantovani +5511 8538-9897
> > >> >> XOXO
> > >> >> ___
> > >> >> Rio-pm mailing list
> > >> >> Rio-pm@pm.org
> > >> >> http://mail.pm.org/mailman/listinfo/rio-pm
> > >> >
> > >> >
> > >> >
> > >> > ___
> > >> > Rio-pm mailing list
> > >> > Rio-pm@pm.org
> > >> > http://mail.pm.org/mailman/listinfo/rio-pm
> > >>
> > >>
> > >>
> > >> --
> > >>
> > >> -dom
> > >>
> > >> --
> > >>
> > >> IBM - Business Analytics Optimization Consultant
> > >> Daniel Mantovani +5511 8538-9897
> > >> XOXO
> > >> ___
> > >> Rio-pm mailing list
> > >> Rio-pm@pm.org
> > >> http://mail.pm.org/mailman/listinfo/rio-pm
> > >
> > >
> > >
> > > ___
> > > Rio-pm mailing list
> > > Rio-pm@pm.org
> > > http://mail.pm.org/mailman/listi

Re: [Rio-pm] ES Hoje? Que tal Bar do B?

2013-06-13 Por tôpico Renato Santos
Qual é Marcio, só pq tu nunca pediu licensa pros ratos no gordurinha, o
cara lá pedia!



2013/6/13 Marcio Ferreira 

> Retrospect YAPC??
> Mercadinho no way. Última q fui tive de pedir licensa pra barata sair do
> copo =/
>
>
>
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
>
> 2013/6/13 breno 
>
>> Mercadinho? Eu topo!
>>
>> 2013/6/13 Nuba Princigalli :
>> > É a segunda quinta do mês! É dia de ES! Nunca é tarde demais pra puxar a
>> > thread:
>> >
>> > Que tal Bar do B?
>> >
>> > Tem blues lá hoje, https://www.facebook.com/bardobonline/about a
>> partir de
>> > 9pm.
>> >
>> > Abraço,
>> >
>> > Nuba
>> >
>> >
>> > --
>> > Nuba R. Princigalli n...@pauleira.com http://pauleira.com @nprincigalli
>> > Discipline is not an end in itself, just a means to an end. - King
>> Crimson
>> >
>> >
>> > ___
>> > Rio-pm mailing list
>> > Rio-pm@pm.org
>> > http://mail.pm.org/mailman/listinfo/rio-pm
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] breakpoint

2013-06-04 Por tôpico Renato Santos
Vei, o $DB::single = 1; é um breakpoint!

Mas pra o código parar ai, você precisa subir o processo com o debug, o que
afetaria sua performance um pouco, mas se vc esta desenvolvendo não tem o
menor problema!


2013/6/5 Marcio Ferreira 

> [OFF-TOPIC breakpoint]
>
> @Renato, vou ilustrar com mais detalhes oq estou fazendo. =P
> Tenho uma maquina de estado com dispatch de rotinas que pontuam eventos no
> meio do processamento.
> As vezes alguns eventos mudam o comportamento do processamento e preciso
> "normalizar" o processamento.
> Enfim isso não tem nada a vê com o tópico, só descrevi pra vc entender que
> é um processamento demorado e complexo de debugar. =S
>
> Poderia fazer algo do tipo: `./proc.pl > saida.out; tail -f saida.out`
> BLZ! Mas é demorado debugar desse modo. Pensei que houvesse um módulo super
> fantastico que permitisse algo mais proximo de um break point.
>
> Enfim, sem mais DDP, pls =)
>
>
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
>
> 2013/6/5 Renato Santos 
>
>> eu realmente não entendi.
>>
>> Pra mim é muito mais simples ir no meio do código e colocar "use DDP; p
>> $foo; p $bar; [exit, last, next if $xoo... etc..]" do que subir o perl com
>> debug, que vai deixar tudo mais lento, e não apenas na hora do Dumper.
>>
>> porque assim, geralmente eu não vou alterar nenhum valor, eu só quero
>> saber oq esta nas variaveis naquele momento e fim! olho o resultado e mudo
>> o código!
>>
>> outra coisa,
>> geralmente, pelo menos com o que eu ando fazendo, é que eu tenho testes!
>> então os testes passam por todos os lugares do código!
>>
>> efim, eu disse "troll mode" antes de falar do dpp..
>>
>>
>>
>> 2013/6/4 Marcio Ferreira 
>>
>>> ops, (x²-x)/2 ;)
>>>
>>>
>>> []s,
>>>
>>> Marcio Ferreira
>>> skype: marcio.ferreir4
>>> (21) 8365-7768
>>>
>>>
>>> 2013/6/5 Marcio Ferreira 
>>>
>>>> De verdade achei tão sem noção o DDP pro tópico que nem comentei,
>>>> afinal estava falando de breakpoint(parar o processamento e voltar de onde
>>>> parou)  =P
>>>> Meu cenário é um processamento complexo e preciso debugar umas
>>>> varaiveis nesse meio tempo, aí rodar um Dumper é ~custoso~ no sentido de
>>>> demorado e pouco eficiente. _Mockar_ também é díficil por ser um problema
>>>> ~complexo~ na medida de (x²-x)/x, sendo que x é no minimo 5k, então já viu
>>>> =P
>>>>
>>>> Quanto ao uso de IDE, quem usa o vim tem dificuldade de ir pra outro
>>>> editor/IDE, pela filosofia da ferramenta e o gap de aprender outra sempre
>>>> pesa na balança. Perguntei porque achei que fosse mais comum o uso de
>>>> brakpoint. Mas enfim, vou tentar o breakpoint com o vim.
>>>>
>>>>
>>>>
>>>> []s,
>>>>
>>>> Marcio Ferreira
>>>> skype: marcio.ferreir4
>>>> (21) 8365-7768
>>>>
>>>>
>>>> 2013/6/4 Lindolfo Lorn Rodrigues 
>>>>
>>>>> Eu sempre sou da opnião que se deve aprender usar as ferramentas na
>>>>> linha de comando e depois analisar se 'compensa' usar uma IDE.
>>>>> No caso do git, por exemplo, demorou muito para as IDE's implementarem
>>>>> coisas como git rebase e mesmo assim ainda tem gente que só confia no
>>>>> rebase da linha de comando.
>>>>> Sinceramente tenho mais o costume do debug na base do Data::Dumper
>>>>> como o Cron disse :P
>>>>>
>>>>>
>>>>> 2013/6/4 Renato Santos 
>>>>>
>>>>>> [troll mode]
>>>>>>
>>>>>> Escreva seu codigo direito!
>>>>>>
>>>>>> [haha]
>>>>>>
>>>>>> use DDP; p $foo; exit;
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/6/4 Marcio Ferreira 
>>>>>>
>>>>>>> Uso o vim, vou usar esse cara
>>>>>>> http://vim.sourceforge.net/scripts/script.php?script_id=663
>>>>>>>
>>>>>>>  Na experiência de vocês, maioria fica com o -d?
>>>>>>>
>>>>>>>
>>>>>>> []s,
>>>>>>>
>>>>>>> Marcio Ferreira
>>>>>>>

Re: [Rio-pm] breakpoint

2013-06-04 Por tôpico Renato Santos
eu realmente não entendi.

Pra mim é muito mais simples ir no meio do código e colocar "use DDP; p
$foo; p $bar; [exit, last, next if $xoo... etc..]" do que subir o perl com
debug, que vai deixar tudo mais lento, e não apenas na hora do Dumper.

porque assim, geralmente eu não vou alterar nenhum valor, eu só quero saber
oq esta nas variaveis naquele momento e fim! olho o resultado e mudo o
código!

outra coisa,
geralmente, pelo menos com o que eu ando fazendo, é que eu tenho testes!
então os testes passam por todos os lugares do código!

efim, eu disse "troll mode" antes de falar do dpp..



2013/6/4 Marcio Ferreira 

> ops, (x²-x)/2 ;)
>
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
>
> 2013/6/5 Marcio Ferreira 
>
>> De verdade achei tão sem noção o DDP pro tópico que nem comentei, afinal
>> estava falando de breakpoint(parar o processamento e voltar de onde parou)
>>  =P
>> Meu cenário é um processamento complexo e preciso debugar umas varaiveis
>> nesse meio tempo, aí rodar um Dumper é ~custoso~ no sentido de demorado e
>> pouco eficiente. _Mockar_ também é díficil por ser um problema ~complexo~
>> na medida de (x²-x)/x, sendo que x é no minimo 5k, então já viu =P
>>
>> Quanto ao uso de IDE, quem usa o vim tem dificuldade de ir pra outro
>> editor/IDE, pela filosofia da ferramenta e o gap de aprender outra sempre
>> pesa na balança. Perguntei porque achei que fosse mais comum o uso de
>> brakpoint. Mas enfim, vou tentar o breakpoint com o vim.
>>
>>
>>
>> []s,
>>
>> Marcio Ferreira
>> skype: marcio.ferreir4
>> (21) 8365-7768
>>
>>
>> 2013/6/4 Lindolfo Lorn Rodrigues 
>>
>>> Eu sempre sou da opnião que se deve aprender usar as ferramentas na
>>> linha de comando e depois analisar se 'compensa' usar uma IDE.
>>> No caso do git, por exemplo, demorou muito para as IDE's implementarem
>>> coisas como git rebase e mesmo assim ainda tem gente que só confia no
>>> rebase da linha de comando.
>>> Sinceramente tenho mais o costume do debug na base do Data::Dumper como
>>> o Cron disse :P
>>>
>>>
>>> 2013/6/4 Renato Santos 
>>>
>>>> [troll mode]
>>>>
>>>> Escreva seu codigo direito!
>>>>
>>>> [haha]
>>>>
>>>> use DDP; p $foo; exit;
>>>>
>>>>
>>>>
>>>> 2013/6/4 Marcio Ferreira 
>>>>
>>>>> Uso o vim, vou usar esse cara
>>>>> http://vim.sourceforge.net/scripts/script.php?script_id=663
>>>>>
>>>>>  Na experiência de vocês, maioria fica com o -d?
>>>>>
>>>>>
>>>>> []s,
>>>>>
>>>>> Marcio Ferreira
>>>>> skype: marcio.ferreir4
>>>>> (21) 8365-7768
>>>>>
>>>>>
>>>>> On Tue, Jun 4, 2013 at 9:59 PM, Renato Santos 
>>>>> wrote:
>>>>>
>>>>>> a- e tem debugger no Padre.
>>>>>>
>>>>>>
>>>>>> On Tue, Jun 4, 2013 at 7:59 PM, Renato Santos 
>>>>>> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> $DB::single = 1;
>>>>>>>
>>>>>>>  "anywhere in any perl program, and the debugger will break
>>>>>>> immediately after it executes that line. This is also a good way (the 
>>>>>>> only
>>>>>>> way?) to set a breakpoint in code that will be run at compile time."
>>>>>>>
>>>>>>>
>>>>>>> http://stackoverflow.com/questions/8920477/how-to-set-breakpoint-on-a-particular-file-in-perl-program
>>>>>>>
>>>>>>>
>>>>>>> 2013/6/4 Marcio Ferreira 
>>>>>>>
>>>>>>>> Andei escrevendo no Visual Studio C# e ~viciei~ em breakpoints,
>>>>>>>> alterar coisas em tempo de execução e etc. Conheço o perl -d, mas nao
>>>>>>>> consigo ter a mesma sensação. Alguém aqui usa breakpoint? Alguma magia
>>>>>>>> escondida por aí?
>>>>>>>>
>>>>>>>> []s,
>>>>>>>>
>>>>>>>> Marcio Ferreira
>>>>>>>> skype: marcio.ferreir4
>>>>>>>> (21) 8365-7768
>

Re: [Rio-pm] breakpoint

2013-06-04 Por tôpico Renato Santos
[troll mode]

Escreva seu codigo direito!

[haha]

use DDP; p $foo; exit;



2013/6/4 Marcio Ferreira 

> Uso o vim, vou usar esse cara
> http://vim.sourceforge.net/scripts/script.php?script_id=663
>
> Na experiência de vocês, maioria fica com o -d?
>
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
>
> On Tue, Jun 4, 2013 at 9:59 PM, Renato Santos wrote:
>
>> a- e tem debugger no Padre.
>>
>>
>> On Tue, Jun 4, 2013 at 7:59 PM, Renato Santos wrote:
>>
>>>
>>>
>>> $DB::single = 1;
>>>
>>>  "anywhere in any perl program, and the debugger will break immediately
>>> after it executes that line. This is also a good way (the only way?) to set
>>> a breakpoint in code that will be run at compile time."
>>>
>>>
>>> http://stackoverflow.com/questions/8920477/how-to-set-breakpoint-on-a-particular-file-in-perl-program
>>>
>>>
>>> 2013/6/4 Marcio Ferreira 
>>>
>>>> Andei escrevendo no Visual Studio C# e ~viciei~ em breakpoints, alterar
>>>> coisas em tempo de execução e etc. Conheço o perl -d, mas nao consigo ter a
>>>> mesma sensação. Alguém aqui usa breakpoint? Alguma magia escondida por aí?
>>>>
>>>> []s,
>>>>
>>>> Marcio Ferreira
>>>> skype: marcio.ferreir4
>>>> (21) 8365-7768
>>>>
>>>> ___
>>>> Rio-pm mailing list
>>>> Rio-pm@pm.org
>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>
>>>
>>>
>>>
>>> --
>>> Saravá,
>>> Renato CRON
>>> http://www.renatocron.com/blog/
>>> @renato_cron <http://twitter.com/#!/renato_cron>
>>>
>>
>>
>>
>> --
>> Saravá,
>> Renato CRON
>> http://www.renatocron.com/blog/
>> @renato_cron <http://twitter.com/#!/renato_cron>
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] breakpoint

2013-06-04 Por tôpico Renato Santos
a- e tem debugger no Padre.


On Tue, Jun 4, 2013 at 7:59 PM, Renato Santos  wrote:

> $DB::single = 1;
>
>  "anywhere in any perl program, and the debugger will break immediately
> after it executes that line. This is also a good way (the only way?) to set
> a breakpoint in code that will be run at compile time."
>
>
> http://stackoverflow.com/questions/8920477/how-to-set-breakpoint-on-a-particular-file-in-perl-program
>
>
> 2013/6/4 Marcio Ferreira 
>
>> Andei escrevendo no Visual Studio C# e ~viciei~ em breakpoints, alterar
>> coisas em tempo de execução e etc. Conheço o perl -d, mas nao consigo ter a
>> mesma sensação. Alguém aqui usa breakpoint? Alguma magia escondida por aí?
>>
>> []s,
>>
>> Marcio Ferreira
>> skype: marcio.ferreir4
>> (21) 8365-7768
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> Saravá,
> Renato CRON
> http://www.renatocron.com/blog/
> @renato_cron <http://twitter.com/#!/renato_cron>
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] breakpoint

2013-06-04 Por tôpico Renato Santos
$DB::single = 1;

 "anywhere in any perl program, and the debugger will break immediately
after it executes that line. This is also a good way (the only way?) to set
a breakpoint in code that will be run at compile time."

http://stackoverflow.com/questions/8920477/how-to-set-breakpoint-on-a-particular-file-in-perl-program


2013/6/4 Marcio Ferreira 

> Andei escrevendo no Visual Studio C# e ~viciei~ em breakpoints, alterar
> coisas em tempo de execução e etc. Conheço o perl -d, mas nao consigo ter a
> mesma sensação. Alguém aqui usa breakpoint? Alguma magia escondida por aí?
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Submissão de Palestras para o YAPC::Brasil

2013-06-04 Por tôpico Renato Santos
o MST vai dar uma talk bem agora! http://www.yapcna.org/yn2013/talk/4752


vai ser engraçado!


2013/6/4 Tiago Peczenyj 

> ele fala varios idiomas. inclusive ele sabe a diferença do que a gente
> fala para o nossos co irmãos portugueses e imita o sotaque.
>
> a palestra de unicode q ele deu na oscon foi IRADA (good bad and ugly).
>
>
> 2013/6/4 Lindolfo Lorn Rodrigues 
>
>> Não sabia que o Tom Christiansen falava português
>> Para quem não sabe ele é co-autor do Programming Perl (outro autografo
>> yay) e de vários outros livros de Perl.
>>
>>
>>
>> 2013/6/4 Renato Santos 
>>
>>> Eu perguntei pro mst ontem, ele disse que nunca foi convidado, e quando
>>> foi "avisado" o t0m foi no ligar dele haha
>>> Em 04/06/2013 13:01, "Thiago Rondon"  escreveu:
>>>
>>>
>>>> Eu gostaria muito de ver o MST no Yapc::Brasil ! Mas, todo os demais
>>>> são excelente também.
>>>>
>>>> Felipe, dá uma 'cutucada' no Renato e no Breno para convidarem estes
>>>> caboclos presencialmente lá!
>>>>
>>>> Abs!
>>>> -Thiago Rondon
>>>>
>>>>
>>>> On Tuesday, June 4, 2013 at 2:57 PM, Renato Santos wrote:
>>>>
>>>> > E o mst também manja só catalyst
>>>> > Em 04/06/2013 12:44, "Tiago Peczenyj" >>> tiago.pecze...@gmail.com)> escreveu:
>>>> > > minhas sugestões
>>>> > >
>>>> > > Tom Christiansen (tchrist)
>>>> > > - motivo: excelente palestrante, manja de unix e unicode pra
>>>> caralho, fala portugues!!
>>>> > > Ricardo Signes (RJBS)
>>>> > > - motivo: Dist::Zilla. Email. etc
>>>> > > Obra
>>>> > > - motivo: ele quer conhecer o Brasil. Nhe.
>>>> > > Stevan Little (stevan)
>>>> > > - motivo: Moose
>>>> > > Matt S Trout
>>>> > > - motivo: Moo
>>>> > >
>>>> > > eu colocaria o Chromatic e o Marc Lehmann (
>>>> http://search.cpan.org/~mlehmann/) ai mas não sei se eles são
>>>> sociaveis.
>>>> > >
>>>> > >
>>>> > > 2013/6/4 Felipe da Veiga Leprevost >>> leprevos...@gmail.com)>
>>>> > > > Olá pessoal
>>>> > > >
>>>> > > > Gostaríamos de convidar a todos a submeterem suas palestras no
>>>> site do nosso evento. Estamos aos poucos montando a grade de apresentações
>>>> e para que possamos divulgar o evento para as demais comunidades seria
>>>> importante que tenhamos material na grade.
>>>> > > >
>>>> > > > Peço que utilizem o formulário do site do evento
>>>> http://2013.yapcbrasil.org.br para a submissão.
>>>> > > >
>>>> > > > Lembrando novamente que esse é o evento mais importante da
>>>> comunidade Perl, e que possui visibilidade não só nacional, mas
>>>> internacional também. Apesar de estarmos organizando ele aqui em Curitiba,
>>>> quem realmente faz o evento é a comunidade em si, com a participação de
>>>> todos.
>>>> > > >
>>>> > > > Já começamos a enviar os convites para palestrantes de fora do
>>>> Brasil, entre eles:
>>>> > > >
>>>> > > >
>>>> > > > Tatsuhiko Miyagawa, responsável por uma enorme contribuição à
>>>> linguagem e sua comunidade com módulos e bibliotecas voltadas à Web, como
>>>> por exemplo o Plack/PSGI.
>>>> > > >
>>>> > > > Dr. Karl Glazebrook, professor de Astronomia do Centre for
>>>> Astrophysics & Supercomputing da Universidade Swinburne. O Karl é
>>>> simplesmente a pessoal responsável pela criação do Perl Data Language 
>>>> (PDL).
>>>> > > >
>>>> > > > Jason Stajich, professor de Genética e Genômica da Universidade
>>>> da Califórnia. Jason trabalha no desenvolvimento do BioPerl desde 2000 e é
>>>> fundador da Open Bioinformatics Foundation.
>>>> > > >
>>>> > > >
>>>> > > > Os nomes podem mudar assim como temos ainda uma lista de pessoas
>>>> que podem ser convidadas, estamos aguardando a resposta de todos, espero
>>>> que isso já possa servir de incentivo =)
>>>> > > >
>>>> > 

Re: [Rio-pm] Submissão de Palestras para o YAPC::Brasil

2013-06-04 Por tôpico Renato Santos
Eu perguntei pro mst ontem, ele disse que nunca foi convidado, e quando foi
"avisado" o t0m foi no ligar dele haha
Em 04/06/2013 13:01, "Thiago Rondon"  escreveu:

>
> Eu gostaria muito de ver o MST no Yapc::Brasil ! Mas, todo os demais são
> excelente também.
>
> Felipe, dá uma 'cutucada' no Renato e no Breno para convidarem estes
> caboclos presencialmente lá!
>
> Abs!
> -Thiago Rondon
>
>
> On Tuesday, June 4, 2013 at 2:57 PM, Renato Santos wrote:
>
> > E o mst também manja só catalyst
> > Em 04/06/2013 12:44, "Tiago Peczenyj"  tiago.pecze...@gmail.com)> escreveu:
> > > minhas sugestões
> > >
> > > Tom Christiansen (tchrist)
> > > - motivo: excelente palestrante, manja de unix e unicode pra caralho,
> fala portugues!!
> > > Ricardo Signes (RJBS)
> > > - motivo: Dist::Zilla. Email. etc
> > > Obra
> > > - motivo: ele quer conhecer o Brasil. Nhe.
> > > Stevan Little (stevan)
> > > - motivo: Moose
> > > Matt S Trout
> > > - motivo: Moo
> > >
> > > eu colocaria o Chromatic e o Marc Lehmann (
> http://search.cpan.org/~mlehmann/) ai mas não sei se eles são sociaveis.
> > >
> > >
> > > 2013/6/4 Felipe da Veiga Leprevost  leprevos...@gmail.com)>
> > > > Olá pessoal
> > > >
> > > > Gostaríamos de convidar a todos a submeterem suas palestras no site
> do nosso evento. Estamos aos poucos montando a grade de apresentações e
> para que possamos divulgar o evento para as demais comunidades seria
> importante que tenhamos material na grade.
> > > >
> > > > Peço que utilizem o formulário do site do evento
> http://2013.yapcbrasil.org.br para a submissão.
> > > >
> > > > Lembrando novamente que esse é o evento mais importante da
> comunidade Perl, e que possui visibilidade não só nacional, mas
> internacional também. Apesar de estarmos organizando ele aqui em Curitiba,
> quem realmente faz o evento é a comunidade em si, com a participação de
> todos.
> > > >
> > > > Já começamos a enviar os convites para palestrantes de fora do
> Brasil, entre eles:
> > > >
> > > >
> > > > Tatsuhiko Miyagawa, responsável por uma enorme contribuição à
> linguagem e sua comunidade com módulos e bibliotecas voltadas à Web, como
> por exemplo o Plack/PSGI.
> > > >
> > > > Dr. Karl Glazebrook, professor de Astronomia do Centre for
> Astrophysics & Supercomputing da Universidade Swinburne. O Karl é
> simplesmente a pessoal responsável pela criação do Perl Data Language (PDL).
> > > >
> > > > Jason Stajich, professor de Genética e Genômica da Universidade da
> Califórnia. Jason trabalha no desenvolvimento do BioPerl desde 2000 e é
> fundador da Open Bioinformatics Foundation.
> > > >
> > > >
> > > > Os nomes podem mudar assim como temos ainda uma lista de pessoas que
> podem ser convidadas, estamos aguardando a resposta de todos, espero que
> isso já possa servir de incentivo =)
> > > >
> > > > Também estamos aceitando sugestões de palestrantes a serem
> convidados, por favor enviem seus nomes a mim.
> > > >
> > > > Qualquer dúvida ou problemas com a submissão, por favor entrem em
> contato comigo.
> > > >
> > > > Abraços a todos.
> > > >
> > > > --
> > > > Felipe da Veiga Leprevost
> > > > www.leprevost.com.br (http://www.leprevost.com.br)
> > > > Laboratory for Proteomics and Protein Engineering.
> > > > Fiocruz, Brazil.
> > > >
> > > > ___
> > > > Rio-pm mailing list
> > > > Rio-pm@pm.org (mailto:Rio-pm@pm.org)
> > > > http://mail.pm.org/mailman/listinfo/rio-pm
> > >
> > >
> > >
> > >
> > > --
> > > Tiago B. Peczenyj
> > > Linux User #405772
> > >
> > > http://about.me/peczenyj
> > > ___
> > > Rio-pm mailing list
> > > Rio-pm@pm.org (mailto:Rio-pm@pm.org)
> > > http://mail.pm.org/mailman/listinfo/rio-pm
> >
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org (mailto:Rio-pm@pm.org)
> > http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Submissão de Palestras para o YAPC::Brasil

2013-06-04 Por tôpico Renato Santos
E o mst também manja só catalyst
Em 04/06/2013 12:44, "Tiago Peczenyj"  escreveu:

> minhas sugestões
>
> Tom Christiansen (tchrist)
>  - motivo: excelente palestrante, manja de unix e unicode pra caralho,
> fala portugues!!
> Ricardo Signes (RJBS)
>  - motivo: Dist::Zilla. Email. etc
> Obra
>  - motivo: ele quer conhecer o Brasil. Nhe.
> Stevan Little (stevan)
>  - motivo: Moose
> Matt S Trout
>  - motivo: Moo
>
> eu colocaria o Chromatic e o Marc Lehmann 
> ai
> mas não sei se eles são sociaveis.
>
>
> 2013/6/4 Felipe da Veiga Leprevost 
>
>> **
>> Olá pessoal
>>
>> Gostaríamos de convidar a todos a submeterem suas palestras no site do
>> nosso evento. Estamos aos poucos montando a grade de apresentações e para
>> que possamos divulgar o evento para as demais comunidades seria importante
>> que tenhamos material na grade.
>>
>> Peço que utilizem o formulário do site do evento
>> http://2013.yapcbrasil.org.br para a submissão.
>>
>> Lembrando novamente que esse é o evento mais importante da comunidade
>> Perl, e que possui visibilidade não só nacional, mas internacional também.
>> Apesar de estarmos organizando ele aqui em Curitiba, quem realmente faz o
>> evento é a comunidade em si, com a participação de todos.
>>
>> Já começamos a enviar os convites para palestrantes de fora do Brasil,
>> entre eles:
>>
>>
>>
>>- Tatsuhiko Miyagawa, responsável por uma enorme contribuição à
>>linguagem e sua comunidade com módulos e bibliotecas voltadas à Web, como
>>por exemplo o Plack/PSGI.
>>
>>
>>
>>- Dr. Karl Glazebrook, professor de Astronomia do Centre for
>>Astrophysics & Supercomputing da Universidade Swinburne. O Karl é
>>simplesmente a pessoal responsável pela criação do Perl Data Language 
>> (PDL).
>>
>>
>>
>>- Jason Stajich, professor de Genética e Genômica da Universidade da
>>Califórnia. Jason trabalha no desenvolvimento do BioPerl desde 2000 e é
>>fundador da Open Bioinformatics Foundation.
>>
>>
>>
>> Os nomes podem mudar assim como temos ainda uma lista de pessoas que
>> podem ser convidadas, estamos aguardando a resposta de todos, espero que
>> isso já possa servir de incentivo =)
>>
>> Também estamos aceitando sugestões de palestrantes a serem convidados,
>> por favor enviem seus nomes a mim.
>>
>> Qualquer dúvida ou problemas com a submissão, por favor entrem em contato
>> comigo.
>>
>> Abraços a todos.
>>
>> --
>> Felipe da Veiga Leprevost
>> www.leprevost.com.br
>> Laboratory for Proteomics and Protein Engineering.
>> Fiocruz, Brazil.
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] benchmark framework web,

2013-05-18 Por tôpico Renato Santos
Eu já usei Kohana, pensava q era bem conhecido!


2013/5/18 breno 

> 2013/5/18 Renato Santos :
> > acho q nao souberam configurar o web-simple direito.
> >
>
> Considerando que tem 298.460 erros registrados nos testes do
> Web::Simple, eu diria que sim :)
>
> De qualquer forma, o código pra todos os avaliados (Dancer,
> Mojolicious, Web::Simple, Kelp, Kohana) está disponível:
>
> https://github.com/TechEmpower/FrameworkBenchmarks
>
> Então se o seu framework favorito foi injustiçado, vc está a um "pull
> request" de distância para corrigir =)
>
> Fiquei bastante curioso em ver dois frameworks pouco conhecidos (Kelp,
> Kohana) tão bem na fita, e ao mesmo tempo senti falta do Catalyst.
>
> Ah, e quem quiser comparar apenas dentro do mundo Perl, esse é o link:
>
> http://www.techempower.com/benchmarks/#section=data-r5&l=pa8
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] benchmark framework web,

2013-05-17 Por tôpico Renato Santos
acho q nao souberam configurar o web-simple direito.


2013/5/17 Marcio Ferreira 

> Antes de qualquer coisa, post na paz, Ok?
>
> Fiquei surpreso com o benchmark de Java, Lua e Go estão muito bem =)
> Perl ficou apagado :P
> http://www.techempower.com/benchmarks
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] ambiente stable/patch

2013-04-11 Por tôpico Renato Santos
Que?

Se você quer estar alguma lib no lugar de outra, você pode usar o -I do
perl e passar pra pasta que você modificou o modulo e pronto!
Em 11/04/2013 13:08, "Marcio Ferreira" 
escreveu:

> Quando vocês contribuem em algum módulo CPAN, como vocês o aparta da
> versão "stable" instalada?
>
> Pensei em um uma versão perlbrew pra isso, mas achei um canhão pra matar
> formiga :P
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Cache RESTfulie

2013-03-12 Por tôpico Renato Santos
ahahah sua dor de cabeça nem começou!

2013/3/12 Marcio Ferreira 

> Valeu galera, obrigado por me salvarem de dor de cabeça =)
>
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
>
> 2013/3/12 Thiago Rondon 
>
>>
>>
>> On Tuesday, March 12, 2013 at 8:54 AM, Nuba Princigalli wrote:
>>
>> > Márcio,
>> >
>> > On Tue, Mar 12, 2013, at 02:24 AM, Thiago Rondon wrote:
>> > > Como diria Phil Karlton. Há apenas duas coisas difíceis em ciências da
>> > > computação, invalidação de cache ou dar nome as coisas.
>> >
>> >
>> >
>> > São duas, as coisas difíceis: dar nome, invalidar cache e acertar nos
>> > índices ao iterar sobre listas! ;)
>> >
>> > > Na minha opinião, se você esta utilizando a arquitetura REST e quer
>> > > efetuar cache na aplicação é um tiro no pé, uma hora isto vai te dar
>> dor
>> > > de cabeça. Digo isto, pois a maior parte do desenvolvimento e evolução
>> > > dos frameworks, servidores web, proxy e navegadores nos últimos anos
>> > > foram na direção contraria. O cache deve ser local (cliente) ou
>> > > compartilhado (intermediadores).
>> >
>> >
>> >
>> > O cache no servidor é válido também, bastante indicado quando é mais
>> > caro computar a representação do recurso em cada request, ao invés de
>> > gerá-la novamente, é onde etag e last-modified funcionam muito bem! :)
>> >
>>
>>
>> Sim, eu tratei 'cache no servidor' como um intermediador com sua app.
>> Qualquer
>> coisa que esteja na frente da app é um intermediador, até mesmo um
>> plack::middleware,
>> nginx, varnish, acelerador, ... .
>>
>> Abs!
>> -Thiago Rondon
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Cache RESTfulie

2013-03-11 Por tôpico Renato Santos
*Acho* que você deve criar uma função de entrada, cuja saida seja sempre a
mesma para determinados parametros, e ai você utiliza isso como chave.

vamos supor um REST assim:

   - POST /user
   - PUT /user/$id
   - DELETE /user/$id
   - GET /user
   - GET /user/$id

Você tem que apagar o cache corretamente quando alguem efetuar POST, PUT,
DELETE e fazer leituras (e escritas, caso não exista o cache) no cache no
GET.

Se for exatamente o REST acima, um mundo perfeito, é facil apagar o cache
das URL que são 'pais', por exemplo, editou o nome de um usuario, você tem
que apagar a listagem do usuario e o cache do get do usuario. Limpar toda a
lista dos usuarios pode se tornar um problema se você tem muitas escritas e
o o objeto em questão não estiver no /user (vamos supor que é paginado, ..)

e ai começam os problemas..


2013/3/12 Marcio Ferreira 

> Desculpem, o título devia ser "cache RESTful"
>
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
>
> 2013/3/12 Marcio Ferreira 
>
>> (Imagina q nao existe varnish, nem nada no proxy, *OK*!)
>>
>> Tenho uma mesmo app service rodando em várias instancias balanceadas
>> pelo nginx.
>> Até aqui tudo bem, mas aí quero fazer cache dos acessos da API.
>>
>> penso.em/usar/minha/url como chave chave do Redis, alguém me condena por
>> isso?
>> Isso não parece ser uma boa prática, porque resolve até certo ponto, não
>> resolve se meu serviço aceita parametros via header =/
>>
>> Qual pratica recomendada/adotada quando vocês precisam cachear RESTfulie
>> a *nível de app*?
>>
>> []s,
>>
>> Marcio Ferreira
>> skype: marcio.ferreir4
>> (21) 8365-7768
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [hackathon] - amanhã(09/03) no starbucks

2013-03-08 Por tôpico Renato Santos
Estou amanhã foi demais :-) dr Who haha
Em 08/03/2013 18:09, "Marcio Ferreira" 
escreveu:

> Estou amanhã no Starbucks Rio Sul blogando pro Equinócio da SPPM e fazendo
> maluquisses com perl, se alguém quiser juntar =)
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy

2013-03-08 Por tôpico Renato Santos
Então você precisa verificar o seu proxy.

Mas como o Tiago disse,

porque vocẽ não conecta usando Net::FTP ? Ele tem modo anomimo.



2013/3/8 Nicole Scherer 

> Sim, Renato,
>
> usando o  LWP::Simple::get($downloadfile) eu consigo baixar o arquivo
> inclusive através do proxy.
> Só o conteúdo do LWP::Simple::head($downloadfile) é que não é o mesmo com
> ou sem proxy.
> Não sei se é porque ele usa o head() do LWP::UserAgent, quando acionado o
> $ua para o proxy.
>
> []'s
> Nicole
>
>
>    --
> *De:* Renato Santos 
> *Para:* Nicole Scherer ; Perl Mongers Rio de
> Janeiro 
> *Enviadas:* Sexta-feira, 8 de Março de 2013 17:01
> *Assunto:* Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy
>
> Existe a possibilidade do seu proxy não estar repassando essas informações
> ou estar negando o acesso.
>
> Você já tentou baixar o arquivo com o proxy ?
>
> 2013/3/8 Nicole Scherer 
>
> Oi Mongers,
>
> venho humildemente consultar o vasto conhecimento de vocês em prol da
> pesquisa científica.
>
> Preciso consultar o tamanho de um arquivo em um servidor ftp, antes de
> decidir se o arquivo deverá ou não ser baixado.
> Eu estava usando o LWP::Simple::head($url) para isto, e estava funcionando
> bem, até eu ter que usá-lo através de um proxy.
> O que acontece é o seguinte, usando sem proxy, eu consigo acessar as
> informações sobre tamanho, formato, codificação, etc,
>
>
> my $downloadfile = "
> ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/all_est.txt.gz";;
> my ($content_type, $document_length, $modified_time, $expires, $server) =
> LWP::Simple::head($downloadfile);
>
> --- ou
>
> if (my $res = LWP::Simple::head($downloadfile)) {
> print "$downloadfile ok\n"; ### debug
> p($res->{_headers});
> } else {
> print "$downloadfile not available\n"; ### debug
> }
>
>
> --- e quando uso
>
> use LWP::Simple qw($ua head);
> $ua->proxy([qw(http ftp wais)], 'http://10.46.10.19:3129');
>
> para definir o proxy, ele não retorna estas informações.
>
>
> Se eu mandar imprimir $res->{_headers}, tenho isso:
>
> --- rodando sem proxy
>
> HTTP::Headers  {
> public methods (38) : as_string, authorization, authorization_basic,
> clear, client_date, content_encoding, content_is_html, content_is_text,
> content_is_xhtml, content_is_xml, content_language, content_length,
> content_type, content_type_charset, date, expires, from, header,
> header_field_names, if_modified_since, if_unmodified_since, init_header,
> last_modified, new, proxy_authenticate, proxy_authorization,
> proxy_authorization_basic, push_header, referer, referrer,
> remove_content_headers, remove_header, scan, server, title, user_agent,
> warning, www_authenticate
> private methods (5) : _basic_auth, _date_header, _header,
> _process_newline, _sorted_field_names
> internals: {
> client-date =>  "Fri, 08 Mar 2013 19:33:58 GMT",
> client-request-num  =>  1,
> content-encoding=>  "gzip",
> content-length  =>  14169205,
> content-type=>  "text/plain",
> last-modified   =>  "Mon, 14 Mar 2011 16:52:05 GMT",
> server  =>  "FTP Server"
> }
> }
>
>
>
> --- com proxy
> HTTP::Headers  {
> public methods (38) : as_string, authorization, authorization_basic,
> clear, client_date, content_encoding, content_is_html, content_is_text,
> content_is_xhtml, content_is_xml, content_language, content_length,
> content_type, content_type_charset, date, expires, from, header,
> header_field_names, if_modified_since, if_unmodified_since, init_header,
> last_modified, new, proxy_authenticate, proxy_authorization,
> proxy_authorization_basic, push_header, referer, referrer,
> remove_content_headers, remove_header, scan, server, title, user_agent,
> warning, www_authenticate
> private methods (5) : _basic_auth, _date_header, _header,
> _process_newline, _sorted_field_names
> internals: {
> client-date  =>  "Fri, 08 Mar 2013 19:36:13 GMT",
> client-peer  =>  "10.46.10.19:3129",
> client-response-num  =>  1,
> connection   =>  "close",
> date =>  "Fri, 08 Mar 2013 19:35:52 GMT"
> }
> }
>
>
>
> Ele simplesmente não cria/recebe content-encoding, content-length,
> content-type, last-modified e server.
> Só o que eu preciso mesmo é o content-length.
>
> By the way, o LWP::UserAgent  head() não me i

Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy

2013-03-08 Por tôpico Renato Santos
Existe a possibilidade do seu proxy não estar repassando essas informações
ou estar negando o acesso.

Você já tentou baixar o arquivo com o proxy ?

2013/3/8 Nicole Scherer 

> Oi Mongers,
>
> venho humildemente consultar o vasto conhecimento de vocês em prol da
> pesquisa científica.
>
> Preciso consultar o tamanho de um arquivo em um servidor ftp, antes de
> decidir se o arquivo deverá ou não ser baixado.
> Eu estava usando o LWP::Simple::head($url) para isto, e estava funcionando
> bem, até eu ter que usá-lo através de um proxy.
> O que acontece é o seguinte, usando sem proxy, eu consigo acessar as
> informações sobre tamanho, formato, codificação, etc,
>
>
> my $downloadfile = "
> ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/all_est.txt.gz";;
> my ($content_type, $document_length, $modified_time, $expires, $server) =
> LWP::Simple::head($downloadfile);
>
> --- ou
>
> if (my $res = LWP::Simple::head($downloadfile)) {
> print "$downloadfile ok\n"; ### debug
> p($res->{_headers});
> } else {
> print "$downloadfile not available\n"; ### debug
> }
>
>
> --- e quando uso
>
> use LWP::Simple qw($ua head);
> $ua->proxy([qw(http ftp wais)], 'http://10.46.10.19:3129');
>
> para definir o proxy, ele não retorna estas informações.
>
>
> Se eu mandar imprimir $res->{_headers}, tenho isso:
>
> --- rodando sem proxy
>
> HTTP::Headers  {
> public methods (38) : as_string, authorization, authorization_basic,
> clear, client_date, content_encoding, content_is_html, content_is_text,
> content_is_xhtml, content_is_xml, content_language, content_length,
> content_type, content_type_charset, date, expires, from, header,
> header_field_names, if_modified_since, if_unmodified_since, init_header,
> last_modified, new, proxy_authenticate, proxy_authorization,
> proxy_authorization_basic, push_header, referer, referrer,
> remove_content_headers, remove_header, scan, server, title, user_agent,
> warning, www_authenticate
> private methods (5) : _basic_auth, _date_header, _header,
> _process_newline, _sorted_field_names
> internals: {
> client-date =>  "Fri, 08 Mar 2013 19:33:58 GMT",
> client-request-num  =>  1,
> content-encoding=>  "gzip",
> content-length  =>  14169205,
> content-type=>  "text/plain",
> last-modified   =>  "Mon, 14 Mar 2011 16:52:05 GMT",
> server  =>  "FTP Server"
> }
> }
>
>
>
> --- com proxy
> HTTP::Headers  {
> public methods (38) : as_string, authorization, authorization_basic,
> clear, client_date, content_encoding, content_is_html, content_is_text,
> content_is_xhtml, content_is_xml, content_language, content_length,
> content_type, content_type_charset, date, expires, from, header,
> header_field_names, if_modified_since, if_unmodified_since, init_header,
> last_modified, new, proxy_authenticate, proxy_authorization,
> proxy_authorization_basic, push_header, referer, referrer,
> remove_content_headers, remove_header, scan, server, title, user_agent,
> warning, www_authenticate
> private methods (5) : _basic_auth, _date_header, _header,
> _process_newline, _sorted_field_names
> internals: {
> client-date  =>  "Fri, 08 Mar 2013 19:36:13 GMT",
> client-peer  =>  "10.46.10.19:3129",
> client-response-num  =>  1,
> connection   =>  "close",
> date =>  "Fri, 08 Mar 2013 19:35:52 GMT"
> }
> }
>
>
>
> Ele simplesmente não cria/recebe content-encoding, content-length,
> content-type, last-modified e server.
> Só o que eu preciso mesmo é o content-length.
>
> By the way, o LWP::UserAgent  head() não me informa o tamanho do arquivo.
> Pelo menos não nos meus testes.
>
> Vocês conhecem alguma outra maneira de obter a informação de tamanho do
> arquivo sem ter que baixá-lo?
> Acessando o directory listing também não dá, porque através do proxy, o
> formato que ele retorna varia em cada sistema (pelo menos foi o que eu
> observei. me corrijam se eu estiver errada).
>
>
> Obrigada!
>
> Abraços,
> Nicole
>
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] remaps (was: IDE para Perl)

2013-03-07 Por tôpico Renato Santos
what?

e o ESC foi pra onde?

2013/3/7 Diogo Leal 

> Já tem algum tempo que alterei o Caps Lock para ser o meu ESC.
> Foi uma das melhores configurações que fiz no meu ambiente.
>
>
>
> Diogo Leal [estranho]
> http://diogoleal.com
> msn | gtalk: estra...@diogoleal.com
>
>
> 2013/3/7 Nuba Princigalli :
> > Caros,
> >
> > Vendo isso aqui dá pra entender melhor os keybindings do vim:
> > https://en.wikipedia.org/wiki/Esc_key#Uses
> >
> > Eu vivi com mindinho cansado/dolorido no fim do dia por um certo tempo,
> > mas depois dos remaps, nunca mais.
> >
> > E nem me preocupei em colocar CAPS LOCKS em algum lugar. Foi pro s*. É
> > uma posição muito estratégica (home row, ao lado do A) pra uma tecla tão
> > pouco útil.
> >
> > Para quem não quiser sair remapeando, mas quiser manter a mão mais na
> > área da home row, fica a dica de que
> >
> > * TAB é ^I
> > * ESC é ^[
> >
> > :D
> >
> > Abraço,
> >
> > Nuba
> >
> > On Sat, Mar 2, 2013, at 09:02 AM, Gabriel Andrade wrote:
> >>
> >> On Mar 1, 2013, at 11:51 PM, Giuliani Sanches <
> giulianisanc...@gmail.com>
> >> wrote:
> >>
> >> > Quanto ao Emacs faço uma recomendação: faça sua tecla caps lock virar
> um control.
> >> >
> >> > Você pode inverter ela com o control esquerdo (control vira caps,
> caps vira control) ou então fazer com que ela simplesmente seja mais um
> control e migrar o caps para outra tecla como eu fiz no windows com o
> SharpKeys e quero testar o mesmo no Mac.
> >> >
> >> > Leva um tempo para se acostumar mas pode ter certeza, vc estará
> fazendo um bem imenso para suas mãos (eu recomendo essa mudança pra qqer um
> e qqer editor, mas ninguém me escuta :) )
> >>
> >> +1
> >> ___
> >> Rio-pm mailing list
> >> Rio-pm@pm.org
> >> http://mail.pm.org/mailman/listinfo/rio-pm
> >
> >
> > --
> > Nuba R. Princigalli  n...@pauleira.com  http://pauleira.com
> > @nprincigalli
> > Discipline is not an end in itself, just a means to an end. - King
> > Crimson
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] use 5.016 ou use strict/warnings

2013-03-02 Por tôpico Renato Santos
Marcio,
não faz menor sentido dar use 5.016 para ativar warnings e/ou strict, pois
você diz que seu software depende do perl 5 versão 16 a toa.

a mesma coisa vale para o 5.014.


Fora que o common::sense configura algumas regras como warning FATAL e não
warning de uninitialized.

2013/3/2 Marcio Ferreira 

> Use 5.016; jà engloba warnings, nao?
> On Mar 1, 2013 9:14 PM, "breno"  wrote:
>
>> quando não me importo com retrocompatibilidade e quero todas as
>> features ativadas, meu cabeçalho é:
>>
>> use 5.16.0;
>> use warnings;
>>
>> []s
>>
>> -b
>>
>> 2013/3/1 Junior Moraes :
>> > Hi.
>> >
>> > strict/warnings mas pela simples força do hábito.
>> > Mas entre outras opções, common::sense[1] for the win!
>> >
>> > [1] http://search.cpan.org/~mlehmann/common-sense-3.6/sense.pm.PL
>> >
>> > []'s
>> >
>> > Em 1 de março de 2013 16:50, Marcio Ferreira
>> >  escreveu:
>> >>
>> >> Well, o que vocês preferem entre _use 5.016_ e _use strict; use
>> warnings;_
>> >> ?
>> >>
>> >> Faz tempo que uso o _use 5.016_ e vocês?
>> >>
>> >> Emendando outra, que versão de perl vocês usam em produção?
>> >>
>> >> []s,
>> >>
>> >> Marcio Ferreira
>> >> skype: marcio.ferreir4
>> >> (21) 8365-7768
>> >>
>> >> ___
>> >> Rio-pm mailing list
>> >> Rio-pm@pm.org
>> >> http://mail.pm.org/mailman/listinfo/rio-pm
>> >
>> >
>> >
>> > ___
>> > Rio-pm mailing list
>> > Rio-pm@pm.org
>> > http://mail.pm.org/mailman/listinfo/rio-pm
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] IDE para Perl

2013-03-01 Por tôpico Renato Santos
Tem um plugin pra Netbeans.


tem um outro pra eclipse,

tem o Komodo pra windows (com debuging)

e o padre que é feito em perl


Em 01/03/2013 15:24, "Nicole Scherer"  escreveu:

> Oi Mongers,
>
> nunca usei estas coisas, mas estou precisando de uma agora.
> Existe alguma IDE com suporte para Perl? Tipo Eclipse.
> O que vocês usam?
>
> Abraços,
> Nicole
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Spreadsheet::XLSX

2013-01-15 Por tôpico Renato Santos
no warnings =P

ou no warnings 'uninitialized';

2013/1/15 Diana Rosa 

> ele le perfeito mas polui o log_error do apache.
>
>
> 2013/1/15 Tiago Peczenyj 
>
>> ele gera o warning E não le o xlsx ?
>>
>> ou ele lê perfeito mas gera esses warnings?
>>
>> On Tue, Jan 15, 2013 at 5:22 PM, Diana Rosa 
>> wrote:
>> > Estava usando o modulo Spreadsheet::XLSX para ler arquivos .xlsx. Porem
>> para
>> > arquivos do Libreoffice acontecem estes warnings:
>> >
>> > xx.cgi: Use of uninitialized value in hash element at
>> > /usr/lib/.../Spreadsheet/XLSX.pm line 189., referer: xx.cgi
>> > xx.cgi: Use of uninitialized value in pattern match (m//) at
>> > /usr/lib/.../Spreadsheet/XLSX.pm line 190., referer: xx.cgi
>> >
>> > Link do bug:
>> > https://rt.cpan.org/Public/Bug/Display.html?id=79770
>> >
>> >
>> > Existe outro modulo mais aconselhavel para ler xlsx?
>> > ___
>> > Rio-pm mailing list
>> > Rio-pm@pm.org
>> > http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>>
>> --
>> Tiago B. Peczenyj
>> Linux User #405772
>>
>> http://about.me/peczenyj
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] fazer string ficar undef

2013-01-08 Por tôpico Renato Santos
o <> faz a leitura e retorna undef apenas se for o final do arquivo,
geralmente os arquivos de texto terminam com uma linha só com "\n", não sei
porque motivo!

2013/1/8 Aureliano Guedes 

>  Valeu gente, agora entendi.
>
> Mas então a única forma de tornar uma string undef quando não há nada no
> STDIN é fazendo: $b = undef if $b eq ''; 
>
> Ou tem outra forma??
>
> my $b = <> || undef; não funcionaria, certo??
>
> > Date: Tue, 8 Jan 2013 14:30:11 -0200
> > From: jimmy@gmail.com
> > To: rio-pm@pm.org
> > Subject: Re: [Rio-pm] fazer string ficar undef
>
> >
> > Saudações Aureliano,
> >
> > On Tue, Jan 08, 2013 at 03:43:10PM +, Aureliano Guedes wrote:
> > [...]
> > > Eu tenho o seguinte:
> > >
> > > chomp (my $b = <>);
> > > $b = undef if $b eq '';
> > > my $c = 'c';
> > > my $a = defined($b) ? $b : $c;
> > > print $a, "\n";
> > >
> > > Funciona perfeitamente, mas o que não entendo é porque se eu remover a
> segunda
> > > linha ($b = undef if $b eq '';).
> > > Ja não funciona.
> > Assim como o Renato Santos já mencionou, uma string vazia é "defined",
> > logo, se fizermos:
> >
> > my $c = 'c';
> > my $b = '';
> > my $a = defined $b ? $b : $c;
> > print '<'.$a.'>';
> >
> > o resultado será "<>"
> >
> > Para o problema que você mencionou, o que parece querer testar de fato é
> > se há algum valor na string diferente de "undef" e de vazio:
> >
> > my $c = 'c';
> > my $b = '';
> > my $a = defined $b && $b ne '' ? $b : $c;
> > print '<'.$a.'>';
> >
> > em outras palavras, qualquer coisa diferente de undef e vazio seriam
> > atribuídos a "$a".
> >
> > --
> > "Não manejo bem as palavras
> > Mas manipulo bem as strings."
> > --
> > http://tecnoveneno.blogspot.com
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] fazer string ficar undef

2013-01-08 Por tôpico Renato Santos
$b = '' é defined.

2013/1/8 Aureliano Guedes 

>  Ola monges,
>
> Quanto tempo, ne?! A paz reinava aqui sem minha ignorância. hahaha
>
> Desejando de cara um ótimo ano a todos venho trazer mais uma simples
> dúvida.
>
> Eu tenho o seguinte:
>
> chomp (my $b = <>);
> $b = undef if $b eq '';
> my $c = 'c';
> my $a = defined($b) ? $b : $c;
> print $a, "\n";
>
>
> Funciona perfeitamente, mas o que não entendo é porque se eu remover a
> segunda linha ($b = undef if $b eq '';).
> Ja não funciona.
>
> Se eu inserir algum valor em $b $a devera assumir o valor de $b, mas se
> não inserir devera assumir o valor de $c.
>
> Se eu fizer apenas:
> chomp (my $b = <>);
> my $c = 'c';
> my $a = defined($b) ? $b : $c;
> print $a, "\n";
>
> Não da certo.
>
>
> Sim, eu sei que as formas abaixo funcionam, mas é apenas uma questão de
> estudo mesmo.
>
> chomp (my $b = <>);
> my $c = 'c';
> my $a = $b ? $b : $c;
> print $a, "\n";
>
>
> chomp (my $b = <>);
> my $c = 'c';
> my $a = $b || $c;
> print $a, "\n";
>
> daria certo, mas minha intenção é estudo apenas
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] PerlBrew mudanças no sistema

2012-12-17 Por tôpico Renato Santos
cara, lê o link lá!

http://sao-paulo.pm.org/equinocio/2011/set/3

não é uma boa tirar o perl do SO assim como é bom instalar o perlbrew
justamente para vc não atrapalhar nada o perl que o SO usa.

   perl -MCPAN -e autobundle




2012/12/17 Tiago Peczenyj 

> vc precisa adicionar isso no seu script de inicialização do seu sistema
> operacional
>
> por exemplo o .bashrc ou .profile
>
>
> 2012/12/17 Aureliano Guedes 
>
>>  Eu tinha perguntado sobre o perl do SO não o do perlbrew.
>>
>> Alias, minha duvida agora é outra, acabei de perceber que o perl-5.16.2
>> fica ativo apenas quando ativo o perlbrew, ele não fica ativo sozinho. Como
>> faço para tornar ele default?
>>
>> Meu objetivo era que ficasse como default no meu sistema (mesmo que não
>> remova o atual), para que todos meus scripts fossem executados pelo perl
>> 5.16.2, sem precisar digitar
>>
>> perlbrew switch perl-5.14.1
>>
>> toda vez.
>>
>> Não achei nada sobre no CPAN nem aqui
>> http://sao-paulo.pm.org/equinocio/2011/set/3
>>
>> --
>> From: renato.c...@gmail.com
>> Date: Mon, 17 Dec 2012 17:30:30 -0200
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] PerlBrew mudanças no sistema
>>
>>
>>
>>
>> 2012/12/17 Aureliano Guedes 
>>
>>  Ola, monges.
>>
>> Estou usando o Perlbrew no ubuntu 12.04, atualmente a minha versão é a
>> 5.14.2.
>>
>> Sei que com PerlBrew posso instalar n versões do Perl, mas a minha dúvida
>> é:
>> "Se eu instalar a ultima versão do perl, posso desistalar todas as outras
>> anteriores, posso manter a mais recente como default sem prejudicar o
>> sistema?"
>>
>>
>> vc só deveria remover outras versoes do proprio perlbrew, mas como vc vai
>> acabar de instalar ele, não vai ter nenhuma.
>>
>>
>>
>> E outra dúvida é:
>> "Tem algum metodo para manter todos os módulos que ja tenho instalados?"
>>
>> vc pode fazer um autobundle do CPAN, mas eu prefiro não fazer isso,
>> porque geralmente não precisa, prefiro instalar os modulos com *cpanm -n
>> installdeps .* nos projetos, quando mudo de versão  [-n porque já "sei"
>> que funciona na maquina, perl geralmente não quebra nada trocando de versão
>> =P ]
>>
>> Mais detalhes em http://sao-paulo.pm.org/equinocio/2011/set/3
>>
>>
>> Desde já grato.
>>
>> Att,
>> Aureliano Guedes.
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>>
>>
>> --
>> Saravá,
>> Renato CRON
>> http://www.renatocron.com/blog/
>> @renato_cron 
>>
>>
>> ___ Rio-pm mailing list
>> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] PerlBrew mudanças no sistema

2012-12-17 Por tôpico Renato Santos
2012/12/17 Aureliano Guedes 

>  Ola, monges.
>
> Estou usando o Perlbrew no ubuntu 12.04, atualmente a minha versão é a
> 5.14.2.
>
> Sei que com PerlBrew posso instalar n versões do Perl, mas a minha dúvida
> é:
> "Se eu instalar a ultima versão do perl, posso desistalar todas as outras
> anteriores, posso manter a mais recente como default sem prejudicar o
> sistema?"
>

vc só deveria remover outras versoes do proprio perlbrew, mas como vc vai
acabar de instalar ele, não vai ter nenhuma.


>
> E outra dúvida é:
> "Tem algum metodo para manter todos os módulos que ja tenho instalados?"
>
vc pode fazer um autobundle do CPAN, mas eu prefiro não fazer isso, porque
geralmente não precisa, prefiro instalar os modulos com *cpanm -n
installdeps .* nos projetos, quando mudo de versão  [-n porque já "sei" que
funciona na maquina, perl geralmente não quebra nada trocando de versão =P ]

Mais detalhes em http://sao-paulo.pm.org/equinocio/2011/set/3

>
> Desde já grato.
>
> Att,
> Aureliano Guedes.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck

2012-12-13 Por tôpico Renato Santos
Procura no perldoc a função alarm

--
Renato Cron

Sent from Samsung Mobile Phone
Em 13/12/2012 20:18, "Aureliano Guedes"  escreveu:

>  Bom, estou em duvidas quanto ao que fazer no loop, como indicar que [
> inicia e ] termina o loop.
>
> ate agora, preencehndo o dever de casa
>
> #!/usr/bin/env perl
> use 5.010;
> use strict;
> use warnings qw(all);
>
> local ($|, $/) = (1, \1);
>
> my $p = 0;
> my $lim = 5000;
> my @a = (1..$lim);
>
> for my $instr () {
> given ($instr) {
> when ('>') {$p++;}
> when ('<') {$p--}
> when ('+') {$a[$p]++;}
> when ('-') {$a[$p]--;}
> when ('.') {print chr $a[$p];}
> when (',') {
> chomp (my $in = <>);
> $a[$p] = ord(substr($in,0,1));}
> when ('[') { ... }
> when (']') { ... }
> default { next }
> }
> }
> __DATA__
> +++
> >+
> ><<[>[>>+>
> +<<<-]>>>[<<<+>>>-]<[>++[-
> <-[>>+>+<<<-]>>>[<<<+>>>-]+<[>[-]<[-]]>[<<[>>>+<<<
> -]>>[-]]<<]>>>[>>+>+<<<-]>>>[<<<+>>>-]+<[>[-]<[-]]
> >[<<+>>[-]]<<<]>[+
> +++.[-]]++<[->-<]>
> .[-]<<
> <<[>>>+>+-][+-]<-[>>.>.<<<
> [-]]<<[>>+>+<<<-]>>>[<<<+>>>-]<<[<+>-]>[<+>-]<<<-]
>
> So mais uma perguntinha boba: Alguem sabe como colocar um limite de tempo
> no STDIN?
>
> Exemplo, eu tenho :
>
> my $input = <>;
> if ($input == undef){
> ...
> }
> else{
> ...
> }
>
> Exemplo, input so tem 10 segundo para receber a entrada ou fica indefinido.
> Vi algo como:
> http://www.perlmonks.org/index.pl?abspart=1;displaytype=displaycode;node_id=282330;part=1
>
> Mas o que digito não aparece no monitor na hora que digito.
>
> --
> From: tiago.pecze...@gmail.com
> Date: Thu, 13 Dec 2012 15:55:28 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
> IMHO poderiamos abordar um esquema TDD
>
> Eu criaria algo como
>
> my $ret = Parser::parser($code, $stdin, $stdout);
>
> $ret deveria retornar sucesso em caso do code ser valido
>
> $stdout deveria receber a string "hello world" se o codigo brainfuck para
> hello world fosse introduzido
>
> Usar o Test::More nesse caso seria bem interessante. Ainda mais se for
> usado o Devel::Cover e analisado se o teste realmente exercitou todo o
> codigo do parser.
>
> os testes poderiam ser
>
> ok( Parser::parser("", undef, undef),"um script vazio é um codigo valido");
> ok( Parser::parser("comentario", undef, undef),"comentarios são qualquer
> caracter fora aqueles 8");
>
> para verificar se o stdin ou stdout foram lidos ou escritos, eu usaria o
> Test::MockObject do chromatic. entretanto pode ficar um pouco complicado o
> teste, talvez um IO::Handler de teste possa ser mais interessante.
>
>
> 2012/12/13 Stanislaw Pusep 
>
> Aureliano, o lexer do brainfuck utilizando given/when ficaria +/- assim:
>
> #!/usr/bin/env perl
> use 5.010;
> use strict;
> use warnings qw(all);
>
> local ($|, $/) = (1, \1);
>
> for my $instr () {
> given ($instr) {
> when ('>') { ... }
> when ('<') { ... }
> when ('+') { ... }
> when ('-') { ... }
> when ('.') { ... }
> when (',') { ... }
> when ('[') { ... }
> when (']') { ... }
> default { next }
> }
> }
>
> __DATA__
> +++
> >+
> ><<[>[>>+>
> +<<<-]>>>[<<<+>>>-]<[>++[-
> <-[>>+>+<<<-]>>>[<<<+>>>-]+<[>[-]<[-]]>[<<[>>>+<<<
> -]>>[-]]<<]>>>[>>+>+<<<-]>>>[<<<+>>>-]+<[>[-]<[-]]
> >[<<+>>[-]]<<<]>[+
> +++.[-]]++<[->-<]>
> .[-]<<
> <<[>>>+>+-][+-]<-[>>.>.<<<
> [-]]<<[>>+>+<<<-]>>>[<<<+>>>-]<<[<+>-]>[<+>-]<<<-]
>
> Lição de casa: preencher os espaços dos '...' para que calcule e imprima
> "1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89" (pq "Hello World!" é muito fácil,
> rsss)
>
> ABS()
>
>
>
> 2012/12/12 Aureliano Guedes 
>
>  Ainda não tinha me aventurado nas novidades do Perl 5.16.
>
> o when eu entendi, mas o given não, alguem poderia me explicar o uso do
> given??
>
> O break ja funciona no 5.16?? se sim, como???
>
> --
> From: creakt...@gmail.com
> Date: Wed, 12 Dec 2012 14:06:14 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
> As variáveis @loop e $s não afetam a lógica do seu programa.
> Isso é, a sua implementação das instruções de ciclo condicional, [ e ],
> está incompleta.
> Outra coisa, ao invés de usar if(){}elsif(){}, procure usar given/when,
> nesse caso seria mais apropriado.
> Por fim, o I/O do brainfuck é por caractere, então certifique-se de que o
> buffering de I/O do Perl esteja des

Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck

2012-12-13 Por tôpico Renato Santos
hmm, esse brainfuck é pra fibbo! (como se tivesse lido o codigo =p)

2012/12/13 Stanislaw Pusep 

> Aureliano, o lexer do brainfuck utilizando given/when ficaria +/- assim:
>
> #!/usr/bin/env perl
> use 5.010;
> use strict;
> use warnings qw(all);
>
> local ($|, $/) = (1, \1);
>
> for my $instr () {
> given ($instr) {
> when ('>') { ... }
> when ('<') { ... }
> when ('+') { ... }
> when ('-') { ... }
> when ('.') { ... }
> when (',') { ... }
> when ('[') { ... }
> when (']') { ... }
> default { next }
> }
> }
>
> __DATA__
> +++
> >+
> ><<[>[>>+>
> +<<<-]>>>[<<<+>>>-]<[>++[-
> <-[>>+>+<<<-]>>>[<<<+>>>-]+<[>[-]<[-]]>[<<[>>>+<<<
> -]>>[-]]<<]>>>[>>+>+<<<-]>>>[<<<+>>>-]+<[>[-]<[-]]
> >[<<+>>[-]]<<<]>[+
> +++.[-]]++<[->-<]>
> .[-]<<
> <<[>>>+>+-][+-]<-[>>.>.<<<
> [-]]<<[>>+>+<<<-]>>>[<<<+>>>-]<<[<+>-]>[<+>-]<<<-]
>
> Lição de casa: preencher os espaços dos '...' para que calcule e imprima
> "1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89" (pq "Hello World!" é muito fácil,
> rsss)
>
> ABS()
>
>
>
> 2012/12/12 Aureliano Guedes 
>
>>  Ainda não tinha me aventurado nas novidades do Perl 5.16.
>>
>> o when eu entendi, mas o given não, alguem poderia me explicar o uso do
>> given??
>>
>> O break ja funciona no 5.16?? se sim, como???
>>
>> --
>> From: creakt...@gmail.com
>> Date: Wed, 12 Dec 2012 14:06:14 -0200
>>
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>>
>> As variáveis @loop e $s não afetam a lógica do seu programa.
>> Isso é, a sua implementação das instruções de ciclo condicional, [ e ],
>> está incompleta.
>> Outra coisa, ao invés de usar if(){}elsif(){}, procure usar given/when,
>> nesse caso seria mais apropriado.
>> Por fim, o I/O do brainfuck é por caractere, então certifique-se de que o
>> buffering de I/O do Perl esteja desligado e que <> retorne 1 caractere de
>> cada vez: local ($|, $/) = (1, \1);
>>
>>  ABS()
>>
>>
>>
>> 2012/12/11 Aureliano Guedes 
>>
>>  Por isso é passatempo, é pra quem tem tempo. hahaha
>>
>> Valeu
>>
>> --
>> From: renato.c...@gmail.com
>> Date: Tue, 11 Dec 2012 21:45:03 -0200
>>
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>>
>> pow,
>>
>> se ninguem te ajudar até domingo, até domingo eu do uma olhada! haha #
>> semtempo
>>
>> 2012/12/11 Aureliano Guedes 
>>
>>  Não so isso, deve ter algo mais.
>>
>> Mesmo trocando $p-- if ($i eq '>'); por  $p-- if ($i eq '<');.
>>
>> Os caracteres que saem são estranhos, não sai o que eu queria.
>>
>> --
>> From: renato.c...@gmail.com
>> Date: Tue, 11 Dec 2012 21:36:03 -0200
>>
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>>
>> não são essas linhas aqui?
>>
>>
>>1. $p++ if ($i eq '>');
>>2. $p-- if ($i eq '>');
>>
>>
>> 2012/12/11 Aureliano Guedes 
>>
>>  ahsuahuhasuahsuah
>>
>> Da hora mesmo, quando terminar, quem sabe não faço algo do tipo.
>>
>> --
>> From: creakt...@gmail.com
>> Date: Tue, 11 Dec 2012 21:15:38 -0200
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>>
>>
>> Dahora, parabéns :D
>> BTW, isso me lembrou de um "dialeto" do brainfuck, o trollscript:
>> https://github.com/caius/trollscript
>> Isso é um "hello world" em trollscript:
>>
>> Trooloolooloolooloolooloolooloolollolooloolooloolooloololoolooloolooloolooloolooloololooloololoooloolooloololloololoololooolooloolooloolooloololoolooolooloololooloololloololooloolooloolooloolooloolooloolooloolooloolololooolooloololooollollollollollolllooollollollollollollollollloolololooll
>> É sério.
>>
>> ABS()
>>
>>
>>
>> 2012/12/11 Aureliano Guedes 
>>
>>  Ola monges,
>>
>> Estou desenvolvendo um novo brinquedo, como forma de passatempo mesmo, um
>> interpretador para BrainFuck.
>>
>> Futuramente pretendo desenvolver um compilador.
>>
>> Se alguem se interessar pelo assunto e puder colaborar e/ou ajudar, o que
>> deesenvolvi ainda não esta funcional, e estou tendo algumas dificuldades.
>>
>> http://pastebin.com/aEppcPKt
>>
>> Para testarem um hello wolrd em BF:
>>
>>
>> ++[>+++>++>+++>+-]>++.>+.+++..+++.>++.<<+++.>.+++.--..>+.>.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Os comandos de brainfuck : http://pt.wikipedia.org/wiki/Brainfuck#Comandos
>>
>> Aqui tem um pequeno tutorial tambem: 
>> http://wiki.portugal-a-programar.pt/dev_geral:linguagens_esoterica:brainfuck
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Aqui tambem:
>>
>> Basicamente é isso:
>>
>> http://unauthorizedaccess.files.wo

Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck

2012-12-11 Por tôpico Renato Santos
pow,

se ninguem te ajudar até domingo, até domingo eu do uma olhada! haha #
semtempo

2012/12/11 Aureliano Guedes 

>  Não so isso, deve ter algo mais.
>
> Mesmo trocando $p-- if ($i eq '>'); por  $p-- if ($i eq '<');.
>
> Os caracteres que saem são estranhos, não sai o que eu queria.
>
> --
> From: renato.c...@gmail.com
> Date: Tue, 11 Dec 2012 21:36:03 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
> não são essas linhas aqui?
>
>
>1. $p++ if ($i eq '>');
>2. $p-- if ($i eq '>');
>
>
> 2012/12/11 Aureliano Guedes 
>
>  ahsuahuhasuahsuah
>
> Da hora mesmo, quando terminar, quem sabe não faço algo do tipo.
>
> --
> From: creakt...@gmail.com
> Date: Tue, 11 Dec 2012 21:15:38 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
>
> Dahora, parabéns :D
> BTW, isso me lembrou de um "dialeto" do brainfuck, o trollscript:
> https://github.com/caius/trollscript
> Isso é um "hello world" em trollscript:
>
> Trooloolooloolooloolooloolooloolollolooloolooloolooloololoolooloolooloolooloolooloololooloololoooloolooloololloololoololooolooloolooloolooloololoolooolooloololooloololloololooloolooloolooloolooloolooloolooloolooloolololooolooloololooollollollollollolllooollollollollollollollollloolololooll
> É sério.
>
> ABS()
>
>
>
> 2012/12/11 Aureliano Guedes 
>
>  Ola monges,
>
> Estou desenvolvendo um novo brinquedo, como forma de passatempo mesmo, um
> interpretador para BrainFuck.
>
> Futuramente pretendo desenvolver um compilador.
>
> Se alguem se interessar pelo assunto e puder colaborar e/ou ajudar, o que
> deesenvolvi ainda não esta funcional, e estou tendo algumas dificuldades.
>
> http://pastebin.com/aEppcPKt
>
> Para testarem um hello wolrd em BF:
>
>
> ++[>+++>++>+++>+-]>++.>+.+++..+++.>++.<<+++.>.+++.--..>+.>.
>
>
>
>
>
>
>
> Os comandos de brainfuck : http://pt.wikipedia.org/wiki/Brainfuck#Comandos
>
> Aqui tem um pequeno tutorial tambem: 
> http://wiki.portugal-a-programar.pt/dev_geral:linguagens_esoterica:brainfuck
>
>
>
>
>
> Aqui tambem:
>
> Basicamente é isso:
>
> http://unauthorizedaccess.files.wordpress.com/2011/02/cmds.jpg?w=610
>
>
>
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Saravá,
> Renato CRON
> http://www.renatocron.com/blog/
> @renato_cron 
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck

2012-12-11 Por tôpico Renato Santos
não são essas linhas aqui?


   1. $p++ if ($i eq '>');
   2. $p-- if ($i eq '>');


2012/12/11 Aureliano Guedes 

>  ahsuahuhasuahsuah
>
> Da hora mesmo, quando terminar, quem sabe não faço algo do tipo.
>
> --
> From: creakt...@gmail.com
> Date: Tue, 11 Dec 2012 21:15:38 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
>
> Dahora, parabéns :D
> BTW, isso me lembrou de um "dialeto" do brainfuck, o trollscript:
> https://github.com/caius/trollscript
> Isso é um "hello world" em trollscript:
>
> Trooloolooloolooloolooloolooloolollolooloolooloolooloololoolooloolooloolooloolooloololooloololoooloolooloololloololoololooolooloolooloolooloololoolooolooloololooloololloololooloolooloolooloolooloolooloolooloolooloolololooolooloololooollollollollollolllooollollollollollollollollloolololooll
> É sério.
>
> ABS()
>
>
>
> 2012/12/11 Aureliano Guedes 
>
>  Ola monges,
>
> Estou desenvolvendo um novo brinquedo, como forma de passatempo mesmo, um
> interpretador para BrainFuck.
>
> Futuramente pretendo desenvolver um compilador.
>
> Se alguem se interessar pelo assunto e puder colaborar e/ou ajudar, o que
> deesenvolvi ainda não esta funcional, e estou tendo algumas dificuldades.
>
> http://pastebin.com/aEppcPKt
>
> Para testarem um hello wolrd em BF:
>
>
> ++[>+++>++>+++>+-]>++.>+.+++..+++.>++.<<+++.>.+++.--..>+.>.
>
>
>
>
>
> Os comandos de brainfuck : http://pt.wikipedia.org/wiki/Brainfuck#Comandos
>
> Aqui tem um pequeno tutorial tambem: 
> http://wiki.portugal-a-programar.pt/dev_geral:linguagens_esoterica:brainfuck
>
>
>
> Aqui tambem:
>
> Basicamente é isso:
>
> http://unauthorizedaccess.files.wordpress.com/2011/02/cmds.jpg?w=610
>
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-12-04 Por tôpico Renato Santos
Gente, não tem diferença na comparação!!
é só na ordem que as coisas ocorrem conforme as coisas foram escritas!!

alguem ai ja disse:

$c = $a && $b  *COMPILA PRA *$c = ( $a && $b )
$c = $a and $b *COMPILA PRA* ($c = $a) and $b

2012/12/4 Aureliano Guedes 

> Acho que não é nada impactante a diferença de usar && ou and em dias
> normais, mas quando trabalhar bit-a-bit acho que o && é mais apropiado
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-30 Por tôpico Renato Santos
que toda vez que você passar termofilter('arquivo', -30, -20) todo o
arquivo estaria sendo lido (o q é obvio)

que por exemplo, poderia ser

$dados = h_energy('arquivo.txt');

termofilter($dados, -30, -20);

nesse caso, o codigo ficaria assim:
http://pastebin.com/ZyWPxq9A



2012/11/30 Aureliano Guedes 

>  Entendi, eu so não entendi a parte de "uma coisa: eu vi que sua funcao lá
> de intervalo está criando tudo de novo, dependendo do caso, você pode fazer
> a leitura apenas uma vez,".
>
> O que você quis dizer com isso?
>
> --
> From: renato.c...@gmail.com
> Date: Fri, 30 Nov 2012 10:44:24 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] Chaves de hash
>
> faça o push (só que sem a funcao),
>
> outra forma, porque não usar uma array ? e ai você coloca assim:
>
>  my @hmfe;
>
>   while (..){ ...
>   push @hmfe, {valor => $mirna, registro => $record};
>   ...
>   }
>
>
> e ai você faria o seu loop pra encontrar o valor mudando apenas
>
> $keys por $linha->{valor}
>
> foreach my $linha (@hmfe){
>... if ..
> }
>
> -
> uma coisa: eu vi que sua funcao lá de intervalo está criando tudo de novo,
> dependendo do caso, você pode fazer a leitura apenas uma vez, retornar
> o @hmfe (em referencia {  return \@hmfe }, para nao duplicar na memoria) e
> depois usar ele na funcao que recebe o intervalo e retorna os registros.
>
> 2012/11/30 Aureliano Guedes 
>
>  Biólogo não, biomedico, acredite essa diferença fere nossos sentimentos.
> hahaha
>
>
> > Hashs não têm mais de uma chave igual. Ele vai mudar o valor
> > relacionado à chave e não criar outra chave com o mesmo valor.
>
> Agora sim, isso é um problemão. Estarei perdendo dados assim.
>
> Como poderia reverter isso então??
>
> Faria a chave ser valor e o valor ser chave?? Quais minhas opções??
>
> sub h_energy{
> my $self = shift;
> my $data = $self->h_data || die "cannot find data";
> my $file = file("$data")->openr();
> my %hmfe = ();
> my $mirna;
> my $record;
>
> while (my $linha = <$file>) {
> if ( $linha =~ m{target:.*} ) {
> $record = $linha . $record if ($record);
> $hmfe{$mirna} = $record if ($mirna);
> $mirna = $+{mirna};
> $record = q() if ($record);
> }
> elsif ($linha =~ m{mfe:\s+(\S+)\s+kcal/mol}){
> $mirna = $1;
> $record .= $linha;
> }
>  else {
> $record .= $linha;
>  }
> }
> return %hmfe;
> }
>
> > Date: Fri, 30 Nov 2012 10:30:17 -0200
> > From: thiagogla...@ticursos.net
>
> > To: rio-pm@pm.org
> > Subject: Re: [Rio-pm] Chaves de hash
> >
> > Hashs não têm mais de uma chave igual. Ele vai mudar o valor
> > relacionado à chave e não criar outra chave com o mesmo valor.
> >
> > Em 2012-11-30 00:24, Aureliano Guedes escreveu:
> > > Bruno, no meu if funcionou tanto com && quanto com and. O meu erro
> > > mesmo foi que a regex pegava um espasso.
> > >
> > > Bem a minha duvida ficou em "porque seria problematico colocar reais
> > > em chaves de hash no meu caso?"
> > >
> > > Se eu fosse pesquisar um valor especifico e tivesse duas ou mais
> > > chaves com o mesmo valor real seria problema
> > > mas no meu caso umporta que o valor esteja em um determinado
> > > intervalo, podem ter 20 chaves iguais, estando no intervalo
> > > eu quero os 20 valores. 49??
> > >
> > > -
> > > From: leonardo.bal...@gmail.com
> > > Date: Fri, 30 Nov 2012 00:15:50 -0200
> > > To: rio-pm@pm.org
> > > Subject: Re: [Rio-pm] Chaves de hash
> > >
> > > Quero participar dessa discussao antes do 50.
> > >
> > > Por que tanta peculiariade na dicotomia de popular?
> > >
> > > Na buzilis da cizania ja nao era mais sobre Perl ou foi impressao
> > > minha?
> > >
> > > Leo Balter - via mobile
> > >
> > > Em 30/11/2012, às 00:02, Marcio Ferreira
> > >  escreveu:
> > >
> > >> 47
> > >>
> > >> On Nov 29, 2012 11:35 PM, "Renato Santos" 
> > >> wrote:
> > >>
> > >>> #define float_epsilon 0.1;
> > >>> #define float_equal(a,b) (fabs((a) - (b)) < float_epsilon)
> > >>>
> > >>> BTW
> > >>>
> > >>> 2012/11/29 Blabos d

Re: [Rio-pm] Chaves de hash

2012-11-30 Por tôpico Renato Santos
faça o push (só que sem a funcao),

outra forma, porque não usar uma array ? e ai você coloca assim:

 my @hmfe;

  while (..){ ...
  push @hmfe, {valor => $mirna, registro => $record};
  ...
  }


e ai você faria o seu loop pra encontrar o valor mudando apenas

$keys por $linha->{valor}

foreach my $linha (@hmfe){
   ... if ..
}

-
uma coisa: eu vi que sua funcao lá de intervalo está criando tudo de novo,
dependendo do caso, você pode fazer a leitura apenas uma vez, retornar
o @hmfe (em referencia {  return \@hmfe }, para nao duplicar na memoria) e
depois usar ele na funcao que recebe o intervalo e retorna os registros.

2012/11/30 Aureliano Guedes 

>  Biólogo não, biomedico, acredite essa diferença fere nossos sentimentos.
> hahaha
>
>
> > Hashs não têm mais de uma chave igual. Ele vai mudar o valor
> > relacionado à chave e não criar outra chave com o mesmo valor.
>
> Agora sim, isso é um problemão. Estarei perdendo dados assim.
>
> Como poderia reverter isso então??
>
> Faria a chave ser valor e o valor ser chave?? Quais minhas opções??
>
> sub h_energy{
> my $self = shift;
> my $data = $self->h_data || die "cannot find data";
> my $file = file("$data")->openr();
> my %hmfe = ();
> my $mirna;
> my $record;
>
> while (my $linha = <$file>) {
> if ( $linha =~ m{target:.*} ) {
> $record = $linha . $record if ($record);
> $hmfe{$mirna} = $record if ($mirna);
> $mirna = $+{mirna};
> $record = q() if ($record);
> }
> elsif ($linha =~ m{mfe:\s+(\S+)\s+kcal/mol}){
> $mirna = $1;
> $record .= $linha;
> }
>  else {
> $record .= $linha;
>  }
> }
> return %hmfe;
> }
>
> > Date: Fri, 30 Nov 2012 10:30:17 -0200
> > From: thiagogla...@ticursos.net
>
> > To: rio-pm@pm.org
> > Subject: Re: [Rio-pm] Chaves de hash
> >
> > Hashs não têm mais de uma chave igual. Ele vai mudar o valor
> > relacionado à chave e não criar outra chave com o mesmo valor.
> >
> > Em 2012-11-30 00:24, Aureliano Guedes escreveu:
> > > Bruno, no meu if funcionou tanto com && quanto com and. O meu erro
> > > mesmo foi que a regex pegava um espasso.
> > >
> > > Bem a minha duvida ficou em "porque seria problematico colocar reais
> > > em chaves de hash no meu caso?"
> > >
> > > Se eu fosse pesquisar um valor especifico e tivesse duas ou mais
> > > chaves com o mesmo valor real seria problema
> > > mas no meu caso umporta que o valor esteja em um determinado
> > > intervalo, podem ter 20 chaves iguais, estando no intervalo
> > > eu quero os 20 valores. 49??
> > >
> > > -
> > > From: leonardo.bal...@gmail.com
> > > Date: Fri, 30 Nov 2012 00:15:50 -0200
> > > To: rio-pm@pm.org
> > > Subject: Re: [Rio-pm] Chaves de hash
> > >
> > > Quero participar dessa discussao antes do 50.
> > >
> > > Por que tanta peculiariade na dicotomia de popular?
> > >
> > > Na buzilis da cizania ja nao era mais sobre Perl ou foi impressao
> > > minha?
> > >
> > > Leo Balter - via mobile
> > >
> > > Em 30/11/2012, às 00:02, Marcio Ferreira
> > >  escreveu:
> > >
> > >> 47
> > >>
> > >> On Nov 29, 2012 11:35 PM, "Renato Santos" 
> > >> wrote:
> > >>
> > >>> #define float_epsilon 0.1;
> > >>> #define float_equal(a,b) (fabs((a) - (b)) < float_epsilon)
> > >>>
> > >>> BTW
> > >>>
> > >>> 2012/11/29 Blabos de Blebe 
> > >>>
> > >>>> float_equal
> > >>>
> > >>> --
> > >>>
> > >>> Saravá,
> > >>> Renato CRON
> > >>>
> > >>> http://www.renatocron.com/blog/ [1]
> > >>> @renato_cron [2]
> > >>>
> > >>> ___
> > >>> Rio-pm mailing list
> > >>> Rio-pm@pm.org
> > >>> http://mail.pm.org/mailman/listinfo/rio-pm [3]
> > >
> > >> ___
> > >> Rio-pm mailing list
> > >> Rio-pm@pm.org
> > >> http://mail.pm.org/mailman/listinfo/rio-pm [3]
> > >
> > > ___ Rio-pm mailing list
> > > Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
> > >
> > > Links:
> > > --
> > > [1] http://www.renatocron.com/blog/
> > > [2] http://twitter.com/#%21/renato_cron
> > > [3] http://mail.pm.org/mailman/listinfo/rio-pm
> > >
> > > ___
> > > Rio-pm mailing list
> > > Rio-pm@pm.org
> > > http://mail.pm.org/mailman/listinfo/rio-pm
> >
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
eu com a mania de corrigir o certo! é esteja mesmo!

2012/11/30 Renato Santos 

> estej*e*
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
obs:

 perl -E 'sub a{my $x = shift() * 1000; $x = int($x/200)*200; $x}; say a
-0.7; say a -0.8'
-600
-800

como esta arredondando via truncate, o 79 geralmente deveria
estar no grupo do 800, OU NÃO! você que decide isso


2012/11/30 Renato Santos 

> pronto, na 51 eu respondo!
>
> 2012/11/30 Aureliano Guedes 
>
>>  Bruno, no meu if funcionou tanto com && quanto com and. O meu erro mesmo
>> foi que a regex pegava um espasso.
>>
>  pois é, vai funcionar!
> #no more comments
>
>> Bem a minha duvida ficou em "porque seria problematico colocar reais em
>> chaves de hash no meu caso?"
>>
> tenho quase certeza que, como já foi removido de um texto, o numero real
> em questão, seja apenas um scalar, sem a flag de 'real' (se é existe essa
> flag internamente),
>
> portanto, você pode colocar qualquer coisa nas chaves de um hash sem
> problema
>
> (to em duvida se existe algum byte especial que é usado para separar as
> chaves internamente, esse valor fica em uma das variaveis magicas)
>
>
>>
>> Se eu fosse pesquisar um valor especifico e tivesse duas ou mais chaves
>> com o mesmo valor real seria problema
>>
> você tem que pesquisar exatamente o valor desejado, mas não tem problema
> pois você esta percorrendo todas as chaves
>
>> mas no meu caso *i*mporta que o valor estej*e *em um determinado
>> intervalo, podem ter 20 chaves iguais, estando no intervalo
>>
>> eu quero os 20 valores. 49??
>>
> que? 20 chaves iguais não pode!
>
>
> voltando a que eu respondi no email via celular, eu faria o codigo de
> outra forma,
> se for possivel e os intervalos forem já predetermindados:
> no lugar de
> $hmfe{$mirna} = $record if ($mirna);
> eu já montaria ( fill, populate, do the inserts ) o hash com as chaves já
> sendo o intervalo, calculado por uma funcao (que eu chameria de filtro)
>
> push(@{$hmfe{determina_intervalo($mirna)}, $record} if ($mirna);
>
> $truncate = 1000; # isso transforma -0.123456789 em -0.123 e desconsidera
> o que estiver na frente do 3. o round-up transformaria em 0.12*4*
> *
> *
> sub determina_intervalo {
> my $valor = shift;
> # isso so faz o truncate
> $valor = int ($valor * $truncate) / $truncate;
>
> # depois separa em grupos de 200:
> $valor *= 1000;
> return int($valor/200)*200; # isso retorna só '200' que ja vale, mas
> poderia ser tambem:
>
> my $tmp = int($valor/200)*200;
> retrun "$tmp:".$tmp+200 # que vai retornar '-400:-200' que
> }
>
> e assim o valor da chave do intervalo já contem todos os registros daquele
> intervalo, nem de if precisa!
>
> perl -E 'sub a{my $x = shift() * 1000; $x = int($x/200)*200; $x}; say a
> -0.12; say a -0.23; say a -0.25; say a -0.26; say a -5; say a -0.29; say a
> -0.5; say a -0.71'
> 0
> -200
> -200
> -200
> -5000
> -200
> -400
> -600
>
>
>
>> --
>> From: leonardo.bal...@gmail.com
>> Date: Fri, 30 Nov 2012 00:15:50 -0200
>>
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] Chaves de hash
>>
>> Quero participar dessa discussao antes do 50.
>>
>> Por que tanta peculiariade na dicotomia  de popular?
>>
>> Na buzilis da cizania ja nao era mais sobre Perl ou foi impressao minha?
>>
>>
>> Leo Balter - via mobile
>>
>> Em 30/11/2012, às 00:02, Marcio Ferreira 
>> escreveu:
>>
>> 47
>> On Nov 29, 2012 11:35 PM, "Renato Santos"  wrote:
>>
>> #define float_epsilon 0.1;#define float_equal(a,b) (fabs((a) - (b)) < 
>> float_epsilon)
>>
>> *BTW*
>>
>> 2012/11/29 Blabos de Blebe 
>>
>> float_equal
>>
>>
>>
>>
>> --
>> Saravá,
>> Renato CRON
>> http://www.renatocron.com/blog/
>> @renato_cron <http://twitter.com/#%21/renato_cron>
>>
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>> ___ Rio-pm mailing list
>> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> Saravá,
> Renato CRON
> http://www.renatocron.com/blog/
> @renato_cron <http://twitter.com/#!/renato_cron>
>
>


-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
pronto, na 51 eu respondo!

2012/11/30 Aureliano Guedes 

>  Bruno, no meu if funcionou tanto com && quanto com and. O meu erro mesmo
> foi que a regex pegava um espasso.
>
 pois é, vai funcionar!
#no more comments

> Bem a minha duvida ficou em "porque seria problematico colocar reais em
> chaves de hash no meu caso?"
>
tenho quase certeza que, como já foi removido de um texto, o numero real em
questão, seja apenas um scalar, sem a flag de 'real' (se é existe essa flag
internamente),

portanto, você pode colocar qualquer coisa nas chaves de um hash sem
problema

(to em duvida se existe algum byte especial que é usado para separar as
chaves internamente, esse valor fica em uma das variaveis magicas)


>
> Se eu fosse pesquisar um valor especifico e tivesse duas ou mais chaves
> com o mesmo valor real seria problema
>
você tem que pesquisar exatamente o valor desejado, mas não tem problema
pois você esta percorrendo todas as chaves

> mas no meu caso *i*mporta que o valor estej*e *em um determinado
> intervalo, podem ter 20 chaves iguais, estando no intervalo
> eu quero os 20 valores. 49??
>
que? 20 chaves iguais não pode!


voltando a que eu respondi no email via celular, eu faria o codigo de outra
forma,
se for possivel e os intervalos forem já predetermindados:
no lugar de
$hmfe{$mirna} = $record if ($mirna);
eu já montaria ( fill, populate, do the inserts ) o hash com as chaves já
sendo o intervalo, calculado por uma funcao (que eu chameria de filtro)

push(@{$hmfe{determina_intervalo($mirna)}, $record} if ($mirna);

$truncate = 1000; # isso transforma -0.123456789 em -0.123 e desconsidera o
que estiver na frente do 3. o round-up transformaria em 0.12*4*
*
*
sub determina_intervalo {
my $valor = shift;
# isso so faz o truncate
$valor = int ($valor * $truncate) / $truncate;

# depois separa em grupos de 200:
$valor *= 1000;
return int($valor/200)*200; # isso retorna só '200' que ja vale, mas
poderia ser tambem:

my $tmp = int($valor/200)*200;
retrun "$tmp:".$tmp+200 # que vai retornar '-400:-200' que
}

e assim o valor da chave do intervalo já contem todos os registros daquele
intervalo, nem de if precisa!

perl -E 'sub a{my $x = shift() * 1000; $x = int($x/200)*200; $x}; say a
-0.12; say a -0.23; say a -0.25; say a -0.26; say a -5; say a -0.29; say a
-0.5; say a -0.71'
0
-200
-200
-200
-5000
-200
-400
-600



> --
> From: leonardo.bal...@gmail.com
> Date: Fri, 30 Nov 2012 00:15:50 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] Chaves de hash
>
> Quero participar dessa discussao antes do 50.
>
> Por que tanta peculiariade na dicotomia  de popular?
>
> Na buzilis da cizania ja nao era mais sobre Perl ou foi impressao minha?
>
>
> Leo Balter - via mobile
>
> Em 30/11/2012, às 00:02, Marcio Ferreira 
> escreveu:
>
> 47
> On Nov 29, 2012 11:35 PM, "Renato Santos"  wrote:
>
> #define float_epsilon 0.1;#define float_equal(a,b) (fabs((a) - (b)) < 
> float_epsilon)
>
> *BTW*
>
> 2012/11/29 Blabos de Blebe 
>
> float_equal
>
>
>
>
> --
> Saravá,
> Renato CRON
> http://www.renatocron.com/blog/
> @renato_cron <http://twitter.com/#%21/renato_cron>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
#define float_epsilon 0.1;#define float_equal(a,b) (fabs((a) -
(b)) < float_epsilon)

*BTW*

2012/11/29 Blabos de Blebe 

> float_equal




-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
 pra evitar 'QUANDO EU COMPREI, FUNCIONAVA RAPIDO'

2012/11/29 Tiago Peczenyj 

> Olha... tinha uma gem pra ruby que adicionava uns "sleeps" no codigo pra
> deixar propositalmente lento para demonstrações "enterprise". Afinal se é
> rapido, não é sistema web interno corporativo.
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
use && sempre e seja feliz, só use and quando você souber oque está fazendo.

o 'and' é praticamente o 'e' da nossa lingua, vc diz pro seu codigo 'faça
isso, e isso', ele não é de comparação, embora faça isso também.

On Thu, Nov 29, 2012 at 10:09 PM, Bruno Buss  wrote:

>
>
> 2012/11/29 
>
> Seu primeiro erro é o operador and. No documento perlop: $ perldoc perlop
>> você vai descobrir o seguinte:
>>
>>  " Logical And
>>  Binary "and" returns the logical conjunction of the two
>>  surrounding expressions.  It's equivalent to && except for
>>  the very low precedence.  This means that it short-circuits:
>>  i.e., the right expression is evaluated only if the left
>>  expression is true.
>> [...]
>>   C-style Logical And
>>  Binary "&&" performs a short-circuit logical AND operation.
>>  That is, if the left operand is false, the right operand is
>>  not even evaluated.  Scalar or list context propagates down
>>  to the right operand if it is evaluated."
>>
>> Logo, seu código
>>
>>
>> if($keys >= $min and $keys <= $max){
>>
>> deveria ser if($keys >= $min && $keys <= $max){
>>
>
> Eu devo ser muito estúpido... mas alguém que está falando isso (ja é o
> 3o), poderia fazer o favor de me explicar porque ele deve usar && no lugar
> do 'and' e qual diferença isso faz no caso deste if específico? E em quais
> situações deve-se usar o 'and' no lugar de &&?
>
> [ ]'s
> --
> Bruno C. Buss
> http://www.brunobuss.net
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
kkk curti, boa ideia!

ai quando as começarem a reclamar que o sistema está lento, é só diminuir o
tempo!

2012/11/29 Aureliano Guedes 

> sleep 1;
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
http://perldoc.perl.org/functions/-X.html

procure por -d e por -e e por  leia tudo!

2012/11/29 Aureliano Guedes 

>  So aproveitando a oportunidade.
>
> Estou brincando com brinquedinhos novos.
> Mas ainda não entendi uma coisa.
>
> Aqui eu quero escrever na tela so o que for documento, não quero o que for
> diretorio.
> Na unha eu sei fazer, eu quero fazer isso usando o modulo Path::Class.
>
> Abaixo não esta dando muito certo.
> O que errei??
>
> use Path::Class;
>
> my $dir  = dir('Parse');
> my $s = $dir->open or die "cant open: $!";
> my @o = $s->read;
> foreach my $p (@o){
> if ($p->file){
> print $p;
> }
> }
>
> > Date: Thu, 29 Nov 2012 19:52:45 -0200
>
> > From: thiagogla...@ticursos.net
> > To: rio-pm@pm.org
> > Subject: Re: [Rio-pm] Chaves de hash
> >
> > Só para ser chato:
> >
> > > popular um hash inteiro já com os grupos montados,
> >
> > popular
> > adj. 2 g.
> > 1. Relativo ou pertencente ao povo.
> > 2. Que é usado ou comum entre o povo.
> > 3. Que é do agrado do povo.
> > 4. Vulgar, notório.
> > 5. Democrático.
> > s. m.
> > 6. Homem do povo.
> >
> > povoar - Conjugar
> > (povo + -oar)
> > v. tr.
> > 1. Fundar povoações em.
> > 2. Estabelecer habitantes em.
> > 3. Disseminar animais para reprodução.
> > 4. Dispor grande quantidade de árvores em.
> > 5. Dispor grande quantidade de plantas (ex.: povoar o terreno de
> > vinha).
> >
> > >>>6. [Por extensão] Encher com determinada coisa (ex.: a notícia
> > >>> povoou a sua vida com alegria).
> >
> > v. pron.
> > 7. Encher-se de habitantes.
> >
> >
> > Em 2012-11-29 19:41, Renato Santos escreveu:
> > > Assim,
> > > não sei se tem muita diferença na memoria entre um $h e um %s,
> > >
> > > eu costumo usar $h por habito mesmo, mas poderia ser push
> > > @{$h{$grupo}} sem problemas, talvez até @$h{$grupo} funcione certo
> > >
> > > O 'evitar o loop' q eu digo, é você popular um hash inteiro já com os
> > > grupos montados, por exemplo ,se o grupo for a cada 10 numeros reais,
> > > voce poderia retornar
> > > "-30:-20" como chave para todos os valores de entrada dessa funcao, e
> > > popular tudo de uma vez só, no lugar de ler as chaves a cada pergunta
> > > de intervalo
> > >
> > > 2012/11/29 Aureliano Guedes 
> > >
> > >> Renato, fiquei sem entender, no meu caso não esta fazendo so um
> > >> loop? E qual a diferença entre usar um hash %h ou tranformar $h em um
> > >> hash??
> > >> Desculpe as perguntas é que não faço nenhum curso ligado a
> > >> computação logo as vezes fico "boiando".
> > >>
> > >> Thiago, segue o script caso tenha também algo a
> > >> modificar/acrescentar a nível das minhas péssimas práticas.
> > >>
> > >> use warnings;
> > >> use strict;
> > >> use Path::Class;
> > >>
> > >> #Guardar os valores em um hash acessado pelo valor do mfe
> > >> sub h_energy{
> > >> my $data = shift;
> > >> my $file = file($data)->openr();
> > >> my %hmfe = ();
> > >> my $mirna;
> > >> my $record;
> > >>
> > >> while (my $linha = <$file>) {
> > >> if ( $linha =~ m{target:.*} ) {
> > >> $record = $linha . $record if ($record);
> > >> $hmfe{$mirna} = $record if ($mirna);
> > >> $mirna = $+{mirna};
> > >> $record = q() if ($record);
> > >> }
> > >> elsif ($linha =~ m{mfe:s+(S+)s+kcal/mol}){
> > >> $mirna = $1;
> > >> $record .= $linha;
> > >> }
> > >>  else {
> > >> $record .= $linha;
> > >>  }
> > >> }
> > >> return %hmfe;
> > >> }
> > >>
> > >> sub termofilter{
> > >> my ($data, $min, $max) = @_;
> > >> my %d = h_energy($data);
> > >>
> > >> foreach my $keys (keys %d){
> > >> if($keys >= $min and $keys <= $max){
> > >> print $keys . "n";
> > >> }
> > >> }
> > >> }
> > >> termofilter(&qu

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
eu prefiro geralmente multiplicar por 1+N casas e usar apenas o numero
inteiro,

se a quantidade de casas for pequena, *é mais rapido* do que ligar uma lib
externa pra processar numeros.

ps: teoricamente é mais rapido, não fiz testes para tal

2012/11/29 

> Seu primeiro erro é o operador and. No documento perlop: $ perldoc perlop
> você vai descobrir o seguinte:
>
>  " Logical And
>  Binary "and" returns the logical conjunction of the two
>  surrounding expressions.  It's equivalent to && except for
>  the very low precedence.  This means that it short-circuits:
>  i.e., the right expression is evaluated only if the left
>  expression is true.
> [...]
>   C-style Logical And
>  Binary "&&" performs a short-circuit logical AND operation.
>  That is, if the left operand is false, the right operand is
>  not even evaluated.  Scalar or list context propagates down
>  to the right operand if it is evaluated."
>
> Logo, seu código
>
>
> if($keys >= $min and $keys <= $max){
>
> deveria ser if($keys >= $min && $keys <= $max){
>
> A segunda coisa é o seu range. Não sei a precisão que seu código precisa.
> Veja isso:
>
>  $ perl -E '
> if (-30.1 >= -30 ){
> say "-30.1 is equal -30? Really";}
>
> else {
> say "Floating Point is not true real"};'
> -30.1 is equal -30? Really
>  $
>
>
> Eu faria algo como:
>
> if($keys > $min and $keys < $max)
>
> e, usaria, por exemplo -30.01 como min e -20.01 como max, por
> exemplo, para contornar o ponto flutuante, ou usaria um módulo matemático,
> como o Math::BigFloat.
>
> http://perldoc.perl.org/Math/**BigFloat.html
>
> Eu nunca usei em algo que fosse crítico, mas me parece bem sólida e segura.
>
>
> Em 2012-11-29 18:46, Aureliano Guedes escreveu:
>
>> Renato, fiquei sem entender, no meu caso não esta fazendo so um loop?
>> E qual a diferença entre usar um hash %h ou tranformar $h em um hash??
>> Desculpe as perguntas é que não faço nenhum curso ligado a computação
>> logo as vezes fico "boiando".
>>
>> Thiago, segue o script caso tenha também algo a modificar/acrescentar
>> a nível das minhas péssimas práticas.
>>
>> use warnings;
>> use strict;
>> use Path::Class;
>>
>> #Guardar os valores em um hash acessado pelo valor do mfe
>> sub h_energy{
>>  my $data = shift;
>>  my $file = file($data)->openr();
>>  my %hmfe = ();
>>  my $mirna;
>>  my $record;
>>
>>  while (my $linha = <$file>) {
>>  if ( $linha =~ m{target:.*} ) {
>>  $record = $linha . $record if ($record);
>>  $hmfe{$mirna} = $record if ($mirna);
>>  $mirna = $+{mirna};
>>  $record = q() if ($record);
>>  }
>>  elsif ($linha =~ m{mfe:s+(S+)s+kcal/mol}){
>>
>>  $mirna = $1;
>>  $record .= $linha;
>>  }
>>  else {
>>  $record .= $linha;
>>  }
>>  }
>>  return %hmfe;
>> }
>>
>> sub termofilter{
>>  my ($data, $min, $max) = @_;
>>  my %d = h_energy($data);
>>  foreach my $keys (keys %d){
>>  if($keys >= $min and $keys <= $max){
>>  print $keys . "n";
>>  }
>>  }
>> }
>> termofilter("hybrid.txt", "-30", "-20");
>>
>>  Date: Thu, 29 Nov 2012 17:27:15 -0200
>>> From: thiagogla...@ticursos.net
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] Chaves de hash
>>>
>>> Onde estou agora o firewall bloqueia o pastebin. Pela sua explicação,
>>> verificar por regex seria uma solução segura. O número sera convertido
>>> para um string e, se a sua regex prevê uma margem segura para a
>>> imprecisão do ponto flutuante na sua aplicação, funciona sem problemas.
>>>
>>> Em 2012-11-29 16:59, Aureliano Guedes escreveu:
>>> > Nossa, aqui virou uma arena de ideias, da para aprender muita coisa
>>> > so lendo.
>>> >
>>> > O problema é o seguinte, eu tenho uma lista nesse formato:
>>> >
>>> > target: 01010101
>>> > length: 581
>>> > miRNA : hsa-miR-15a
>>> > length: 22
>>> >
>>> > mfe: -24.4 kcal/mol
>>> > p-value: 0.334111
>>> >
>>> > position 244
>>> > target 5' C UCUCCUGUGGUCUCU G U 3'
>>> > CACA GACCA GUGCUGUU
>>> > GUGU UUGGU CACGACGA
>>> > miRNA 3' AAUA U 5'
>>> >
>>> > Conforme este arquivo http://pastebin.com/9v6WFUT7
>>> >
>>> > Eu quero filtrar essa lista de acordo com o valor de mfe.
>>> >
>>> > Exemplo, se mfe for menor que -30 e maior que -20 esta dentro.
>>> >
>>> > Logo fiz da seguinte forma: http://pastebin.com/Dnhv0Zya
>>> >
>>> > Funcionou, o problema era sono. Não percebi que a regex estava
>>> > pegando um espaço.
>>> >
>>> > Quanto a usar reais como chave de hash, se eu tiver dois reais iguais
>>> > poderá ser um problema para acessar os valores,
>>> > mas em toda regra existe sua exceção.
>>> >
>>> > No meu caso, o que me importa é que mfe esteja no intervalo
>>> > determinado.
>>> >
>>> > Caso descordem seria uma honra ler a explicação de qualquer um de
>>> > vocês.
>>> >
>>> >> Date: Thu, 29 Nov 2012 16:44:50 -0200
>>> >> From: thiagogla...@ticursos.net
>>> >> To: rio-pm@pm.org
>>> >> Subject: Re: [Rio-pm] Chaves de hash
>>> >>
>>> >> Um exemplo mais preciso:
>>> >>
>>> >> $ uname -a
>>>

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
Assim,
não sei se tem muita diferença na memoria entre um $h e um %s,

eu costumo usar $h por habito mesmo, mas poderia ser push @{$h{$grupo}} sem
problemas, talvez até @$h{$grupo} funcione certo


O 'evitar o loop' q eu digo, é você popular um hash inteiro já com os
grupos montados, por exemplo ,se o grupo for a cada 10 numeros reais, voce
poderia retornar
"-30:-20" como chave para todos os valores de entrada dessa funcao, e
popular tudo de uma vez só, no lugar de ler as chaves a cada pergunta de
intervalo

2012/11/29 Aureliano Guedes 

>  Renato, fiquei sem entender, no meu caso não esta fazendo so um loop? E
> qual a diferença entre usar um hash %h ou tranformar $h em um hash??
> Desculpe as perguntas é que não faço nenhum curso ligado a computação logo
> as vezes fico "boiando".
>
> Thiago, segue o script caso tenha também algo a modificar/acrescentar a
> nível das minhas péssimas práticas.
>
> use warnings;
> use strict;
> use Path::Class;
>
> #Guardar os valores em um hash acessado pelo valor do mfe
> sub h_energy{
> my $data = shift;
> my $file = file($data)->openr();
> my %hmfe = ();
> my $mirna;
> my $record;
>
> while (my $linha = <$file>) {
> if ( $linha =~ m{target:.*} ) {
> $record = $linha . $record if ($record);
> $hmfe{$mirna} = $record if ($mirna);
> $mirna = $+{mirna};
> $record = q() if ($record);
> }
> elsif ($linha =~ m{mfe:\s+(\S+)\s+kcal/mol}){
> $mirna = $1;
> $record .= $linha;
> }
>  else {
> $record .= $linha;
>  }
> }
> return %hmfe;
> }
>
>
> sub termofilter{
> my ($data, $min, $max) = @_;
> my %d = h_energy($data);
>
> foreach my $keys (keys %d){
> if($keys >= $min and $keys <= $max){
> print $keys . "\n";
> }
> }
> }
> termofilter("hybrid.txt", "-30", "-20");
>
> > Date: Thu, 29 Nov 2012 17:27:15 -0200
>
> > From: thiagogla...@ticursos.net
> > To: rio-pm@pm.org
> > Subject: Re: [Rio-pm] Chaves de hash
> >
> > Onde estou agora o firewall bloqueia o pastebin. Pela sua explicação,
> > verificar por regex seria uma solução segura. O número sera convertido
> > para um string e, se a sua regex prevê uma margem segura para a
> > imprecisão do ponto flutuante na sua aplicação, funciona sem problemas.
> >
> > Em 2012-11-29 16:59, Aureliano Guedes escreveu:
> > > Nossa, aqui virou uma arena de ideias, da para aprender muita coisa
> > > so lendo.
> > >
> > > O problema é o seguinte, eu tenho uma lista nesse formato:
> > >
> > > target: 01010101
> > > length: 581
> > > miRNA : hsa-miR-15a
> > > length: 22
> > >
> > > mfe: -24.4 kcal/mol
> > > p-value: 0.334111
> > >
> > > position 244
> > > target 5' C UCUCCUGUGGUCUCU G U 3'
> > > CACA GACCA GUGCUGUU
> > > GUGU UUGGU CACGACGA
> > > miRNA 3' AAUA U 5'
> > >
> > > Conforme este arquivo http://pastebin.com/9v6WFUT7
> > >
> > > Eu quero filtrar essa lista de acordo com o valor de mfe.
> > >
> > > Exemplo, se mfe for menor que -30 e maior que -20 esta dentro.
> > >
> > > Logo fiz da seguinte forma: http://pastebin.com/Dnhv0Zya
> > >
> > > Funcionou, o problema era sono. Não percebi que a regex estava
> > > pegando um espaço.
> > >
> > > Quanto a usar reais como chave de hash, se eu tiver dois reais iguais
> > > poderá ser um problema para acessar os valores,
> > > mas em toda regra existe sua exceção.
> > >
> > > No meu caso, o que me importa é que mfe esteja no intervalo
> > > determinado.
> > >
> > > Caso descordem seria uma honra ler a explicação de qualquer um de
> > > vocês.
> > >
> > >> Date: Thu, 29 Nov 2012 16:44:50 -0200
> > >> From: thiagogla...@ticursos.net
> > >> To: rio-pm@pm.org
> > >> Subject: Re: [Rio-pm] Chaves de hash
> > >>
> > >> Um exemplo mais preciso:
> > >>
> > >> $ uname -a
> > >> SunOS cg01spo 5.10 Generic_13-03 sun4v sparc
> > >> SUNW,SPARC-Enterprise-T5120
> > >>
> > >> $ perl -E '
> > >> if (0.2 > 0.19997){
> > >> say "0.2 is greater than 0.19997";}
> > >> else {
> > >> say "Floating Point is not true real"};'
> > >> 0.2 is greater than 0.19997
> > >> $
> > >>
> > >> $ perl -E '
> > >> if (0.2 > 0.19998){
> > >> say "0.2 is greater than 0.19998";}
> > >> else {
> > >> say "Floating Point is not true real"};'
> > >> Floating Point is not true real
> > >> $
> > >>
> > >> Por que é importante saber essas coisas?
> > >> http://ta.twi.tudelft.nl/users/vuik/wi211/disasters.html
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> Em 2012-11-29 15:13, thiagogla...@ticursos.net escreveu:
> > >> >> Não se compara reais por igualdade.
> > >> > Se você tem erro na igualdade, terá nas outras comparações se a
> > >> > diferença entre os números for menor que o maior acréscimo
> > >> suportado
> > >> > pela plataforma:
> > >> >
> > >> > $ perl -E '
> > >> > if (0.2 > 0.1999){
> > >> >> say "0.2 is greater than
> > >> 0.19

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Renato Santos
Usa uma função pra normalizar o valor (multiplica por 10, divide o inteiro
por 10) ou alguma coisa que retorne o "grupo" que cada valor se encontra,
aí vc faz apenas um loop e um calculo por valor e aí vc faz assim
$ref;
For (..) {
  $grupo = funcao($_->{valor});
  push @{$ref->{$grupo}}, $_;
}

O ref vai virar um hash com os valores e dentro todos que fazem parte dele.
Em 29/11/2012 16:59, "Aureliano Guedes"  escreveu:

>  Nossa, aqui virou uma arena de ideias, da para aprender muita coisa so
> lendo.
>
> O problema é o seguinte, eu tenho uma lista nesse formato:
>
> target: 01010101
> length: 581
> miRNA : hsa-miR-15a
> length: 22
>
> mfe: -24.4 kcal/mol
> p-value: 0.334111
>
> position  244
> target 5' CUCUCCUGUGGUCUCU G   U 3'
>CACA   GACCAGUGCUGUU
>GUGU   UUGGUCACGACGA
> miRNA  3'  AAUAU 5'
>
>
> Conforme este arquivo http://pastebin.com/9v6WFUT7
>
> Eu quero filtrar essa lista de acordo com o valor de mfe.
>
> Exemplo, se mfe for menor que -30 e maior que -20 esta dentro.
>
> Logo fiz da seguinte forma: http://pastebin.com/Dnhv0Zya
>
> Funcionou, o problema era sono. Não percebi que a regex estava pegando um
> espaço.
>
> Quanto a usar reais como chave de hash, se eu tiver dois reais iguais
> poderá ser um problema para acessar os valores,
> mas em toda regra existe sua exceção.
>
> No meu caso, o que me importa é que mfe esteja no intervalo determinado.
>
> Caso descordem seria uma honra ler a explicação de qualquer um de vocês.
>
> > Date: Thu, 29 Nov 2012 16:44:50 -0200
> > From: thiagogla...@ticursos.net
> > To: rio-pm@pm.org
> > Subject: Re: [Rio-pm] Chaves de hash
> >
> > Um exemplo mais preciso:
> >
> > $ uname -a
> > SunOS cg01spo 5.10 Generic_13-03 sun4v sparc
> > SUNW,SPARC-Enterprise-T5120
> >
> > $ perl -E '
> > if (0.2 > 0.19997){
> > say "0.2 is greater than 0.19997";}
> > else {
> > say "Floating Point is not true real"};'
> > 0.2 is greater than 0.19997
> > $
> >
> > $ perl -E '
> > if (0.2 > 0.19998){
> > say "0.2 is greater than 0.19998";}
> > else {
> > say "Floating Point is not true real"};'
> > Floating Point is not true real
> > $
> >
> > Por que é importante saber essas coisas?
> > http://ta.twi.tudelft.nl/users/vuik/wi211/disasters.html
> >
> >
> >
> >
> >
> >
> > Em 2012-11-29 15:13, thiagogla...@ticursos.net escreveu:
> > >> Não se compara reais por igualdade.
> > > Se você tem erro na igualdade, terá nas outras comparações se a
> > > diferença entre os números for menor que o maior acréscimo suportado
> > > pela plataforma:
> > >
> > > $ perl -E '
> > > if (0.2 > 0.1999){
> > >> say "0.2 is greater than 0.19";}
> > >> else {
> > >> say "Floating Point is not true real"};'
> > > Floating Point is not true real
> > > $
> > >
> > > $ perl -E '
> > > if (0.2 > 0.19){
> > > say "0.2 is greater than 0.19";}
> > > else {
> > > say "Floating Point is not true real"};'
> > > 0.2 is greater than 0.19
> > > $
> > >
> > > Então, comparar pontos flutuantes não é seguro. Nem igualdade, nem
> > > maio, nem menor.
> > >
> > > E mais: garanto que se você quer usar um número real como chave de
> > > Hash você tem um problema na análise da lógica do problema que está
> > > enfrentando e como solucioná-lo.
> > >
> > >
> > > Em 2012-11-29 10:36, Blabos de Blebe escreveu:
> > >> Na verdade é o contrário, não?
> > >>
> > >> Não se compara reais por igualdade.
> > >>
> > >> Se você usa reais como chaves de hash, você tem algum problema...
> > >>
> > >> Ao não controlar a representação interna em ponto flutuante, você
> > >> pode
> > >> nunca mais alcançar o valor relacionado à chave, se usar um número
> > >> real como chave, pois qualquer bit diferente, mesmo que arredondando
> > >> no mesmo número vai resultar num cálculo diferente na tabela hash.
> > >>
> > >> Igualdade entre númros reais constuma ser definida como algo assim:
> > >>
> > >> sub float_equal {
> > >> my ($first, $second) = @_;
> > >> my $threshold = 0.0001 # arbitrário
> > >> return abs( $first - $second ) < $threshold;
> > >> }
> > >>
> > >> Converter para string antes de usar como chave de hash também não me
> > >> parece saudável, pois, embora a string vá funcionar bem no hash,
> > >> você
> > >> não garante que a conversão vai resultar sempre na mesma string, e
> > >> aí
> > >> vc se ferra do mesmo jeito.
> > >>
> > >> Por outro lado, se você nunca vai acessar o elemento do hash através
> > >> da chave, um foreach por keys() ou values() vai te retornar os
> > >> valores...
> > >>
> > >> Mas aí eu te perguntaria por que rails você está usando hash pra
> > >> isso...
> > >>
> > >>
> > >>
> > >> On Thu, Nov 29, 2012 at 6:47 AM,  wrote:
> > >>> Existe um problema aqui, diferente da comparação.
> > >>> A comparação de reais é problemática devido a estrutura interna do
> > >>>

Re: [Rio-pm] Chaves de hash

2012-11-28 Por tôpico Renato Santos
perl -MO=Deparse pra descobrir as pegadinhas

2012/11/28 Blabos de Blebe 

> TRUCO!!!
>
> perl -E '$a=0; 0 and $a=1; say $a'
> perl -E '$a=0; say 0 and $a=1; say $a'
>
> A pegadinha fica como exercício...
>
>
>
> 2012/11/28 Bruno Buss :
> > Sim, o seu exemplo é a perfeita demonstração do que eu disse: a única
> > diferença é que você não consegue fazer short-circuit com 'and', só com
> > '&&'.
> >
> > A menos que o sinal de <= e >= agora tenha algum side-effect como o
> '++', eu
> > não particularmente não consigo chegar numa linha razoável de raciocínio
> > para reclamar do &&, and e precedências no if do Aureliano.
> >
> > [ ]'s
> >
> > 2012/11/28 Renato Santos 
> >>
> >> Acho que o que o Marcio disse isso pois o and computa ambos os lados da
> >> expressão, para então retornar um boolean (ou continuar a sequencia de
> >> computar mais 'ands' e 'ors')
> >>
> >>
> >> $x = 0;
> >> $x and $x++; # $x = 1
> >>
> >> $y = 0;
> >> $y && $y++; # $y = 0
> >>
> >>
> >> perl -e 'use v5.14.0;use v5.14.0; my $m=0; say $m && $m++; say $m'
> >> 0
> >> 0
> >>
> >> perl -e 'use v5.14.0;use v5.14.0; my $m=0; say $m and $m++; say $m'
> >> 0
> >> 1
> >>
> >>
> >> o retorno foi o mesmo, mas o comportamento não.
> >>
> >> 2012/11/28 Bruno Buss 
> >>>
> >>> @Thiago e Marcio:
> >>> O que vocês estão falando? Pelo amor de Larry...
> >>> O operador 'and' é *exatamente* igual ao '&&', tirando o nível de
> >>> precedência... onde o 'and' é um dos que tem a precedência mais baixa.
> >>> (perldoc perlop por favor...)
> >>> Ou seja, você pode fazer tudo que faz com '&&' com 'and', menos contar
> >>> com short-circuit em condicionais ;)
> >>
> >>
> >>
> >>
> >> --
> >> Saravá,
> >> Renato CRON
> >> http://www.renatocron.com/blog/
> >> @renato_cron
> >>
> >>
> >> ___
> >> Rio-pm mailing list
> >> Rio-pm@pm.org
> >> http://mail.pm.org/mailman/listinfo/rio-pm
> >
> >
> >
> >
> > --
> > Bruno C. Buss
> > http://www.brunobuss.net
> >
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-28 Por tôpico Renato Santos
Acho que o que o Marcio disse isso pois o *and* computa ambos os lados da
expressão, para então retornar um boolean (ou continuar a sequencia de
computar mais 'ands' e 'ors')


$x = 0;
$x and $x++; # $x = 1

$y = 0;
$y && $y++; # $y = 0


perl -e 'use v5.14.0;use v5.14.0; my $m=0; say $m && $m++; say $m'
*0*
0

perl -e 'use v5.14.0;use v5.14.0; my $m=0; say $m and $m++; say $m'
*0*
1


o retorno foi o mesmo, mas o comportamento não.

2012/11/28 Bruno Buss 

> @Thiago e Marcio:
> O que vocês estão falando? Pelo amor de Larry...
> O operador 'and' é *exatamente* igual ao '&&', tirando o nível de
> precedência... onde o 'and' é um dos que tem a precedência mais baixa.
> (perldoc perlop por favor...)
> Ou seja, você pode fazer tudo que faz com '&&' com 'and', menos contar com
> short-circuit em condicionais ;)
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-28 Por tôpico Renato Santos
VERDADE! HAHA

Mas acho que estamos com um problema aqui de nomes. talvez assim fique mais
claro:

foreach my $numero (keys %d) {
if ($numero <= $min ) { # atencao, numeros iguais entram aqui
print "$numero tem valor $d{$numero} e eh menor que $min\n";
}elsif ($numero > $min ) {
print "$numero tem valor $d{$numero} e eh maior que $max\n";
}
}

2012/11/28 Ole Peter Smith 

> como que keys sera menor do min e maior do que max? so se os tres sao
> iguais nao?
>
> if keys <=min min=keys
> if krys >= max max=keys
>
> 0le
>
> Send via Android
> On Nov 28, 2012 9:43 PM, "Aureliano Guedes" 
> wrote:
>
>>  Ola Monges.
>>
>> Estou com um problema simples mas que não acho a solução.
>>
>> Eu tenho um hash onde as chaves são valores numericos reais (a maioria
>> negativo e quase nenhum inteiro).
>> Estou limitando esses valores por um maximo e um minimo.
>>
>> foreach my $keys (keys %d) {
>> if ($keys <= $min and $keys >= $max) {
>> print "$d{$keys}";
>> }
>> }
>>
>> Problema que não da certo.
>> Ha algo de errado aqui??
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] problemas com Handle

2012-11-15 Por tôpico Renato Santos
Algum ou ambos find_h está retornando *undef* e ai o perl ta avisando isso.

se isso pode mesmo ocorrer ,é só trocar o* **$record||''* no retorno, mas
talvez seja um bug na leitura do arquivo.


2012/11/15 Aureliano Guedes 

>  Ola monges,
> Mais uma vez venho encomodar-los com duvidas triviais.
>
> Ao executar este script http://pastebin.com/WrVmNw7f a seguinte mensagem
> tem retornado:
>
> Use of uninitialized value in print at C:\Users\Aureliano
> Guedes\Desktop\mirnafilterI
> I.pl line 73,  chunk 1717.
>
> O que pode estar ocorrendo??
>
> Desde já grato.
>
> Att,
> Aureliano Guedes
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-26 Por tôpico Renato Santos
Se não me engano esse módulo é do Junior Moraes
Em 26/10/2012 22:14, "Aureliano Guedes"  escreveu:

>  Vou estudar mais e ver se não começo por onde vocês estão me indicando.
>
> Por exemplo, sou acostumado usar ubuntu e slackware, mas meu note pifo e
> to usando o pc de mesa com windows 7, e comecei a ter problemas com
> download devido um problema tecnico ja explicado em outra tread pelo
> Stanislaw Pusep.
>
> >>> Assumindo que o MP3 tenha uma entropia próxima de 8 bits por byte
> (algo que definitivamente não vale para um arquivo .pl, por mais que nos
> caçoem), um arquivo de 6,16MB poderá ter cerca de 25 mil ocorrências de
> \x0A. Mapeando CR => CRLF, pode crescer em cerca de 50KB. Acho que
> 6,19MB está dentro da faixa :) <<<
>
> Logo todo arquivo de audio e video chega com problema, usando esse modulo
> -> https://metacpan.org/module/WWW::YouTube::Download
>
> Estou analizando a source dele com calma para ver se acho o erro, o
> problema que essa source esta complexa praq minha mente, mas começo achar
> que o problema esta em:
>
>  my $res = $self->ua->get($video_url, ':content_cb' => $args->{cb});
> Carp::croak "!! $video_id download failed: ", $res->status_line if
> $res->is_error;
>
> Depois darei um feedback sobre se corrigi o erro.
>
>
> --
> From: tiago.pecze...@gmail.com
> Date: Fri, 26 Oct 2012 07:36:47 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> e o que te impede de fazer a sua versão? se vc pensar um pouco vc pode
> contribuir com algo bom e não uma copia de algo que ja exista. Outra coisa,
> o que existe la pode ser antigo, nesse caso vc pode ou tentar assumir
> aquele projeto ou lançar o seu baseado nos principios (oo, funcional,
> assincrono, etc) que vc acredita. se o modulo for ruim ninguem vai usar,
> simples assim.
>
> 2012/10/25 Aureliano Guedes 
>
>  Cara, eu acho o CPAN maravilhoso, mas as vezes é frustante você saber que
> está criando algo que ja existe.
>
> Valeu.
>
>
> --
> From: creakt...@gmail.com
> Date: Thu, 25 Oct 2012 22:33:46 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> ++breno!
>
> ABS()
>
>
>
> 2012/10/25 breno 
>
> 2012/10/25 Aureliano Guedes :
> > Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más
> praticas,
> > mandando reguex em xml e tals.
> >
> > Quero fazer de forma bonita com XPath e tals. Mas ainda estou em
> processo de
> > entendet tudo isso.
> >
> > Estou tentando pegar o primeiro link da lista de videos de um resultado
> de
> > pesquisa do YouTube.
> > Para isso estou ultilizando uma API do YouTube:
> >
> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
> >
> > Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
> >
>
> Olha, fora tudo, posso te garantir que não há erros :)
>
> Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
> busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
> buscas e muito mais.
>
> https://metacpan.org/module/WebService::GData::YouTube#search_video
>
> O "one-liner" abaixo, por exemplo, exibe o título do primeiro
> resultado para uma busca no YouTube por "perl":
>
> perl -MWebService::Gdata::YouTube -E 'my $yt =
> WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
> say $_->title foreach @{ $yt->search_video() }'
>
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://pacman.blog.br
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [Curitiba-pm] Contribuição ao Open Data BR - wikipoliticos.com.br

2012-10-05 Por tôpico Renato Santos
Gil++

Ficou muito legal!


Depois das eleições, teremos mais dados para poder brincar com quem passou
dos limites, ou não.


2012/10/5 Gil Magno 

> Olá, Monges,
>
> Acompanho várias listas de Perl, mas mais com um observador. Gosto muito
> da linguagem; infelizmente no trabalho uso menos do que eu gostaria, mas
> estou mudando isso.
>
> Pesquisando para a eleições, achei uma fonte de dados muito boa no
> Tribunal Superior Eleitoral. A lei 9.504 obriga os candidatos a fazerem
> duas prestações de contas de suas campanhas ainda durante as eleições.
> Em agosto e em setembro eles declararam quanto e de quem receberam
> doações, e também com o que as gastaram.
>
> Peguei a segunda parcial (de setembro), importei para um banco de dados
> e fiz uma interface. Ela está em wikipoliticos.com.br
>
> Nessa página podemos ver as doações feitas para as campanhas de prefeito
> e vereador até o início de setembro, incluindo o nome de quem doou
> (pessoas físicas, empresas etc.) e a proporção por tipo de doação
> (doações de pessoas físicas, doações de empresas etc.)
>
> Também podemos ver o quanto cada candidato declarou que gastaria, no
> máximo, em sua campanha. Essa é uma informação muito importante, pois
> entre setembro e o dia das eleições as doações ainda estão acontecendo,
> mas a segunda prestação de contas parciais só nos dá dados até setembro.
>
> Assim como o www.deputando.com.br e o
> www.paraondefoiomeudinheiro.com.br, espero que seja uma contribuição
> para o Open Data BR.
>
> Os scripts de importação e a interface web foram escrito em Perl e
> Catalyst. A escrita está ruim[1], mas não me importo; ela está atingindo
> o objetivo de deixar a informação acessível, então tudo bem. Após às
> eleições vou reescrevê-lo e importar mais informações.
>
> E desculpem o relativo spam (estou mandando para muitas listas de Perl
>
> Qualquer crítica, sugestão, contribuição é bem-vinda.
>
> [1] github.com/gilmagno/dados-eleitorais
>
> gil
> ___
> Curitiba-pm mailing list
> curitiba...@pm.org
> http://mail.pm.org/mailman/listinfo/curitiba-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Encontro Social 13/Setembro

2012-09-10 Por tôpico Renato Santos
porran... e nós de SP que segue a lista fica só babando!

2012/9/10 Leo Balter 

> Bar do B ++
>
> pelo Blues tb :)
>
> Leo Balter - via mobile
>
> Em 10/09/2012, às 09:37, Nuba Princigalli  escreveu:
>
> > Caros,
> >
> > Está chegando o nosso Encontro Social de Setembro!
> >
> > Hora de escolher o local! :)
> >
> > Pra começar, sugiro:
> >  * pelo blues, (bar do b)++
> >  * pela localização e boa comida (al khayam)++
> >
> > E depois temos que agilizar o hackathon desse mês também! \o/
> >
> > Abraço,
> >
> > Nuba Princigalli
> >
> > --
> > Nuba R. Princigalli  n...@pauleira.com  http://pauleira.com @nprincigalli
> > Discipline is not an end in itself, just a means to an end. - King
> Crimson
> >
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Mojolicious - inserindo código HTML no template via rota

2012-09-07 Por tôpico Renato Santos
Olá,

você deve mudar sua view para:

de <%= 'lalala' %>
para  <%== 'test' %>

vi no
http://search.cpan.org/~sri/Mojolicious-3.36/lib/Mojolicious/Guides/Rendering.pod#Embedded_Perl

2012/9/7 Manoel Domingues Junior 

> Olá pessoal,
>
> Estou construindo mais uma aplicação web com mojolicious::lite e estou
> enfrentando mais uma dificuldade.
> A minha aplicação irá gerar gráficos via javascript, mas preciso enviar
> esses dados pre-formatados entre tags .
>
> A ideia é colocar um grafico semenhante a esse:
> http://www.highcharts.com/demo/line-basic/gray
>
> Como verão, existe alguns 's que devo colocar no template, mas também
> devo colocar um código javascript. Esse código muda, pois realiza consultas
> no banco de dados para obter os valores, logo criei uma funcão que gera ele.
>
> Essa função retorna uma string com todo o código ($widget_timeline) e
> tento então passar o valor dessa string para o template, mas o mojolicious
> faz a conversão para HTML, logo não aparece como código...
>
> Dentro da rota da minha aplicação coloquei um $self->stash(widget_timeline
> => $widget_timeline), acredito que tenha que usar outra função para passar
> o código, ou então usar outra abordagem...
>
> Sugestões?
>
> Abraços,
> --
> --
> Manoel Domingues Junior
> "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar dados
> é o primeiro passo para a comunidade."
> IBM - Prodigy Linux
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron 
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [SP-pm] Equinócio 2a. Etapa - Especificação da aplicação

2012-07-28 Por tôpico Renato Santos
Ok, mudei algumas coisas!
https://github.com/renatocron/equinocio_setembro_2012/blob/master/endpoints.md

Thiago, a parte do cliente nao autenticado ainda não me caiu a ficha,

quando alguem entrar no site, podemos criar a sessão para ele, e manter
tudo lá, e jogar para o banco apenas na hora de confirmar a compra,

bom, pelo menos é assim na maioria dos sites de compras!

Sugestões?

2012/7/28 Thiago Rondon 

> 2012/7/28 Renato Santos 
>
>> Coloquei algumas coisas aqui:
>>
>> https://github.com/renatocron/equinocio_setembro_2012/blob/master/endpoints.md
>>
>> O povo pode e deve continuar!
>>
>> Iremos centralizar os pulls em vocẽ? ou algLORNm vai criar o nosso
>> "codebase" ?
>>
>>
>
> Renato,
>
> Ótimo! Muito bom, gostei do teu mapa!
>
> Eu tenho algumas observações que vou fazer por aqui mesmo sobre a lista de
> endpoints da API:
>
> Observações:
>
> - Você poderia prever nesta endpoint, por exemplo dentro do /login uma
> role com 3 tipos de usuário, administrador, cliente autenticado, cliente
> não-autenticado.
>
> - Deste modo, você pode explorar os métodos POST,PUT,DELETE em
> /api/produtos
>
> - Seria interessante, prever um versionamento no endpoint da API.
>
> - /api/clientes/novo pode ser apenas "POST" /api/clientes, este é o caso
> clássico de que o http já possui este método e não precisamos justificar
> ele na URL.
>
> - Endpoints baseado em carrinho, como /carrinho -> /carrinho/produto ->
> /carrinho/pagamento -> /carrinho/status, ...
>
> Abs!
> -Thiago Rondon
>
> =begin disclaimer
>Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: saopaulo...@pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm