Skip to content

Archive for Dezembro, 2008

30
Dez

A Informação..

“A difusão de informação por meios alternativos está, cada vez mais, a ganhar terreno perante os meios mainstream. Por esta designação de meios de comunicação mainstream estão abrangidos os meios comuns de difusão informativa, sendo eles os jornais, a rádio, a televisão e a internet.

Remontando um pouco às origens da informação, tudo começou com a necessidade do Homem comunicar com os restantes seus semelhantes já desde o aparecimento da espécie. Em três pontos essenciais da evolução comunicativa, destacamos a escrita na Grécia Antiga, o aparecimento da Imprensa com Gutenberg no ano de 1455 e a Revolução Industrial nos meados do século XVIII. Estas mudanças comparáveis, isto é, de uma crescente gradação e interligadas entre si, antecederam às tipologias modernas de comunicação a que assistimos hoje em dia.

continuação em: http://historiadordoinstante.blogs.sapo.pt/15274.html

24
Dez

A tecnologia a crise e o amor.

Com este post pretendo mostrar os dois lados da tecnologia

Uma das funções da tecnologia é tornar processos manuais em automáticos aumentando a rapidez de produção e reduzindo os custos ás empresas, mas já pensaram na quantidade de pessoas que se viram substituídos por máquinas e perderam o emprego. Pessoas com uma carreira profissional que levaram anos a desempenhar aquelas funções e de repente recebem uma cartinha de despedimento e vão para o fundo de desemprego (se tiverem direito.. ) e fica um computador no seu lugar.. se repararem em muitos supermercados estão a substituir as operadoras de caixa por máquinas.. (será que havia necessidade??) cada máquina representa menos 2 ou 3 empregos.. logo 2 ou 3 pessoas que ficam sem dinheiro para consumir.. o excesso de máquinas está a aumentar e se isto continuar assim qualquer dia deixamos de ter empregados de caixa.., seguranças, empregados de loja.. etc…

A tecnologia é boa disso não tenho dúvidas mas não devemos abusar.. senão corremos o risco de perder o verdadeiro sentido da vida.

É necessário que existam empregos para as pessoas poderem consumir e para as empresas se manterem vivas, senão corremos o risco de quebrar o ciclo económico e sufocarmos..  sem poder de compra não consumimos sem consumir as empresas vão a falência.

Mas como a tecnologia não tem só o lado (menos bom), já imaginaram com a facilidade que podemos percorrer o Mundo sem sair da cadeira, apenas com 1 computador , um acesso a internet podemos visitar vários Países conhecer, costumes, culturas, falar com outras pessoas .. Já imaginaram a vossa vida sem a tecnologia.. (então imaginem por uns breves momentos..)

Agora reparem na quantidade de pessoas que já conheceram através da tecnologia, a quantidade de namoros.. / casamentos em que a tecnologia foi a vossa arma, secreta ponto de partida.. graças a tecnologia podem comunicar a toda a hora.. sms, chats .. sem barreiras, distâncias , medos etc..

Como podem ver a tecnologia está sempre presente.. até nas vossas relações..

revisão por: vanessaquiterio

Inspirado em: Bruno , Vanessa

o meu obrigado!

23
Dez

MAC VS PC

MAC VS PC

Fonte:webtuga

18
Dez

FireFox 3.0.5 – Grátis novidades

Dia 16 de Dezembro saiu uma nova versão do FireFox a 3.0.5

Transfira Já – Grátis

O que há de novo no Firefox 3.0.5

O Firefox 3.0.5 contém as seguintes actualizações:

  • Resolvido vários problemas de segurança.
  • Resolvidos vários problemas de estabilidade.
  • Lançamentos oficiais dos idiomas Bengali, Esperanto, Galician, Hindi, e Latvian já disponíveis.
  • Substituído o Acordo de Licença de Utilizador Final por uma nova barra de info “Conheça os seus direitos” na instalação inicial.
  • Ao instalar vários XPI assinados em simultâneo, as versões anteriores do Firefox falham.
  • Resolvidos vários problemas encontrados com a implementação de acessibilidades.
  • Adicionada a habilidade de enviar notas específicas do SO no crash reporter.
16
Dez

Bibliotecas JavaScript

Mochikit

Mochikit

O Mochikit é o filho caçula de Bob Ippolito (o participante principal) e está disponível no site do Mochikit. O pacote principal tem aproximadamente 90 Kb (compactado), mas você pode carregá-lo em módulos separados. A biblioteca também é distribuída com a versão do framework do Python para web, chamada de TurboGears.

Nas palavras do Bob:

“Nós analisamos todas as idéias que poderíamos encontrar apartir da nossa experiência com Python e foram adaptadas ao mundo louco do JavaScript”

Assim, em uma visão macro, o Mochikit extrai algumas funcionalidades do Python para sua API. Se você é familiar com o Python, você terá um aprendizado imediato com o Mochikit, embora tenha uma API simples que seja razoavelmente fácil de utilizar. De todas as bibliotecas ressaltadas neste artigo, a API do Mochikit transmite ser a mais “preparada”.

Quando estiver começando com o Mochikit, você precisará:

  1. Assistir ao screencast do Bob.
  2. Começar utilizando o interpretador interativo excelente do Mochikit. Esta é uma boa maneira de entender a biblioteca e ter uma compreensão básica de como Mochikit trabalha.

O básico sobre Mochikit

Ao trabalhar com o DOM, o Mochikit traz alguns truques na luva:

var warning = P(
 { 'class' : 'warning' },
 "Por favor insira um ", STRONG(null, "endereço de e-mail válido")
);
swapDOM(document.getElementById("notificacoes"), warning);

Este código usará os métodos W3C DOM relevantes para os nós da árvore equivalentes ao código HTML seguinte:

<p class="warning">Please provide a <strong>valid email address</strong></p>

O código do Mochikit está quase mais limpo do que a sintaxe do HTML!

O módulo do Mochikit.DOM contem também outros métodos para a manipulação fácil do DOM, tal como o método do swapDOM mencionado acima e toHTML (que converte um nó de DOM ao HTML que representa).

Assim como na manipulação de eventos, o Mochikit foi projetado para que seja implementado no módulo de Mochikit.Signal. Foi baseado em torno do conceito de conectar um ouvinte a um sinal que fosse emitido por um objeto. Todos os eventos regulares do DOM são sinais, mas você pode criar seus próprios também. O método conectar faz todo o trabalho aqui:

// conecta o sinal do onclick no elemento com id="thing"
// para a função showDialog, com pontos para este elemento.
connect($('thing'), 'onclick', showDialog);

// conecta o sinal do onsubmit para o elemento id="form" para
// o formController.checkSubmit, com pontos para o objeto formController.
connect($('form'), 'onsubmit', formController, 'checkSubmit');

Você pode fazer seus próprios objetos enviar sinais com o método do sinal:

signal(anObject, 'a_signal');

O material de AJAX é segurado pelo módulo Mochit.Async, e pelos objetos auxiliares que se encontram no núcleo de sua implementação. Para executar uma chamada básica de AJAX, use o loadJSONDoc ou doSimpleXMLHttpRequest:

var request = doSimpleXMLHttpRequest('opcoes.php',
   { q : 'desenvolvedor web'}
);

Esta função retorna um objeto auxiliar, em que você pode fazer novas chamadas:

request.addCallbacks(mySuccessFunction, myErrorFunction);

Quando o XMLHttpRequest se executa, a função passada na chamada acima (mySuccessFunction) passa o objeto do XMLHttpRequest como o argumento:

function mySuccessFunction(req) {
 alert(req.responseText);
}

Os objetos auxiliares são úteis para a programação assíncrona e são uma grande idéia. Leia mais sobre o assunto, ou veja o screencast para mais detalhes.

Prós e contras

Primeiramente, a estrutura de log do Mochikit é excelente. Adicionar indicações simplesmente utilizando:

log("Bem melhor que o alert");
log("ERRO Esta coisa está quebrada");

O Mochikit faz uso também de características da programação funcional do Javascript para realçar e simplificar sua biblioteca API. Por exemplo, se você quiser classificar um grupo dos objetos por seus nomes de propriedades, você pode usar o keyComparator criar a função de classificação para você:

var sortedByName = people.sort(keyComparator("name"));

Há também a função counter. Ela cria uma função que retorna um valor que seja incrementado toda vez que for chamada:

var nextId = counter();
nextId(); //=> 1
nextId(); //=> 2
nextId(); //=> 3

Há também várias funções de iteração do estilo-Python, tais como forEach, map e filter.

Quanto a documentação, o Mochikit tem uma documentação boa da API, mas os detalhes em algumas partes muito básicas da biblioteca deixam a desejar. No detalhe, após ter lido toda a documentação, ter prestado atenção no screencast e ter escrito alguns scripts Mochikit, ainda sou incerto sobre qual a melhor versão da biblioteca para toda finalidade. Eu uso a versão compactada ou o Mochikit.js principal? Como posso carregar as partes individuais da biblioteca?

Entretanto, Mochikit tem uma lista de discussão que responde a estes tipos de perguntas.

Yahoo! UI

Yahoo! UI Library

A biblioteca Yahoo! UI (YUI, como é apelidada) foi desenvolvida pelo Yahoo! para o uso interno, mas teve seu código aberto recentemente junto com uma gama de recursos excelentes para desenvolvedores em developer.yahoo.com.

O YUI é mais uma coleção distinta de “utilidades” do que uma biblioteca (como as que foram tratadas aqui), com cinco scripts principais que tratam de:

  • animação
  • AJAX
  • manipulação DOM
  • drag-and-drop
  • tratamento de eventos

E há seis controles, chamados de:

  • Calendar
  • Slider
  • Menu
  • AutoComplete
  • Tree View
  • Container classes (com o qual você pode executar janelas no estilo de widgets)

Você pode fazer download de cada um destes scripts separadamente no site developer.yahoo.com.

Cada uma das bibliotecas do Yahoo! dependem somente do arquivo yahoo.js. Por outro lado, esta aproximação oferece uma experiência ligeiramente mais menos coerente para o desenvolvedor e poderia possivelmente introduzir uma determinada quantidade de repetição dentro das bibliotecas.

Uma coisa ineficaz sobre o YUI é o fato de que usa muito espaço inútil de strings. Cada chamada que você faz à biblioteca necessita ser prefixada com uma string do pacote:

var myAnim = new YAHOO.util.Anim(
 'test',
 { height: {to: 10} },
 1,
 YAHOO.util.Easing.easeOut
);
myAnim.animate();

O básico sobre YUI

A biblioteca de tratamento de eventos do YUI tem uma API muito familiar daquelas que são usadas nativamente no browser. Entretanto, tem algumas surpresas agradáveis que o desenvolvedor do Yahoo!, Dustin Diaz, explicou em detalhes neste site. Você pode adicionar um simples “ouvinte” como este:

YAHOO.util.event.addListener('object_id', 'click', callBackFunction);

Uma característica muito poderosa da biblioteca de eventos é seu chamado ouvintes de evento. Essencialmente, se você tentar unir um “ouvinte” a um elemento que não exista porque a página não carregou ainda, esperará essa página para tornar-se disponível antes de unir ao evento. Esta é uma solução que talvez confunda e frustre muitos novatos de DHTML.

A biblioteca de DOM resume as inconsistências do browser, permitindo o ajuste de estilos das propriedades do elemento. Entretanto, enquanto toma cuidado das tarefas comuns, existem algumas surpresas aqui:

  • get é versão da função $ no YUI.
  • Um método interessante é o generateId, que pode ser usado gerar IDs para elementos para que você possa rapidamente acessá-los em outros pontos do script.

O Gerenciador de Conexão contem toda a mágica do AJAX no YUI, e seguindo a linha das outras bibliotecas, escolhe não fazer exame de uma aproximação alto-nível. Não faz nada mais do que fornecer uma relação cross browser ao XMLHttpRequest:

YAHOO.util.Connect.asyncRequest(
 'GET',
 'http://www.yahoo.com',
 callback
);

Um destaque é a rica interface callback, que permite que você defina um objeto que envolva suas funções callback com alguma configuração extra. Veja um exemplo de objeto callback:

var callback = {
 success: function(resp) { alert('WOO!!'); }, // called on success
 failure: function(resp) { alert('BOO!'); }, // called on error
 argument: arguments, // user defined arguments
 scope: formController // scope the callbacks are called within
}

Prós e contras

A documentação fornecida pelo Yahoo! para a biblioteca é excelente. O site tem a documentação formal da API, vários exemplos, uma lista de discussão e algumas explicações breves das características principais de cada parte da biblioteca. O melhor lugar para verificar para ver se há artigos sobre YUI é no site de Dustin Diaz, desenvolvedor do Yahoo!.

Como eu citei acima, a implementação do controle de eventos é um dos atrativos do YUI. Entretanto, o restante da biblioteca, ao ser muito funcional, não contem tantas características inovadoras como no Mochikit, Dojo e Prototype, e por causa dos longos nomes de pacotes, desenvolver com o YUI se torna, às vezes, uma tarefa longa.

Contudo a lista crescente dos componentes é muito rica. Por exemplo, o componente de calendário (Calendar) suporta diversas línguas e múltiplas seleções da data, e as classes do Container dão-lhe o poder de implementar todos os tipos interface com janelas. Um ponto ruim de usar estes componentes é que tendem a ser muito dependente de outras bibliotecas; neste discurso, Dean Edwards destaca como exemplo o controle do treeview, que se usa em torno de 260 Kb do Javascript.

Conclusão: Qual a melhor?

Bem, uma resposta curta a esta pergunta é que não há nenhuma solução pronta que preencha todas as situações.

A biblioteca Prototype é a que possui uma documentação mais detalhada. É também a biblioteca mais difundida neste momento. Naturalmente, caminha para ser a escolha natural dos desenvolvedores Ruby porque abstrai várias características do Ruby on Rails. Outra coisa importante sobre o Prototype é que tem um peso dos Rails por trás e, em conseqüência, há muitos desenvolvedores que fornecem reparos e remendos do erro ao Prototype. Finalmente, oferece uma riqueza de bibliotecas adicionais tais como scriptaculous, Rico, e Behaviour que o faz uma boa e sólida escolha para muitos desenvolvedores.

Por outro lado, o Prototype tem um framework de tratamento de eventos em-desenvolvimento, que é o problema principal para uma biblioteca tão poderosa. Também – e esta é exclusivamente uma questão de gosto – a aproximação pragmática do Prototype às coisas (como o uso excessivo da propriedade do innerHTML) pode parecer um pouco “suja” às vezes.

Para projetos menores, a forma que foi projetada e seus componentes, fazem do YUI um grande atrativo. É muito fácil de excluir um Gerenciador de Conexão ou a biblioteca de Eventos e começar fazendo algumas tarefas básicas sem ter que atravessar uma curva de aprendizagem demasiada. No geral, contudo, não tem muito a oferecer nos termos de características poderosas.

O Dojo é definitivamente destaque deste grupo. E o foco do Dojo no desempenho é um fator absoluto se você estiver planeando uma aplicação com uso intensivo de Javascript. A implementação de widget tem também um potencial enorme para a construção de complexos UIs. Entretanto é realmente grande – ambos nos termos de tamanho de arquivo e do tamanho da API – assim eu não o recomendaria para projetos menores.

Na minha opinião, o Mochikit é muito bem projetado e o melhor dos quatro, e desenvolvedores do Python/Twisted/Nevow acharão sua API muito familiar. Entretanto, sua documentação é escassa em alguns lugares (por exemplo, eu ainda tenho dúvida a respeito de qual versão do Mochikit inserir no script). Também, algumas das técnicas funcionais que usa podem ser confusas para os novatos ou aqueles que não tem tanta prática em em técnicas de programação. Entretanto, vale a pena dar olha olhada. As funcionalidades do Mochikit provavelmente surpreenderão você – a função createDOM, as ferramentas da iteração e a arquitetura assíncrona são um trabalho de arte.
Fonte:cirofeitosa

10
Dez

Sede do google vista pelo maps.google.com

Como já devem ter reparado agora existe uma nova opção nos mapas do google, o street view que permite ao utilizador poder ver algumas cidades e ter uma visão “fotográfica” da rua ou localidade desejada.

Para experimentar este novo gadget do google nada melhor que ir até Mountain View e espreitar a sua sede.

Com uma boa resolução de imagem, como podem verificar no mapa abaixo:
http://tinyurl.com/5c6lhz

9
Dez

Twitter – Uma nova era..

Nos últimos tempos tenho notado uma crescente adesão ao twitter, na minha opinião acho que cada vez mais as pessoas estão a abandonar o conceito de Messenger e aderirem ao twitter é uma nova forma de partilhar ideias/novidades e dizer ao Mundo o que andam a fazer …

Uma das grandes vantagens é a sua API aberta que permite interligar o twitter com outras aplicações de uma forma fácil.

9
Dez

Ubuntu mais seguro

E numa altura em que tanto se falou sobre a necessidade ou não de anti-vírus no OS X da Apple, que tal certificarem-se que o vosso Ubuntu tem efectivamente as “portas” fechadas?

Se bem que as opções pré-definidas que são instaladas são suficientes para a maior parte dos utilizadores, se estão preocupados com a segurança do vosso computador nada como reverem estas opções.

Se mesmo assim ainda não se sentirem seguros, há mais alguns programas que podem instalar e que vos ajudarão a dormir descansados à noite.

Fonte:abertoatedemadrugada

9
Dez

PHP – Controlo de erros (Debug)

Analise dos logs enquanto se desenvolve

Um dos erros muito comuns no desenvolvimento em qualquer linguagem interpretada é não usarmos a totalidade das vantagens da análise de logs. No PHP para um uso mais eficiente do relatório de erros e avisos, a propriedade error_reporting, no ficheiro php.ini, deverá ser definida como E_ALL.

error_reporting  =  E_ALL

Para um desenvolvimento mais efectivo, desligo sempre a visualização de erros no “screen”, preferindo a análise dos mesmos no ficheiro de log. Para isso defino o display_errors como desligado.

display_errors = Off

Necessitamos ainda, de indicar ao PHP para efectuar o log dos erros para um ficheiro e indicar qual o caminho para o ficheiro onde desejamos gravar as mensagens de erro.

log_errors = On ; Desejamos gravar as mensagens em ficheiro

error_log = “/var/logs/php.log” ; Caminho para o ficheiro onde desejamos gravar as mensagens

Depois basta abrir uma consola onde estou a monitorizar toda a actividade do ficheiro de log do php.

tail -f /var/logs/php.log

Xdebug

A extensão XDebug para PHP permite efectuar profilling e debugging de uma forma muito simples, com funções como xdebug_memory_usage( ), que nos permite analisar o uso da memória do script currente, que também tem correspondente na versão nativa do php, memory_get_usage(), a função xdebug_call_class(), que permite saber em que class foi o método invocado, entre muitas outras.

A extensão XDebug proporciona uma melhoria na visualização de mensagens de erro, podendo-se observar o caminho de execução do script até ao momento em que aconteceu o erro, por exemplo.

Mais informações sobre a extensão na página da mesma.

9
Dez

CloneZilla – Faça um clone do seu disco rígido actual..

CloneZilla

CloneZilla é um software que corre em LiveCD e que permite efectuar backups e particionar discos rígidos.

Este é o software ideal para quem necessita de efectuar uma cópia de segurança do seu disco rígido ou para quem deseja criar uma rede onde deseja que vários computadores tenham o mesmo conteúdo.

O CloneZilla é opensource e suporta vários sistemas de ficheiros, entre eles o ext2, ext3, ntfs, fat, xfs e HFS+.

Fonte: WebTuga