Designing Social Interfaces
Que bela surpresa eu tive ontem ao chegar em casa e encontrar um pacote de sedex em cima da cama. “Mas espera aí, eu não pedi nada!”. Quando abri, lá estava a cortesia do “Designing Social Interfaces” da O’Reilly:

O livro fornece um conjunto de patterns e anti-patterns para a construção de interfaces para sites de redes sociais. São vários. Os autores são os fundadores da Yahoo! Design Pattern Library, então acho que sabem do que estão falando. Outras coisas legais são que os autores liberam a cópia de trechos do livro livremente, então vai dar pra eu ir postando o que eu achar legal conforme eu for lendo o livro, e também liberam os diagramas e fotos do livros sob a Creative Commons no flickr:
http://www.flickr.com/photos/socialpatterns/sets
Tudo muito legal, mais posts em breve
- January 20, 2010
- 1 Comment
- Digg
- Del.icio.us
Como obter a declaração de um array a partir de um array em PHP
Você, alguma vez na vida, precisou escrever uma definição de um array que você tinha em memória no próprio código? Como assim, Zé? Sei lá, por exemplo, na hora de escrever testes no cakephp você muitas vezes precisa definir um array que será utilizado como parâmetro de comparação com os dados obtidas em runtime, right?
Ok, só que aí você tem aqueles arrays enormes que representam os dados obtidos do banco. Você vai ficar digitando todos aqueles campos do array no braço? NOT.
Uma solução ingênua para o problema é utilizar um var_dump() ou print_r() para obter uma representação próxima do array e, então, ir ajeitando o texto para que este se torne uma definição, de fato, de um array.
Mas Zé, será que não tem um jeito mais espertinho de se fazer isso? Tem. Graças ao PorKaria, e seu talento nato para POGs, aprendi uma técnica ninja, conhecida apenas por programadores PHP seniors: “use a json_encode() e depois a json_decode(), oras bolas”.
Suponha que você tenha um array enorme do qual você precisa obter a definição para colocar no seu código. O array está armazenado na variável $meusDados e foi obtida através de um find no banco de dados. Um exemplo no CakePHP:
$meusDados = $this -> Dados -> findByName('Zé');
Suponha que o cake vai retornar um array enorme, já que a minha tabela de dados possui 75 campos. Mas você quer testar, você quer gerar fixtures, você vai ficar “ajeitando” o output de um var_dump() da vida pra poder inserir a definição de uma tabela no código? Não!
É tudo muito simples. Tudo que você precisa, na verdade, é da definição em JSON, e não necessariamente da definição em PHP. O primeiro passo, então, é obter a representação em JSON do array:
var_dump(json_encode($meusDados));
Pronto, copie a representação em JSON escrita na tela, faça as alterações necessárias e então use a json_decode() para definir o array no seu código:
$x = json_decode('representação em JSON do array original', true);
E voilá, $x vai conter o seu array para que você o utilize/manipule como bem desejar.
That’s all folks.
- January 16, 2010
- No Comments
- Digg
- Del.icio.us
Sobre o “mas” e o “mais”
Uma coisa que eu tenho visto com uma frequência temerosa na Internet é o mal emprego das palavras “mas” e “mais”.
Imagino que tudo tenha começado de maneira inocente, com uma ou outra pessoa usando o mais no lugar do mas, “na hora da pressa” (é, a Internet tem dessas coisas, assim como o naum). Mas, de repente, veio a avalanche. De repente, o banimento do mas passou a tomar forma e está cada dia mais difícil de encontrá-lo em chats e e-mails. Para piorar, há uma semana (+ ou -) eu vi em um COMERCIAL NA TV um belo de um MAIS no lugar do já quase esquecido mas. E eu, inocente, achei que aquela havia sido a gota d’água.
Mas não, a vida, essa sim, é uma caixinha de surpresas. Nas últimas duas semanas eu fui surpreendido pela última “evolução” gramatical da Internet. Vi ao menos umas três vezes pessoas empregando o MAS (pasmem) no lugar do MAIS!!!
O que é isso meus Srs? A Internet é festa da uva, mas vamos manter um mínimo de decência. Se você está lendo este post e a ficha ainda não caiu, vamos lá:
- O Mais é pronome ou advérbio de intensidade, portanto está relacionado com quantidade, aumento, grandeza, superioridade ou comparação. [Mais], normalmente, é o oposto de [menos]. Portanto, se tiver dúvida, substitua-o por [menos] (menas nunca); se for possível a substituição, use [mais]: Você quer seu suco com mais (menos) açúcar?
- O Mas é a principal das conjunções adversativas. Relaciona pensamentos contrastantes, opositivos ou restritivos. Se eu lhe dissesse: “Minha irmã treinou muito, mas…”, com certeza, não precisaria terminar a frase, porque você iria imaginar que ela foi mal na atividade esportiva. Se tiver dúvida quanto ao uso de [mas], basta substituí-lo por: porém, contudo, todavia, entretanto. Se for possível a substituição use [mas]: Gosto de navio, porém (mas) prefiro o trem.
Compreendido? Aqui fica o meu gesto de revolta :@
Se você ainda está meio na dúvida, veja mais em: O uso do mas, mais e más.
- January 13, 2010
- 5 Comments
- Digg
- Del.icio.us
Machucando código por diversão e lucro
Excelente apresentação do Ryan Davis e traduzida pelo Fábio Akita:
Machucando Código por Diversão e Lucro – Ryan Davis from Fabio Akita on Vimeo.
IMHO, os pontos altos foram sobre o Desenvolvimento Orientado a Introspecção, as dicas de Auto-Melhoria e o desafio dos potes.
Fonte original: http://www.akitaonrails.com/2008/6/14/machucando-c-digo-por-divers-o-e-lucro
- January 5, 2010
- No Comments
- Digg
- Del.icio.us
The best brazilian movie scene, EVER!
Putz, olha a joia que eu encontrei no youtube, bão d+:
God bless the Internet!
- December 17, 2009
- 1 Comment
- Digg
- Del.icio.us
Sobre a veracidade das previsões climáticas catastróficas
Durante essa semana uma notícia agitou o twitter (ao menos entre as pessoas que eu sigo): “Não existe aquecimento global”, diz representante da OMM na América do Sul.
A única reflexão que eu sugiro é a seguinte, ele é só um cara. Apenas UM dos vários pesquisadores ao redor do mundo.
O que me fez escrever esse post foi ver agorinha o discurso de aceitação do prêmio nobel pelo Obama. Até mesmo neste discurso o cara comenta sobre a luta pela redução das emissões de gases poluentes. Aí eu pensei: “Se existe um cara com acesso a informações privilegiadas, é esse aí. E, se existe um cara com vários interesses em não reduzir produção, também é esse aí”.
Vocês acham que se fosse minimamente possível explicar cientificamente que as emissões de gases poluentes na atmosfera não afetam o aquecimento global, isso já não teria sido utilizado pelos grandes capitalistas? São mudanças que afetam praticamente toda a cadeia de produção mundial. Afetam justamente os grandes detentores de poder e dinheiro. Acham mesmo que se houvesse alguma saída, com respaldos científicos, esses caras já não a teriam utilizado?
Pensem nisso
- December 13, 2009
- 2 Comments
- Digg
- Del.icio.us
Eduardo Marinho – A Wise Man
A wise man:
Blog do cara: http://observareabsorver.blogspot.com. Do blog:
A discriminação, a perseguição dos organismos repressivos da administração pública, o desprezo dos convencionais são, no fundo, elogios a quem não se submete. Eu teria vergonha de aderir aos valores dessa sociedade perversa. Não estou aqui pra competir. Privilégios me constrangem, desperdícios me revoltam e entristecem. Superioridade social me dá riso, subalternidade me dá pena. Minha pobreza é minha riqueza, minha derrota é minha vitória. Não gostaria, nesta sociedade absurda, de ser um “vencedor”.
Provoca.
- December 9, 2009
- 1 Comment
- Digg
- Del.icio.us
Noam Chomsky BBC Interview 2009
Esse é o cara, lucidez única:
- December 7, 2009
- No Comments
- Digg
- Del.icio.us
O’Reilly Webcasts
Talvez eu esteja um pouco (muito) atrasado, mas só hoje vi que a O’Reilly possui uma grande coleção de webcasts disponíveis no youtube e na própria página da O’Reilly sobre os mais variados temas.
Bem, você pode ir lá e dar uma olhada, mas um que eu estou interessado e acho que mais gente possa estar também é o “Tudo que você queria saber sobre o Drupal, mas tinha medo de perguntar”:
- December 4, 2009
- No Comments
- Digg
- Del.icio.us
Clear Budget
Bem, há algum tempo eu ando meio paranóico (leia-se: gastando um bocado de tempo, principalmente agora que as aulas terminaram) com duas coisas de bem pouca importância: minha saúde e minhas finanças. Em relação à minha saúde estou praticando exercícios regularmente e, como bom nerd, em breve espero vir com novidades em relação a isso para ajudar todo mundo também.
Em relação às finanças tenho acompanhado alguns blogs, escutado alguns podcasts (inclusive foi o nerdcast que me abriu os olhos para isto) e lido alguns livros também.
Desde então, neste meu processo de aprendizagem tenho visto que a cartilha básica é a mesma, seja você pessoa física ou jurídica: planejamento e registro. Registre os seus gastos para que possa encontrar o seus ralos e gargalos e possa também planejar de maneira mais apropriada o futuro. Foi aí que o eu conheci o moneylog de um velho “conhecido”, o aurelio. O moneylog é uma ferramenta excelente para um controle básico dos seus gastos. É um arquivo HTML com um bocado de JS + CSS que apresenta o seu “fluxo de caixa” permitindo o agrupamento através de tags.
Nos últimos meses o moneylog foi um bom companheiro, mas recentemente eu vinha sentindo uma necessidade de ter um cuidado um pouco maior em relação aos meus gastos, seguindo algumas dicas de especialistas, principalmente do Gustavo Cerbasi. Na verdade o que eu mais sentia falta mesmo era de uns bons gráficos pra me ajudar na visualização, coisa que o moneylog não oferece as-is.
Dei uma olhada em alguns sites, inclusive sugeridos pelo Cerbasi, mas sei lá, fico meio com o pé atrás de largar minhas finanças (geralmente de 6 dígitos ou mais) por aí. Pensei até em fazer eu mesmo um sisteminha em PHP + Open Flash Chart, mas pensei antes em dar uma olhada no SourceForge, lógico.
No SF, Logo de cara você tem um item de menu só para Personal Finance. Dei uma olhada por cima nos projetos mais populares e tudo mais e no final resolvi dar uma chance ao clearBudget.

O clearBudget é feito em PHP e usa sqlite pra armazenar o dados. IMHO, a interface pode sofrer várias melhorias, mas não é nada difícil de trabalhar com o software. Você cria algumas categorias e vai fazendo os lançamentos. No final ele gera relatórios por categorias e palavras-chave, assim como o moneylog, e ainda dá de brinde alguns gráficos, very nice. Simples e atende justamente ao que eu queria. Não testei extensivamente ainda pra poder falar de bugs ou de outras possíveis funcionalidades, mas a utilização até agora tem sido sem traumas. Acho que vou encarar migrar meus dados do moneylog para o clearBudget.
Fica aí a dica
- December 1, 2009
- 3 Comments
- Digg
- Del.icio.us




