Feliz 2011!

Como resolução de fim de ano, resolvi criar uma planilha de Excel com o resumo dos meus gastos de 2010.

Para tanto, tive que pegar um extrato por mês no meu banco (pois ele só deixa listar extratos de 60 em 60 dias).

Depois desse trabalho hercúleo (12 trabalhos, na verdade) o resultado foi que fiquei com 12 arquivos (01.txt…12.txt) com o formato tosco do extrato, como pode ser visto na figura #1.

Continue reading

Um tema mistico

Em homenagem ao novo tema do blog, que se chama “mystique” :)

Encontrei este vídeo quase que por sorte. O palestrante é formado em medicina e física (tudo a haver!) e fez uma pesquisa sobre a glândula pineal, que fica no centro do nosso cérebro.

Esta glândula, diz o pessoal ligado em paranormalidade, está ligada à conexão com os sentidos extra-sensoriais do ser humano.

Vale a pena assistir, o cara manda muito bem:

Parte 1


Parte 2


Parte 3


Parte 4


Parte 5


Parte 6


Parte 7

DNS do Google

Esta é uma dica para configurar seu DNS em casa. Não mexa no computador do trabalho a não ser que você seja o administrador da rede :)

Há pouco tempo atrás (se não me engano foi em 2009), o Google lançou seu servidor de DNS gratuito. Mas que diabos é um servidor de DNS? Domain Name Server, ou “servidor de nomes de domínio” é um computador que, dado um endereço de internet (ex.: www.google.com, twitter.com, irc.efnet.com) ele retorna o endereço IP (ex.: 192.168.0.1) deste nome. Somente com o endereço IP seu computador consegue se conectar a outro.

Logo, o DNS é um computador que precisa ser bem rápido estar sempre à nossa disposição. Aí entra a galera do Google querendo aprimorar a internet de todos. A idéia deles é oferecer um servidor de DNS rápido.

Já que o DNS é o computador que traduz nomes para endereços nós temos que saber o endereço IP dele de cabeça. Não coincidentemente o IP do Google é bem fácil de memorizar: 8.8.8.8 e o secundário é 8.8.4.4

Configurando o IP no Windows:

Configurando o IP no Mac:

Moleza, né? Qualquer dúvida, grita lá nos comentários.

Pseudo-RAII em Java

Quando vejo um código nesse padrão:

InputStream is = getSomeInputStream();
try {
  // use 'is'
} catch(IOException ex) {
  // log ex
} finally {
  try {
    if (is != null) is.close();
  } catch(IOException ex) {}
}

Me dá náusea, vertigem, urticária! Comparem com este padrão:

try {
  final InputStream is = getSomeInputStream(); // se der exception vai lá pro catch
                                               // sem passar pelo finally
  try {
    // use 'is'                                // se der exception vai lá pro catch
                                               // passando pelo finally
  } finally {
    is.close();                                // certeza de que 'is' não é null
  }
} catch(IOException ex) {
  // log ex
}

Ele espelha a keyword ‘using’ do C#, só loga a exception uma vez e garante que ‘is’ é diferente de null no bloco ‘finally’ (e caso o close dispare uma exception, tem o catch logo abaixo).

Críticas?

Syncando o iPhone com o Facebook

Agora que você já sincronizou seu iPhone com o Google, que tal sincronizar com o Facebook também?

Você vai ver que é bem simples (3 cliques) e a vantagem é que os contatos da sua agenda de telefone vão estar sempre atualizados com as informações dos seus amigos/colegas/empresas/etc.

Sem falar nas fotos! Sua agenda vai ficar bem mais útil e bonita :)

Então vamos lá:

1. Instale o aplicativo do Facebook, caso ainda não tenha. Ele é bem mais prático do que navegar pelo facebook usando o Safari.

2. Na tela principal do app, escolha “Friends”

IMG_0082.jpg

3. Na tela “Friends” clique em “Sync” (bem escondido, como falei no último post!)

Sync

4. A partir deste ponto, recomendo que você esteja conectado em alguma rede Wifi pois, dependendo do tamanho da sua rede, o applicativo vai fazer download de bastante coisa. Habilite o sync e a sobrescrita de fotos, caso queira forçar a usar as fotos de perfil do Facebook:

Banzai!

É isso aí… E como seus contatos já estavam sincronizados com o Google, quando você for enviar um email pelo GMail as fotos dos contatos do Facebook vão aparecer nos contatos lá… Vida conectada é um loosho =)

Até a próxima!

 

Assim que eu pego um iPhone a primeira coisa que verifico

É se a pessoa está sincronizando com o GMail.

Não confunda “sincronizar” com “baixar emails”! Quando eu digo “sincronizar” eu quero dizer “manter sua agenda, seus contatos e seus emails em sincronia com o GMail”. Sendo possível por exemplo, editar seus contatos no site do GMail que eles são automaticamente sincronizados com o telefone (e vice-e-versa!). Sem contar na falta da necessidade de se fazer backup dos seus dados! Só alegria… :)

O processo é extremamente simples porém nada intuitivo (curiosamente). Os passos para conseguir essa maravilha são:

1. Criar uma conta de Exchange (vai por mim…):

IMG_0012.jpg

2. Preencher mais ou menos assim:

IMG_0013.jpg

E aqui é o grande macete! O campo “server” não aparece na primeira vez! Você tem que preencher tudo, tentar avançar, aí o campo server aparece! É só preencher com “m.google.com”.

3. Depois é só escolher o que você quer sincronizar (eu sempre sincronizo tudo) e voilá! Fim de papo.

4. BONUS: Caso você tenha mais de um calendário (Agenda) no Google e queira sincroniza-los tambem, vá no seu iPhone para o site http://m.google.com/sync e altere o idioma para inglês. O resto é auto-explicativo (se não for, deixe sua dúvida nos comentários).

Em um próximo post vou mostrar uma opção bem escondida do aplicativo Facebook para sincronizar com ele também. Aí seus contatos vão ter automaticamente as fotos que eles usam no Facebook.

Até lá.

De feicebuque is on de teibou

Instalei hoje uma série de plugins no blogue que integra com o Facebook!

Agora você pode usar seu login e senha do Facebook para:

- Deixar um comentário em um artigo

- “Curtir” (Like) um artigo

- “Compartilhar” (Share) um artigo

E aí , o que acharam? Testem aí em baixo, clicando nos botõezinhos azulis :)

 

Minha configuração do VIM

Toda vez que faço uma nova instalação de VIM (o editor de textos onde sou mais eficiente até hoje) sempre modifico as configurações originais para me antenderem melhor.

A primeira mudança que faço é trocar a língua dos menus para inglês, pois uso alguns dos atalhos (ALT+E,C e ALT+E,P ou ALT+F,O por exemplo) no “modo automático” já :) Sem contar que vários atalhos em português estão repetidos dentro de um mesmo menu!

Assim que instalo ele pega o locale do SO e fica com os menus dessa forma:

Windows 7.jpg

Clico em Editar / Inicialização, vou até o fim do arquivo e digito:

" cyber
:source $VIMRUNTIME/delmenu.vim
:set langmenu=en_US.ISO_8859-1
:source $VIMRUNTIME/menu.vim
" /cyber
As aspas são comentários.
A primeira linha apaga todos os menus.
A segunda linha escolhe a língua e o encoding.
E a terceira linha recria os menus, com a língua nova.
Agora sim podemos começar a usar:
Windows 7-1.jpg
O passo seguinte é trocar a fonte. A partir do Windows Vista tenho usado a fonte Consolas, que já vem instalada. No MAC uso a Deja Vu Sans. No Linux geralmente baixo a fonte Anonymous, que acho ótima para programar.
Para selecionar a fonte é necessário saber o nome dela para o VIM e atribuir este nome à variável de configuração “guifont”. Para descobrir o nome da fonte para o VIM, uso o seguinte truque:
Windows 7-3.jpg
1. Escolho a fonte pelo menu Edit / Select font
2. Digito “:set guifont” para pegar o nome da fonte que tenho que digitar no arquivo de configuração
3. Adiciono às minhas linhas de configuração uma linha parecida com esta:


 set guifont=Consolas:h9:cANSI

Em seguida escolho o esquema de cores. Normalmente opto pelo ‘evening’:

color evening

E por fim defino algumas variáveis que mudam o comportamento do backup, do visual e da tabulação:

set tabstop=4 shiftwidth=4 softtabstop=4 expandtab
set nowrap nobackup hlsearch cursorline
Resumindo tudo, é assim que fica no final:
" cyber
:source $VIMRUNTIME/delmenu.vim
:set langmenu=en_US.ISO_8859-1
:source $VIMRUNTIME/menu.vim
set guifont=Consolas:h9:cANSI
set tabstop=4 shiftwidth=4 softtabstop=4 expandtab
set nowrap nobackup hlsearch cursorline
color evening
" /cyber

Quadrado, triângulo, círculo, xis

Nunca imaginei que um dia fosse ler a descrição dos ícones dos botões do controle do playstation:

Eu dei um nome e um significado para cada símbolo. O triângulo refere-se ao ponto de vista; Eu representei a cabeça ou a direção da pessoa e escolhi a cor verde. O quadrado refere-se a um pedaço de papel; Eu representei menus or documentos e escolhi a cor rosa. O círculo e o X representam decisões ‘sim’ / ‘não’ e escolhi as cores vermelha e azul respectivamente.

Daqui.