Archive for the ‘Tecnologia’ category

Convertendo filmes para seu iPod

abril 13th, 2010

A dica de hoje é super simples e surgiu da necessidade de converter um filme (com arquivo de legenda separado) para um formato que pudesse ser importado no iTunes (mp4) e posteriormente sincronizado com o iPod Touch.

Estou falando do iPodME. Software brasileiro disponível no site BaixaKi que cumpre muito bem seu objetivo. Ele é capaz de converter longos filmes em cerca de 10 minutos, e dispensa instalação. O aplicativo é apenas um executável para windows (xp/vista/7).

Conversor de videos para iPod TouchApós abri-lo, basta selecionar os filmes que deseja converter (como mostrado na imagem). Se houver um ou mais arquivos de legenda com o mesmo nome dentro da pasta do filme, o mesmo será convertido em legenda, num formato aceitável pelo iPod. Por exemplo: se o nome do filme é video.avi, o arquivo de legenda deverá se chamar video-en.srt. Observe que a sigla do idioma é necessária após o nome do arquivo principal e que o formato deve ser SRT.

Faça o download do iPodME aqui.

Levamos o prêmio, mas o Yahoo! Open Hack Day foi muito mais que isso…

março 25th, 2010

Um final de semana diferente, com muito desenvolvimento, comida boa e muita diversão. Foi assim o segundo Yahoo! Open Hack Day Brasil, que aconteceu no dia 20 de Março nas instalações do Senac Universitário de Santo Amaro, em São Paulo.
Yahoo! Open Hack Day BrasilO evento reuniu centenas de desenvolvedores e geeks de todas as espécies para um desafio: desenvolver uma solução que melhore de alguma forma a vida das pessoas, e fazer isso em apenas 24 horas, utilizando as APIs de desenvolvimento do Yahoo!.
Eram 3 categorias e as ferramentas poderiam ser desenvolvidas em qualquer linguagem de programação, para qualquer propósito.
Ricardo Martins (eu) e David Ruiz ganhamos o prêmio na categoria YAP!,  com o projeto FILMES.CC, um aplicativo web/mobile que busca reunir informações sobre a programação de todos os cinemas do Brasil em um só lugar, permitindo que procure a melhor sessão nos cinemas mais próximos de você.

A aplicação ainda está sendo aperfeiçoada e no futuro estará disponível no endereço http://filmes.cc/.

O prêmio foi entregue por Cody Simms, Diretor Sênior do Yahoo’s Open Strategy. Confira algumas fotos do evento e da premiação:

Mais fotos no FlickR do Yahoo! Hack Day.

Outras Categorias

Não é só de YAP! que vive o Hack Day. Foram mais de 50 projetos inscritos e vencedores em várias categorias.

  • Hack “Keep it local”: “PlaceHacker” por Maurício Maia – uma cópia do Yahoo! Placemaker que funciona com maior precisão no Brasil e com registros em português.
  • Melhor Hack com o Meme: “SlideMeme” por Carlos Duarte do Nascimento e Vanessa Sabino – um hack para postar apresentações do Slideshare no Yahoo! Meme, convertendo as apresentações para GIFs animadas.
  • Melhor hack com YQL: “Gas Finder” por Eduardo Otubo e Luciano Camilo – uma colaboração (na verdade apresentada em dois hacks separados) que criou uma tabela YQL com os preços de gasolina em São Paulo e uma aplicação em Android que te leva para o posto de gasolina mais barato próximo de você.
  • Hack de melhor utilidade pública:: “Infraero BR parser” por Danilo Bento – um conversor e API que permite encontrar rapidamente várias informações de vôos e aeroportos do Brasil.
  • Melhor hack escolhido pelos hackers e vencedor geral ( os hackers também votaram): “F1 Results” por Daniel Rodrigues da Costa Filho, Fabio Dan Dias Cardoso e Iraê de Carvalho Brasil – uma visualização incrível dos resultados históricos da Fórmula 1 baseados na Ergast API e usando Canvas, CSS3 e HTML5 para fazer uma ótima interface rica.

Os vencedores levaram uma mochila de notebook personalizada, um iPod Touch e o reconhecimento dos amigos. =)

Alguns links relacionados

Veja os slides das palestras que aconteceram no evento

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.

PHP no prompt de comando

novembro 12th, 2009

Esse mês comecei a trabalhar na LBS, empresa resultante da fusão do Apontador com Maplink. Um dos meus primeiros trabalhos era criar um importador de CSV. Algo rotineiro, mas que resolvemos fazer sem utilizar interface web.

Tudo rodaria no shell do linux ou no prompt do DOS no windows.  Vamos ver como isso funciona no Windows?

Passo 1: Pra facilitar o trabalho, localize onde está o seu php.exe e adicione o path do diretório na variavel de ambiente Temp do Windows. Para isso clique nas propriedades do meu computador, na guia Avançado, e depois no botão Variáveis de Ambiente. Localize na lista inferior a variavel TEMP e acrescente o path do seu php.exe conforme o padrão que já existe.

Dessa forma não precisaremos ir até o diretório do PHP pra chamá-lo quando precisarmos. Podemos apenas digitar php no prompt de comando e o sistema já entenderá quem estamos procurando.

Passo 2: crie um arquivo qualquer.php que imprima o valor da variável $argv. Esta é uma variável pré-declarada que contém um array com todos os parâmetros que podemos passar via linha de comando. (Tente apenas um <?php var_dump($argv)?>)

Passo 3: pronto. Agora é só executar o arquivo com o comando
php -f c:\caminho\do\qualquer.php -- hello=world foo=bar
Tudo que for passado após -- é entendido como parâmetro. Fique atendo aos espaços para não ter surpresa. O nosso exemplo retornaria algo do tipo:

array(3) {
[0]=>
string(31) “d:\wamp\www\testes\qualquer.php”
[1]=>
string(11) “hello=world”
[2]=>
string(7) “foo=bar”
}

Passo 4: Agora é só tratar os parâmetros (ou seja, o array $argv) e se divertir com os scripts na linha de comando. Além de ser bem mais rápido que executar na web, não é necessário ter o apache (ou o servidor web) sendo executado.

Gostou? Conhece outro jeito de fazer? Comente!

Inscrições abertas para Campus Party 2010

outubro 22nd, 2009

Prepare seu computador, sua mochila e reserve na agenda a semana de 25 a 31 de janeiro de 2010! A cidade de São Paulo receberá a terceira edição do maior evento de internet e redes do mundo.

A maior festa mundial da internet, reuniu mais de 6700 pessoas na edição de 2009. As pessoas levam seus notebooks e desktops para o evento, onde desfrutam de palestras que acontecem 24h durante 1 semana, além de uma conexão de mais de 10 Gb. Mais de 4000 pessoas (campuseiros) ficam acampados em barracas fornecidas pela organização.

É uma oportunidade única de fazer novos amigos, ampliar seu networking e claro, aprender muito.

Em 2009 palestrei na área de Desenvolvimento sobre Otimização de Sites (SEO). Em 2010 estou coordenando a área de Desenvolvimento junto com David Ruiz.

Se você ainda não participou, não perca a chance. As inscrições para 2010 já estão abertas.

Sobre a Campus Party

Criada na Espanha em 1997, a Campus Party transformou-se, em 12 anos de existência, no maior evento mundial que integra tecnologia, conteúdo digital e entretenimento em rede. Os participantes mudam-se com seus computadores, malas e barracas para dentro de uma arena, onde se conectam a uma rede super veloz e convivem em torno de oficinas, palestras, conferências, competições e atividades de lazer.

Em sua terceira edição no Brasil, a Campus Party se consolida como o principal ponto de encontro físico das redes sociais da internet interativa, proporcionando aos visitantes a troca livre de conteúdos, as últimas novidades tecnológicas e o compartilhamento de experiências ligadas ao mundo digital. Participam do encontro estudantes, professores, cientistas, jornalistas, pesquisadores, artistas, empresários e milhares de visitantes amantes da tecnologia e internet.

Campus Party Brasil

3ª Edição

De 25 a 31/01/2010

Centro de Exposições Imigrantes

Rodovia dos Imigrantes, km 1,5

São Paulo – SP

Inscrições

Pelo site www.campusparty.com.br

Preço do Ingresso: R$ 140,00

Camping (opcional): R$ 15,00

Pacote Alimentação (opcional): valor será informado posteriormente

Promoção

De 20/10 a 25/10, para campuseiros veteranos (que participaram em 2008 e 2009), o valor do ingresso será de R$ 100,00.

Acompanhe!

Site: www.campusparty.com.br

Blog: http://www.campus-party.com.br/blogoficial

Twitter: www.twitter.com/cpbrasil

Youtube: www.youtube.com/campusparty

Facebook: www.facebook.com/campuspartybrasil

Orkut: www.orkut.com.br/Main#Community?cmm=30937933

Veja todas minhas postagens da Campus Party das edições anteriores (2008 e 2009).

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/

Armazenar e Compartilhar arquivos online com GOLiAZ

junho 27th, 2009

Goliaz.com - Armazenamento e compartilhamento de arquivos

GOLiAZ é o nome do serviço/projeto online que mais tenho me dedicado nos últimos meses. O GOLiAZ é um novo serviço de compartilhamento e armazenamento de arquivos e fotos online que pretende revolucionar a forma como isso é feito hoje.
O usuário do GOLiAZ poderá enviar suas fotos, vídeos, ou qualquer tipo de arquivo a partir de qualquer dispositivo conectado à internet, seja ele um Notebook, Netbook, iPhone, celular, palm ou qualquer outro.


Elevator Pitch do GOLiAZ (1 min)

Diferente dos tradicionais serviços do gênero, esperamos oferecer 2 GB de espaço sem limite de arquivos ou tamanho. Outra vantagem é com relação a portabilidade: você já tentou salvar suas fotos do orkut, do flickr ou do picasa para levá-las com você? E quando você termina com a namorada? Tem que entrar em cada um deles procurando as fotos do casal pra apagar, rs. Nós vamos resolver este problema também.

O GOLiAZ é um software? Sim, não, pode ser. As pessoas poderão usar os serviços do GOLiAZ tanto pelo site quanto a partir de qualquer software criado pela comunidade, e isso será possível porque nos preocupamos em desenvolver dezenas de APIs (Interfaces de Programação) que permitem que qualquer pessoa com conhecimento em qualquer linguagem de programação possa desenvolver programas ou sites utilizando a nossa plataforma.

Quem está envolvido? O projeto vem sendo coordenado por mim e por David Ruiz, que trabalhou comigo há cerca de 8 anos, e agora é meu sócio no projeto de start-ups, uma espécie de encubadora e executora de projetos de tecnologia. Hoje contamos com uma equipe de 6 pessoas e um escritório na cidade de Santos.

Se você gostou do projeto e quer entrar em contato conosco, envie um e-mail para comercial(arroba)goliaz.com.

Links relacionados:

Acesse a comunidade do GOLiAZ no Desafio Brasil e torça por nós

Jornal de Tecnologia :: goliaz.com anunciado

Veja o site do GOLiAZ e se cadastre para receber as novidades

Veja o que falam do GOLiAZ no Hiper

Veja o que o David falou no blog dele

E acompanhe o @thegoliaz no twitter.

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.