Introduza o termo a pesquisar e clique Enter.

Quando Javascript não faz tudo

Jun 10 06

Escrito por Dextro @ 06/06/10 0:06 | Comentar »

…ou quando precisamos de esconder uma API Key dos visitantes e precisamos de criar um pequeno proxy para os nossos pedidos AJAX.

No meu caso precisava de esconder a minha API Key e consequentemente virei-me para o PHP (a linguagem com que estou mais familiarizado) para criar um pequeno proxy para os pedidos (depois veio a tornar-se ainda mais util ao permitir-me criar copias locais das imagens por exemplo).

Mas deixemos-nos de paleio, passemos ao código:


	// The url of the request
	$url = "http://some.host/api/endpoint/request"
	$cacheTimeout = 0 // No cache in this example

	// Create the curl resource
	$ch = curl_init();

	// Set the url in curl
	curl_setopt($ch, CURLOPT_URL, $url);

	// Tell curl to return the reply as a string
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

	// Make the request
	$output = curl_exec($ch);

	// Free the curl resource
	curl_close($ch);

	if (!$output) {
		echo "";
	}

	try {
		//Set the proper headers (there's no cache in this example btw)
		header('Cache-Control: no-cache, must-revalidate');
		header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $cacheTime) . ' GMT');
		header('Content-type: application/json');
		header('Content-Disposition: inline; filename=' . $file . '.json');

		// Process the XML and convert it to JSON. Then output it.
		$xml = new SimpleXMLElement($output);
		echo json_encode(new SimpleXMLElement($xml->asXML(), LIBXML_NOCDATA));
	} catch(Exception $e) {
		echo 'Caught exception: ' .  $e->getMessage() . '\n';
	}

E cá está o código que faz um pedido GET usando o CURL a um serviço que retorna XML. Como bónus o código ainda converte de XML para JSON que IMHO é um formato muito mais jeitosinho de se trabalhar.

Notem que a gestão de erros aqui é praticamente inexistente e que devem sempre limpar o input do utilizador antes de fazer o que quer que seja com ele (mas isso é o ABC de programação web e já todos sabem).

Dependência do Google

Mai 10 12

Escrito por Dextro @ 12/05/10 22:05 | 1 Comentário »

É engraçado o quão dependente a internet em geral se está a tornar do google. Acabei de experimentar um pequeno erro temporário na minha ligação à rede (coisa de 5min, nem tanto) em que deixei de conseguir aceder a todos os servidores da google que não o do serviço de pesquisas e consequentemente pude experimentar algo engraçado.

Para além de perder o acesso a coisas de que passei a depender como o GMail e afins notei outra coisa interessante:

  • A maioria dos sites passou a abrir lentamente por não conseguirem carregar o código do google analytics
  • Muitos outros sites abriram igualmente lentamente pois os vídeos do youtube que tinham incorporados não carregavam
  • Muitos dos links partilhados no facebook e twitter não abriam pois passavam primeiro pelo feedburner (da google lá está)
  • Alguns sites a usar coisas como o Google AJAX Libraries API passaram também a deixar de funcionar

Notem que isto foi só aquilo que notei em breves minutos sem acesso ao google… imaginem como seria uma falha mais prolongada no acesso. Assustador hum?

Lei de Murphy

Mai 10 12

Escrito por Dextro @ 12/05/10 1:05 | 5 Comentários »

A única justificação para a ultima hora surreal que me aconteceu só pode mesmo ser a infame Lei de Murphy, é que não há outra alternativa…

Mas deixem-me então contar-vos o que me sucedeu.

Estava eu muito bem no meu pc quando decidi tentar fazer o download da ultima versão do ubuntu para experimentar. Ao fazê-lo notei que a internet estava lentíssima (ou seja estava com 3mbps reais dos 30 contratados).

Numa fase inicial ainda pensei que fosse problema do meu ISP (e em parte é, mesmo agora só estou com 20 dos 30 contratados) porém comecei a investigar e, por via das duvidas, decidi reiniciar o router. Mal sabia eu no que me estava a meter.

Acedi á configuração do DD-WRT e cliquei na opção de reboot. Esperei, esperei, esperei e nunca mais voltava a ter acesso… Fui a olhar para o router e estava a luz do wireless a piscar… toca de fazer um reset no botão e quando volta acima estão todas as luzes ligadas. Tentei tudo o que sabia para o tentar recuperar e nada portanto decidi recorrer ao meu telemóvel para aceder à net via 3G para procurar uma solução.

Ao fazê-lo sou brindado com uma bela mensagem da Optimus a dizer que não tenho a internet activa… O telemóvel tinha de ser carregado até ao fim do dia de ontem e eu não tive tempo de o fazer porém isto nem é o mais estranho. O mais estranho é mesmo que eu podia jurar que o tinha carregado com 20€ ainda há menos de um mês (o que deveria chegar para 2 meses mas já lá vamos).

Ora toca então de ir procurar o router velho que estava perdido no armário para ter internet. Monta-se o router velho e acedo finalmente à internet. Uma breve pesquisa pelo google depois e o resultado é muito simples: o meu router é agora um tijolo! Tinha acabado de o ver dar o berro à minha frente e as únicas soluções são soldar um adaptador JTAG à motherboard ou manda-lo de volta à marca.

Resolvi então ir procurar a factura do router para ver se ainda está na garantia ou não mas não a encontrei (cheira-me que está no meio da papelada do IRS mas isso não consigo ir ver agora a esta hora).

“Tudo bem, então deixa-me cá ir ver a historia da Optimus” pensei eu para comigo mesmo. Acedo ao site da caixa geral de depósitos, ao seu belo serviço de home-banking que tanto adoro e sou brindado com uma bela mensagem de “Serviço Temporariamente Indisponível” sempre que tento ver os movimentos da conta. Lindo!

“Bem mas o site da Optimus também deve ter um histórico disso considerando as listas telefónicas que toda a gente se queixa de receber não?” pensei eu na minha ingenuidade e dirigi-me então para fazer login nesse site apenas para ser brindado novamente com uma bela mensagem de “Serviço Temporariamente Indisponível”… Original…

E já agora será que devo mencionar o facto de a porcaria do Windows 7 onde eu estou infelizmente a escrever este post ter decidido bloquear à grande (e forçar-me a reiniciar) enquanto eu escrevia este post?

Se eu podia ter uma noite sem problemas? Poder podia mas não era a mesma coisa…

EDIT: esta também é gira… já consegui aceder ao site da cgd mas diz-me que o pagamento de serviços está indisponivel até ás 1h30m… são neste momento 1h39m…

Digital: A Love Story

Mar 10 18

Escrito por Dextro @ 18/03/10 0:03 | 3 Comentários »

Digital: A Love StoryJoga-se em menos de meia hora sem exagero e no entanto é uma experiência nostálgica profundamente bem concebida (na minha modesta opinião). Falo de Digital: A Love Story, um pequeno jogo para Windows, Mac e Linux disponibilizado sob uma licença Creative Commons e que conta a historia de uma pessoa (o jogador) que entra numa BBS e descobre uma rapariga com quem se começa a corresponder.

O jogo envolve conspirações, BBSs, modems a ligar e toda uma panóplia de referencias aos primeiros computadores pessoais da década de 80, particularmente aos brilhantes Amiga.

Recomendo vivamente que percam uns minutos da vossa vida para jogar este jogo nem que seja apenas pela nostalgia de ouvir o modem a ligar. :)

Link: Digital: A Love Story

Coisas que eu uso nisso dos sites

Dez 09 13

Escrito por Dextro @ 13/12/09 23:12 | 1 Comentário »

Ou 25+ links úteis para web design.

Por nenhuma razão em especial achei que era uma ideia engraçada fazer uma pequena listagem de alguns sites que considero essenciais para o decorrer daquele que é o meu principal hobby e que eu não me importava nada que passasse a caminho profissional por muito suicida que dizer isso seja: Web Design/Development (ainda não percebi bem onde ando, algures no meio).

Desde javascript a css sem esquecer HTML5 e editores aqui vão algumas das ferramentas e recursos que eu pessoalmente gosto de usar para os meus projectos. Relembro que ao contrario de muito malta por ai eu não tenho um mac e tenho de me safar com Linux e Windows portanto não esperem encontrar aqui aplicações para mac.

E posto isto aqui vai a lista.

Continuar a ler esta entrada >>

Desktop Meme

Out 08 08

Escrito por Dextro @ 08/10/08 16:10 | 5 Comentários »

E pronto, o Silas já me lixou:

Desktop Meme
(Carrega na imagem para aumentar | 1024×768 PNG 110KB)

E cá vai a explicação do Meme: tirem uma screenshot ao vosso desktop tal como ele está agora. Não abram nem fechem janelas, simplesmente cliquem no Prt Scr e postem essa imagem no vosso blog.

PS: Mais uma vez é impressão minha ou estou a chegar tarde a este meme?

N81

Ago 08 01

Escrito por Dextro @ 01/08/08 20:08 | 5 Comentários »

Nokia N81 SDQue se lixem todos aqueles que andam por aí contentes com o iPhoney porque eu estou bem feliz por metade do preço. Já cá canta o meu Nokia N81 SD (como quem me segue no Twitter já deve ter notado) e estou bastante contente com o bicho.

Prós:

  • Nunca vi um S60 tão rápido e responsivo como este (então se compararmos com o N70 que eu tinha antes…)
  • É bonito. Não digam que não porque é bonito sim senhora (e para um Nokia isso já é extraordinario)
  • É excelente para jogar: as duas teclas junto ao auscultador têm-me feito as delicias a jogar no emulador de megadrive :P
  • Não preciso de usar o iTunes para encontrar os programas e não tenho de assinar um NDA se quiser fazer um programa meu.
  • Nunca pensei que ter Wi-Fi no movel fosse tão util… mas também nunca tinha tido Wi-Fi num n-gage.
  • As teclas multimédia são um espanto e o som é brutal também.
  • O Google Maps tem geo-referênciação por antena de telemovel neste modelo.

Contras:

  • A nova n-gage não é tão boa como a antiga: sim é porreiro comprar os jogos no móvel e fazer logo o download mas a oferta ainda é baixa e faltam os grandes hits como Worms, Pathway to Glory ou Sonic…
  • Atrai dedadas que é uma coisa parva.
  • A Navi-wheel é muito porreira mas é pouco usada no sistema.
  • O Share Online só suporta Flickr, Ovi e Vox.
  • A Opera ainda não lançou o novo Opera Mobile para S60.
  • A minha versão bloqueada á rede ainda não recebeu o firmware mais recente.
  • O ecrã não gosta muito de levar com luz do sol directa.
  • A camara é tão boa como a do N70 (ou seja tem 2 m3rd4pixeis).

E podia continuar por aqui fora mas prefiro ocupar esse tempo a reavivar o meu NGagePT.net e a “brincar” com o bicho novo.

Portefólio novamente

Jun 08 27

Escrito por Dextro @ 27/06/08 21:06 | 5 Comentários »

Há uns tempos atrás disse que andava a renovar o meu portefólio. Disse também que já funcionava e que só faltava colocar-lhe um layer Hijax por cima. Hoje achei que era um bom dia para o colocar “publico” mas só para os leitores aqui do estaminé uma vez que ainda não está pronto.

Portanto o meu novo portefólio pode para já ser encontrado em http://www.blog.nonsensebb.com/portfolio2/ mas ainda tem vários problemas como por exemplo:
 

  • O javascript não funciona nem pouco mais ou menos no Internet Explorer.
  • O CSS ainda não está correcto no Safari.
  • Ainda não testei em Opera mas numa breve vista de olhos pareceu-me funcionar.
  • Ainda só tem meia dúzia de efeitos simples, nada de pedidos assíncronos ou efeitos de mudança de página.

Portanto, e dito isto, cusquem e deixem aqui a vossa opinião (bem como bugs que encontrarem pelo caminho).