Sobre o Autor

Ricardo Drizin tem 33 anos, é Paulistano, casado, Cientista da Computação, Administrador, e é apaixonado por programação desde os 12 anos de idade. Possui mais de 13 anos de experiência profissional com Desenvolvimento de Software, e atualmente é Gerente de TI de uma empresa do ramo de seguros.

Anteriormente, liderou diversos projetos de desenvolvimento de software, atuando em funções Gerenciais e Técnicas. Já foi Analista Programador, Consultor, Freelancer, Coordenador de Projetos, Arquiteto de Soluções, e Arquiteto de Infra Estrutura.

Entre seus projetos paralelos, ele é Sócio-fundador do Watching, um Guia de Televisão e Plataforma de TV Social, e da Abstrakti, onde presta serviços a clientes de diversos ramos. 

Apesar de trabalhar com TI, Ricardo não liga para gadgets da Apple, ficção científica (Star Wars, Star Trek, etc), Senhor dos Anéis, Harry Potter, RPG, anime, mangá, etc.

Ricardo Drizin é Bacharel em Ciência da Computação pela USP, e pós-graduado em Administração de Empresas pela Fundação Getúlio Vargas (FGV/EAESP).

Sobre o Blog

The Pragmatic Requirement remete a um dos requisitos mais fundamentais no desenvolvimento de qualquer sistema, porém frequentemente esquecido: Seja Pragmático.

Ser pragmático é agir, pensar, e resolver problemas de modo ágil e direto. Refere-se a ser prático ao invés de ser idealista.

Aplicativos de TV Social chegam para competir com o Twitter como sua “Segunda Tela”

clock maio 16, 2013 15:22 by author Ricardo Drizin |

Nesta época atual em que todo mundo está conectado pelas redes sociais, o velho hábito de assistir televisão sozinho ou com a família está virando coisa do passado. Mas a televisão como a conhecemos está longe de morrer - na verdade ela está se reinventando como TV Social, plataforma que permite que você se conecte com pessoas que estão assistindo o mesmo que você ou que gostam dos mesmos programas que você. 

Segundo um estudo da Nielsen (uma espécie de IBOPE da TV americana), 52% dos telespectadores da America Latina usam redes sociais enquanto assistem TV, e este número chega a 63% no Oriente Médio e África. O mesmo estudo diz que mundialmente 41% dos donos de tablets e 38% dos donos de smartphones usam os seus aparelhos enquanto assistem TV. A utilização dos computadores, tablets, ou smartphones enquanto se assiste televisão caracteriza o conceito da “segunda tela”, seja esta segunda tela usada para acessar uma rede social, um site relacionado a televisão, ou simplesmente para navegar na internet.

O Twitter tem se consolidado como o principal aplicativo para os usuários se comunicarem sobre a programação da TV, através da utilização das hashtags que as próprias emissoras sugerem, mas alguns aplicativos tem sido criados por gente que acredita que o Twitter não é a ferramenta mais apropriada para dar forma à TV Social. 

Watching

Segundo Ricardo Drizin, criador do aplicativo Watching, “além da óbvia restrição dos 140 caracteres, o Twitter não oferece conteúdo estruturado, então apesar de ser uma ferramenta suficiente para discutir tópicos populares (trending topics) como o Big Brother Brasil, ele não é apropriado para discutir os programas de nicho, menos populares, ou para te ajudar a escolher um programa para assistir”.

 

Watching

O aplicativo Watching, cujo protótipo foi lançado em Dezembro de 2012, é baseado em aplicativos similares existentes nos Estados Unidos e Inglaterra, como o GetGlue e o Zeebox, e se baseia em oferecer de forma estruturada a programação de todos canais de televisão (TV aberta e TV por assinatura), integrada com uma plataforma que permite aos usuários compartilharem o que estão assistindo, ou escolher um programa de acordo com a sugestão dos outros usuários. “Oferecemos uma mistura entre um guia eletrônico de TV, um IBOPE em tempo real que mostra o que as pessoas estão assistindo, e uma rede social onde você compartilha e vê o que os seus amigos estão assistindo”. Drizin faz questão de explicar que não se trata de uma nova rede social: “Disputar usuários com o Facebook seria no mínimo ingênuidade. Acredito que há oportunidades para o surgimento de redes sociais de nichos, mas as pessoas já estão todas no Facebook, então é natural utilizarmos a plataforma deles. Tendo uma conta do Facebook, você se cadastra no Watching com dois cliques, sem preencher nada, sem chateação, e já pode configurar quais são os seus canais favoritos pra não ter que ficar olhando uma grade com dezenas de canais que não te interessam ou que você nem tem acesso”.

 

Ricardo, que é graduado em Ciências da Computação, explica que um dos seus diferenciais é o conteúdo do guia eletrônico: “Hoje recebemos conteúdo de 3 provedores diferentes, este conteúdo precisa ser agregado, e o que vem de cada fonte passa por algoritmos complexos que eu próprio ajudei a desenvolver, e que fazem nosso conteúdo ser mais completo do que qualquer outro guia de TV brasileiro. E também caprichamos na usabilidade, que é uma grande deficiência em vários guias de programação nacionais.”

Watching

Apesar da limitação dos 140 caracteres, o empresário explica que o Twitter é fundamental para seu serviço: “Nós medimos em tempo real quais programas tem a maior audiência, é uma espécie de IBOPE das Redes Sociais. Há alguns estudos estatísticos que mostram uma forte correlação entre o que as pessoas estão assistindo e o que elas estão comentando nas redes sociais, então usamos técnicas de Inteligência Artificial para analisar comentários do Twitter e do Facebook e entender quais são os programas que as pessoas estão assistindo.” 

 

O aplicativo Watching é totalmente gratuito, feito em HTML5, funciona em qualquer browser ou smartphone, e está disponível em http://www.watching.com.br. Há planos para lançar versões específicas para Android e Iphone ainda no segundo semestre.



FGTS rende menos que a inflação

clock abril 29, 2013 12:04 by author Ricardo Drizin |

Eu tenho um FGTS de determinado emprego, que no começo de 2011 era de 3,105 R$.
Somando a inflação de 2011 (6.5%) e de 2012 (5.84%), deveria ser de 3,500 R$.
Mas como todos já sabem (ou deveriam), o FGTS rende abaixo da inflação. Então ele virou 3,343 R$.

Ou seja, o FGTS não só não rende juros, como também comeu 4,48% da correção monetária, que eles deveriam dar mas não dão.

Fica a dica.. saquem os FGTS sempre que puderem.



Quando o emprego bate a sua porta (Canadian Visa Experts)

clock abril 14, 2013 14:50 by author Ricardo Drizin |

 

Recebi por alguns amigos uma indicação de uma página sobre imigração para o Canadá.

Achei a página esquisita pois ela tinha 5 meses de existencia, e já acumulava mais de 200 mil likes. No entanto, cliquei, de curioso, e fui preenchendo o cadastro. No final do cadastro eles já pedem pra você botar o seu cartão de crédito, informam uma taxa (se não me falha a memória era cerca de 200 USD por pessoa), apenas para se cadastrar para tentar um visto.

Como eu não nasci ontem, não preenchi nada, e saí da página. Mas havia deixado meu email e telefone lá.

Hoje, em pleno domingo, recebi uma ligação de lá (em inglês claro). Perguntaram formação, emprego, salário atual, estado civil, filhos, etc e tal. O discurso deles é bem afinado, e pra quem conhece sobre as oportunidades de emprego no exterior, realmete eles falam diversas coisas reais de modo que até parecem uma empresa séria. Depois de alguns minutos de entrevista no telefone, falaram que eu tinha um perfil bom, e poderiam dar continuidade a entrevista, e no final do telefonema pegariam meus dados para eu pagar a tal taxa de inscrição.

Como eu não nasci ontem, pedi pra me ligarem no dia seguinte. Eles fazem de tudo pra você fechar o negócio ali na hora mesmo, não queriam deixar para o dia seguinte. Depois de insistir, toparam ligar no dia seguinte.

Aí fui pesquisando no Google pela empresa (CANADIAN VISA EXPERTS), e logo encontrei DEZENAS de reclamações sobre eles. Resumidamente eles cobram valores arbitrários no seu cartão, chegando a cobrar mais de 1500 USD de alguns "clientes". Ou seja, quem passou o cartão pelo site ou pelo telefone, vai ter dor de cabeça pra ter que provar que não autorizou as cobranças malucas que eles te fazem.

Espero que nenhum amigo tenha caído no golpe deles.

 



Atualização kb2823324 travando Windows 7 em Portugues? Ou Guardião Eletrônico? Ou Kaspersky?

clock abril 11, 2013 15:13 by author Ricardo Drizin |

Sobre o problema da atualização kb2823324 do Windows 7, aparentemente o problema não é da língua portuguesa não... e sim do fato de que a maioria dos bancos brasileiros usam o mesmo guardião eletrônico...  

http://www.linhadefensiva.org/2013/04/teste-mostra-incompatibilidade-de-atualizacao-com-plugin-bancario/

http://rodrigoi.org.br/tag/kb2823324/

 

Também vi várias pessoas dizendo que a atualização conflita com o Kaspersky.
Mas aparentemente o problema é mais sério na versão 32-bits, já que a versão 64-bits apenas roda chkdisk durante o boot, mas depois o micro liga.

O fato do conflito ser com Guardião Eletrônico e Kaspersky não significa que a culpa não seja da Microsoft, afinal ela deveria testar compatibilidade em DIVERSOS cenários, fazer um rollout gradual, e não fazer um deploy "na louca" pra todo o mundo simultaneamente.

É igual na minha empresa, quando vamos atualizar um software crítico (como anti-virus), eu peço pra atualizar aos poucos, e não todos ao mesmo tempo...  e a Microsoft acabou de exemplificar o motivo  :-)



Sobre a promoção Monopoly do McDonalds, probabilidade, marketeiros, e pregões de troca de cupons.

clock abril 7, 2013 11:42 by author Ricardo Drizin |

Hoje fui no McDonalds e ganhei cupons da tal Promoção Monopoly.

Basicamente a promoção é assim: A maioria dos produtos vêm com cupons que você na hora descobre se valem alguma coisa. "Até" 1 em cada 4 cupons vêm imediatamente premiado (onde você troca por um sorvete, ou outros brindes pequenos), alguns vêm sem nada, e alguns vêm com um código e referem-se a um determinado prêmio.

Você pega os cupons e já sai achando que é sortudo "Se eu achar outro deste aqui ganharemos uma viagem pra Argentina". Ou "com outros dois deste vou ganhar um Nissan".

A primeira coisa que pensei foi em criar um site de "pregão", pras pessoas trocarem seus selos entre si. Agora a noite fui pesquisar e descobri que já há paginas no Facebook (e fora) para estas trocas.

Pesquisando na Wikipedia entendi melhor a promoção, e notei que até nos USA essa promoção foi fraudada por 5 anos seguidos. (IMAGINA NO BRASIL como será). Ainda pesquisando em blogs americanos, entendi as reais chances de alguém ganhar.

A matemática é assim:

  • Pra ganhar um prêmio, você não vai usar os selos iguais (mesmo código), mas sim selos sequenciais.
    Ex: Se tiver 3 selos "700 - viagem para argentina", você não ganha.
    Precisa achar o 700, o 701 e o 702. (os números são fictícios, mas a lógica é essa).
  • O 700 vai ser impresso a rodo. Ou seja, todo mundo vai achar que é sortudo
  • O 701 vai ser impresso mais raramente. Aí você acha (ou troca com alguém), e pensa que realmente é muito sortudo.
  • O 702 é praticamente impossível de achar. Não vou citar números, um blogueiro americano calculou que a chance é menos de 1 em 100 milhões, ou seja, bem mais difícil do que a mega sena.

Sobre os pregões de troca, a lógica de porquê não funciona é simples também:

  • Se alguém está no pregão com um ticket premiado, rapidamente ela vai descobrir que o ticket que ela tem está sendo disputado por DEZENAS de pessoas, logo ela vai descobrir que é mais fácil ELA arranjar os tickets comuns e completar sua sequencia.
  • Logo, quem está lá oferecendo cupons só vai oferecer cupons comuns.

A única chance de você se dar bem em um pregão desses, é achar alguém que realmente é muito sortudo (aquele que achou 1 cupom raro que só ocorre 1 a cada vários milhões), e é totalmente distraído e botou o seu cupom pra vender ou trocar.

Melhor do que entrar em pregão, é você caçar os tickets na lixeira do restaurante, ou pedir para as pessoas das mesas ao lado caso antes delas jogarem fora suas bandejas.

Como já dizem por aí, "There is no free lunch". E no McDonalds não seria diferente.

PS: Tendo explicado tudo isso, quero avisar que sou muito sortudo, e com apenas 2 pacotes de batatas fritas eu e minha esposa ganhamos uma viagem para Argentina e uma para o Chile. O problema agora é decidir qual delas que vamos usar, pois as duas são na mesma data !! (Eu não podia perder a piada..)

PPS: Segundo li um usuário do Facebook comentando, os selos raros são estes:
703 - Smart Phone;
704 - PS3;
708 - Tablet;
710 - Notebook;
714 - TV;
717 - carro;
721 - Viagem pro Chile;
723 - Viagem pra Argentina.

Não posso garantir, mas pelo que olhei rapidamente esses números são realmente os mais procurados. Se você achar um desses números, meus parabéns, e não seja besta de trocar ou vender, a não ser que você venda por um valor próximo do valor do prêmio.



Sobre Charlatanices, Falácias, Refrigerantes Ácidos, e Água Hexagonal

clock dezembro 22, 2012 17:39 by author Ricardo Drizin |

 

Um amigo meu postou o seguinte vídeo no Facebook:

http://www.youtube.com/watch?v=z4I50nAtuvA

No vídeo o Lair Ribeiro começa explicando o que é pH, depois começa a defender (como se fossem coisas comprovadas) que um pH alcalino é garantia de uma vida saudável e longa, e que o que faz as pessoas envelhecerem é o pH ácido. Ele vai explicando que refrigerantes fazem mal pois são ácidos, que alimentação ácida faz o seu sangue ficar ácido, que água é o único remédio para equilibrar o pH do corpo, e depois começa a falar que nem toda água é igual, que há águas que fazem bem e águas que fazem mal, por fim sugerindo que as pessoas devem tomar uma tal de "ÁGUA HEXAGONAL" que teoricamente não só o pH ideal mas também teria propriedades anti-oxidantes.

 

A primeira coisa curiosa é analisar a técnica de oratória.

  • O apresentador explica meia dúzia de conceitos que todo mundo conhece (como a definição pH) pra ir ganhando confiança do público, que passa a se envolver no desenvolvimento da teoria, pois no começo do discurso todos conceitos são bem leigos, então todos conseguem acompanhar.
  • Depois ele lança meia duzia de frases sensacionalistas pra causar impacto, apela para o emocional falando sobre a saúde dos "filhos que tomam veneno", "dos pais que não gostam dos filhos", etc.
  • Mais pra frente ele usa alguns termos em inglês (que quem entende inglês consegue imaginar do que se trata) para o público achar que ele realmente é expert no assunto e que entende mais do que o público.
  • Ele  começa a dar entonações no discurso pra deixar as pessoas mais e mais envolvidas, como naquela parte em que ele fica explicando que o pH é uma escala logarítmica.
  • Ele lança algumas hipóteses como se fossem verdades (como a questão do câncer)
  • Por fim ele começa a tirar conclusões sem pé nem cabeça (ou seja, uma falácia), como a história de que o alimento altera o pH do corpo.


Expliquei ao meu amigo que tratava-se de um vídeo sensacionalista feito por um charlatão, e expliquei um pouco sobre como ele usou a oratória para envolver e enganar a platéia. No entanto, meu amigo insistia que a teoria do Dr. Lair Ribeiro fazia muito sentido.

Fui pesquisar pra entender melhor, olhei opinião de diversos médicos, biólogos e estudantes discutindo as teorias apresentadas no vídeo, e logo comecei a encontrar diversos links desmentindo a teoria.

Não vou entrar na discussão da biologia, pois não estudo biologia há mais de 13 anos, mas o que encontrei na minha pesquisa:

  • Existem muitas hipóteses relacionando a saúde com o pH do corpo, mas nada nunca foi provado 
    (por isso que são hipóteses, e não Teorias ou Leis que são bem mais consistentes, pois exigem provas ou um escopo mais abrangente ). Ou seja, a hipótese é essencialmente um "palpite", enquanto uma teoria é uma explicação mais abrangente que junta várias linhas de evidência, alegações e modelos.
  • Quem pesquisar um pouco vai achar gente dizendo que todas doenças (até o câncer) se devem ao pH.
    (Em alguns destes sites você encontrará também muito misticismo, viagens pra quinta dimensão, gnomos, teoria da conspiração, sites que vendem produtos, etc etc)
  • Quem pesquisar um pouco também vai encontrar muita gente dizendo que o pH não muda por causa da alimentação (apenas por outros desequilibrios), e que qualquer desequilibrio alimentar (ex: excesso de acidez) é compensado pelos rins e eliminado na urina.
    (pra mim me pareceram ser sites bem mais sérios, e que não vendiam nenhum tipo de misticismo).
  • Se for ver o discurso dos fabricantes de "água alcalina", eles dizem que todos os males do mundo vem do pH ácido.
    Ex: http://www.ciacristal.com/blog/conteudo.php?ctdo=2
  • Se for ver o discurso do fabricante de refrigerante, vai ver eles desmentindo tudo.
    Ex: http://www.coca-colacompany.com/contact-us/coca-cola-rumors-facts
    Ex: http://www.rebic.com.br/boatos-e-mitos/a-acidez-dos-refrigerantes-causa-problemas-em-ossos-e-dentes/
  • Ou seja, tem que procurar fontes IMPARCIAIS. Segundo a Wikipedia http://en.wikipedia.org/wiki/Coca-Cola:
    "A crítica comum da Coca-cola de que sua acidez tem níveis alegadamente tóxicos foi provada por pesquisadores como algo sem fundamentos, e por isso vários processos foram fechados nos tribunais americanos".

A verdade é que tem muita gente desmentindo essa teoria da Dieta Ácida/Alcalina:

Na minha opinião, a medicina tem muitas hipóteses (ou seja, não provadas), poucas certezas, e ainda vai amadurecer muito.

Ainda na minha opinião, o Lair Ribeiro é um belo charlatão que vende até gelo pra esquimó: http://www.lairribeiro.com.br/produtos/

Como a maioria de nós é biólogo nem médico, é muito fácil ouvir meia duzia de argumentos que parecem bem embasados e acreditar. E é aí que entra minha crítica sobre a oratória e sobre as falácias.

Pra exemplificar como ele é usa argumentos tendenciosos, vou falar sobre a "escala logaritmica":

  • O pH=5 realmente tem 10x mais cátions H+ do que o pH=6. 
  • Mas o pH=8 também tem 10x mais ânions OH- do que o pH=7.
  • Ou seja, a ordem de magnitude cresce logaritmicamente para os dois lados.
  • Então se o pH ideal é 7 (por exemplo), estar em 6 é "10x mais ácido do que deveria", mas estar em 8 também é "10x mais alcalino do que deveria". 
  • No entanto o orador só reforça "o rápido crescimento" para ácido, como se para o alcalino a escala também não crescesse de forma logarítmica.

Por fim, resolvi pesquisar na Wikipedia sobre a tal Teoria da Dieta Ácida ou Alcalina, que propõe que devemos evitar alimentos e bebidas ácidos.

Segundo http://en.wikipedia.org/wiki/Acid_alkaline_diet"faltam evidências significantes para comprovar a teoria".
Segundo http://en.wikipedia.org/wiki/Alkaline_diet "as alegações não tem evidência médica e usam premissas contrárias ao atual entendimento da fisiologia humana". O mesmo artigo também diz que a hipótese que correlacionava dieta ácida com osteoporose ultimamente está sendo descartada.

( É óbvio que aqueles que querem vender placebo tentam desmerecer a Wikipedia, chamando ela de "cética", etc: http://www.lifeionizers.com/blog/alkaline-water/alkaline-water-wikipedia/ )

 

Então eu resolvi pesquisar sobre a tal "Água Hexagonal" que o Lair Ribeiro está promovendo (que me parece que é vendida no Brasil com o nome de AcquaLive):

Segundo http://en.wikipedia.org/wiki/Hexagonal_water:

"Hexagonal water is a term used in a marketing scam[1][2] that claims the ability to create a certain configuration of water that is better for the body.[3] The term "hexagonal water" refers to a cluster of water forming a hexagonal shape that supposedly enhances nutrient absorption, removes metabolic wastes, and enhances cellular communication, among other things.[4] Similar to the dihydrogen monoxide hoax, the scam takes advantage of the consumer's limited knowledge of chemistry, physics, and physiology."

 

Ou seja, ela foi descrita como um "golpe de marketing que alega a possibilidade de criar uma disposição da água que seria melhor para o corpo":


A última frase mostra exatamente o que eu falei sobre como é fácil enganar os leigos: "O golpe se utiliza do conhecimento limitado que o consumidor tem sobre química, física e fisiologia". Basta um charlatão que domina a técnica da oratória, que ele consegue demonstrar uma conclusão errada (uma falácia) para os leigos acreditarem e comprarem placebo.

Mais sobre a pseudociência da água hexagonal: http://www.chem1.com/CQ/clusqk.html

Recapitulando, os americanos inventaram um golpe, que provavelmente deve ser muito rentável, os brasileiros copiaram a idéia e contrataram o Dr. Lair Ribeiro para ser o garoto propaganda da nova água que resolve todos os problemas de saúde, rejuvenesce, previne o câncer e a osteoporose


O que me chateia mais não são os charlatões, nem o uso do marketing e da oratória para enganar o consumidor, mas sim as pessoas que não tem discernimento para entender os golpes e pesquisar a verdade. Apesar de ter formação em exatas (que envolve muita lógica), já fiz um curso de oratória, além de várias disciplinas de marketing, e me assusta ver como somos tão facilmente manipulados com pseudociência, falácias (conclusões feitas de maneira ilógica ou sem fundamento), e outras técnicas de persuasão.

O maior problema da falta de discernimento não é que somos manipulados há décadas como consumidores, mas sim que somos manipulados há séculos por governantes, imprensa, e líderes religiosos.

Eu não estou dizendo que refrigerante é bom, e eu próprio evito ao máximo. O que estou sugerindo é que não dá pra acreditar em pseudociência e transformar isso em histeria coletiva, como o pessoal faz no facebook. A pseudociência é igual ao Notícias Populares: só sobrevive através de gente que não questiona a informação que lê.

Já falei demais. Vou tomar uma água hexagonal pra recompor minhas energias...



Sobre Pirataria

clock março 6, 2012 11:48 by author Ricardo Drizin |

Quem desenvolve produtos de software, inevitavelmente um dia irá se deparar com o problema da pirataria.

Na primeira vez que percebi que meu produto estava sendo pirateado, instalei um mecanismo de ativação por máquina, similar ao que a Microsoft faz no Windows e Office. Pensei que isso intimidaria o pirateamento, pois os usuários saberiam que estão sendo monitorados, então optei por não restringir o número de ativações.

Então surgiu um usuário, empresa brasileira, que com uma única chave de ativação colocou o software em mais de 10 computadores. Depois aconteceu novamente, em uma multinacional da Alemanha, instalaram em meia dúzia de computadores. Alguns meses depois, novamente um cliente brasileiro que adquiriu uma única licença e instalou o produto em uma porção de computadores. 

Pra encurtar a história, precisei fazer limitar o número de ativações. Quem precisar ativar o software mais de uma vez, tem que entrar em contato. Parece que está funcionando.

Trabalhar com venda de bens digitais (seja software, ou mídia) é algo onde inevitavelmente alguém vai querer usufruir do seu trabalho sem pagar por ele, e vai querer piratear como se o seu custo intelectual (ou artístico) fosse zero. Impedir a pirataria é impossível. O que resta fazer é minimizar o problema.



Importando arquivos EML no Outlook 2010

clock março 26, 2011 09:06 by author Ricardo Drizin |

Há algumas formas documentadas de exportar emails do Outlook Express para o Outlook 2010. Um dos principais problemas desta migração, é que você precisa ter tanto o Outlook Express quanto o Outlook 2010 instalados na mesma máquina. Se você instalou o Outlook 2010 em uma máquina que não tinha anteriormente o Outlook Express, pode ser até impossível fazer esta migração, já que o Outlook Express não pode ser instalado em um Sistema Operacional de 64 bits.

A solução proposta costuma ser primeiramente importar as suas caixas EBX do Outlook Express para Windows Live Mail, e depois exportá-las do Windows Live Mail para o Outlook 2010.

Tendo passado por este procedimento, posso afirmar que é um caminho tortuoso. Primeiramente, notei que várioso emails do Outlook Express não estavam sendo importados para o Windows Live Mail. Depois, notei que mesmo alguns emails que apareciam no Windows Live Mail não podiam ser exportados para o Outlook 2010, falhando com um MAPI error, e pelo que pesquisei não há  correção disponível para sistemas 64-bit.

Para solucionar o problema, descobri a ferramenta Portable Outlook Express Message Extractor, um freeware que permite exportar as mensagens do Outlook Express em formato EML. Pelos meus testes, todos emails foram exportados, o que se provou melhor do que a importação do Windows Live Mail.

Após ter exportado todos arquivos EML, todos eles já vindo agrupados em estrutura de pastas idêntica aos folders do Outlook Express, eu ainda precisava de algo para importar estes emails para o Outlook 2010.

Encontrei alguns programas shareware que supostamente deveriam importar arquivos EML no Outlook, mas fiquei surpreso que o próprio Outlook não tem isso como funcionalidade nativa.

Usando meu background de VBA, fiz um pouco de pesquisa, e descobri que apesar do Outlook conseguir abrir arquivos EML, não há uma forma programática de fazer isso puramente com VBA. Deste modo, fiz uma pequena macro VBA que percorre os arquivos EML de uma pasta, e abre cada um deles  (usando SHELL EXEC). Depois o Outlook aguarda que o EML fique disponível (aberto no ActiveInspector), e então este email é copiado para uma pasta escolhida. Após cada email importado, o EML original é excluído.

A macro costuma travar algumas vezes, mas normalmente você pode reiniciá-la a qualquer momento e ela recomeça de onde parou. Se a macro continuar travando constantemente, provavelmente o próximo EML possui algum problema. Neste caso você pode apagá-lo manualmente (algumas vezesvocê pode abrir o EML você próprio, e o Outlook vai abrir sem travar, mas pelos meus testes, todos os EMLs que travaram a macro eram arquivos sem importância, como recibos de leitura).

Segue abaixo o código VBA. Se você tiver qualquer dúvida ou problema, entre em contato.

 

'----------------------------------------------------
' Code by Ricardo Drizin (contact info at http://www.drizin.com.br)
'----------------------------------------------------
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Option Explicit

'---------------------------------------------------------------------
' This method closes ActiveInspectors if any.
' All inporting is based on the assumption that the EML
' is opened by shell and we can refer to it through the ActiveInspector
'---------------------------------------------------------------------
Function CloseOpenInspectors() As Boolean
    Dim app As Outlook.Application: Set app = CreateObject("Outlook.Application")
    Dim insp As Outlook.Inspector
    Dim count As Integer
    count = 0
repeat:
    count = count + 1
    Set insp = app.ActiveInspector
    If TypeName(insp) = "Nothing" Then
        CloseOpenInspectors = True
        Exit Function
    End If
    If TypeName(insp.CurrentItem) = "Nothing" Then
        CloseOpenInspectors = True
        Exit Function
    End If
    If (count > 100) Then
        MsgBox "Error. Could not close ActiveInspector. "
        CloseOpenInspectors = False
    End If
    
    insp.Close (olDiscard)
    GoTo repeat
End Function


'---------------------------------------------------------------------
' This method allows user to choose a Root Folder in Outlook
' All EML files will be imported under this folder
'---------------------------------------------------------------------
Function GetRootFolder() As Outlook.folder
    Dim app As Outlook.Application: Set app = CreateObject("Outlook.Application")
    Dim NS As Outlook.NameSpace: Set NS = app.GetNamespace("MAPI")
    Dim fold As Outlook.folder
    Set fold = NS.PickFolder
    'MsgBox fold.Name
    Set GetRootFolder = fold
End Function

'---------------------------------------------------------------------
' Creates a child folder in Outlook, under root folder.
'---------------------------------------------------------------------
Function GetChildFolder(parentFolder As Outlook.folder, name As String)
    On Error Resume Next
    Dim fold2 As Outlook.folder
    Set fold2 = parentFolder.folders.Item(name)
    If Err.Number Then
        On Error GoTo 0
        Set fold2 = parentFolder.folders.Add(name)
    End If
    On Error GoTo 0
    'MsgBox fold2.Name
    Set GetChildFolder = fold2
End Function
    
'---------------------------------------------------------------------
' Imports the EML open in the current ActiveInspector
' into the given folder
'---------------------------------------------------------------------
Sub ImportOpenItem(targetFolder As Outlook.folder)
    Dim app As Outlook.Application: Set app = CreateObject("Outlook.Application")
    Dim insp As Outlook.Inspector: Set insp = app.ActiveInspector
    
    Dim retries As Integer
    retries = 0
    While TypeName(insp) = "Nothing" ' READING PANE should be visible, or else it will not work.
        'MsgWaitObj (1000)
        Sleep (50)
        DoEvents
        Sleep (50)
        Set insp = app.ActiveInspector
        retries = retries + 1
        'If retries > 100 Then
        '    Stop
        'End If
    Wend
    
    If TypeName(insp) = "Nothing" Then
        MsgBox "Error! Could not find open inspector for importing email."
        Exit Sub
    End If
    
    
    Dim m As MailItem, m2 As MailItem, m3 As MailItem
    Set m = insp.CurrentItem
    'MsgBox m.Subject
    Set m2 = m.Copy
    Set m3 = m2.Move(targetFolder)
    m3.Save
    Set m = Nothing
    Set m2 = Nothing
    Set m3 = Nothing
    insp.Close (olDiscard)
    Set insp = Nothing
End Sub


'---------------------------------------------------------------------
' Scans a given folder for *.EML files and import them
' into the given folder.
' Each EML file will be deleted after importing.
'---------------------------------------------------------------------
Sub ImportEMLFromFolder(targetFolder As Outlook.folder, emlFolder As String)
    If Right(emlFolder, 1) <> "\" Then emlFolder = emlFolder & "\"
    Dim firstImport As Boolean: firstImport = True
   
    Dim file As String
    Dim count As Integer: count = 0
    'MsgBox fold.Items.count
    'Exit Sub
    file = Dir(emlFolder & "*.eml")
    
repeat:
    If file = "" Then
        'MsgBox "Finished importing EML files. Total = " & count
        Debug.Print "Finished importing EML files. Total = " & count
        Exit Sub
    End If
    count = count + 1
    
    Debug.Print "Importing... " & file & " - " & emlFolder
    Shell ("explorer """ & emlFolder & file & """")
    'If firstImport Then Stop
    firstImport = False
    Sleep (50)
    On Error GoTo nextfile
    Call ImportOpenItem(targetFolder)
    Call Kill(emlFolder & file)
nextfile:
    On Error GoTo 0
    Sleep (50)
    
    file = Dir()
    GoTo repeat
End Sub

'---------------------------------------------------------------------
' Main method.
' User chooses an Outlook root Folder, and a Windows Explorer root folder.
' All EML files inside this folder and in immediate subfolders will be imported.
'---------------------------------------------------------------------
Sub ImportAllEMLSubfolders()
    Call CloseOpenInspectors
    
    MsgBox "Choose a root folder for importing "
    Dim rootOutlookFolder As Outlook.folder
    Set rootOutlookFolder = GetRootFolder()
    If rootOutlookFolder Is Nothing Then Exit Sub
    
    Dim rootWindowsFolder As String
    rootWindowsFolder = "D:\Drizin\Desktop\Outlook Express Gra\TESTE"
    rootWindowsFolder = InputBox("Choose a windows folder where you have your EML files", , rootWindowsFolder)
    If IsNull(rootWindowsFolder) Or IsEmpty(rootWindowsFolder) Or rootWindowsFolder = "" Then Exit Sub
    If Right(rootWindowsFolder, 1) <> "\" Then rootWindowsFolder = rootWindowsFolder & "\"
    
    Dim subFolders As New Collection
    
    Dim subFolder As String
    subFolder = Dir(rootWindowsFolder, vbDirectory)
repeat:
    If subFolder = "." Or subFolder = ".." Then GoTo nextdir
    If (GetAttr(rootWindowsFolder & subFolder) And vbDirectory) = 0 Then GoTo nextdir
    subFolders.Add (subFolder)
nextdir:
    subFolder = Dir()
    If subFolder <> "" Then GoTo repeat

Dim outlookFolder As Outlook.folder

' Importing main folder
Call ImportEMLFromFolder(rootOutlookFolder, rootWindowsFolder)

' Importing subfolders
While subFolders.count
    subFolder = subFolders.Item(1)
    subFolders.Remove (1)
    Set outlookFolder = GetChildFolder(rootOutlookFolder, subFolder)
    Debug.Print "Importing " & rootWindowsFolder & subFolder & " into Outlook folder " & outlookFolder.name & "..."
    Call ImportEMLFromFolder(outlookFolder, rootWindowsFolder & subFolder)
Wend
    Debug.Print "Finished"
    
End Sub




Estrutura de Dados - CVS, SourceSafe, Subversion, e GIT

clock dezembro 19, 2010 07:25 by author Ricardo Drizin |

Copiado de um fórum em que participei no LinkedIn:

"...o CVS usa aquele velho modelo do SourceSafe de que cada arquivo tem seu próprio histórico (ele não versiona a pasta em si), e você cria tags que apontam para versões específicas dos arquivos (seriam os labels do SourceSafe), como por exemplo para informar as versões que já estão em ambiente de produção.

O Subversion passou a versionar os commits, o que permitiu versionar pastas inteiras (a partir do número do commit você sabe o estado de cada um dos arquivos), e consequentemente permitiu o conceito de cheap-copies (cópias de ponteiros para estruturas inteiras - arquivos e pastas). A partir das cheap-copies, os branches e tags passaram a ser apenas convenções, pois na prática são apenas cópias de pastas versionadas. 
O conceito de versionar pastas inteiras é bem vantajoso: se os arquivos de um sistema são relacionados, versionar a pasta inteira (ou seja, versionar simultaneamente a versão de todos os arquivos) é mais vantajoso do que versioná-los individualmente (o que não capturaria a relação entre as versões de cada arquivo).

Já em um DVCS como o GIT, continua-se versionando o repositório inteiro (e consequentemente a relação entre os arquivos), de modo que os branches continuam sendo cheap copies (ponteiros), além de trazer de volta o conceito da tag móvel (permite mudar a versão para qual a tag aponta). Mas diferentemente do Subversion, não é necessário desenhar uma estrutura de trunk, branches e tags, pois o trunk passou a ser exatamente igual a um branch, e todos tem natureza volátil: a idéia é que seja fácil (e até frequente) criar branches, fundí-los (merge), e excluí-los (possivelmente sem deixar vestígios). 
Esta natureza volátil dos branches, aliada ao modelo de snapshots (o versionamento armazena o conteúdo completo, e não só as diferenças) permite que os merges sejam muito mais inteligentes do que ocorria no Subversion."



Sobre Encantar o Cliente, Comida Saudável, e Tortinhas de Maçã

clock dezembro 15, 2010 12:17 by author Ricardo Drizin |

Estava eu, a caminho de uma apresentação que seria logo após o almoço, e resolvi parar em um drive-thru do McDonalds para comprar algo rápido para comer no caminho, já que eu ainda não havia comido nada. Cheguei a apresentação em cima da hora, e acabei deixando as sacolinhas ali no banco do passageiro.

Estava eu, no final do dia indo para a GV, e apesar de tentar levar uma vida saudável, abri uma exceção e me permiti passar novamente no drive-thru para outro lanche rápido, agora a título de jantar.

- "O senhor é mesmo fã de McDonalds né?" - disse o atendente após me entregar a sacola com meu pedido e perceber que já havia outra sacola do McDonalds no banco do passageiro.
- "Pois é, hoje foi um dia de comida saudável..." - respondi em tom de brincadeira.
- "Neste caso vamos te dar um brinde..."

Ele correu até a prateleira dos lanches, e voltou com uma torta de maçã, que obviamente não fazia parte do meu pedido.

Agradeci, fiquei encantado com a espontaneidade do atendente, com a forma de cultivar o cliente, e com a existência de verba promocional que permite que eles distribuam tortinhas para aqueles clientes que fazem as duas refeições do dia entre um semáforo e outro.

Isso ilustra perfeitamente aquele jargão manjado de "encantar o cliente".

O curioso é que aquela loja do McDonalds já havia cometido diversos erros comigo, mas a minha percepção sobre eles se recuperou em um piscar de olhos.

A tortinha de maçã? Estava boa. Deve ter sido a coisa mais saudável do meu dia.

 



Watching - o que você quer ver hoje?

Você já conhece o Watching?

O Watching é um guia eletrônico de TV, com todos canais de tv aberta e tv por assinatura, integrada com uma plataforma que permite aos usuários compartilharem o que estão assistindo, ou escolher um programa de acordo com a sugestão dos outros usuários. É uma mini-rede social em torno da programação da tv, muito mais apropriado do que o Twitter como seu aplicativo de segunda-tela, e fortemente integrado com o Facebook.

Veja as dicas, veja os mais assistidos, encontre um bom programa pra assistir, e socialize-se!

Interessou? Então clique aqui e conheça um pouco mais, dê um "curtir" em nossa página, e compartilhe com os amigos.