Ainda tem algumas vagas para o curso de Python que vou ministrar em Chapecó. O folder do curso
Ainda tem algumas vagas para o curso de Python que vou ministrar em Chapecó. O folder do curso
O professor Mario Olimpio de Menezes colocou em seu blog um código muito interessante. Um gerador de provas. Faz tempo que eu estou pensando em fazer algo parecido mas não tive tempo. Ficou muito bom:
No dia 26 de Julho vou ministrar um curso de 8 horas de Python.Â
O curso é organizado pela Temporeal Eventos.Â
No site da Temporeal Eventos está disponÃvel as fotos do evento Mão na Massa Django, que aconteceu em SP.
O evento foi um sucesso. 26 pessoas participaram. Uma grande comitiva da Locaweb estava presente. Todos participativos e interessados.
E em Julho vou voltar para SP para ministrar um Mão na Massa Python. Novidades em breve
Neste ano eu comecei a investir em ações. É algo ao mesmo tempo emocionante e apavorante porque você pode ganhar e perder dinheiro em questão de horas. Por isso é importante ficar sempre atento as alterações dos valores das ações. Existem vários programas e sites que permitem o acompanhamento das alterações. Mesmo assim, eu aproveitei a manhã de feriado, enquanto me recupero de uma pequena ressaca, e fiz um script em Python que busca os dados da Bovespa e permite o acompanhamento da sua “carteira de ações”. Assim dá para deixar um terminal aberto e ir acompanhando o mercado.
O script foi feito por diversão e uso pessoal, mas se servir para alguém mais legal. O código:
# -*- coding: utf-8 -*-
# Elton LuÃs Minetto
import urllib
from xml.dom import minidom
from time import sleep
from os import system
#adicionar as acoes aqui
#formato ACAO: [num_acoes,valor_compra,data_compra]
acoes = {
'BBDC4':[100,34.84,'25/04/2008'],
'PETR4':[100,42.00,'20/04/2008'],
}
def atualiza(acoes):
system('clear')
url = 'http://www.bovespa.com.br/Mercado/RendaVariavel/InfoPregao/ExecutaAcaoAjax.asp?CodigoPapel='
for i in acoes:
url += '|'+i
f = urllib.urlopen(url)
xml = f.read()
xmldoc = minidom.parseString(xml)
papeis = xmldoc.getElementsByTagName('Papel')
#cabecalho
print 'Ação\tValor de Compra\tData da Compra\tQtd\tAtual\tDiferença R$\tDiferença %\tData de Atualização'
total_compra = 0.0
total_dif_reais = 0.0
for i in papeis:
codigo = i.attributes['Codigo'].value
valor_compra = acoes[codigo][1]
qtd_acoes = acoes[codigo][0]
data_compra = acoes[codigo][2]
valor_atual = i.attributes['Ultimo'].value.replace(',','.')
data_atual = i.attributes['Data'].value
diferenca_reais = (float(valor_atual) * qtd_acoes) - (valor_compra * qtd_acoes)
diferenca_perc = (diferenca_reais*100)/(valor_compra * qtd_acoes)
total_compra += valor_compra * qtd_acoes
total_dif_reais += diferenca_reais
print '%s\t%02f\t%s\t%d\t%s\t%02f\t%02f\t%s' % (codigo,valor_compra,data_compra,qtd_acoes,valor_atual,diferenca_reais,diferenca_perc,data_atual)
print 'Total de Compra:%02f' % total_compra
print 'Total da Diferença em Reais:%02f' % total_dif_reais
total_dif_perc = (total_dif_reais * 100)/total_compra
print 'Total da Diferença em Percentual:%02f' % total_dif_perc
sleep(1200)
while 1:
atualiza(acoes)
Eu testei o script no MacOSX Leopard. Mas deve funcionar legal no Linux e no Windows
Download do arquivo
O Og Maciel teve a excelente idéia de fazer uma vÃdeo aula demonstrando como programar com o Python usando interfaces geradas pelo Glade. Muito útil:
Finalmente consegui me organizar e reler minhas anotações das palestras que vi no FISL 9.0
Foram muito boas na minha opinião. Python pra todos os gostos
Um resumo das que eu assisti:
Ganeti – cluster-based virtualization management software
Apresentado por um programador do Google, mostrou uma ferramenta interessante de gerenciamento de clusters virtualizados com o Xen. Realmente muito interessante. Assunto para TCC. Só falta encontrar um aluno maluco o suficiente
Coding Dojo – Treino para Programadores
Já tinha assistido um vÃdeo de uma palestra que essa galera tinha feito, acho que na Unicamp. Bem interessante a forma como eles organizam cada sessão. Muito legal para servir como reforço para as aulas de programação em geral. Tenho vontade de implantar isso. Vou conversar com mais alguns professores e programadores da região. Quem sabe não nos divertimos nos sábados de tarde?
Large Scale PHP
Apresentado pelo criador do PHP, essa foi uma palestra bem instrutiva. Para falar a verdade eu já conhecia quase todas as ferramentas que ele mostrou, mas mesmo assim foi ótima. Ele falou bastante sobre segurança também, o que vai me ajudar na próxima edição da disciplina de segurança. Coisas para testar: YSlow, valgrind e os filtros embutidos nas novas versões do PHP. A grande surpresa foi descobrir que ele trabalhou por um tempo em uma empresa em POA, antes de criar o PHP. Legal.Â
Duro de Errar 5.0
A palestra do Marcelio Leal foi muito divertida e útil. Já aproveitei algumas coisa que ele falou na aula de PHP que ministrei ontem. E ainda tive tempo de conversar com o Marcelio nos corredores. Grande pessoa.
No sábado eu só assisti as palestras da tarde. A ressaca estava graande. Mas aproveitei todas as palestras.
Python: Palestras Relâmpago
Várias palestras curtas sobre Python. Gostei da apresentação do Andrews e companhia sobre o joguinho que eles fizeram para o OLPC com pygame. A que foi mais importante para mim foi a da Tatiana Martins, sobre VTK. Ela deveria ter ministrado uma palestra completa no dia anterior mas não pode. Mesmo mostrando muito rápido os slides pude ver que é uma excelente biblioteca de manipulação 3D. Exatamente o que eu estou precisando para um projeto que irei iniciar em breve. Consegui conversar com ela nos corredores e vou estudar mais sobre isso.
Desenvolvimento ágil de software com XP e Scrum
Excelente palestra. Foi apresentado um resumo sobre estas metodologias de desenvolvimento. E o mais legal é que foi baseado na experiência real da equipe do Globo.com. É realmente importante ver isso de uma maneira prática e real porque muitas vezes parece que isso funciona melhor no papel.Â
ISIS-NBP: Python e Bibliotecas Digitais
Confesso que entrei nessa palestre meio enganado. Mas como tinha Python no tÃtulo eu fui ver. E me surpreendi. Era sobre a plataforma ISIS para bibliotecas. Eu já tinha instalado um software dessa plataforma na Unochapecó quando comecei a trabalhar lá anos atrás. Além disso tirei uma idéia para G2 da turma de Estrutura de Arquivos
WSGI: a resposta para a questão definitiva sobre Python, Web e tudo mais?
Faz tempo que eu precisava dar uma atenção para WSGI. E essa palestra conseguiu tirar algumas dúvidas. Muito boa apresentação. Rápida, sem papo furado. Além disso me deu curiosidade de testar mais pylons e paste.
Implementando Enterprise Patterns em PHP
A palestra do Pablo foi ótima. Ele tem muito domÃnio do público e apresenta muito bem. Como ele mesmo comentou na palestra, algumas coisas eu já conhecia mas não sabia que tinha um design pattern para isso. Mais uma palestra que vai parar na bibliografia das minhas disciplinas de programação web avançada
Django para desenvolvimento web / Google App Engine
Palestras apresentadas pelo Andrews Medina. A de Django foi curta para tanto conteúdo, mas a galera que estava perto de mim comentou que deu vontade de testar o framework. Missão cumprida! E eu tive mais algumas idéias para o curso de Django. Vou tentar trocar umas idéias com o Andrews para ver se ele tem algumas sugestões. A palestra sobre o Google App Engine era obrigatória porque é o assunto do momento no meio Python. Não vejo a hora de botar a mão na massa com isso!
E foi mais ou menos isso. Gostei muito deste FISL. Conversei com muitas pessoas legais pelos corredores como o Pablo, o Rubens da Novatec, os meus amigos da Temporeal Eventos, conversei um pouco com o pessoal do globo.com, ganhei DVD do OpenSolaris e cd do GoboLinux (tenho que testar os dois).Â
Bebemos umas cervejas, rimos muito, fomos no cinema. Em resumo: Â contando os dias para o FISL 10.0
Recentemente precisei criptografar alguns dados gerados por uma aplicação em Python. Para isso resolvi testar o python-mcrypt, módulo desenvolvido pelo brasileiro Gustavo Niemeyer.
Demorei um pouco para conseguir entender o funcionamento, mas é bem simples. Fiz um exemplo de uso para alguém não precisar perder o mesmo tempo que eu investi