27 de jan. de 2009

Comportamento Animal: Esquema Infantil

Konrad Lorenz foi quem introduziu o conceito de Esquema Infantil (ou Kindchenschema), relacionando-o com um conjunto de características apresentadas por alguns animais e, por todas as crias de um modo geral - pequeno tamanho do corpo, cabeça desproporcionalmente grande, olhos grandes situados abaixo na face, com testa grande e as maçãs do rosto proeminentes, membros curtos e roliços e movimentos descoordenados - o que também constitui uma verificação da Lei da Somação Heterogénea (estímulos actuando cumulativamente num mesmo sentido).

Estas características infantis, universalmente reconhecidas, - mesmo inter-espécies - reduzem a agressividade de terceiros e, aditivamente, potenciam os cuidados epimeléticos, aumentando a fitness dos indivíduos. Isto pode eventualmente estar na base da preferência da maior parte dos humanos por animais que retenham estas características durante toda a vida - como o Panda Gigante e o Koala.Este vídeo atesta o poder do Kindchenschema numa situação concreta. Muito obrigado à Sofia pelo vídeo =)




30 de dez. de 2008

Britain From Above: Motorways off the Coast

A BBC tem agora uma nova experiência não só para os britânicos mas para todo o mundo. Videos e imagens de zonas modernas e históricas do Reino Unido estão agora disponíveis e deixo-vos aqui uma delas.

No Estreito de Dover, incluído no Canal da Mancha, passam diariamente mais de 400 embarcações entre cargueiros, petroleiros ou os simples ferrys que fazem a ligação entre França e Inglaterra.

14 de fev. de 2008

CakePHP Plugins

banner.png

Motivation


This paper is intended to try to improve the next version of Cake. I think one of the most important features of a framework is its capacity to be expanded. Plugins achieve that gracefully. But there is a problem; plugins, as read on tempdocs, are meant to be packages. I think they can be much more. This is mainly a software design problem.


Where they fail


Point #1


Cake creates conventions for everything turning controllers, models and views universal. Same happens to plugins, but because of namespace concerns it is recommended to developers to include plugins name in controllers, models and views names. So a blog plugin would have BlogPost and BlogComment as models, BlogPosts and BlogComments as controllers. That's fine to me (and recommended) but the Router should be smart so it won't be necessary URI's like /blog/blogPosts.


Point #2


Second is its usefulness. I think plugins can be more than just isolated modules. Imagine a plugin that is mutable, just by receiving some variables on runtime. I think every experienced developer has come to a day where he finds himself coding same thing twice. With MVC architecture that is a problem which is 90% of the time solved, but here are exceptions.


This kind of problem appears on relative big websites. Imagine you have Users profile page, which can receive Comments. You also have the Groups page which can also receive Comments. Code can be reused by creating an element and invoking it on the view, passing the right data. That's a simple example.


But, what if Users and Groups could have Images. The Images logic would be obviously be present in the Model, but what about all the actions? Could be achieved by /images/view/type:group/23. Still ok to me. But images now have Categories, Tags and Comments. That becomes kind of hard to maintain. Developer is responsible to persist the type and id, for the operations to succeed. A good solution to this problem would be packing all has a plugin, to get all things organized, but the persistent problem would still exist.


5 de jan. de 2008

Gráficos em jQuery

Apresento o Flotr, um novo plugin para jQuery, que vai facilitar a introdução de gráficos nas suas páginas.
Ao contrário do Google Chart API, este plugin cria e manipula gráficos no momento.

Este plugin surgiu da insatisfação do autor, Ole Laursen, pois outros plugins não eram inteligentes o sufeciente. A vantagem deste plugin sobre outros é que ajusta automaticamente os limites e ajusta a escala, de acordo com os valores de entrada. Outro plugin equivalente, mas para Prototype, é o Plotr.
Esta competição entre Prototype e jQuery só traz vantagens para os utilizadores.

Grafico Barras (Flot)

20 de ago. de 2007

Objectos Mágicos

autload.jpg

Hoje vou apresentar uma função que a maior parte da comunidade PHP não conhece. Está englobada dentro das "funções mágicas", foi íncluida no PHP5, mas é necessário defini-la.

Em projectos com uma escala média, em que contamos com mais do que alguns ficheiros é praticamente certo que vamos utilizar classes, e inclui-las com ficheiros externos.





Este é um exemplo típico duma aplicação simples/complexa. Incluímos o nosso ficheiro em todos as páginas em que vamos necessitar duma ligação à base-de-dados e em cada uma delas vamos iniciar o nosso objecto.

Agora podemos continuar a seguir a linha de pensamento, e para um projecto funcionar vai precisar também duma classe para gerir os utilizadores, outra, quem sabe, para gerir os templates - e para os mais exigentes, também podemos incluir uma para cache.

Vamos utilizar muito provavelmente uma página, normalmente denominada por kernel ou global, que vai incluir tudo isto por nós em todas as páginas, ou na única página, do nosso projecto.

Mas tudo fica mais simples se fizermos uso desta função. Imaginemos o seguinte pedaço de código, que representa literalmente como ficaria o nosso index:




16 de ago. de 2007

Google Reader Theme

261.jpg



John Hicks, famoso designer inglês, lançou há semanas um skin para o Google Reader. Para instalar bastam uns passos simples e é compatível com qualquer browser (excepto IE).

Screenshots




14 de ago. de 2007

Guia para Iniciados

This area is intended for everyone new to PHP. It opens with a series of informal, entertaining tutorials written by Vikram Vaswani, founder and CEO of Melonfire. These tutorials build on a previously-published 5-part series which has now been updated and extended to embrace PHP 5, making parts of it suitable for those of you who already have worked with PHP 4 in the past.

If you came here to learn about elementary PHP 4 or basic PHP 5, this is for you. Enjoy!


PHP 101: PHP For the Absolute Beginner

13 de ago. de 2007

PHP Console

Header-PHP-Console

Alguma vez pensou se seria possível executar ficheiros de php na linha de comandos, como se fossem programas de C ou de Pascal?

Além de parecer divertido, provavelmente já precisou mesmo de usar e não sabia como. Imagine um ficheiro em PHP que executaria quando iniciasse o servidor (ou o seu servidor instalado em casa) e que trataria de apagar mensagens de fórum antigas ou actualizasse as estatísticas de um gestor de ficheiros.

Podíamos criar um Crontab se estivéssemos a usar Cpanel ou Unix, mas por vezes precisamos de ir mais além. Em PHP existe mais uma opção chamada actualmente de CLI (Command Line Interface) a qual vamos explorar neste artigo.

14 de jan. de 2007

Brain Damage

alaix a akd ek, kakdl a bkiq. kad 2 a 3 dkaie ddaiop ka, dkdaa a dkey.

fdooaxp.