Garota sem Fio de volta à ativa

Na época que eu tinha um Compaq Aero 1500 (era parecido com um Palm, mas da Compaq e rodava Windows CE), lá se vão muitíssimos anos, bem antes de eu sonhar em escrever um blog, eu conheci o site da Bia Kunze, “Garota sem Fio”.

Eu lia todos os posts e ficava impressionado com o entrosamento daquela dentista com a tecnologia (O domínio do site ainda era odontopalm.com.br). Tirava o chapéu ao ler coisas do tipo fazer hotsync do Palm para baixar os e-mails via internet discada num celular Sony Ericsson T3! (Tá, eu abusei das velharias com as expressões, Baixar e-mail, Hotsync, Palm, internet discada e Sony Ericsson T3, mas eu me lembro de um post exatamente assim)

Um tempo depois eu criei o finado blog NokiaBR e, através dele, conheci mais de perto muita gente que eu admirava e que eu nunca imaginava conhecer, dentre essas pessoas, a Bia Kunze (a Garota sem Fio).

No episódio do fechamento do NokiaBR, ela me deu uma força muito grande, divulgando o novo blog, o Zeletron, e reclamando muito da decisão da Nokia. Nem tenho como agradecer por aquilo. Na época eu nem sabia que ela já estava com problemas de saúde sérios e mesmo assim me ajudou bastante!

Pois bem, a Bia Kunze vem desde 2010 passando por uma série de problemas de saúde gravíssimos, mas conseguiu dar a volta por cima e, nos últimos meses, vem fazendo progressos enormes na sua recuperação a ponto de virar uma atleta (corrida e remo)!

Hoje ela fez um post sobre sua doença e recuperação. Vale a pena visitar o blog dela e ler o post. Deixo o link abaixo.

http://www.garotasemfio.com.br/blog/2013/01/31/minha-historia/

Aproveito o post para parabenizá-la pela recuperação e de dizer que estávamos aqui todos rezando e torcendo pelo restabelecimento da sua saúde o quanto antes.

Quer saber quantas pessoas nascem e morrem por segundo e aonde?

Tem um belo app para isto que roda, por enquanto, apenas no iPad. Quando pensamos neste app a idéia foi fazer algo visualmente impactante que permitisse aos alunos e também a marmanjos conhecer os países do mundo, um pouco de sua história, suas características econômicas e demográficas. E ter uma noção de como é ver o planeta pulsando.

Chama-se Population Clock HD: http://itunes.apple.com/app/population-clock-hd/id590689957?l=en&mt=8

Veja abaixo algumas telas (Clica que Amplia).

E quanto custa o Population Clock HD? Zero. É grátis!

Faça em casa sua Tomografia Computadorizada

A tomografia computadorizada foi uma das grandes revoluções da medicina no século XX. Tanto é assim que deu o prêmio nobel de Medicina ao engenheiro Godfrey Hounsfield em 1979 sendo que as primeiras tomografias para uso médico são de 1971.

Eu sei que no Brasil você não vai poder fazer sua toografia em casa porque não vai achar as peças, mas veja o que este rapaz fez em sua garagem e babe de inveja.

Código de Países: um guia definitivo

Num projeto, para tablets, que vamos mostrar em breve para vocês precisamos importar dados usando country codes (códigos de países). Parece algo simples mas como há multiplos padrões a coisa pode ficar complicada e montar uma planilha mais complicado ainda.

Acontece que a definição de país não é algo simples: pense rapidamente na diferença que há entre Inglaterra, Reino Unido e Grã Bretanha. Ou o caso de Porto Rico. E por aí vai.

Há o FIPS-10-4 que é a forma de abreviatura de duas letras que os EUA usam para se referir aos países. O famoso CIA World Factbook usa este. Há também o ISO-3166-1 que tem três versões: uma com duas letras, uma com três letras e uma com 3 dígitos numéricos. Outro código é o STANAG-1059 que é usado pela OTAN para se referir aos países usando 3 letras maiúsculas.

Por fim há o código de duas letras utilizado para indicar o país nos endereços DNS. São os chamado código TLD de países e são geridos pela IANA.

Se você ficou assustado com toda esta sopa de letras fizemos uma tabela para facilitar a sua vida que pode ser baixada em: http://pastebin.com/pufS81HX

ccTLD_1000b

É preciso saber programar para conferir título de capitalização

Em primeiro lugar eu queria dizer que títulos de capitalização são a maior safadeza já inventada. É a típica parceria Caracu, onde o Banco entra com a cara.

Tendo dito isto, talvez você não saiba como é feito o sorteio dos tais prêmios. Um infeliz amigo que foi obrigado pelo seu gerente a fazer um título de capitalização pediu um help ontem e coloco abaixo a forma como resolvi.

Vamos às regras do título de capitalização do Banco Maldito (você sabe qual é):

  1. Só valem os sorteios da Loteria Federal feitos no último sábado do mês.
  2. Se o mês for Março, Junho, Setembro ou Dezembro vão ser escolhidos dois números. Um tradicional e outro especial.
  3. O número tradicional é formado pela dezena simples e unidade simples do primeiro prêmio da loteria federal e pela unidade simples do 2o, 3o, 4o e 5o prêmios da loteria federal.
  4. No caso do sorteio especial o segundo número é formado pela centena simples do primeiro prêmio da loteria federal e pela dezena simples do 1o, 2o, 3o, 4o e 5o prêmio.

Para resolver você precisa de uma tabela de resultados da loteria federal que pode ser conseguida aqui: http://www1.caixa.gov.br/loterias/loterias/federal/download.asp

Com isto em mãos e o programa em Python que vai abaixo você resolve seu problema. (obviamente os mestres de Python que leem o blog terão soluções melhores).

Mas o melhor conselho é *nunca* fazer título de capitalização.

Título de Capitalização é safadeza

#!/usr/bin/env python
import urllib
import time
import calendar
from bs4 import BeautifulSoup
 
fhtml = open("D_LOTFED.HTM").read()
soup = BeautifulSoup(fhtml)
meus_numeros = [
394465,558487,
572418,640294,
439592,329068,
368570,765895,
023206,847826]
 
l = []
for i in soup.table.tbody.findAll("tr"):
        a = []
        for k in i.findAll("td"):
                a.append(k.text)
        l.append(a)
 
def modalidadeMensal (a1):
        return int(a1[2][3:]+a1[3][4]+a1[4][4]+a1[5][4]+a1[6][4])
 
def modalidadeEspecial(a1):
        return int(a1[2][2:3]+a1[3][3]+a1[4][3]+a1[5][3]+a1[6][3])
 
def isLastSaturday(st):
        tupl = time.strptime(st,"%d/%m/%Y")
        if tupl[6]==5:
                if ((tupl[2])+7) > calendar.monthrange(tupl[0],tupl[1])[1]:
                        return True
        return False
 
def isEspecial(st):
        if (isLastSaturday(st)):
                tupl = time.strptime(st,"%d/%m/%Y")
                if tupl[1] in [3,6,9,12]:
                        return True
        return False
 
for i in l[1:]:
        if isLastSaturday(i[1]):
                print i[0],i[1],modalidadeMensal(i)
                if modalidadeMensal(i) in meus_numeros: print i
        if isEspecial(i[1]):
            print "*",i[0],i[1],%modalidadeEspecial(i)
            if modalidadeEspecial(i) in meus_numeros: print i

O Bing tem o Google não tem

No nosso novo projeto, que o @javsmo mencionou de passagem no post sobre Geocoding, usamos direto o Google Maps API como você pode ver no site: www.horariodemissa.com.br

Acontece que fiquei surpreso de saber que o Google não conhece nenhuma rua de Porto Velho, capital do estado de Rondônia. Vejam a figura abaixo:

Google Maps sucks

Agora observem o Bing Maps (que e Nokia Maps)

Bing Maps better than Google Maps

Estou começando a pensar em trocar o Google pelo Bing nas minhas buscas de mapas.