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?

Instant CSI

Abr 10 16

Escrito por Dextro @ 16/04/10 0:04 | 3 Comentários »

Hoje passei-me dos carretos e para desanuviar do estado de trabalho constante em que tenho estado há praticamente um mês decidi, como disse no twitter, fazer algo criativo.

O resultado foi meter-me a brincar com a tag audio do HTML5, umas funções engraçadas de CSS3 e polvilhar tudo com Javascript. Deixar marinar e o resultado que sai é a minha versão da famosa entrada do CSI Miami.

Podem encontrar o meu Instant CSI em www.nonsensebb.com/csi/, utilizadores do Internet Explorer não precisam de passar por lá visto que o browser não suporta literalmente nenhuma das funcionalidades que precisei. Talvez se tiver paciência um dia destes tento meter a funcionar no IE8… ou então não.

PS: existe um pequeno bug no Google Chrome que faz com que o som só funcione bem na primeira vez que se clica na imagem. Eu não faço ideia porquê é que isto acontece visto que nos outros browsers funciona bem consequentemente deve ser bug do browser.

Estou a dar em doido

Mar 10 29

Escrito por Dextro @ 29/03/10 1:03 | 1 Comentário »

Estou seriamente a dar em doido com trabalho. Ora vejamos o que ainda tenho para acabar nos próximos 15 dias:

  • Um trabalho complicado da universidade
  • Dois sites para terceiros
  • Umas alterações para o site da Junitec

Depois, sem tanta prioridade tenho:

  • Mockups para o interface do Future Waitress
  • O redesign e actualização do software do TekPT (que estão parcialmente feitos e na gaveta há meses)

E por fim há as ideias que tenho e que nunca tenho tempo de meter em marcha:

  • Um pequeno site inspirado no Bro Code e que devia estar feito em 3 tempos
  • Uma ideia para um blog temático, potencialmente em inglês para atingir uma maior audiência e cuja ideia está na gaveta há mais de um ano.

Dava-me mesmo um jeitão conseguir livrar-me daqueles prioritários no inicio porque são os que tenho mesmo de fazer e para os quais não tenho grande vontade… *sigh*

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

Off-Topic

Mar 10 15

Escrito por Dextro @ 15/03/10 14:03 | Comentar »

Uma coisa que me deixa a pensar já há algum tempo são os chamados off-topics nos fóruns de discussão online. Não é tanto o facto de existirem e nem sequer é o facto de muitas pessoas acharem que são indesejados mas sim o facto de praticamente todas as conversas que eu tenho no mundo real acabarem por desaguar em múltiplos off-topics pelo caminho.

É engraçado que numa conversa saudável entre amigos habitualmente fala-se de coisas tão dispares como memorias de infância, politica, futebol, musica, cinema, etc. e no entanto nas estruturas inflexíveis dos fóruns é comum conversas serem fechadas por moderadores devido ao já infame off-topic. Serei o único a achar que é normal e um sinal de uma conversa saudável entre os participantes quando uma conversa toma subitamente um rumo distinto do inicial?

É algo que me deixa com a pulga na orelha já há muito tempo e, tendo de administrar alguns fóruns ao longo dos anos, consigo também compreender perfeitamente as campanhas por parte daqueles nessas posições de evitar esse tipo de desvios do assunto. É que se o off-topic for demasiado pronunciado o titulo da conversa deixa de fazer sentido e potenciais novos intervenientes podem sentir excessiva dificuldade em juntar-se à discussão.

Se calhar os softwares que gerem esses tipos de fóruns podiam ter uma opção para o moderador marcar os posts como off-topic criando uma espécie de árvore de conversação em vez das tradicionais soluções de apagar entradas, bloquear a conversa ou dividir a conversa em duas.

Algo deste estilo:
Off-Topic Thread Example

Eu bem sei que isto já é mais ou menos possível com os softwares actuais mas eu pessoalmente não gosto nada da chamada “Threaded View” e não considero que isso sirva para o que eu expliquei aqui.

De qualquer forma isto é apenas um desabafado e nada mais. :)

PS: Já disse aqui que o Balsamiq Mockups é muito catita? Não? Bem, fica dito então. Só é pena é o preço ser caro demais para a minha carteira.

Junitec

Fev 10 14

Escrito por Dextro @ 14/02/10 22:02 | 1 Comentário »

Bem aqui vai um post que já anda na forja há bastante tempo mas que nunca cheguei a fazer.

Há uns tempos atrás (já há mais de meio ano até!) um amigo meu de longa data e finalista do curso de Electrotecnia do I.S.T. abordou-me para o ajudar e a uns colegas com o website de uma Junior Empresa que estavam em processo de reactivar. Essa associação dá pelo nome de Junitec e tem como proposito pegar em alunos daquela universidade, ajuda-los a tornarem reais as ideias que têm e dai partirem para empresas que comprem a ideia ou, mais importante ainda, a formarem a sua própria startup para darem vida aos seus projectos.

Uma coisa levou à outra e para além de fazer o website acabei por entrar para a Junitec como membro honorário. Desde então tenho ajudado como gestor de um dos projectos bem como dado uso aos meus dotes de web dude para arranjar um pouco de dinheiro para estes nobres objectivos (off-topic: já agora se alguém por ai andar com vontade de financiar investigação há umas ideias giras lá naquela malta).

Tudo isto para dizer que na passada 4ª feira foi o jantar para comemorar o 20º aniversario da Junitec (fotos do mesmo no facebook) num belo restaurante no Carmo em que ficámos particularmente bem servidos, especialmente tendo em conta a modesta quantia que pagámos. Por 13,50€ tivemos bebida à descrição (Sangria, Cerveja, Coca-Cola, etc…) e os pratos não só tinham muito bom aspecto como sabiam igualmente bem (eu pelo menos não me queixo dos meus panados de peru com esparregado). O restaurante é o Lábios de Mosto na Rua da Oliveira ao Carmo em Lisboa e fica desde já recomendado (é uma rua atrás da Cervejaria Trindade e que acaba no Largo do Carmo), eu próprio ei de lá voltar em breve.

EDIT: antes que me dêem na cabeça fica o disclaimer. Eu não sou responsável pelo uso da font Impact em certos locais do site, eu fui até bastante vocal em oposição ao seu uso.

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 >>