Posts Tagged ‘dicas’

Upload no Picasa, sem o Picasa

fevereiro 15th, 2010

Diferente do FlickR do Yahoo!, o serviço de fotos do Google não tem muitos softwares que conversem com ele e que permitam gerenciar remotamente suas fotos, a não ser o próprio Google Picasa pra desktop.

Como eu não gosto muito dele, acabei descobrindo uma forma de enviar várias fotos do pc direto para um álbum no Picasa, sem ter que instalar o software do Google no meu desktop.

Trata-se do PhotoLoader. Um software gratuito de linha de comando feito em Java, que funciona tanto no Windows quanto nos sistemas *nix, e não depende de instalação. Basta ter o Java instalado (você já deve ter, se não tiver, o site de download será aberto).

Uma vez descompactado, basta abrir o prompt (no caso do windows), ir até a pasta do aplicativo, e executá-lo como mostrado abaixo:

C:/> photo-loader -u USUARIO [-p SENHA] [-d DIRETORIO] [-a ALBUM] [-s TAMANHO_MAXIMO_DA_FOTO]

Exemplo: photo-loader -u martins -p minhasenha123 c:\fotos -a ViagemMiami -s 800

O -s indica o tamanho máximo da largura ou altura de cada foto a ser enviada, economizando seu espaço. Ele faz o redimensionamento automático das fotos (em outra pasta) conforme o tamanho informado no parametro -s, e sobe as fotos no álbum automaticamente.

Há mais detalhes sobre os parâmetros e opções no Readme.txt do programa.

O site de Download do PhotoLoader é http://www.softpedia.com/progDownload/PhotoLoader-Download-140013.html

Aproveite.

Firefox e Firebug: Os ladrões de memória. Será?

dezembro 8th, 2009

Há 10 meses fiz um post sobre como otimizar o Firefox para que ele consuma menos memória ram.  Muita coisa mudou, e hoje vejo muita gente ainda reclamando do Firefox. Alguns estão até mudando para o Chrome e abrindo mão dos complementos do FF.

Além dos macetes que passei no artigo acima, percebi que um agravante para o problema era o Firebug. Isso mesmo, o complemento Firebug.

Ok, você já deve ter percebido isso também! Vamos ao que interessa: o que fazer?

Eu resolvi o problema de memória nos meus Firefox atualizando o Firebug para uma versão alpha mais recente. A versão disponível no portal oficial é da versão estável, que infelizmente se comporta pior que as versões alpha no consumo de memória.

Enquanto escrevo este post a versão oficial é a 1.4 (devoradora de memória ram) e as versões alpha estão na casa do 1.5.x.

Para resolver o problema, vá até o diretório ’secreto’ e releases do Firebug, o http://getfirebug.com/releases/firebug/1.5X/ e instale o último .XPI disponível. Claro, desinstale o seu Firebug atual antes por favor.

O Firefox vai continuar consumindo mais memória que um Chrome, porém senti diferenças enormes com ele em diversas máquinas e continuo usando ele sem problemas. Espero que esta dica sirva pra você também. Se não servir, usa o IE 6 que é show de bola. =)

Windows Authentication no PHP

setembro 30th, 2009

Windows Authentication ou Autenticação Integrada no PHP não poderia ser tão fácil.

Hoje ao ler uma entrevista com Manuel Lemos da Microsoft, ele explicou como é simples o funcionamento do recurso em sistemas PHP.

Como integrar o  Windows Authentication no PHP?
Se você roda o php no IIS, para ativar o recurso basta ativar a autenticação NTLM em páginas PHP.
No Apache, para ativar o recurso, basta ativar o módulo mod_ntlm no seu httpd.conf.
O módulo para o Apache pode ser baixado em http://modntlm.sourceforge.net/.

Feito isso, basta usar a variável de servidor $_SERVER['LOGON_USER'] para recuperar o nome do usuário logado e checar se ele tem acesso à area ou módulo em questão.

Fácil né?

Fonte: http://www.phpclasses.org/blog/post/102-Microsoft-promotes-the-careers-of-PHP-professionals.html

Cartão de crédito virtual e descartável

setembro 27th, 2009

Ser um cartão de crédito virtual e descartável é a proposta da EntroPay. A idéia é simples e muito útil quando não confiamos no site que estamos comprando ou contratando serviços.

Exemplo do cartao virtual EntropayCom um cartão de crédito internacional, você deposita a quantia que deseja na sua conta EntroPay e distribui o valor entre cartões de crédito visa virtuais, que podem ser gerados na hora e são válidos em qualquer site que aceite a bandeira.

O mais legal é que tudo é feito na hora, e você pode se livrar facilmente dos cartões que gerou. Além disso, você limita o valor a ser gasto com cada cartão e pode ver o extrato dos mesmos em tempo quase real.

O site cobra uma taxa de 4,95%. Vale lembrar que para nós brasileiros ainda tem a taxa de IOF, cobrada em todas transações internacionais na fatura do cartão.

Veja mais detalhes no site da Entropay www.entropay.com.

Profiler no PHP com Cachegrind

agosto 29th, 2009

Cachegrind é um cache profiler disponível no PHP e em diversas outras linguagens. Ele faz simulações detalhadas do cache do processador, e o mais legal de tudo: mostra quanto cada linha de código carregou o processador em milisegundos, ou %. Ele pode mostrar informações por função, por  módulo ou um resumo completo do programa.

Habilitando o cachegrind o programa pode ficar de 20 a 100 vezes mais lento, por isso vamos deixar pra brincar com ele só nos ambientes de teste/desenvolvimento, ok?

Cachegrind is a cache profiler. It performs detailed simulation of the I1, D1 and L2 caches in your CPU and so can accurately pinpoint the sources of cache misses in your code. It identifies the number of cache misses, memory references and instructions executed for each line of source code, with per-function, per-module and whole-program summaries. It is useful with programs written in any language. Cachegrind runs programs about 20–100x slower than normal.

Ouvi sobre cachegrind no Podcast do PHPSP, o PHPSPCast n. 3.  Pra mim o recurso ainda é novidade, mas vou mostrar como funciona.

Configurando o xDebug

No mês passado fiz um post explicando sobre como fazer debug no PHP com Wamp e Netbeans, usando o XDebug. Siga os passos até terminar de instalar o xDebug no seu PHP/Wamp Server.

Feito isso, vamos abrir o php.ini e configurar a pasta do profiler, onde queremos salvar os arquivos de cachegrind para leitura. Para isso basta adicionar (ou modificar) as linhas a seguir na seção [XDebug]:

xdebug.profiler_enable=1
xdebug.profiler_output_dir=”c:\wamp\xdebug

E pronto. Agora é só executar suas páginas normalmente e olhar na pasta para ver se estão sendo gerados arquivos com nome cachegrind.out. Agora precisaremos de uma ferramenta para analizar esses arquivos.

Analizando arquivos de profiler com WinCacheGrind

WinCacheGrind é gratuíto e pode ser baixado em http://sourceforge.net/projects/wincachegrind/. Como o nome diz, ele só funciona no Windows. Mas há dezenas de aplicativos que fazem isso (até melhores) via web e também em outros OS.

Após instalá-lo, basta abrir os arquivos cachegrind gerados pelo xdebug. Ele automaticamente analiza o arquivo e tudo mais. Não há muito o que explicar sobre ele. Veja:

Tela do WinCacheGrind
Você pode consultar linha por linha, ou um resumo completo do fonte.  Ele ainda mostra em formato de árvore, para que você possa ir abrindo as classes e ver que trecho prejudicou mais a performance do seu programa.

Como disse, há dezenas de programas que fazem a leitura da saída de profiling. Esse foi o que eu experimentei. Há o KCachegring que roda em vários sistemas operacionais, ou o WebGrind que roda no browser.

Espero ter dado o ‘empurrãozinho’ que você precisava pra melhorar a forma com que você fazia análise de performance.

Colabore! Deixe seu comentário!

Outras fontes

WebGrind – http://code.google.com/p/webgrind/
PHPSP – http://www.phpsp.org.br/ e http://phpsp.org.br/2009/05/04/analise-de-performance/
KCachegrind – http://kcachegrind.sourceforge.net/
WinCacheGrind – http://sourceforge.net/projects/wincachegrind/

Como aprender 400 palavras em inglês em 1 minuto

junho 21st, 2009

Hoje estava navegando num site de cursos gratuitos e me surpreendi com uma das propostas: aprender 400 palavras de inglês em apenas 1 minuto.  A proposta é seguir algumas regrinhas que permitem converter dezenas de palavras do português para o inglês. A pronúncia não é a mesma, mas a escrita é correta e existem algumas excessões, no entanto, vale a pena aprender para os momentos de apuros. As regras são:

1. Para todas as palavras em português que terminam em DADE (como a palavra cidade) retire o DADE e coloque em seu lugar TY e assim CIDADE passou a ser CITY.
Veja alguns exemplos das centenas de palavras que você acabou de aprender:

CIDADE = CITY
VELOCIDADE = VELOCITY
SIMPLICIDADE = SIMPLICITY
NATURALIDADE = NATURALITY
CAPACIDADE = CAPACITY

2. Para todas as palavras em português que terminem em ÇÃO (como a palavra NAÇÃO) tire fora o ÇÃO e coloque em seu lugar TION e assim a palavra NAÇÃO passou a ser NATION (as respectivas pronúncias não importam no momento, e além disso você estaria sendo muito malcriado querendo exigir demais numa aula de graça!).
Vejamos agora algumas das centenas de palavras em que a imensa maioria delas se aplica e essa regra:

SIMPLIFICAÇÃO = SIMPLIFICATION
NAÇÃO = NATION
OBSERVAÇÃO = OBSERVATION
NATURALIZAÇÃO = NATURALIZATION
SENSAÇÃO = SENSATION

3. Para os advérbios terminados em MENTE (como a palavra NATURALMENTE), tire o MENTE e em seu lugar coloque LLY ( e assim a palavra passou a ser NATURALLY.
Quando o radical em português termina em L, como a palavra TOTALMENTE, acrescente apenas LY).

Veja agora alguns exemplos:
NATURALMENTE = NATURALLY
GENETICAMENTE = GENETICALLY
ORALMENTE = ORALLY

4. Para as palavras terminadas em ÊNCIA (como no caso de ESSÊNCIA), tire o ÊNCIA e em seu lugar coloque ENCE. Eis algumas delas abaixo:

ESSÊNCIA = ESSENCE
REVERÊNCIA = REVERENCE
FREQÜÊNCIA = FREQUENCE
ELOQÜÊNCIA = ELOQUENCE

5. Para as palavras terminadas em AL (como a palavra GENERAL) não mude nada, escreva exatamente como está em português e ela sai a mesma coisa em inglês.

Veja alguns exemplos:

NATURAL = NATURAL
TOTAL = TOTAL
GENERAL = GENERAL
FATAL = FATAL
SENSUAL = SENSUAL

Espero que tenham gostado.

Fonte: Ideal Cursos Grátis

Debugando em PHP com Wamp e NetBeans

junho 16th, 2009

Hoje vou falar um pouco sobre debug no php. Um recurso pouco explorado pela maioria dos programadores php que conheço, e até por mim mesmo que apesar de ter mais de 5 anos de experiência com a linguagem, só agora resolvi fazer um debug de verdade funcionar.

Debugar códigos na maioria das linguagens de programação, permite que você navegue por dentro do código e suas funções na medida que o programa ou página é executada, podendo acompanhar o valor de variáveis e inclusive alterá-las, o que ajuda em 90% o desenvolvedor a encontrar falhas ou pontos específicos em uma aplicação.

Então vamos ao que interessa…

Para ser rápido, presumimos que você tenha instalado em seu ambiente windows o pacote Wamp e o NetBeans 6.5.x, ambos com suas configurações originais.

- Fazer download do Wamp Server.
- Fazer download do NetBeans 6.5.1  para PHP.

Verifique se seu Wamp está instalado corretamente executando-o e acessando o site http://localhost/ no seu navegador. Se aparecer a página do Wamp é porque tudo ocorreu direitinho.

Adicionando exceção ao firewall do windows1. A primeira coisa que vamos fazer é ir até o Firewall do windows, no Painel de Controle e adicionar a porta TCP 9000 como exceção, para evitar problemas com o debug no netbeans.

2. Na seqüência, abra seu NetBeans e vá ao menu Ferramentas -> Opções (Tools -> Options) e clique no ícone do PHP. Em seguida verifique se a porta de depuração é a 9000, e altere caso não seja. Clique em OK.

3. Você precisará de uma extensão de debug do php. No meu caso, utilizei o XDebug. Veja a versão do seu PHP na sua pagina inicial do Wamp Server (http://localhost/) e faça o download da .DLL na versão apropriada:

- Faça download do XDebug para versão do PHP 5.2.
- Disponível também para versão 5.3 aqui.
- Consulte outras versões.

4. Coloque o arquivo DLL que acabou de baixar na pasta EXT do PHP. Se você instalou o wamp de forma padrão esta pasta será “C:\wamp\bin\php\php5.2.5\ext” ou algo parecido dependendo da versão instalada.

5. Feito isso, inicie o Wamp Server (caso ele não esteja iniciado), clique no ícone dele ao lado do relógio e procure pelo arquivo php.ini. (Menu: PHP->php.ini).

6. O arquivo abrirá no bloco de notas. Vá até o final do arquivo e adicione as linhas abaixo:

[XDebug]
; Only Zend OR (!) XDebug
zend_extension_ts = “C:\wamp\bin\php\php5.2.5\ext\php_xdebug-2.0.4-5.2.8.dll
; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at <XAMPP_HOME>/php/ext/php_xdebug.dll, without a version number.
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
; Port number must match debugger port number in NetBeans IDE Tools > Options > PHP
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir=”c:\wamp\xdebug”

Altere o caminho da dll se necessário, colocando o caminho exato da pasta e do arquivo que você acabou de fazer download no passo anterior. Ele pode variar dependendo da versão conforme falei.

7. Salve o arquivo e reinicie todos os serviços do wamp na opção “Reiniciar todos os serviços” que aparece no menu do relógio.

8. Para confirmar a instalação, acesse o link do phpinfo() que aparece na página inicial do seu wamp (http://localhost/?phpinfo=1).

9. Se tudo correu bem, o final do primeiro trecho do phpinfo deverá ser parecido com este:
phpinfo com xdebug instalado

Dica:  se você já tinha uma instalação anterior, certifique-se de que não há componentes de debug do zend instalados e configurados no php.ini. Os dois não se entendem muito bem.

Finalmente debugando no NetBeans

Se você chegou até aqui, parabéns. O mais difícil já foi (eu acho). Agora debugar fica mais fácil.

Abra seu NetBeans e crie um arquivo PHP qualquer ou abra um projeto existente. Diferente de outros meios de debug,marcando o breakpoint no netbeans nada precisará ser alterado no código.

Vá até a linha que deseja que o debug comece a ser executado e pressione Ctrl + F8 ou clique no número da linha ao lado esquerdo do código. (Veja ao lado)

Em seguida, mande depurar o arquivo apertando Ctrl + Shift + F5 ou indo ao menu “Depurar -> Depurar arquivo.php”.

Na janela que se abrirá marque a opção PHP do lado do servidor.

breakpoint no netbeansUma nova janela do navegador se abrirá e a execução irá parar no ponto de interrupção que determinamos com uma setinha verde apontando a linha do código que está sendo executada.  Você pode alterar o valor das variáveis em tempo de execução, ou criar observadores (watchers) para elas.

Para continuar a execução basta apertar F5 ou o botão continue-debugging-session no próprio NetBeans.

Isso tudo que falei é apenas o básico do processo de debug que o netbeans permite fazer. Existem outros métodos como utilizando o plugin FirePhp para o Firefox, mas não falarei disso desta vez.

Espero que esta seja uma boa alternativa pra você no lugar dos velhos ‘echos’ perdidos no seu código fonte. ;)

Para ver e aprender mais sobre o assunto, veja a matéria sobre debugging na página especial da netbeans (em inglês). Tem um passo-a-passo do processo de debug bem bacana.

Update (09-dez-2009): as versões que sugeri para download são para PHP’s compilados com VC6. Veja qual a forma de compilação do seu php no phpinfo(), no item ‘Compiler’. Ex: MSVC6 (Visual C++ 6.0) corresponde ao VC6 do Xdebug. Baixe a versão adequada ao seu PHP, não esquecendo de substituir o nome da DLL no php.ini confome mostrado acima.

Expressões Regulares

março 30th, 2009

A rapidinha da semana fica para as expressões regulares, que existem desde 1943 e implantada na informática em 1986 no pacote C chamado regex.
Bom, não vou me aprofundar muito no assunto nem explicar aqui como as expressões regulares funcionam. O assunto é um tanto extenso.
O que gostaria é de compartilhar duas fontes que ajudam aqueles que querem aprender e aqueles que apenas querem procurar expressões regulares prontas e ter tudo mastigado.

Livro: Expressões Regulares

A primeira dica é o site http://www.regexlib.com/ que traz mais de 2400 expressões regulares como validadores de e-mail, domínio, datas, telefone, urls e muito mais.

A segunda dica, pra quem quer aprender, é o livro “Expressões Regulares” do Aurélio Marinho Jargas. O livro trata das expressões de um jeito divertido (afinal, expressões regulares em geral são vistas como coisa pra louco) e fácil de memorizar.

Firefox, devolve minha memória!

fevereiro 7th, 2009

O navegador Firefox, um dos mais usados por profissionais web, é famoso por seu alto consumo de memória. Não é raro vê-lo no topo da lista de processos, consumindo mais de 300 mb de memória ram.
Essa semana eu me cansei deste quadro e procurei uma solução que funcionasse, além daquelas melhorias que fazemos mudando o about:config que não melhoram muita coisa. (Veja aqui as dicas do notivagos para o about:config e firefox)
Estou falando de um add-on (complemento) para o Firefox, chamado RAMBack.Ramback
O plugin se encarrega de otimizar o uso de memória pelo Firefox, limpando a memória de cache interna que é usada para melhor renderização.
Junto com ele também instalei o BossKey, outro plugin que também promete a limpeza de memória e deixa você definir o quanto quer usar de memória RAM. Além de minimizar o firefox para o lado do relógio, consumindo até 10 mb de memória.
Com essas medidas, na última quinta-feira meu navegador não passou dos 110 mb nem mesmo com várias abas abertas.

Veja mais sobre o RamBack na página da Mozilla
ou
Veja os detalhes e faça download do BossKey também no site da Mozilla