Postagens

Timezone no PHP errada

Depois de um tempo sem muitos problemas com o PHP, deparei com uma doideira nas funções de data. De acordo com este post , o PHP possui uma forma própria de calcular as datas, inclusive as datas dos horários de verão. Meu problema ocorreu quando saímos do horário de verão e o PHP continuou a achar que estava em GMT-2. Pra quem tem os fontes do php instalados bonitinho no sistema, a maneira mais fácil é atualizar o timezonedb a partir do pecl. pecl update timezonedb Obrigado pro Lucas, que encontrou esse post e corrigiu o problema!

TODO List para todos

Se você tem tarefas demais e anda esquecendo de algumas ou se simplesmente está procurando uma forma simples de gerenciar suas tarefas, conheça o Todoist . O Todoist é um gerenciador de tarefas simples, com subdivisões por projeto, calendário e mais algumas features . É só se registrar e desfrutar.

Gráficos com flash

Cansado de desenvolver rotinas chatas com GD no PHP para gerar gráficos online? Dê uma olhada no Fusion Charts e simplifique sua vida. O Fusion Charts é um conjunto de animações criadas em Flash/Flex para gerar gráficos com seus mais diversos indicadores. Para mim a grande vantagem foi possuir algumas implementações de classes PHP para gerar o código que é passado para a animação. Veja aqui a galeria dos tipos de gráficos . Ressaltando ainda que o mesmo possui uma versão gratuita também.

Moourl

Cansado das URLs gigantescas quando precisa enviar links para alguêm? Que tal experimentar o Moourl ? Eu sei que já existem diversas aplicações desse tipo, mas está foi desenvolvida em Ruby puro e por uma equipe Brazuca . Pra facilitar a vida, tem até um bookmarklet, é só arrastar o link abaixo para sua barra de links e pronto, toda vez que estiver em alguma página com urls gigrandes é só clicar nele para gerar a pequenina. ~moourl~

Thermo do Photoshop para Flex

Ainda na pauta novidades da Adobe, na mesma convenção que foi apresentado o novo conversor de C/C++ para AS3, foi exibido o novo software denominado Thermo . Com uma idéia simples e uma interface poderosa, a tarefa do Thermo é facilitar a tarefa do designer de converter uma interface gráfica, criada no Photoshop por exemplo, em código para o Adobe Flex . O aumento de produtividade, acredito eu, deve ser absurdo. Para entender melhor, só mesmo vendo alguns vídeos da demonstração: http://aralbalkan.com/1050

Flash 10 e C/C++

De acordo com este post a versão 10 do Adobe/Macromedia Flash virá com uma ferramenta capaz de traduzir código originalmente escrito em C ou C++ para Action Script 3. Ainda no post, afirma-se que como exemplo, o código fonte do Quake foi traduzido em AS3 como exemplo da funcionalidade. É impressão minha ou uma nova geração de aplicações pra internet está por vir? Imagino diversas coisas, entre elas, que tal um emulador de video-games como o Stella ou até o Zsnes rodando totalmente em Flash? É aguardar pra ver. Enquanto isso, fiquem com um vídeo da demonstração: http://blip.tv/file/408241

Extraindo músicas de Ipods

Devido ao DRM que a Apple utiliza para vender músicas no iTunes Store, o mesmo não permite que você copie as músicas do iPod de volta para o PC e complica a vida armazenando as músicas dentro do mesmo de forma aleatória. Pra ajudar nessa tarefa existem diversos softwares disponíveis, mas a minha dica fica com o EphPod . Não é uma solução perfeita, mas é gratuita e relativamente fácil de usar. É só selecionar as músicas na lista, pressionar CTRL+ALT+C e escolher o diretório de destino!

Mobile Blogs

Tudo bem, não sou o maior blogueiro da face da terra, mas criar diversas formas de acesso ao mesmo não custa nada... quer dizer, essa pelo menos não custa: Conheça o Mofuse Grow, uma ótima ferramenta para disponibilizar seus blogs para dispositivos "mobile". O meu já está no ar !! ;) http://lifedata.mofuse.mobi

Mac OSX em PCS

Que os novos Macintosh´s utilizam o mesmo processador que a Intel vende para PC´s não é novidade, assim como não é novidade que muita gente tem trabalhado para colocar o OSX pra rodar nestes PC´s. Então segue uma ótima fonte de informação para quem deseja "tentar" essa façanha. http://wiki.osx86project.org Um amigo conseguiu rodar perfeitamente (com excessão do som e rede) o OSX em um PC que lhe custou R$ 600,00. É só prestar atenção aos chipsets reportados como suportados e começar a trabalhar!

Miro

Para os Geeks de plantão, uma ferramenta show de bola para gerenciar Videocasts . Vai lá, tem pra Mac,Windows e Linux!!! http://www.getmiro.com

Galeria do Picasa no seu site com JQuery

Tenho utilizado bastante a biblioteca javascript JQuery . Uma das coisas que andei imaginando era se seria possível exibir de forma customizada um albúm hospedado no Picasaweb , pois bem, alguem se adiantou: Apresentando o jqAlbumParser Jeito mais fácil eu desconheço.

Convertendo FLV para IPod

Na busca por como converter videos flv para assistir no meu iPod encontrei uma ferramenta interessante chamada WinFF. Instalada sem problemas, selecionei o preset para iPod e pau no ffmpeg. Depois de procurar um pouquinho, descobri o que acontecia e como resolver. O ffmpeg do Ubuntu é distribuído com o suporte a AAC desabilitado, ou seja, mesmo que você possua as bibliotecas libfaac e libfaad instaladas ele apenas vai utilizar a de decodificação. A solução que encontrei foi instalar a versão "destravada" do ffmpeg do projeto Medibuntu. Para fazer isso, siga as instruções de inclusão do repositório do Medibuntu e (re)instale o seu ffmpeg. Claro, logo mais tudo isso vai ser bobagem como ferramentas como o vixy.net começando a aparecer, mas por enquanto está mais fácil converter no desktop mesmo. Para fazer downloads dos videos, o keepvid.com quebra um galhão!

Sem privacidade no Google Reader

A equipe do Google Reader lançou recentemente uma integração do Google Reader com o GTalk. Entre as features novas está o fato de que agora todos os usuários que fazem parte da sua lista de contatos no GTalk/GMail podem ver seus itens compartilhados. Não que a feature seja ruim, o problema é que não existe a possibilidade de desabilita-la e deixar tudo funcionando como antes. A própria equipe notando as reclamações dos usuários escreveu um post explicando como compartilhar de forma seletiva baseada nas tags, mas em momento algum escreve sobre como deixar privado a tag shared-itens. Mancada do Google que ainda vai dar muito o que falar .

Edit de runlevel

Nota mental: Qual o comando que utilizado para adicionar ou remover programas da inicialização automatica do sistema? No RedHat e derivados é chkconfig , no Debian e derivados é update-rc.d

O problema C10K

Você gostaria que seu servidor web consegui-se prover conteúdo para 10.000 clientes simultâneamente? Esse foi um problema por Dan Kegel em uma página com uma série de notas sobre os problemas que encontrou ao trabalhar com servidores com alta carga simultânea. Em 2003 um programador alemão do projeto MySQL chamado Jan Kneschke acreditou que podia criar um web server capaz disso se focasse nas técnicas certas, nascendo então o lighttpd . Hoje o lighttpd está presente em grandes sites como o Wikipedia e o Youtube. Se você está com problemas de performance com seu servidor Apache, de uma olhada neste artigo do onLamp e observe se as diferenças de configuração e limitações do lighttpd não serão problema no caso de uma troca.

Teste sobre tags HTML

Quantos elementos do HTML você consegue digitar em 5 min? Eu cheguei no 47, mas esqueci de alguns ridículos. 47

Lighttpd + FastCGI + PHP no Ubuntu 7.10

O Apache estava meio pesado na máquina de desenvolvimento então resolvi substituir. Instalação: sudo -i apt-get install lighttpd apt-get install php5-cgi Configuração: lighty-enable-mod fastcgi Opcionais: apt-get install php5-mysql php5-pgsql php5-gd php5-sqlite3 Depois de tudo instalado: /etc/init.d/lighttpd force-reload Limpeza: apt-get remove apache2 Como eu já estava com o PHP5 rodando no Apache, pode ser que necessite de algum passo a mais em uma instalação nova.

PHP_Incomplete_Class Object

Quando você receber o aviso "PHP_Incomplete_Class Object" ao tentar extrair uma classe que foi gravada na sessão, certifique-se de incluir as classes ANTES de iniciar a sessão com o session_start() . Isso ocorre porque o PHP não sabe como tratar as instâncias sem as classes e precisa delas quando está reconstruindo os dados da sessão! Em resumo: Errado: session_start(); include "minhaClasse.php"; Certo: include "minhaClasse.php"; session_start(); Ou, no lugar de registrar a instância da classe tente serializar a mesma e isso vai ser evitado. O custo é o do processo de serialização e deserialização mais o trabalho de fazer esses processos sempre que for acessar os dados.

TED

Você conhece o TED ? TED significa Tecnologia, Entretenimento e Design e é uma convenção anual que iniciou com pessoas que trabalhavam neste escopo em 1984 e vem aumentando o leque de áreas desde então. Eu particularmente tenho assistido a diversos dos videos publicados no site, alguns sobre tecnologia, mas é quase impossível deixar de assistir aos outros diversos assuntos. Se você trabalha com internet e desenvolvimento de conteúdo, sugiro como start uma apresentação de Larry Lessing sobre "Como a criatividade está sendo estrangulada pela Lei". Já se seu mundo não é muito esse, pode assistir aos videos do Bono Vox (vocalista do U2 ), Richard Branson (presidente da Virgin Records ), Bill Clinton entre outros... Pra quem é proprietário de um iPod com suporte a video, o TED fornece links para download como videocast que podem ser adicionados diretamente ao iTunes .

Erro com AJAX e Formulários no Firefox

Imagem
Em um dos projetos que venho desenvolvendo, precisei alterar um formulário de forma a incluir campos de categorias para as notas postadas no site. Essa ferramenta tem a característica de categoria e subcategoria e assim resolvi fazer a exibição/atualização da lista de subcategorias com ajax . Após colocar toda a parte visual para funcionar, inclusive com a carga das subcategorias das categorias selecionadas, notei que meu script de registro do post não gravava as subcategorias. Aqui começa o problema, simplesmente o Firefox não enviava os dados dos campos que estavam sendo carregados com ajax enquanto o IE os enviava normalmente. Depois de procurar bastante no Google e não encontrar uma resposta para o problema, pesquisei no Gecko DOM Reference e mais uma decepção. De acordo com a documentação do Gecko, apenas tabelas não devem ser atualizadas ou alteradas as linhas/colunas atravez da propriedade innerHtml. Foi então que, por pura curiosidade, resolvi dar uma olhada na estrutura do d...