Re: [Rio-pm] nota de falecimento
Que triste notícia, Breno. A Diana era uma dos poucos mongers (difícil concordância) que eu conhecia pessoalmente, e era um dos rostos que montava a minha imagem deste grupo. Difícil de aceitar que tenha acontecido isto. Muito ruim! Abraços e força aos que terão que conviver com o espaço vazio deixado por sua ausência. Nicole Em Segunda-feira, 12 de Maio de 2014 9:03, Gabriel Vieira gabriel.vie...@gmail.com escreveu: Que notícia triste! Uma menina linda! Sempre sorrindo e passando energias boas! 2014-05-10 19:17 GMT-03:00 breno br...@rio.pm.org: 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 -- Gabriel Vieira ___ 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] Bio::Filter
Oi Aureliano, para filtrar flat files do UniprotKB e do Genbank eu criei meus próprios scripts, usando programação estruturada (há uns bons anos), pois não conseguia me entender bem com o BioPerl e a orientação a objetos. Também tenho scripts para trabalhar saídas de alinhamentos e do hmmer. Como posso ajudar? Que formato estás usando? Abs, Nicole Em Terça-feira, 6 de Maio de 2014 19:35, Aureliano Guedes guedes_1...@hotmail.com escreveu: O projeto nao e paralelo ao BioPerl, e dentro do BioPerl. Eu observei que ele e muito rico em ferramentas complexas para diversas áreas da bioinfo mas carece um pouco de ferramentas para filtrar os dados obtidos. Ou quando se tem um ferramenta para isso pesquisar ela e difícil também. Então eu vou montar um grupo de ferramentas para filtrar dados. Já eu subo pro CPAN um primeiro para tirar como exemplo. Andre Carneiro andregarciacarne...@gmail.com escreveu: Não sei exatamente o que você quer fazer. Só queria dizer que existe o Bioperl. Não sei se você conhece. http://www.bioperl.org/wiki/Main_Page 2014-05-06 16:22 GMT-03:00 Felipe da Veiga Leprevost fel...@leprevost.com.br: Olá Aureliano, Desculpa mas eu não entendi a proposta do seu módulo, pode explicar um pouco melhor dando exemplos? abraços 2014-05-06 15:25 GMT-03:00 Tiago Peczenyj tiago.pecze...@gmail.com: Bota logo no cpan. Como versão beta Em 06/05/2014 15:20, Aureliano Guedes guedes_1...@hotmail.com escreveu: Ola monges, Quero convidar todos nossos amigos que trabalham com bioinformática aderentes da filosofia open source a se juntar a mim para o desenvolvimento de um conjunto de módulos direcionados para filtra as longas listas de informações que temos que lidar na bioinformática. A ideia é ter fácil acesso por meio de pesquisa simples e direcionada a ferramentas para filtrar dados na bioinformática. Iniciei o projeto, e já tenho algumas ferramentas que vou revisar e fazer testes para incluir no projeto para enviar em breve para nosso querido CPAN. Quem quiser e puder colaborar, ficarei grato. GitHub: https://github.com/acpguedes/Bio--Filter.git contato: guedes.aureli...@gmail.com Estou aberto a critica, sugestões, colaborações, etc. Abraços, Aureliano Guedes ___ 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 -- Felipe da Veiga Leprevost, PhD 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 -- 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___ 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
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áveis de ambiente já definidas pelo usuário, então não vai precisar executar o local::lib, certo? Obrigada pela ajuda! Abraços, Nicole Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes guedes_1...@hotmail.com escreveu: Caraca. Complexo. O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. Hello colega bioinformata. Stanislaw Pusep creakt...@gmail.com escreveu: Olá Nicole! Já passei por situação semelhante à sua, quando não podia atualizar o Perl default do sistema e a opção foi instalar um Perl mais atualizado avulso no /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: 1. export PATH=/usr/local/bin:$PATH 2. Os shebangs de todos os scripts executáveis do projeto foram modificados de: #!/usr/bin/perl para: #!/usr/bin/env perl 3. local::lib foi utilizado para CPAN desovar no $HOME. O local::lib requer uma intervenção do .profile do sistema, para inicializar o environment apropriadamente. Seguem os passos para instalar o local::lib dessa forma. 3.1. Download do local::lib: $ wget http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.04.tar.gz $ tar xzvf local-lib-2.04.tar.gz $ cd local-lib-2.04/ 3.2. Instalação do local::lib: $ perl Makefile.PL --bootstrap=$HOME/perl5 $ make $ make test $ make install 3.3. Ativando local::lib na inicialização da shell (Bash): $ cat PROFILE $HOME/.profile eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) PROFILE $ A idéia aqui é que rodar perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl buscar instalação dos módulos em um lugar específico ($HOME). Pode simplesmente colar essas variáveis direto no .profile, ou (como demonstrado acima) rodar eval do output do Perl. 3.4. Carregar a configuração: . $HOME/.profile 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa configuração faz as dependências serem instaladas automaticamente): $ cpan cpan[1] o conf prerequisites_policy follow cpan[2] o conf commit cpan[3] install App::cpanminus cpan[4] quit Boa sorte! 2014-01-29 Nicole Scherer bionica2007-p...@yahoo.com Boa tarde, queridos Mongers, eu não queria importuná-los com problemas simples, mas após três dias batendo a cabeça e vasculhando fóruns na internet sem solução para algumas das perguntas, recorro a vocês. Vou tentar explicar a novela. Montamos um cluster HPC para pesquisa usando o Rocks 6.1 (http://www.rocksclusters.org/) -- um tipo de linux que instala outro linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as vezes coexistem com os binários do SO. Desta forma, tenho duas versões de Perl
Re: [Rio-pm] Configuração de usuário não root no cpan Perl Roll em Rocks Cluster
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 bionica2007-p...@yahoo.com 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áveis de ambiente já definidas pelo usuário, então não vai precisar executar o local::lib, certo? Obrigada pela ajuda! Abraços, Nicole Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes guedes_1...@hotmail.com escreveu: Caraca. Complexo. O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. Hello colega bioinformata. Stanislaw Pusep creakt...@gmail.com escreveu: Olá Nicole! Já passei por situação semelhante à sua, quando não podia atualizar o Perl default do sistema e a opção foi instalar um Perl mais atualizado avulso no /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: 1. export PATH=/usr/local/bin:$PATH 2. Os shebangs de todos os scripts executáveis do projeto foram modificados de: #!/usr/bin/perl para: #!/usr/bin/env perl 3. local::lib foi utilizado para CPAN desovar no $HOME. O local::lib requer uma intervenção do .profile do sistema, para inicializar o environment apropriadamente. Seguem os passos para instalar o local::lib dessa forma. 3.1. Download do local::lib: $ wget http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.04.tar.gz $ tar xzvf local-lib-2.04.tar.gz $ cd local-lib-2.04/ 3.2. Instalação do local::lib: $ perl Makefile.PL --bootstrap=$HOME/perl5 $ make $ make test $ make install 3.3. Ativando local::lib na inicialização da shell (Bash): $ cat PROFILE $HOME/.profile eval \$(perl -I\$HOME/perl5/lib/perl5
[Rio-pm] Configuração de usuário não root no cpan Perl Roll em Rocks Cluster
-Time-Baby-2010090301.tar.gz /usr/bin/make install -- OK - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. Test Summary Report --- t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr 0.40 csys = 3.50 CPU) Result: FAIL Failed 4/54 test programs. 0/258 subtests failed. make: *** [test_dynamic] Error 255 GARU/Data-Printer-0.35.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports GARU/Data-Printer-0.35.tar.gz Running make install make test had returned bad status, won't install without force Desculpem a postagem tão longa. Acabei até solucionando algumas outras dúvidas enquanto tentava descrevê-las aqui. Abraços a todos, Nicole Scherer___ 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
Oi Renato e Tiago, usando as instruções do pacote no cpan, eu obtive isto: use Net::FTP; my $host = ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/;; my $ftp = Net::FTP-new($host, Firewall = 'http://10.46.10.19:3129') or die Cannot connect to some.host.name: $@; $ftp-size(all_est.txt.gz) or die get failed , $ftp-message; $ftp-quit; exit; --- - Primeira tentativa: $ time perl teste_proxy.pl Cannot connect to some.host.name: Net::FTP: Bad hostname 'http://10.46.10.19:3129' at teste_proxy.pl line 18. - Segunda tentativa, tirando o http:// do proxy: $ perl teste_proxy.pl Cannot connect to some.host.name: at teste_proxy.pl line 18. - em alguma tentativa, também obtive isto: $ perl teste_proxy.pl Cannot connect to some.host.name: Net::FTP: Bad hostname 'ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/' at teste_proxy.pl line 18. --- Alguma ideia, sobre o que estou fazendo errado? []'s Nicole De: Renato Santos renato.c...@gmail.com Para: Nicole Scherer bionica2007-p...@yahoo.com Cc: Perl Mongers Rio de Janeiro rio-pm@pm.org Enviadas: Sexta-feira, 8 de Março de 2013 17:13 Assunto: Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy 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 bionica2007-p...@yahoo.com 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 renato.c...@gmail.com Para: Nicole Scherer bionica2007-p...@yahoo.com; Perl Mongers Rio de Janeiro rio-pm@pm.org 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 bionica2007-p...@yahoo.com 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 proxyHTTP::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
Re: [Rio-pm] IDE para Perl
Obrigada, pessoal! instalamos aqui a versão trial do Komodo e estamos experimentando. Prefiro usar um programa gratuito, então vou experimentar as sugestões de vocês. Valeu! []'s Nicole De: Daniel Vinciguerra dan.vincigue...@gmail.com Para: Perl Mongers Rio de Janeiro rio-pm@pm.org Enviadas: Sexta-feira, 1 de Março de 2013 16:18 Assunto: Re: [Rio-pm] IDE para Perl (marcio, vim)++ Até no ambiente de desenvolvimento do cliente instalei um plugin de key bindings do Vim no Visual Studio pra parar de encher os fontes de :w :q etc... hahahaha []'s Daniel Vinciguerra Web Solutions Architect and Co-Owner at Bivee http://github.com/dvinciguerra 2013/3/1 Marcio Ferreira marciodesouzaferre...@gmail.com Vim é simples e ágil! Ferramenta de desenvolvmento, IMHO, precisa ser a extensão do que o programador pensa. Se você não vive sem um bash/zsh aberto, recomendo vim ou emacs. Assim como tudo na tela preta, exige você decorar teclas ao invés de ícones, o que acho mais produtivo :P Vim não é dificil, mas há diferentes graus de entendimento dele. Suporta plugins e atalhos que facilitam a vida =) Rola uma brincadeira: com o tempo de demora pro eclipse abrir, já editei meu script e commitei no vim :P []s, Marcio Ferreira skype: marcio.ferreir4 (21) 8365-7768 2013/3/1 Aureliano Guedes guedes_1...@hotmail.com Na moral, o geany é muito bom mesmo, basico, simples, didatico, para iniciantes é otimo (por isso eu gosto). Mas andei experimentando algo como padre e gostei, leio muitos comentario positivos sobre o vim, mas exige um pouco mais de experiencia para usar, pra mim vim ainda é bixo de 7 cabeças. From: dan.vincigue...@gmail.com Date: Fri, 1 Mar 2013 15:42:02 -0300 To: rio-pm@pm.org Subject: Re: [Rio-pm] IDE para Perl Usei um tempo a muito tempo o EPIC e o Komodo Edit e achei ambos bem bacana, mas não consigo parar de usar o Vim. []'s Daniel Vinciguerra Web Solutions Architect and Co-Owner at Bivee http://github.com/dvinciguerra 2013/3/1 Tiago Peczenyj tiago.pecze...@gmail.com Eu gosto do TextMate para Perl, Ruby, Python e até Java. Para mim é facil criar um projeto com o dist zilla e abrir o diretorio inteiro, ai uso o terminal para rodar os testes enquanto uso o editor pra programar. Para fazer um script pequeno também é facil, basta meter um Test::More e implementar os testes primeiros, depois meter um Command + r Agora java é um sacrificio, mas para coisas pontuais compensa se vc usa maven pra compilar por exemplo. Força vc a ler a documentação e escolher com calma as interfaces necessarias. 2013/3/1 Gabriel Vieira gabriel.vie...@gmail.com: Fui desenvolvedor do Padre por um tempo (comecei como usuário - parece papo de drogas, né?). Hoje utilizo o Sublime Text 2 e tenho gostado bastante. Recomendo ambos. 2013/3/1 Ricardo Filipo ricardo_fil...@yahoo.com.br: Padre: http://padre.perlide.org/ Pra instalar use: cpanm Padre Mas no dia a dia uso mesmo o vi. De: Nicole Scherer bionica2007-p...@yahoo.com Para: Perl Mongers Rio de Janeiro rio-pm@pm.org Enviadas: Sexta-feira, 1 de Março de 2013 13:24 Assunto: [Rio-pm] IDE para Perl 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 -- Gabriel Vieira ___ 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 ___ 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
[Rio-pm] Perl POD
Oi Mongers, vocês usam o perl POD para documentar seus scripts e pacotes, ou há outra estratégia de documentação mais recomendada. Pergunto, porque já usei (bem pouquinho) o POD, só que com ele eu perco a gambiarra de comentar pedaços grandes de código usando o =begin ... =cut. Existe outra estratégia não-gambiarra de comentar pedaços de código que não seja colocando # no início de cada linha? Acho engraçado que o próprio nome Plain Old Documentation format diz que é antigo (o que não necessariamente significa desatualizado) Li algo sobre Natural Docs, alguém usa? []'s Nicole ___ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
Re: [Rio-pm] Perl POD
Obrigada, Stanislaw, Aureliano e Tiago! Vou estudar estes links que o Aureliano passou. Eu só usei até agora o POD depois do _END_ , mas vi que ele pode ser muito mais útil se eu usar desde o cabeçalho do script, poupando assim meus comentários tipo ### sobre cada função. Vou preparar uma apresentação sobre o uso do POD para meus colegas do laboratório. Se for implementado por todos, vai nos facilitar muito a vida. []'s Nicole PS: Não sei como não entrei no rio-pm antes... é tão bom De: Nicole Scherer bionica2007-p...@yahoo.com Para: rio-pm@pm.org rio-pm@pm.org Enviadas: Terça-feira, 18 de Dezembro de 2012 10:27 Assunto: [Rio-pm] Perl POD Oi Mongers, vocês usam o perl POD para documentar seus scripts e pacotes, ou há outra estratégia de documentação mais recomendada. Pergunto, porque já usei (bem pouquinho) o POD, só que com ele eu perco a gambiarra de comentar pedaços grandes de código usando o =begin ... =cut. Existe outra estratégia não-gambiarra de comentar pedaços de código que não seja colocando # no início de cada linha? Acho engraçado que o próprio nome Plain Old Documentation format diz que é antigo (o que não necessariamente significa desatualizado) Li algo sobre Natural Docs, alguém usa? []'s 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] [Passatempo] Interpretador para BrainFuck
Caros, se entendi bem, o given e o when, assim como o case, são mais das formas alternativas (há muitas maneiras de se fazer a mesma coisa em Perl) de se fazer if-elsif-else com linguagem mais coloquial. Certo? Seria o mesmo que: my $var = 'Carneirao'; if ($var eq 'Carneirao'){say Opa, sou eu!;}elsif ($var =~ /Sbrebows/){ say 'WTF???';} else {say Nao sei o que quer dizer...;} Com a vantagem de economizar o ($var eq/=~ ...). Correto? Ou estou perdendo alguma coisa muito especial, que não percebi ainda? []'s Nicole De: Andre Carneiro andregarciacarne...@gmail.com Para: Perl Mongers Rio de Janeiro rio-pm@pm.org Enviadas: Quinta-feira, 13 de Dezembro de 2012 9:36 Assunto: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck Meio estranho você não entender when e entender given, mas vamos lá! Normalmente eu mandaria um RTFM, mas já estou velho e manso ultimamente... given é equivalente a 'switch' when é equivalente a 'case' Então, se você estiver usando Perl 5.10 ainda, code use feature qw/switch say/; #Isso sim, é escroto pra caramba! Se a função chama-se 'given', pra que mudar o nome para switch??? use strict; use warnings; #Ou dane-se tudo isso e faça 'use common::sense'; my $var = 'Carneirao'; given($var){ when( 'Carneirao'){ say Opa, sou eu!; } when(/Sbrebows/){ say 'WTF???'; } default { say Nao sei o que quer dizer...; } } #Antigamente fazíamos assim: use Switch; switch($var){ case 'Carneirao' { say Opa, sou eu!;} case /Sbrebows/ {say WTF;} else { say Nao sei o que quer dizer;} } #Mas, do Perl 5.10 em diante, o módulo Switch está com status 'deprecated', então use a primeira opção! /code Agora sim! Para mais informações RTFM my friend!!! http://perldoc.perl.org/Switch.html http://perldoc.perl.org/perlsyn.html#Switch-Statements :-) Cheers! 2012/12/13 breno br...@rio.pm.org 2012/12/12 Aureliano Guedes guedes_1...@hotmail.com: 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??? given/when existe no Perl desde a versão 5.10, com direito a default, continue e break =) Pra saber como, dá uma olhada aqui ó: http://perldoc.perl.org/perlsyn.html#Switch-Statements tem tudo explicadinho, inclusive o fato de que given() é experimental - a forma recomendada de definir o tópico é com for(). Boa diversão! []s -b ___ 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
Re: [Rio-pm] ES 13/dez · Hackathon 15/dez
Oi Monges, Se até quinta eu curar da tosse braba, vou querer participar também. Posso? Esse Heavy Duty é aquele do pior atendimento do mundo? É perigoso chegar a pé sozinha? Até que horas vocês costumam ficar? []'s Nicole De: Eduardo Maia m...@eduardomaia.com Para: Perl Mongers Rio de Janeiro rio-pm@pm.org Enviadas: Segunda-feira, 10 de Dezembro de 2012 21:28 Assunto: Re: [Rio-pm] ES 13/dez · Hackathon 15/dez Monges, Como disse o Nuba, este ES será o último do ano. Quase uma obrigação para quem não deu as caras o ano inteiro, como eu por exemplo :) Será também minha despedida do Rio de Janeiro. Pretendo fazer minha mudança definitiva para a cidade de São Paulo antes do fim do mês. MDA, Breno, Sylvestre, Indio, Camila, Mothé... vamos nesse? Que tal Heavy Duty? Abraços 2012/12/10 Nuba Princigalli n...@fastmail.fm Perlsoal, Onde vamos fazer o ES dessa quinta, o último do ano!? E pelas minhas anotações, o próximo Hackathon é 15/dezembro no Starbucks do Rio Sul -- ou alguém sugere algum outro lug^h^h^hStarbucks? ;) 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
Re: [Rio-pm] Comparação de arquivos
Oi a todos, aproveitando a paciência infinita do Breno... Poderias esclarecer como funciona isto: (?tag...) e o que acontece então aqui: valores agrupados na regex por nome dentro do hash %+. No caso, acessei o grupo (?mirna) fazendo $+{mirna}; Criaste um hash de nome %+ É uma variável reservada? Qual o valor que assume $mirna aqui? Na primeira vez que entra no if, $mirna está vazio, não? Como pode ser key do hash %dados assim? []'s Nicole Scherer De: breno br...@rio.pm.org Para: Perl Mongers Rio de Janeiro rio-pm@pm.org Enviadas: Sábado, 24 de Novembro de 2012 9:45 Assunto: Re: [Rio-pm] Comparação de arquivos 2012/11/24 Aureliano Guedes guedes_1...@hotmail.com: Se não for ser muito chato, como faço para seguir a forma abaixo: 2) trocar de abordagem, fazendo seu parser ler linha a linha (sem modificar $/) e ir acumulando as linhas até encontrar um símbolo que indique nova entrada. seria algo do tipo: while ($fh){ if(/primeira linha/){ print $_; } elsif (/ultima linha/){ #sair do loop } else { print $_ } } Algo como (atenção, código não testado): ---8--- my %dados = (); my $mirna; my $acumulador; while (my $linha = $fh) { if ( $linha =~ m{tag magica (?mirna\S+)} ) { $dados{$mirna} = $acumulador if $mirna; $mirna = $+{mirna}; $acumulador = q(); } else { $acumulador .= $linha; } } use DDP; p %dados; ---8--- O que isso faz (ou deveria fazer: já mencionei que não testei? Programar a essa hora da manhã não é meu forte, então favor desconsiderar qualquer besteira): 1) le o arquivo linha por linha, atribuindo o valor de cada linha a $linha (sem usar $_) 2) sempre que encontrar a tag mágica que separa entradas (estou assumindo que a tag indica um novo registro que pode ser chave do seu hash de dados: 2.1) se já estiver com um registro em memória ($mirna), bota os dados acumulados ($acumulador) dentro do hash; 2.2) atribui à $mirna o novo registro encontrado. Note que estou usando grupos nomeados na regex, fazendo (?tag...) em vez de apenas (...). Isso funciona a partir do 5.10.0 e me permite acessar os valores agrupados na regex por nome dentro do hash %+. No caso, acessei o grupo (?mirna) fazendo $+{mirna}; 2.2) zera o acumulador. 3) se não encontrar a tag mágica, vai acumulando os dados. Dentro desse 'else' vc pode fazer coisas como next if $linha =~ /.../ caso não queira guardar alguma linha, por exemplo. 4) Depois do while vc pode inspecionar %dados para saber se está tudo ok. Entendeu? []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
Re: [Rio-pm] Comparação de arquivos
Obrigada, Stanislaw e Tiago, lembro de ter visto isso na palestra do brian d foy no YAPC do ano passado, mas nunca tinha usado. Vou estudar esses artigos. Obrigada! Nicole De: Stanislaw Pusep creakt...@gmail.com Para: Nicole bionica2007-p...@yahoo.com; Perl Mongers Rio de Janeiro rio-pm@pm.org Enviadas: Segunda-feira, 26 de Novembro de 2012 11:01 Assunto: Re: [Rio-pm] Comparação de arquivos Esta sintaxe de expressão regular é chamada de named capture. Surgiu no Perl v5.10. Ao invés de $1, $2, $3, ..., você dá um nome legível à captura. Por si só, já é bastante útil, mas a utilidade maior aparece na possibilidade da construção de grammars, similares a BNF (https://pt.wikipedia.org/wiki/Formalismo_de_Backus-Naur#Exemplo). Recomendo esse artigo para aprender a usar estes recursos: http://www.effectiveperlprogramming.com/blog/1479 ABS() 2012/11/26 Nicole bionica2007-p...@yahoo.com Oi a todos, aproveitando a paciência infinita do Breno... Poderias esclarecer como funciona isto: (?tag...) e o que acontece então aqui: valores agrupados na regex por nome dentro do hash %+. No caso, acessei o grupo (?mirna) fazendo $+{mirna}; Criaste um hash de nome %+ É uma variável reservada? Qual o valor que assume $mirna aqui? Na primeira vez que entra no if, $mirna está vazio, não? Como pode ser key do hash %dados assim? []'s Nicole Scherer De: breno br...@rio.pm.org Para: Perl Mongers Rio de Janeiro rio-pm@pm.org Enviadas: Sábado, 24 de Novembro de 2012 9:45 Assunto: Re: [Rio-pm] Comparação de arquivos 2012/11/24 Aureliano Guedes guedes_1...@hotmail.com: Se não for ser muito chato, como faço para seguir a forma abaixo: 2) trocar de abordagem, fazendo seu parser ler linha a linha (sem modificar $/) e ir acumulando as linhas até encontrar um símbolo que indique nova entrada. seria algo do tipo: while ($fh){ if(/primeira linha/){ print $_; } elsif (/ultima linha/){ #sair do loop } else { print $_ } } Algo como (atenção, código não testado): ---8--- my %dados = (); my $mirna; my $acumulador; while (my $linha = $fh) { if ( $linha =~ m{tag magica (?mirna\S+)} ) { $dados{$mirna} = $acumulador if $mirna; $mirna = $+{mirna}; $acumulador = q(); } else { $acumulador .= $linha; } } use DDP; p %dados; ---8--- O que isso faz (ou deveria fazer: já mencionei que não testei? Programar a essa hora da manhã não é meu forte, então favor desconsiderar qualquer besteira): 1) le o arquivo linha por linha, atribuindo o valor de cada linha a $linha (sem usar $_) 2) sempre que encontrar a tag mágica que separa entradas (estou assumindo que a tag indica um novo registro que pode ser chave do seu hash de dados: 2.1) se já estiver com um registro em memória ($mirna), bota os dados acumulados ($acumulador) dentro do hash; 2.2) atribui à $mirna o novo registro encontrado. Note que estou usando grupos nomeados na regex, fazendo (?tag...) em vez de apenas (...). Isso funciona a partir do 5.10.0 e me permite acessar os valores agrupados na regex por nome dentro do hash %+. No caso, acessei o grupo (?mirna) fazendo $+{mirna}; 2.2) zera o acumulador. 3) se não encontrar a tag mágica, vai acumulando os dados. Dentro desse 'else' vc pode fazer coisas como next if $linha =~ /.../ caso não queira guardar alguma linha, por exemplo. 4) Depois do while vc pode inspecionar %dados para saber se está tudo ok. Entendeu? []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