Ir para o conteúdo
ou

Software livre Brasil

Tela cheia Sugerir um artigo
 Feed RSS

Blogosfera do PSL-Ba

16 de Junho de 2009, 0:00 , por Software Livre Brasil - | 2 pessoas seguindo este artigo.

O Projeto Software Livre Bahia (PSL-BA) é um movimento aberto que busca, através da força cooperativa, disseminar na esfera estadual os ideais de liberdade difundidos pela Fundação Software Livre (FSF), possibilitando assim a democratização do acesso a informação, através dos recursos oferecidos pelo Software Livre. Esta busca tem seus alicerces fundados na colaboração de todos, formando um movimento sinérgico que converge na efetivação dos ideais de Liberdade, Igualdade, Cooperação e Fraternidade.

O Projeto Software Live Bahia é formado pela articulação de indivíduos que atuam em instituições publicas e privadas, empresas, governos ou ONGs, e demais setores da sociedade. Além disso o projeto não é subordinado a qualquer entidade ou grupo social, e não estabelece nenhuma hierarquia formal na sua estrutura interna.


Tiago Bortoletto Vaz: Os maus sempre vencem, pois há neutros demais no sistema

22 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Este é um pensamento que me tocou há uns 5 anos, ainda de forma desorganizada, caótica, inconsistente talvez. A prática da leitura é o que mais tem amenizado minhas angústias em relação ao mundo, não pelo fato de imaginá-lo melhor, mas por melhor compreendê-lo, mesmo suas entranhas, das mais inóspitas. As cartas na mesa foram bem postas na Nossa Crise Social, seção 11.4 em Chutando o Pau da Barraca, de Marco Paulo Góes, Editora Caravansarai, que transcrevo no final deste post.

O fato é que algumas atitudes do passado já me acusavam de certa subversão, ou de certa falta de carisma pela neutralidade, ou de certa carência da tal flexibilidade moral, retórica bem encaixada pelo espirituoso lobista em Thank You for Smoking (Obrigado por Fumar). Algumas em tom de desabafo, chutando mesmo o pau da barraca, como deu-se em minha demissão publicada na web em 2005. Outras um pouco desafetuosas, por vezes vingativas, como aquela cobertura de uma palestra que não existiu em 2006. Outra, talvez manifestação mais ingênua, que fez parte da minha assinatura de e-mail por bom tempo, trecho do Rondó da Liberdade, do ilustre baiano Carlos Marighella. Eu queria dizer alguma coisa com isso, mas não sabia bem o quê:

“É preciso não ter medo,
é preciso ter a coragem de dizer.”

Pensamento recentemente renovado pelo filme Das Leben der Anderen (A Vida dos Outros):

“se você não adota uma postura você não é humano!”

Encorajado por um texto da colunista Ruth de Aquino, Revista Época, originalmente apreciada num consultório odontológico se bem me lembro. Reprodução parcial obrigatória:

“O filósofo existencialista francês Jean-Paul Sartre costumava dizer que estamos condenados a ser livres. Se acreditarmos nisso, somos livres e por isso somos responsáveis. E, se cumprimos ordens, é porque compactuamos com elas e não somos inocentes. Cumprimos ordens por medo, ambição ou convicção. Se substituímos a convicção pela disciplina cega, pela obediência burra, pela submissão incondicional, o que resta para viver?”

Finalmente consumado por Augusto Boal, quando deixou claro para o mundo que o omisso é necessariamente aliado do opressor, não há outra opção, em texto que não me vem à memória agora.

Enfim, segue a mensagem do dia, como prometido:

“A sociedade tem por hábito classificar a bondade humana em três níveis.

Um Homem é mau: quando capaz de praticar atos que prejudiquem, malogrem, firam ou exterminem seus semelhantes. O Homem mau é inescrupuloso e tende a agir no sentido do benefício próprio, não se preocupando se este benefício venha gerar desconforto ou prejuízo aos outros.

Um Homem é bom: quando vive sua vida dentro do sistema social pertinente à época, sem atentar contra ninguém. O Homem bom é aquele que consegue sobreviver com seu próprio esforço, que trabalha e constrói sua vida e de sua família sem prejudicar semelhantes.

Um Homem iluminado: quando consegue viver sua vida em função da humanidade. O Homem que auxilia e que faz do próprio trabalho uma forma de valorizar e melhorar a vida do menos favorecido.

Os representantes do primeiro grupo são numerosos. Os do segundo, espremida maioria. No terceiro grupo, poucos são encontrados.

Os Homens que a sociedade classifica como bons, pois sustentam sua família e se esforçam para viver sem causar prejuízos aos demais, em segunda análise poderiam ser ditos neutros. Eles nada fazem para melhorar o sistema porque estão demasiadamente preocupados em cumpri-lo, dentro do estereótipo social de Homem justo. Ocupando-se em alimentar seu nicho com o dinheiro advindo do próprio suor, acreditam estar fazendo sua parte para que o mundo seja bom; afinal, se todos vivessem como ele, seria maravilhoso. Talvez, os neutros se esqueçam de que, dentro de “seu trabalho justo”, estão a serviço do injusto; que aceitando e praticando um sistema desequilibrado, colaboram para a massificação da desigualdade e da miséria.

Até que os bons gostariam de ajudar a sociedade, mas o dinheiro nunca sobra e o tempo nunca dá. Vão vivendo dentro da neutralidade, aceitando as regras e lutando por si e pela própria família, em busca de uma vida um pouco mais confortável “sem prejudicar ninguém”.

Os neutros saem do confronto, e restam apenas os maus contra os iluminados. A luta fica demasiadamente injusta: os primeiros são consideravelmente mais numerosos. E o mundo enfrenta o continuísmo. A dita evolução apenas modifica as formas de espoliação dos sem teto, sem comida e sem esperança ao longo do tempo. Um dia foi o Império, outro dia o Clero associado aos Senhores Feudais em exploração a serviçais e camponeses. Depois, a escravidão negra e indígena a serviço do luxo no período colonial. Antes, o extrativismo de riquezas da colônia para a metrópole; agora, a neo-colonização com os países subdesenvolvidos trabalhando superávit primário e déficit secundário para ostentação do superávit secundário e déficit primário dos desenvolvidos.

Ricos mais ricos, pobres mais pobres. Os maus sempre vencem, pois há neutros demais no sistema.”

– Marco Paulo Góes, em Chutando o Pau da Barraca

Posted in português


Carlos José Pereira: Mudanças no GCC 4.3

20 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

.
Utilizei, no desenvolvimento do software GAIA (da minha tese de doutorado), uma biblioteca para manipulação de conjuntos nebulosos chamada FISPRO (Fuzzy Inference System Professional) , disponibilizada como software livre. Pode-se utilizar como um sistema completo, interativo, com interface gráfica em java, ou pode-se utilizar apenas as funções (API) da biblioteca, desenvolvida em C++. Em qualquer caso, no Linux, é preciso realizar a compilação da biblioteca, nada que um comandozinho "make" não resolva.

Pois bem, compilei a biblioteca em setembro/outubro do ano passado, sem problemas, programa da tese terminado, tudo beleza.

Estou retomando agora o trabalho com o programa, em especial para geração de uma versão em inglês para apresentar em um congresso. Como de lá pra cá eu zerei a máquina para trocar a versão do ubuntu (de 7.10 para 8.10), precisei agora reconstruir meu ambiente de desenvolvimento. Comecei pela biblioteca FISPRO, baixei, descompactei, ajustei o que tinha que ser ajustado, make.... e surgiu monte de warnings e erros!!! Em especial:

warning: comparison with string literal results in unspecified behaviour
warning: deprecated conversion from string constant to ‘char*’

... e erros mesmo, relacionados com o uso de funções tais como strlen, strcmp, etc...

Depois de passado o pânico e o desespero :-) mãos-a-obra para descobrir porque um programa que compilava direitinho subitamente deixou de compilar (e olha que nem mudou a versão, era exatamente o mesmo programa!).

O motivo é que em 2008 eu usava o GCC versão 4.1, e agora estou usando o GCC 4.3. Pelo que entendi, esta nova versão do GCC não trás apenas novas funcionalidades e conserto de bugs, mas também algumas mudanças intencionais em algumas formas de uso, em especial para suportar novos padrões. Na maioria das vezes, as mudanças serão imperceptíveis, porém em alguns casos elas trarão algumas dores-de-cabeça para quem estiver migrando para o GCC 4.3.

Uma dessas mudanças foi a "limpeza" realizada nos arquivos #include de forma a incluir o menor número possível de arquivos adicionais. Assim, muitos programas em C++ que não incluem explicitamente a não mais compilarão.

Essa é apenas uma das mudanças. Para uma descrição completa e detalhada, sugiro a consulta a esta página:

http://gcc.gnu.org/gcc-4.3/porting_to.html

Bem, e como resolver, sem ter que alterar o código-fonte da biblioteca?

Eu resolvi com a seguinte gambiarra: instalei, via synaptic, o GCC 4.1 (pacotes cpp-4.1 e g++-4.1). Mas não basta isso, vocẽ precisa também redirecionar o atalho "gcc" e "g++" para apontarem para a versão do gcc (e g++) que você quer usar.

Vamos ver como a coisa funciona: abra o terminal, e vá para o diretório /usr/bin. Lá, exiba os arquivos que começam com gcc:

cd /usr/bin
ls -l gcc*
Você vai ver algo do tipo:

lrwxrwxrwx 1 root root 7 2009-06-20 15:11 gcc -> gcc-4.3
-rwxr-xr-x 1 root root 208068 2009-01-23 17:20 gcc-4.3
Se você já tiver instalado o gcc 4.1, verá também:

-rwxr-xr-x 1 root root 198916 2008-10-26 10:12 gcc-4.1
A primeira linha diz que o arquivo gcc, na verdade, é um "link simbólico" para outro arquivo, gcc-4.3. Isto significa que quando você executa o gcc, na verdade, está executando o gcc-4.3. Precisamos então, fazer o link apontar para o arquivo gcc-4.1, para utilizarmos esta versão do compilador. Isto é obtido com os seguintes comandos:

sudo rm gcc (para apagar o gcc)
sudo ln -T gcc-4.1 gcc -s (para recriar gcc, desta vez apontando para gcc-4.1)

Agora, ao pedir o diretório, você deverá ver:

lrwxrwxrwx 1 root root 7 2009-06-20 15:11 gcc -> gcc-4.1
-rwxr-xr-x 1 root root 198916 2008-10-26 10:12 gcc-4.1
-rwxr-xr-x 1 root root 208068 2009-01-23 17:20 gcc-4.3
Não esqueça de fazer a mesma coisa com o g++:

ls -l g++*

lrwxrwxrwx 1 root root 7 2009-06-20 15:20 g++ -> g++-4.1
-rwxr-xr-x 1 root root 200836 2008-10-26 10:11 g++-4.1
-rwxr-xr-x 1 root root 212164 2009-01-23 17:17 g++-4.3
Para testar, use "gcc --version" (ou g++ --version).

gcc (GCC) 4.1.3 20080623 (prerelease) (Ubuntu 4.1.2-23ubuntu3)
Copyright (C) 2006 Free Software Foundation, Inc.
E não esqueca de avisar aos desenvolvedores do código que você está tentando utilizar sobre esses problemas e mudanças. Lembre-se, colaborar com software livre não é apenas programar. Um relato de bugs e/ou problemas, é uma ajuda e tanto! (Eu já avisei a galera que desenvolve a biblioteca fispro.... :-) ).

Mais um aviso, lembre-se de fazer este tipo de alteração com bastante cuidado, para não "estragar" o seu sistema.

Grande abraço a todas e a todos!

Carlão



Fábio Nogueira: Firefox 3.5 beta 4

19 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Como diria o Hannibal Lecter: “É preciso experimentar coisas novas”. Mesmo quando elas não são tão novas assim… ;)

Está no ar o Firefox 3.5 beta 4, versão esta que pode ser a última antes do lançamento oficial. Mais rápido e com novos recursos, inclusive o de localização geográfica no resultados das buscas, ele é facinho de ser instalado no Ubuntu 9.04. Para isso, basta abrir o Terminal e digitar:

sudo apt-get install firefox-3.5

Assim você instalará esta versão de testes por cima da anterior. Caso deseje manter a versão anterior, siga os procedimentos abaixo citados no blog do Hamacker:

1. Efetue o download do Firefox 3.5b4:

http://www.mozilla.com/products/download.html?product=firefox-3.5b4&os=linux&lang=pt-BR

2. Abra o Terminal e dentro da pasta onde o arquivo foi baixado, execute:

tar jxvf firefox-3.5b4.tar.bz2

3. Uma pasta chamada ‘firefox’ será criada, agora a mesma será renomeada para outro local:

sudo mv firefox /usr/share/firefox35

4. Para configurar um atalho, edite o seguinte arquivo:

sudo gedit /usr/share/applications/firefox35.desktop

5. Adicione o conteúdo abaixo, salve e feche o arquivo:

[Desktop Entry]
Version=1.0
Name=Navegador de Internet Firefox 3.5 beta 4
Comment=Navegador de Internet Firefox 3.5 beta 4
Exec=/usr/share/firefox35/firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/usr/share/firefox35/icons/mozicon50.xpm
Categories=Application;Network;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;
StartupWMClass=Firefox
StartupNotify=true

Voilà!

Agora você pode desfrutar das duas versões.. ;)



Antonio Terceiro: Oficina: Introdução a Ruby e Técnicas de Desenvolvimento Ágil

19 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Ruby-logo2Durante o III Encontro Nordestino de Software Livre / VI Festival Software Livre da Bahia eu fiz essa oficina, cujo objetivo era de "introduzir os principais elementos da linguagem de programação Ruby, bem como de apresentar técnicas relacionadas a Desenvolvimento Ágil de Software, como Desenvolvimento Dirigido por Testes e Refatoração". Ainda que tenha sido bastante focada na prática, eu fiquei de postar o material produzido nela.

Estou bastante atrasado com isso, mas antes tarde do que nunca:

  • oficina-ruby.odp: micro-apresentação de slides que serviu mais pra nos guiar durante a oficina do que pra ter conteúdo propriamente dito.
  • oficina-ruby.tar.gz: código-fonte produzido: uma implementação bastante simples de planilha eletrônica,
     com suporte a fórmulas simples como referência, soma, multiplicação e soma de intertvalo de células. Este foi o exemplo usado para praticar TDD, Refatoração e a linguagem em si.


Antonio Terceiro: meu novo blog

16 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Depois de bastante tempo usando o TWiki para o meu blog, estou de mudança para o Software Livre Brasil. Apesar do blog no TWiki ser muito legal e prático, eu preciso divulgar mais o Noosfero, projeto no qual eu venho trabalhando já há 2 anos, e também provar do meu próprio remédio usando o troço no dia-a-dia. Aqui também tem comentários, algo que eu e todo mundo mais que usava blog sentia falta

Você vai notar que todos meus posts antigos estão aqui também. Não, eu não copiei e colei todos eles. :--) Eu usei uma funcionalidade muito interessante do Noosfero, que é a de popular um blog através de um feed RSS ou Atom. Para isso, use a opção "configurar blog" no seu painel de controle, e marque a opção "Obter posts de um feed externo".

Noosfero-feed-externo

Coloque o endereço do feed no campo correpondente. Note que esse não é o endereço do blog, mas sim do seu feed RSS ou Atom! Quem estiver migrando pode deixar marcada a opção "Obter posts apenas uma vez", mas quem quiser que o Noosfero fique acompanhando o blog externo, é só marcar a opção "Obter posts periodicamente".

Pra quem está migrando, uma dica importante: certifique-se de usar um feed que traz todos os seus posts, senão apenas os posts que estão atualmente no seu feed serão importados (normalmente os últimos 10 ou 20, a depender da plataforma de blog que você usa).



Antonio Terceiro: novo blog

16 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Depois de bastante tempo usando o TWiki para o meu blog, estou de mudança para o Software Livre Brasil. Apesar do blog no TWiki ser muito legal e prático, eu preciso divulgar mais o Noosfero, projeto no qual eu venho trabalhando já há 2 anos, e também provar do meu próprio remédio usando o troço no dia-a-dia. Lá também tem comentários, algo que eu e todo mundo mais que usava blog aqui sentia falta.



Amadeu Junior: Meu mestrado, parte 2: solução para empacotamento

16 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Entendendo esse post

Esse também faz parte da série de posts sobre minhas investigações no mestrado na PUC-Rio. Esse trata em detalhe as alternativas que pesquisei como solução de empacotamento multi-plataforma e multi-linguagem para ajudar um sistema de componentes de software distribuídos a instalar pacotes de componentes com suporte à dependências externas e além ao modelo de componentes (também conhecidas na área de componentes como dependências estáticas). A decisão no mestrado foi reusar e modificar o LuaRocks para fornecer suporte multi-linguagem, foi uma ótima decisão, viabilizou toda a outra parte do trabalho que se referia à implantação de componentes propriamente dita e digamos mais academicamente importante (afinal academicamente sistema de pacotes é algo digamos POUQUíSSIMO COMENTADO!).

Falar como os sistemas de pacotes podem ajudar a sanear as instalações é trivial para um linux-user, mas não para um academic-guy que só quer saber de quantas referências há para "sistemas de pacotes" ! Nesses casos a comunidade das redes de software livre dão uma lição e tanta no academic way of life. wink Deixemos a política nas entrelinhas ... o foco aqui é mostrar com quantos paus se faz um mestrado!

Requisitos

  1. permitir instalação por usuário ou projetos (área compartilhada mas não global)
  2. possuir resolvedor de dependências externas
  3. permitir remoção mediante verificação de dependências = se remover X do qual Y,Z dependem então remove também Y,Z
  4. possibilitar reuso da instalação já existente = se a biblioteca X já está instalada a resolução de dependência de qualquer Y deve reconhecer que X já está instalada
  5. (idealmente) permitir sobrecarga e resolução de conflitos entre dependências que provém as mesmas interfaces/serviços
  6. possuir API de alto nível para automatizar a instalação (pré e pós install), remoção (pré e pós remove), resolução de dependências e reconfiguração (restart de serviços)
  7. permitir extensão da abstração de dependências para descrever dependências entre componentes SCS
  8. suportar multiplataforma, no sentido de ter compatibilidade com o gerenciamento em plataformas não-UNIX
  9. suportar multilinguagem, no sentido de gerenciar pacotes nas linguagens Lua, C++ e Java
  10. permitir uso de repositórios de pacotes

Levantamento de características

Projetos muito Interessantes

haskell

  1. Cabal ( http://www.haskell.org/cabal ): Cabal is a system for building and packaging Haskell libraries and programs It defines a common interface for package authors and distributors to easily build their applications in a portable way. Cabal is part of a larger infrastructure for distributing, organizing, and cataloging Haskell libraries and programs. Specifically, the Cabal describes what a Haskell package is, how these packages interact with the language, and what Haskell implementations must to do to support packages. The Cabal also specifies some infrastructure (code) that makes it easy for tool authors to build and distribute conforming packages. The Cabal is only one contribution to the larger goal. In particular, the Cabal says nothing about more global issues such as how authors decide where in the module name space their library should live; how users can find a package they want; how orphan packages find new owners; and so on.
  2. Discussão sobre sistemas de build e packaging: http://www.nabble.com/Version-control-systems-td18827479i80.html
    1. Geoffrey Clemm, Odin Build Tool : http://portal.acm.org/citation.cfm?id=77607&dl=GUIDE&dl=ACM
    2. Walter F. Tichy, Smart Recompilation : http://portal.acm.org/citation.cfm?id=5959&dl=ACM&coll=portal

debian

  1. question building: dpkg-buildpackage e outros utilitários obrigam (?!) o uso de crosscompiling uma vez que pode ser difícil ter o dpkg-dev instalado em vários tipos de hosts
  2. question install: depende de arquivos em diretórios globais, mas pode usar diretórios por usuário = isso causa conflito com a instalação global
  3. porte do dpkg para MS Windows : http://osdir.com/ml/linux.debian.ports.windows/2007-12/msg00001.html
    1. usar mingw mesmo para compilar o dpkg ou ao menos a libapt
  4. porte da infra-estrutura debian para Interix (SFU/SUA) - veja abaixo na seção sobre compatibilidade com Windows
    1. question em que ponto exatamente se encontra o resolvedor de dependências? É possível reusar o parser do control e o resolvedor de dependências?
  5. implementar um módulo Lua frontend para dpkg semelhante a dpkg-ruby + libdpkg-ruby1.8 (depende de dpkg instalado)
    1. question É possível tornar o parser do control e o resolvedor de dependências um módulo Lua?
  6. motivação cross-compiling: ter bibliotecas nativas para o windows usando o mingw para poder ser usadas junto com MSVC e ser redistribuídas com softwares windows nativos
    1. http://mingw-cross.sourceforge.net/
    2. http://gnuwin32.sourceforge.net/summary.html
  7. discussões sobre cross-compiling com mingw:
    1. http://lists.debian.org/debian-mentors/2006/03/msg00115.html
    2. http://lists.debian.org/debian-mentors/2006/03/msg00216.html
    3. http://wiki.njh.eu/Cross_Compiling_for_Win32
    4. https://dev.njh6.de/svn/njh/any2deb/
    5. CFLAGS="-mms-bitfields -march=i386" CC=i586-mingw32msvc-gcc LD=i586-mingw32msvc-ld
  8. discussao pessoal:
    1. dpkg-cross: renomeia nomes de pacotes no control, bem como os diretorios com nomes=nome_pacote. Exemplo: libtool.deb -- dpkg-cross --> libtool-w32-i586-cross.deb
    2. dpkg-buildpackage com modificação para mingw
      1. gera pacotes em nova arquitetura (w32-i586)
      2. gera pacotes prefixado em /usr/$(DEB_HOST_GNU_TYPE)
      3. dado que gera binários para w32-i586 então no porte do dpkg no windows precisa reconhecer esta arquitetura
      4. uma alternativa para não precisar fazer porte do dpkg no windows e ter um ambiente cygwin que instala e gerencia os pacotes nativos windows
      5. outra alternativa é fazer instalação remota (no filesystem windows) via compartilhamento samba e possivelmente precisando do schroot/chroot

nix

  1. suporte a MS Windows via Cygwin
  2. http://en.wikipedia.org/wiki/User:Gwern/Nix_Package_Manager , http://nixos.org/patchelf.html , http://nixos.org/nixpkgs.html
  3. hash de pacotes baseado nos arquivos fonte antes do building do pacote
  4. question usa repositórios?
    1. sim, faz download a partir do nome do pacote (parecido com apt-get install)
  5. question segurança no compartilhamento entre usuários?
  6. question interopera com pacotes já instalados (.deb, .rpm)?
  7. http://nixos.org/releases/nix/nix-0.11/manual

zeroinstall

  1. sem suporte a MS Windows porque usa python.os.fork() e não há implementação disso para windows!
    1. provavelmente SFU/SUA/Cygwin resolvem este problema.
    2. fazer um wrapper para spawn para portabilidade : http://effbot.org/librarybook/os.htm
    3. http://www.python.org/doc/faq/windows/
    4. refatorar o zeroinstall para remover a necessidade do fork
  2. detalhes do empacotamento : http://0install.net/injector-packagers.html
  3. hash de pacotes baseado na árvore de diretório gerada pelo building do pacote
  4. question usa repositórios?
    1. descentralizado e não depende de repositórios
    2. question impede uso de repositórios?
  5. question segurança no compartilhamento entre usuários?
    1. http://0install.net/sharing.html
  6. question interopera com pacotes já instalados (.deb, .rpm)?
    1. conversor de .deb para 0install : http://0install.net/deb2zero.html
    2. http://0install.net/injector-using.html
  7. question como remover um pacote?
    1. Currently, they can't. You (the admin) can delete directories from /var/cache/0install.net/implementations to save space (preferably not while they're being used ;-). Ideally, we should track which users have requested which programs and remove them automatically when no-one wants them anymore. (ver "questions" no link sharing)

ipkg

  1. TODO olhar o site e o código para ver possíveis problemas de portabilidade : http://handhelds.org/moin/moin.cgi/Ipkg

luarocks

  1. question só coisas Lua ou não, se não então qual o nível de building possível
    1. permite uso dos backends: make, cmake, comando_qualquer (scons,installshield) ou module (módulos Lua)
    2. embora não seja concebido para instalar outros binários é possível que instale uma vez que permite uso de Makefile
    3. DONE para ser compatível com autotools seria preciso definir um novo backend baseado no make atual
      1. Implementado um build.autotools e build.tecmake ainda preliminares, mas que são úteis para compilar pacotes como openssl, openldap, sasl
    4. question suportar a instalação de pacotes de várias linguagens
      1. Natural é atribuir nomes parametrizados pela linguagem (like debian-policy to liblangXYZ) de suporte: lua, java, cpp
        1. Útil para os pacotes dos Componentes SCS uma vez que eles é que dependem de estar numa mesma linguagem, no caso das suas dependências externas a exemplo do openssl:
          1. BusAccessControl_lua.all.rock dependsOn lualdap_lua.rock dependsOn openldap.rock
          2. BusOiLConnector_cpp.x86.rock dependsOn liboilall_cpp.rock dependsOn lua
          3. MyComponent_lua.all.rock dependsOn openldap AND sasl2 AND lua
          4. PingPong.rockspec, PingPong_lua.all.rock dependsOn oil_lua AND scs_lua.all.rock
      2. Outra opção é estender as informações de plataforma para incluir linguagem para que o tratamento do perplatform_overrides cuide de instalar archs={*lua.x86*,*java.all*,*cpp.solaris*}
    5. question suportar a carga em cada contêiner
      1. O instalador precisa informar qual a variável de ambiente apropriada para cada linguagem afim de montar o LUA_PATH, CLASSPATH ou LD_LIBRARY_PATH de forma que o método de loading da linguagem encontre o pacote com versão especificada, bem como suas dependências.
        1. LUA : luarocks no ato do require já busca do manifest.repository os contextos (formando package.path e package.cpath) e assim realiza a carga
        2. JAVA : ClassLoader precisa receber um classpath montado com os contextos da resolução de dependências,
        3. C/C++ : o contêiner para realizar a carga dinâmica (dlopen) precisa montar o contexto na variável LD_LIBRARY_PATH
        4. reuso do luarocks.deps pela comunicação contêiner <-> exnode:installer :
          self.ComponentLoader:setContext( installer:getContext(componentId,self.mylang) )
  2. question premake http://premake.sourceforge.net/writing_scripts

luadist

  1. http://luadist.sourceforge.net - LuaDist? is a cross-platform distribution of the Lua programming language that includes networked module management and deployment of source based or binary modules. Unlike projects like LuaRocks? the main focus of LuaDist? is full automatization and standalone deployment including the management of external libraries on the Linux(UNIX), Windows and Mac platforms. Uses the CMake approach to build and parse automatic dependencies.
  2. Muito interessante, mas:
    1. Permite instalação simultânea de múltiplas versões dos pacotes? Justificativa: precisamos manter instalado múltiplas versões dos pacotes Lua bem como das bibliotecas de sistema (podemos precisar da OpenLDAP? tanto na sua versão 2.1.x quanto 2.4.x).
    2. Permite outras formas de compilação além do CMake? Justificativa: muitas bibliotecas de sistemas podem precisar ser compiladas e provavelmente usa-se ferramentas de compilação diferentes (autotools, make personalizados, scripts personalizados, etc).
    3. Possui noção de árvores de instalação que permitem a gerência via arquivo de manifesto (como no LuaRocks? )? Justificativa: os arquivos de manifesto do luarocks permitem a adoção de várias árvores de instalação simultâneas (para várias plataformas, por exemplo), assim ao usar o comando do luarocks pode-se usar o parâmetro --to=/home/user/install-linux-x86_64/, por exemplo.
    4. É fácil manter um repositório ou mesmo usar a própria árvore de instalação como repositório? Justificativa: o LuaRocks? apresenta uma funcionalidade interessante que simplifica a gerência do repositório uma vez que basta ter na mesma árvore os pacotes src.rock ou .rock.

clickonce (MS Visual Studio)

  1. ClickOnce Deployment: projetos C++ - http://msdn.microsoft.com/en-us/library/ms235287(VS.80).aspx , projetos C#/J# - http://msdn.microsoft.com/en-us/library/t71a733d(VS.80).aspx

Alternativas para compilação

Hamster

  1. Can be used as a generic 'make replacement' for almost any project. It even contains a 'Try' method that has automake-like functionality (detecting whether some compilation would fail or succeed at build time). Support: gmake, scons, nmake. http://kotisivu.dnainternet.net/askok/hamster/
  2. ALERT! Interessante observação dos autores (parece-me que substitui/expande bem o Tecmake): For professional work I warmly recommend SCons, a Python-based build tool that knows how to rebuild when only build parameters have changed (makefiles don't do that). Even with makefiles, Hamster takes care of header dependencies automatically (no need to list your headers, or do 'make dep'). Hamster's API derives from that of SCons, and even the original name of the project was SCons/Lua.

Scons

  1. http://www.scons.org , http://www.qandr.org/quentin/writings/debscons.html

Compatibilidade MS Windows

  1. SFU --- evolução ---> SUA (SFU deve ser mantido até 2009!)
  2. question Diferenças entre Cygwin e ServicesForUnix (SFU)
    1. http://osnews.com/thread?16317
  3. question Impacto de desempenho do SFU (usar benchmarks do shootout.alioth.debian.org)
  4. Introduction to Microsoft Windows Services for UNIX 3.5 : http://technet.microsoft.com/en-us/library/bb463212.aspx
  5. Interopsystems open source tools : http://www.interopsystems.com/community/default.aspx
  6. Windows Services for UNIX : http://technet.microsoft.com/en-us/interopmigration/bb380242.aspx
  7. SFU Warehouse : http://www.interopsystems.com/community/warehouse.aspx
  8. SFU Installation : http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=896C9688-601B-44F1-81A4-02878FF11778&displaylang=en
  9. Gerenciador de pacotes Interix (SFU) : http://www.interopsystems.com/community/pkg_install.htm
  10. UNIX Interoperability integrated on Windows Server >= 2003 : http://blogs.msdn.com/sfu/archive/2007/04/12/services-for-unix-vs-windows-server-2003-r2-unix-interoperability.aspx
  11. Blog do gerente de projeto do SUA/SFU : http://blogs.msdn.com/shan/default.aspx
  12. Projeto do porte de Debian para Interix (SFU/SUA) : http://www.debian-interix.net
    1. Bug para criação da lista oficial do porte do Debian para Interix : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=441094
    2. Problemas com a conta root <-> Administrator : http://gridengine.info/articles/2007/02/06/notes-about-grid-engine-on-windows
  13. Outras opções:
    1. Usar mingw (site novo, versão nova - gcc4) por ser mais simples e menos dependente das tecnologias microsoft: http://www.mingw.org , http://gnuwin32.sourceforge.net/packages/libgw32c.htm

Outros links

Compilação openldap,openssl via mingw no MS Windows

  1. instala msys
  2. instala regex
  3. instala zlib
  4. instala perl5
  5. baixa openssl do cvs
    1. ln -s /mingw/include /usr/include
    2. ln -s /mingw/lib /usr/lib
    3. ./config --prefix=/mingw --openssl-dir=/mingw/openssl/ shared
    4. editar util/mklink.pl e definir symlinks_exists como FALSE para usar copia (pois symlink é dummy no MSYS)
    5. make
      1. faltando definicoes: CERT_SYSTEM_STORE_CURRENT_USER , CERT_STORE_READONLY_FLAG , CRYPT_KEY_PROV_INFO , CERT_STORE_PROV_SYSTEM_A (... a maioria deveria estar em wincrypt.h)
    6. versão 0.9.8h tem versão instalável: http://www.slproweb.com/products/Win32OpenSSL.html
  6. baixa openldap 2.4.11


Amadeu Junior: Meu mestrado, parte 1: pesquisa e temas

15 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Entendendo esse Post

Essa blogada estava como rascunho há bastante tempo, digamos 1 ano de 2 meses para ser exato! Nesse post eu organizei minhas pesquisas e temas que definiram meu mestrado em computação pela PUC-Rio. Acho interessante compartilhar esse conteúdo porque na academia pouco de faz de concreto para divulgar amplamente "como as coisas funcionam". Muitos projetos de pesquisa se limitam a manter privados seus meios, percalços e detalhes no entorno da produção científica. Aqui eu tento listar todas as possibilidades que estiveram e ainda fazem parte do contexto do meu trabalho de mestrado.

Portanto, espero que esse conteúdo seja útil a outros que tenham interesses de pesquisa em áreas semelhantes à minha.

  • UPDATED A dissertação do mestrado está saindo.. assim que finalizá-la, colocarei aqui no Blog !

Deployment de Aplicações Distribuídas: Reuso das Soluções de Empacotamento e Construção de um Framework

Estudos realizados

Deployment de Software

Processo de deployment em open-source: Cross-compiling para Debian: Alternativas aos pacotes Debian:

Deployment em Sistemas Distribuídos

Artigos: Outros: Alto nível: Deployment: Outros links: Outras bibliografias:
  • [Emmerich,02] Emmerich, W., Distributed Component Technologies and their Software Engineering Implications, Proc. of the 24th International Conference on Software Engineering, Orlando, Florida, pp. 537-546, 2002.
  • [Jasminka,04] Jasminka Matevska-Meyer, Wilhelm Hasselbring, and Ralf H. Reussne. Software Architecture Description supporting Component Deployment and System Runtime Reconfiguration. Software Engineering Group, Department of Computing Science, University of Oldenburg, Germany.

<!-- <h4><a name="Roteiro_para_monografia"></a> Roteiro para monografia </h4> <ol> <li> contextualização (o problema) <ol> <li> deployment em sistemas distribuídos </li> <li> componentes de software </li></ol> </li> <li> relevância do problema e suas soluções <ol> <li> trabalhos relacionados <ol> <li> características </li> <li> quais partes atendem ou não </li></ol> </li></ol> </li> <li> como dizer que CCM não resolve? <ol> <li> existem implementacoes? <ol> <li> sim = openccm, completa = ??, atende = ?? </li></ol> </li> <li> elas resolvem? </li> <li> quais as características mais interessantes? </li></ol> </li> <li> como dizer que EJB (+ coisas Java) não resolve? <ol> <li> apenas java ! </li> <li> apesar de ser java, em que mais não atende? </li> <li> quais as características mais interessantes? </li></ol> </li> <li> outros modelos de componentes? <ol> <li> fractal <ol> <li> o que interessa para deployment? </li></ol> </li> <li> opencom <ol> <li> o que interessa para deployment? </li></ol> </li></ol> </li> <li> deployment de software <ol> <li> apt/dpkg </li> <li> zeroinstall </li> <li> nix packages </li> <li> como reusar? <ol> <li> language neutral ! </li> <li> como interoperar entre plataformas ? </li> <li> experiencia de plataformas embarcadas ajudam? <ol> <li> iPKG </li></ol> </li></ol> </li></ol> </li> <li> frameworks para deployment no contexto de grades <ol> <li> trabalhos relacionados <ol> <li> ADAGE, <span class="twikiNewLink">CoRDAGE<a href="http://planeta.psl-ba.softwarelivre.org/bin/edit/Blogs/CoRDAGE?topicparent=Blogs.BlogRssOneFeed" rel="nofollow" title="Create this topic">?</a></span> </li> <li> Gridkit </li> <li> Smartfrog </li></ol> </li> <li> grades oportunistas e uso de virtualização, faz sentido? </li> <li> como o deployment associado a um sistema de componentes pode ajudar? <ol> <li> caso do Integrade </li></ol> </li></ol> </li> <li> delineando um framework para deployment multi-plataforma e multi-linguagem ideal <ol> <li> faz sentido um novo framework? </li> <li> atender deployment de software </li> <li> modelo de componentes </li> <li> deployment distribuído <ol> <li> usar taktuk/kanif? </li></ol> </li> <li> abstrações para reconfiguração e adaptação </li> <li> aplicabilidade em grades computacionais </li></ol> </li></ol> -->

Paralelização de Componentes no SCS

Artigos:

Dicas de LaTeX

Coisas Win32



JavaBahia: JavaOne 2009 - Uma Visão Geral

15 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários aindaPassada mais de uma semana do término do JavaOne 2009 resolvi fazer mais um post, desta vez com uma visão geral e uma espécie de "repescagem" de coisas que eu não havia citado. O post diário é mais detalhado, mas não responde a pergunta de muitos quando voltamos pro Brasil: "como foi o evento"?

Como das outras duas vezes, o evento foi excelente. É no JavaOne que são feitos os maiores anúncios da tecnologia, e a gente vê em primeira mão protótipos/produtos em vias de lançamento. Ano passado, destaques para a caneta LiveScribe, o Amazon Kindle e o Sentilla Perk. Esse ano, gostei do JavaFX rodando em TV, Set-top box, Celular, Netbook, Desktop e até uma JukeBox (aquelas máquinas de música, que a gente vê em filme americano) turbinada (saiba mais e veja foto) criada por dois caras que dirigiram 35 horas de New Orleans até San Francisco para mostrar a invenção. No Toy-Show de James Gosling esqueci de citar o uso de Java em automóveis, tanto num Lincoln 1959 movido a eletricidade produzida por um gerador de gás natural (coisa de Gosling e Neil Young) , até a Volkswagen usando Java para testes de direção em altíssima velocidade (sem piloto!) num Audi TTS. Teve também um software de busca em imagens que pode ser utilizado, por exemplo, no auxílio a diagnóstico de Cancêr. No CommunityOne, me surpreendeu o destaque dado a Cloud Computing e as Plataformas Sociais e Colaborativas. Mais ligadas ao nosso dia a dia, no geral também não faltaram sessões relacionadas a desenvolvimento Web, SOA, Servidores de Aplicação, Mobile, RIA e Desktop.

O que tem de melhor fica para as General Sessions. Não consegui assitir todas, mas ainda pretendo ver os vídeos das que perdi, principalmente a Intelligent Design: The Java Pervasive Platform. Mais diversificadas e várias ocorrendo simultaneamente, as Technical Sessions também tem um fator sorte. Muitas vezes a gente vai pelo título ou tema, e assiste a algumas apresentações "meia boca". Optei por privilegiar as apresentações dos brasileiros (falei sobre todas elas em cada post), as ligadas as Grupos de Usuários Java e Java Champions e, por fim (mas não menos importantes), a tecnologias que tem a ver com meu trabalho no Serpro, principalmente ligadas ao Framework Demoiselle. Já recomendei, e repito: Todo esse material fica disponível on-line, "de grátis", e deve ser considerado como fonte de pesquisa.

Apesar de tanto "tecnologiquês" legal (quer mais? veja um resumo neste blog), a atmosfera desse JavaOne estava diferente. Efeitos da "crise", da gripe suína (vi pouquissima gente de máscara nos aeroportos) e da incerteza quanto ao futuro pós aquisição da Sun pela Oracle já tem impactos visíveis: Nada de "megafilas" para entrar nas General Sessions (foram cerca de 9.000 participantes, ano passado 15.000 e teve ano que chegou a 25.000), nada de "pirotecnia" nas sessões de abertura e encerramento, nada de jornalzinho diário (era algo tão bom nas outras edições...), nada de John Gage como mestre de cerimônias (ele e seu "Don't be shy, be like brazilians" - que provocava a maior algazarra na platéia - fizeram falta; soube que saiu da Sun), nada de sessões/jantares exclusivos da imprensa com executivos da Sun (para que? eles não sabem o que dizer...), nada de "competição" pela delegação (tinha bem menos brasileiros esse ano, e os que tinham ficaram bem mais dispersos que em 2008, quando andávamos em "comboio") mais barulhenta (Brasil e Holanda eram os rivais do ano passado, mas no maior clima de confraternização, viu?), nada de "See you next year!" ao final do evento, quando normalmente já se divulga o periodo exato do próximo JavaOne.


Em todos os JavaOne essa é tradicionalmente a "capa" de Bruno Souza, o "Brazil's Java Man"

Ainda buscando "desaques", gostei tanto de um "resumo" feito no Twitter do JavaTools, que decidi postar aqui uma "tradução não oficial":
  • Dispositivo do ano: Netbooks! Parecia que todos estavam carregando um Netbook para twittar e verificar e-mails durante as sessões.
  • Buzzword do ano: "The Cloud". Sun Cloud, ferramentas para a nuvem, codificação na nuvem, implantação (deploy) na nuvem, borrachas de nuvens como brindes.
  • Orador convidado do ano: Larry Ellison. O dono da Oracle supostamente iria responder algumas das questões que todos estavam perguntando, mas ele não o fez.
  • General Session inesperada do ano: Microsoft. Eles não só tinham um keynote, mas falaram de open source também.
  • Estandes faltando do ano: Oracle e Google. Duas das tradicionalmente mais populares estandes no pavilhão, não estavam presentes em 2009.
  • "Costume" faltando do ano: JavaOne Today. O jornal que costumavam distribuir pela manhã, resumindo o dia anterior, foi cortado fora.
  • Pergunta mais feita do ano: "Vai ter outro JavaOne? Todo mundo estava querendo saber. Ninguém respondeu.
  • A resposta mais dada do ano: "Nós não podemos falar sobre o assunto". Essa era a
  • resposta padrão dos empregados da Sun, quando questionados sobre a fusão com a Oracle.
Pra concluir, o melhor de tudo mesmo é o networking que a gente faz. A constatação que são todos "normais", com ansiedades, defeitos, problemas, virtudes. A mistura de culturas, países, sotaques. As novas amizades que se formam, as comunidades que se criam e/ou fortalecem. O Java, no centro, com seus 14 anos de vida sendo o elo principal que liga tantas pessoas. Essa força nos dá confiança que, aconteça o que acontecer, ainda vem muita coisa boa pela frente.




JavaBahia: JavaOne 2009 - 1o Dia

14 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

A General Session de abertura do JavaOne começou com as boas vindas de John Melissinos, Chief Evangelist and Chief Gaming Officer da Sun. Uma grande expectativa pairava no ar, pois todos estavam curiosos (principalmente, acredito, os empregados da Sun) sobre o futuro da tecnologia Java agora que a Oracle adquiriu a Sun. Johnatan Schwartz não ajudou muito a esclarecer essa dúvida, mas apresentou exemplos diversos de uso da tecnologia Java junto com executivos de outras empresas. A divisão de Blackberry da e-Bay afirmou tratar Java para dispositivos móveis com extrema seriedade; apresentou uma demonstração do Zobni, uma aplicação de busca de informações de contato em redes sociais, acoplada ao programa de e-mail. Enquanto o nome era digitado, apareciam as pessoas encontradas para permitir seleção (Informação sobre desenvolvimento para Blackberry (www.blackberry.com/developer). A Sony Pictures mostrou uso de Java em Blu-ray que nos levará a uma interatividade de alto nível, em qualidade visual e funcionalidades, permitindo por exemplo que pessoas assistindo um mesmo filme possam usar a TV para conversar. Verizon Wireless e Intel basicamente ressaltaram a importãncia de Java em suas organizações, a última enfatizando os altos ganhos de performance obtidos em seus processadores mais novos, resultado também da parceria constante com a Sun. Sobre TV Digital, foi mostrada uma demo de aplicação construída com JavaFX com belos efeitos gráficos. TV e internet se misturam, pois será possível assistir um filme e ao mesmo tempo jogar um Game, ver informações sobre outro assunto (ex: esportes, bolsa de valores ou meteorologia) ou efetuar uma compra on-line. JavaFX parece ser uma boa opção, devido aos seus recursos visuais e multimídia. O Clayton Chagas, brasileiro que apresentará junto com Magno Cavalcante (RioJUG) uma sessão técnica na 6a-feira sobre o Sistema Brasileiro de TV Digital, estava ao meu lado e disse que nosso sistema ainda não prevê suporte JavaFX. Vamos acompanhar a evolução disso.

Durante essas apresentações, foram feitos 3 anúncios importantes: A disponibilização do Java SE 7 SDK, do Java EE 6 e do Java FX 1.2. Sobre essa última, a diretora de engenharia da plataforma JavaFX demonstrou um Player de Vídeo feito com JavaFX construido praticamente sem a necessidade de escrita de código "na unha", apenas arrastando e soltando componentes e estabelecendo ligações entre eles, tudo de forma visual.

É claro que não podia faltar o "pai do Java" James Gosling. Ele falou sobre o novo Java Store, uma espécie de catálogo de aplicações Java construído em JavaFX, que permitirá descobrir, comprar (caso não seja gratuita) e instalar aplicações Java de um jeito bem simples: arrastando e soltando no Desktop. Foi exibido um jogo de paciência feito por Gosling; o chefe brincou perguntando: "Você não fez isso em horário de trabalho né?". A resposta: "Você não deveria fazer esse tipo de pergunta aqui!". Em algum momento Gosling ainda lançou um "desafio", dizendo que gostaria de ver o JavaStore rodando numa TV Digital; Alguém se habilita!?. Em seguida ele e Scwhartzs convidaram o Mark Gerhard, CEO da Jagex (de Java Game EXperts!) para receber seu Duke's Award pelo jogo Rune Scape, um caso de sucesso mundial de game escrito em Java.

Em seguida, o fundador da Sun Scott McNealy foi convidado ao palco; Os 3 assistiram juntos a um divertido filme que resumiu os 14 anos de Java. McNealy estava visivelmente emocionado e fez uma espécie de homenagem a Gosling; Disse que ao ser perguntado pelo pessoal de RH (eles estavam elaboranco um programa de capacitação) sobre como definiria um líder na Sun, pensou e respondeu com uma palavra: CORAGEM. E que isso James tinha e tem de sobra, principalmente quando inventou o Java há 14 anos. Depois do tradicional "arremesso de camisetas", que deixou Gosling bastante ofegante, foi entregue outro Duke's Award para o CEO do Alice, uma solução para ensinar crianças a programarem que começa de forma gráfica e aos poucos vai introduzindo os comandos escritos. Fiquei curioso para saber mais.

Chegava, então, o esperado momento. Finalmente aparecia o Larry Ellison, CEO da Oracle, para dividir o palco com Scott McNeally (estranhamente Gosling e Johnathan se retiraram do palco rapidinho!) e falar sobre a aquisição da Sun. O " Clóvis Bornay americano" (irresistível essa comparação... olha a cara dele!) ressaltou a importância de Java ("100% das soluções Oracle são baseadas em Java ... porque Java é aberto"), JavaFX e OpenOffice (que, segundo ele, vai passar a usar JavaFX em algumas partes visuais). Sobre o que vem mais por aí ele apenas disse "se você quer saber sobre o futuro precisa olhar para o passado", pelo menos deixando a entender que não pretende dar passos para trás "fechar as portas" para essa importante comunidade criada em torno das principais tecnologias da Sun. Ele também falou que gostaria de ver dispositivos produzidos pela Sun, citando especificamente o Google Android. Vamos ver se ele se aventura nessa área. McNeally ainda deu um presente e um recado: bandeirinhas que correspondiam a 5 letras: J A V A. Scott agradeceu imensamente a tudo o que a comunidade de desenvolvedores tem feito e saiu aplaudido de pé.

O restante do dia reservei para assistir sessões, circular pelo pavilhão e conheces pessoas. Gostei muito da Castle in The Clouds: SaaS Enabling JavaServer Faces Application. Boas dicas de como criar Aplicações como Serviço usando JSF, mostrando como embutir características de customização, personalização, gerenciamento de níveis de serviço, métricas de monitoração, dentre outros. A apresentação está disponível on-line no blog do autor.

No Community Corner assisti o Juggy entrevistando a brasileira Fabiane Nardon e o alemão Tonni Epple sobre o JavaTools, espécie de catálogo de ferramentas Java hospedado no java.net que tem em seu portfólio por exemplo desde o popular Hudson, software de integração contínua, até o SuperCrud, projeto quase que individual (ainda...) do Vinicius Senger (Globalcode). Numa dessas situações inusitadas, lembrei que o Tonni Epple foi a única pessoa que eu vi na internet que escreveu um Tutorial de uso de um plugin NetBeans escrito por mim chamado DTDtoBean, para geração de código JavaBean a partir de arquivos DTD, útil para serialização/deserialização de objetos para XML e vice-versa usando frameworks como XStream, Simple (do qual Toni, assim como eu, também é fã) e Java Objects in XML (JOX). É claro que não perdi a oportunidade de conversar um pouco com ele sobre o assunto e demonstrar minha felicidade de ver que pelo menos 1 pessoa gostou do projeto. Já vale a pena!

Entre Sven Reimers (Duke's Award Winner 2009) e Toni Epple 

Ao final do dia, fui à festa do Java Community Process, JCP, onde estão várias pessoas importantes que estão no topo da cadeia que define os rumos da tecnologia. Boas conversas, dentre elas um ótimo papo com o Aaron Houson (coordenador dos JUGs na Sun), eu e Magno Oliveira. Convidei o Aaron para vir ao Brasil participar de um evento no final do ano, provavelmente em Natal - RN, que está sendo organizado pelos vários grupos de usuários Java do Nordeste. Ele ficou animado. Eu também.

Existem mais brasileiros blogando sobre o JavaOne. Vale a pena ver a visão deles sobre o que tem acontecido por aqui. Duas dicas:
Blog do Felipe Gaúcho (CEJUG)

Blog do Magno Cavalcante (RioJUG)


Algumas fotos do 1o dia




Rafael Gomes: Quer incrementar sua palestra? PDFCube!

14 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

O PDFCube utiliza as APIs Poppler e OpenGL APIs para proporcionar  uma interação de um cubo 3D na transição das páginas de um documento PDF.

Sendo assim temos esse resultado:

Quer uma notícia melhor? Você usa Fedora 11? Se a resposta for sim é apenas instalar o PDFCube que está ...



Rafael Gomes: AI-5 Digital

14 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Para quem ainda não sabe o que é a AI-5 Digital, aconselho a link abaixo:

http://softwarelivre.org/portal/carta-capital-um-novo-ai-5

Diga você também um MEGA NÃO!!!



Rafael Gomes: Blog atualizado!

13 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Acabei de atualizar meu blog, com ajuda no meu próprio post. Se alguém notar algum problema, por favor, me reporte! Obrigado!



Rafael Gomes: Primeira impressão do Fedora 11 (Leonidas)

13 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Sim! Esse é o Leonidas! O Codinome do Fedora 11!

Assim, primeiro que achei que perderia muito tempo pra fazer isso, pois infelizmente o upgrade direto do Fedora 10 para o 11 não está estável ainda. Sendo assim iria precisar usar o CD.

Como ultimamente estou com o tempo reduzido por conta ...



Wille Marcel: Apresentação do GCompris no III ENSL / IV FSL-BA

12 de Junho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

GCompris é um conjunto de aplicativos educacionais para crianças de todas as idades. Gravei o vídeo da palestra do III ENSL / IV FSL-BA em que o Frederico Guimarães apresentou o GCompris. O áudio tá bem ruim, mas acho que dá pra entender…

O vídeo também pode ser baixado no formato OGG Theora, neste link.

Site oficial do GCompris em português: http://gcompris.net/-pt-br-



Tags deste artigo: nordeste psl bahia