Primeira tarefa terminada

Postado por Osvaldo Santana

Num post anterior deste blog eu determinei algumas metas para finalizar alguns projetos pendentes. Um deles era o de migrar e atualizar o site da comunidade PythonBrasil até o dia 1/2/2007.

Tarefa cumprida.

A migração de servidor, a atualização do MoinMoin, a melhoria visual do site e algumas melhorias estruturais estão prontas. Ainda sobrou um tempinho para configurar um planet para agregar os blogs dos pythonistas brasileiros. Aproveitem para dar uma visitada lá.

Agora é hora de pular pra próxima tarefa.


Como aprender inglês sozinho (self-taught)

Postado por Osvaldo Santana

Eu adoro aprender coisas novas, mas eu gosto de ter o controle sobre o meu aprendizado. Não tenho preguiça de ler nem de ouvir os ensinamentos, mas gosto de poder escolher quando, como e quais deles ouvir.

Como quase todo mundo eu também tenho preferência em aprender as coisas que eu gosto mais e não gosto de “perder tempo” aprendendo coisas que eu não gosto. Eu coloquei “perder tempo” entre aspas porque acredito que “perder tempo” e “aprender” são dois conceitos que dificilmente andam junto (ou ao menos não deveriam andar junto).

Pois bem, eu disse tudo isso porque eu não gosto de aprender idiomas. Não importa qual seja. Odiei aprender português enquanto estava na escola e não me esforcei em nada para aprender inglês nas escolas por onde passei (maioria de escolas públicas). Deixei muitos professores revoltados com o fato de que eu não prestava atenção à nenhuma aula e ainda assim conseguia boas notas. Mal sabiam eles que eu estudava a matéria que cairia nas provas. Só que do meu jeito e quando eu queria (geralmente algumas horas antes da aula).

Já comecei uns 10 cursos de inglês e até aprendi um pouco neles mas depois do segundo ou terceiro mês eu já estava desanimado e desestimulado a continuar. Isso acontece porque eu estou tendo que aprender algo que eu não gosto nas horas que os cursos determinavam e do jeito que eles queriam. Desse jeito não rola.

Mas e aí? Eu preciso saber inglês no meu trabalho. E muito. Como eu faço pra aprender inglês? Decidi então fazer um auto-aprendizado de inglês. E a minha professora seria a Internet.

Mas eu não sabia nem por onde começar até que descobri o “poder dos blogs” e dos podcastings. Coletei alguns deles que listo abaixo e adquiri 3 livros essenciais para o aprendizado do idioma.

  • Internet – blogs
    • English Experts – Fornece artigos com uma freqüência muito boa além de dicas excelentes de leitura e de outros materiais auxiliáres. Eu acabei de ler um artigo excelente sobre “Conectivos” que parece ser o primeiro de uma série. Publica feed completo, o que o torna ainda melhor.
    • Inglês pra quê? – Outro site que segue a mesma linha do anterior. Também tem uma freqüência muito boa de publicação e o destaque fica por conta da série com phrasal verbs que vem sendo postada. Também tem feeds completos.
    • Tecla SAP – Com um enfoque mais divertido e com histórias engraçadas de pessoas que se deram mal por não saberem inglês é outra boa dica para quem está aprendendo inglês. Infelizmente os feeds não funcionam muito bem e não são completos.
    • Inglês online – Conheci a Ana Luiza em um evento em Curitiba e fui apresentado ao site que disponibiliza um curso online de inglês. Não é apenas um blog mas mesmo assim disponibiliza um. Atualização 17/12/2009: adicionado.
  • Internet – podcasting
    • English as a Second Language Podcast – O mais bem produzido dos podcasts que avaliei é gratuito (exceto se você quiser adquirir o material auxiliar) e tem conversas usadas no dia-a-dia das pessoas seguido de explicações sobre o diálogo. Como o serviço é gratuito fiz uma doação de $5. Para isso é necessário criar uma conta no Paypal. Não é muito mas se todos os que eu indicar fizerem o mesmo o serviço terá dinheiro pra se manter.
    • Dicas do ‘Inglês pra Que?’ – Além do ESLPod o Levy Carneiro do “Inglês pra Que?” também fez uma compilação muito boa de podcastings úteis para o estudante.
  • Livros
    • Oxford Dictionary, Thesaurus, & Wordpower Guide ou Oxford Large Print Dictionary – Um dicionário Inglês/Inglês é essencial. Eu sei que é algo caro mas, acredite, eu já comprei um “Michaelis” e considero o dinheiro gasto com ele perdido. A diferença da qualidade do dicionário Oxford e a sua utilidade justificam o gasto extra. Pense também que esse dicionário lhe servirá por toda a vida e que com essas dicas que estou dando você já está economizando bastante dinheiro.
    • English Grammar in Use – Excelente livro com muitos exercícios para praticar. Ele tem a seqüência normal das atividades e mais sugestões extras para o caso de você querer se aprofundar mais em um tópico determinado. Eu não costumo gostar de fazer exercícios, mas esse livro é diferente.
    • Oxford Phrasal Verbs – Eu ainda não tenho esse e por essa razão tenho que ficar emprestando o de um companheiro de trabalho. O número de variantes de phrasal verbs é tão grande que merece um dicionário exclusivo para tratar deles.
    • Inglês + Fácil Gramática – Essa é uma gramática de consulta rápida. Serve para tirar dúvidas esporádicas sobre gramática. A aquisição deste livro é opcional. É um dos que menos uso apesar de já ter me ajudado algumas vezes.
    • Longman Dicionário Escolar Inglês/Português-Português/Inglês – Esse dicionário não é muito completo mas o “conjunto da obra” torna-o excelente para aqueles que estão aprendendo inglês agora. O dicionário português/inglês é extremamente útil para enriquecer nosso vocabulário, os verbetes são fartamente ilustrados, o CD-ROM é prático, os ‘boxes’ explicativos para expressões e gírias são fantásticos e o preço é excelente. Não deve ser o único dicionário em sua casa, mas é um bom começo.

Mais do que ter esse material terei que ter uma grande disciplina para dedicar tempo necessário para estudar.

Espero colocar aqui a minha evolução no aprendizado do inglês para, talvez, servir de exemplo para outras pessoas de que é possível aprender inglês gastando muito pouco ou sem ter que freqüentar as chatíssimas aulas de inglês que andei freqüentando.


Expressões Regulares – Uma abordagem divertida

Postado por Osvaldo Santana

Expressões Regulares - Uma abordagem divertida (ISBN 8575221000)Essa será, sem sombra de dúvidas, a resenha de livro mais complicada de se escrever que já apareceu por aqui. As razões para isso são:

  1. O autor deste livro é um grande amigo meu.
  2. O meu nome consta na lista de agradecimentos da obra.
  3. Eu sinto uma inveja infinita da forma com que o esse autor escreve.
  4. Eu tenho uma edição do antigo guia de referência, que deu origem à este livro, autografada pelo autor.

O livro chegou pra mim via correio e a ansiedade fez com que o prazo de entrega da Livraria Cultura se tornasse insuportável. Mas agora que estou com ele em mãos e já tive tempo de avaliar o material e até mesmo ler uma parte significativamente grande dele eu me sinto apto a fazer essa resenha.

Primeiro de tudo o livro é pequeno (em dimensões e volume) e após folheá-lo eu pude notar que boa parte do antigo guia de referência de expressões regulares estava lá. Ótimo sinal. O guia de ER é o melhor que eu tenho.

As novidades ficam por conta de revisões e correções de “bugs” e à algumas extensões ao capítulo que trata das ferramentas. A forma de utilizar expressões regulares em novas linguagens importantes, como Ruby, fazem parte desta nova obra.

A capa é muito legal e representa fielmente a forma com que o conteúdo é exposto no livro. Diversão. Expressões Regulares são um assunto chato e por vezes complexo e a forma com que o Aurélio lida com isso é impressionante. Ele realmente transforma em diversão.

Costumo ouvir que é fácil escrever de maneira didática sobre um assunto que você domina. Eu discordo disso porque eu, modestia à parte, entendo bem de Python e não consigo escrever da mesma maneira. Outros dizem que a prática da escrita a aprimora mas também acho isso bobagem porque eu e o Aurélio costumamos escrever em quantidades muito semelhantes (ele só me ganha nesse livro :) ).

Mas deixando a rasgação de seda de lado e voltando ao livro eu posso afirmar que esta obra faz parte da minha lista de “Leitura Obrigatória” que eu vinha publicando até pouco tempo atrás.

Na verdade eu acho que esse livro deveria ser dado por empresas da área de informática a seus funcionários porque as expressões regulares são uma ferramenta extremamente útil para todo tipo de profissional de nossa área, podendo ser usada por administradores de rede, e programadores.

A diagramação da editora Novatec, como sempre, é primorosa e o artifício das ilustrações melhoram ainda mais a linguagem do livro.

Aliás, eu preciso deixar aqui os meus parabéns para a editora Novatec e a sua política de apoio aos autores nacionais. O Rubens Prates (dono da editora) é o tipo de brasileiro que deveria ser usado como exemplo de empreendorismo num segmento de mercado tão importante e tão pouco valorizado pelo nosso povo. Eu só acho que ele deveria publicar um livro sobre Python na editora dele :P (além do guia que já foi publicado e atualmente saiu de circulação)

Uma outra observação para a Novatec fica por conta da distribuição: eu moro em Recife, uma das maiores cidades do nordeste brasileiro, e não pude encontrar o livro em nenhuma livraria daqui onde temos a Saraiva mega-store e a Livraria Cultura mega-store (entre outras).

Para comprar (não perca tempo): Expressões Regulares – Uma abordagem divertida.


Novo Python para plataforma Maemo

Postado por Osvaldo Santana

Saiu! Depois de um longo tempo trabalhando nos pacotes do Python, tirando uma coisinha aqui, colocando outra ali, arrumando outras tantas finalmente fizemos o lançamento.

Essa nova versão do Python para Maemo já vem com o Python 2.5 e uma série de outras melhorias e componentes novos.

O aviso do lançamento ficou assim:

Python for Maemo -- new version released
----------------------------------------

We from INdT (Nokia Institute of Technology -- Brazil) have the pleasure
to announce the new version of Python for Maemo, for Maemo SDK 2.1
("Scirocco") and SDK 3.0 ("Bora"). Highlights of this version:

* Support for Nokia N800[1] device/software (SDK 3.0)
* Language updated to Python 2.5
* Updated bindings
* Added bindings to new Hildon widgets
* Improved OSSO bindings
* Project home has moved to Garage.maemo.org.

The new project page is http://pymaemo.garage.maemo.org. There you can
find directions about repositories, installation on SDK/device etc. The
release notes for this version can be found at

http://pymaemo.garage.maemo.org/pymaemo25_releasenotes.html.

We encourage everybody to try the software and report bugs/improvement
requests.

Thanks,
Osvaldo Santana Neto

[1] http://europe.nokia.com/phones/n800

Mecânico vs. Engenheiro Mecânico

Postado por Osvaldo Santana

Depois de ler um artigo muito interessante que fala sobre o uso das “super ferramentas” e de acompanhar a fase de iniciação de dois ex-desenvolvedores Delphi que decidiram investir no aprendizado de Python eu andei pensando que existem muitos programadores no Brasil que julgam ser importante se tornar apenas um programador “mecânico” e não um programador “engenheiro mecânico”.

Eu programo há muito tempo. Desde a época em que os programadores tinham que digitar o número das linhas de um programa para que o computador pudesse saber a ordem de execução das instruções. Depois disso eu “evolui” e passei a ter como companheiro um bom editor de textos e uma dupla inseparável de compilador e “linkeditor” que eram executados de maneira quase manual.

As ferramentas de desenvolvimento foram então evoluindo e chegamos então à era das IDEs e super-IDEs que transformavam as intermináveis horas de digitação de um programa em uma meia-dúzia de cliques de mouse.

Tudo muito bom, moderno, legal e ágil, mas ao mesmo tempo emburrecedor. Emburrecedor porque deste ponto em diante os programadores passaram a usar apenas as ferramentas e a usar somente aquilo que elas lhes ofereciam. Passamos então a “consertar os carros” usando ferramentas prontas e pré-fabricadas e deixamos de entender os conceitos físicos e científicos envolvidos no funcionamento dos “motores” desses carros.

A dependência dessas ferramentas e o decorrente emburrecimento dos desenvolvedores fez com que a adaptação desses mesmos desenvolvedores às novas tecnologias se tornasse muito mais complexo do que era antes.

O que eu quero dizer com isso tudo é que de fato é muito bom você ter ferramentas poderosas para agilizar o seu trabalho mas se você se preocupar em usar apenas essas ferramentas você estará limitando suas possibilidades ao que essa ferramenta oferece.

Quando você decidir se tornar um desenvolvedor pense se você pretende ser só um “mecânico” preocupado em usar as ferramentas prontas ou se você quer ser um “engenheiro mecânico” que além de usar as ferramentas também são capazes de criar novas ferramentas.

E vejam: eu não sou contra IDEs, mas acho que os programadores deveriam ser capazes de trabalhar sem elas.


Ser juiz é…

Postado por Osvaldo Santana

Senhor juiz... Pare agora!

…proteger os seus colegas de profissão.

…achar que nepotismo nos olhos dos outros é refresco.

…julgar baseado no valor dos honorários dos advogados das partes.

…considerar correto “matar” o mensageiro ao invés do autor da mensagem.

…se sentir descontente em ter os maiores salários do funcionalismo público. (casos das revisões salariais de juízes e funcionários do judiciário)

…se sentir Deus supremo do alto de seus altares.


Novo Nokia com Linux

Postado por Osvaldo Santana

Durante a CES 2007, em Las Vegas, a Nokia lançou o seu novo dispositivo da família de internet tablets, o N800. Os N800 vieram para susceder os “antigos” N770.

Os internet tablets são dispositivos muito parecidos com os já conhecidos PDAs mas com o foco voltado para o acesso à Internet. Por essa razão já possuem o navegador Opera, plugin Flash 7, suporte a Javascript, etc em um hardware extremamente poderoso e uma tela com resolução de 800×480 que permite que as páginas sejam rendererizadas sem muitas adaptações (coisa que não acontece com outros dispositivos como celulares e PDAs convencionais).

Nokia N800

Agora a parte mais interessante desses dispositivos é que neles rodam a plataforma Maemo que é totalmente baseada em Linux e outros softwares livres e permite que todos os desenvolvedores Linux que portem suas aplicações facilmente para esses dispositivos.

Aqui no INdT nós trabalhamos basicamente com essa plataforma e é muito legal vê-la sendo usada em um produto tão legal quanto esse.

A parte triste da notícia é a de que não há previsão de venda desses equipamentos aqui no Brasil. Quem conhece alguém na europa pode encomendar um por cerca de £269.


Eu programo em Foo, eu sou superior!

Postado por Osvaldo Santana

Essa eu recebi de um amigo do trabalho.

Hierarquia de programadores

Viram? Nós somos inferiores à programadores Perl! :) Isso é uma afronta…