Sumário 1. Informações Gerais.................................................................................................................1 2. Apoio.......................................................................................................................................3 4. Comissão Organizadora.........................................................................................................3 5. Coordenação...........................................................................................................................4 6. Instrutores (em ordem alfabética)...........................................................................................5 7. Mini-cursos Oferecidos e Relação Número de Inscritos x Vagas Oferecidas................................................................................14 8. Ementas dos Mini-cursos......................................................................................................15 9. Palestras Oferecidas.............................................................................................................20 10. Distribuição dos Participantes por Estado..........................................................................22 11. Distribuição dos Participantes por Instituição.....................................................................22 12. Auto-Avaliação do Evento..................................................................................................24 13. Agradecimentos..................................................................................................................25 1. Informações Gerais O SDSL foi um evento promovido conjuntamente pelo ISTEC (Ibero American Science and Technology Consortium), Unicamp, Unisinos e Univates. Esse seminário teve por objetivo oferecer um espaço à comunidade de desenvolvedores para debates de temas referentes ao desenvolvimento de aplicações utilizando software livre, bem como um canal para troca de experiências entre as diversas instituições presentes. O II Seminário de Desenvolvimento em Software Livre, foi realizado nas dependências da Faculdade de Engenharia Elétrica da Unicamp, no período entre 9 e 12 de dezembro de 2003, ofereceu ao seu público um total de 27 palestras técnicas e 30 minicursos. Teve participantes de 6 estados e um total de 163 inscritos, oriundos de 43 instituições. Foram oferecidas 718 vagas em minicursos, das quais 503 foram efetivamente preenchidas. Suas atividades foram distribuídas ao longo de quatro dias, incluindo minicursos cujo temário principal foi o desenvolvimento de software livre, palestras técnicas e de esclarecimento sobre o significado e impacto do software livre em diversos segmentos de nossa sociedade. O evento ofereceu também um forum para debates que permitiu o maior aprofundamento 1 das questões apresentadas. Em sua abertura, no dia 9 de dezembro de 2003, estiveram presentes os Professores Carlos Henrique Brito Cruz, Reitor da Unicamp, Mauro Miskulin - Presidente ISTEC, Christiano Lyra Diretor Faculdade de Engenharia Elétrica e Computação, Hans Liesenberg Coordenador Geral de Informática, Luiz Eduardo Buzato, Superintendente do Centro de Computação, Ricardo Anido, Diretor Instituto de Computação e Carlos Francisco Cecconi. Chefe de Gabinete do Instituto Nacional de Tecnologia de Informação. 2. Apoio O evento contou com o apoio da seguintes instituições: ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Fundo de Apoio ao Ensino e à Pesquisa – FAEP, Unicamp Agência de Formação Profissional da Unicamp Coordenadoria Geral de Informática, Unicamp Diretoria Geral de Recursos Humanos, Unicamp Biblioteca Central, Unicamp Diretoria Geral de Recursos Humanos, Unicamp Reitoria, Unicamp Centro de Computação, Unicamp Faculdade de Engenharia Elétrica, Unicamp Instituto de Computação, Unicamp Centro de Manutenção de Equipamentos, Unicamp Pró-Reitoria de Graduação, Unicamp Grupo Pró Software Livre (GPSL), Unicamp Univates Unisinos CIPSGA (Comitê de Incentivo à Produção de Software GNU e Alternativo) IBM/Brasil Opus Software Livraria Tempo Real Banco do Brasil Conectiva 3. Comissão Organizadora ● Prof. Christiano Lyra Filho 2 ● ● Prof. Mauro Sérgio Miskulin (Coordenador) Prof. Ricardo de Oliveira Anido 4. Coordenação Unicamp ● ● ● ● ● ● ● ● ● ● Cláudia Bergonzoni Fassina Cláudio Luis Neves Dia Enzo Telles Poeta Francisca Machado Baptistella Gian Franco B. Barcellini Reynaldo Pires Ricardo Henrique Cândido Otávio Augusto Bizetto Penatti Rubens Queiroz de Almeida Viviane Del Vecchio Faculdade de Engenharia Elétrica ● ● ● ● ● ● ● Roberto Leite do Canto Janete Sayoko Toma Rodrigo de Oliveira Andrade Lidia Sperque Guilherme Lopes Varrichio Tiago de Oliveira Sanches Lidia Olio. Univates ● ● ● ● ● ● César Brod Josi Graciela Petter Pablo Dall'Oglio Nasair junior da Silva Maurício de Castro Vilson Gartner 3 Unisinos ● ● Leonardo Lemes Daniel Ferreira 5. Instrutores (em ordem alfabética) Adilson Nardez Formado em Tecnologia pela Fastec (Unisal), trabalha com informática desde 1993, atuando em manutenção de computadores e administração de rede. Hà 7 anos na Unicamp/Cemeq na área de NTI(Núcleo de Tecnologia de Informção), atualmente trabalha com Software livre na homologação de linux para as máquinas integradas pelo Centro , desenvolvendo e testando métodos de instalação em lote mais eficientes, e dando soluções para implantação de Software Livre. A. Rafael D. Teixeira Desenvolvedor do projeto Mono Brasil, alternativa livre ao projeto .NET, da Microsoft. Alessandro Luiz Petrocino Granduando em Engenharia da Computação, estagia atualmente no Centro de Computação da Unicamp, na área de suporte de software Adriano Nagelschmidt Rodrigues Integrante da equipe do TIDIA, da FAPESP Alexandre Aiello Barbosa Integrante da equipe do TIDIA, da FAPESP 4 Alexandre Freire Alexandre Freire cursa seu mestrado em Ciência da Computação no IME-USP, mesma instituição pela qual obteve seu bacharel, estuda "comunidades em rede e novos meios de produção criativa". Atua no mercado desenvolvendo aplicações na Internet, tendo trabalhado para a Americanas.com, a Apple Brasil e a Mandic. Participa da comunidade de desenvolvimento de software livre, pregando a filosofia sempre que possível. Utiliza programação eXtrema desde que conheceu a metodologia em 2001. Suas principais áreas de interesse são: computação ubiqua, programação eXtrema, software livre, comunidades em rede, inclusão digital e sistemas distribuidos. Alexandre Oliva Graduado em Engenharia da Computação na Unicamp, onde também obteve seu mestrado, trabalha atualmente como Engenheiro de Compiladores na empresa Red Hat. Aurélio Jargas Marinho Aurélio Marinho Jargas é uma referência nacional em Expressões Regulares, com mais de cinco anos de experiência na área. Escreveu o livro "Expressões Regulares", lançado pela Editora Novatec, única publicação nacional sobre o assunto, e uma das poucas no mundo. Além do livro, já escreveu artigos sobre as expressões para a Revista do Linux, é autor do sed-HOWTO e do programa 'txt2regex', um famoso assistente para a criação de Expressões Regulares que facilita o domínio do conceito. Vários outros programas seus são feitos baseando-se fortemente nas expressões, como o conversor de documentos 'txt2tags', o depurador para SED 'sedsed', os miniaplicativos das 'funções ZZ' e o jogo 'Sokoban' escrito em SED. Numa iniciativa inédita, disponibilizou na Internet o conteúdo integral de seu livro dias antes do lançamento da versão impressa. A versão online se encontra em http://aurelio.net/er 5 Bill Coutinho Bacharel em Ciência da Computação pela Unicamp e pós-graduado em Marketing pela ESPM. Arquiteto de sistemas sênior com 13 anos de experiência em desenvolvimento de sistemas, infra-estrutura de TI e software opensource. Atua em Arquitetura de Sistemas e consultoria, planejamento e gerenciamento de projetos de desenvolvimento de sistemas, nos mercados de sites/portais Internet, mídia (jornais, revistas e TV), Internet Data Centers, provedores de serviços Internet e operadores de telecom. Participou de projetos de desenvolvimento em empresas como: Globo.com, .comDomínio e Rede Anhangüera de Comunicação. 6 Carlos F. A. Paniago Graduou-se em Matemática pelo Departamento de Matemática da Universidade de Brasília (UnB 1979). Fez treinamento na ISSI (Austin-TX-EUA de junho de 1987 a junho de 1988), em engenharia de software e desenvolvimento de banco de dados orientados por objetos (OM1). Fez mestrado em Ciências de Computação e Matemática Aplicada pelo ICMSC USPSão Carlos (1994) onde desenvolveu trabalho de compressão de imagens digitais na área de processamento de imagens. Tem vários trabalhos publicados em congressos de informática nacionais. Participou como consultor da elaboração do plano de expansão do parque computacional da UNEB (Brasília). É analista de sistemas III da EMBRAPA onde trabalha desde 1979. Desenvolveu diversos sistemas e pacotes na EMBRAPA, destacando-se: SAE - Sistema de controle da divisão de estatística (DMQ), SAEST - sistema de análise estatística (DMQ) , SOC- software científico (NTIA). Participa do desenvolvimento do sistema para monitoramento de queimadas; do desenvolvimento e implantação de rede de comunicações do CNPM, de outras unidades da EMBRAPA e outras instituições, com protocolo TCP/IP, tendo implementado rede local baseados em Ethernet e rede de longa distância usando protocolos SLIP e PPP. Desenvolve sistemas, conversores de formato e software para uso em estações de trabalho e plataformas PC. bem como mantem as estações de trabalho Unix (gerência de configuração), com ênfase na instalação de ferramentas navegacionais da rede (wais, gopher, WWW). Participa do desenvolvimento do sistema operacional FreeBSD e Linux, instalando estações com Unix de domínio público em diversos locais e intituições (UNESP - Rio Claro, ICMSC, CNPM, ECOFORÇA, etc). Cláudio Dia Estudante de Matemática Computacional na Unicamp e estagiário no Centro de Computação da Unicamp 7 César Brod Cesar Brod trabalha na área de informática desde 1982, quando concluiu seu curso técnico de eletrônica no Colégio Lavoisier, em São Paulo. Iniciou seu curso de Física na USP (Universidade de São Paulo), continuando na UFRGS (Universidade Federal do Rio Grande do Sul), mas não chegou a concluí-lo. Sua formação profissional se deu em grande parte nos Estados Unidos, Canadá e França. Conheceu o GNU/Linux em 1993, quando era gerente de suporte técnico da Tandem Computers, e necessitava reproduzir em seu laptop alguns problemas que enfrentava em uma instalação UNIX de grande porte. Desde então, acompanhou a evolução deste sistema operacional que nunca mais abandonou. Além da Tandem, Cesar trabalhou também na NCR, BASF, CPM, ACI e Compaq, e foi sócio da B&F Informática e Pesquisa em Biosistemas e da B&W Informática. Através da Brod Tecnologia Cesar atua como consultor e desenvolve produtos e serviços em software livre em parceria com o CPD da UNIVATES, Centro Universitário, onde também atua como gestor dos recursos de informática da instituição. É um dos fundadores da SOLIS, Cooperativa de Soluções Livres e membro do projeto "Linux around the World", de Jon "maddog" Hall, uma iniciativa internacional que bisca a conscientização e disseminação do uso de software livre, através da qual apresentou os projetos da UNIVATES nos Estados Unidos e Turquia. Cesar também participa de um projeto financiado pelo Ministro de Relações Exteriores e Apoio ao Desenvolvimento da Finlândia, estudando o impacto do software livre em economias emergentes. Daniel Ferreira Graduando em Engenharia Elétrica pela Unisinos. Profissional de suporte, atualmente trabalha gerenciando a infra-estrutura técnica do Instituto de Informática da Unisinos em ambiente Novell/Linux/Windows NT. 8 Christian Willy Asmussen Christian Willy Asmussen é gerente de TI na Mandic. Vive de GNU/Linux desde 1996, hacker genuino, participa de diversos projetos de software livre. Atuou como consultor do McDonnalds elaborando o conceito de McInternet. Atualmente coordena uma equipe de desenvolvimento usando ativamente as práticas de programação eXtrema. Seus interesses variam desde a configuração de redes wireless até a gestão de servidores de e-mail com milhares de usuários. Como passatempo mantem-se atualizado com as tecnologias de ponta criadas pela comunidade. Djalma Valois Coordenador do CIPSGA (Comitê de Incentivo à Produção de Software GNU e Alternativo). É uma das figuras de maior proeminência no cenário de software livre nacional, auxiliando na criação de projetos de lei e desenvolvendo projetos de cunho tecnológico para a maior disseminação de soluções livres. Elaine Cristina Franchini Funcionária do Centro de Computação da Unicamp, Suporte de Software Enzo Telles Poeta Estudante de Ciência da Computação e programador do Hospital das Clínicas da Unicamp Fábio Santos Programador de sistemas do Centro de Computação da Unicamp Felipe W. Damasio Estudante de Ciência da Computação na UNISINOS, e desenvolvedor da Elipse Software. Trabalha com desenvolvimento de drivers para o sistema operacional GNU/Linux. Flávio Cunha Funcionário da empresa 4Linux, especializada em treinamento e consultoria em GNU/Linux e software livre. Franklin Carvalho Franklin Carvalho estudou Arquitetura na USP mas bandeou-se para a informática em 1987. Por muitos anos ministrou treinamento em empresas e desenvolveu aplicativos de uso departamental para elas. Por volta de 1999 começou a usar Linux e migrou todo seu escritório, uma assessoria de imprensa, para a nova plataforma. Foi fundador e colaborador da Revista do Linux em 18 ediçoes e trabalha na divulgação de empresas especilizadas nessa plataforma na mídia paulista. 9 Glauber de Oliveira Costa Aluno de Engenharia Mecatrônica, Unicamp e membro do Grupo Pró Software Livre Gustavo Sverzut Barbieri Aluno de Engenharia de Computação, Unicamp e membro do Grupo Pró Software Livre Heloísa Vieira da Rocha Professora do Instituto de Computação da Unicamp e Diretora do NIED (Núcleo de Informática Aplicada à Educação) Hélio Castro Chissini Trabalha com computação desde 1989, passando por desenvolvimento de aplicações user level para microcomputadores, desenvolvimento em plataformas Amiga e x86. Instrutor de computação gráfica para animação em televisão sobre plataformas Amiga até 96. Formado em 1998 pela PUC-PR, é especialista em programação, com conhecimento de linguagens assembler, C, C++, Pascal, Java, C#, Python, PHP e Perl, com proeficiência em C++ Trabalhou em projetos para Embratel/MCI, Siemens, Intelig, Marinha, Banrisul, entre outros. Atualmente trabalha como analista de sistemas e desenvolvedor na Conectiva S.A. e é contato oficial do Projeto KDE na América do Sul, o qual também é mantenedor dos softwares Ark e Kmix Imre Simon Coordenador do TIDIA (Incubadora de Conteúdos Digitais, da FAPESP) e professor aposentado do Instituto de Matemática e Estatística da USP. Ivens Prates Telles Alves Aluno de Engenharia de Computação da Unicamp e membro do Grupo Pró Software Livre Júlio Cezar Neves Um dos maiores conhecedores de programação em "shell", que é ao mesmo tempo a interface de comandos com o ambiente Linux/Unix e uma poderosa ferramenta de automação e controle de processos, essencial para qualquer administrados de sistemas. Julio é autor do livro "Programação em Linux Shell", que se encontra em sua terceira edição, e é colaborador em diversas listas e sites nacionais e internacionais sobre o assunto. 10 Leonardo Lemes Mestrando em Computação Aplicada na Universidade do Vale do Rio dos Sinos - UNISINOS. Bacharel em Informática - Hab. Análise de Sistemas pela mesma instituição. Professor dos curso de Especialização em Desenvolvimento em Software Livre da UNISINOS. Atualmente, coordena o Laboratório de Software Livre do Instituto de Informática. Profissional certificado Conectiva Linux atua como consultor na área de Tecnologia da Informação. Luciano Ramalho Luciano Ramalho liderou a equipe da Abril S.A. que construiu o BOL, o primeiro grande portal brasileiro. Foi um dos pioneiros no uso de PHP em nosso país, e desde 1996 já insistia que o lugar do Java era no servidor, e não no navegador. Implementou sistemas que só não eram servlets porque a palavra não tinha sido inventada. Em 1998 descobriu a linguagem Python e o servidor Zope, e desde então desenvolveu dezenas de sites e alguns mega-portais com estas ferramentas. Em 2002, apresentou trabalho na O'Reilly Open Source Convention em San Diego, abordando a migração de bancos de dados relacionais para o ZODB, o banco de dados orientado a objetos do Zope. Ramalho já ministrou treinamento de Zope e Python em empresas como AOL Brasil, BankBoston, Serpro e Varig. Luis Dosso Luis Dosso é engenheiro de computação pela Unicamp e pós-graduado em administração de empresas pela FGV-SP. Trabalhou nos últimos 11 anos com os bancos de dados Ingres, Oracle, Sybase, MySQL e PostgreSQL, sendo atualmente diretor da Dextra Sistemas, uma empresa especializada em soluções corporativas utilizando software livre. Luiz Atilio Vicentini Diretor da Biblioteca Central da Unicamp Luis Felipe Strano Moraes Aluno de Engenharia de Computação, Unicamp. Membro do Grupo Pró Software Livre e estagiário no grupo de software livre do Centro de Computação da Unicamp. Marcelo de Freitas Rigon Aluno de Física, Unicamp 11 Marcelo de Gomensoro Malheiros Mestre em Engenharia Elétrica pela UNICAMP. Engenheiro de Computação pela UNICAMP. Professor universitário de Graduação e de cursos Técnicos da UNIVATES. Um dos criadores dos projetos de software livre Rau-Tu e Nou-Rau. Atuou muitos anos como desenvolvedor, consultor e administrador de sistemas GNU/Linux, que utiliza desde 1994. Foi instrutor de programação C++ e domina também as linguagens Java, C, PHP, Perl e Pascal. É presidente da Core Technologies Consultoria LTDA. Márcio Garcia Funcionário da empresa 4Linux, especializada em treinamento e consultoria em GNU/Linux e software livre. Maurício de Castro Trabalha da área de informática desde 1991. Em 1996 passou a fazer parte do CPD da UNIVATES quando teve o primeiro contato com sistemas UNIX. Em 1998 juntou-se a equipe de desenvolvimento do sistema administrativo da Instituição (SAGU). A partir de 2000 assumiu a coordenação da equipe de desenvolvimento em software livre da UNIVATES. É um dos fundadores da SOLIS, Cooperativa de Soluções Livres. Nasair Júnior da Silva Graduando em Engenharia da Computação. Atuou como instrutor na área de informática e iniciou em programação com software livre em 2001. Atualmente é desenvolvedor de software livre da Solis/Univates. Pablo Dall'Oglio Bacharelando em Informática - Hab. Análise de Sistemas pela UNISINOS. Foi um dos coordenadores do projeto GNUTECA e também o criador do projeto Agata Report. Atualmente trabalha como Desenvolvedor e Consultor de Tecnologia, realizando prospecções, análise e implantação de sistemas para gestão acadêmica e para gestão de acervos bibliográficos pela UNIVATES, onde trabalha em projetos como o SAGU, GNUTECA e Agata Report, dentre outros. Especialista em Bancos de Dados, orientação a objetos, PHP e PHP-GTK. Rachel de Carvalho Paschoalino Funcionária do Centro de Computação da Unicamp, na área de Redes e Infraestrutura 12 Ribamar Santarosa de Sousa Aluno de Engenharia de Computação, Unicamp. Estagiário do CENPRA (Centro de Pesquisas Renato Archer, em Campinas, SP). Membro do Grupo Pró Software Livre Ricardo Bueno da Silva Funcionário do Centro de Computação da Unicamp, na área de Redes e Infraestrutura Rubens Queiroz de Almeida Engenheiro eletricista, formado pela Universidade Federal de Juiz de Fora, trabalha na Unicamp, no Centro de Computação, desde 1988. Grande entusiasta do software livre, mantém um site chamado Dicas-L, cujo objetivo maior é oferecer à comunidade de usuários informações úteis para a administração de sistemas. É colaborador ocasional da Revista do Linux, onde publica artigos demonstrando a viabilidade e importância estratégica do software livre. É autor dos livros "Linux - Dicas e Truques", "As Palavras Mais Comuns da Língua Inglesa", "Read in English - Uma Maneira Divertida de Aprender Inglês", e colaborou na confecção do livro "A Leitura nos Oceanos da Internet". Valdir Junior Administrador de Sistemas Operacionais. Especialista em Tecnologias de Redes. Tecnologo Educacional. Administrou durante 8 anos a Rede Telematica da Faculdade de Educação da UnB - FE/UnB. Foi professor tutor do Curso de Especialização em Educação a Distância oferecido pela Faculdade de Educação da UnB - 1999/2001. Atualmente é Administrador de Sistemas Operacionais do Centro de Computação da Unicamp - CCUEC/Unicamp. Também faz parte da Equipe de desenvolvimento do Ambiente Colaborativo para os Curso de Graduação da Unicamp: Ensino Aberto. Vilson Gartner Acadêmico do curso de Engenharia da Computação, na Univates. Atualmente programa nas linguagens: clipper, delphi/pascal, php, tcl e C. Desde Abril/2000, integra o quadro de desenvolvedores da UNIVATES Centro Universitário no setor de CPD, sendo responsável pelo projeto MIOLO. 13 6. Mini-cursos Oferecidos e Relação Número de Inscritos x Vagas Oferecidas Minicurso Nº Inscritos Nº Vagas Agata Report - Ferramenta para geração de relatórios 15 18 Criptografia e GNUPG 25 80 Desenvolvimento com o MIOLO - FRED e SCOTTY 6 18 Desenvolvimento cooperativo ( CVS ) 18 18 Desenvolvimento de software utilizando Eclipse e ferramentas de software livre 18 18 Economizando com Terminais remotos com GNU/Linux 18 18 Expressões Regulares 29 29 Ferramentas de Modelagem 19 19 Ferramentas para manipulação de Bancos de Dados 18 18 Framework MIOLO 10 18 GNUTECA 11 18 Internacionalização de projetos em Software Livre 14 18 Introdução ao Python 17 18 Introdução ao Zope 10 18 Jython - Programando Java em Python 11 18 Kernel Linux : Teoria e prática 18 18 Modelos de Desenvolvimento de Software Livre 27 80 Mundos 3D com VRML/FreeWRL 8 18 O Melhor da Dicas-L 11 28 PHP Básico 29 29 Programando em PHP-GTK / Glade 14 18 Programação Básica em TCL/TK 17 18 Python para programação de Jogos 11 18 14 Minicurso Nº Inscritos Nº Vagas SAGU2 5 18 Shell Scripting 28 28 Utilizando o Kdevelop / QtDesign 15 18 Utilizando o MySQL 26 28 Utilizando o PostgreSQL 18 18 Utilizando PHP com MySQL 18 18 Utilizando PHP com PostgreSQL 19 19 TOTAL GERAL 503 718 7. Ementas dos Mini-cursos Mini-curso Ementa Agata Report - Ferramenta para geração de relatórios O Agata Report é uma ferramenta em software livre utilizada para a geração de relatórios (textuais e gráficos) a partir da base de dados de praticamente qualquer sistema. Traduzida em oito linguagens e capaz de conectar-se a mais de uma dezena de gerenciadores de bases de dados, o Agata substitui produtos comerciais de valor bastante elevado. Neste minicurso serão mostrados exemplos práticos de uso, extraindo informações e gerando relatórios dos sistemas SAGU e GNUTECA, e serão explorados aspectos de desenvolvimento da ferramenta. Criptografia e GNUPG Uma breve historia da criptografia. Ilustracao de diferentes métodos de criptografia e criptoanálise. A importância da escolha da senha. Diferença entre chave simétrica e assimétrica. História do PGP e do GNUPG e como usá-lo. Como usar criptografia em e-mails. Desenvolvimento com o MIOLO FRED e SCOTTY O FRED é um sistema de gerenciamento de conteúdos do MIOLO, permitindo a criação de páginas dinâmicas para a Web e a fácil integração de portais com outros sistemas desenvolvidos com o MIOLO, como o MIOLOWiki, o SAGU, o GNUTECA o SCOTTY entre outros. O SCOTTY é um sistema de chamados técnicos, incluindo seu total acompanhamento e estatísticas. Nesta oficina aprofundaremos aspectos práticos de desenvolvimento com o MIOLO, e a integração de aplicações desenvolvidas nele em portais de serviços para a Internet. 15 Mini-curso Ementa Desenvolvimento cooperativo ( CVS ) Neste minicurso, os participantes estarão conhecendo e utilizando a ferramenta CVS para desenvolvimento cooperativo de sistemas. Esta ferramenta possibilita controle de versões do código-fonte, arbitrando e integrando um grupo de programadores trabalhando em um mesmo projeto, seja localmente no mesmo servidor ou remotamente através da rede. Os alunos também aprenderão como configurar um ambiente idêntico ao laboratório em seus locais de trabalho ou para suas próprias equipes de desenvolvimento. Desenvolvimento de software utilizando Eclipse e ferramentas de software livre Este curso de curta duração visa introduzir o aluno ao ambiente de desenvolvimento gratuito Eclipse. Os participantes se familiarizarão com a sua interface e aprenderão como melhor tirar proveito das ferramentas que ele disponibiliza. Além de aspectos básicos sobre o desenvolvimento de projetos Java e aplicações Web J2EE usando os mecanismos disponíveis no Eclipse, daremos enfoque a algumas ferramentas de código livre disponíveis na Internet e trataremos de "plugins" que estendem a funcionalidade do Eclipse, aumentando a produtividade do desenvolvedor. Ferramentas como CVS, Ant, JUnit, Tomcat, e outras, serão apresentadas, e algumas técnicas de Programação eXtrema (XP) serão abordadas. No decorrer do curso, os alunos farão uma série de exercícios nos quais irão poder por em prática aquilo que aprenderam. Economizando com Terminais remotos com GNU/Linux Saiba como você pode economizar muito dinheiro usando um antigo conceito que volta a reviver com o GNU/Linux: Os terminais remotos. Muito usados nos ambientes corporativos na década de 80 com o Unix, eles estão voltando a atuar com a adoção do Linux. Com eles voce concentra todo o processamento no servidor e utiliza várias máquinas apenas como "display" das aplicações, economizando em hardware nos terminais e concentrando os problemas administrativos em um único ponto. O servidor, por sua vez, não precisa ser nada de especial, um exemplo são os Telecentros da prefeitura de São Paulo, que têm como servidor um Athlon XP 1500+ 1Gb de RAM, rodando 20 terminais com Internet e aplicativos de escritorio. Expressões Regulares Apresentar, explicar e desmistificar o uso de Expressões Regulares, um conceito computacional poderoso que pode economizar horas de trabalhos manuais e repetitivos. O assunto é um tema ao mesmo tempo popular e obscuro, onde muitos já ouviram falar, mas poucos dominam. Ferramentas de Modelagem Na criação de programas de qualidade em software livre, é necessária a utilização de uma boa metodologia de modelagem de sistemas e bases de dados. Algumas destas ferramentas já auxiliam na automação da escrita de código e na implementação de bases de dados no padrão SQL. Neste minicurso, serão utilizadas ferramentas em software livre para ilustrar a diagramação de um sistema em UML, a criação de modelos de bases de dados, e a geração automática de código. Ferramentas para manipulação de Bancos de Dados Existem muitas ferramentas em software livre que permitem a facil manipulacao de informacoes em bases de dados. Nesta oficina, estara sendo explorado as ferramentas mais populares para a criacao de bases de dados, insercao e busca de dados, conversao de formatos de bases e outras. 16 Mini-curso Ementa Framework MIOLO Neste minicurso, será demonstrado como criar sistemas utilizando o framework MIOLO, através da manipulação de seus objetos de acesso à bases de dados, interface de usuário e da construção de lógicas de negócio. Os alunos terão como exemplo para trabalhar casos reais de sistemas como o GNUTECA e o SAGU2, e conhecerão também o MIOLO-IDE, que facilita bastante a escrita de código para o ambiente MIOLO. Para o completo aproveitamento nesta oficina é necessário que o aluno tenha noções de programação orientada a objetos. GNUTECA O GNUTECA é um sistema de gestão de acervo, empréstimo e colaboração entre bibliotecas, desenvolvido com o framework MIOLO. Este minicurso abordará aspectos práticos de desenvolvimento com o MIOLO, tomando o GNUTECA como exemplo, ilustrando técnicas de criação de formulários web dinâmicos e interativos, sistema de busca de informação na base de dados, e a operação do ambiente. Internacionalização de projetos em Software Livre Existem padrões em software livre que facilitam a disponibilização de programas e sistemas em outras linguagens. Nesta oficina serão apresentadas conceitos e técnicas práticas de internacionalização usando as linguagens C, Perl, PHP e Java. Também será dada ênfase no uso do pacote GETTEXT para criação, manutenção e uso de catálogos de traduções. Introdução ao Python Voltado a desenvolvedores de software, tendo foco no desenvolvimento de scripts simples que podem ser utilizados para resolver problemas em geral. Serão dadas noções de orientação a objetos usando o Python alem de noções sobre estruturas de dados da linguagem (listas, dicionarios) e manipulação de XML. Introdução ao Zope O minicurso será voltado a desenvolvedores de software para internet que já tenham alguma experiência com alguma tecnologia da área, como ASP, PHP, PERL, Cold Fusion, J2EE, etc. Será dado ênfase especial ao desenvolvimento de paginas dinâmicas usando ZPT associado a noções sobre os principais recursos da plataforma (aquisição, ZODB, segurança, ZMI, etc). Jython - Programando Java em Python Que tal usar todos os recursos da plataforma Java, escrevendo muito menos código? Jython é uma implementação "100% Java" da linguagem Python. Você pode criar classes em Jython que estendem classes Java e vice-versa. O interpretador Jython pode ser embutido em uma aplicação Java, fornecendo scripting de alto nível para customização de regras de negócios. Seu código Jython pode ser executado interativamente para realizar testes e experimentos, ou pode ser compilado para um arquivo .class. Grátis: finalmente uma sintaxe elegante para lidar com JavaBeans. Tópicos abordados: - sintaxe básica de Python - estruturas de dados nativas do Python - compatibilidade entre tipos de dados primitivos - como usar classes Java em Jython - como compilar Jython para .class - como usar classes Jython em Java - como instalar o Jython no Tomcat - desenvolvimento de Servlets em Jython 17 Mini-curso Ementa Kernel Linux : Teoria e prática Serão apresentados alguns sub-sistemas que compõem um kernel real de um sistema operacional moderno, dentre eles destacam-se: - Escalonamento de Processos: Políticas de escalonamento em sistemas multi e mono processados, abordado garantias de tempo real, preempção de kernel (UP e SMP) e escalabilidade; - Gerência de Memória: Descrição da memória física, gerência de SWAP, overcommit e gerência OOM (Out-Of-Memory); - Sistema de Arquivos: Conceitos e estrutura de VFS e sistema de arquivos Journal-based. Modelos de Desenvolvimento de Software Livre Comparacao de 3 plataformas de desenvolvimento de SL: 1) FreeBSD (www.freebsd.org) 2) Openoffice (www.openoffice.org) 3) SourceForge (sourceforge.net) O que eles tem em comum? 1) Árvore dos fontes armazenados em formato cvs 2) Acesso remoto aos desenvolvedores 3) Ferramentas de depuração (Bugzilla) 4) Fóruns de discussão setorizados 5) sistemas de patch 6) disponibilização de versões 7) documentação Como participar de cada um desses grupos 1) Participação usando listas 2) Participação direta (copyright e cessao de copyright) 3) Eleição para algum grupo O que cada grupo tem de ferramentas para o usuário 1) FreeBSD 2) OpenOffice 3) SourceForge Localizacao e Internacionalizaçãoo Conclusões Finais Mundos 3D com VRML/FreeWRL A VRML esteve fora do mundo GNU por algum tempo, pela falta de um browser, que implementasse especialmente a EAI - External Authoring Interface. O FreeWRL é um browser/web-plugin GPL novo, que acaba de atingir a versão 1.0. A EAI é uma interface que permite total dinamismo ao mundo 3d, que a princípio em VRML é bastante estático. Foi projetada a princípio para java. Mas é possível comunicar-se via sockets com o browser/plugin VRML, para dar dinamismo ao mundo 3d, bem como obter seu controle. VRML foi projetada para ser usada em sites web, não tem vigado para este tipo de aplicação, assim como outras soluções de desenvolvimento de mundos 3d para sites. 18 Mini-curso Ementa O Melhor da Dicas-L Este minicurso apresenta de forma prática uma seleção muito especial de dicas veiculadas através do site Dicas-L (http://www.Dicas-L.unicamp.br). Dicas sobre editores de textos, administração de sistemas, utilitários de sistemas *nix em geral, sites interessantes e muito mais. PHP Básico Tomando por base um sistema simples de publicação de notícias na web, será apresentado noções de programação da linguagem PHP, levando os alunos a recriar porções do software EasyPHP. O EasyPHP é um sistema para a criação de portais na Web que não requer a utilização de bases de dados. Programando em PHP-GTK / Glade A linguagem PHP é muito utilizada para a aplicação de soluções voltadas para a Web. A linguagem PHP-GTK permite o acesso a todo o poder do PHP na implementação de soluções cliente-servidor. Neste minicurso, será demonstrado como desenvolver aplicações em PHP-GTK, utilizando, além da própria linguagem, ferramentas em software livre que auxiliam no processo de desenvolvimento, como o Glade. Para isto, serão utilizados exemplos reais de programas desenvolvidos em PHP-GTK, como o Agata Report e o GNUTECA. Programação Básica em TCL/TK A linguagem TCL/Tk (Tool Command Language) esta entre as mais utilizadas no mundo todo. Esta linguagem oferece os mais avançados recursos de programação, como rápido desenvolvimento de aplicações, reaproveitamento de código, expressões regulares, orientação a objetos, capacidade para ser embutida em outras linguagens, desenvolvimento multiplataforma, acesso aos mais variados bancos de dados e suporte para criação de sites dinâmicos e aplicações clienteservidor. Este curso tem por objetivo demonstrar na prática algumas das potencialidades da linguagem TCL/Tk, oferecendo aos alunos uma visão geral da mesma. Python para programação de Jogos Com este minicurso mostraremos porque o python pode ser proporcionar uma grande vantagem aos programadores de jogos, mostrando exemplos de empresas que utilizaram Python no desenvolvimento de jogos e aplicativos e o que eles têm a dizer quanto ao Python. Passada esta parte introdutória, trabalharemos na criação de um jogo bastante simples para que possam ver o python em funcionamento. SAGU2 O SAGU2 é a evolução do SAGU (Sistema Aberto de Gestão Unificada), utilizando o framework MIOLO. Nesta oficina estará sendo mostrado aspectos de desenvolvimento dos módulos de gestão acadêmica do SAGU2, conforme o projeto desenvolvido em parceria entre a UNIVATES e a UFRR, além de apresentar o "roadmap" de desenvolvimento de novas versões do SAGU. 19 Mini-curso Ementa Shell Scripting Este minicurso tem por objetivo mostrar como a utilização de shell scripts podem auxiliar administradores de sistemas GNU/Linux na automatização de tarefas. Para isto serão abordados os seguintes assuntos: - Ambiente Shell; - Atuação do Shell na linha de comandos; - Redirecionamentos; - Manipulação de arquivos (sed, awk, fgrep, grep, egrep (ou grep -e), find); - Instruções para tratamento de cadeias (cut, paste, expr, tr); - Instruções condicionais (if, test, case); - Instruções de laço ou loop (for, while, until); - Leitura de arquivos e tela; - Outras pérolas; - Aplicabilidade. Utilizando o Kdevelop / QtDesign O KDevelop, em conjunto com o QTDesign, constituem uma IDE completa em software livre para o desenvolvimento de aplicacoes em C, C++ e outras linguagens. Nesta oficina, sera demonstrado como utilizar esta IDE para a criacao de um programa completo em C++. Para um bom aproveitamento desta oficina, e desejavel alguma familiaridade com a linguagem C++ e conceitos de orientacao a objetos. Utilizando o MySQL Este tutorial tem por objetivo capacitar o aluno a utilizar o Banco de Dados MySQL (criar e apagar bancos de dados, criar e apagar tabelas, construir consultas, etc), bem como a administrá-lo (criar usuários, garantir direitos, criar backups). Utilizando o PostgreSQL - Introdução - Instalando o PostgreSQL - Parâmetros de configuração - Utilizando o SQL - Criando stored procedures - Administração básica Utilizando PHP com MySQL Este tutorial visa o desenvolvimento de uma pequena aplicação em PHP acessando banco de dados MySQL (inclusão, alteração, exclusão). Utilizando PHP com PostgreSQL Este tutorial visa o desenvolvimento de uma pequena aplicação em PHP acessando banco de dados PostgreSQL (inclusão, alteração, exclusão). O originais de grande parte dos minicursos e palestras estão disponíveis livremente para download na biblioteca digital de software livre do Centro de Computação da Unicamp, a partir do site do evento, em http://rau-tu.ccuec.unicamp.br/sdsl/ 20 8. Palestras Oferecidas ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Software Livre: um fator de estímulo à Competência Imre Simon/USP As finais de palitinho na Red Hat e o futuro das corporações Franklin Carvalho Infraestrutura de Redes com Software Livre: A Experiência da Unicamp Ricardo Bueno, Rachel de Carvalho Paschoalino Ambiente Tolerante a Falhas usando Software Livre Elaine Cristina Franchini Alessandro Luiz Petrocino Software Livre em Instituições de Ensino Superior Coordenador: José Luiz Boldrini Júlio Cezar Neves Imre Simon Marcelo de Gomensoro Malheiros Projeto Mono e o Desenvolvedor Livre A. Rafael D. Teixeira O Brasil está preparado para o Software Livre? Coordenador: Cesar Brod Rubens Queiroz de Almeida Programação eXtrema - Desenvolvendo Software com Qualidade e Agilidade Alexandre Freire Christian Asmussen Workflow em Java: Isso é Bossa, Isso é Muito Natural Alexandre Aiello Barbosa Desenvolvimento de Software Livre na Univates / Solis Cesar Brod Maurício de Castro O servidor de aplicações J2EE Jboss Bill Coutinho Por que Usar Software Livre Djalma Valois Desenvolvimento de Software Livre na América Latina Cesar Brod As primeiras experiências com a Incubadora Virtual da Fapesp Adriano Nagelschmidt Rodrigues As Vantagens Competitivas do Software Livre 21 ● ● ● ● ● ● ● ● Alexandre Oliva Kernel 2.6 Felipe W. Damasio Experiências de um Desenvolvedor de Software Livre Aurélio Marinho Jargas Zope, Plone e Python - Plataforma de Desenvolvimento Web Luciano Ramalho O Projeto Teleduc Heloisa Vieira da Rocha Software Livre e a Biblioteca Digital da Unicamp Luiz Atilio Vicentin Clonagem de Sistemas GNU/Linux com L.I.C. Adilson Nardez Desenvolvimento KDE, ou como ser feliz usando componentes Helio Castro Chissini FOOTPRINT: a arte cracker de levantamento de dados Flávio Cunha 9. Distribuição dos Participantes por Estado Estado Participantes Amazonas 1 Brasília 2 Minas Gerais 5 Mato Grosso 1 Rio Grande do Sul 4 São Paulo 147 10. Distribuição dos Participantes por Instituição Instituição Nº Inscritos 1 UNICAMP 91 2 UNESP 10 22 Instituição Nº Inscritos 3 FUNDAÇÃO CPQD 6 4 TRIBUNAL REGIONAL DO TRABALHO DA 15A. REGIÃO 4 6 OS GIDEÕES INTERNACIONAIS NO BRASIL 3 7 EMBRAPA 3 8 FATEC - AMERICANA 3 9 USP 3 10 MODAL INDÚSTRIA E COMÉRICO LTDA 2 11 UNIVERSIDADE JOSÉ DO ROSÁRIO VELLANO - UNIFENAS 2 12 UNIVERSIDADE ESTADUAL DE LONDRINA 2 13 UNISINOS 2 14 ADVANCE INFORMÁTICA VINHEDO LTDA 2 15 ACQUA SOFTWARE 2 16 UNIVERSIDADE SÃO MARCOS 1 17 UNIVERSIDADE SALESIANA DE LORENA 1 19 UNIVERSIDADE FEDERAL DE ITAJUBÁ 1 20 UNIVATES 1 21 UNIFENAS 1 22 TRIBUNAL DE CONTAS DO ESTADO DE MATO GROSSO 1 23 SOLIS - COOPERATIVA DE SOLUÇÕES LIVRES 1 24 SERVIÇO FEDERAL DE PROCESSAMENTOS DE DADOS (SERPRO) 1 25 RR CONSULTORIA SC LTDA. 1 26 PUC-CAMPINAS 1 27 PRODASEN - SENADO FEDERAL 1 28 NEC DO BRASIL S.A. 1 29 JRS COMPUTAÇÃO 1 30 INSTITUTO DE PESQUISAS TECNOLÓGICAS - IPT 1 31 INATEL 1 32 IBICT - INSTITUTO BRASILEIRO DE INFORMAÇÃO EM CIÊNCIA E TECN. 1 33 GANIKO INFORMATICA LTDA EPP 1 34 FUCAPI 1 23 Instituição Nº Inscritos 35 FATEC - BS - FACULDADE DE TECNOLOGIA DA BAIXADA SANTISTA 1 36 FACULDADE SENAC DE CIÊNCIAS EXATAS E TECNOLOGIA 1 37 ESCOLA PREPARATÓRIA DE CADETES DO EXÉRCITO 1 38 DEXTRA SISTEMAS 1 39 DESEMPREGADO 1 40 DBO EDITORES LTDA 1 41 CONECTIVA 1 42 CONCORDE COMÉRCIO DE VEÍCULOS LTDA 1 43 CENTRO UNIVERSITARIO HERMINIO OMETTO 1 44 AGÊNCIA MED 1 24 11. Auto-Avaliação do Evento O II SDSL contou com expressiva participação da Unicamp. Dos 163 inscritos, 91 foram da Unicamp (56%), entre os quais 23 eram alunos (14%). No evento como um todo, tivemos 53 matriculados na categoria de estudante (32%). O corpo técnico de informática da Unicamp, através da AFPU, participou do evento, atualizando-se em tópicos hoje amplamente utilizados na Universidade, que utiliza software livre para atender a grande parte de sua demanda por serviços computacionais. O evento teve a oportunidade de contar com as maiores autoridades nacionais em software livre. Além do aspecto da imersão tecnológica com as atividades conduzidas da manhã à noite, os alunos também puderam ter acesso a depoimentos que atestam o potencial criativo e inovador de soluções de TI baseadas em software livre. Além dos cursos práticos, através das palestras, foram apresentados diversos casos bem sucedidos de empreendedorismo e de exploração de novas oportunidades, tal como a apresentada pela Solis, que se baseia em um modelo de negócios exclusivamente baseado em software livre. O Prof. José Luiz Boldrini, Pró-Reitor de Graduação da Unicamp, em sua apresentação com o tema Software Livre em Instituições de Ensino Superior,. enfatizou o comprometimento da Unicamp com soluções livres e abertas para educação a distância e apoio a atividades presenciais, das quais o projeto Ensino Aberto, baseado no sistema Teleduc, desenvolvido pelo NIED, é o exemplo mais expressivo. Contamos também com a presença do Senhor Carlos Cecconi, Chefe de Gabinete do Instituto Nacional de Tecnologia de Informação, que é um órgão ligado à Casa Civil da Presidência da República, que tem como uma de suas missões a capacitação em tecnologias livres e abertas e sua disseminação na esfera governamental. Em função do sucesso do II SDSL a Unicamp foi convidada, por intermédio do Engenheiro Rubens Queiroz de Almeida, do Centro de Computação, a participar da comissão organizadora de um evento similar em Brasília, com um público estimado de 1000 pessoas, a se realizar no mês de abril de 2004. Em nossa avaliação o evento foi muito bem sucedido, os objetivos foram cumpridos e, mais uma vez, evidenciou-se a integração das três universidades paulistas em torno deste tema. Dando continuidade a esta série de eventos, uma terceira edição já está sendo organizada 25 conjuntamente pela Unicamp, Univates, Unisinos, e deverá ocorrer no mês de julho de 2004 na cidade de Lajeado, Rio Grande do Sul, onde se situa a Univates. Com a participação do ISTEC (Ibero American Science and Technology Consortium) este evento irá adquirir uma projeção internacional, com a realização de um seminário nestes moldes na Universidade Udabol, em Santa Cruz de La Sierra, na Bolívia, no segundo semestre do corrente ano. 12. Agradecimentos Ao Centro de Computação nossos mais sinceros agradecimentos, por seu constante apoio e empenho na divulgação do software livre e, em especial, a Osmaíra R. T. de Lima Raeder, diretora da Divisão de Serviços à Comunidade, que foi uma das maiores incentivadoras para a realização deste evento na Unicamp. A realização de um evento desta magnitude certamente é uma tarefa impossivel sem o apoio de um grande número de pessoas. Contamos com 37 palestrantes, que generosamente nos doaram seu tempo e conhecimento para permitir que um grande número de pessoas pudessem ter contato com o software livre e seu potencial. O evento não teria sido possivel sem o trabalho voluntário destas pessoas. Adicionalmente, precisamos solicitar a ajuda de muitas pessoas, para o suporte de infraestrutura necessário. Nosso agradecimentos ao Prof. José Luiz Boldrini, Pró-Reitor de Graduação, que nos cedeu os cinco servidores instalados em cada um dos laboratórios, o que nos permitiu realizar o evento sem alterar a configuração de nenhum dos computadores do laboratório de graduação da Faculdade de Engenharia Elétrica. Nossa gratidão para o Prof. Marco Aurélio, coordenador de graduação da FEEC, que nos cedeu os laboratórios de informática para o evento e nos auxiliou enormemente para resolver todas as dezenas de questões envolvidas na preparação do evento. Para a montagem da infraestrutura do evento gostariamos de agradecer a Maria Raquel de Aguiar, Regina Bernardo da Luz, João Curti, José Matheus Pinheiro, Ricardo Bueno da Silva, Laert Aparecido Rigoletto Júnior, Gustavo Sverzut Barbieri, Rafael Ávila de Espíndola, Adilson Nardez, Luis Felipe Strano Moraes, Luiz Atílio Vicentini, que nos cederam equipamentos, tempo e conhecimento técnico para que tudo desse certo. À Agência para Formação Profissional da Unicamp, na pessoa de seu diretor, Prof. José 26 Luiz Pereira e de Maria Cristina de Oliveira Duque e Ivanil Sonia A.G. Borges, pelo apoio financeiro e logístico. Nossos agradecimentos ao núcleo da coordenação da Unicamp, composto por Francisca Machado Baptistella, Gian Franco B. Barcellini, Cláudia Bergonzoni Fassina, Cláudio Dia, Enzo T. Poeta, Luis Felipe S. Moraes e Rubens Queiroz de Almeida, que nunca pensaram que um evento deste desse tanto trabalho. Gostariamos de agradecer aos nossos companheiros da Unisinos e Univates, que assumiram a importante tarefa de criar um evento de capacitação para o desenvolvimento em software livre no Brasil. Nossos agradecimentos à equipe da Univates, e em especial a seu coordenador, Cesar Brod, por todo o trabalho em defesa do software livre no Brasil e por colocar toda sua equipe integralmente à nossa disposição para o sucesso do evento. Nossa gratidão à Unisinos e em particular ao Leonardo Lemes e Daniel Ferreira, por todo apoio para a realização do evento na Unicamp, nos cedendo idéias, sugestões, muito encorajamento e muitas horas de dedicação. O SDSL é ainda o único evento em software livre voltado para a capacitação profissional e esperamos que em breve esta iniciativa se propague para outros estados e instituições, colaborando para suprir a demanda por profissionais capacitados em ferramentas de desenvolvimento baseadas em software livre. 27