Introduza o termo a pesquisar e clique Enter.

Tag: software

O meu top de jogos 2011

Dez 11 27

Escrito por Luis Nabais @ 27/12/11 22:12 | 2 Comentários »

Agora que estamos na ultima semana do ano e que as promoções natalícias estão aí a dar-nos cabo da carteira achei que seria uma boa altura para olhar para trás e escolher aqueles que foram os jogos que mais gosto me deram jogar e que saíram este ano.

Infelizmente não me foi possível jogar tudo o que queria este ano e de foram tiveram de ficar candidatos inquestionáveis como Deus Ex, Uncharted 3 ou Skyrim mas o tempo e o dinheiro são finitos infelizmente e há que fazer a festa com o que se tem.

Tirando esse pequeno problema vamos lá ver a lista que mesmo assim não deixa de ser relativamente catita (na minha modesta opinião).

Continuar a ler esta entrada >>

JSON/HTML/XML – Qual devolver?

Nov 10 16

Escrito por Luis Nabais @ 16/11/10 21:11 | 2 Comentários »

Bem este post vai servir não só como uma forma rápida de apanhar algumas opiniões como também para ficar com uma nota para mim próprio sobre esta ideia.

Para o meu TV Wall estou a tentar ir o mais longe possível no juntar da API da aplicação com o que efectivamente é visível para os utilizadores e parte disso passa por tentar ter praticamente o mesmo esquema de URLs tanto para o browser como para a API utilizada pelos mais diversos clientes (quer seja a própria aplicação web em javascript ou outra qualquer hipotética aplicação nativa). Isto faz com que os endereços se tornem por exemplo em algo como /show/house para aceder, neste caso, à pagina associada à série House.

Agora o desafio: como fazer o mesmo endereço devolver HTML para um browser mas JSON (ou XML ou qualquer outro formato de dados) para uma aplicação? A minha resposta passa pelos cabeçalhos HTTP, mais concretamente pelo cabeçalho ACCEPT que ao anunciar que aceita um determinado tipo de dados permite-me devolver-lhe esse tipo em particular deixando o HTML normal para fallback.

Claro que eu posso já começar a ver os problemas associados a esta abordagem: e se surgir um browser que manda um cabeçalho a dizer aceitar application/json quando o que o utilizador quer mesmo receber é a versão HTML? E se um cliente enviar no cabeçalho que aceita tanto JSON como XML? Qual dos dois devolver? Sim, isto são tudo questões muito validas e é por isso mesmo que coloquei esta entrada no meu blog. Opiniões?

One small step for me

Nov 10 09

Escrito por Luis Nabais @ 09/11/10 21:11 | 1 Comentário »

TVWall Code Bem isto realmente pode não parecer muito emocionante e até excessivamente lento para a maioria mas a minha vida tem andado tão caótica ultimamente que mesmo este pequeno avanço me deixa bastante entusiasmado.

Como certamente sabem tenho andado a brincar com um pequeno website cujo único factor particularmente distinguível é, perdoem-me a modéstia, o design. Agora este post serve apenas para dizer que dei hoje finalmente os primeiros passos para o rewrite que tenho andado a planear e que deve finalmente tornar a aplicação utilizável no dia a dia.

Ficou finalmente funcional a primeira chamada da futura API do TV Wall (sim, vai existir uma API) e apesar de ainda faltarem alguns detalhes (como por exemplo uma forma de autenticação) é já uma conquista para mim conseguir ter posto a funcionar um pedido a um serviço externo e respectiva cache local em CouchDB.

Com isto tenho vindo a habituar-me ao conceito de programação por eventos o que leva a casos curiosos em que passo um bom bocado a tentar perceber porque é que este código não funciona apesar de ao inspeccionar o objecto o método ser claramente visível.

if (db.table.exists()){}

A resposta é simples quando se começa a compreender a linguagem (se bem que um pouco de documentação teria ajudado neste caso): o método é assíncrono pois vai questionar uma base de dados externa logo a forma correcta de o fazer é deixando um callback que vai ser chamado quando ela responder.

db.table.exists(callback = function(result) {
    if (result) {
        // Exists
    } else {
        // Does not exist
    }
});

Como podem ver isto não é propriamente das coisas mais simples de se usar para programação mais convencional em que estamos dependentes do resultado mas para programar na web onde temos de responder a múltiplos pedidos simultaneamente e estamos dependentes dos mais diversos pontos de latência este tipo de lógica trás teoricamente vantagens interessantes para a performance do sistema.

Node.js não é propriamente simples e está bastante longe de estar maduro mas promete bastante na minha modesta opinião e acho que é uma boa aposta para o futuro próximo da web.

PS: acho que é a primeira vez que mostro aqui o novo logótipo do TV Wall. O que acham?

Backups do servidor via Dropbox

Set 10 02

Escrito por Luis Nabais @ 02/09/10 18:09 | 7 Comentários »

Um pequeno blog pessoal e meia dúzia de projectos pessoais podem não ser os dados mais importantes do mundo mas não deixa de fazer sentido manter backups regulares. Se isto não é problema para quem contrata um serviço completo de alojamento onde é costume serem feitos backups regulares passa a ser para malta como eu que prefere aventurar-se sozinho num VPS.

Então tive uma ideia (e claramente não fui o primeiro): porque não usar uma conta gratuita no Dropbox como espaço off-site para os backups? (btw este link dá 256mb de bónus a quem o usar para se inscrever)

Posto isto meti mãos à obra.

Continuar a ler esta entrada >>

Os misteriosos 3px em css

Ago 10 14

Escrito por Luis Nabais @ 14/08/10 23:08 | Sem Comentários »

Eu tenho andado a trabalhar em correcções e melhorias do código HTML/CSS do meu TV Wall já há uns tempos para me permitir fazer coisas ainda mais awesome (como drag & drop por exemplo) mas noutro dia deparei-me com um comportamento curioso da renderização de css que me demorou algum tempo até compreender o seu porquê (e na verdade ainda só tenho uma teoria não comprovada).

O problema em questão é o seguinte. Notem a imagem seguinte:

Isto é a típica composição de uma “parede” no TV Wall. Cada um dos rectângulos na imagem é uma célula contida em caixas maiores marcadas a castanho e possuindo cada uma destas ultimas display: inline-block;. Esta organização é uma necessidade por forma a permitir não só que os tamanhos das células sejam variáveis como também para as organizar nas diversas formas pretendidas e ainda para permitir que a parede cresça consistentemente em vez de crescer até ao limite da largura antes de passar para a linha de baixo.

O problema coloca-se com a pequena linha a branco que podem ver na imagem. Cada uma das caixas a castanho é suposto possuir 40em de largura e não possuir qualquer margin ou padding (por questões de consistência que auxiliam nas operações que planeio fazer em javascript) no entanto na realidade todas as caixas possuíam uma “margem” invisível de 3px à sua direita.

Na realidade isto não é nenhuma margin ou padding mas sim uma propriedade chamada de letter-spacing que por defeito no Firefox e no Chrome possui o valor de, lá está, 3px! Porém não consegui corrigir o problema alterando esta propriedade no antecessor das minhas caixas, simplesmente ficava tudo na mesma. A solução passa por algo infinitamente mais simples: colocar cada uma das caixas com float:left; display: block; e presto, os 3px desaparecem e a previsibilidade regressa.

O facto do letter-spacing ser a causa desta situação é apenas uma conclusão a que cheguei visto estar a usar inline-block em vez de um simples block + float como devia ter feito desde o inicio efectivamente complicando a minha situação. Fica no entanto o aviso para outros que possam estar a encontrar o mesmo problema e já agora se eu me tiver enganado na minha conclusão façam favor de me avisar.

Off-Topic

Mar 10 15

Escrito por Luis Nabais @ 15/03/10 14:03 | Sem Comentários »

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.

Coisas que eu uso nisso dos sites

Dez 09 13

Escrito por Luis Nabais @ 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 >>

27

Dez 08 12

Escrito por Luis Nabais @ 12/12/08 22:12 | 2 Comentários »

Eu tinha prometido a mim mesmo que nunca mais faria posts sobre actualizações da versão do WordPress mas desta preciso de a fazer por uma razão muito simples: preciso que vocês, os meus leitores, me avisem se algo não funcionar.

Tudo isto porque actualizei o meu wordpress para a versão 2.7 e não tenho a certeza que esteja tudo a funcionar.

PS: a razão porque prometi deixar de fazer posts destes foi a mesma pela qual não tenho a versão do wordpress no footer: é mais dificil encontrar exploits quando não se sabe o código que corre por trás. E sim, sei que ainda me falta tirar dos headers.

pub: