quarta-feira, 16 de dezembro de 2009

Conectar no VivoZap sem o Software da Nokia

Segue instruções para conectar no VivoZap 3g sem precisar instalar o software do aparelho celular...

  • Use bluetooth....
  • Conecte-se ao PAN do Celular...
  • Ative no Celular a Conexão de Dados Sempre...
  • Pronto...
Com essas simples instruções conectei no VivoZap sem qualquer login ou ponto de acesso...

Descobri que pré-pago tem plano 3g também...
Bom para emergências...
  • Diário - R$ 12,00
  • Semanal - R$ 35,00
  • Mensal - R$ 130,00
O plano mensal é meio salgado...
Queria ver se no pós é diferente algo...  E se posso cancelar logo após ativar...

segunda-feira, 14 de dezembro de 2009

Guia para ganhadores da Mega Sena

Segue um guia para ganhadores da mega-sena de primeira viagem (e existe alguem que ganhou isso duas vezes?)....
Você acaba de ver os números sorteados e leva um susto, ganhei!!! você pensa, melhor conferir 10x, e melhor ainda pegar o comprovante e verificar o número do jogo, e se os números estão certos mesmo...
Depois de acordar do possível desmaio, guarde o comprovante em um local seguro e passe a planejar seu plano de ação...

Respondendo a dúvida de alguém, o valor anunciado do prêmio já é com os impostos descontados...

O Plano de Ação
Esse plano deve ser elaborado com muita calma, pois definirá todo o seu futuro...
Você pode optar por sair da cidade com toda sua família, ou simplesmente seguir com a vida como está, contando a todos, ou mantendo em segredo o fato de ter ganho...

O resgate
Planeje como resgatar o prêmio, até onde eu sei é só ir numa agência da CEF para resgatar o prêmio, mas é claro que você não vai ficar falando com qualquer funcionário do banco sobre isso, simplesmente se dirija ao gerente, e peça para ele ter discrição... Se algum funcionário quiser saber o que você quer com ele, diz que quer abrir uma conta e que quer verificar como que é o atendimento com o gerente...
Eu acho uma boa opção deixar o dinheiro na CEF mesmo no início, transferir para outro bancco só vai ativar o alerta de que você ganhou na Mega-Sena no outro banco...

O que fazer com o dinheiro?
A primeira coisa a se fazer  com o dinheiro é dividir em 2 partes, uma para gastar agora (uns R$ 200.000,00), e outra para deixar investido até você resolver direito o que fazer...

Investimento inicial

As opções de investimento são várias, pode ser a poupança, que apesar de ser uma pessima opção é melhor do que nenhuma, e se você não tiver experiência com outras modalidades, e não tiver confiança nas outras, por enquanto é o lugar...
Agora se já tiver experiência ou aceitar novas opções, poderia investir no tesouro direto, em titulos pré-fixados mesmo, ou até mesmo pós-fixados que mantenham o valor em relação à inflação....
E se for no tesouro direto, escolha uma corretora que não cobre pela custódia....

Em fundos e em ações não recomendaria para iniciantes pois tem muitos fatores, agora se já tiver experiência é uma ótima opção para multiplicar o prêmio....
No endereço da corretora, coloque uma Caixa Postal, evitando que seus vizinhos percebam que você agora não tem mais dívidas e sim investimentos....

No ínicio

Gaste um pouco do dinheiro, mas não chame a atenção, se não a quiser, não troque todos os carros, não troque um carro semi-novo.... Não compre 5 televisores lcd de uma vez... Não compre uma ferrari.... Não mude de endereço.... Não tire férias sem razão....
Agora se quiser chamar atenção pode fazer tudo isso...


Como manter o prêmio em segredo...

Se você quiser manter sua vida como esta, mas não quer deixar de usufruir das bonanças do prêmio, passe a inventar desculpas, como prêmios, sorteios, heranças, mas não exagere nas mentiras se não acharão que você virou traficante....
Se não quiser afastar os amigos, mas não quiser contar para eles que você ganhou, mas quer levá-los para uma viagem ou algo do tipo, invente que você ganhou passagens em algum tipo de sorteio da agência de viagens...
Use uma agência de outra cidade, para evitar comentários na cidade (ainda mais se for pequena), de que não existia sorteio algum...
Atribua seus ganhos a sorteios, diga que esta em uma maré de sorte... Depois de um tempo vai ficar difícil de manter essa desculpa....
Para os filhos trocarem de escola pública para particular, atribua o fato a uma bolsa de estudos...
Mas lembre-se quanto menor a cidade, mais difícil de manter essas mentiras...

Boas mentiras

Uma boa desculpa é dizer que você inventou algo para uma empresa (relacionada a sua área de conhecimento), e que ela comprou o projeto, e passou a pagar royalities para você, se perguntarem o que diga que assinou um contrato que não permite falar (diga que foi um termo de confidencialidade)....

Outra desculpa é dizer que você ganhou algum prêmio menor da loteria, o que explicaria os gastos iniciais....

Ou dizer que finalmente recebeu uma indenização em um processo trabalhista antigo, e/ou passou a receber uma renda mensal deste processo.... Se  perguntarem o número do processo diga que não sabe, o advogado que sabe pra que você quer saber???....

Ou diga que você participou do assalto do banco central e peça para seu amigo não contar pra nínguem... aueheauhea

Continuar trabalhando?
Tudo depende se tu quer manter a discrição ou não, mas também há nos exemplos acima a possibilidade de não precisar trabalhar....
Aqui depende muito da sua vontade, pois você poderia reduzir a sua jornada de trabalho, abrir empresas com sócios que entrem com o trabalho e você com o dinheiro... Se planejar bem, e remunerar bem o sócio, ele vai se esforçar o máximo para que haja lucro na empresa, e seu dinheiro vai crescer, sem você precisar trabalhar...
Mas não aceite qualquer proposta, o seu sócio tem de ser alguém que goste de trabalhar, mas se for ruim de finanças melhor fornecer a ele um consultor ou algo do tipo...
O ideal se não quiser trabalhar é criar um hobby tipo, pintura, carpintaria, arte, ou algo que ocupe o seu tempo, beber não é hobby... se acabar em festas também não...

Manter segredo ou não?
Manter o segredo do prêmio serve para evitar riscos de segurança, como sequestros e coisas do tipo, e também os pedintes, interesseiros, falsas amizades, golpistas, entre outros...
Contar para todos serve para comemorar, poder falar, eu ganhei você não.... Distribuir o prêmio...
Eu não contaria...

Devo doar o prêmio?
Bom, o dinheiro é seu... Mas se o valor for enorme, porque não abrir uma fundação você? Numa fundação você define qual o fim dela.... Assim há um reconhecimento em favor de você no lugar de uma doação cujo valor você não sabe se foi bem ou mal gasto... E melhor, você pode direcionar à sua cidade os investimentos, e melhorar a qualidade de vida sua...

Onde investir depois?
Depois do susto inicial e da gastança inicial, é hora de pensar em como fazer o dinheiro render por si, lhe garantindo um valor x mensal...
Esse valor x mensal é importante para evitar que você gaste todo o dinheiro, é um valor que é menor que o rendimento mensal do dinheiro, permitindo que ele continue a crescer, e você possa aumentar o x mais ainda...
Há diversas opções de investimentos, imóveis comerciais, ações, empresas, construções, fundos, artes, entre outras, o segredo na hora de escolher é escolher uma que você tenha conhecimento na área, não vá apenas por algo que alguém disse ou leu, tenha certeza no que você está pisando... Se não sabe de nada, estude, adquira conhecimento, ou então contrate alguém para fazer isso, e remunere bem, e remunere também por performace.... Quanto mais ele ganhar para você mais ele ganha para ele mesmo...

E os impostos?
Pague todos corretamente, pague bem ao seu contador para que ele tenha uma dedicação especial às suas contas e evite erros, você já está milionário, se você ganhar 1 milhão por ano e pagar 275 mil de imposto de renda fique feliz.... O valor do imposto pode parecer alto, mas depois dele você ganhou 725 mil no ano....
E você não quer ver seu patrimônio corroendo por causa de impostos atrasados com juros e correção monetária...
Se você acha que os impostos são altos, lucre mais ainda, e pague mais impostos, para sobrar mais dinheiro....

Mantendo o anonimato...
Nas primeiras semanas leia jornais e na internet se tem informações do ganhador, se perceber alguma coisa que possa levar a você despiste-os, a pior coisa é aparecer reporter que exibe a imagem da fachada da casa ou prédio....
Não faça compras em dinheiro, além de parecer suspeito, chama atenção...
Não use débito em todas as compras, use a opção crédito, no máximo parece que você é um coitado que vive  parcelando o cartão...
Não pule degraus na troca de carro, vá em etapas....
Não mime seus filhos, eles são a parte mais fraca nesse relacionamento, dê tudo que pedem e serão idiotas...
Recompense seus filhos por suas ações, mas não deixe que os presentes sejam seu combustível...
Não reflita seu sentimento de culpa em seus filhos por não ter tido...

Cansei, depois invento mais coisas...

domingo, 13 de dezembro de 2009

Port do Cipher50 do Visual Fox Pro em PHP

Postei no PHPBrasil, veja aqui...
Port para PHP do algoritmo CIPHER50.FLL em C++ usado no Visual Fox Pro...
É o algoritmo usado no CD da Lista Telefônica da Telefonica...
O uso é simples, chame a função encrypt(texto,key)...
É um algoritmo em que a função de codificar é a mesma de decodificar...
Se não estiver disponivel lá, acesse aqui...
If it's not avaliable on the first link you can find the port here...

quinta-feira, 10 de dezembro de 2009

Segurança em Sites

Se você está pretendendo proteger seu site contra possíveis injections de códigos maliciosos, não use as soluções idiotas a seguir:
  • Obrigar senhas com números apenas;
  • Limitar o tamanho das senhas;
  • Limitar os caracteres das senhas;
  • Remover palavras do conteúdo;
  • Escape duplo de caracteres;
  • Pior que esse só o escape triplo;
  • Segurança excessiva em um site que não tem nada de especial... (Teclado Virtual)

terça-feira, 8 de dezembro de 2009

Pesquisa Fonética 2

Na busca por algoritmos encontrei outro nesse endereço: http://www.iremar.com.br/fonetica.php
Testarei em breve e comentarei aqui os resultados, se é melhor, pior que o outro...

Javascript - Primeira em Maiúscula... Rewritten

Fiz uma nova versão desta função, agora com um código muito mais limpo e eficiente, pois utiliza expressões regulares...
E com apenas 14 linhas...

Não usei \w e \W pois ele não reconhece como Word palavras acentuadas...
function UcWords(campo)
{
    val = campo.value;
    newVal = val
        .toLowerCase()
        .replace(/[^A-Za-záâàãäéêèëíîìïóõòôöúùûü][A-Za-záâàãäéêèëíîìïóõòôöúùûü]/g, function(m){return m.toUpperCase()})
        .replace(/[0-9][A-Za-záâàãäéêèëíîìïóõòôöúùûü]/g, function(m){return m.toUpperCase()})
        .replace(/( (da|das|e|de|do|dos|para|na|nas|no|nos) )/gi, function(m){return m.toLowerCase()})
        .replace(/^./, function(m){return m.toUpperCase()})
    if (val != newVal)
    {
        campo.value = newVal;
    }
}

domingo, 6 de dezembro de 2009

Pesquisa Fonética em PHP

Na aplicação PHP que desenvolvi foi necessário a implementação de uma pesquisa fonética, no entando, usar a função SOUNDEX se mostrou ineficaz por vários motivos...

Foi então que encontrei um trabalho nesse link...

Nele é proposto um algoritmo para pesquisa fonética em português, acho que o nome é BUSCABR...

Para utilizar esta função criei a seguinte classe no PHP que pode ser vista aqui..

Exemplo e Explicação:
echo BuscaBR::Fonetica("José da Silva"); // Retorna: / js d slv /
echo BuscaBR::Fonetica("José da Silva",1);; // Retorna:  js d slv
O segundo argumento "1", serve para fazer com que o retorno venha delimitado por //, tive de fazer isso pois minha outra classe usava trim, e removia os espaços antes de depois...

Mas porque espaços antes e depois da string?

Porque ao pesquisar, %js%, sem espaços, ele vai match jsm (Josiane)...
Agora pesquisando por % js %, com espaços, ele vai match apenas José ou Jozé ou Josi, Giosé...
E se no MySQL estiver armazenado sem espaços, ele sempre vai ignorar a primeira e a última palavra, que apesar de terem as letras certas, faltam um espaço...

Espero de façam bom uso dela...

Link da Função: http://pastebin.com/f1819c394

PS: Percebi que a minha função que foi feita com base no guia do texto está errada, pois na tabela do texto ele inclui diversas letras que não estavam no guia, logo segue a nova versão do código aqui... Já alterei nos links acima...

terça-feira, 1 de dezembro de 2009

PHP Classes

Estou aprendendo a usar classes, apesar que ainda não entendi esse negócio de orientação a objetos...
Minha dúvida atualmente é se crio uma classe com funções estáticas para substituir funções livres no meu código...
A performace é um pouco mais lenta, mas os benchmarks são inconclusivos...

Javascript - Primeira em Maiúscula...

Postei uma nova versão aqui...

Segue uma função javascript para deixar maiúsculas apenas a primeira letra de cada palavra, com suporte a exceções...
function UcWords(campo) {
 x=getSelectionStart(campo);
 y = campo.value.length
 val = campo.value;
 if (val.length > 1)
  val = val.substr(0,1).toUpperCase() + val.substr(1).toLowerCase()
 else
  val = val.toUpperCase()
 newVal = UcWords_Space(val)
 if (newVal.length > 1)
 {
  if (newVal.search(/\./) > -1) newVal = UcWords_Generic(newVal,'.')
  if (newVal.search(/\//) > -1) newVal = UcWords_Generic(newVal,'/')
  if (newVal.search(/\(/) > -1) newVal = UcWords_Generic(newVal,'(')
  if (newVal.search(/\)/) > -1) newVal = UcWords_Generic(newVal,')')
  if (newVal.search(/-/) > -1) newVal = UcWords_Generic(newVal,'-')
  if (newVal.search(/\*/) > -1) newVal = UcWords_Generic(newVal,'*')
 }
 campo.value = newVal;
 x = x + campo.value.length - y
  setCaretTo(campo,x)
}
function UcWords_Space(val)
{
 if (val.search(/ /) == -1) return val;
 newVal = new Array;
 val = val.split(' ');
 for(var c=0; c < val.length; c++) {
  var g = val[c].substring(0,1) //Primeira Letra
  var e = val[c].substring(1,val[c].length) //Resto
  var h = val[c] //PalavraFull
  if ((h == 'de') || (h == 'do') || (h == 'dos') || (h == 'da')  || (h == 'das') || (h == 'e'))
  {
  }
  else
  {
   g = g.toUpperCase()
  }
  newVal[c] = g+e
 }
 newVal = newVal.join(' ')
 return newVal

}

function UcWords_Generic(Texto,Separador)
{
 ArrVal = new Array;
 Texto = Texto.split(Separador);
 for(var d=0; d < Texto.length; d++) {
  ArrVal[d] = Texto[d].substring(0,1).toUpperCase() + Texto[d].substring(1); //Primeira Letra + Resto
 }
 return ArrVal.join(Separador)
}

sábado, 28 de novembro de 2009

Carnê-Leão - Receita Federal

Cansado da tela pequena do Carnê-Leão da Receita Federal fiz um editor em PHP do arquivo dele, a única coisa que eu não fiz foi a geração da DARF para pagamento, mas o cálculo do imposto devido é fácil de fazer...

Uma dúvida que estou é se eu libero a fonte desta aplicação, ou faço uma versão web para as pessoas enviarem seus xmls e editarem online e depois baixar de volta para imprimir seus DARF's...

Ou envio o código pra Receita e quem sabe eles usam ele...

segunda-feira, 23 de novembro de 2009

Javascript - Função para manter o cursor no lugar

Você acabou de criar uma função onkeyup no javascript, mas descobriu que, ao mudar o conteúdo do inputbox, o cursor vai parar no final...

Segue uma função para resolver este problema, não lembro de onde peguei ela :/, mas é bem útil, ela mantém o cursor no devido lugar:
function getSelectionStart(o) {
    if (o.createTextRange) {
        var r = document.selection.createRange().duplicate()
        r.moveEnd('character', o.value.length)
        if (r.text == '') return o.value.length
        return o.value.lastIndexOf(r.text)
    } else return o.selectionStart
}


function setCaretTo(obj, pos) {
    if(obj.createTextRange) {
        /* Create a TextRange, set the internal pointer to
           a specified position and show the cursor at this
           position
        */
        var range = obj.createTextRange();
        range.move("character", pos);
        range.select();
    } else if(obj.selectionStart) {
        /* Gecko is a little bit shorter on that. Simply
           focus the element and set the selection to a
           specified position
        */
//        obj.focus();
        obj.setSelectionRange(pos, pos);
    }
}
Uso:
onkeyup="javascript:AlgumaFunctionOnKeyUpOuOutroEvento(this);"
function AlgumaFunctionOnKeyUpOuOutroEvento ()
{
    x=getSelectionStart(campo);
    y = campo.value.length

    // Processamento de algo

    x = x + campo.value.length - y
    setCaretTo(campo,x)
}

PHP POG - Samples

Segue 2 códigos úteis para programadores que não sabem programar corretamente uma função e suas variáveis...
Uma espécie de SetGlobalAll();

De fora pra dentro:
extract($GLOBALS,EXTR_REFS); //No inicio da função
De dentro pra fora:
Savior(get_defined_vars()); //No final da função

function Savior($def)
{
foreach ($def as $key => $val)
{
global $$key;
$$key = $val; //podia usar extract mas daria na mesma... 1 linha por 1 linha....
}
}

domingo, 22 de novembro de 2009

Guia de Programação para Preguiçosos

Este guia é para quem quer economizar tempo programando...

Geral
  • Não use mais de um tipo de charset em sua aplicação, uniformize tudo, se for latin1 (ISO-8859-1) use em tudo mesmo, se for UTF-8, use em tudo, até na hora de salvar os arquivos do script, mas lembre-se sem o BOM...
  • Se tiver uma dúvida, crie um pequeno programa de teste, não perca tempo perguntando... Fazer o script 5min, descobrir o erro 2min... Ou escrever a pergunta 3min, esperar alguém responder 20min...
  • Interprete sua aplicação mentalmente, parece idiota, mas se você aprender a pensar que nem o computador, vai achar os erros 10x mais rápido, e consequentemente errar menos no futuro...
HTML
MySQL
Muito tarde para ficar pensando...

quarta-feira, 4 de novembro de 2009

Post Extraordinário

Um post meio estranho, com duas notícias incrivéis do que aconteceu nestes últimos dias:

  • Um leitor do blog postou nos comentários do meu post explicando a simplicidade de como decodificar o Banco de Dados dos Correios, veja aqui. Parabéns ao FelipeTv que encontrou a resposta com as poucas dicas que passei.

terça-feira, 27 de outubro de 2009

Internet 24 Horas

Os bancos bem que podiam se unir para fazer um site tipo os caixas eletrônicos 24 horas, que permitem que você use os serviços de qualquer um dos bancos conveniados na internet.

A vantagem para o usuário é que haveria um interface única para todos os bancos, ou seja, usou um, usa todos...

A interface não precisa ser única, mas tem de ser usável em qualquer banco, uma espécie de CSS bancário...

Pessoas menos familiarizadas utilizariam interfaces sem muitos recursos na tela, mais fácil de usar, pessoas tem medo de opções (exemplo CEF, Nossa Caixa).

Usuários avançados já teriam uma tela com muitos mais opções, mais rápido, mas mais assustador para quem tá começando (exemplo, BB, Itaú, Bradesco).

E os bancos se quiserem poderiam economizar com a área de desenvolvimento do site, já que teriam uma empresa terceirizada para fazer este serviço, que faria uma única vez para todos os bancos...

sábado, 17 de outubro de 2009

Formas de acabar com a Pirataria

Quem sabe as empresas irritadas com o desrespeito à sua propriedade intelectual se unam e resolvam impor uma das situações abaixo para acabar com a pirataria:

Proibir a Banda Larga no mundo
Segundo esta situação, todos os usuários teriam no máximo 56k de download (velocidade de modem telefônico)...
Espera aí, com 56k já havia download de filmes, melhor diminuir pra 14.4k o limite de velocidade... Não dúvido que a pirataria on-line continue....

Reestabelecer a cobrança de conexão por tempo

Nesse caso talvez a pirataria seja abalada, talvez, capaz de diminuir a on-line e aumentar a física (do crime organizado)....
E também proibir o pulso fixo (atual tarifa única de conexão, algo assim)...

Proibir a venda de HDs maiores que 2gb
Com isso, se você conseguir instalar o Windows já é um lucro, com o Office mal cabe um arquivo de 700mb... E lembrar de adicionar, proibir a posse de mais de um hd por pessoa, melhor, por casa....

Proibir a venda de gravadores e de mídia de cd/dvd
Claro, sem um cd/dvd não da pra ouvir música, nem assitir filme, :P

Proibir o comando de copiar nos computadores

Só teriamos o Recortar, aeuhaeuaehuaeae.... Cópias ilegais nunca mais...

Agora medidas realmente eficazes que acabariam com a pirataria:

  1. Um único site com interface simples para obter os títulos (pode ser mais de um, mas todos tem de ter o mesmo portifólio);
  2. Com todos os títulos (mesmo, tudo);
  3. Simples de pagar, sem digitar infindáveis número do cartão de crédito (já viu paypal?);
  4. Com produtos baratos (lembre-se o CD/DVD vem com um encarte lindo);
  5. Arquivos livres (se tiver bloqueio, logo alguém descobre como desbloquear, e quem fica com cara de bobo é você);
  6. Possibilidade de vender o produto depois (você pode vender um CD depois de ripar todas as músicas dele);
  7. Possibilidade de transmitir aos herdeiros os direitos sobre o arquivo;
  8. Posse dos direitos ad eternum, ou seja, (fui roubado, levaram todos meus computadores, quero minha música de volta);
  9. Lançamento do conteúdo internacionamente, e legendado (lembrem-se uma comunidade consegue traduzir legendas em menos de 4h, senão menos, porque uma empresa não consegue?);
  10. Opção de compra de versão com qualidade inferior, a um custo bem menor (pra que versão Full HD se minha TV é velha?, porque WAV se nem sei a diferença de um MP3 96kbps pra 128kbps);
  11. E opção de upgrade de versão de qualidade inferior para superior, pela diferença apenas;
  12. Opção de locação do conteúdo (nem nesse caso usar um formato bloqueado, se a pessoa quiser ela desbloqueará, e você continuará com uma cara de idiota);
  13. E opção de aquisição do produto de locação pela diferença (não sei se compro, vou ver, gostei, porque não comprei antes? errado - não sei se compro, vou ver, gostei, vou comprar) - isso impulsiona as vendas, pois se a pessoa puder comprar algo em que já gastou x, pra gastar mais y é um degrau só, se forem 10 degraus é bem diferente;
  14. Simplificação no modelo de licenciamento, quero passar um filme numa festa (pelas letrinhas isso é ilegal), como fazer???? pra quem ligar????, o próprio site fornece a opção de adquirir direitos para exibição;
Se fosse assim, a pirataria decairia rapidamente, pois o sentido da pirataria está na demora do lançamento mundial e nas limitações atuais de mídia eletrônica, o custo é um fator, mas com a opção de preços menores para qualidades inferiores, cada um paga o que pode...

A pirataria perde feio em facilidade de uso, pois nínguem entende o conceito de seed o torrent depois do download, nem porque elas baixam um arquivo .torrent pra depois ter de esperar chegar o arquivo certo, ou porque pra baixar de um site tem de esperar xx segundos e digitas uns códigos (rapidshare)...

Se as empresas de mídia seguissem esses conselhos, é bem provável que a quantidade de mp3 ilegal em players de música caia vertinosamente.... E de seriados assistidos provenientes de downloads ilegais também...

Lembrem-se: Tudo que é simples é popular... Nem sempre o que é melhor é popular...

Não quero comentários inúteis neste post (aka discuções sobre capitalismo, preços altos, e bla bla bla)...

sexta-feira, 16 de outubro de 2009

Como aprender PHP

Um guia simples para iniciantes para aprender PHP, não vou ensinar códigos e sim condutas de como adquirir conhecimentos sem parecer um idiota.
  1. Saiba pra que serve o PHP - é uma linguagem de programação server-sided (não você não pode controlar o micro do usuário com PHP, só com sua saída, seja HTML, Javascript, XML, qualquer coisa, menos ele próprio;
  2. Aprenda inglês - se não consegue, aprenda pelo menos o significado das palavras usadas para programar em PHP, e crie vergonha de aprender a ler inglês, não precisa aprender gramática, só o significado das palavras e saber que elas podem aparecer diferente (tempo verbal), e use um tradutor online sempre aberto em uma aba;
  3. Consulte sempre a documentação oficial no site (www.php.net - em Documentation - tem em Português também - só procurar);
  4. Ative a exibição de erros: display_errors = on;
  5. Ative a exibição de qualquer tipo de erro: E_ALL;
  6. Se aparecer apenas uma página em branco sem erro, veja o código fonte da página, o erro pode estar escondido;
  7. Na dúvida pesquise no Google antes de perguntar para alguém (você economiza o tempo de alguém e aprende a pesquisar);
  8. Não achou no Google? Use o menor número de palavras chave e tente novamente;
  9. Não? Tenta denovo com sinônimos;
  10. Agora pode perguntar, mas você provavelmente parecerá um idiota, pois se alguém souber a resposta significa que você não procurou o bastante, :P....
Aqui vai umas regrinhas básicas para que seu código funcione em qualquer plataforma:
  1. Não use magic_quotes, register_globals, short_tags;
  2. Não crie tabelas no MySQL com nomes em maiúsuclas;
  3. Use mysql_real_escape_string;
Não lembro de mais nada por enquanto...

domingo, 11 de outubro de 2009

Os Riscos do Débito Direto Autorizado (DDA)

Se você está pensando em aderir ao sistema do DDA leia o texto a seguir antes de confirmar qualquer coisa:
Introdução
Em todos os jornais e publicações o que vemos são apenas vantagens no novo sistema: economia de papel, economia com postagem, economia com impressão, portabilidade no pagamento, maior segurança nas entregas das contas.
É claro que essas vantagens são ótimas, porém não vi em lugar nenhum falarem das desvantagens do sistema DDA:
  • Obrigação de consultar diariamente o sistema;
  • Falta de informação quanto ao prazo mínimo entre o registro do boleto e seu vencimento;
  • Possibilidade de cobrança pelo serviço;
  • Falta de obrigação legal de comunicação ativa gratuita pelo banco do registro de um boleto (SMS, E-mail, etc);
  • Impossibilidade de pagamento por terceiro de um único boleto;
  • Pagamento em casos excepcionais por terceiros;


Obrigação de consultar diariamente o sistema
Lendo os contratos de adesão ao sistema, temos claramente uma cláusula determinando que o "cliente", deverá acessar diariamente o sistema para consultar as cobranças registradas no sistema.

Isso mesmo, diariamente, ou seja, se você não tem o costume de acessar o internet banking diariamente, ou ir no caixa eletrônico todos os dias, pode ir se preparando para acessar todo dia o sistema, ou pode correr o risco de perder alguma cobrança.

Quantas pessoas usam caixas eletrônicos e internet banking diariamente?
Poucos, mesmo os que acessam a internet diariamente não tem tempo de ficar olhando suas contas.

E ficar em fila de caixa eletrônico todo dia pra consultar boleto é triste, ainda mais considerando que ainda é grande o número de pessoas que não confiam em internet banking, é só olhar a quantidade de pessoas pagando boleto em caixa eletrônico.

Falta de informação quanto ao prazo mínimo entre o registro do boleto e seu vencimento
Não há informação quanto ao prazo mínimo entre o registro do boleto e seu vencimento.
Com isso uma empresa poderia registrar um boleto hoje, com vencimento para amanhã.
E se você não acessar o sistema nesses dias pode simplesmente ficar devendo, sem saber porque.

Possibilidade de cobrança pelo serviço
Querer cobrar pelo uso do serviço de DDA também é outra armadilha.
Nós pagamos boletos sem qualquer cobrança adicional, porque teriamos de pagar para fazer algo que é totalmente eletrônico?
Ainda mais que com o DDA os bancos reduzirão seus custos com o envio de boletos, então quer dizer que se eles economizam com os Correios, ele tem de cobrar por isso?

Falta de obrigação legal de comunicação ativa gratuita pelo banco do registro de um boleto (SMS, E-mail, etc)
Uma solução simples, mas que os bancos não a forneceriam gratuitamente para a maioria da população é um alerta SMS do registro, mas nem todos tem celular, e nem todos sabem ler mensagens SMS. Ou mesmo por e-mail, mas nem todos tem e-mail, e nem todos que tem e-mail leêm diariamente seus e-mails.

Impossibilidade de pagamento por terceiro de um único boleto
Esse ponto eu não entendi, eu posso autorizar alguém a ver meus boletos isso eu sei, mas e se eu quiser autorizar só um boleto, é possível?

E se eu não tiver saldo no dia do vencimento, mas algum amigo seu tem saldo, e aceita pagar seu boleto, como ele vai pagar se para ele ter acesso é necessário o envio dos documentos de comprovação?

Pagamento em casos excepcionais por terceiros
Uma coisa que já deveria estar prevista é o recebimento de um código pelo SMS ou E-mail, por exemplo, que permita que um terceiro pague o boleto.

Isso seria para os casos em que o titular esteja incapacitado de acessar a conta, até mesmo por frescura do banco, cartão bloqueado, senha bloqueada, greve do banco, situação caótica mas real..

Contratos
Se ainda estiver com dúvida leia atentamente o contrato de adesão do DDA de seu banco, vou colar aqui os trechos dos contratos de alguns bancos:
Bradesco
b) diariamente, o Sacado Eletrônico e os seus Sacados Agregados deverão acessar os canais eletrônicos disponibilizados pelo Bradesco para consultar as informações dos boletos de cobrança registrada demonstrados via DDA, seja para programar os pagamentos ou para realizar os eventuais complementos de dados admitidos no sistema DDA, ficando o Sacado Eletrônico e os Sacados Agregados obrigados a manterem saldo disponível em suas contas de depósito no Bradesco para o acatamento dos pagamentos programados por aquele ou por estes;

Santander
d) deverá acessar diariamente os canais eletrônicos disponibilizados pelo BANCO
para consultar as informações dos boletos de cobrança registrada demonstrados via
DDA, com o objetivo de agendar pagamentos ou efetuar eventuais
complementos/acertos de dados registrados no sistema DDA, ficando o Sacado
Eletrônico obrigado a manter saldo disponível em sua conta corrente para a
realização dos pagamentos agendados.

Banco Real
d) deverá acessar diariamente os canais eletrônicos disponibilizados pelo BANCO para consultar as informações dos boletos de cobrança registrada demonstrados via DDA, com o objetivo de agendar pagamentos ou efetuar eventuais complementos/acertos de dados registrados no sistema DDA, ficando o Sacado Eletrônico obrigado a manter saldo disponível em sua conta corrente para a realização dos pagamentos agendados.
 No Banco do Brasil, Nossa Caixa não há qualquer menção a isto, também não falam nada sobre um prazo mínimo entre o registro e o vencimento. Mas incubem ao cliente a responsabilidade pelo uso do sistema:
Banco do Brasil
b) A simples consulta, nos meios disponibilizados pelo BANCO, efetuada pelo(s) SACADO(S) ELETRÔNICO(S), dos bloquetos de cobrança e similares, que lhe for(em) apresentada(s) eletronicamente, importará a ciência inequívoca desses documentos;
Mas o que acontece se o cliente não acessar???
Banco Nossa Caixa
b) A disponibilidade pelo BANCO dos bloquetos ou similares para o (s) SACADO(S) ELETRÔNICO(S), importará a ciência inequívoca desses documentos, inexistindo responsabilidade do BANCO na hipótese de ausência de consultas pelo(s) SACADO(S) ELETRÕNICO(S);
Caixa Econômica Federal
I - Estar ciente que após disponibilização do serviço DDA poderá não mais receber bloquetos de cobrança registrada em meio papel (documentos físicos), responsabilizando-se por consultar, de forma eletrônica, todas as informações de cobrança existentes em seu nome e de seus AGREGADOS nas contas de depósito de sua titularidade;

O contrato do Banco Itaú não consegui acessar talvez por causa do horário.

Conclusão
Então antes de aderir ao sistema, pense bem e procure ativar serviços que avisem da existência de um novo boleto registrado de forma passiva (SMS, E-mail, sinal de fumaça)...

Ou então organize sua agenda diária para consultar a lista de boletos cadastrados, e não deixe de consutá-la mesmo que esteja internado em um hospital. (O boleto em papel alguém podia abrir a carta e pagar, o eletrônico só com autorização (de alguém, do gerente?), se não exigirem um alvará judicial, :P);

Nada contra o sistema DDA, mas esses pontos são muito complexos para serem ignorados pela população em geral.

quinta-feira, 8 de outubro de 2009

Certificação Digital

STJ Ok - Só no IE - Firefox quase vai, mas ta dando erro o JCE do Java diz que key é muito grande;
TST Ok - IE e Firefox;
STF - Ainda não consegui....

Setup:
SafeSign Standard - SafeSign-Identity-Client-2.3.6.admin.exe
GemPCTwin_PC_SC_Installer_32_bits.exe
IE8 Firefox 3

segunda-feira, 28 de setembro de 2009

O que eu aprendi nessa semana...

Python
  • Para compilar no PY2EXE, no lugar de Console= usar Windows=, assim para de exibir a tela de prompt a cada execução.
  • Entre dois códigos compilados a diferença está no EXE e no Library.zip....
jQuery
  • Funções Personalizadas se faz através da seguninte chamada: $.fn.FuncaoNova = function() { $(this).datepicker(); }
  • this no caso acima é o troço que chamou, e não a si mesmo, útil para fazer outra chamada;
Pouca coisa, é que eu esqueci o resto...

domingo, 27 de setembro de 2009

WebApp, por favor...

Programadores, ao criarem uma aplicação que tenha apenas a intenção de processar dados, como os programas da Receita Federal, porque não disponibilizar os programas em uma versão Web, mantendo a versão desktop para quem não quiser usá-la, ou mesmo um WebApp de código aberto, que poderia ser executado na máquina do cliente, caso este saiba instalá-lo, poderia ser, em PHP, por exemplo...
Ficaria muito mais simples, alternar de sistema operacional, alterar a resolução da tela, já que a maioria dos browsers atualmente suporta zoom decente...
Já um aplicativo Java, fica limitado à sua janela, que é por padrão 800x600, e em um monitor mais novo, fica em 1/4 da tela...
Uma janelinha mini, com letras pequenas...

segunda-feira, 21 de setembro de 2009

MySQL - Corrigindo o Evil BLOB

Problema

Bom, eu havia convertido um DBF do DBase para uma tabela do MySQL. Como estava dando erro com o campo TEXT, criei campos BLOB.
O problema que eu esqueci que havia feito isso, o sistema estava operando normalmente.
Só apareceu o problema quando resolvi migrar o site para UTF-8, o site era Latin1 (ISO-8859-1)...
Todos os campos TEXT estavam corretos, mas os campos BLOB não...
Ao tentar converter com MODIFY o erro era algo do tipo:
ERROR 1366 (HY000): Incorrect string value: '\xC7\xC3O' for column 'HIST' at row 5
O problema é que no campo BLOB estavam salvos os dados em Binário, e o MySQL não sabia o que fazer com os caracteres com acentos.
Solução usada
Rodei no PHP o seguinte código:
$mysqlA = new mysqli("localhost","user","
senha","db");
$mysqlB = new mysqli("localhost","user","senha","db");
$sql = "SELECT * FROM table";
$queryA = $mysqlA->query($sql);
while ($line = $queryA->fetch_array(MYSQL_ASSOC))
{
 $histnew = $mysqlB->real_escape_string(utf8_encode($line["HIST"]));
 $ID = $line["TableID"];
 $sql = "UPDATE table SET HIST = \"$histnew\" WHERE
TableID = $ID";
 $mysqlB->query($sql);
}
Depois de executá-lo, rodei o seguinte código no MySQL:
ALTER TABLE tbllancamentos MODIFY HIST TINYTEXT
E pronto, os acentos estavam corretos bastando apenas escolher o charset pelo MySQL no PHP...

Plugins do Firefox

Lista de Complementos que utilizo no Firefox
  • Firebug - Para programação HTML e teste de tempo;
  • Gmail Notifier - Para verificar se há novos e-mails;
  • PDF Download - Impede a abertura direta de arquivo PDF dando opção de abrir ou baixar (não está funcionando direito);
  • Print/Print Preview 0.6 - Altera botão de imprimir para um botão maior com opção de visualizar a impressão;
  • QuickPageZoom 1.6.2 - desativo opção de contexto - Fica na barra de Status, opção de Zoom por mouse, bom para usuários que não decoram o Ctrl + e -;
  • TabPopup 1.2.1 - Espécie de Aero Peek do Vista pro Firefox;
  • Tamper Data 10.1.0 - Consultar os headers HTTP;
  • TwitterFox 1.8.3 - Twitter na StatusBar com avisos de novos twitts;
  • Compact Menu 2 2.3.2 - Esconde a MenuBar e Cria um ícone que permite o seu acesso;

O que eu aprendi hoje...

PHP
  • Usando Unicode (UTF-8) a função strtoupper tem problemas com "ú", transforma em "ê", não sei porque.
  • Fix: utf8_encode(strtoupper(utf8_decode($str));
Python
  • É diferente o código do 3.1 pro 2.6, de preferência tente programar para o 2.6 que tem maior suporte e ajuda.
  • Rodar o PY2EXE criou uma pasta de 10Mb, com um EXE de 20kb...
  • Usando  Psyco no meu código, aumentou 200kb a pasta do EXE...
  • Fiz meu App pra executar programar direto do browser, talvez eu tente fazer em C. 
  • Usar Import Modulo sempre, nada de From Module Import X - porque;
jQuery
  • É muito simples, vou ver de rewrite all my Javascript com jQuery, vai reduzir bastante a complexidade do código.
  •  Não sei porque comprei o livro de tão simples que é, mas o livro me ajudou muito a entender...
HTML
  • Ancora # procura pelo ID, não precisa daquela tag A;
Meu App
  • Eu converti todo o processamento do meu App para UTF-8, até as páginas são UTF-8...
  • Deixei o código compilant com PHP 5.3.
  • Criei o gerenciador de arquivos.
  • Fazer lista do que fazer acelera a execução do projeto.

sábado, 19 de setembro de 2009

Projeto: Extreme File Compression

Esse projeto permite comprimir arquivos de qualquer tamanho para arquivos de menos de 1KiB.
Impossível? É claro que não, mas também não espere que a decompressão demore menos de uns 10 milênios...

Como?
Acredito que você saiba o que é um algoritimo de file hashing, simplificado é algo como tirar um resumo (hash) de um arquivo X, aquele arquivo X só pode ter aquele resumo W, mas um resumo W pode ser o resumo de vários arquivos X Y Z.
Então, podemos dizer que é possível reconstruir um arquivo X, simplesmente sabendo seu hash W.
É claro que esse processo pode demorar muito tempo, pois temos que rodar por brute-force (força bruta), todas as combinações possíveis, e corremos o risco de achar diversos falsos positivos.
Também armazenamos no arquivo comprimido, o tamanho do arquivo X, assim evitamos correr por todos os tamanhos possíveis de arquivos até chegar ao destino.
Como resolver então?
Tenho duas idéias de como resolver esse problema:
A - Executar o Hashing de todos os arquivos possíveis desde 0 até chegarmos ao arquivo desejado, contando quantas vezes o hash do arquivo foi repetido, a descompressão se daria da mesma forma, até encontrar o arquivo desejado. - O tempo da compressão neste caso é igual ao tempo da descompressão, muitos anos mesmo.
B - Usar vários algoritmos de hasing diferentes sobre o arquivo desejado, a fim de evitar a ocorrência de falsos positivos, assim, somente o arquivo X, teria os hashs A, B, C, D, E, F, G, H, I, J, K, L, M e assim por diante. - Neste caso o tempo de compressão pode demorar apenas 1 hora, dependendo da quantidade de hashs usados... Há apenas um pequeno risco de haverem falsos positivos, mas nesse caso depende da matemática pura e simples....
Exemplo
Aqui um exemplo do que é brute-force, vamos exemplificar que nosso arquivo em 5 digitos, e por serem digitos ele é composto apenas de número, vamos procurar o CRC32 a3bff1c0, então vamos:
  1. 00000 - 4adc54f5
  2. 00001 - 3ddb6463
  3. 00002 - a4d235d9
  4. 00003 - d3d5054f
  5. 00004 - 4db190ec
  6. 00005 - 3ab6a07a
  7. 00006 - a3bff1c0 - achamos o arquivo contém 00006
Viva!!! Descomprimimos o arquivo, sorte a nossa que ele era o 7º da fila....
Mas no mundo real pode ser na trilionésima tentativa, ou um número que nem sei escrever por extenso.
No exemplo acima o arquivo comprimido poderia ter esse conteúdo:
EFC-#-5-CRC32-a3bff1c0-1
Não parece muito eficiente né, mas imagine um DVD de 4.7GB, no arquivo a seguir:

EFC-bin-4700000000-CRC32-d113d346-7872298821547701824
53 bytes contra 4700000000 bytes, um arquivo de 88.679.245 de vezes menor.
Quem sabe um HD de 2TiB:

EFC-bin-2199023255552-CRC32-1afd250-27819858736306.....296621735144842438121298
Mesma coisa, cortei o último item que é o repetições senão o blog não ia exibir, mas faz de conta que o file ficou com 1KiB, um arquivo 2.147.483.648 de vezes menor!!!!

Conclusão
O meu algoritmo de compressão é extremamente eficiente, mas não é eficaz, pois o tempo necessário para a descompressão é exageradamente grande, talvez com a computação quantica ele se torne viável.
Uma última vantagem dele, é que ele pode ser rodado em paralelo sem qualquer perda de eficiência, cada CPU pode rodar um range de arquivos...

quinta-feira, 17 de setembro de 2009

Guia para pensar fora da caixa

Pegue uma serra, corte seu crânio, tire seu cerébro.
Pronto, se você sobreviveu, estará pensando fora da caixa.

Brincadeira, não faça isso, a sujeira vai ser enorme, o sangue espirrará para todos os lados e é dificil de limpar, além da dor na hora do corte, e dos problemas de remover o cerebro do crânio, pois os cabos não são compridos o bastante, e geralmente são do tamanho exato para ficar lá dentro...

Para pensar fora da caixa, primeiro você tem de aprender a ver o mundo como outra pessoa.
Se para você isso é fácil, aprenda também a esquecer quem você é, e tentar descobrir o que a pessoa alvo pensaria.
Se é dificil isso, imagine ser um animal, algum animal que você pode observar o comportamento, interaja com ele, faça ele de idiota, e veja suas reações.
Aprenda.
Ao conseguir pensar como outra pessoa, veja o seu problema, se você pensar como um cachorro, provavelmente o problema deixará de existir.... Um cachorro não tem idéia do aquecimento global, ele só se importa em enterrar seu osso, e brincar, fazendo isso ele é feliz, nem se lembra das vacinas e termometros...
Pense se o mundo fosse acabar em 60 segundos, o problema é importante?
Se for importante, como resolver ele de uma forma definitiva?
O que Chuck Norris faria? E o Jack Bauer?
Pense em soluções idiotas como, vamos organizar um suícidio de toda a raça humana para salvar o planeta, isso ajuda o cerébro a enfretar o problema por outros ângulos, encontrando soluções para qualquer problema inexistente.
Lembre-se que o problema só existe porque você está lá para dizer que ele existe...
A Terra seria apenas um monte de rocha coberta com material estranho se não estivessemos aqui para dizer que é um planeta com vida.

Propriedade Intelectual

O que fazer com a propriedade intelectual em um mundo em que a maioria dos jovens vêm ao mundo com a idéia de que a propriedade intelectual é inexistente?
Jovens copiam músicas, filmes, seriados, programas livremente na internet, isso é um problema para indústria, mas ela provavelmente encontrará uma solução para isso... Talvez remunerando-se por vias indiretas.
O problema mais importante está na concepção de que patentes são um mal ao mundo.
O processo movido contra o twitter por uma empresa que patenteou um modelo parecido para situações de emergências, ou a patente do Google de sua página inicial. Algumas pessoas veêm essas práticas com maus olhos.
Mas o que seria do mundo sem as patentes?
Se você acha que os inventores são movidos simples e apenas pela boa vontade de ajudar o mundo, lembre-se que eles precisam se sustentar, não podem viver de vento.
E se tiverem de trabalhar em outra coisa para se sustentar, não terão tempo livre o bastante para inventar.
De onde viria o dinheiro para remunerar os inventores, e também para incentivar as invenções? Do governo?
E o tempo que você gastou, os materiais gastos, na milhares de tentativas até chegar num produto que funciona?
Para ser inventor você teria de ser também filantropo, ou seja, quem não é filantropo não poderia inventar, ou seja, menos invenções no mundo, menos avanço...
Lembre-se que as patentes tem prazo de validade, o Gilete, aquela lamina de cortar a barba expirou alguns anos atrás. Porque você acha que as industrias farmaceuticas tem nomes compostos? Porque suas patentes estão vencendo, e como não conseguem encontrar novos medicamentos, têm de aumentar seu portifólio de medicamentos.
Assim, durante sua validade, o inventor tem direito a receber royalities por sua invenção, mas depois desse período a invenção passa a ser de domínio público.

É claro que algumas patentes parecem não fazer sentido, mas se os escritórios de patentes aceitarem, porque não patentear? Se você for esperto o bastante pode fazer um pé de meia sem qualquer esforço... E com esse pé de meia poderá ajudar quem quiser, sejam crianças da Africa, sejam os desabrigados de sua cidade.



Estou testando escrever sobre temas polêmicos para ver como os acessos do blog reagem...

quarta-feira, 16 de setembro de 2009

Projeto: Invisibilidade

Este é uma idéia de como poderia ser um sistema de invisibilidade, com funcionamento diferente daquele que tem um projetor em uma roupa, eis que aquele só funciona de um ângulo exato, o meu funciona em qualquer direção...

Montagem

A idéia é baseada naqueles abajour de fibra ótica, imagine que aquilo foi reduzido para, digamos, 1/10 de milimetro, e que a quantidade de filamentos seja de aproximadamente 20.000 filamentos de fibra ótica cobrindo uma área de 140º quadrados...
Embaixo desse dispositivo que vamos chamar de abajour, no lugar de uma lâmpada de uma única cor, teremos na ponta de cada filamento, um gerador de luz LED, que produzirá todas as cores disponíveis, com um nível de contraste altíssimo...
Além, do LED em cada ponta dos filamentos, teremos também nele um sensor de luz, que captará o retorno das fibras... E a ponta dos filamentos deve conter um filtro polarizador de luz, só permitindo a entrada de luz perpendicular à direção da fibra...
A montagem seria realizada sobre um material sólido ou flexível, claro que no caso do sólido é mais simples que no caso do flexível...
Seriam colocados lado a lado sobre o material, permitindo a ocorrência de sobreposição de filamentos, permitindo que no lugar de termos uma série de VVVVVV, tenhamos vários XXXXXX, aumentando assim a densidade por cm²...
Após seria despejado algum fluído que tornasse a posição dos filamentos fixa, tipo um silicone ou algo do tipo, para evitar que eles apontem para um lado diferente com o movimento...
No caso do material ser flexivel, cada abajour teria de ter uma espécie de GPS ativo, para saber sua exata localização em relação aos demais... No caso de usar um material sólido, as medições de posicionamento só seriam necessárias na fabricação....
É importante que todo o material seja da cor preta, e que caso seja iluminado com um fundo preto, não haja reflexos da luz... O material tem de funcionar como um buraco negro se não estiver ativo...
E o material tem de ser coberto como dupla face, assim, caso não haja um filamento distante oposto, usa-se o filamento próximo...

Funcionamento
O funcionamento do sistema é simples...
Cada filamento de fibra ótica recebe a luz perpendicular e transmite ao gerador do filamento que esta apontando na exata direção oposta da luz de entrada, ou seja, é como se a luz passasse direto pelo objeto, ou melhor dizendo é como se ele não estivesse lá...
É claro que se o material for flexivel, como uma capa, o sistema GPS teria de calcular qual filamento está na ponta oposta do outro, teria de ser um sistema bem eficiente e rápido...
A pior parte seria a rede necessária para transportar as informações de uma ponta a outra, só para ter uma idéia, se cada abajour medir 1mm, e isso é bem grande, para esconder um cubo de 1cm³, com uma gama de cores CMYK (32 bits), e uma taxa de quadro de apenas 15 fps, a rede de dados tranportaria algo em torno de 5.3 gigagabits por segundo (ou 686 megabytes/s)...
É claro que se o material for sólido, poderiamos em tese usar uma rede totalmente ótica, sem a presenta de geradores LED, mas isso demandaria um processo de montagem preciso, pois cada filamento deveria ser posicionado no ângulo oposto exato de sua outra ponta...
Mas voltando à rede de dados, os 5.3gbits são apenas para um cubo de 1cm³, para objetos maiores a quantidade de dados é bem maior, e com uma taxa de 30fps é o dobro ainda, lembrando que eu calculei um abajour de 1mm, que é de certa forma grande demais, e acabaria gerando uma imagem pixelada já que os 20.000 filamentos apontam cada um para uma direção diferente...
Em processamento nem ouso calcular, mas cada roteador ou seja lá o que for usado tem de ter sua própria CPU, se não o delay e a quantidade de dados vai para as alturas...

Falhas
Um dos problemas do projeto é a necessidade de gerar a luz LED, mesmo sendo uma opção econômica e pequena o bastante, a luz LED se tentar imitar uma fonte poderosa de luz como o sol ou refletores de luz, pode não ter força o suficiente, e acabar gerando uma sombra...
E mesmo que tivesse potência o bastante, o calor gerado acabaria por facilitar sua localização...
Também há o fato da energia, para alimentar tantas lampadas, seria necessário uma usina de energia...
Outro detalhe é o excesso de sinal de rádio nos casos dos modelos flexiveis, que exigiriam um sistema de GPS pessoal...

Estimativas
Acredito que com um abajour de 1/10 de milimetro, seja possível obter uma invisibilidade de 96% sob a luz solar, e 99% a noite, a uma distância de 30cm, mais que isso a pessoa ouve sua respiração...

Custo
O custo de uma capa de corpo inteiro, incluindo a arma, ficaria na faixa de uns 100 bilhões de doláres...

Uso
Isso é simples, em caso de situações com reféns, em missões de reconhecimento, espionagem, sabotagem entre outras coisas interessantes, :P...

Exemplo Gráfico
==== ( :P ) ========
Luz    Você Luz gerada

E este é meu projeto de invisibilidade, caso tenha interesse favor entrar em contato... :P - Quero meus royalities...

segunda-feira, 14 de setembro de 2009

Banco App

Bem que os bancos podiam liberar um acesso via XML aos extratos, todos de preferência num formato padronizado, fazendo isso, e permitindo que o app baixe os extratos automaticamente, permitiriam diversos serviços, como controle unificado das contas correntes, sem a necessidade do usuário entrar em cada um dos sistemas diariamente, baixar o arquivo e importar no sistema...
Isso é muito chato, dificuldando o ingresso de aplicações desse tipo no mercado, pois exige que o usuário tenha interesse ativo no uso do sistema.
Acredito que um dos fatores para que os bancos não façam isso seja a segurança, mas bastaria criar uma senha exclusiva para o sistema, e pronto, sem poderes para transações...
Um recurso futuro interessante seria o sistema enviar para o banco as transações, e o usuário acessando o internet banking confirmar as operações a serem realizadas.

Guia de Sobrevivência na Internet

Segue uma lista de regras a serem seguidas para garantir sua sobrevivência no mundo virtual sem maiores arrependimentos:
  • Não se deixe fotografar em situações constrangedoras;
  • Não tenha (ini)amigos;
  • Não se deixe filmar fazendo algo que você quer manter em segredo;
  • Não se deixe filmar fazendo algo ilegal;
  • Não envie fotos suas pelado;
  • Não tente defender seu ponto de vista em fórums(ns), ou melhor, em lugar nenhum;
  • Não seja medroso, enfrente seus inimigos, mas não agrida os demais, eles podem criar perfis malignos;
  • Não responda as perguntas para lembrar senha com as respostas verdadeiras, use códigos tipo cachorro = marido, mãe = sogra;
  • A internet lembra de tudo, evite escrever de forma gramaticamente incorreta, comer letras uma vez ou outra é normal, sempre parece estupidez ou burrice;
  • Não fale mal de nínguem, se você não gosta da pessoa, continue não gostando mentalmente;
  • Não ache que você tem de falar toda vez que alguém fala algo, o silêncio é muito mais poderoso que uma resposta idiota;
  • Se porque você está certo, e eles errados, não significa que tem de convertê-los ao lado certo da força;
  • Não acredite que você está sendo traído, ganhou na loteria, está na malha fina, é investidado pela Policia Federal, ou qualquer coisa, pense antes de fazer qualquer coisa, se bem que tem gente que cai em golpe desse tipo ao vivo também, pense, pense denovo, tem certeza que pensou?;
  • Não poste fotos na internet sem olhar atentamente aos detalhes dela, vide o site perolasdookut;
  • Não poste videos idiotas, a não ser que você queira criar um viral;
  • Não poste fotos com caretas, elas podem ficar famosas;
  • Não crie um blog idiota (ops);
  • Não fale besteira, alguma empresa que você pretende contratar pode pesquisar seu passado, e seu passado lhe condena!!!;
  • Aprendar a variar de login, logins iguais podem ser rastreados, e você pode aparecer como inscrito em sites constrangedores, dependendo de quem pesquisou;
  • Não confie senha a amigos/namorados/maridos, qualquer problema e tu tá no buraco (pra não dizer f*);
  • Instale um antivirus, firewall, e tudo mais;
  • Saiba o que é um antivirus, firewall, spyware, e como funcionam...
  • Não tenha inimigos, ex-mulheres, ex-namoradas, traidas principalmente são os piores;
E aqui termina a lista, acho que deve ter mais coisas mas não lembro agora...

sábado, 5 de setembro de 2009

DRM - Venda de Usados

Qual a diferença na venda de um filme digital por uma loja, e um filme digital usado?
Nenhum, praticamente seria possível vendê-lo ao preço da loja, e isso é um problema para as lojas...
Por isso que eles não permitem a venda dos direitos digitais, mas isso acaba atrapalhando as vendas, se um DVD eu posso vender depois, porque comprar um filme que vou morrer com ele?
E seria possível penhorar os direitos sobre esses filmes?
Pode parecer pouco, mas e se a pessoa tiver uma coleção com valor de digamos R$ 10.000,00, é um valor considerável que poderia sim ser penhorado, o melhor seria comprar por 60% do valor na praça judicial...

quinta-feira, 3 de setembro de 2009

Astronômia - Ciência Interessante

Você sabia que a maior parte do conhecimento sobre outras estrelas e constelações é simplesmente baseada em modelos matemáticos?
É incrível como eles conseguem imaginar como algo deve ser, com apenas algumas fotos em vários comprimentos de onda...
Nem as cores do hubble são verdadeiras, cada cor significa um elemento químico, e não as cores reais.....
Incrível!!!!
Eles conseguem ver um ponto piscando e imaginar uma estrela totalmente estranha... Os pulsares...
Veêm objetos se movendo rápido demais e veêm um buraco negro....
Pior que tudo faz sentido, logo devem estar certos, ou não, e o universo é mais estranho ainda, ou mais simples...
Estou cansando de escrever com três pontos...
aeuhaeuea
O pior é saber que talvez tenha milhares de terras por ai, mas como nossa tecnologia é pouco avançada ainda, não consigamos vê-las, e talvez eles também estejam com esse mesmo problema...
Vai ver moramos na área nobre do universo, e hajam favelas galáticas....

Positronic Brain Project

Warning: I'm don't know if someone already had this idea, i couldn't find it on google, maybe i fail to find the right keywords for this.
Studying the anatomy of a neuron you can realize that, it's just a cell that receives signals throught its many dendrites, receiving each from another neuron, and the neuron outputs signals throught its axon, that may lead to many others neurons... But it may be reversed in some cases, but overall it's that...
Then, we have some rules, a neuron only retransmit a signal received when it reaches some pre-assigned level of power, and the output is always the same... And it has to wait a few time to transmit again...
So it's relatively simple the operation of one... Not really, but let's believe that it is.... :P

The positronic brain will not have any positron as it could result in a dangerous thing, as positron + eletron aniquilate each other...
The idea is to build something like an transistor, but shaped like a neuron, with a small processing center, with a few single rules programmed, and a lot of input and output cables covered with carbon nanotubes, or something smaller....
Each cable would be randomly connected to another, let's call it neuronit (neuron + bit) or neuronites...
The size of a neuronite really matters, as the smaller it is, the more fits in a small space, like a head...
The size of cables may vary a lot, but each neuronite needs at least a thousand of those, as some may just fail to find a connection.... The end of the cable need to be magnetic, to connect automaticly to the axon that is a cable that it's not fully shielded with carbon nanotubes...

After building a bunch of neuronites, you just drop them over an recipient, and drop some kind of eletrical shielded fluid, and them start it...
Starting teaching....
This kind of assembly process assures that your positronic brain is unique, as you can't tell which connections had success, and which hadn't....
The only failure in this project is that not every brain will work properly as it can have lesser connections resulting in lower IQ...
My calculations says that it will take at least 25 years to build an operational model, as well to develop the technology that will allow the build of neuronites small enough to build self-aware robots... I'm just not sure about energy consumption, as it would require a small nuclear reactor, but it will not care in the future as it we find out how to generate energy like plants do, carbonic dioxid is free in the air....

quarta-feira, 2 de setembro de 2009

Carnê Leão e DPI

Estou vendo a possibilidade de alterar o código fonte do Carnê Leão da Receita Federal para que o programa se torne DPI Aware, assim ele poderia ficar grande mesmo em telas pequenas...
O jar é unpackable, mas o source se for o source, é case sensitive, preciso de um linux box pra descompactar o jar....
Só espero que seja possível, ainda preciso aprender a sintaxe do Java.
Ou a Receita poderia corrigir esse problema... Se não, eu lanço aqui a versão DPI Aware, e o guia para fazer você mesmo, para evitar malwares....

Currículo

Bom, já faz mais de uma semana que pedi demissão do meu atual emprego de advogado. Ainda estou preparando meu currículo para enviar por aí, mas minha dúvida é o que colocar nele.
Eu não estou muito a fim de continuar na carreira de advogado, a burocracia é exagerada, e nada anda...
Apesar de eu ser praticamente expert em fazer inventários, fazer cálculos... O problema é que é sempre a mesma coisa...
Minha dúvida é como avaliar e colocar nele meu nível de inglês, eu fiz somando os períodos 2 anos de inglês em escolas de inglês mais uma aula por semana desde a 1ª série, mas 90% do meu conhecimento vem da internet, leitura, ou seja, aprendi sozinho, não sei o que querem dizer com inglês avançado, talvez seja algo além do que eu sei, minha gramática em inglês deve ser horrível, mas eu leio qualquer texto, assisto séries em inglês, apesar da baixa eficiência no listening (80%)...
E meu nível de informática??? Windows Avançado??? PHP, Python, VisualBasic, mIRC Script, Lógica???, HTML...
Ainda não sei exatamente o que colocar nele, acho que vou deixar tudo intermediário, e personalizar o currículo por empresa, dependendo do que ela pode exigir...
Estou pensando em ir para a área da administração, econômia, informática, vendas, sei não ainda...
Outra dúvida é se devo ocultar minha graduação para não cair no jurídico.

terça-feira, 1 de setembro de 2009

Loja Online e Frete

Não sei porque tem lojas online, que para ver o valor do frete exigem que você tenha cadastro nela, é a pior coisa a ser fazer com o usuário final...
Estou apenas pesquisando o preço, mas para saber o valor do frete eu tenho de preencher o formulário kilometrico deles...

Como se ter o cliente cadastrado fosse força-lo a realizar a comprar. Isso acaba afastando potenciais compradores que não tem a mínima idéia do valor do frete, e tem preguiça de realizar mais um cadastro que causarão um enxurrada de e-mails indesejados...

Só porque o cliente deu o e-mail para o seu site, não siginifica que este endereço não vá ser usado por spammers, eles podem muito bem usar falhas de segurança no seu site, ou serem do staff do hosting, e pegarem a lista...

domingo, 30 de agosto de 2009

Fórums de Internet

Confesso, não sou um usuário adepto de fórum, a quantidade de regras impostas são exageradas, mas no fundo tem um senso de verdade...
Uma das regras é que não se deve desviar do assunto principal, isso é ótimo, mas acaba atrapalhando a interação pessoal entre os usuários, que ainda não tem intimidade o bastante para conversar privativamente...
O problema do fórum é a adoção de um lado como o certo, e sua pregação de forma quase religiosa, passando por cima de outras opiniões como se fossem os senhores da verdade...
O fato de alguém escolher uma opção diferente, seja uma linguagem de programação ou um programa a utilizar não dá o direito ao outro de esnobar este usuário....
O uso de técnicas POG são muito úteis em um ambiente de testes pois permite reproduzir condições que exigiriam muitos passos para serem atingidos, podendo ser obtidos em menos tempo, ou seja usar POG é mais eficiente as vezes, e deixa espaço também para futuras evoluções do sistema, sem a necessidade de reescrever o código...
Erros de português são causados mais por falta de leitura e atenção, do que por burrice, é a falta de ensinar netiqueta para as pessoas.
Por isso que eu não me adaptei aos fórums, a restritibilidade de temas atrapalha a conversa... Além que a quantidade de usuários para processar é gigantesca...

sábado, 29 de agosto de 2009

Guia de como Pesquisar no Google

Você tem uma dúvida, como solucionar ela?
Acesse o google e escreva a pergunta, alguém já pode ter feito ela mesma...
Se não achar nada, pergunto: Você abriu pelo menos 3 páginas dos resultados?
Se ainda não achou nada;
Pense na sua pergunta;
Tire todas as palavras irrelevantes como: porque, como, e, faço, entre outras, deixando apenas palavras que estejam diretamente relacionadas à sua dúvida.
Abra 3 páginas de resultados.
Não achou ainda?
Comece a pesquisar pelas bordas, sobre qual tema você está pesquisando, ache sites da área, e tente verificar se você não está procurando com as palavras erradas.
Erro de grafia básicos são corrigidos, erros grotescos não... (exceto no caso da Britney Spears)
Continuou não achando nada?
Procure pelas palavras separadamente, pense em sinônimos que o computador não pensou, pense como um computador, aprenda lógica booleana, tente, tente, tente...
Não achou nada ainda?
Pesquise a tradução das palavras e pesquise em inglês, o google traduz as páginas para você se você quiser...
Repita todos os passos acima...
Se não achou nada ainda, não vai achar nada mesmo... Sua pesquisa não está na internet... Vá numa biblioteca e repita todos os passos com a bibliotecária...

PHP 5.3 - A missão!!!

Brincadeira, mas eu instalei o PHP 5.3 e percebi que muita coisa mudou...
A primeira coisa a se fazer é ativar a exibição de erros, pois vários surgiram e a melhor forma de saber porque não funciona é vendo, mas lembre-se de desativar depois, caso seja o servidor de produção...
No php.ini mude as seguintes linhas:
display_errors = On
error_reporting = E_ALL
Para começar, no caso de usar funções como date e strtotime é necessário definir seu timezome com:
date_default_timezone_set('America/Sao_Paulo');
No caso do banco de dados, caso seu MySQL ainda esteja armazenando as senhas no formato antigo, agora tem de mudar mesmo pro formato novo com:
set password for "user"@"%" = password("senha");
E no PHP, agora o PHP sabe qual o charset do Banco de Dados, aqui eu uso UTF-8 no DB, mas no PHP era latin1 então após a conexão do banco de dados usar:
mysql_set_charset('latin1',$link);
ou
mysqli_set_charset($link,'latin1');
O problema do banco de dados é porque o PHP deixou de acessar as configurações do my.ini...

Atalhos com a Winkey

Bom, aos que não sabem eu usava um programa chamado Winkey da Copernic para criar atalhos com o botão do Windows no Teclado...
Mas o programa não é atualizado a muito tempo, e mal funcionava no Vista, no 7 eu nem tentei....
Passei a usar o AutoHotkey, é um pouco mais complicado no inicio, mas é bem mais completo que o Winkey, ele permite gerar Scripts de todos os tipos, e gerar EXEs compilados com os seus atalhos, assim, você não precisa ficar usando um reg em toda nova instalação...
E é opensource...

sexta-feira, 28 de agosto de 2009

Internet Baking no Windows 7

Acho que acabei me esquecendo de fazer esse post.
Vou listar aqui os bancos com os quais eu já tive experiências de uso no Windows 7.
Esses bancos funcionaram no Windows 7, os demais eu não sei...

Antivirus mais barato na renovação

Eu não lembrava dessa informação, ao renovar a licença do Kaspersky, a licença é bem mais barata.
O preço normal do Kaspersky Internet Security é de R$ 699,90 na renovação é de R$ 350,95.
Fica menos de 1 real por mês por PC.
10 licenças / 3 anos.

Script PHP

Enviei mais um Script o PHPBrasil: Calcular Tempo de Execução PHP e MySQL
Uma série de funções simples que venho utilizando para medir a performace dos scripts, muito simples e eficiente...

Command Line Python

No último post eu falei que estou tentando usar o register protocol no Firefox para abrir documentos diretamente no Word.
Eu fiz exatamente isso, e em tese funcionou, mas ficou um problema, criando um protocolo custom, o Word não reconhece que aquilo é http, e não abre...
Então tive de optar pela segunda opção, usar uma aplicação local, para executar o programa.
Nessa opção eu poderia ou, usar uma conexão TCP do servidor ao cliente, ou, criar um pequeno app para filtrar as chamadas do Firefox no protocolo registrado.
É ai que entrou o Python....
Fiz o código a seguir em 2 horas, ele ainda não ta completo, mas já serve de base para a compreensão:
import os
import sys

if len(sys.argv) == 0:
    sys.exit()

args = sys.argv
del args[0]

endereco = args[0].split(':')
endereco = "\"http:" + endereco[1] + "\"\""
caminhoword = "\"\"C:\\Program Files (x86)\\Microsoft Office\\Office12\\WINWORD.EXE\" "
endereco = caminhoword + endereco
print(endereco)
os.system(endereco)
s = input('--> ')
Coloquei no pastebin também.
A dúvida que ficou agora é se eu continuo a pesquisa do WebDAV, ou uso o mapeamento de rede mesmo, a vangatem de um é o uso por qualquer aplicação, a do outro a desnecessidade de fornecer login e senha.
Agora só tenho de descobrir como criar um exe no Python...

quarta-feira, 26 de agosto de 2009

WebDav Word e Browser

Estou analisando a possibilidade de implementar um sistema de armazenamento WebDAV, assim eu poderia reunir todos os arquivos de um processo em um só lugar, o problema é ter de fazer todo o sistema se eu não encontrar uma solução decente.
O outro problema é a aceptabilidade, que depende da usabilidade do sistema.
Eu preciso que os links dos arquivos abram diretamente no Word, sem perguntas...
E talvez no Adobe Reader, no Excel, e amigos...
O problema é como fazer isso, no Firefox parece simples, mas há uma certa resistência no uso do IE8...
No Firefox é só ler: http://kb.mozillazine.org/Register_protocol
IE8: http://msdn.microsoft.com/en-us/library/aa767914%28VS.85%29.aspx

segunda-feira, 24 de agosto de 2009

Economizando Papel

A atitude das empresas de oferecer uma versão eletrônica de documentos é louvável, mas peca em um ponto...
Enquanto que no papel a ação do usuário é passiva, ou seja, o documento chega mesmo que este esteja internado no hospital... Igual ao boleto...
Já no modelo eletrônico, o usuário precisa ser ativo, pode até chegar um e-mail avisando, mas o fato é que se o usuário não retirar ele, o documento é perdido....
Ou seja, algo que deveria facilitar a vida, acaba complicando, pois se no futuro o documento for necessário por algum motivo, e o usuário por algum motivo não teve como acessá-lo, fica a perda...
As empresas tinham de repensar seus modelos de documentos eletrônicos, e oferecer a opção de anexá-los ao e-mails enviado...
Assim, o único risco do usuário é ter sua caixa de e-mail cheia, que nos tempos atuais é virtualmente impossível...
A alegação de que enviar o documento junto com o e-mail oferece risco a confidencialidade do documento é furada, pois no papel basta alguém interceptar a carta... Claro que no e-mail é mais fácil interceptar, mas não deixa de ser inútil, pois se o usuário é desleixado com a segurança de seu e-mail porque autorizou o recebimento do documento por ele...
É responsabilidade do usuário também...
Um dos motivos de eu não ter cancelado a postagem em papel foi este fato.... Eu não tenho tempo de ficar acessando o sistema toda vez que vejo uma mensagem avisando que tem um documento disponível...
Imagine se eu tivesse n contas, que exijam o acesso mensal...
Pode parecer pouco, mas a quantidade de informações necessárias para acessar o documento torna mais inseguro do que seguro, pois corre-se o risco de receber um e-mail fajuto se passando por verdadeiro...
E-mail não é seguro para o remetente, pois mal identifica ele...

Post destinado ao Itaú e CBLC.... E às demais empresas que enviam e-mails....
O Google já faz do jeito certo com o seu Google Analytics...

sábado, 22 de agosto de 2009

Programadores Novatos de PHP

Você programador novato, aprenda a ativar a exibição de mensagens de erro no browser...
99% dos seus problemas seriam resolvidos sem ajuda de um terceiro, só com o Google mesmo, ou uma simples leitura da mensagem....
As mensagens de erro são ocultas por padrão para evitar riscos de segurança, mas se você está aprendendo tem de ver eles... Pesquise...

E também antes de perguntar alguma coisa tente pesquisar, as vezes alguém fez a mesma pergunta com as mesmas palavras e o google acha....

E evitar SQL Injection omitindo palavras é a pior solução possível, você está impedindo que seu sistema seja usado em inglês...

sexta-feira, 21 de agosto de 2009

Software

Seguindo o raciocinio utilizado no post anterior do Anti-Virus, comprar qualquer software depende apenas do valor dividido pelo tempo de utilização até o próximo upgrade...
O Windows XP por exemplo é um Windows que é muito barato pois ficou no mercado por mais de 5 anos, se contar o Vista e mais de 7 anos se pular direto para o Windows 7....
Ou seja 60 meses ou 84 meses...
Não lembro o valor dele mais, mas era algo em torno de R$ 700,00...
Dividindo o valor pelo numero de meses que esteve no mercado o custo fica entre R$ 8,34 e R$ 11,67....
Já o custo do Windows Vista Ultimate fica em torno de R$ 34,38 mensais, bem caro de comparado ao XP...
O Office Home & Student é um dos mais baratos, pois permite a instalação em até 3 máquinas, ou seja o custo de aquisição individual é de R$ 66,34...
Já o Office Professional que apesar de ser o mais pirateado tem recursos demais para a maioria das pessoas, se considerarmos o tempo de mercado até hoje 32 meses, o custo mensal é de R$ 40,60... Um pouco caro sim, mas pela quantidade de recursos e considerando que há a versão Home & Student é uma opção apenas aos que realmente irão utilizar todos os seus recursos...

Uma ótima opção de compra são os softwares cujas licenças são "lifetime", ou seja valem para sempre, você compra uma vez e pode usar para sempre, mesmo as versões novas...
Exemplos são: mIRC, FlashFXP, WhereIsIt....
Com isso o custo deles fica praticamente próximo a zero, pois o divisor é infinito....

Use Webmail

Você usuário de e-mail que mal sabe a diferença de POP e SMTP, não faz idéia de porque existem 2 endereços só serve para enviar e receber e-mails.
Use webmail...
A dificuldade de configuração do webmail é apenas o cadastro inicial e lembrar a senha...
Já no outlook, live mail, eudora e amigos, a dificuldade já começa no gerenciamento do e-mail, que exige a configuração de contas, backup, antivirus, entre outras complicações resultantes de seu uso...
Já no webmail, você apenas tem de se preocupar em proteger sua senha, não tem problemas de "oh, esqueci de imprimir aquilo que estava no e-mail de casa"....
E se for usar webmail, use um que não tenha limites no tamanho da caixa postal, a maioria dos serviços de hoje já não tem mais um limite ridiculo de 20Mb, e não apague as mensagens, aproveite o sistema de busca do webmail e encontre aquela mensagem de 20 anos atrás...

As facilidades do programa de e-mail desktop acabam complicando mais a vida dos usuários, que teimam em entender porque não se pode anexar fotos em tamanho original ao e-mail....
Pelo menos no webmail eles tem conciência do tempo que demora para subir essas fotos...

Comprar Anti-Virus

Você com certeza está usando um antivirus, pode ser o AVG gratuito, ou uma versão pirata de algum produto bom...
Eu uso o Kaspersky Internet Security (KIS), mas estou meio em queda pelo Norton Antivirus novo que foi refeito...
Se tu verificar o custo de um antivirus, ele é muito barato...
Vejamos o custo do Kaspersky Anti Virus (KAV), comprando ele para 10 PC's, com licença de 3 anos:
O custo é de R$ 499,95, que valor alto? Se você pensar que esta comprando com um grupo de 10 amigos, cada licença sai por R$ 49,99...
Esses R$ 49,99 são por uma licença de 3 anos, ou seja, dividindo esse valor pelos 3 anos, temos R$ 16,67...
Sim R$ 16,67 por uma licença no período de 1 ano...
Vale muito a pena, se dividirmos ainda pelo custo mensal, teremos R$ 1,39 por mês para ter uma proteção atualizada e legalizada...
E isto vale para qualquer antivirus, basta comprar em conjunto com vários amigos....
Só cuidado para não instalar em mais maquinas do que o permitido, senão terás problemas com o licenciamento, não sei quais pois nunca tentei....
Lembre-se de tirar o envio de CD com o programa, pois o mesmo pode ser baixado...
Para baixar uma versão nova basta acessar a área de downloads de trial versions mesmo...
A licença vale pelo período, pouco importa se saiu uma versão nova ou não, há casos em que a licença antiga não funciona no produto novo (muito difícil acontecer hoje em dia), mas nesse caso o fabricante explica como proceder...
Só cuidado na hora de escolher os amigos, pois as licenças tem limite de ativações....
Mas vamos ver o custo de um pacote menor, o de 3 licenças, que muitas vezes servem para o seu computador de casa, seu notebook e o computador do trabalho...
Eu sempre vejo as opções de maior período pois há descontos consideráveis nessas opções...
3 licenças/3 anos: R$ 219,95
Custo por licença de 3 anos: R$ 73,32
Custo da licença por ano: R$ 24,44
Custo mensal por licença: R$ 2,04

Agora o custo da licença do KAV por 1 ano apenas e para uma máquina apenas é de: R$ 79,95
E o seu custo mensal é de: R$ 6,67, quase três vezes o valor da licença 3/3, e 50% mais caro que a licença 1/3 de R$ 4,17...

Só para falar que não falei de outro antivirus, segue os custos do Norton Antivirus 2009
1 licenças/2 anos: R$ 139,00 - custo mensal: R$ 5,80
3 licenças/1 ano: R$ 129,00 - custo mensal: R$ 3,59
5 licenças/1 ano: R$ 209,00 - custo mensal R$ 3,49

Então pense bem antes de usar algum produto pirata, ainda mais um antivirus...

Importante deixar claro que: Comprando o software original você ajuda na sobrevivência da empresa no mercado, e se o produto que ela faz é bom, porque não recompensar seus criadores... O custo nem é alto mesmo...

sábado, 15 de agosto de 2009

Códigos em PHP

Olá, criei uma conta no site do phpbrasil (www.phpbrasil.com) e postei alguns scripts meus lá:
São dois scripts simples, mas de grande ajuda...
Também tenho 2 projetos no SourceForge:
Talvez eu coloque os projetos de um no outro, ou não sei ainda...

Campanha Anti IE6

Bom, pelo que to vendo a campanha anti ie6 vem surtindo efeitos, três usuários a quem eu não forcei a fazer a atualização acabaram fazendo sem pedir ajuda, incrível...
Deve ter sido o youtube, ou o banco deles que pediu.
Viva!!!
Essa campanha deixará as empresas felizes, pois tornará miserável o acesso ao orkut e youtube dos usuários delas que ainda usa o IE6... É hora de trabalhar, não lazer....

Multiple WebSistes on Cheap GoDaddy's Plan

You are an economy plan user from GoDaddy, but it says you can only host one website....
Here you will learn how to host more than one website, without having to use lame folder redirects...
Create a .htaccess file on root
Options FollowSymLinks
rewriteEngine on
rewriteCond %{HTTP_HOST} ^www\.domainA\.com$ [NC]
rewriteCond %{REQUEST_FILENAME} !-f
rewriteCond %{REQUEST_FILENAME} !-d
rewriteRule / /folderwherefilesare/index.html [L]

rewriteCond %{HTTP_HOST} ^www\.domainA\.com$ [NC]
rewriteCond %{REQUEST_FILENAME} !-f
rewriteCond %{REQUEST_FILENAME} !-d
rewriteRule ^(.*) /folderwherefilesare/$1 [L]

rewriteCond %{HTTP_HOST} ^domainA\.com$ [NC]
rewriteCond %{REQUEST_FILENAME} !-f
rewriteCond %{REQUEST_FILENAME} !-d
rewriteRule / /folderwherefilesare/index.html [L]

rewriteCond %{HTTP_HOST} ^domainA\.com$ [NC]
rewriteCond %{REQUEST_FILENAME} !-f
rewriteCond %{REQUEST_FILENAME} !-d
rewriteRule ^(.*) /folderwherefilesare/$1 [L]
For another domain, just repeat all lines, changing what is needed...
But beware that PHP Scripts that relies on PHP_SELF, will see, and show the real address, try to place thoose on real folders on root...

PS: There's a bug with access without trailing slashes... It redirects to the real path, not the fake one... I'm still not able to fix it easily, only with a manual code:
rewriteCond %{HTTP_HOST} domainA\.com$ [NC]
rewriteCond %{REQUEST_FILENAME} (.+)[^/]$
rewriteCond %{REQUEST_FILENAME} !-f
rewriteCond %{REQUEST_FILENAME} !-d
rewriteCond /var/chroot/home/content/html/folder/ -d
rewriteRule ^(folder)$ /$1/ [L,R,NC]
Yet this is not an elegant solution, i'm looking for a better code...

Tradução para perdidos:
Como usar o mod_rewrite para redirecionar vários domínios em pastas diferentes no apache.

sexta-feira, 14 de agosto de 2009

Gmail for Apps - Mailto + Auto Login

Estou usando o Google for Apps com login automatico via link para os usuários logarem na conta de e-mail usando esse link:
https://www.google.com /a/YOURDOMAIN/LoginAction2?continue=http://mail.google.com/a/YOURDOMAIN/a/&service=mail&Email=LOGIN&Passwd=PASSWORD&null=Sign+in

O problema é que o link de mailto do Gmail é:
http://mail.google.com/a/YOURDOMAIN/?view=cm&tf=0&to=email@domain.com

Agora como unir os dois, para que quando o usuário clicar no link de e-mail, no lugar de abrir o terrível Outlook ou o Live Mail, ele abra o Gmail for App, com o campo para preenchido??? Simples assim:
  1. Pegue o link do mailto;
  2. Use uma função similar da do urlencode do PHP;
  3. Pegue o link de auto login;
  4. Cole o resultado encodado e cole onde está escrito AQUI;
https://www.google.com /a/YOURDOMAIN/LoginAction2?continue=AQUI&service=mail&Email=LOGIN&Passwd=PASSWORD&null=Sign+in
Pronto, agora o auto-login funciona e o campo para está preenchido.

Idéias de Profissão

Estava pensando em ter uma segunda profissão, mas para fazer algo que ninguém ainda faz. Segue aqui a lista de coisas que você poderia fazer caso não tenha opções:
Curso de como encontrar coisas na internet: (SEFU - Search Engine Finder Ultimatum) Nesse curso você ensinaria aos alunos a como pensar como uma ferramenta de busca, ensinar os fundamentos que regem o sistema, ensinando-os a processar o que procuram e filtrar as palavras chave corretas, aumentando assim a eficácia de suas pesquisas, e ajudando a diminuir o número de perguntas idiotas, cujas respostas já existem em algum lugar.
Curso de Leitura de Tela: (FSRE - FullScreen Reader Expert) Nesse curso você ensina aos alunos a ler a tela, as pessoas tem o costume de só ver o que precisam, e ir embora, mas se elas lessem toda a tela, encontrariam diversas coisas que podem ou não ser úteis, mas que sem ler, nem saberiam que existem.
Curso de Pensar fora da caixa: (TOBE - Think Out of Box Expert) Nesse curso você ensinaria às vítimas como pensar de um jeito diferente, tentando pensar como outra pessoa, alguém que seja mais idiota ou descabida de inteligência como a dela, ou mais preguiçosa, melhorando assim o uso de diversos sistemas e procedimentos.
Curso de Reconhecimento de Sites/E-mails Falsos: (PDT - Phishing Detection Techniques) Esse curso é realmente útil, você tem de ensinar aos alunos que dinheiro não cai do céu, que você não recebe heranças de parentes desconhecidos, que a Policia Federal não quer a sua cabeça (exceto se você estiver em algo ilegal mesmo), que o banco precisa urgentemente confirmar seus dados, que um parente seu foi sequestrado, que encaminhar uma mensagem vai salvar sua vida, ou a de uma criança na Africa, é um curso simples, que apenas tenta derrubar os estigmas que as pessoas não perderam da época em que eram crianças e acreditavam em Papai Noel (e ainda tem adulto que acredita)...

Depois eu penso em outras oportunidades, mas se estiverem interessados entrem em contato, mas eu cobro US$ 100.000,00 a hora por pessoa, e eu cobro também o tempo que você leva para fazer as lições em casa. :P

quarta-feira, 12 de agosto de 2009

Dell Quest

Uma aventura para comprar um notebook Dell... Nada complicado, só enrolado mesmo...
Bom, saiu no jornal um notebook com um preço X... Procuro no site, não achei ele...
Entro em contato no chat on-line, o atendente acha, mas sai do site, acho que me expressei mal, e ele entendeu que eu não queria... ueheu...
Chat denovo, mas dessa vez diz que acabou...
Desistindo, mas resolvo ligar, alias liguei antes no meio disso, mas disse que tava ocupados e pediu telefone....
Dessa vez ligo, mas deixo o telefone... Só retornaram umas 5 horas depois....
Antes disso, 20min depois de eu ligar, ligo com customer angry powers, consigo falar com central de vendas, e achou.....
Complicado, e ainda acabei comprando pelo tel....

terça-feira, 11 de agosto de 2009

Windows 7 - Printer

Você instalou o Windows Seven, ele reconheceu a impressora, mas diz que seu driver é básico.
Você baixa o driver do fabricante, instala....
Tudo ok.
Mas ficam 2 impressoras, a básica e a avançada como remover?
Remove Device, provavelmente retira os dois...
Use a opção Remote Printer Queue e selecione a que você quer retirar.

Caixa Economica Federal no Windows 7

Se você quer usar o Internet Banking do Banco CEF no Windows 7 com o Firefox, e descobriu que ele é incompatível com o Windows 7, aqui está a sua salvação, rode o Firefox em Modo de Compatibilidade com o Windows XP SP3, e pronto, a CEF aceita seu micro.

No Internet Explorer do Windows 7 ainda não é possível ainda... Neste caso recomendo o uso do Firefox.

Erro no Windows 7:

Cadastro deste computador
Sr Usuário,

Você optou por realizar acesso ao Internet Banking somente por computadores que podem ser cadastrados. Este computador não possui os requisitos para ser cadastrado.

Caso queira acessar deste equipamento, imprima esta página e entre em contato com o Help-Desk pelo telefone 0800 726 0104, informando o código CM01.

domingo, 9 de agosto de 2009

Organização Gabinete

DVD - PCI Dentro
500Gb - Fast Red Right - Seagate? - Melchior
500Gb - Via Black Top - Vista - Hitachi? - Quasar

1Tb - Via Black Down - WD - Baltazar
320Gb - Fast Red Left - 7 - Seagate
1Tb - PCI Lado - WD - Vishnu

A8V Deluxe

Receita Federal e Java

Bem que o pessoal da Receita Federal podia liberar um fix para os seus programas, a tendência da resolução nativa é aumentar, mas os programas deles são feitos para 800x600 senão 640x480, e em uma tela de 1650 o programa fica minusculo.
Ou o pessoal do java fazer um window zoom.
Ou fazer os progrmas DPI Aware....
Ficariam no tamanho certo em qualquer tela.

sábado, 8 de agosto de 2009

Resultados da Migração

Bom, a primeira coisa que eu aprendi com a migração, teste o funcionamento do atalho para o login automático no gmail antes de mudar o sistema do e-mail todo.
Eu não tinha testado e fiquei meia hora pesquisando como o fix o behavior que não permite referer no auto login.
Problemas a parte, o sistema ficou melhor, só um problema é os e-mails do sistema push que simplesmente são agrupados tudo em um, bom e ruim, prefiro agrupados mesmo.
De qualquer forma eu pretendo que esses e-mails sejam processados pelo computador, mas ainda não tive tempo (paciência) de fazer o código de processamento.
O bom é a velocidade da pesquisa, no antigo era quero, quero, quero............. e nada....
Agora é quero, e já tem o resultado na tela.

terça-feira, 4 de agosto de 2009

Migrando para Google for Apps

Estou migrando o sistema de e-mail do escritório para o Google for Apps, uma das razões para a migração é a falta de organização do sistema atual.
O sistema atual é baseado no protocolo MAPI (IMAP), usando hMailServer como servidor, tem uma conta que baixa os e-mails da conta de e-mail externa POP, armazenando as mensagens nesta conta.
Todos os usuários tem acesso a essa conta pelo SquirrelMail, com auto logon.... O problema é que a GUI do Squirrelmail é meio básica demais, sem controle anti-spam, e sem maior mobilidade das mensagens.
Também todos os usuários tem acesso a conta MAPI, pelo Windows Live Mail, que tem uma interface melhor que o SquirrelMail, mas que peca pois tem a mania de querer baixar todas as mensagens de cada pasta, e isso pode lerdear demais. Se eu fosse configurar ele para apenas baixar os cabeçalhos ainda assim, teria de fazer manualmente em cada pasta, e considerando o número de estações que é pequeno, mas considerável o trabalho.
Cada usuário tem uma conta pessoal, configurada também no Windows Live Mail ou no Outlook.
Isso, em razão da conta geral ser MAPI, torna as coisas muito complicadas, eis que surgem duas Caixas de Entrada, o que complica a vida de qualquer um...
O maior problema mesmo é a pesquisa de e-mail, quando eu preciso encontrar um, se deixar pro outlook ou live, tenho de esperar ele baixar todas as mensagens ou cabeçalhos, essa organização mata qualquer um, e se eu usar o squirrelmail, a pesquisa dele tem timeout do php de 30s, o que já demonstra que demora, se a pasta for gigante.
Pensei em usar o Zimbra, mas de qualquer forma eu teria de ser o administrador e configurar tudo, além de ter de cuidar dos backups entre outros serviços necessários para a manutenção do mesmo.
Com o Google for Apps eu só tenho de resolver o problema do mailto:, que parece que o Google Notify resolve, mas não sei direito como configurar ele, ainda.
Outro problema do Gmail é que o Word perde a função de enviar e-mail por ele mesmo, que de certa forma é uma pessíma função, mas usada no escritório.
De resto, ganho com o controle de spam, acesso anywhere, anytime, e facilidade de configuração de máquina nova, e migração de servidor, já que não há servidor local, e principalmente ganho pela pesquisa.
Perco com a falta de backup meu, e por ter de mudar a cultura do escritório.
Depois escrevo mais...

domingo, 2 de agosto de 2009

Boletos sem Leitor

Você está fazendo uma compra on-line via boleto, ou alguém lhe manda um boleto pelo e-mail;
Você acessa o internet banking para pagar, você tem a linha digitável no copiar e colar, mas o banco tem 9 campos a preencher, se tentar colar esse só cola 1 campo;
Fiz um app pra você acessar e colar essa linha digitável e converter em código de barras;
Assim você copia o código de barras e cola no campo do código de barras, e pronto, nada de digitar o que já está escrito;
O nome do app é Boleto Saver.
Espero que gostem dela, facilita muito a vida das pessoas...

quinta-feira, 30 de julho de 2009

DDA e Vencimento

Uma dúvida deste Débito Direto Autorizado, como que eu vou saber que eu tenho um boleto no sistema aguardando pagamento.
Eu não sou muito de entrar diariamente no Internet Banking, menos ainda de usar Caixa Eletrônico.
Os bancos vão mandar cartas informando a existência de um boleto?
Isso não anularia os efeitos do ambientais do DDA?
Mandar SMS é seguro?
Cobrar via e-mail é seguro?
Como?
O que eu vou ganhar aderindo ao DDA além de não ter de digitar o código de barras (alias, nem isso eu faço porque eu tenho um leitor)....????
A economia dos bancos vai refletir em redução de tarifas?
Think!!!

sábado, 4 de julho de 2009

Firefox 3.5

Instalei ele, por uma hora...
Pensei que fosse atrapalhar a Caixa Econômica Federal, mas quem deu problema foi o Banco do Brasil...
Aparentemente a CEF já estava pronta para ele, e funcionou corretamente após a instalação da nova versão da ferramenta de segurança.
Mas no BB a história foi outra, apesar de ser instalável, a ferramenta não funciona...
Ponto a menos para o BB. :p

domingo, 28 de junho de 2009

Comprovantes

Bancos, por favor, façam seus comprovantes emitidos em qualquer lugar conferíveis....
Até mesmo os de depósitos, assim o próprio depositante pode confirmar se foi compensado ou não, pois no modelo atual, temos de exibir nossos extratos à terceiros nem sempre amigáveis e respeitadores do sigilo...
E padronizem o sistema, assim qlqr comprovante pode ser conferido em qualquer lugar... Usem tipo a FEBRABAN, ou algo do tipo....
E mesmo os comprovantes protocolo, também sejam conferíveis, pois não é muito dificil fazer um comprovante daquele tipo, basta uma matricial...
E mesmo comprovantes feitos a mão, em caso de queda de sistema, também devem ser rastreáveis...
Se a receita consegue porque vocês não?

segunda-feira, 15 de junho de 2009

Paid Software

Já que fiz uma lista de software freeware, aqui vai uma lista de softwares pagos, indispensáveis à vida moderna, em ordem de memória:
  • mIRC;
  • WhereIsIt;
  • Everest;
  • ACDSee;
  • Photoshop;
  • Corel Draw;
  • Nero;
  • 3D Home Architect;
  • Babylon;
  • FlashFXP - apesar de eu ter encontrado um similar free;
  • Office;
  • KIS;
  • PerfectDisk;
  • WinRAR;
  • Dreamweaver;
Acho que é só por enquanto.

Freeware Software

Vou listar aqui uma lista de programas freeware indispensaveis à vida moderna, :P, em ordem de memória:
  • CoreFTP - Em teste ainda, a interface é muito parecida com o FlashFXP, o que permite que ele seja muito bem usável;
  • uTorrent;
  • Apache;
  • PHP;
  • MySQL;
  • sTunnel;
  • hMailServer;
  • Apophysis;
  • FileZilla Server;
  • K-Lite Codec Pack;
  • NcFTP;
  • WinKey;
  • FreePDF XP e Ghostscript;
  • DVDFab - HD Decrypter;
  • Firefox, Opera, Chrome;
  • Plugins do Firefox: DOM Inspector, Firebug, Tamper Data, TwitterFox, Tab Popup, PDF Download, Gmail Notifier;
  • Stardock - ObjectDock;
  • Daemon-Tools;
  • Terragen;
  • Skype;
  • Windows Live;
  • 7-Zip;
  • Autoruns;
  • Process Explorer;
  • Process Monitor;
  • CD Check;
  • Dvd Identifier;
  • EAC;
  • foobar;
  • Foxit Reader;
  • xvi32;
  • Infan View;
  • MediaPlayer Classic;
  • PowerOff;
  • Subtitle Workshop;
  • Virtual Dub;
  • USDownloader;
  • A43 - Se o Explorer lerdiar;
Eu ia descrever cada um, mas ia demorar horas isso, então ficou só os nomes...

quinta-feira, 11 de junho de 2009

Facebook

Criei um perfil lá, mas não entendi como funciona a rede ainda...
Aproveitei e troquei as fotos...
Só não achei como conectar ele no twitter.

terça-feira, 9 de junho de 2009

Computadores

Mudei o design do blog, o design antigo do blog era meio minimalista demais, e um blog útil não pode ser tao minimalista.

Hoje em dia comprar um computador decente ficou muito fácil, temos vários modelos por mais de R$ 1.000,00, que são um sonho de consumo. pelo menos para mim no ano 2000...
Claro que os componentes não são de primeira linha, nem a qualidade, mas as máquinas fazem frente a qualquer outra.
Só perdem no quesito gráfico, pela falta de VGA dedicada, mas também, a maioria das pessoas não compra nem o Windows original, quem dirá um jogo original, nem pra PS2 elas compram...
No escritório para trocar o quadro de computadores, sempre estou comprando os modelos "baratos", a média de preços é R$ 1.100,00, isso já inclui monitor LCD de 17", porque de 15" é ridiculamente pequeno...
Para um word básico e navegação básica é perfeito, inclusive eu rodo o sistema de controle de processos em uma delas, uma aplicação PHP com MySQL, bem rápido.
Para isso elas são perfeitas, e por sorte talvez, ainda não tive problema com nenhuma delas...
Só problemas de BIOS, não a do computador, aquela entre o monitor e a cadeira.
O segredo para comprar é pesquisar em todas as lojas possíveis na internet, sempre em alguma tem um modelo com configuração superior e preço baixo, basta ter paciência que você encontra um modelo muito bom.