Resumo do IX Encontro do Grupo de Usuários de Python de Pernambuco

Olá pessoal,

Hoje tivemos nosso IX Encontro do Grupo de Usuários de Python de Pernambuco (PUG-PE) realizado na unidade do faculdade Unibratec em Recife. Tivemos uma excelente qualidade técnica de palestras, todavia ainda estamos sofrendo alguns problemas de atraso o que nos atrapalha, em especial, na perda de boas de palestras que deveriam ser realizadas no dia. Mas isso falaremos mais sobre isso depois.

Nosso encontro começou às 08:00 com o começo sempre mais morno. Tivemos que pular algumas palestras em especial a de boas vindas do Marcel (@marcelcaraciolo) ao PUG-PE, porque na hora agendada não tivemos nenhum novato no grupo. Haha! Só os anciões do grupo presentes!

Público do IX PUG-PE

Público do IX PUG-PE

Começamos então com a palestra do Daker Fernandes (@dakerfp) que começou a apresentar sobre o seu projeto Swithon.  O Swithon é uma iniciativa dele de começar a desenvolver um interpretador que se comunique com Prolog, uma linguagem de programação lógica que  usa uma sintaxe declarativa para representar uma coleção (base de dados) de fatos e relações lógicas (regras) que exprimem o domínio relacional do problema a resolver. Os problemas a serem solucionados com esse tipo de linguagem são diversos desde construção de sistemas especialistas a assistentes virtuais inteligentes. Daker introduziu um pouco sobre Prolog, falando sobre as suas características e apresentou uma pequena demonstração com um sistema de busca interativa que permitia por meio de linguagem natural ensinar ao seu assistente em Prolog sobre a taxonomia dos animais (Simplesmente sensacional!).   Durante a sua palestra, foram discutidos diversas alternativas para aprimorar a construção deste Binding com Python.  De acordo com Daker, ele pretende lançar em breve o projeto em um repósitorio open-source onde todos podem contribuir com ele no desenvolvimento desta ferramenta. Ele acredita que com a união de Python e Prolog é possível construir sistemas inteligentes que possam trabalhar com engines de inferência e raciocínio lógico por meio da linguagem declarativa de Prolog e as estruturas de dados providas por Python. Mais informações sobre seu projeto, ver o seu blog CodeCereal, onde ele apresenta com detalhes seu projeto. O link para o repositório se encontra aqui.

Daker apresentando  Swithon

Daker apresentando Swithon

A próxima palestra ministrada foi por Marcel Caraciolo (@marcelcaraciolo), onde apresentou sua palestra sobre Sistemas de Recomendação com Python.  Esta palestra, eu acredito que despertou a atenção de muitos presentes pois apresentava de uma forma fácil e introdutória como funciona os sistemas de recomendação  e como estes podem ser implementados utilizando Python. Ele demonstrou alguns exemplos práticos com base de dados reais (Recomendação de ofertas de sites de compras coletivas e Recomendação de usuários para o Twitter).  No fim ele inclusive falou da sua iniciativa que já tem alguns colaboradores  desenvolvendo um  framework em Python para recomendações.  No momento, já tem implementado os algoritmos de filtragem colaborativa, mas a meta é continuar implementando os algoritmos por filtragem por conteúdo, otimizações e até seu trabalho corrente que é a construção de uma engine para computação distribuída em cima do Hadoop/Amazon EMR. Mais interessados sobre o projeto entitulado Crab podem encontrar neste link (O projeto está hospedado no GitHub). Outro detalhe legal foi que um destes algoritmos já está em produção hoje em uma rede social brasileira (http://atepassar.com) recomendando novos usuários .

Marcel palestrando sobre Recomendações na Web

Marcel palestrando sobre Recomendações na Web

Depois tivemos o nosso clássico intervalo, onde saboreamos os quitutes do nosso prestigiado coffee-break. Pena que não tiramos fotos deste grande momento! Como sempre eu vejo esse momento para discutirmos e trocarmos idéias sobre diversos assuntos e sempre incrementar nosso networking.

Após o intervalo tivemos a palestra do Lauro Mora (@lauromoura) e Daker Fernandes (@dakerfp) sobre Qml + Python. O QML é um framework para construção de interfaces gráficas em cima do framework Qt, o qual pode-se usar JavaScript para construir toda sua interface de uma maneira fácil e depois integrar/embarcar seu código em Python. O que deixou todos presentes bastante animados (muitos ‘caramba!’, :O  )  foi a série de demonstrações que eles apresentaram onde o QML se mostrou capaz de construir poderosas interfaces com animações com poucas linhas de código. Simplesmente uma alternativa forte a  se considerar agora na hora de construir a interface da sua próxima aplicação.  Daker e Lauro trabalham no Instituto Nokia de Tecnologia, onde a Nokia investe (por sinal até comprou)  no framework Qt.  Um dos momentos memoráveis foi a apresentação de Lauro da sua versão em QML do nosso Semáforo implementado em Python + PyGame que serviria para controlar o tempo de apresentação das palestras relâmpago. Muito boa!

Lauro Moura e Daker Fernandes apresentando o QML

Lauro Moura e Daker Fernandes apresentando o QML

 

Link para documentação e start guide em QML.

Link para o semáforo do PUG-PE em QML

Depois desta palestra, tivemos o nosso tão esperado I Toró de Palestras, nosso pseudo-nome para o I Palestras Relâmpago do PUGPE.  O objetivo deste evento é realizarmos diversas palestras em um período de 5 minutos abordando diversas temáticas. Se você tem problema com slides ou não curte apresentar por muito tempo, ou quer apresentar algo simples; este é o lugar. Tivemos 4 palestras sobre conteúdos diversos. Começamos com Marcel (@marcelcaraciolo) introduzindo um pouco como funciona esse modelo de palestras, seguido por Luciano Rodrigues (@lucrodsilva) falando sobre o PIP (Instalador de pacotes em Python), Rodrigo Lira (@rodrigoclira) falando sobre a solução proposta por ele para o problema do Telefones proposta durante a chamada do Google Developers Day 2010 e por fim Lauro Moura (@lauromoura) falando sobre  uma discussão recente na lista do pythonbrasil sobre o mecanismo de tratamento de exceções em Python relacionado ao try: except: Finally (Sim , o que vocÊ acha que retorna quando se faz  try:  return True  finally: return False  ?  Resposta você verá no vídeo! hehe).

Marcel apresentando o Toró de Palestras

Marcel apresentando o Toró de Palestras

Apresentação de Luciano sobre o PIP

Rodrigo Lira apresentando sobre a sua solução para o problema dos Telefones

Rodrigo Lira apresentando sobre a sua solução para o problema dos Telefones

 

Lauro Moura falando sobre o Try : Finally:

Lauro Moura falando sobre o Try : Finally:

O mais legal durante o nosso I Toró de Palestras foi o nosso pequeno semáforo desenvolvido para servir de mecanismo de controle de tempo durante as apresentações ( no máximo 5 minutos) inspirado no semáforo apresentado pelo pessoal da PythonBrasil no encontro deste ano de 2010. Só o Luciano que não conseguiu terminar a tempo, mas no geral pessoal conseguiu se gerenciar a tempo.  O semáforo está disponível no nosso repósitorio no Github e é totalmente open-source e expansível! Inclusive tivemos contribuições de Lauro Moura e Daker Fernandes com uma barra de progresso embaixo do sinal e a interface totalmente feita em QML. O  link para o projeto pode ser encontrado aqui.

Pug-PE Toró Watcher em ação!

Pug-PE Toró Watcher em ação!

A última palestra do dia foi apresentada por Rafael Carício (@rafaelcaricio) que falou sobre exploração de falhas de segurança na Web com SQL Injection. Palestra que foi praticamente uma aula muito interessante com demonstração de uma exploração de uma falha em cima de uma solução real para um problema de desempenho  que ele tinha em um projeto web na sua empresa. Acabou que a solução adotada, tinha uma falha grave de segurança, o qual podia por meio de consultas SQL manipuladas obter informações dos usuários de um sistema ou até uma lista de e-mails cadastrados.  A demonstração foi feita em cima Django + Nginx + Python, e deixa claro a vulnerabilidade dos sites hoje se o administrador não se preocupar em adotar medidas eficientes para proteger o seu site desses possíveis ataques. Mais informações podem ser encontradas no seu blog oficial.

Nosso PUG-PE Toró Watcher

Nosso PUG-PE Toró Watcher em ação!

E assim terminamos o nosso IX Encontro do Grupo de USuários de Python de Pernambuco. Não tivemos 2 palestras que estavam agendadas para este encontro sobre PyGTK com Rômulo Jales e Ensino de Algoritmos com Python com Prof. Wilson, mas que serão reagendadas para um próximo encontro!

Claro, não podíamos esquecer a pose para nossa foto oficial do evento com todos os presentes! Agradecimentos a todos membros, novatos, palestrantes, Unibratec e ao Filipe Batista por nos intermediar com o pessoal da infra-estrutura para a realização deste evento!

Pose para foto do  IX Encontro do PUG-PE

Pose para foto do IX Encontro do PUG-PE

Agora vamos nos organizar para o X Encontro do PUG-PE com possíveis mudanças de horário e até dia da semana! Em breve isto será comentado! Enquanto isso vamos nos organizando para o nosso II Hora Extra que será realizado durante o mês dezembro!  E para quem não pôde comparecer, não se preocupe que gravamos todo o evento! Em breve disponível no nosso canal de vídeos!

Até a próxima,

Marcel Caraciolo

Membro e Moderador do PUG-PE

Links para os assuntos comentados

Calendário do PUG-PE disponível no nosso blog

Pessoal,

Estamos com o nosso calendário Widget integrado ao Google Agenda que lista os principais eventos do PUG-PE..   Aqueles que usarem o Google Agenda para organizar suas atividades, esta ferramenta é extremamente útil!

Para encontrar basta ver o menu do lado direito da página oficial do PUG-PE.

Atenciosamente,

Equipe PUG-PE.

Cartaz de Divulgação do IX Encontro do Grupo de Usuários de Python de Pernambuco

Pessoal,

Segue o cartaz para divulgação do encontro do IX Encontro do Grupo de Python de Pernambuco (PUG-PE).

Agradecimentos especiais a Deborah Medeiros pela arte e design do nosso cartaz! 😀

Cartaz Divulgação IX PUG-PE

Link para download.

Resumo das Palestras do IX Encontro do PUG-PE

Pessoal,

Para aqueles que querem saber um pouco mais sobre as palestras a serem apresentadas no IX Encontro do PUG-PE, segue abaixo mais detalhes:

Rafael Carício – CTO da Orygens

Cookie SQL Injection – Explorando uma falha de segurança na prática

Nesta palestra, apresentarei uma solução de um problema que enfrentei em minha empresa durante o desenvolvimento de uma melhoria  de desempenho de uma aplicação web construída com o framework Django. Esta solução acabou por indicar um outro problema envolvendo uma falha de segurança, onde era possível injetar um Código SQL usando Cookies.  Irei apresentar os problemas e as soluções encontradas por mim durante a exploração desta falha.

Tema: Web, Segurança, SQL, Injection, Django.

 

Wilson Rosa – Professor/Pesquisador/PHD da UFRPE.

“Python e o ensino de algoritmos: uma abordagem híbrida funcional-imperativa”

“Quando se trata de ensino Programação para iniciantes ou do ensino Algoritmos e Estruturas de Dados, há na literatura pelo três correntes de pensamento. Uma advoga o uso de uma LP imperativa simples. Outra advoga o uso de LP OO. E ainda um terceira advoga o uso de uma LP funcional. Cada qual com suas vantagens e desvantagens. Python incorpora os três aspectos. Para iniciantes, o uso de compreensão de listas (e conjuntos nas versões 2.7 e 3.x) e definições de funções no estilo funcional permite uma transição suave da Matemática do Ensino Médio à Programação. Para o iniciado, o ensino de AED com OO e definições funcionais de alta-ordem permite soluções elegantes e mais seguras. Para todos uma sintaxe agradável mais próxima da linguagem natural que dispensa por completo o uso de LP artificiais, criadas apenas para o ensino e que não têm vida ou existência fora da sala de aulas. Veremos exemplos que evidenciam estas afirmações.”

Tema: Linguagens de Programação, Ensino, Orientação a Objetos, Algoritmos.

 

Daker Fernandes – Aluno Graduação do CIN/UFPE

Swithon

Swithon é um binding que estou planejando fazer que deverá integrar a facilidade de Python e a expressividade de Prolog. A idéia da palestra é discutir o poder da programação lógica e como pretendo fazer o binding com o pessoal do PUG-PE.

Tema: Extensões, Prolog, Programação Lógica, Open-Source, Binding.

 

Rômulo Jales – Engenheiro de Software da FITEC

Construindo Interfaces Gráficas com Python e GTK

A dupla dinâmica dos desktops Linux: Python e GTK. O primeiro com sua poderosa biblioteca padrão, agilidade, expressividade e facilidade em programar. O segundo uma biblioteca gráfica quase onipresente nos sistemas desktop linux. O casamento dos dois nasce o PyGTK, um biding da consagrada API GTK para aplicativos gráficos. A palestra é uma introdução de como desenvolver aplicativos gráficos usando o PyGTK.

Temas: Interface Gráfica, Python, GTK, Linux. PyGTK.

 

Lauro Moura – Engenheiro de Software do Instituto Nokia de Tecnologia

QML + Python

O modelo tradicional de desenvolver interfaces gráficas é imperativo, onde o programador diz como deve ser criada a interface (setColor,setPosition, etc.). No Qt Quick, a interface é criada de forma declarativa, em termos de propriedades dos objetos (a largura de X é a metade da de Y, etc…), estados de transição (“no estado X, cor azul, no estado Y, cor vermelha”), simplificando o processo de criação. Durante a palestra será mostrado uma visão geral da QML e de como usar em programas Python.

Temas: Interface Gráfica, Python, Qt, QML.

 

Marcel Caraciolo- Diretor de P&D da Orygens

Sistemas de Recomendação em Python

Este trabalho visa apresentar uma introdução a uma das promissores áreas na área de recuperação de informação e computação inteligente: Sistemas de Recomendação de itens. Para isto utilizarei da linguagem de programação Python para apresentar conceitos e algumas aplicações práticas para demonstrar o poder das recomendações atualmente na Web. Python por ser linguagem poderosa e flexível foi a escolha da linguagem utilizada para implementar o sistema Crab que faz parte do trabalho atual do meu Mestrado em sistemas de recomendação para oferta de produtos e serviços.

Temas: Inteligência Artifical, Sistemas de Reomendação, Aprendizagem de Máquina, Web.

Convite para o IX Encontro de Usuários de Python de Pernambuco (PUG-PE) na Unibratec 27/11!

Olá a todos,

Mais um encontro do grupo de usuários de Python está marcado! Dando continuidade ao nosso encontro intinerante por diversas faculdades pernambucanas, estamos pousando agora na Unibratec [1] . E nesta edição, a nossa IX, teremos novidades! Decidimos dar uma reformulada na nossa programação a fim de torná-la mais atrativa para todos os frequentadores do nosso grupo sejam eles em níveis avançado, intermediário ou iniciantes!

Neste encontro nós teremos nosso I Toró de Palestras, nome apelidado para as famosas Palestras Relâmpago, bastante reconhecidas nos eventos de software livre espalhados pelo país! A idéia é simples: Apresentações rápidas em no máximo 5 minutos sobre quaisquer assuntos!  A idéia é que em pouco tempo você consiga aprender sobre diversos temas variados e além de ser um colírio para os apresentadores tímidos que não gostam de se expor! Se você tem qualquer coisa que só precisa de 5 minutos para apresentar, este é o lugar!

Nós também teremos nosso I Discussão de Soluções Pythonicas. Neste evento profissionais que usam Python no dia-a-dia irão apresentar problemas x soluções utilizadas em que eles enfrentaram em alguma situação, seja acadêmica, profissional, etc.  Então você passou por um problema e resolveu ele com Python e quer mostrar como fez, este é o lugar!!! Aqui o foco não são slides e sim a mais pura beleza dos códigos-fontes e exemplos rodando 😀

Para continuar nós teremos as nossas tradicionais palestras e também a atração principal que é uma palestra convidada com um tema chave.  Temos também o Dojo, mas este sempre acontecerá quando o espaço cedido tem tempo disponível. Infelizmente para este encontro o tempo cedido para nós é muito pouco, mas nada que possamos resolver em outra oportunidade!

Então está lançada a nossa programação do IX Encontro do PUG-PE que será realizada no Sábado, dia 27/11 a partir das 08:00 na Unibratec em Recife – Pernambuco!!


08:00 – 08:20 –  Apresentação sobre o PUG-PE/Institucional

08:20 – 09:20 –  I Discussão sobre Solução Pythonicas – Segurança Web com Django – Rafael Carício

09:20 – 09:50 –  I  Toró de Palestras

09:50 – 10:00 –  Intervalo

10:00- 11:00 – Palestra Convidada –  “Python e o ensino de algoritmos: uma abordagem híbrida funcional-imperativa” -Wilson Souza

11:00 – 11:15 –  Swithon-  Python + Prolog  (Programação Lógica + Python) – Daker Fernandes

11:15 – 11:45 – Sistemas de Recomendação em Python – Marcel Caraciolo

11:45 – 12:30 – QML + PySide –  Lauro Moura  – Instituto Nokia de Tecnologia

12:30 – 13:15 – Interfaces Gráfica com PyGTK – Rômulo Jales
Um resumo sobre cada palestra pode ser encontrada neste link.


Para aqueles que não conhecem Python , ou aqueles que querem aprofundar seus conhecimentos sobre diversas temáticas: Mobile, Inteligência Artificial, Open-Source, Ensino de Linguagens de Programação, Segurança, Web, Interfaces  ou até trocar networking este é um excelente espaço para tudo isso e muito mais!  Para quem quer começar aprender esta linguagem de Programação tão famosa, entre uma das 10 linguagens mais usadas em projetos open-source pelo mundo, este evento é uma oportunidade para isto!

Para quem quiser saber onde se localizar a unidade da Unibratec em Recife , pode-se ver em [2].

Av. Marechal Mascarenhas de Morais, 4989, Imbiribeira, Recife-PE.

A entrada é gratuita!  Compareçam !! Mais informações podem ser encontradas em nosso blog [3]  ou lista de discussão  [4].

Nos encontramos lá!

Atenciosamente,

Marcel Caraciolo

Moderador do Grupo PUG-PE

[1] http://www.unibratec.com.br/site2010/home/

[2] Endereço da Unibratec: http://goo.gl/gyt4j

[3] https://pugpe.wordpress.com

[4] http://groups.google.com/group/pug-pe

PUG-PE na FACOL

Foi realizado no dia 16 de outubro  na FACOL – Faculdade Osman Lins em Vitória de Santo Antão, o primeiro encontro do PUG-PE fora da região metropolitana do Recife.
Os participantes dessa empreitada foram Tancicleide Gome, Nielson Santana, Rodrigo Lira, Fabiana Franco.
O PUG-PE gostaria de agradecer a Cleyton, professor da FACOL, e a própria faculdade, pela oportunidade que tivemos de mostrar Python aos alunos de Sistemas de Informação.  Ficou evidente ao término do evento que o pessoal ficou muito entusiasmado com Python!

Nossa programação foi a seguinte:

Apresentação intituicional do PUG-PE;
Palestra O que é Python  manhã;
Mini-Curso de 4 hs de Python