Desafio #2 – Senadores caloteiros

Depois do sucesso do “Desafio #1 – A lista negra“, e de algumas repercussões publicadas por aí,  damos continuidade à série com mais um passatempo para o fim de semana.

Novamente a idéia veio do Fabiano Angélico, da Transparência Brasil. Vamos lá:

1. Nossos ilustres senadores

Temos aqui uma lista de todos os senadores atuais e seus respectivos números de CPF.

Bônus 1 – Falta encontrar o CPF do senador Marco Maciel. Alguém se habilita?

2. A lista de devedores para o INSS

O Ministério da Previdência, como bom credor, mantém uma lista de todos os caloteiros, com CPF, CNPJ, nomes e valores.

É possível fazer uma consulta à essa lista por este formulário:

http://www1.previdencia.gov.br/pg_secundarias/paginas_perfis/perfil_comPrevidencia_09_04-A.asp

Também conseguimos navegar pelos nomes de pessoas e empresas, por aqui:

http://www1.previdencia.gov.br/devedores/consdeved.asp

Brincando com a URL da consulta, consegui mostrar um ranking dos maiores devedores:

  1. VARIG SA VIACAO AEREA RIO GRANDENSE EM RECUP
    2.512.002.963,38
  2. VIACAO AEREA SAO PAULO SA
    1.445.447.625,87
  3. TRANSBRASIL SA LINHAS AEREAS
    664.431.406,21
  4. COMUNIDADE EVANGELICA LUTERANA SAO PAULO
    434.195.266,02
  5. ESTADO DO RIO DE JANEIRO
    405.208.783,42
  6. GAZETA MERCANTIL S/A (Já fui vítima dessa aqui)
    380.652.586,65
  7. PIRES SERVICOS DE SEGURANCA E TRANSP.VALORES
    339.118.179,37
  8. EMPRESA BRASILEIRA DE CORREIOS E TELEGRAFOS
    320.305.796,06
  9. ENCOL S A ENGENHARIA COMERCIAL E INDUSTRIA
    319.362.278,18
  10. FUND. EDUCAC. DO DISTRITO FEDERAL - EM EXTINC
    315.305.102,76
  11. EST.SANTA CATARINA-SECRETARIA DA EDUCACAO E D
    313.380.862,29
  12. EBID - EDITORA PAGINAS AMARELAS LTDA
    307.021.193,79
  13. CAIXA ECONOMICA FEDERAL
    301.684.374,00
  14. INSTITUTO DE PREVIDENCIA DO ESTADO DO RIO GRA
    300.026.754,78
  15. TELESP - TELECOMUNICACOES DE SAO PAULO S/A
    299.645.695,76

Voltando ao assunto, queremos juntar A+B.

Objetivo – Cruzar a lista de senadores com a de devedores e descobrir:

a) Se existem senadores caloteiros,
b) Se existirem, quem são eles
c) Quanto devem nossos ilustres representantes

Quem conseguir nos responder a, b e c completa o desafio.  Não custa lembrar que a única condição é  que você  libere todo o código e explique como fez, para que outras pessoas também consigam reproduzir o seu resultado e aprender com ele. De preferência, use algum repositório público de código. Dúvidas: @pedrovalente e @fangelico.

Objetivos secundários

Bônus 2 – Será agraciado com nossa eterna gratidão o desenvolvedor que conseguir extrair a TODA a base de devedores do INSS, incluindo valores devidos (os detalhes que aparecem quando se clica no nome). Aceitamos CSV, dump de SQL, JSON ou qualquer formato razoavelmente reaproveitável. A base é atualizada a cada 3 meses, então devemos poder rodar a coleta novamente quando isso ocorrer. Se não tiver onde hospedar, mande para mim, no endereço pedro.valente no gmail.

Bônus 3 - A medalha de honra por serviços prestados à sociedade vai para quem, com a base acima em mãos, criar uma API pública para consulta desses dados. Algo como um serviço rodando no Google App Engine ou em algum servidor caridoso.

Bônus 4 - Encontrar os CPFs dos deputados federais e rodar o cruzamento do calote com eles.

Qualquer um pode participar. Até agora todo mundo usou Python, mas você pode usar a linguagem de programação de que mais gosta, sem problema.

Atualizarei o post com novidades. Usem os comentários para colaborar ou discutir e bom passatempo.

Atualização de 13 de abril

Como disse nos comentários, o Felipe Zorzo mandou uma solução para o desafio, na qual não encontrou-se nenhum senador devedor do INSS.

Aqui vai mais uma lista fornecida pelo Fabiano Angélico, com CPF de 2.224 parlamentares (deputados federais, vereadores das capitais e deputados estaduais).  Alguém se habilita a passá-la pela checagem e ver quem sai limpo do outro lado?

Sugiro também uma implementação bem simples e reutilizável, algo assim:

>>> import inss
# Caso não haja dívida:
>>> inss.divida('999.999.999-99')
None

# E se houver dívida:
>>> inss.divida('111.111.111-11')
[{'descricao':'Divida 1', 'valor': 5000000, 'data': 'xx-xx-xxxx'},
 {'descricao':'Divida 2', 'valor': 1000000, 'data': 'xx-xx-xxxx'}]

Março 20, 2009

Por quê usar Python e Django

Essa pergunta tem passado pela minha cabeça com uma certa freqüência ultimamente. Resolvi enumerar abaixo algumas razões.

1. Porque, segundo a Wired, é cool:

Expired: ASP.NET, Tired: PHP, Wired: Django

2. Porque, segundo o Bruce Eckel, guru do Java, é legal.

“I think I’ve been using Python for close to 12 years now, and it’s been my favorite language for much of that time…” “I think the combination of choices offered by Django + TurboGears covers people’s needs better than a single monolithic approach, and Django appears to be the right solution for a large portion of the applications out there.”

3. Porque, segundo o xkcd, é sensacional:

4. Porque, segundo o Matt Waite, jornalista que aprendeu a programar, é fácil:

“But what makes Django an even greater work of art is that knuckle-dragging, mouth-breathing, not-very-good journalism graduates from small midwestern states (ahem) can learn just enough to build something they can be proud of.”

5. Porque Guido van Rossum, criador do Python, gosta do Django:

“My personal favorite — and I expect that that will remain a personal favorite for a long time — is something named Django. … I highly recommend it.”

6. Porque o Google (onde o Guido trabalha) resolveu apostar pesado em Python+Django com o AppEngine:

“With Google’s employment of Python and Django as a first class citizen in its AppEngine infrastructure [...] this development has the potential of trusting Python into the limelight.”[fonte]

7. Porque Python é uma das linguagens cuja adoção tem crescido constantemente pelo mundo:

Ocupa a 7ª colocação no ranking do índice Tiobe de julho de 2008, com quase 5% do total de linhas de código escritas.

8. Porque Django é um framework cada vez mais estável e confiável:

“Django 1.0 will be released in early September.” (dia 2 para ser mais exato)

9. Porque segundo o Adrian Holovaty, o Django tem tudo a ver com jornalismo:

“Because journalism and computer science don’t normally go together, I’ve had some success in this silly little niche of employing Web development in news organizations — ‘journalism via computer programming.’”

10. E finalmente, porque Django ajuda a resolver as coisas rápido:

A apresentação é um passo a passo de como a pesquisa de um repórter em tabelas do Word pode se tornar uma aplicação web interativa com mapas e gráficos em apenas dois dias. O James Bennett usa Python e Django pra isso.”

Julho 24, 2008