thegoodfellas/blogset-br huggingface dataset:
Municipal do PCdoB em Aracati promovera um BEM-VINDO CAMARADAS para saudar cerca de 20 novos camaradas que ingressaram no partido no decorrer do ultimo processo de Conferencia Municipal, quase todos liderancas de comunidades do interior que serao candidatos a Vereador no proximo pleito. O evento sera a partir das 08 horas da manha, no Curso Professor Augusto Pessoa, situado a Rua Grande, proximo ao Aracati Clube e contara com as presencas do dirigente estadual do partido Luciano Simplicio, do deputado estadual Lula Morais, alem de dirigentes do PCdoB das cidades de Fortim e Itaicaba . O BEM-VINDOS CAMARADAS do dia 23, alem de seu tradicional carater de confraternizacao, tambem sera um momento de formacao, uma vez que o partido devera sair com chapa propria para o legislativo e seus novos membros precisam conhecer o programa socialista, os estatutos partidarios e ter acesso a uma serie de informacoes acerca das aliancas que estao sendo trabalhadas no Municipio e regiao. A programacao do evento e a que segue:Data: 23/10/11Local: Curso Professor Augusto Pessoa Rua Grande Proximo ao Aracati Clube.Programacao: 08:00 h: Cafe da manha (acolhida) 08:15 h: Saudacao aos novos Camaradas com o dirigente estadual do PCdoB Luciano Simplicio 08:30 h - Curso de Iniciacao ao Partido CIP com o Presidente Municipal do PCdoB Professor Tinoco Luna 09:30 h - Intervencao do Deputado Estadual Lula Morais 10:00 h Palavra facultada aos presentes 10: 30 h - Encerramento com intervencoes de Lula Morais, Luciano Simplicio e Professor Tinoco LunaTinoco Luna - Aracati - CE
O PCdoB sofreu um ataque baixo por parte das Revistas Veja e Epoca, no ultimo mes de outubro, quando acusaram de irregualridades o entao Ministro do Esporte Orlando Silva e atentaram contra a propria honra do partido. Passado mais de um mes, depois de realizadas todas as investigacoes possiveis por parte da Policia Federal, Ministerio Publico, Congresso Nacional e demais orgaos as denuncias de Veja e Epoca caem por terra. Nao apareceu uma so prova e as denuncias se revelaram uma tremenda mentira. Diante disso, o partido esta entrando na Justica contra essas duas Revistas por calunia, injuria e difamacao. Se pensaram que o PCdoB ia deixar isso pra la estao muito enganados. Quem nao deve nao teme e a verdade termina aparecendo. Para saber mais clique AQUI. Os ultimos dez dias foram de intensa mobilizacao nas hostes do PCdoB em Aracati. Na quarta feira, dia 11, o Comite Municipal se reuniu com as presencas do Deputado Estadual Lula Morais e do Dirigente Estadual Luciano Simplicio,ocasiao em que se fez uma analise da conjuntura nacional e internacional, alem de se debater o informe do Professor Tinoco Luna, presidente municipal do partido, acerca sucessao municipal nesta cidade. Alem disso, foram feitos ajustes no projeto eleitoral aprovado na ultima Conferencia Municipal, bem como se definiu as prioridades do PCdoB para as proximas eleicoes. Ficou certo que a nossa prioridade e a eleicao de Vereadores, porem tambem apresentaremos nomes para compor a chapa majoritaria. No dia 15, domingo, realizou-se uma plenaria com os possiveis candidatos a Vereador que o partido apresentara no proximo pleito, uma reuniao bastante animada na qual os pre-candidatos falaram de sua alegria em disputar as eleicoes, todos demonstrando confianca de que o PCdoB saira vitorioso no proximo pleito. No proximo dia 05 de outubro acontecera o 6o encontro do Forum Aracati Novos Caminhos. Desta feita, sob a responsabilidade do Partido dos Trabalhadores, o tema em dabate sera agricultura. Dr. Inocencio Uchoa, presidente do PT, ja confirmou a presenca do Secretario de Agricultura do Estado, Nelson Martins, alem de uma serie de outras importantes liderancas politicas. O local do encontro ainda nao foi definido, mas tudo indica que sera no auditorio do Colegio Marista. O PCdoB e os demais partidos do Forum estao empenhados em colaborar com o PT na organizacao do proximo evento, entendendo que esse tema e de grande relevancia para o projeto de novos caminhos que estamos construindo para nosso Aracati. Aproveitamos a oportunidade para convidar a populacao em geral para se fazer presente e participar desse importante momento da vida politica de nosso Municipio. ggg Minas Convites Aracaju e representacao da do estado de Minas Gerais. Como o nome ja de e ima empresa de convites de casamento e 15 anos, essa arte foi feita para divulgacao no jornal. Quando vi o destaque da reportagem falando sobre o icq fiquei muito curiosa e fui pesquisar a reportagem me deu uma ideia de quando foi criado, do significado da sigla (eu procuro voce) e como era utilizado mais nao me disse realmente do que se tratava. O meu primeiro
passo foi baixa-lo, percebi que ele era um MSN que 1996 com seu ponto alto em 1998, e que foi vendido por duas vezes e que agora com versao adaptada traz a conectividade a varias Redes Sociais entregando tambem o bate-papo que muitas possui, e o que o MSN 2011 tras so que ao meu ver que uma forma mais agio e pratica. Mas ele precisa melhorara na atualizacao instantanea que deixa muito a desejar, a interface dele vai conquistar muitas adolescente devido a sua personalizacao, eu ainda estou testando ele, porem vejo que ele tem uma grade chance de voltar a ser muito utilizado. Um diferencial e que o icq usa um codigo fornecido por ele mesmo e nao um nome que escolhemos ex.; icq#: 604183112 essa e a minha identificacao. Bom se ficarem interessados em descobri mais sobre o icq faca o download aqui, nao se esquecendo de compartilhar as novidades. Ha! O icq tambem esta disponivel em todos os formatos mobile. Curta como eu estou curtindo
Bom pensei em falar um pouco sobre minha experiencia com o symbian, mas o Breno (namorido) me tirou ele e me deu um androide, bem q eu tentei melhorar um pouco a imagem do symbian so que nao deu. Gostei desse blog, tem varias revista e livros bem interessante.Conheca ! A resposta para o problema anterior passa por duas explicacoes:A pilha de execucaoTodos os operadores na maquina virtual operam sobre elementos da pilha de execucao. Isso significa que, por exemplo, a expressao abaixo:int x = 1 + 2;se torna algo como:empilha 1; // a pilha agora contem 1empilha 2; // a pilha agora contem 1, 2soma; // os 2 elementos da pilha sao desempilhados e somados. A pilha contem 3guarda em x; //o 3 eh desempilhado e guardado em xParecido com assembly ASM.Variaveis locaisVariaveis locais (e argumentos de metodos) sao guardados em uma "tabela" por indice, na ordem em que sao declaradas em um metodo. Ou seja:public static void foo() {int i = 0;int j = 1;}A variavel 'i' ocupa o indice 0 da tabela de variaveis locais e a variavel 'j' ocupa o indice 1. Se o metodo e nao estatico, a referencia ao objeto (o 'this') ocupa o indice 0. Se o metodo possui argumentos, ele ocupa os indices subsequentes. Assim sendo:public void foo(String arg0) {int i = 0;int j = 1;}O 'this' ocupa o indice 0, o 'arg0' ocupa o indice 1 e assim por diante. Quando uma variavel local sai de escopo, o compilador reutiliza o indice daquela variavel para a proxima declaracao de variavel local. Em outras palavras, no codigo abaixo:public static void foo() {{ int i = 0;}int j = 0;}a variavel 'j' ocupa o indice '0' da tabela pois a variavel 'i' saiu de escopo.O problemaSabendo disso, voltando ao problema original: public static void exec(int size) { { byte[] someData0 = new byte[size]; process(someData); } //final do bloco byte[] someData1 = new byte[size]; // # process(someData); System.out.println("ok"); }Quando declaramos a segunda variavel local 'someData1', o codigo a ser executado fica mais ou menos assim (em pseudo bytecode):empilha size; // a pilha contem size e o slot 1 contem o array antigo aindacria_array_bytes; // desempilha um inteiro e cria um array de bytes com o tamanho passadoguarda_em_1; // sobrescreve a variavel local anteriorQuando a instrucao de criar um novo array de bytes e executado, a JVM lanca uma excecao dizendo que nao ha mais espaco. Isso significa que o codigo, em bytecode, fica parecido com: public static void exec(int size) { byte[] someData0 = new byte[size]; // #1 process(someData); //final do bloco someData0 = new byte[size]; // #2 process(someData); System.out.println("ok"); }e o array criado em #1 so pode ser coletado depois que a instrucao em #2 for executada - ou seja, tarde demais.Isso explica tambem porque os outros exemplos funcionam corretamente. Na verdade, podemos perceber que basta declarar uma variavel local qualquer entre as criacoes dos arrays para que o primeiro array seja coletado. De fato, o codigo abaixo funciona corretamente: public static void exec(int size) { { byte[] someData0 = new byte[size]; process(someData); } int
j = 0; //final do bloco byte[] someData1 = new byte[size]; // # process(someData); System.out.println("ok"); }ConclusaoNao ha nada de errado, tecnicamente, com o GC e nem com o codigo postado. Apenas (no bytecode) nao estamos avisando que o primeiro array pode ser coletado, talvez isso devesse ser trabalho do compilador. Porem, na maioria dos casos, inserir uma instrucao para anular as variaveis locais quando elas saem de escopo e desnecessario.PS:Estes artigos sao meramente traducoes/adaptacoes de um artigo que pode ser visto no java specialists newsletter. O artigo original e a resposta se encontram aqui e aqui.A versao JIT-compiled da classe funciona normalmente devido a alguma otimizacao da JVM. Isso pode ser visto ao executar a classe com o modo 'compiled' ao inves do modo hibrido (o default) usando a flag -Xcomp.Qualquer 'branching' (como um if ao inves do escopo vazio) vai fazer com que a JVM execute o codigo como esperado (sem a excecao), mesmo no modo interpretado.Por ultimo, alguns GC's mais espertos (como o G1) tambem sao capazes de identificar o primeiro array como lixo e coletar corretamente.
se tornando muito popular para quem quer fazer prototipos, dada a sua facilidade de programacao bem como a extensibilidade. Para programar para o Arduino, deve se usar uma linguagem de baixo nivel, mas o kit de desenvolvimento possui o conjunto completo de ferramentas para quem quiser desenvolver. Achei a palestra muito interessantes, embora tenha pouca conexao com java (o palestrante mencionou usar java para processar dados antes de enviar para o Arduino, que possui um processador bem fraquinho). The Diabolical Developer - Martin Verburg da London Java User GroupNao sei direito o que escrever sobre esta palestra - assim como nao sabia o que esperar dela pelo titulo. Achei bem divertida, mas pouco informativa - o palestrante usa uma linguagem bem sarcastica para mostrar alguns pontos que, no fim das contas, nao passam de bom senso. Alguns pontos notaveis:-pessoas sobre processos-nao cair no hype da atualidade (hoje eh cloud)-simplificar ao inves de complicarConfesso que, embora tenha achado a palestra interessante, provavelmente nao assistirei a mais nenhuma dessas.Attack on Scaling: Methods and Tools for Eradicating Performance Bottlenecks - Charlie Hunt da Oracle e Aleksey Ignatenko da IntelUltima palestra do dia, esta palestra mostrou as principais causas de problemas de escalabilidade (locks e alocacao de memoria, basicamente) e como elas se manifestam (false sharing, true sharing, cache eviction). Os palestrantes mostraram tambem algumas ferramentas para detectar tais problemas: vTune da Intel e Oracle Solaris Performance Analyzer. Tais ferramentas sao capazes de mostrar eventos especificos da CPU (como CPI, cache misses, etc) e liga-los ao codigo java que os gerou, possibilitando diagnosticar os problemas diretamente na CPU.Aproveitei o dia curto para falar com mais exibidores - particularmente falar com o pessoal do JRockit para ver um demo da ferramenta de diagnostico de performance deles chamado Mission Control. Fiquei bem impressionado com o que vi e com certeza darei uma olhada nele quando puder.PS: Ontem esqueci de postar, mas o JavaOne Latin America esta confirmado para os dias 6 a 8 de Dezembro em Sao Paulo.
arquitetura tenha funcionado muito bem para eles (bem como para outros casos de uso que eles investigaram), eh uma estrategia bem agressiva e para usos bem especificos - basicamente para casos em que eh necessario um sistema de filas com latencia muito baixa e vazao muito alta.A ultima palestra que eu assisti no dia foi meio estranha (pouca relacao com java e nao tao tecnica), falando sobre o CouchBase - uma juncao do CouchDB com MemCache e seu uso em jogos sociais (da Zynga e da Hiroku). Por ultimo, o palestrante mostrou o case da Tribal Crossing, uma empresa que desenvolve softwares para plataformas sociais e migrou do MySQL para CouchBase.ConclusaoAchei um otimo evento em geral. Conversei com pessoas interessantes e algumas pessoas notaveis (Charles Nutter, Charlie Hunt, etc), aprendi muita coisa e conheci muitas ferramentas e tecnicas que provavelmente serao muito uteis. Espero honestamente que possamos participar como palestrantes da proxima vez.
para array de bytes quando possivel), etc.Squashing the Vulnerabilities: Engineering Security into Your Applications - James Gould e Lin Jia da VerisignOs palestrantes mostraram algumas das principais vulnerabilidades que sao introduzidas em um sistema de maneira nao intencional, bem como maneiras de configurar o Security Manager para isolar funcionalidades que precisam de permissoes especiais. How Do You Update Your Java EE App in Production? - Jevgeni Kabanov CTO da Zero TurnAroundEra para ser um BOF, mas acabou mais sendo uma sessao de pesquisa sobre atualizacao de aplicacoes, com um pouco de propaganda do LiveRebel no final. O produto me pareceu bem interessante e tem potencial para acabar (ou pelo menos diminuir drasticamente) as dificuldades de se atualizar um sistema em producao.Oracle Java SE: VM and Performance Technologies - Com o time de Performance do Hotspot e JRockitEste foi bem um Q&A com o time responsavel pela performance do HotSpot e do JRockit. Foi uma sessao muito legal, explicando varias nuances do GC (que merecem um artigo proprio em algum momento) e como o JRockit Mission Control pode ajudar a detectar problemas de performance mesmo em sistemas em producao.PS: eu nao sei o que esta acontecendo com a formatacao do blog, mas os artigos ficam sempre diferentes de como eu estou editando...PS2: finalmente descobri o que o JHome tem a ver com a GlobalCode - mas vou apenas linkar para este artigo no blog deles.
Hoje foi o dia que realmente comecou o JavaOne 2011 - que comecou com um keynote em um auditorio lotado e com mais 2 auditorios de backup - onde os keynotes estavam sendo transmitidos simultaneamente para quem nao conseguiu espaco no auditorio principal. Um pouco antes de comecar, os teloes do auditorio mostravam os vencedores do Duke's Choice Awards desse ano (um premio dado a diversos projetos inovadores escolhidos pela comunidade), entre eles o projeto jHome que de alguma forma esta ligado a Globalcode (mas nao consegui nenhuma informacao extra).Keynote de AberturaO keynote eh iniciado por Adan Messinger (embora o anunciador tenha chamado Richard Bair, o que ficou bem estranho) falando um pouco sobre a plataforma e sobre java no cloud (mais sobre isso no final), para logo depois chamar um diretor da Intel para falar sobre o relacionamento entre a Sun/Oracle e a Intel - uma cooperacao que vem melhorando tanto o hardware quanto a JVM. Tambem foi anunciado o JavaOne blog. Por ultimo, foi anunciado um produto da Oracle que eu nao esperava: o Oracle NoSQL Database - um banco de dados NoSQL.Logo depois, subiu ao palco Marc Reinhold - basicamente o chefe do JavaSE - falando sobre as features do java 7 e as features propostas do java 8 e java 9 e para anunciar que daria mais detalhes sobre essas versoes no keynote de estrategia de amnha. Sobe no palco, finalmente, Richard Bair para anunciar a disponibilidade da versao 2.0 do JavaFX (apenas para windows por enquanto) e a disponiblidade de uma versao beta do netbeans com suporte ao mesmo. Logo depois, foi a vez de Linda DeMichiel falar sobre JavaEE e as facilidades do JavaEE7 para o cloud, bem como pequenas melhorias na spec. Por ultimo, sobe ao palco Hinkmond Wong para falar sobre JavaME e metade do auditorio deixa a sala (para ser justo, o keynote jah estava 10 minutos alem do tempo previsto), mostrando que JavaME eh, provavelmente, irrelevante atualmente. Com isso, iniciaram-se as technical sessions:Arquillian the Extensible Enterprise Platform - Aslak Knutsen e Dan Allen da RedHatOs palestrantes mostraram o Arquillian, uma plataforma de testes extensivel vencedora de um Duke's Choice Award que permite executar testes nos servidores de aplicacao (iniciando e fazendo deploy, se necessario). Achei a ideia muito interessante e algo que definitivamente olharei com mais cuidado - tambem irei assistir a demonstracao completa amanha). Integra as ferramentas normais de teste (JUnit e TestNG) e ainda pode ser integrado ao maven.Coroutines for the JVM - Lukas Stadler da Johannes Kepler University, Linz, AustriaCoroutines (tambem conhecido como fibers em ruby ou generators em python) eh uma forma limitada de continuations. Resolvi ver como essa feature foi implementada em Java (que nao possui maneiras nao nativas de manipular o stack) e como essa features poderia ser aproveitada. O palestrante mostrou que conseguiu implementar uma versao praticamente sem limitacoes (inclusive com transporte de coroutines entre threads) e como, em geral, coroutines sao mais eficientes que threads. A feature, porem, esta em estado bem experimental e nem tem uma JSR ainda e deve entrar na JVM
com sorte apenas na versao 9.Project Lambda: To Multicore and Beyond - Alex Buckley e Daniel Smith da OracleUma feature que deve vir na JDK8, lambdas sao uma forma mais simples do que closures - ou melhor, algo muito parecido. Para quem segue a lista de desenvolvimento de lambda, ha poucas novidades - mas uma delas meio bombastica: JDK8 trara (muito provavelmente) o que eles chamaram de virtual extension methods - essencialmente trazendo as traits de scala para java - como uma feature da JVM (e nao apenas do compiler, como eh o caso de scala). Nao sei quanto as pessoas se importam com isso, mas basicamente teremos uma forma limitada de heranca publica em java. Com essa feature, teremos adicao de varios metodos nas interfaces basicas de collections, permitindo manipulacao e iteracao das collections de forma paralela (usando o framework Fork-Join jah presente no JDK7).Why Doesn't Java Have Instant Turnaround? - Jevgeni Kabanov da Zero TurnAroundQuase uma propaganda do produto principal da empresa (o JRebel), mas uma boa palestra de qualquer maneira (alias que ainda nao peguei nenhuma palestra de baixa qualidade). JRebel promete que quase nunca sera necessario fazer o ciclo de build / redeploy cada vez que voce mudar algo na aplicacao. Na MAPS, temos usado com sucesso o Jetty rodando de dentro do Eclipse no projeto, com praticamente o mesmo efeito. No fim, o palestrante mencionou um novo produto da empresa, dessa vez para diminuir o tempo de deployment de aplicacoes em producao - o que me deixou bem interessado.JVM Bytecode for Dummies - Charles Oliver Nutter da EngineYardUma palestra bem tecnica de como gerar bytecode e como ele eh interpretado na JVM. Charles inclusive escreveu uma DSL (em ruby) para geracao de bytecode e mostrou uma biblioteca java parecida. Fora isso, os exemplos foram dados usando ASM. Exibition HallMuitos dos expositores eram de empresas como a EngineYard: prestam servicos provendo plataforma de deployment e/ou facilitando deployment em ambientes de cloud. Claramente, o mundo java corporativo esta se movendo na direcao da nuvem - onde apropriado, claro.Amanha teremos mais um dia recheado de boas palestras.
Algumas pessoas veem me perguntar as vezes quais ferramentas usar para diagnosticar uma aplicacao que nao esta se comportando como deveria. Na maioria das vezes e possivel diagnosticar uma aplicacao em execucao apenas com as ferramentas que vem junto com a JDK mas que muitas pessoas desconhecem mas que (na minha opiniao) todos deveriamos conhecer. A maioria das ferramentas abaixo esta presente tanto na JDK5 quanto na JDK6 e a maioria delas precisa ser executada com o mesmo usuario que executa o processo. Por ultimo, os comandos abaixo sao da versao solaris da JDK e podem ter alguma diferenca se executadas em outros sistemas operacionais.JPSParecida com o ps dos UNIX'es, mas lista apenas os processos java em execucao, mostrando o pid (o process id) e o nome da classe main que iniciou o processo. Com a opcao '-v', mostra toda a linha de comando usada para iniciar o processo e com a opcao '-l' mostra o nome completo da classe main.JSTACKUma vez identificado o pid da aplicacao, precisamo ver o que acontece com ela. O comando jstack mostra na tela um stacktrace de todas as threads da aplicacao e verifica se ha algum deadlock entre as threads. Alem disso, e possivel identificar se alguma thread esta parada em algum ponto ou esperando por I/O.JINFOjinfo mostra todas as sytem properties e todas as flags da jvm.JMAPjmap mostra todas as bibliotecas ligadas a sua aplicacao, bem como o offset de memoria em que estao mapeadas. Esta informacao nao e tao util a menos que estejamos tentando identificar a causa de um crash da jvm. Normalmente usaremos jmap -heap para ver o estado da memoria separado por regiao incluindo o permgen. Caso um problema de memoria seja identificado, e possivel gerar um histograma com os contadores de todos as instancias dos objetos vivos com a flag -histo ou ainda gerar o heap dump com a flag -dump:.JCONSOLESe tudo mais falhar, e possivel tentar usar uma ferramenta grafica chamada jconsole que se conecta a um processo java e consegue ver todas as informacoes anteriores e ainda inspecionar objetos expostos via JMX.Como pudemos ver, e possivel obter varias informacoes sobre uma aplicacao em execucao (e possivelmente diagnosticar problemas) apenas usando as ferramentas que vem junto com a JDK. A cura dos gruposE o momento de cada pessoa trabalhar a sua energia,a sua conexao e compreender que voce faz parte de uma familia, de um ambiente, de lugares e de pessoas e a sua cura impacta, transforma mobiliza a energia de todo o grupo de almas que caminha com voce.Pode ser que alguns de voces se sinta impotente frente a dificuldade e a responsabilidade dessa mudanca. Mas nos estamos dando toda a forca pra que isso aconteca. Aquele que quer despertar, aquele que quer a sua transformacao espiritual e que pede com o coracao aberto, sera alcancado pela nossa presenca. Todas as preces sao ouvidas.Todos os desejos que vem do coracao sao ouvidos.Todo desejo de evolucao espiritual e atendido. Voces sao a nossa acao no mundo dos homens.Cada um de voces representa o nosso movimento.Nos nos movimentamos atraves