Skip to content

Archive for Dezembro, 2008

30
Dez

A Informação..

“A difusão de infor­mação por meios alter­na­tivos está, cada vez mais, a gan­har ter­reno per­ante os meios main­stream. Por esta des­ig­nação de meios de comu­ni­cação main­stream estão abrangi­dos os meios comuns de difusão infor­ma­tiva, sendo eles os jor­nais, a rádio, a tele­visão e a internet.

Remon­tando um pouco às ori­gens da infor­mação, tudo começou com a neces­si­dade do Homem comu­nicar com os restantes seus semel­hantes já desde o aparec­i­mento da espé­cie. Em três pon­tos essen­ci­ais da evolução comu­nica­tiva, desta­camos a escrita na Gré­cia Antiga, o aparec­i­mento da Imprensa com Guten­berg no ano de 1455 e a Rev­olução Indus­trial nos mea­dos do século XVIII. Estas mudanças com­paráveis, isto é, de uma cres­cente gradação e interli­gadas entre si, ante­ced­eram às tipolo­gias mod­er­nas de comu­ni­cação a que assis­ti­mos hoje em dia.

con­tin­u­ação em: http://historiadordoinstante.blogs.sapo.pt/15274.html

24
Dez

A tecnologia a crise e o amor.

Com este post pre­tendo mostrar os dois lados da tecnologia

Uma das funções da tec­nolo­gia é tornar proces­sos man­u­ais em automáti­cos aumen­tando a rapi­dez de pro­dução e reduzindo os cus­tos ás empre­sas, mas já pen­saram na quan­ti­dade de pes­soas que se viram sub­sti­tuí­dos por máquinas e perderam o emprego. Pes­soas com uma car­reira profis­sional que levaram anos a desem­pen­har aque­las funções e de repente recebem uma cart­inha de des­ped­i­mento e vão para o fundo de desem­prego (se tiverem dire­ito.. ) e fica um com­puta­dor no seu lugar.. se repararem em muitos super­me­r­ca­dos estão a sub­sti­tuir as oper­ado­ras de caixa por máquinas.. (será que havia neces­si­dade??) cada máquina rep­re­senta menos 2 ou 3 empre­gos.. logo 2 ou 3 pes­soas que ficam sem din­heiro para con­sumir.. o excesso de máquinas está a aumen­tar e se isto con­tin­uar assim qual­quer dia deix­amos de ter empre­ga­dos de caixa.., segu­ranças, empre­ga­dos de loja.. etc…

A tec­nolo­gia é boa disso não tenho dúvi­das mas não deve­mos abusar.. senão cor­re­mos o risco de perder o ver­dadeiro sen­tido da vida.

É necessário que exis­tam empre­gos para as pes­soas poderem con­sumir e para as empre­sas se man­terem vivas, senão cor­re­mos o risco de que­brar o ciclo económico e sufo­car­mos..  sem poder de com­pra não con­sum­i­mos sem con­sumir as empre­sas vão a falência.

Mas como a tec­nolo­gia não tem só o lado (menos bom), já imag­i­naram com a facil­i­dade que podemos per­cor­rer o Mundo sem sair da cadeira, ape­nas com 1 com­puta­dor , um acesso a inter­net podemos vis­i­tar vários Países con­hecer, cos­tumes, cul­turas, falar com out­ras pes­soas .. Já imag­i­naram a vossa vida sem a tec­nolo­gia.. (então imag­inem por uns breves momentos..)

Agora reparem na quan­ti­dade de pes­soas que já con­hece­ram através da tec­nolo­gia, a quan­ti­dade de namoros.. / casa­men­tos em que a tec­nolo­gia foi a vossa arma, sec­reta ponto de par­tida.. graças a tec­nolo­gia podem comu­nicar a toda a hora.. sms, chats .. sem bar­reiras, dis­tân­cias , medos etc..

Como podem ver a tec­nolo­gia está sem­pre pre­sente.. até nas vos­sas relações..

revisão por: vanes­saqui­te­rio

Inspi­rado em: Bruno , Vanessa

o meu obrigado!

23
Dez

MAC VS PC

MAC VS PC

Fonte:web­tuga

18
Dez

FireFox 3.0.5 — Grátis novidades

Dia 16 de Dezem­bro saiu uma nova ver­são do Fire­Fox a 3.0.5

Trans­fira Já – Grátis

O que há de novo no Firefox 3.0.5

O Fire­fox 3.0.5 con­tém as seguintes actualizações:

  • Resolvido vários prob­le­mas de segu­rança.
  • Resolvi­dos vários prob­le­mas de estabilidade.
  • Lança­men­tos ofi­ci­ais dos idiomas Ben­gali, Esperanto, Gali­cian, Hindi, e Lat­vian já disponíveis.
  • Sub­sti­tuído o Acordo de Licença de Uti­lizador Final por uma nova barra de info “Con­heça os seus dire­itos” na insta­lação inicial.
  • Ao insta­lar vários XPI assi­na­dos em simultâ­neo, as ver­sões ante­ri­ores do Fire­fox falham.
  • Resolvi­dos vários prob­le­mas encon­tra­dos com a imple­men­tação de acessibilidades.
  • Adi­cionada a habil­i­dade de enviar notas especí­fi­cas do SO no crash reporter.
16
Dez

Bibliotecas JavaScript

Mochikit

Mochikit

O Mochikit é o filho caçula de Bob Ippolito (o par­tic­i­pante prin­ci­pal) e está disponível no site do Mochikit. O pacote prin­ci­pal tem aprox­i­mada­mente 90 Kb (com­pactado), mas você pode carregá-lo em módu­los sep­a­ra­dos. A bib­lioteca tam­bém é dis­tribuída com a ver­são do frame­work do Python para web, chamada de Tur­bo­Gears.

Nas palavras do Bob:

Nós anal­isamos todas as idéias que poderíamos encon­trar apartir da nossa exper­iên­cia com Python e foram adap­tadas ao mundo louco do JavaScript”

Assim, em uma visão macro, o Mochikit extrai algu­mas fun­cional­i­dades do Python para sua API. Se você é famil­iar com o Python, você terá um apren­dizado ime­di­ato com o Mochikit, emb­ora tenha uma API sim­ples que seja razoavel­mente fácil de uti­lizar. De todas as bib­liote­cas ressaltadas neste artigo, a API do Mochikit trans­mite ser a mais “preparada”.

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

  1. Assi­s­tir ao screen­cast do Bob.
  2. Começar uti­lizando o inter­pre­ta­dor inter­a­tivo exce­lente do Mochikit. Esta é uma boa maneira de enten­der a bib­lioteca e ter uma com­preen­são básica de como Mochikit trabalha.

O básico sobre Mochikit

Ao tra­bal­har 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éto­dos W3C DOM rel­e­vantes para os nós da árvore equiv­a­lentes 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 sin­taxe do HTML!

O módulo do Mochikit.DOM con­tem tam­bém out­ros méto­dos para a manip­u­lação fácil do DOM, tal como o método do swap­DOM men­cionado acima e toHTML (que con­verte um nó de DOM ao HTML que representa).

Assim como na manip­u­lação de even­tos, o Mochikit foi pro­je­tado para que seja imple­men­tado no módulo de Mochikit.Signal. Foi baseado em torno do con­ceito de conec­tar um ouvinte a um sinal que fosse emi­tido por um objeto. Todos os even­tos reg­u­lares do DOM são sinais, mas você pode criar seus próprios tam­bém. O método conec­tar faz todo o tra­balho 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 obje­tos enviar sinais com o método do sinal:

signal(anObject, 'a_signal');

O mate­r­ial de AJAX é segu­rado pelo módulo Mochit.Async, e pelos obje­tos aux­il­iares que se encon­tram no núcleo de sua imple­men­tação. Para exe­cu­tar uma chamada básica de AJAX, use o load­J­SON­Doc ou doSim­pleXML­HttpRe­quest:

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

Esta função retorna um objeto aux­il­iar, em que você pode fazer novas chamadas:

request.addCallbacks(mySuccessFunction, myErrorFunction);

Quando o XML­HttpRe­quest se exe­cuta, a função pas­sada na chamada acima (mySuc­cess­Func­tion) passa o objeto do XML­HttpRe­quest como o argumento:

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

Os obje­tos aux­il­iares são úteis para a pro­gra­mação assín­crona e são uma grande idéia. Leia mais sobre o assunto, ou veja o screen­cast para mais detalhes.

Prós e contras

Primeira­mente, a estru­tura de log do Mochikit é exce­lente. Adi­cionar indi­cações sim­ples­mente utilizando:

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

O Mochikit faz uso tam­bém de car­ac­terís­ti­cas da pro­gra­mação fun­cional do Javascript para realçar e sim­pli­ficar sua bib­lioteca API. Por exem­plo, se você quiser clas­si­ficar um grupo dos obje­tos por seus nomes de pro­priedades, você pode usar o key­Compara­tor criar a função de clas­si­fi­cação para você:

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

Há tam­bém a função counter. Ela cria uma função que retorna um valor que seja incre­men­tado toda vez que for chamada:

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

Há tam­bém várias funções de iter­ação do estilo-Python, tais como forE­ach, map e fil­ter.

Quanto a doc­u­men­tação, o Mochikit tem uma doc­u­men­tação boa da API, mas os detal­hes em algu­mas partes muito bási­cas da bib­lioteca deixam a dese­jar. No detalhe, após ter lido toda a doc­u­men­tação, ter prestado atenção no screen­cast e ter escrito alguns scripts Mochikit, ainda sou incerto sobre qual a mel­hor ver­são da bib­lioteca para toda final­i­dade. Eu uso a ver­são com­pactada ou o Mochikit.js prin­ci­pal? Como posso car­regar as partes indi­vid­u­ais da biblioteca?

Entre­tanto, Mochikit tem uma lista de dis­cussão que responde a estes tipos de perguntas.

Yahoo! UI

Yahoo! UI Library

A bib­lioteca Yahoo! UI (YUI, como é apel­i­dada) foi desen­volvida pelo Yahoo! para o uso interno, mas teve seu código aberto recen­te­mente junto com uma gama de recur­sos exce­lentes para desen­volve­dores em developer.yahoo.com.

O YUI é mais uma coleção dis­tinta de “util­i­dades” do que uma bib­lioteca (como as que foram tratadas aqui), com cinco scripts prin­ci­pais que tratam de:

  • ani­mação
  • AJAX
  • manip­u­lação DOM
  • drag-and-drop
  • trata­mento de eventos

E há seis con­troles, chama­dos de:

  • Cal­en­dar
  • Slider
  • Menu
  • Auto­Com­plete
  • Tree View
  • Con­tainer classes (com o qual você pode exe­cu­tar janelas no estilo de widgets)

Você pode fazer down­load de cada um destes scripts sep­a­rada­mente no site developer.yahoo.com.

Cada uma das bib­liote­cas do Yahoo! depen­dem somente do arquivo yahoo.js. Por outro lado, esta aprox­i­mação ofer­ece uma exper­iên­cia ligeira­mente mais menos coer­ente para o desen­volve­dor e pode­ria pos­sivel­mente intro­duzir uma deter­mi­nada quan­ti­dade de repetição den­tro das bibliotecas.

Uma coisa inefi­caz sobre o YUI é o fato de que usa muito espaço inútil de strings. Cada chamada que você faz à bib­lioteca neces­sita ser pre­fix­ada 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 bib­lioteca de trata­mento de even­tos do YUI tem uma API muito famil­iar daque­las que são usadas nati­va­mente no browser. Entre­tanto, tem algu­mas sur­pre­sas agradáveis que o desen­volve­dor do Yahoo!, Dustin Diaz, expli­cou em detal­hes neste site. Você pode adi­cionar um sim­ples “ouvinte” como este:

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

Uma car­ac­terís­tica muito poderosa da bib­lioteca de even­tos é seu chamado ouvintes de evento. Essen­cial­mente, se você ten­tar unir um “ouvinte” a um ele­mento que não exista porque a página não car­regou ainda, esper­ará essa página para tornar-se disponível antes de unir ao evento. Esta é uma solução que talvez con­funda e frus­tre muitos novatos de DHTML.

A bib­lioteca de DOM resume as incon­sistên­cias do browser, per­mitindo o ajuste de esti­los das pro­priedades do ele­mento. Entre­tanto, enquanto toma cuidado das tare­fas comuns, exis­tem algu­mas sur­pre­sas aqui:

  • get é ver­são da função $ no YUI.
  • Um método inter­es­sante é o gen­er­ateId, que pode ser usado gerar IDs para ele­men­tos para que você possa rap­i­da­mente acessá-los em out­ros pon­tos do script.

O Geren­ci­ador de Conexão con­tem toda a mág­ica do AJAX no YUI, e seguindo a linha das out­ras bib­liote­cas, escolhe não fazer exame de uma aprox­i­mação alto-nível. Não faz nada mais do que fornecer uma relação cross browser ao XML­HttpRe­quest:

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

Um destaque é a rica inter­face call­back, que per­mite que você defina um objeto que envolva suas funções call­back com alguma con­fig­u­ração extra. Veja um exem­plo de objeto call­back:

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 doc­u­men­tação fornecida pelo Yahoo! para a bib­lioteca é exce­lente. O site tem a doc­u­men­tação for­mal da API, vários exem­p­los, uma lista de dis­cussão e algu­mas expli­cações breves das car­ac­terís­ti­cas prin­ci­pais de cada parte da bib­lioteca. O mel­hor lugar para ver­i­ficar para ver se há arti­gos sobre YUI é no site de Dustin Diaz, desen­volve­dor do Yahoo!.

Como eu citei acima, a imple­men­tação do con­t­role de even­tos é um dos atra­tivos do YUI. Entre­tanto, o restante da bib­lioteca, ao ser muito fun­cional, não con­tem tan­tas car­ac­terís­ti­cas ino­vado­ras como no Mochikit, Dojo e Pro­to­type, e por causa dos lon­gos nomes de pacotes, desen­volver com o YUI se torna, às vezes, uma tarefa longa.

Con­tudo a lista cres­cente dos com­po­nentes é muito rica. Por exem­plo, o com­po­nente de cal­endário (Cal­en­dar) suporta diver­sas lín­guas e múlti­plas seleções da data, e as classes do Con­tainer dão-lhe o poder de imple­men­tar todos os tipos inter­face com janelas. Um ponto ruim de usar estes com­po­nentes é que ten­dem a ser muito depen­dente de out­ras bib­liote­cas; neste dis­curso, Dean Edwards destaca como exem­plo o con­t­role do tree­view, que se usa em torno de 260 Kb do Javascript.

Con­clusão: Qual a melhor?

Bem, uma resposta curta a esta per­gunta é que não há nen­huma solução pronta que preen­cha todas as situações.

A bib­lioteca Pro­to­type é a que pos­sui uma doc­u­men­tação mais detal­hada. É tam­bém a bib­lioteca mais difun­dida neste momento. Nat­u­ral­mente, cam­inha para ser a escolha nat­ural dos desen­volve­dores Ruby porque abstrai várias car­ac­terís­ti­cas do Ruby on Rails. Outra coisa impor­tante sobre o Pro­to­type é que tem um peso dos Rails por trás e, em con­se­qüên­cia, há muitos desen­volve­dores que fornecem reparos e remen­dos do erro ao Pro­to­type. Final­mente, ofer­ece uma riqueza de bib­liote­cas adi­cionais tais como scrip­tac­u­lous, Rico, e Behav­iour que o faz uma boa e sól­ida escolha para muitos desenvolvedores.

Por outro lado, o Pro­to­type tem um frame­work de trata­mento de even­tos em-desenvolvimento, que é o prob­lema prin­ci­pal para uma bib­lioteca tão poderosa. Tam­bém – e esta é exclu­si­va­mente uma questão de gosto – a aprox­i­mação prag­mática do Pro­to­type às coisas (como o uso exces­sivo da pro­priedade do inner­HTML) pode pare­cer um pouco “suja” às vezes.

Para pro­je­tos menores, a forma que foi pro­je­tada e seus com­po­nentes, fazem do YUI um grande atra­tivo. É muito fácil de excluir um Geren­ci­ador de Conexão ou a bib­lioteca de Even­tos e começar fazendo algu­mas tare­fas bási­cas sem ter que atrav­es­sar uma curva de apren­diza­gem demasi­ada. No geral, con­tudo, não tem muito a ofer­e­cer nos ter­mos de car­ac­terís­ti­cas poderosas.

O Dojo é defin­i­ti­va­mente destaque deste grupo. E o foco do Dojo no desem­penho é um fator abso­luto se você estiver plane­ando uma apli­cação com uso inten­sivo de Javascript. A imple­men­tação de wid­get tem tam­bém um poten­cial enorme para a con­strução de com­plexos UIs. Entre­tanto é real­mente grande – ambos nos ter­mos de tamanho de arquivo e do tamanho da API – assim eu não o recomen­daria para pro­je­tos menores.

Na minha opinião, o Mochikit é muito bem pro­je­tado e o mel­hor dos qua­tro, e desen­volve­dores do Python/Twisted/Nevow acharão sua API muito famil­iar. Entre­tanto, sua doc­u­men­tação é escassa em alguns lugares (por exem­plo, eu ainda tenho dúvida a respeito de qual ver­são do Mochikit inserir no script). Tam­bém, algu­mas das téc­ni­cas fun­cionais que usa podem ser con­fusas para os novatos ou aque­les que não tem tanta prática em em téc­ni­cas de pro­gra­mação. Entre­tanto, vale a pena dar olha olhada. As fun­cional­i­dades do Mochikit provavel­mente sur­preen­derão você – a função cre­ate­DOM, as fer­ra­men­tas da iter­ação e a arquite­tura assín­crona são um tra­balho de arte.
Fonte:ciro­feitosa

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 per­mite ao uti­lizador poder ver algu­mas cidades e ter uma visão “fotográ­fica” da rua ou local­i­dade desejada.

Para exper­i­men­tar este novo gad­get do google nada mel­hor que ir até Moun­tain View e espre­itar a sua sede.

Com uma boa res­olução de imagem, como podem ver­i­ficar no mapa abaixo:
http://tinyurl.com/5c6lhz

9
Dez

Twitter — Uma nova era..

Nos últi­mos tem­pos tenho notado uma cres­cente adesão ao twit­ter, na minha opinião acho que cada vez mais as pes­soas estão a aban­donar o con­ceito de Mes­sen­ger e aderirem ao twit­ter é uma nova forma de par­til­har ideias/novidades e dizer ao Mundo o que andam a fazer …

Uma das grandes van­ta­gens é a sua API aberta que per­mite interli­gar o twit­ter com out­ras apli­cações de uma forma fácil.

9
Dez

Ubuntu mais seguro

E numa altura em que tanto se falou sobre a neces­si­dade ou não de anti-vírus no OS X da Apple, que tal certificarem-se que o vosso Ubuntu tem efec­ti­va­mente as “por­tas” fechadas?

Se bem que as opções pré-definidas que são insta­l­adas são sufi­cientes para a maior parte dos uti­lizadores, se estão pre­ocu­pa­dos com a segu­rança do vosso com­puta­dor nada como reverem estas opções.

Se mesmo assim ainda não se sen­tirem seguros, há mais alguns pro­gra­mas que podem insta­lar e que vos aju­darão a dormir des­cansa­dos à noite.

Fonte:aber­toat­ede­madru­gada

9
Dez

PHP — Controlo de erros (Debug)

Analise dos logs enquanto se desenvolve

Um dos erros muito comuns no desen­volvi­mento em qual­quer lin­guagem inter­pre­tada é não usar­mos a total­i­dade das van­ta­gens da análise de logs. No PHP para um uso mais efi­ciente do relatório de erros e avi­sos, a pro­priedade error_reporting, no ficheiro php.ini, dev­erá ser definida como E_ALL.

error_reporting  =  E_ALL

Para um desen­volvi­mento mais efec­tivo, desligo sem­pre a visu­al­iza­ção de erros no “screen”, preferindo a análise dos mes­mos no ficheiro de log. Para isso defino o display_errors como desligado.

display_errors = Off

Neces­si­ta­mos ainda, de indicar ao PHP para efec­tuar o log dos erros para um ficheiro e indicar qual o cam­inho para o ficheiro onde dese­jamos gravar as men­sagens de erro.

log_errors = On ; Dese­jamos gravar as men­sagens em ficheiro

error_log = “/var/logs/php.log” ; Cam­inho para o ficheiro onde dese­jamos gravar as mensagens

Depois basta abrir uma con­sola onde estou a mon­i­tor­izar toda a activi­dade do ficheiro de log do php.

tail –f /var/logs/php.log

Xde­bug

A exten­são XDe­bug para PHP per­mite efec­tuar pro­fill­ing e debug­ging de uma forma muito sim­ples, com funções como xdebug_memory_usage( ), que nos per­mite anal­isar o uso da memória do script cur­rente, que tam­bém tem cor­re­spon­dente na ver­são nativa do php, memory_get_usage(), a função xdebug_call_class(), que per­mite saber em que class foi o método invo­cado, entre muitas outras.

A exten­são XDe­bug pro­por­ciona uma mel­ho­ria na visu­al­iza­ção de men­sagens de erro, podendo-se obser­var o cam­inho de exe­cução do script até ao momento em que acon­te­ceu o erro, por exemplo.

Mais infor­mações sobre a exten­são na página da mesma.

9
Dez

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

CloneZilla

CloneZilla é um soft­ware que corre em LiveCD e que per­mite efec­tuar back­ups e par­ti­cionar dis­cos rígidos.

Este é o soft­ware ideal para quem neces­sita de efec­tuar uma cópia de segu­rança do seu disco rígido ou para quem deseja criar uma rede onde deseja que vários com­puta­dores ten­ham o mesmo conteúdo.

O CloneZilla é open­source e suporta vários sis­temas de ficheiros, entre eles o ext2, ext3, ntfs, fat, xfs e HFS+.

Fonte: Web­Tuga

Bad Behavior has blocked 58 access attempts in the last 7 days.