July
11
2008

Lendo este post sobre a conferência EuroPython 2008 encontrei os gráficos abaixo. 

Eles foram criados com dados do site ITJobWatch, site inglês de vagas de trabalho.

O primeiro gráfico mostra a demanda por profissionais Java no país da Rainha.

O segundo mostra a demanda por profissionais Python no mesmo período.

Interessante. Como será que seria este gráfico aqui no país do Carnaval? 

2
July
4
2008

No meio dos 120 (sério) feeds que leio diariamente (na verdade várias vezes ao dia) encontrei o site desta empresa: Carsonfied

Eles são uma empresa de desenvolvimento na Inglaterra, que trabalham com Django, Rails, Symfony, etc. Mas o mais interessante é a página de vagas de emprego. Olha como eles se descrevem (tradução resumida e alterada):

“… Não somos uma empresa normal :-) Alguns benefícios da vaga:

Semana de 4 dias(O escritório é fechado nas Sextas-feiras). Seu próprio iPhone, monitor de 23 ”, cadeira confortável e MacBook Pro. Bons salários.

Trabalhar na Carsonified não é apenas um trabalho - é um estilo de vida. Nós queremos que você ame trabalhar aqui, então fornecemos o melhor kit do mercado

….

Viu? É disso que eu falo! Melhor do que o Google.

Imagino as pessoas que trabalham lá: Papai Noel (Programador), Coelho da Páscoa (Designer), Capitão Nascimento (Gerente de Projetos)…

Será que isso existe mesmo?

4
June
30
2008

Ainda tem algumas vagas para o curso de Python que vou ministrar em Chapecó. O folder do curso

Curso de Python

1
June
17
2008

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:

Cria Prova - Um python script para gerar provas

0
June
10
2008

A Incubadora de empresas da Unochapecó está organizando um curso de Python. Eu sou o professor :-)

Detalhes:

OBJETIVOS
Geral:
Habilitar os participantes para a programação de computadores em Linguagem de Programação Python.
Específicos:
Habilitar os participantes para trabalharem com:
- Conceitos de programação Orientada a Objetos.
- Comandos e utilização de estruturas de controle.
- Tratamento de exceções.
- Acesso e manipulação em banco de dados.
- Procedimentos e funções.

CONTEÚDO PROGRAMÁTICO
- Histórico,
- Características,
- Interpretador de Python,
- Tipos de dados,
- Tuplas,
- Listas,
- Dicionários,
- Condições e repetição,
- Módulos e pacotes,
- Usando help e dir,
- Tratamento de exceções,
- Orientação a objetos,
- Interfaces gráficas,
- Acesso a banco de dados
- Debug de aplicações.

INSTRUTOR

Elton Luís Minetto
Possui graduação em Ciência de Computação pela Universidade do Oeste de Santa Catarina - Campus Chapecó (2000) e especialização em Ciência da Computação pela Universidade Federal de Santa Catarina (2005) . Atualmente é Professor da Unochapecó e Consultor. Tem experiência na área de Ciência da Computação , com ênfase em Redes de Computadores

PERÍODO DE REALIZAÇÃO

28 de junho, 05 e 12 de julho (sábados) – Das 8:20 ás 11:55h e das 13:30 ás 17h.
24h/ aula

INFORMAÇÕES IMPORTANTES

Inscrições: 09 a 13 de junho no site: http://www.unochapeco.edu.br/inscricoes/
Valor: R$ 115,00 para Acadêmicos e R$ 147,00 público externo.

4
May
29
2008

No dia 26 de Julho vou ministrar um curso de 8 horas de Python. 

O curso é organizado pela Temporeal Eventos. 

Inscrições

1
May
28
2008

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

1
May
1
2008

pyBovespa

Posted In: apple, codes, python, ubuntu by elm

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:

  1. # -*- coding: utf-8 -*-
  2. # Elton Luís Minetto
  3. import urllib
  4. from xml.dom import minidom
  5. from time import sleep
  6. from os import system
  7.  
  8. #adicionar as acoes aqui
  9. #formato ACAO: [num_acoes,valor_compra,data_compra]
  10. acoes = {
  11.  'BBDC4':[100,34.84,'25/04/2008'],
  12.  'PETR4':[100,42.00,'20/04/2008'],
  13. }
  14.  
  15. def atualiza(acoes):
  16.  system('clear')
  17.  url = 'http://www.bovespa.com.br/Mercado/RendaVariavel/InfoPregao/ExecutaAcaoAjax.asp?CodigoPapel='
  18.  for i in acoes:
  19.   url += '|'+i
  20.  f = urllib.urlopen(url)
  21.  xml = f.read()
  22.  xmldoc = minidom.parseString(xml)
  23.  papeis = xmldoc.getElementsByTagName('Papel')
  24.  #cabecalho
  25.  print 'Ação\tValor de Compra\tData da Compra\tQtd\tAtual\tDiferença R$\tDiferença %\tData de Atualização'
  26.  
  27.  total_compra = 0.0
  28.  total_dif_reais = 0.0
  29.  for i in papeis:
  30.   codigo = i.attributes['Codigo'].value
  31.   valor_compra = acoes[codigo][1]
  32.   qtd_acoes = acoes[codigo][0]
  33.   data_compra = acoes[codigo][2]
  34.   valor_atual = i.attributes['Ultimo'].value.replace(',','.')
  35.   data_atual = i.attributes['Data'].value
  36.  
  37.   diferenca_reais = (float(valor_atual) * qtd_acoes) - (valor_compra * qtd_acoes)
  38.   diferenca_perc = (diferenca_reais*100)/(valor_compra * qtd_acoes)
  39.   total_compra += valor_compra * qtd_acoes
  40.   total_dif_reais += diferenca_reais
  41.  
  42.   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)
  43.  
  44.  print 'Total de Compra:%02f' % total_compra
  45.  print 'Total da Diferença em Reais:%02f' % total_dif_reais
  46.  total_dif_perc = (total_dif_reais * 100)/total_compra
  47.  print 'Total da Diferença em Percentual:%02f' % total_dif_perc
  48.  sleep(1200)
  49.  
  50. while 1:
  51.  atualiza(acoes)

Eu testei o script no MacOSX Leopard. Mas deve funcionar legal no Linux e no Windows
Download do arquivo

8
April
26
2008

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:

Vídeo Aula: Programando com Python e Glade

2
April
23
2008

Relato do FISL 9.0

Posted In: home, python by elm

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

1
April
22
2008

python-mcrypt

Posted In: codes, home, python by elm

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 :-)

exemplo_mcrypt

0
April
2
2008

Mais Django na Info

Posted In: python by elm

Parece que o Django caiu mesmo nas graças da revista Info.

Hoje saiu outra reportagem sobre o framework, desta vez falando sobre o crescimento da procura por profissionais. Inclusive conta com depoimentos de pessoas importantes do cenário brasileiro de Python/Django como o Andrews Medina, Christiano Anderson entre outros.

Tomara que isso influencie nas inscrições para o evento de Django que vou ministrar em SP :-)

1
March
19
2008

Saiu uma reportagem sobre o Django na versão online da revista Info. Essa reportagem já havia sido publicada na versão impressa em Novembro de 2007 e agora está disponível gratuitamente.Legal ver o framework ganhando publicidade. 

3
March
12
2008

Em Maio a Temporeal Eventos vai realizar mais um dos seus já famosos eventos “Mão na massa”

Dessa vez é sobre o framework Django e o professor vou ser eu :-)

Inscrições e detalhes no site do evento

1
January
26
2008

Nesses meses como novo usário de MacOSX testei alguns editores para trabalhar com programação, principalmente com PHP, Python, HTML e CSS. Encontrei alguns interessantes. Deixo aqui minhas opiniões sobre o assunto.

Eclipse

O primeiro que testei foi o Eclipse, pois é o que utilizo no meu trabalho diário na universidade. Lá eu utilizo em ambiente Linux e no OSX tudo funcionou da mesma maneira. Só algumas telas e teclas de atalho mudam. O Eclipse é uma ferramenta muito poderosa. Instalando os plugins corretos, PDT para PHP e PyDev para Python, é possível ter todas as características que esperamos deste tipo de ambiente. O que eu mais gosto é o suporte nativo a CVS (extremamente útil para projetos maiores pois não consigo mais programar sem este recurso), o auto complete dos comandos PHP e HTML que funciona certinho, aquilo que o Eclipse chama de Outline onde ele mostra os métodos e funções do arquivo aberto, e a árvore de arquivos/diretórios que facilita o acesso rápido aos códigos. O que eu não gosto no Eclipse é a quantia de memória que ele utiliza.

Smultron

Já comentei sobre o Smultron aqui no site. É um editor bom, open source e leve. O que eu sinto falta é o equivalente ao Outline e a árvore de diretórios do Eclipse. Além disso, a interface do programa não é tão bonita quanto o resto do sistema operacional

TextWrangler

O TextWrangler é um editor feito pela mesma empresa que desenvolve outro editor famoso (e pago) para o Mac, o BBEdit. É uma versão com menos recursos do que a versão comercial, mas mesmo assim é muito bom. Leve, suporta várias linguagens de programação, interface polida, acesso a ler/gravar arquivos direto em servidores FTP/SFTP, possui algo equivalente ao Outline do Eclipse, além de ser altamente configurável. Uma boa opção. Só senti falta da árvore de diretórios para rápido acesso aos arquivos.

Komodo Edit

É a versão para Mac do editor do qual já comentei aqui no site. É muito bom. Rápido, possui a árvore de diretórios (que se atualiza automaticamente caso um arquivo seja criado ou excluído. Cool), é extensível usando-se plugins quase da mesma maneira que o Firefox, apesar de ainda existirem poucos disponíveis. E o auto complete é tão bom quanto o do Eclipse, se não for até melhor. Só faltou o Outline e suporte a CVS pra ser um bom substituto ao Eclipse. Mas isso só na versão paga, que por enquanto está fora do meu foco de avaliação

Vi/VIM

Lógico que não dava para esquecer do velho amigo. Outra vantagem do OSX ser derivado do Unix é poder usar o Vi. É um bom editor de programação como é possível ver nesse excelente artigo

Conclusões

Depois de testar estes softwares cheguei as seguintes conclusões:

  • Para projetos grandes, onde o CVS/Subversion é importante, o Eclipse ainda é a melhor opção.
  • Para projetos menores eu estou usando o Komodo Edit e estou satisfeito. Tenho usado ele bastante em projetos com o CakePHP e outros frameworks como o Django (ele tem suporte ao Django além do próprio Python)
  • Para editar arquivos PHP/Python de maneira rápida, sem precisar ver todo o projeto eu estou usando o TextWrangler
  • E para arquivos de configuração, como o httpd.conf e outros, o bom e velho Vim é a solução
  • É possível programar confortavelmente sem precisar comprar um TextMate ou o BBEdit (apesar do TextMate ser muito bonito)

Se alguém usa outro editor ou discorda de alguma das conclusões me avise

5
January
17
2008

O livro “How to Think Like a Computer Scientist: Learning with Python” trata de assuntos vistos em cursos de Ciência da Computação e Sistemas de Informação, tais como Filas, Pilhas, Objetos, etc, todos voltados para a linguagem Python.

Este livro está sendo traduzido para o portugues a um bom tempo e pode ser acessado no site do projeto de tradução .  Também pode ser encontrada uma versão formatada em PDF e em ODT.

Muito interessante para quem estuda computação e cursos similares. Pretendo usar algumas partes nas minhas aulas

2
April
30
2007

Mais sobre Django

Posted In: home, python by elm

Dando continuidade ao material sobre Django, adicionei mais um exemplo de uso do framework.

0
April
18
2007

Material sobre Django

Posted In: home, python by elm

Estou ministrando uma disciplina sobre programação avançada em ambiente Web e um dos tópicos é o Django. Preparei um pequeno material sobre o framework para os alunos. Estou disponibilizando aqui. Pode ser útil para alguém.

10
March
24
2007

Komodo Edit

Posted In: home, python, ubuntu by elm

Estou testando um novo editor para programação que estou achando interessante. É o Komodo Edit, da empresa ActiveState. Ele é a versão gratuíta da ferramenta Komodo IDE que é bem mais completa. Ele possui versões para Windows, MacOS e Linux. No Ubuntu deve-se fazer o download do arquivo

Komodo-Edit-4.0.2-275451-linux-libcpp6-x86.tar.gz

que encontra-se no site da ferramenta. A instalação resume-se a executar o script install.sh e indicar onde será instalado.
Apesar de possuir menos recursos do que a versão paga ela possui várias características que um bom editor precisa, como syntax highlighting, code folding, etc. Ela possui suporte para PHP, Python (inclusive Django), Perl, Ruby e JavaScript. É uma ferramenta muito legal para trabalhar com desenvolvimento para Web. Só senti falta do suporte a versionamento de código (CVS e Subversion) que tem na versão paga. Além disso ela é bem mais leve que o Eclipse. Na verdade estou pensando em usar os comandos do CVS em um terminal e usar o Komodo para editar os códigos, consumindo bem menos memória do que o Eclipse (que possui suporte integrado ao CVS).

Uma característica legal é o suporte aos snippets, que são trechos de códigos que podem ser automatizados. Criei alguns snippets para o PHP. Para instalar é só fazer o download deste arquivo e salvar em seu computador. Depois é preciso clicar em Views->Tabs e selecionar o Toolbox. Vai aparecer um novo painel na direita do editor. Lá deve-se clicar no ícone em forma de árvore de um navegador de arquivos e criar um novo Folder. Com o segundo botão sobre o novo folder escolhe-se Import Package e indica o arquivo que foi copiado. Assim os snippets estão instalados e podem ser usados com um duplo-clique sobre ele ou com a tecla Enter. De dentro de um código sendo editado dá para usar as teclas ALT+B, selecionar o snippet e teclar Enter. Assim nem do mouse precisa :-)

Se alguém quiser melhorar os snippets ou criar os de outra linguagem coloquem nos comentários o link. Seria útil

7
February
9
2007

Achei um site chamado CoolMacApps onde os usuários podem votar no seu aplicativo favorito para MacOS. Aí pensei que poderíamos ter o mesmo para o Ubuntu. Como eu estava querendo uma aplicação para treinar mais um pouco o CakePHP resolvi fazer uma brincadeira. Aí surgiu o Cool Ubuntu Applications

Fiz em poucas horas usando o Cake, então não está muito bonito e pode haver erros. Se alguém quiser fazer um teste e me avisar de qualquer erro estou a disposição.

Quem sabe uma aplicação como essa responda aquelas questões como “Existem Killer Applications para Ubuntu?”, “Quais são minhas opções para edição de vídeo no Linux?” etc.

2