Olá pessoal,

Hoje tive a oportunidade de realizar um mini-curso de Python de 4 horas convidado pelo grupo de usuários de software livre do Centro de Informática da Universidade Federal de Pernambuco  (@CINLUG) e o Departamento Acadêmico (D.A.) do CIN.

O que posso dizer?  Foi um baita de curso, muita gente interessada e motivada querendo conhecer a linguagem Python. Posso dizer que no fim saí quase rouco, mas feliz com o resultado! Muitas pessoas conhecendo a linguagem Python e disseminando ainda mais esta poderosa ferramenta! Espero estar realizando mais palestras e cursos para promover mais a linguagem!

Laboratório cheio!!


Todos programando Python!

E o pessoal do CINLUG e D.A. estão de parabéns por esta excelente iniciativa de trazer tecnologias open-source aos estudantes de computação! Muita coisa útil que não se vê nas disciplinas ofertadas pelas universidades!  Quem quiser participar do evento ainda dá tempo, pois o mesmo será realizado até esta sexta-feira!
O restante das fotos pode ser visto aqui.

A programação do I WorkShop de Software Livre do Centro de Informática encontra-se aqui.
Atenciosamente,

Marcel Caraciolo
Olá a todos,

Encontrei no NokiaBlog esta notícia sobre um projeto realizado por pesquisadores da Universidade de Manchester, o qual permite rastrear a face humana em tempo real. Utilizando o aparelho Nokia N900 , eles construiram uma demonstração o qual usa a câmera do aparelho. O objetivo da pesquisa é a construção de um sistema de segurança de acesso ao aparelho por meio de verificação facial e via voz sem a necessidade de senhas.


Vejam o vídeo aqui.





Pela demonstração, a aplicação parece bem robusta o qual consegue acompanhar a face mesmo quando o telefone está em movimento. Agora esperar quem sabe vermos este tipo de aplicação com biometria em outros aparelhos móveis! 

Par mais informações sobre a pesquisa, ver o site do projeto.

Fonte: Nokia Blog

Minha palestra no VI Encontro de usuários de Python de Pernambuco (PUG-PE)

Olá pessoal,

Gostaria de divulgar uma palestra que dei recentemente no último sábado (14/08/2010) no VI Encontro do Grupo de Usuários de Python de Pernambuco,  o qual apresentei uma palestra institucional falando sobre o nosso grupo, com informações sobre histórico, metas, visões e algumas realizações que obtivemos desde o nosso primeiro encontro no início desse ano. Uma boa palestra para entender mais o modelo do PUG e como ele está espalhado no Brasil. Para se ter uma idéia hoje temos em 20 estados brasileiros uma celúla de estudos de Python oficiais. Isto mostra o crescimento e a importância de plataforma Python sobre o Brasil.
Sem mencionar o crescimento crescente do número de usuários inscritos na nossa lista de dicussão que saiu de aproximadamente 50 membros no início deste ano para 175 agora em agosto. Um crescimento acima de 300%!

Eu apresentando no VI Encontro do PUG-PE

Compromisso, diversão e paixão pelo que faz! São as qualidades que fazem este grupo estar em constante ascensão.  Por sinal, já comprei minhas passagens para o PythonBrasil 6 este ano ! Curitiba, Estarei lá!  Provavelmente submeterei um trabalho do meu mestrado e até no OpenSpaces se der uma palhinha falar do nosso grupo em terras sulistas!


Abaixo segue minha palestra, para quem quiser dar uma olhada:

O relato completo do evento pode ser encontrado no blog do PUG-PE (por sinal eu que escrevi ;D)

Abraços,

Marcel
Olá pessoal,


Estou aqui para divulgar o convite para o nosso sexto encontro mensal do grupo de usuários Python de Pernambuco (PUG-PE). Para quem não conhece ou não participou ainda dos nossos encontros e é residente em Recife - Pernambuco, terá a a oportunidade de ter acesso a um grande volume de conteúdo de primeira linha relacionado a Python, troca de conhecimento e o melhor o networking!

Para mais informações sobre o encontro visitar o blog do grupo PUG-PE.


Apenas adiantando que o encontro será neste Sábado (14 de agosto) a partir das 08:00 no Auditório da DEINFO  na Universidade Federal RURAL de Pernambuco (UFRPE).


O Logo do PUG-PE tão esperado!

Sim e claro irei dar uma palestra sobre Python com Inteligência Artifical (A Cobra Inteligente)  e também será o dia tão esperado para divulgação oficial do logo do grupo e da nossa camisa!

Conto com todos lá!
 
Atenciosamente,

Marcel Caraciolo


Vídeo sobre a visão da Nokia em 2015



Olá pessoal, encontrei este vídeo postado no blog NPossibilidades , onde mostra a visão da Nokia no ano de 2015. De acordo com suas previsões, ela pretende traze o seus telefones mais próximo das nuvens, isto é,  troca de dados entre o telefone e serviços nas web.




Como eu falei no meu último post, imaginem a possibilidade de ter um assistente virtual no seu aparelho que monitora todas as suas atividades e te alerta ou recomenda ou busca informações de acordo com suas necessidades e logicamente tudo sobre contexto com informações provenientes do próprio aparelho: contatos, tarefas, e-mails, localização, etc.   De acordo com a Nokia tudo isso será convergido por meio de um serviço na web que armazenará todo esse conteúdo importante para o usuário e trará o mesmo em formato personalizado.

Pois é pessoal, minha visão é compartilhada com a Nokia, mas vou mais adiante será em diversos aparelhos de diversos fabricantes. Surgirão uma novo nicho de aparelhos inteligentes  que irão aprender com o tempo de uso do usuário. Eles irão permitir novas experiências conectando usuários através da web.  Imagino que no futuro haverá um sistema flexível que se adaptará às preferências do usuários onde ele ficará conectado a milhões de usuários (uma grande rede de conteúdo), ou seja acessar conteúdo instantaneamente que lhe realmente  interessa. E conectar pessoas a coisas que lhe interessam é o que faz eles realmente aproveitar o máximo de cada momento.

Atenciosamente,

Marcel


Olá pessoal,

Estive lendo alguns blogs sobre geo-localização e serviços móveis e acabei encontrando um post muito interessante no site TechCrunch  do Robert Scoble (um popular reporter nos EUA). Ele fala sobre a experiência atual com sistemas de localização e comentar suas previsões para 2012 sobre este cenário.

Eu gostaria de replicar estas informações e adicionar alguns comentários em especial relacionados ao nosso cenário brasileiro.  Atualmente,  estamos sofrendo da era de silos da informação.  O que seriam silos da informação ?  Cada vez mais novos serviços web estão aparecendo, porém nenhum deles se comunicam entre si a fim de permitir a oferta de serviços personalizados para o nosso dia-a-dia.  Ou seja, os serviços hoje são como uma caixa-preta onde os dados ficam expostos por meio de uma API (sim ainda há uma comunicação), mas não há uma interligação entre  um serviço de uma empresa A com um serviço de uma empresa B.  
 Vou dar um exemplo real:  Hoje temos o Twitter que é uma das maiores redes sociais em formato microblog do mundo e temos o maior sistema popular de localização-móvel em formato de rede social o Foursquare. Ambas hoje estão permitindo que você possa geo-referenciar o seus posts ou geo-referenciar aonde você está (por meio de check-ins).  Entretanto, cada serviço tem a sua maneira, a sua base de dados individual com tais informações. Ou seja, eu terei que localizar o lugar no twitter (Se este estiver cadastrado lá) e depois lançar o post geo-referenciado e torcer para que no Foursquare, ele tenha o mesmo nome (ou também esteja cadastrado) e aí poder dar finalmente o check-in no Foursquare. Entendem o problema?  Duas bases de dados com as mesmas informações únicas geo-referenciáveis do mesmo local.  São verdadeiros silos de informação. E isto prejudica a todos usuários e até estas empresas que tornam serviços de localização móvel um empecilho para a adoção massiva desses serviços. E logicamente se quisermos sair desta era onde serviços web são como silos e partir para verdadeiras coleções (mashups) de informação útil é necessário uma maior integração.

Silos de Informação: Nossa Web hoje!

No Brasil, a cenário é ainda um pouco mais complicado. Digo isso porque ainda é exorbitante o preço para um simples usuário por meio do seu telefone poder acessar a internet, isso associado ao fato de  ele tenha que saber que tem GPS no seu aparelho ou até saber como usar.  Estou sendo um pouco radical, mas eu falo da maioria da população.  É lógico que temos vários grupos de usuários que tem acesso a toda essa tecnologia, e é o que está movimentando o mercado brasileiro de aplicativos móveis.  Mas esse post vai além disso, o que irei transcrever aqui agora o que pode ser no Brasil em um futuro não distante.
O codinome para esta aplicação fícticia batizo de projeto Caranguejo (em homenagem aos animais tipicamente brasileiros encontrados em especial no litoral brasileiro).

Imagem do Aplicativo Siri
"Estou em janeiro de 2012 e estou com meu novo aparelho celular Android 3.0 que comprei pela operadora X com 3G  ilimitado.  Eu entrarei de férias no meu trabalho e tenho uma viagem hoje mais tarde e preciso pegar coisas na lavanderia e uma reunião de emergência com um colega para entrega de alguns trabalhos.  Abro meu telefone e acesso o aplicativo instalado no meu aparelho 'Caranguejo'. Este aplicativo é uma mão na roda para mim, praticamente minha secretária eletrônica direto do meu aparelho, ou como chamo na linguagem científica: Meu assistente móvel virtual personalizado.  

Assim que aciono o aplicativo, ele já começa a me enviar alertas me lembrando da reunião com o meu colega por meio da integração com  o Google Agenda e que preciso pegar coisas na lavanderia  (atividade) por meio dos alertas do Remember the Milk . Claro e ainda consulto se o vôo  de mais tarde está tudo ok por meio de uma integração nova do Caranguejo com as informações dos vôos por todo Brasil por meio da  Infraero em tempo real.  Ok, após checado tudo, é hora de fazer a primeira atividade do dia, ir até a lavanderia. Assim que saio de casa, o Caranguejo (sabendo onde estou já por meio da integração do Foursquare e por meio da minha agenda) já me envia um alerta: 'Eu vi que você já saiu de Marcel's house, você poderia me avisar para aonde você está indo ?'  O Caranguejo já vem integrado com a funcionalidade voz-para-texto, então eu digo ao meu telefone: 'Eu irei para lavanderia MIX pegar minhas roupas.' Isto faz com que o Caranguejo automaticamente abra uma pequena caixa com o nome do local, telefone, endereço e um pequeno mapa com a posição da lavanderia marcada. Ele pergunta: 'Você está indo para aí ?'  Eu respondo: 'Sim'.  Ele automaticamente já abre um pequena caixa com minha posição atual e como faço para chegar até lá por meio da integração com o Google Maps. Ele pergunta: 'Você irá de carro, de ônibus ou à pé ?'  Dessa vez como a lavanderia é perto, decido ir de ônibus. Ele já se comunica com o serviço do ÔnibusRecife e já me traz informações do ônibus, paradas e onde tenho que descer e o custo da passagem. Após chegar ao local,  o Caranguejo já faz o check-in no Foursquare do local automaticamente. Após pegar tudo,  me bate uma fome e decido tomar um cafézinho, mas para onde ir ?  Ou melhor, será que tem uma cafeteria por aqui perto ?  Pego meu telefone e já aciono o Caranguejo: 'Eu gostaria de uma cafeteria por aqui perto'.  O Caranguejo já sabendo onde estou por meio das APIs do Foursquare e do Google Latitude e por meio de uma pesquisa em serviços parceiros como Guia da Veja , ObaOba, Kekanto; começa a processar  a lista de recomendações e compara um a  um  o meu histórico no Foursquare e Reviews do mesmo e também com minha posição atual. Esse cruzamento de informações em tempo real, resulta em o o sitema me falando: 'Encontrei 1 Cafeteria São Braz há 12 km daí e o Café Delta há 8 km daí. '  (Já sabendo que frequentei muito mês passado a cafeteria São Braz e também que marquei excelente o serviço do café Delta), e ainda  continua: 'Se você deseja tentar outra opção do que suas 2 escolhas comuns ou  se você precisa de alguma opção diferente, me avise'.  Eu já vendo o relógio, penso que vai ser difícil chegar a tempo na reunião, então desisto de ir para a cafeteria. Café vai ficar para outra hora!
Mais uma vez o Caranguejo lança um alerta:  'Hoje você tem uma reunião hoje de meio dia com Ricardo, faltam 1 hora.'.  Eita não posso esquecer desta reunião, volto para casa e já começo a me trocar. Assim que saio o Caranguejo me pergunta: 'Você ainda vai ter a reunião com Ricardo no Sppetus à 12:00 pm ?'  Eu respondo: 'Sim'.  Diretamente o Caranguejo já consulta sites de reviews do restaurante (Kekanto, Google Maps e VejaRestaurantes) e me avisa que é um excelente restaurante e bastante refinado. O Caranguejo já me dá o telefone do local (infelizmente ainda não há uma API para reservas via celular) e eu disco já confirmando minha reserva. Eu também coloco um uma roupa mais sofisticada e parto de carro para o restaurante.Assim que parto, mais uma vez o Caranguejo confirma para onde estou indo e que transporte irei tomar e já consulta a API do trânsito do Recife para me informar que eu não devo pegar a avenida Agamenon Magalhães (parte da rota informada pelo Google Maps) e já me dá outra rota alternativa e que vai demorar 40 minutos para chegar. Quando estou no carro aparece 3 mensagens no Caranguejo com alguns amigos postando via Twitter  me perguntando se eu irei mais tarde para o cinemar ver o filme 'Homem de Ferro 2'. Já mando um reply via caranguejo pro voz avisando que não poderei comparecer, pois viajarei.  Não esquecer também que o Caranguejo já consultou minha agenda telefônica e já mandou um SMS para o Ricardo avisando que estou à caminho.

Chegando no local e mais uma vez o Caranguejo já marcando no Foursquare o Sppetus, ele me avisa: 'Há 45 pessoas que estão por aqui e 2 deles são seus amigos' (Ele já consultou o número de usuários no Foursquare  e também já procurou por amigos que deram check-in naquele momento). Vejo pelos detetalhes que um deles é o Ricardo. Ele já chegou!  Depois de conversarmos sobre projetos e trabalho, volto para casa.

Há algumas horas do vôo, o sistema me avisa que o vôo está próximo de chegar em Recife (Já consultando informações da Infraero).  Já me direciono ao Caranguejo e pergunto: 'Gostaria de pegar um táxi para o aeroporto'. O  Caranguejo já busca em páginas web sobre possíveis empresas de táxi e me dá um conjunto de opções para escolha. Decido a  'fast' que oferece o pagamento mediante cartão de crédito. Já ligo e agendo o táxi! 

Chegando no aeroporto, o Caranguejo já me informa que o vôo que irei pegar embarca as 18:30. Me envia já o meu código de embarque que armazenei no meu Remember the Milk. Faço check-in mas ainda dá tempo para tomar um cafézinho, mais uma vez Caranguejo já me dando as melhores opções, e me alertando que se eu for na Cafeteria Doce Nordestino e der um check-in lá  ganho 15% de desconto no café  ou tenho a opção de ir à Cafeteria Dengoso que por meio do ZIPME  se eu comprar um voucher por meio de compra coletiva, ganho 20% de desconto.  Decido ir ao Dengoso  e depois de tomar um cappuccino adiciono um review para este novo restaurante que o Caranguejo me informou dando 5 estrelas com o comentário: Excelente cappuccino! .

Eita o meu vôo! Antes de partir meu Caranguejo informa que alguns amigos já me deram boa viagem via Twitter e eu mando postar no Twitter :  'Partindo para São Paulo!'.  É hora de desligar o caranguejo e o aparelho, ansioso porque ele vai ser extremamente importante  em São Paulo, onde é um mundo desconhecido para mim!'

Pois é pessoal, este é apenas um depoimento de um cenário hipotético no futuro de um aplicativo que toma a forma de um assistente pessoal virtual inteligente direto do meu telefone. Logicamente hoje isso seria inviável ainda porque grande parte desses serviços mencionados acima não oferecem APIs de acesso, e quando oferecem funcionam como SILOS totalmente isolados um do outro. 

É preciso que a informação seja ubíqua ou seja compartilhada. Os serviços precisam estar em comunicação e cientes uma das outras.  Se eu vou à algum lugar aciona serviços como Foursquare, Twitter e serviços de mapa como Google Maps e informações de trânsito de sites locais.  Este cenário ainda está longe de existir, em especial no Brasil onde as informações ainda estão brutas em páginas HTML.

Percebi que menos de 10% das empresas mencionadas acima oferecem uma API para acesso dos seus dados, que seria um belo início. Ainda não temos aplicativos inteligentes que funcionem como agentes que me alerte, recomende e que mantenha minha rede de contatos sempre disponível. 

Sim, estou falando de um agente onisciente rodando em meu aparelho celular.  O Caranguejo, o único em qualquer lugar à sua disposição.
Ah, antes de finalizar este post dêem uma olhada neste projeto  e neste vídeo. Entendem agora porque no Brasil estamos ainda longe para atingirmos isso ?!






Pois é , acabei de lembrar que preciso dar um check-in no Foursquare que estou em casa e ainda consultar minha agenda no Google Agenda para saber meus compromissos de amanhã.

Viva a Web 2.0!

PS: Agradecimentos especiais ao amigo Ricardo Caspirro, por discutirmos e amadurecermos sobre esses projetos a desenvolver.

Como adicionar auto-complete com interpretador Python

Olá pessoal,

Encontrei essa excelente dica no blog do Brunno Gomes e não deixei de postar!

Para os desenvolvedores Python que precisam da funcionalidade de auto-completar e infelizmente ainda desconheciam como ter isso direto do seu interpretador Python, agora os problemas acabaram!

Vejam abaixo como fazer:

Ao abrir o shell interativo do Python (digitar "python" no terminal), rode os comandos:

1import readline
2import rlcompleter
3readline.parse_and_bind("tab: complete")


Agora é só usar o TAB sem dó para completar os comandos, e é muito útil para descobrir coisas novas também.

Por exemplo digitando "de" e apertando TAB ele mostra as opções:
1def del delattr(       


E se você por acaso não conhecia o "delattr()" pode começar a pesquisar e ver que ele é útil para você.

Valeu Brunno pela excelente dica!!!

Fonte: http://brunno.net/

Idéias para futuros projetos mobile - Post comemorativo 800!

 Olá pessoal,

Para comemorar o octingentésimo post do meu blog (800 posts), decidi postar umas das minhas recentes idéias que tive durante momentos de reflexão. Este post retorna uma série de posts em 2006 que postei com várias idéias para projetos mobile.

Problema: Um dos maiores problemas que hoje enfrentamos em Recife e grandes centros pelas metropóles no Brasil é a falta de estacionamento público, em especial, localizada em famosas "zonas azuis".  Vamos para um caso real: o Recife Antigo, sede do maior parque tecnológico de Pernambuco. Lá atualmente, para quem procura um estacionamento pelas ruas do Recife, sofre para encontrar uma vaga em aberto, e isso piora, quando chegamos em horários de pico como no meio da manhã ou no meio da tarde. A busca acaba em diversas rodadas de carro pelo Recife Antigo até achar uma vaga. O que isso custa ? Tempo para o motorista que perde tempo até achar uma vaga disponível,  Combustível para o automóvel até encontrar a vaga e finalmente para o meio ambiente a poluição, o quanto é dispensado se essa busca é feita diariamente por centenas de carros, o quanto de poluição é dispensada.

Solução: A minha solução proposta é o uso de um aplicativo que acompanhe o usuário desde a sua chegada até o estacionamento e a sua saída do estacionamento.  Nada mais coerente, do que usar o próprio celular do motorista como plataforma-alvo deste aplicativo. Além de ter hoje capacidades suficientes para processamento, eles vêm com sistemas de localização como GPS e acesso à web como 3G e futuramente WIFI (de acordo com o governo do estado de PE).

A minha proposta é desenvolver um aplicativo  móvel que consulta uma webservice REST. Esta permitirá que o usuário possa encontrar rapidamente vagas livres em tempo real. A idéia inicial é ter uma tela com um mapa o qual o usuário mediante uso do GPS que vá consultando automaticamente num raio de X metros ao redor do aparelho (veículo) possíveis vagas em aberto. Assim que estacionar, ele poderia fazer um check-in, ou seja a vaga deixa de aparecer para outros usuários do sistema. Uma opção também é que mesmo que a pessoa que estacione deixe de fazer o check-in na vaga, isto é, ocupa a vaga,  o sistema tem um timer que após 20 min por exemplo, a vaga em aberto deixa de aparecer. As vagas existentes livres são marcadas por um marcador o qual são coloridas como um mapa de calor (vaga mais recente -> vermelho escuro , vaga menos recente até timeout -> vermelho bem claro). Isso permitiria que o usuário pudesse avaliar no mapa as vagas mais recentes ou arriscar pelas vagas menos recentes.  A pessoa  também pode marcar novos lugares em abertos, por exemplo, a pessoa saiu do estacionamento deixando a vaga livre, ela pega o aparelho e marca como 'livre' aquela vaga (check-out).

Logicamente, quanto mais pessoas usarem a aplicação mais vagas aparecerão e o sistema será mais eficiente na localização de vagas livres em estacionamentos públicos nas cidades. Sim, e qual a vantagem de um usuário avisar que está saindo ? Pensei em um sistema de recompensa, como pontos de recompensa que são acumulados à medida que você encontra novos lugares disponíveis.

Esse sistema de recompensa pode ser usado futuramentem algum modelo de negócios para recompensar os usuários. Mas, a priori poderiamos ter uma lista dos top usuários que mais interagiram com sistema, inclusive tendo pequenos badges (insigneas) para estimulo de marcacao de novos lugares.
O modelo de negócios não é ainda definido, mas penso em um futuro próximo uma parceria com a zona azul por exemplo, para facilitar esse sistema rotativo, por inclusão de alertas para o usuário quando o tempo está próximo de expirar ( 5h , 2h , etc).  Por exemplo, a localizacao de vagas, inclusive podendo integrar algum servico futuro de zona azul automático sem uso do papel ou até uso de propagandas junto à aplicação. Não está ainda muito bem definido.

Com certeza, um tipo de aplicação que pode ser exportada em moldes de modelo mundial, não apenas em Recife e capitais brasileiras. 

Logicamente, é um ponto de partida, deixo aberto a discussão sobre a viabilidade desse pequeno projeto. Outra coisa a se definir é se há interesse dos usuários em marcar tais lugares ou se há aparelhos com acesso internet e tecnologia para viabilidade e popularidade desse aplicativo ? É importante frisar que é um sistema colaborativo, onde é essencial a participação do usuário na alimentação de dados no sistema.

Talvez eu construa este projeto mais como um protótipo para estudos sobre serviços REST  e webservices. Quem quiser conversar e trocar idéias, fiquem à vontade para postar comentários abaixo.

Batizo o codinome deste projeto como: Socialnamento.  ( O estacionamento agora é social!)

Atenciosamente,

Marcel Caraciolo
Olá pessoal,

Este post é resultado de um experimento rápido que eu realizei nestas semanas sobre uma curiosidade que me alimentava há um certo tempo: " É possível desenvolver com Python na plataforma Android ?"
E a ótima notícia é que sim, é possível!  Eu estava brincando com meu N900 da Nokia que vem com o Maemo OS e este tem  suporte total ao Python nativo. Mas, é difícil no mercado brasileiro você comprar um N900, especialmente depois que a Nokia divulgou o seu preço oficial que fica acima da faixa de R$ 1000 reais.  E ultimamente tenho visto uma tendência positiva de aparelhos embarcados com a plataforma Android da Google e  suportada por fabricantes bastante populares no mercado brasileiro como a Motorola, Samsung, HTC, LG, etc. Como sou um fã da linguagem Python e pelas suas particularidades que fazem desta linguagem ser uma ferramenta para construção rápida de aplicativos, fiquei curioso para saber se o Android suportava desenvolvimento com Python.

Mas calma, nem tantas alegrias! De fato a plataforma oficial de desenvolvimento para o Android é a linguagem Java e que permite total integração com o sistema operacional e consequentemente a construção de aplicativos completos que possuam GUI e ao mesmo tempo instaláveis. Por enquanto assim como Python e outras linguagens de script é necessário que você instale um interpretador runtime para o Android e assim você poderá rodar seus scripts Python.  De acordo com alguns forums que venho acompanhado, parece que há uma movimentação no Google para tornar possível a construção de aplicativos completos com linguagens de script como Python, inclusive disponibilizando-os via a loja virtual Android Market.

Agora que sabemos que é possível desenvolver pequenos aplicativos Python no Android, vamos para a próxima etapa que é como e por onde começamos a desenvolver.  A resposta para esta pergunta está no projeto extra-oficial android-scripting (ASE).

Este projeto apresentado oficialmente em meados de 2009 agora conhecido como SL4A (Scripting Layer for Android) trouxe ao sistema Android o suporte a linguagens baseado em scripts como Python, Perl, JRuby, Lua, JavaScript, Tcl, e até o Shell. De acordo com o wiki do projeto, ele pode ser executado via terminal ou em background.

Tela de Edição do ASE

Existem 2 maneiras de instalar o interpretador e executá-lo: Por meio de um aparelho que tenha o sistema operacional Android ou pelo uso do emulador. Neste tutorial focarei na instalação no emulador, pois mesmo você não tendo um aparelho em mãos pode já começar a escrever códigos Python para executar no emulador e no futuro com seu aparelho em mãos vê-los em tempo real.  Deixo claro que nem todas funcionalidades estarão ativas por meio do emulador como conexão bluetooth, speech-to-text, câmera e outras funcionalidades avançadas. Você pode ter mais detalhes sobre o emulador no site oficial do Android.

Vamos ao passo - a - passo (neste tutorial foi usado o sistema operacional Mac OS 10.5)

1 - Instalar o Android SDK

Por meio deste post (existem diversos pela internet (Windows)) eu consegui instalar o SDK do Android (neste tutorial a última versão era a 2.2).  Com apenas o passo 2: Download the Android SDK,  já é possível ter o emulador pronto para uso.

2 - Configurar o Android Virtual Device (AVD)


O próximo passo é criar uma dispositivo virtual (AVD), com este é possível simular o dispositivo  com a versão do Android desejado. Para isso navego até a pasta onde eu extraí o android sdk:
  • /android-sdk-mac_86/tools  (meu caso no Mac)
  • C:\android-sdk-windows\tools\android.bat  (possível no Windows)
Executo o comando:

         ./android   (no Mac OS) ,  C:\android-sdk-windows\tools\android.bat (no Windows).

Crio um novo AVD, nomeado 'ASE_test', conforme a imagem abaixo:




Selecione o AVD criado e clique no botão 'Start..'


3 - Instalação do ASE (Android Scripting Enviroment)

Você pode instalar por via console, baixando os pacotes no seu browser e depois instalando mediante comandos no console (ver este link) ou você pode fazer toda a instalação dentro do próprio emulador! Muito mais fácil, pois o Google permite instalar aplicativos no seu emulador como se fosse um dispositivo real! Para facilitar esta a visualização desta etapa, preparei um vídeo passo-a-passo ilustrando a instalação completa e inclusive como editar e executar scripts python com o ASE no emulador Android (serve também no dispositivo móvel).



Running Python on Android OS Emulator from Marcel Caraciolo on Vimeo.


O que está acontecendo por baixo ? Para simplicar, o ASE provê  uma classe facade (fachada) que permite a integração via API por meio JSON RPC que funciona como um proxy. Assim funcionalidades nativas podem ser acessadas por meio desta fachada em interpretadores como Python e Lua. Claro que estas devem estar encapsuladas pelas classes AndroidFacade e AndroidProxy que de acordo com os autores do projeto são simples de extender.

4- Só programar e se divertir!

Pronto pessoal, vocês podem ter agora o Python rodando no seu emulador ou até no seu aparelho (os mesmos passos podem ser feitos em um dispositivo real). No emulador, embora limitado, já dá uma prévia do que é capaz a plataforma Android que abrange milhares aparelhos de diversas fabricantes. Vale ficar de olho nela, em especial no Brasil!  Pode tomar o lugar da Nokia na categoria Smartphones, se a Nokia não acelerar seu desenvolvimento com o MeeGo.

Há mais informações no site oficial do projeto do ASE-Android  e se quiser acompanhar a lista de dicussão do mesmo, também se encontra neste link.

Espero ter ajudado a todos a conhecerem mais uma plataforma que Python está presente: A plataforma Android da Google!

Até a próxima,

Atenciosamente,

Marcel Caraciolo

Olá pessoal,


Este sábado participei do  V Encontro do Usuários de Python de Pernambuco (PUG-PE), onde ministrei uma mini-palestra introdutória sobre padrões de projeto com a linguagem de programação Python. Na verdade, essa palestra foi extremamente introdutória e apenas um pontapé inicial para abrirmos dicussões sobre esse tópico tão recorrente especialmente em desenvolvimento de software.

Nesta palestra falei um pouco sobre os conceitos básicos de OO como Herança (IS-A), Composição (HAS-A) e Encapsulamento.  A principal discussão ficou sobre o comando property de python que permite criar um mecanismo de encaspulamento em cima de atributos declarados em Python, visto ue os mesmos ao ser declarados são públicos. Ou seja, não há modificadores de acesso em Python. Esse comando permite você associar getters/setters (métodos) ao seu atributo que ao fazer operações de leitura e escrita sobre o mesmo,  tais métodos são chamados automaticamente.

Com isso, o famos problema dos cursos de programação com OO com o exemplo do Saldo da Conta Bancária pode ser sanado. Saldo negativo jamais! hehe

Um exemplo de fone de ouvido foi utilizado para ilustrar esse exemplo e se encontra disponível nos slides no link abaixo.





O Encontro foi muito bom e tiveram ótimas palestras envolvendo Reconhecimento de Gestos, Twitter com Python, Iron Python e minha palestra sobre padrões de projeto. Parabenizar a todos presentes e envolvidos, e rumo ao VI Encontro do PUG-PE!!

Um resumo de todo o encontro pode ser encontrado neste link inclusive com os slides para download das outras apresentações.

Atenciosamente,

Marcel
Pessoal,

Convido a todos para participarem da quinta edição do nosso encontro mensal dos usuários de Python de Pernambuco (PUG-PE) e neste não seria  diferente: Além de discutir sobre a linguagem de programação Python e derivados, sempre há espaços com discussões abertas sobre open-source e tecnlogia! Para quem não conhece Python, já menciono que é uma das linguagens  mais populares do mercado devido à sua flexibilidade e facilidade na  construção de programas. Está em diversos ambientes desde servidores, web e até sistemas embarcados, sem esquecer, é claro, sua importância  no ensino de linguagens de programação utilizada em cursos de universidades como MIT e UFRPE. Mais informações podem ser obtidas a partir deste link [1].

 Para esta edição nosso encontro pretende trazer a seguinte programação:


1 -Introdução sobre Iron Python com Tiago Bockholt


2 – Padrões de Projeto com Python (Parte 01) – Marcel Caraciolo


3 -  Open Allure (Reconhecimento de Gestos com Python) – Nielson Santana


4 - Introdução ao Desenvolvimento Ágil com Django -  Filipe Varjão



5 – Como Construir Bots com Twitter e Python – Cirdes


6 – Espaço Aberto (Discussão para digestão do conhecimento e tópicos para o próximo encontro)


Muitas palestras e um prato cheio para trocas de idéias e aquisição de conhecimento!


A única diferença neste evento é que a sede mudou de lugar e nesta vez o local será a Escola Politécnica de Pernambuco (POLI) em Recife na Sala K3. O horário é a partir das 08:00 neste sábado (03/07).

Saiba como chegar através deste link [2] .


Mais informações sobre o grupo, podem ser encontradas neste links [3] [4].

Não conhece Python e gostaria de saber o que é e como começar?

Compareça!! Todos são bem vindos!!


[1] http://www.python.org/
[2] http://maps.google.com/maps/place?cid=13807040380428036858&q=Escola+P...
[3] http://pugpe.wordpress.com/
[4] http://groups.google.com/group/pug-pe?hl=pt-BR
Olá pessoal,

Ontem ao ler alguns dos meus feeds, encontrei este aplicativo lançado pelo Lluís Danés chamado Py SyncNotes.  É um aplicativo desenvolvido em Python, especificamente Python para S60 (PyS60) que roda em aparelhos Symbian S60 3nd Edition como E73, N95, N96, etc. 


Py Sync Notes


O que achei mais legal da aplicação foi a capacidade de você compartilhar arquivos de texto (notas) entre o seu celular e a web, ou seja, você pode sincronizar os arquivos entre seu PC e o aparelho móvel. Achei muito útil, visto que de vez em quando você quer adicionar uma lista de compras no supermercado e não quer ficar digitando no apertado teclado do aparelho, item por item. Haja trabalho! Com esta aplicação, você monta sua lista no seu PC por meio de uma página web provida  e  posteriormente você pode fazer sincronizá-lo a partir do seu celular (tendo acesso à internet, claro.)
Uma opção muito interessante, e sem dúvidas com uma interface muito agradável!  Parabéns ao Lluís e espero que esta aplicação seja lançada oficialmente (No momento disponível apenas para testes).

Mais uma aplicação desenvolvida com Python para celulares, muito legal ein? Lembrem-se que se quiserem testar, é necessário ter o PyS60 2.0 instalado no seu aparelho Symbian. 

Disponibilizo um vídeo- demonstração fornecida pelo autor da aplicação abaixo!





Para baixar a aplicação ou saber mais sobre a mesma, visite o site oficial do projeto.

Até a próxima,

Marcel Caraciolo
Olá pessoal,

No último post apresentei como iniciar o desenvolvimento de aplicativos para o N900 com a linguagem de programação Python. Durante o tutorial construí o  primeiro Hello World. Porém, utilizamos a conexão sem fio para estabelecer a comunicação entre o aparelho N900 e o Mac/PC. Se não tivermos uma conexão sem fio disponível uma outra opção é fazer a comunicação entre o N900 e seu computador por USB. Como procedemos ?

1 - O primeiro passo é conectar o cabo USB no seu MAC/PC ao N900 e setar a conexão no modo "PC Suite Mode". (lembre-se que dever ser PC Suite Mode e não "Mass Storage Mode".

2 - Depois no seu N900, abra o X Terminal e execute o comando:

$ root
$ ifup usb0

Este comando gera uma configuração de rede válida via USB para o N900. O mais importante para você é que ele gera um ip e uma máscara de rede válida para uma rede local.


Agora para seu PC/Mac enxergue seu telefone, é necessário você configurar o IP estaticamente nele. Para isso vá até a sua configuração de rede (de acordo com o seu sistema operacional) e adicione um ip estático conforme abaixo:

IP: 192.168.2.xx (Pode ser na faixa entre 1 a 254)
Máscara de Rede: 255.255.255.0


Por exemplo, esta é uma possível configuração no Mac OS X 10.5 Leopard:

Configuração do IP Estático no MACOS/X

Feito esta configuração, agora só iniciar a conexão remota ao seu aparelho por meio do terminal do seu Mac/PC.

$ ssh root@192.168.2.15
$ root@ip_do_n900's password: (digite a senha para o ssh)
$ BusyBox v1.10.2 (Debian 3:1.10.2.legal-1osso26+0m5)
?:~# 
 

Caso a configuração não funcione,  verifique se você realmente estabeleceu um ip válido na mesma sub-rede do N900 para sua máquina. O N900 deve estar configurado com o ip 192.168.2.15/255.255.255.0.

Verifique realmente se foi gerado um ip válido após o comando ifup usb0  . Um comando ifconfig -all no N900 pode te informar se ele gerou um ip. Lembre-se que este comando deve ser feita toda vez que você desligar o aparelho.

O fluxo segue conforme o post anterior a partir do passo 3.

Espero ter ajudado,

Atenciosamente,

Marcel Caraciolo

Lançada competição de aplicativos para o N900 no Maemo.org!

Olá pessoal,

O pessoal da comunidade Maemo.org arregaçou as mangas e desistiu de esperar por aplicativos para o N900 na Ovi Store. Eles se juntaram e lançaram uma competição de aplicativos no Maemo.org!





Como assim ?!  A chamada começou no fórum da comunidade por meio de uma simples brincadeira, mas acabou se tornando algo mais sério. A idéia é construir uma aplicação funcional para o N900, entretanto ele deve se encaixar em uma das seguintes categorias:
  • Desktop
  • Sistema e Utilitários
  • Jogos
  • Gráficos e Multimídia
  • Localização e Navegação
  • Outros
Hehe, acredito que é tudo! O mais legal que o autor do post lá no fórum tomou a iniciativa e já colocou como prêmio o valor de $50 dólares para a melhor aplicação no geral. E também deixou disponível para quem quiser colaborar, poderá doar do seu bolso para aumentar o valor do prêmio.
Se você achou bom, imagina que a Nokia já ficou sabendo da competição e decidiu colaborar com prêmio. Os vencedores de cada categoria ganharão passagem e estadias pagas para o MeeGo Conference 2010, que ocorrerá na Irlanda no mês de novembro.

O período de inscrição para os aplicativos começou em 21 de maio, e extenderam o prazo até 21 de julho.  A escolha será feita por meio de uma votação popular, no próprio Maemo.org

Não é proibido que programas já existentes sejam inscritos, desde que possuam novas funcionalidades que os diferenciem da atual. E o programa pode ser em qualquer linguagem (Apenas a documentação básica deve ser em inglês).

Para se inscrever basta alterar a página da wiki do Maemo.org incluindo seu programa.

É isso aê pessoal!!  Agora é só pensar em uma aplicação, codificar e torcer pela sua aplicação!

Estou pensando em participar, vamos ver o que dá para ser feito com Python! ;D

Atenciosamente,

Marcel
Olá pessoal,

Há algumas semanas adquiri o recém lançado aparelho da Nokia Tablet N900 embarcado com sistema operacional Maemo 5. Para aqueles que não conhecem, este dispositivo pode ser considerado um tablet  e também um telefone (na verdade são ambos).  Ele foi um dos aparelhos mais comentados na mídia especialmente pelo seu poder de processamento  que chega aos 600 MHZ e 256 mb de RAM.  Sem contar o seu sistema operacional que é baseado na distribuição Debian e sua placa aceleradora gráfica 3D com suporte ao OpenGL. Mais informações sobre ele no site oficial.



Mas o motivo deste post não é somente falar sobre este aparelho. O que me atrai nele é o ambiente de desenvolvimento para construção de aplicativos, inclusive a comunidade de desenvolvedores que está por trás dela. Quem não conhece o maemo.org e quiser participar é muito bem vindo! Uma das coisas mais legais que eu vi é que você pode compartilhar seus aplicativos por meio de repositórios específicos que quaisquer usuários, habilitando-os,  poderão ter acesso à sua aplicação.

Além de ter uma forte cultura open-source por trás do Maemo, visto que todos os aplicativos são gratuitos, pelo menos nos repositórios, você ainda poderá explorar bem as funcionalidades do aparelho já que o mesmo fornece todo um SDK com suporte ao Qt, Python, Perl, C++, etc. Mas qual linguagem escolher para desenvolver ?

Eu escolhi Python por 2 fatores. Além do total suporte do Maemo para esta linguagem, visto que é uma distribuição GNU/Linux, ele possui muitos programas essenciais do sistema escritos em Python. O outro fator é o simples fato de Python ser uma linguagem fácil de aprender e simples de programar. Com qualquer editor de texto, você pode escrever algum código!  Para aqueles que não conhecem python, recomendo dar uma olhada no site oficial que tem muito material disponível!

A partir de agora começarei uma série de posts sobre dicas e informações de como começar a desenvolver no Maemo N900 por meio da linguagem Python. Este material pretende ser referência em língua portuguesa, visto que há muito material em inglês, e às vezes um desenvolvedor não entende como fazer, pois não detém o conhecimento da língua inglesa.

Espero que possa ajudar a desenvolvedores e entusiastas de programação que desejam a construir seus aplicativos na plataforma Maemo. Vale salientar que neste post é necessário que você tenha um aparelho N900  mãos. Irei demonstrar passo a passo como colocar uma primeira aplicação Hello World rodando no mesmo.  Em outro post irei demonstrar como instalar o emulador do aparelho para aqueles que não tem o N900 em mãos.

Estou executando todos os passos através do sistema operacional Mac OS 10.5, porém pode ser adaptado facilmente para o sistema operacional baseado no Linux (Ubuntu, Debian, Fedora, etc.)

Este artigo cobrirá os seguintes passos:
  • Instalação dos pacotes necessários para conectividade entre N900 e o Mac.
  • Algumas sugestões de editores de código em Python
  • Como construir seu Primeiro "Hello World" em PyGTK
  • Como transferir a aplicação para o N900
  • Como executar a aplicação
1 - Instalação dos pacotes no N900 e no Mac OS



O primeiro passo é ter seu N900 com acesso à internet (mediante GPRS ou Wi-FI). Você precisará instalar os seguintes aplicativos no N900.
OpenSSH é um aplicativo que permite enviar comandos remotamente no seu N900. Este aplicativo é extremamente importante para enviar os arquivos/comandos ao aparelho.
O rootsh é um aplicativo que permite você enviar comandos como root no X Terminal (pode-se usar sudo gainroot ou root). Você pode ver mais informações sobre acesso root aqui.

Para instalar os aplicativos, seguem os passos:
  1. Ative o repositório extras.
  2. Procure pelos aplicativos rootsh e OpenSSH no search no seu App Manager.
  3. A instalação irá requisitar uma nova senha de root para acesso SSH. Escolha uma.
  4. Aguarde até a instalação estar completa.

Já no seu Mac/Linux/Windows:
  • Um cliente SSH. Para o linux, existe já o OpenSSH (via comando ssh) assim como o Mac que já possui o cliente o qual pode ser acessado mediante comando 'ssh' no terminal. No Windows tem o Tera Term
  • Um cliente SCP/SFTP.  Tanto para o Mac como o Linux, pode ser utilizado o OpenSSH (mediante comando "scp").  Já o Windows você pode usar os programas WinSCP ou FileZilla. .
** Neste artigo não instalaremos o Scratchbox. Ele será comentado em outro post, quando falarei sobre instalação de emuladores.

2 - Acessando seu N900 pelo terminal.
Agora vamos acessar o terminal do N900 via root remotamente.  Para isso existem 2 opções: Você pode usar a própria rede sem fio o qual seu PC/Mac e o N900 estão conectados. Este é o método mais rápido ou você pode acessar via conexão USB. Este exige algumas configurações prévias. Este método é mais complicado exige um post especial à parte.

2.1 - Conexão sem fio

1 - Digite os comandos abaixo no terminal do N900 (Para abri-lo va no menu Principal -> Terminal)

$ root
$ ifconfig wlan0 | grep inet



 

Você verá wlan0 - que refere-se a wireless network interface (Wlan) e o inet addr: que é o IP alocado ao N900. Ver figura acima. Anote este IP pois você utilizará para acesso remoto na sua máquina.


2.2 - Conexão Remota no seu terminal.

 Agora vamos estabelecer a comunicação remota entre sua máquina e o N900. Para isso digite os seguintes comandos (Substitua o ip_do_n900 pelo ip obtido pelo passo acima).

$ ssh root@ip_do_n900
$ root@ip_do_n900's password: 
$ BusyBox v1.10.2 (Debian 3:1.10.2.legal-1osso26+0m5)
?:~# 
 

 Parabéns! Você já pode acessar seu N900 remotamente! Agora vamos ao seu primeiro programa python no N900!

3- Escrevendo código

Agora você deve começar a digitar seu código Python.  Você pode utilizar qualquer editor de texto. Isto é o mais legal de Python! A escolha do ambiente é sua! Abaixo deixo alguns exemplos de editores famosos:
  • gedit: Famoso editor para o GNOME
  • VIM and Emacs:Editores populares para terminais.
  • NetBeans + Python plugin: Netbeans, famosa IDE para aplicativos java também com suporte à Python
  • PyGTKEditor: Há até um pequeno editor de Python que roda nativamente no Maemo.
  • TextMate:  Meu favorito que utilizo no Mac OS. 
 Agora vamos ao código. Escreva o código abaixo em um arquivo de texto e salve como pyMaemo.py
    import gtk
    from gtk import Window, Button, Widget
    if __name__ == "__main__":
        window = Window(gtk.WINDOW_TOPLEVEL)
        window.connect("destroy", gtk.main_quit)
        button = Button("Hello World")
        button.connect_object("clicked", Widget.destroy, window)
        window.add(button)
        window.show_all()
        gtk.main()

    O que este código acima faz? Ele utiliza o framework de componentes gráficos disponível no Maemo chamado GTK. Com ele você pode construir aplicativos com suporte a janelas, botões, campos de texto, etc.  Ele já vem instalado nativamente no Maemo e muitos aplicativos no mesmo utilizam o  GTK para a construção de suas telas. O aplicativo acima apenas cria uma nova janela e coloca um botão no meio com o rótulo "Hello World" e adiciona o mesmo a ela. Posteriormente, o comando show_all() manda exibir a tela no N900. Para saber mais informações sobre o GTK você pode saber aqui.

    4- Transferindo sua aplicação

    Estamos quase lá. Agora vamos transferir sua aplicação para o telefone. Para isto vamos copiar os arquivos da sua aplicação (que neste caso é o pyMaemo.py) para o telefone por meio do cliente SFTP ou SCP. Abra outra instância do seu terminal (NO PC/MAC) e digite o seguinte comando:

    $ scp -pr minha_aplicacao/ root@ip_do_n900:/root/minha_aplicacao

    Substitua minha_aplicacao/  pelo caminho do diretório o qual contêm os arquivos da sua aplicação. Este comando copia os arquivos da sua aplicação para o diretório correspondente no seu telefone.


    5- Executando a aplicação

    Finalmente, execute a sua aplicação. Você pode digitar os comandos abaixo ou no seu terminal (mediante a conexão estabelecida com seu PC e o N900. Ver o passo 2.1.) ou no X Termina do seu N900.

    $ cd /root/my_application
    $ python py_maemo.py

     Finalmente, este comando python minha_aplicacao.py fará executar a sua aplicação no telefone. Você verá uma tela similar a essa!



    Parabéns! Sua primeira aplicação em Python foi executada com sucesso!

    Pronto pessoal, você tem uma aplicação simples em Python funcional no seu N900! Logicamente, há muito mais que pode ser feito e isto será coberto por mim em outros posts. Pode-se observar que é fácil você montar um ambiente de desenvolvimento em Python para  o N900 com poucos minutos e já ter uma aplicação rodando.  O  N900 é uma plataforma realmente poderosa para construir suas aplicações, especialmente com Python!

    Dica: Se você quiser tirar screenshots das telas do teu N900, você só precisa em qualquer tela pressionar os seguintes botões:


    Ctrl + Shift + P
     


    As imagens ficarão salvas na pasta:




    • ~/MyDocs/.images/Screenshots ou Nokia N900/Images/Screenshots


    Pessoal,  tem um vídeo também disponível com os passos comentados acima pelo wiki do PyMaemo. Quem quiser,  pode vê-lo pelo vídeo abaixo.








    Valeu pessoal e até a próxima! Dúvidas ou sugestões estou à disposição!

    Referências

     http://wiki.maemo.org/PyMaemo/QuickStartGuide 
    http://www.techiecorner.com/1611/how-to-print-screen-in-nokia-n900/

    Depoimento sobre IV Encontro do PUG-PE com Codingo Dojo, TDD e Python!

    Pessoal,

    O nosso IV Encontro do PUG-PE (Grupo de Usuários de Python de Pernambuco) foi um sucesso, considero como um dos melhores encontros! Tivemos uma palestra muito legal sobre TDD com Python (Testing Driven Development) e para por em prática os conhecimentos de TDD, finalizamos com um Codingo Dojo com Python! A interação entre os presentes foi constante, envolvendo iniciantes e já desenvolvedores experientes. Mais informações e inclusive com o material utilizado no nosso encontro, vocês podem ver no blog do PUG-PE pelo link abaixo.


    PS: Vale lembrar que os depoimento sobre o encontro, foi eu que postei! 

    Atenciosamente,

    Marcel Caraciolo
    Olá pessoal,

    Estamos convidando a todos para participarem do IV Encontro do Grupo de Usuários de Python de Pernambuco (PUG-PE). Para quem não conhece, o grupo em seu encontros discute sobre tecnologia, open-source e claro sobre a plataforma de programação Python.



    Para os que não conhecem Python, ela se tornou uma das linguagens mais populares no mercado e devido à sua flexibilidade e facilidade para construção de aplicativo. Ela se tornou uma ferramenta atrativa para desenvolvedores, entusiastas e até educadores. Utilizada desde servidores, web, e até dispositivos móveis. É extremamente recomendada para ensino também de linguagem de programação utilizado em cursos em universidades como MIT e UFRPE.

    Mais informações podem ser obtidas a partir deste link [1].

    Para esta edição nosso encontro pretende trazer a seguinte programação:

          1 - Palestra sobre Test Driven Development, por Rodrigo Vieira [2]

         2 - Coding Dojo com algum problema na área de programação [3]

         3 - Espaço aberto para alguma palestra de última hora ou para nossa
         tradicional troca de idéias.

    O local será o Centro de Informática (CIN) situado na UFPE em Recife. O horário é a partir das 08:00 neste sábado (22/05).

    Mais informações sobre o grupo, podem ser encontradas neste links [4] [5]

    Não conhece Python e gostaria de saber o que é e como começar? Compareça!! Todos são bem vindos!!

    Se você quiser adicionar na sua agenda, o nosso evento!



    [1] http://www.python.org/
    [2] http://pugpe.wordpress.com/banco-de-palestras/#JPY
    [3] http://codingdojo.org/
    [4] http://pugpe.wordpress.com/
    [5] http://groups.google.com/group/pug-pe?hl=pt-BR

    Fotos do III PUG-PE : Minha Palestra

    Aproveitando este post rápido para divulgar  algumas fotos da minha palestra no III Encontro do Grupo de Usuários Python de Pernambuco (PUG-PE).

    Pena que ficou longe!! Íncrivel foi a quantidade de pessoas no laboratório!! =D






    Aguardando o upload de mais fotos do evento!!

    Atenciosamente,

    Marcel

    Palestra sobre Expressões Regulares e Python no III PUG-PE

    Olá pessoal,

    Gostaria de divulgar o material da minha palestra que dei no último sábado no III Encontro do Grupo de Usuários de Python de Pernambuco (PUG-PE).

    Neste encontro, tive a oportunidade de falar sobre minhas experiências e mostrar um guia com exemplos de como utilizar expressões regulares com a linguagem de programação Python.

    Para quem não conhece Expressões Regulares, ela é uma linguagem formal oriunda da teoria da computação e teoria dos autômatos que ajuda no tratamento e parseamento de arquivos, especialmente quando se trata de dados em grande volume. Pesquisar, validar  e filtrar elementos podem se tornar um trabalho exaustivo se manuseado manualmente. Técnicas e Algoritmos como Expressões Regulares ajudam a facilitar a extração de conteúdo de forma bem eficiente.

    Como a linguagem Python suporta nativamente expressões regulares, acaba-se sendo uma linguagem atrativa para introdução e manuseio de expressões regulares, devido à sua simplicidade e legibilidade na produção de código.

    Essa ferramenta é extremamente útil para tratamento de arquivos texto, quando você tem padrões os quais você quer extrair ou filtrar de um texto. Recomendo a todos o uso desta ferramenta! 


    Abaixo seguem os slides e o código Python utilizado na apresentação.







    Atenciosamente,

    Marcel Caraciolo
    Pessoal,


    Gostaria de divulgar o nosso III Encontro do grupo de usuários de Python de Pernambuco (PUG-PE) no Centro de Informática (CIN) na Universidade Federal de Pernambuco a partir das 08:00 no dia 17/04 (Sábado).



    Neste encontro, teremos a seguinte programação:
    1. Apresentação de quem ainda não compareceu aos encontros
    2. Como Expressões Regulares podem realmente te ajudar?, por Marcel Caraciolo
    3. Desenvolvimento de uma Aplicação Python em Ambientes Embarcados, por Flávio Ribeiro Nogueira Barbosa
    4. Coding dojo

    Para aqueles que quiserem participar, bastam comparecer! A entrada é franca! Venha conhecer a tecnologia Python e discutir temas associados com outros usuários! E logicamente, ampliar seu networking!

    Para mais informações, visitar o link.

    Para receber notícias sobre o grupo PUG-PE, se inscreva na lista de discussão.

    Atenciosamente,

    Marcel
    top