29 de janeiro de 2009

Personal Python 3

E se Python 3 fosse meu:
  • Não haveria 'self' obrigatório como primeiro argumento na definição de um método:
    def method(arg1, arg2):
    self.attr = True
  • 'self' seria um keyword e apareceria magicamente no escopo do método.
    -- Como seria implementado isso?? Não faço a mínima idéia (portanto não poderia fornecer essa resposta ao Guido. Pelo que se dá pra inferir, se houvesse uma maneira simples de fazê-lo, Rossum já o teria feito).
  • str( ), len( ), int( ), float( ), max( ) e min( ) seriam métodos (favor não me argumentar que str( ) invoca o método __str__( ), dentre outros semelhantes, porque estou levando isso em consideração).
  • join( ) seria um método de 'list'
  • Toda a biblioteca padrão teria as funções e métodos com nomes seguindo o modelo 'nome_nome' e nada de 'nomeNome' ou 'nomenome'.
No resto, acho que tudo está excelente em Python 3.

16 de janeiro de 2009

Eric

No princípio eu usava a boa e velha IDLE, e usei por bastante tempo. Depois tentei usar Wingware, mas não me adaptei. Em seguida o Komodo Editor, esse sim gostei e usei um bom tempo. Por fim lembrei que existia um tal Eric. Dei-lhe uma chance. Batata. Muito bom, uma ótima IDE, adotei-o.

E agora o Eric tem versão para Windows. Ainda mais porque ele é fácil de instalar -- sem ter que procurar por gambiarras em fóruns pelo Google.

Atualização [resposta ao comentário de Ale]
Para achar Wingware, Komodo ou Eric basta digitar esses nomes no Google ao lado da palavra "Python". Para instalar Eric em Windows é preciso instalar a biblioteca PyQt. Para instalar o Komodo no Ubuntu só fazendo gambi complicada da pega. Se tiver alguma dificuldade é só deixar um comentário aqui.

13 de janeiro de 2009

1,95 Trilhão de Dólares de Reserva na China

Dá para acreditar? Leia a notícia >>

Se concebermos que a economia é um fenômeno social e portanto subjetivo, sempre é possível criar ilusões tangíveis e duráveis. Os EUA imprimiram trilhares de dólares conseguindo evitar hiperinflação baseados na premissa segundo a qual se o dinheiro impresso é enviado para fora não causará inflação dentro dos EUA, logo o pagamento de juros aos credores estrangeiros pode ser feita simplesmente fabricando dinheiro. Mas até quando isso vai funcionar? Até quando as pesssoas acreditarem. E se um dia falhar? Crise sistêmica.

10 de janeiro de 2009

Django & Storm

Eita que a coisa está melhorando. A API de integração de Storm com Django foi incluída no pacote do último release de Storm 0.14 que saiu ontem. De acordo com Henstridge:

(...) So it is desirable to have the two ORMs sharing a single connection. The way I’ve implemented this is as a Django database engine backend that uses the connection for a particular named per-thread store and passes transaction commit or rollback requests through to the global transaction manager. Configuration is as simple as:
DATABASE_ENGINE = 'storm.django.backend'
DATABASE_NAME = 'store-name'
STORM_STORES = {'store-name': 'database-uri'}

This will work for PostgreSQL or MySQL connections: Django requires some additional set up for SQLite connections that Storm doesn’t do.

Once this is configured, things mostly just work. As Django and Storm both maintain caches of data retrieved from the database though, accessing the same table with both ORMs could give unpredictable results. My code doesn’t attempt to solve this problem so it is probably best to access tables with only one ORM or the other.

8 de janeiro de 2009

Crônicas De Um Programador

Decidira colocar em prática a escolha pessoal de publicar o fonte das minhas bibliotecas, mesmo que eu não seja um expert.

Mas antes resolvo dar uma olhada para ver se o código estaria mais ou menos tragável. Eis então que ressoa minha consciência:
  • Hmm.. tenho que terminar de por tudo em inglês
  • Que mistureba é essa que eu fiz?
  • Nossa! Se eu puser isso na net vão rir de mim
  • Documentação, documentação...
  • Esse pedaço antigo não dá para apagar ainda
  • Será que vão entender isso aqui...

Resultado: Ainda não tive coragem de publicar.