Python Decorators - Argumentos

quinta-feira, 29 de outubro de 2009, 19:25 Eduardo Rolim 3 Comentários

Bom dia leitores!

Hoje estou dando continuidade ao post da semana passada, sobre Decorators em Python. Agradeço à todos que demonstraram interesse em saber mais sobre esse recurso da linguagem, que só agora está se tornando mais popular. Agradeço também àqueles que enviaram dúvidas por e-mail e peço que as envie nos comentários do blog, pois sua dúvida pode ser a dúvida de alguém.

Como falei na semana passada, decoradores de função não são nada mais do que funções que recebem outras funções como parâmetro e retornam um objeto (também do tipo função) que possui as características tanto da função original quanto da decoradora.

No entanto, no post passado trabalhamos somente com decoradores e funções sem argumentos. Assim eu fiz pois achei que ficaria mais fácil aprender como funcionam os decoradores se separasse o conceito de suas especialidades.

3 Comentários:

Todos os comentários serão moderados (lidos e avaliados) antes de serem postados. Não serão tolerados comentários que:

- Contenham ofensas pessoais ou difamação contra qualquer pessoa ou marca.
- Declarem ou incentivem o racismo ou qualquer tipo de preconceito.
- Possuam links de comércio eletrônico, conteúdo adulto ou divulgação de qualquer site.

Sua opinião é sempre bem vinda e dúvidas serão esclarecidas na medida do possível. :)

Python Decorators - Uma Introdução

sábado, 24 de outubro de 2009, 12:41 Eduardo Rolim 3 Comentários

Durante meu aprendizado em Python, um dos grandes pontos que sempre tive dificuldade de entender era o uso dos tais decoradores de função. Muitos tentaram me explicar, li vários textos mas só entendi realmente quando vi uma aplicação que efetivamente usava os tais decoradores para resolver alguns problemas.

Em vista dessa dificuldade natural de se entender como funcionam essas estruturas dentro do Python, me dispus a escrever este post explicando de uma forma fácil como funciona este recurso de linguagem.

Decorators - Uma introdução



Antes de mais nada, os decoradores em Python são bem diferentes do padrão de projeto chamado Decorator. Você pode, no entanto, usar decoradores para implementar o padrão de projeto. O recurso de decoradores do Python pode ser melhor entendido quando comparado com uma macro, como o pré-processador de texto do C.

3 Comentários:

Todos os comentários serão moderados (lidos e avaliados) antes de serem postados. Não serão tolerados comentários que:

- Contenham ofensas pessoais ou difamação contra qualquer pessoa ou marca.
- Declarem ou incentivem o racismo ou qualquer tipo de preconceito.
- Possuam links de comércio eletrônico, conteúdo adulto ou divulgação de qualquer site.

Sua opinião é sempre bem vinda e dúvidas serão esclarecidas na medida do possível. :)

Casas Astrológicas

quinta-feira, 15 de outubro de 2009, 18:25 Eduardo Rolim 3 Comentários

As Casas Astrológicas são divisões da esfera celeste, projetadas a partir de um dado local na Terra.

Surgem do cruzamento entre os dois eixos principais: um horizontal Ascendente / Descendente) e outro vertical (Meio-do-Céu / Fundo-do-Céu). Estes eixos correspondem a projeções dos quatro pontos cardeais.

O Ascendente, ou Oriente, corresponde ao Nascente. Por oposição, o Descendente ou Ocidente corresponde ao Poente.

O Meio-do-Céu ou Sul e o Fundo-do-Céu corresponde ao Norte.


Uma regra simples define muito bem o nosso mapa natal:

3 Comentários:

Todos os comentários serão moderados (lidos e avaliados) antes de serem postados. Não serão tolerados comentários que:

- Contenham ofensas pessoais ou difamação contra qualquer pessoa ou marca.
- Declarem ou incentivem o racismo ou qualquer tipo de preconceito.
- Possuam links de comércio eletrônico, conteúdo adulto ou divulgação de qualquer site.

Sua opinião é sempre bem vinda e dúvidas serão esclarecidas na medida do possível. :)

Contornando o Trafic Shaping ...

quinta-feira, 8 de outubro de 2009, 09:03 Eduardo Rolim 0 Comentários

Não chega a ser um segredo de Estado que provedores de banda larga utilizam técnicas para moldar o tráfego online gerado por seus usuários. É uma maneira de impedir que um pequeno grupo de heavy users consuma tanta banda que torne a experiência em geral insatisfatória para a grande maioria.

A desculpa oficial dos bastidores do mercado tem nome: traffic shaping. Certos protocolos ou programas são bloqueados ou têm velocidade de acesso à internet reduzida como forma de não consumir banda demais. Não chega a ser uma surpresa constatar que redes P2P e torrent estão entre os mais atingidos pelo traffic shaping.

Oficialmente, nenhuma prestadora de serviços de acesso em banda larga brasileira assume e justifica o uso das técnicas. Mas, em uma espécie de força-tarefa gigantesca ao redor de um mesmo tema, usuários juntaram indícios suficientes para implicar o nome de grandes provedores de banda larga do País.

Ainda assim, vale lembrar que a maioria dos provedores coloca em contrato uma garantia de velocidade mínima ofertada - na maioria, 10%...

0 Comentários:

Todos os comentários serão moderados (lidos e avaliados) antes de serem postados. Não serão tolerados comentários que:

- Contenham ofensas pessoais ou difamação contra qualquer pessoa ou marca.
- Declarem ou incentivem o racismo ou qualquer tipo de preconceito.
- Possuam links de comércio eletrônico, conteúdo adulto ou divulgação de qualquer site.

Sua opinião é sempre bem vinda e dúvidas serão esclarecidas na medida do possível. :)

HTC Hero - The Good, The Bad and The Ugly

sexta-feira, 2 de outubro de 2009, 21:33 Eduardo Rolim 2 Comentários

Segunda-feira, mais precisamente ao timestamp 1252947600, eu recebi meu HTC Hero nas mãos. Já fuçei, já baixei programas, já procurei de tudo para ele, e agora estou entrando no estado em que somente as boas coisas que me agradaram ficam. Mas, ainda é pouco tempo para poder falar mais abertamente desse celular. Então, resolvi lembrar dos bons e velhos tempos de Clint Eastwood e fazer um review diferente. Então, aproveitem.

Só para lhes informar, este não é o primeiro "espertofone" que eu compro. Inicialmente eu tive um N91, primeiro com funções mais avançadas que o até então surrado Nokia 6230 que eu tive. O N91 vinha com vários programas instalados e suporte à Java3D, o que eu achava incrível na época.

Em termos de recursos, o 6230 era quase imbatível para os celulares de seu tempo e categoria. Só não vinha com o sistema Symbian, o que era uma pena. No entanto, eu acabei comprando o N91 imaginando que seria uma evolução do mesmo. Minha decepção só não foi maior que meu desgosto pela tal plataforma Symbian ... Sistema lento, travava frequentemente (as vezes tinha de tirar a bateria do casco) e a instalação de programas era nebulosa e só para os pacientes.

Em seguida, voltei de novo pros celulares. Comprei um Samsung D600 pra mim e minhas esperanças de ter um celular melhor voltaram. Não era um espertofone, mas ele era esperto em várias coisas, assim como era o Nokia 6230...


Os tempos passaram, e eu senti novamente a necessidade de trocar de celular. Dessa vez iria tentar uma empresa que tinha recentemente ouvido falar, chamada HTC. Eles ofereciam um smartphone chamado Touch, com o Windows Mobile. Eram os tempos do lançamento de um tal de iPhone, nova promessa da Apple para desafogar as dívidas da empresa. No começo me senti muito feliz com o mesmo, mas logo os problemas foram aparecendo. A impressão geral que eu tinha era a de que o software instalado nele era muito mais pesado do que o hardware conseguia rodar. Um dos problemas clássicos era a necessidade de fechar a maioria dos programas para poder rodar o software da câmera, e o enchimento gradual da partição do sistema operacional, o que me levava a hard resets a cada um mês ou dois. Ele era uma promessa, e realmente era melhor do que eu já tinha experimentado, mas ainda tinha um longo caminho pela frente.

Fiquei com esse durante muito tempo, sofrendo e sendo feliz com ele, até que decidi então voltar mais uma vez para o mundo dos celulares. Comprei um Samsung D900i, mas definitivamente não sentia mais aquela coisa com os celulares. Sentia que faltava algo, que meu celular podia ser mais esperto, me ajudar mais. Então, depois de alguns anos, novamente encarei comprar meu terceiro espertofone. Dessa vez fiz um estudo intensivo do que eu realmente queria, e entre todos os recursos, o que mais me importava era: "interatividade" e "facilidade de uso". Nesse ponto, passaram pelo meu crivo vários celulares. Samsung Omnia, HTC Diamond, Qtek, Motorola, iPhone [3G], até mesmo duas plataformas livres, LiMo e OpenMoko que, aparentemente, não foram para frente.

Já estava fadado a desistir e encarar novamente o Windows Mobile (pra quem usa linux, um celular Apple pode ser realmente um pesadelo), quando fiquei sabendo de um tal SO do Google. Fazia algum tempo que eles falavam disso, buzzwords surgiam e nada, até que revelaram ser um sistema para celular, baseado em Linux. Num primeiro momento me empolguei com a idéia e fui à caça de informações sobre o bixinho. Depois de um tempo, saiu o G1 e minha vontade de comprá-lo era grande, mas ainda me sentia insseguro. Muitas pessoas reclamavam da duração da bateria, do hardware lento demais para o SO, entr outros. Depois, saiu o HTC Magic e melhorou a coisa, mas lá no fundo ainda não me agradava. Foi então que numa tarde ensolarada de sábado, ao entrar no site Mobile Review, me deparo com o mais novo lançamento da HTC, um tal de Hero, que vinha com uma interface baseada em Flash, rodando em cima do Android.


No começo, fiquei cético, mas depois meu ceticismo foi tomando lugar à uma admiração velada à esse que parecia ser finalmente um espertofone que encararia o grande iPhone 3G. E realmente ele era tudo isso. Bom hardware, vinha com GPS, ótimos sensores de movimento, ótima tela (finalmente capacitiva), ótima interatividade, e o melhor de tudo, vinha com o Android Market, um "repositório" de programas para a plataforma Android.

Não durou muito tempo minha admiração velada. No começo do mês de setembro eu acabei comprando o meu Hero via um interceptador internacional. Ao contrário do que fiz com os outros, encarei esse com ceticismo novamente, evitando me exaltar e não perceber as falhas numa investigação inicial.

Daí, depois de comprá-lo, estou aqui escrevendo para vocês o que achei desse celular até o momento. foram poucas semanas de testes, ainda estou experimentando os seus recursos, mas até agora não há o que reclamar de verdade sobre ele, só colocações que depois vou averiguar serem pertinentes ou não. Vamos lá.

HTC Hero - Primeiras Impressões - The Good, The Bad and The Ugly


The Good:

* Android OS – É Linux, não tenho mais nada para acrescentar!

* O dispositivo em si - Um excelente design, uma boa forma, e ainda vêm com Teflon na versão em branco, que evita que o mesmo suje com facilidade (veja bem, com facilidade).

* O trackball - Nunca imaginei que esse recurso, que no início achei dispensável, poderia ajudar tanto. Hoje considero um recurso praticamente indispensável. Desde navegação até o zoom da câmera e movimentação nos programas baseados no Maps, é sem dúvida muito melhor que os 4-way buttons de outros celulares.

* Suporte a Python (e outras linguagens, como Perl, Ruby e Lua) - Sem comentários, simplesmente fantástico. Você mesmo pode criar seus scripts para facilitar algumas tarefas diárias (como mudar pro modo silencioso se ele estiver virado pra baixo ou enviar uma mensagem quando alguém lhe ligar) Graças ao Android Scripting Environment (http://code.google.com/p/android-scripting/)

* Sincronização com Linux - Simplesmente fascinante. O modo rede é totalmente automático. Hoje substitui meu modem MF 636 com total eficiência. Só no windows que é necessário instalar um driver, que se encontra dentro do SD Card que vêm por padrão com ele. O modo pendrive tb funciona perfeitamente.

* Android Market - O que têm tirado meu sono nas quentes noites Palmenses. Sempre antes de dormir dou uma passada por lá para procurar algum software diferente. Têm tudo o que eu preciso (e até o que não preciso tb).

* Qualidade da Ligação - Testei pouco, só nos primeiros dias. ótima recepção e com baixo ruído.

* O teclado virtual - Não testei na versão Android, só na versão Sense UI. Muito bom em identificar a digitação. As vezes erra, mas no geral têm uma excelente precisão. Dá até pra conversar no MSN sem se sentir irritado.

* Desenvolvimento de Software - Já citei o ASE, mas no caso específico de desenvolvimento de aplicativos, bate longe o iPhone. API aberta, posso desenvolver no Linux ou no Windows usando o Netbeans (depois conto como botei pra funcionar com ele). Ah sim, não preciso pagar 100 Obamas pra usar a SDK. (Hadooken !!)

* Conector para fones de ouvido padrão 3.5mm (P2 ou J2) - Ao contrário de todos os outros espertofones da HTC, finalmente eles colocaram um conector padrão P2 (com suporte a controle). Finalmente posso usar meus fones Sony com eliminação de ruído externo hehehe.

The Bad:

* Falta de um aplicativo melhor para músicas - Nada contra o atual, mas ter de ficar editando tags dos arquivos pra poder montar playlists não é a melhor opção de organização de músicas. Funcionalidade boa, mas podia ser mais intuitivo em vários pontos, e com mais opções de personalização. E o pior de tudo, não guarda a última playlist que vc estava ouvindo. Além do mais, é um aplicativo muito pesado e as vezes reinicia o Hero quando vc tira o fone enquanto apertando algum botão do controle.

* Sem aplicativos pagos para o Brasil (e grande parte do mundo) - Acredito que eles resolverão isso logo. Muitos dos bons jogos são pagos, a não ser que vc goste de jogar bricks e opensudoku ...

* Responsividade da tela - Como todas as telas capacitivas, as vezes ele não responde bem quando você não está tocando a borda de metal em volta da tela. Nem todo mundo nota, só quem já usou um iPhone e praticamente flutuava o dedo na tela. Não acontece sempre, e mesmo quando acontece, não é algo que chega a irritar.

* Ligeiro lag na UI - A interface Sense UI é realmente uma maravilha aos olhos e à usabilidade desse smartphone. No entanto, as vezes demora um pouco para responder a toques de tela e movimentações, principalmente quando você acabou de clicar em Home e a UI está se atualizando. No entanto, é muito sutil e só quem já usou o iPhone pode realmente perceber uma diferença. No entanto, o lag definitivamente não é aquele monstro que alguns reviews dizem parecer. Se querem responsividade alta da UI, usem um com placa de vídeo da nVidia hehehehe.

The Ugly:

* O Fone que acompanha o Hero - Não que seja ruim, mas há tantos fones bons no mercado, que o que acompanha ele parece frugal em suas respostas de graves e potência sonora. Outro detalhe é que ainda é daqueles bolinha, que ficam dependurados na cavidade auricular. Esperava pelo menos um do tipo plugue interno. Usei muito pouco, troquei logo pelos meus fones Sony.

* Reprodução de Vídeo - Não é totalmente feio, mas em vídeos mais longos vc nota um lag em relação ao audio. Mesmo em resoluções baixas é difícil conseguir uma velocidade de reprodução decente. Os vídeos congelam por alguns segundos e de repente disparam em velocidade até alcançar o ponto onde deveriam estar reproduzindo.

---

O Hero têm seus defeitos, quase todos de performance/responsividade. No entanto, acredito que todos esses problemas possam ser resolvidos com updates no software base. só uma última consideração que acho válida. A plataforma Android está constantemente sendo atualizada, mas não tenho visto esforços da HTC em disponibilizar tais updates disponíveis para os usuários do Hero (e agora o Magic com Sense UI). Espero que em breve eles atualizem para as versões mais atuais, que contam com várias correções de bugs e novos recursos, como um Market mais organizado e melhorias no sistema em geral.

Finalizando, de todos os espertofones que testei, o Hero realmente está me cativando, é até agora o melhor que já passou pelas minhas mãos e aparentemente o melhor com Android até agora e certamente é uma alternativa altamente viável aos iPhones da Apple.

Em breve, postarei mais sobre minhas peripécias com esse novo "espertofone" que têm se mostrado mais esperto que eu imaginava. Abraços.

Links:

HTC Hero vs Apple iPhone 3GS - Dogfight
Parte 1: http://www.youtube.com/watch?v=G5F0Ruzwos8
Parte 2: http://www.youtube.com/watch?v=5xMUEhFBJ8g
Parte 3: http://www.youtube.com/watch?v=xa1zvj5YDy4

Apresentação do HTC Hero

2 Comentários:

Todos os comentários serão moderados (lidos e avaliados) antes de serem postados. Não serão tolerados comentários que:

- Contenham ofensas pessoais ou difamação contra qualquer pessoa ou marca.
- Declarem ou incentivem o racismo ou qualquer tipo de preconceito.
- Possuam links de comércio eletrônico, conteúdo adulto ou divulgação de qualquer site.

Sua opinião é sempre bem vinda e dúvidas serão esclarecidas na medida do possível. :)