Introduza o termo a pesquisar e clique Enter.

Converter tabs para espaços

Jul 10 30

Escrito por Dextro @ 30/07/10 20:07 | Comentar »

Esta é uma dica para quem usa Linux (e provavelmente qualquer outro unix como o OS-X ou o BSD) e quer uma forma de limpar os ficheiros de código para usarem sempre espaços em vez de tabulação.

expand --tabs=x <ficheiro de entrada> > <ficheiro de saida>

Este simples comando vai converter todas as tabulações para x espaços.

Espero que este pedaço de informação vos seja tão útil a vocês como foi a mim ;)

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

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

Codebits 2009 – Pond, Arduinos, Konami Code, etc

Dez 09 07

Escrito por Dextro @ 07/12/09 16:12 | 1 Comentário »

Codebits 09

3 dias de workshops, apresentações, quiz show, concerto, conhecer muita gente nova e muita muita diversão (e pizza!) servem como um resumo perfeito para mais uma edição do Sapo Codebits a que eu não pude faltar.

Dia 1
Este ano a malta do Sapo realmente esmerou-se no pack de goodies do evento com uma bolsa para portátil (demasiado grande para o meu mas conta a intenção) recheada com um caderno, caneta, uma luz USB cortesia da Microsoft, uma bolsa da PT Inovação com escova e pasta de dentes, tampões para os ouvidos, mascara para dormir e meias, uma folhinha cheia de autocolantes catitas para qualquer geek que se prese enfeitar o seu portátil, um poster/folheto da Sapo Developers Network e as regras do evento.

Posto isto foi hora de arranjar um local para “acampar” pelo evento e encontrei o @igama e o @n0namedguy acabando por ficar no primeiro dia com eles numa mesa mesmo ao lado da malta da impressora 3D. Consegui falar com bastante gente com quem trabalhei na Caixa Mágica o ano passado bem como muitas outras caras conhecidas do evento do ano passado e do Twitter como o grande Mitch Altman e o seu TV-B-Gone.

EDIT: Faltou mencionar o facto de ter ajudado o @LuRsT a instalar Arch Linux no portatil logo no inicio do evento (algo que eu já não fazia há uns tempos).

Continuar a ler esta entrada >>

Por Dizer

Jun 08 20

Escrito por Dextro @ 20/06/08 22:06 | 3 Comentários »

Andei tão ausente que deixei tanta coisa por dizer nos últimos tempos. Eu até pensei várias vezes em posts aqui para o blog mas depois era estudar para um exame ou era a falta de vontade… A realidade é que deixei passar boas oportunidades para actualizar aqui o estaminé no entanto como gosto de andar sempre fora de modas vou fazer aqui um breve comentário às coisas que fui deixando de lado:
 

Continuar a ler esta entrada >>

Desabafo

Abr 08 24

Escrito por Dextro @ 24/04/08 17:04 | 3 Comentários »

Realmente tenho de admitir, no meu curso ensina-se mesmo muito bem os paradigmas do Java… Somos forçados a usar tantos mas tantos objectos diferentes para as mais ínfimas coisas durante os trabalhos que no fim já estamos mais perdidos do que os argumentistas do Lost durante as segunda e terceira seasons…

Era mesmo preciso num jogo ter um objecto para guardar as pontuações que está por sua vez indexado num mapa ao objecto que contém o nome do jogador num outro objecto completamente distinto?

CUSTAVA MUITO COLOCAR AS SACANAS DAS PONTUAÇÕES EM CADA UM DOS OBJECTOS JOGADORES?

Eu sou completamente a favor da programação por objectos, sou completamente a favor da reutilização de código e a sua sub-divisão em partes lógicas bem como muitas outras boas ideias mas eu sinto-me reduzido a escrever código que por vezes já nem quero saber o que faz! Eu não estou a programar, estou a montar legos que caibam no projecto montado na cabeça do professor!

GAHHHHHHHHHHHH!!!!!!!