Introduza o termo a pesquisar e clique Enter.

TV Wall

Jun 10 26

Escrito por Dextro @ 26/06/10 3:06 | 4 Comentários »

Paleta de Cores do TV WallHá coisa de um mês atrás estava eu ligeiramente aborrecido e com vontade de fazer algo criativo mas sem grandes ideias. Não sei muito bem como mas veio-me à cabeça uma única ideia marada de tentar preparar um design com rectângulos. Não sabia para que é que iam servir os rectângulos nem sequer muito bem o aspecto que queria que a coisa tivesse, só sabia mesmo que tinha de ter rectângulos espalhados por todo o lado e atirei-me ao editor de imagem.

O primeiro passo foi escolher umas cores. É engraçado como a cor castanha, que em tempos praticamente declarei como a minha maior inimiga, se tornou ultimamente numa autentica constante em todos os designs que faço. Um sinal da minha evolução nesta arte suponho.

Escolhidas as cores comecei a brincar com vários tipos de conjugações mas faltava sempre uma razão de ser para aquilo. O que iam conter aqueles quadrados? A resposta veio mais tarde quando decidi colocar em dia as minhas séries ao descobrir que o MyTVShows do Ivo estava novamente em baixo: os quadrados vão ter séries!

E assim surgiu o TV Wall: uma “parede” virtual onde se pode colocar as nossas series favoritas. No inicio a ideia era só isto: não havia cá episódios, nem sequer sinopses, apenas as séries e umas imagens bonitas mas o salto para algo mais completo e funcional era fácil de fazer e a API do TheTVDB estava mesmo ali à mão de semear com virtualmente tudo o que é preciso.

TV Wall - Mockup TV Wall - Mockup de janela modal TV Wall TV Wall - Single

 
Tinha então uma ideia e o aspecto da mesma, duas partes já por si complicadas, mas faltava coloca-la em prática e acima de tudo saber como o fazer. Em que linguagens? Em que meio? Para mim a resposta foi simples: Javascript, HTML e CSS. Andava já há uns bons 3 anos a prometer a mim mesmo que ia aprender mais de Javascript e esta foi uma oportunidade de ouro para o fazer.

Meti mãos ao trabalho e comecei a desenvolver código javascript para tornar isto funcional. Pelo caminho fui aprendendo a fazer pedidos AJAX, a converter de XML para JSON usando php e até como executar código assíncrono em php. No futuro ainda tenho planeado usar o Local Storage e o Session Storage que vieram com o HTML5 para guardar informações, um interface catita para telemóveis com touchscreen e ligação ao MyTVShows para poder marcar episódios como vistos.

PHP pode parecer uma opção estranha no meio disto tudo mas tem uma razão muito simples: não tenho dinheiro actualmente para um VPS onde montar algo mais catita como Rhyno e CouchDB mas está planeado para um futuro próximo se possível bem como uma forma de tornar isto em algo ainda mais útil do que possam imaginar. Esta ultima porém é uma ideia que pode demorar ainda muito tempo (e dinheiro) a realizar, considerem-se no entanto teased.

Para já fica aqui a minha versão alpha do TV Wall com o código praticamente colado com fita-cola, as engrenagens a funcionarem à base de doses volumosas de WD40 e a exigir Webkit ou Firefox 3.5 (ou superior). Notem no entanto que tenho andado a testar só em Firefox devido ao belo do Firebug que muita dificuldade tenho em largar porém façam favor de me avisar de todos os problemas que encontrem nos comentários deste artigo ou via Twitter. Aguardo com expectativa as vossas opiniões.

Link: TV Wall

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

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…

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.

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.

Jogos, Jogos e mais Jogos

Fev 10 27

Escrito por Dextro @ 27/02/10 3:02 | 3 Comentários »

Batman: Arkham Asylum

Batman: Arkham Asylum

Eu vinha aqui aproveitar para deixar a mensagem que um grande jogão está com uma promoção brutal e acabei por descobrir que neste fim de semana as promoções são mais que muitas e curiosamente nenhuma delas é no Steam! Como tal vou deixar aqui as minhas dicas:

Batman: Arkham Asylum

Este que foi o Jogo do Ano de 2009 em várias publicações estava na minha lista de jogos a adquirir desde a data de lançamento e agora não pude resistir mais quando vi que pode ser obtido por 12,50€ no Games For Windows Live. Claro que se não gostarem do serviço podem sempre ir ali ao lado à Gamersgate busca-lo por 19,95€ por isso não há grandes razões para deixarem perder esta oportunidade.
 

Torchlight

Torchlight

Torchlight

Lembram-se de eu ter falado aqui do Torchlight? Pois bem esse também está com um preço muito semelhante este fim de semana no Direct2Drive por 12,95€. Não é um negócio tão bom como o Batman:AA visto que eu comprei o meu por pouco mais de 3€ numa promoção do Steam mas não deixa de ser um preço razoável.
 
 

World of Goo, Machinarium, Hearts of Iron 2, etc…

Mas há mais negócios giros por ai.

World of Goo

World of Goo

Com tudo isto o único problema é mesmo a falta de dinheiro. É que a brincar a brincar ainda se somam aqui uns bons euros em jogatanas mas com preços destes só não compra bons jogos quem não quer (ou não tem ligação à net).

Treme Treme

Dez 09 17

Escrito por Dextro @ 17/12/09 3:12 | 2 Comentários »

Lisboa, 17 de Dezembro de 2009, 1:37 da madrugada. É a esta hora que se fez sentir um sismo de intensidade 5.7 na escala de Richter em Portugal continental.

Eu devo dizer que quando começou achei que o comando da XBox que estava a segurar na altura estava com um Force Feedback bem mais forte do habitual… Claro que não demorou muito até eu notar que afinal não era o comando que estava a tremer mas sim a cadeira onde eu estava sentado bem como os moveis do quarto, algo que me levou a levantar bastante rapidamente e a enfiar-me debaixo da ombreira da porta… Querem o quê? Eu sou um covarde é o que é.

De resto a grande noticia da noite nem se pode dizer que seja o terramoto (que se fez sentir e de que maneira dos Algarves até ao Porto pelo que me dizem) mas sim o facto de os “old media” terem demorado até ás 2 da manhã para dar a noticia (tanto quanto sei foi a SIC Noticias a dar uma pequena nota no seu jornal das 2 da manhã). Em contrapartida no twitter foram precisos cerca de 15minutos para se saber os dados do mesmo via USGC e EMSC-CSEM. Outro facto curioso é que desde o momento 0 até à hora deste post o site do nosso instituto português de meteorologia esteve totalmente de rastos pela carga colocada sobre o mesmo. Acredito que fizesse sentido reforçar um pouco a capacidade informática do instituto para ser mais fácil informar os cidadãos em situações como estas. Um publico informado é um publico mais compreensivo para os esforços das autoridades e por muito optimista que seja esperar que a Internet (e a electricidade) continuem a funcionar num caso de sismo não deixa de ser relevante.

Convite para o Pond

Dez 09 07

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

Pond, Charco:
s. m.

  1. Poça extensa, mas não profunda, de água estagnada e suja.
  2. Pego, atoleiro (em sent. fig.).

É também o nome de um dos mais recentes serviços da malta do Sapo, um serviço que agrega várias redes sociais como twitter, facebook ou flickr num sitio só.

Como alguns já devem ter reparado o meu projecto do codebits deste ano envolveu um cliente desktop para o serviço e como tal é do meu maior interesse que as pessoas tenham acesso ao mesmo e como tal venho aqui oferecer um convite todinho para a primeira pessoa a responder a este post com um comentário a pedi-lo.

EDIT: E o convite já foi entregue.