Archive for Janeiro, 2008

Casa-Ribeira-Casa

Mudanças, Porto, Portugês, Vícios 2 Comments »

Estou orgulhoso de mim. Há duas semanas atrás, no meu aniversário a minha namorada deu-me uma bicicleta. A minha primeira bicicleta de adulto. Já não andava numa coisa daquelas praí desde os meus 4 ou 5 aninhos.

Desde que a tenho, tenho andado todos os dias, a tentar recuparar a forma, isto de se ser estudante e programador não faz nada bem à barriguinha.

Hoje resolvi fazer um percurso mais longo que o habitual: desde a minha casa, na Cruz de Pau em Matosinhos, até à Ribeira no Porto, pela marginal, e voltar a Matosinhos. Um percurso com um total de cerca de 23km.

Foz

Farol da foz

Ribeira

A minha miúda e a ponte D. Luís

Share

James

English, Vícios, YouTube No Comments »

Is it April 7 yet?

[kml_flashembed movie="http://www.youtube.com/v/nCgp0GHlxxw" width="425" height="350" wmode="transparent" /]

I’ve missed them…

They’re my favourite band of all time. Their lead singer, Tim Booth, lend me my screen name. And they’re about to release their new album. I can’t wait to hear it.

Last year they played hear in Portugal at Sudoeste Festival, however I was unable to attend it. I really hope they come back this year…

This video is from the DVD “Getting away with it… Live”, from their last tour pre-breakup. I just love that bit were Tim stops the music because the feedback was ruining the moment for him. And the fans loved him for that.

They’re brilliant. They made me love music. And I can’t wait to see and hear them again.

Share

Hello!

Blog, Curiosidades, English, Gadgets, Telemóveis No Comments »

The first post written directly from my mobile phone. Nice.

Share

Interview for a programming job

English, Programação 6 Comments »

As one might notice by the links in my blog, Jeff Atwood’s Coding Horror is one of my regulars. I have recently read two of his posts concerning job interviews for programmers. In the first one Jeff talks about simple programming problems used by some companies to filter their candidates.
He quotes two authors that had previously written about the subject.

I was incredulous when I read this observation from Reginald Braithwaite:

Like me, the author is having trouble with the fact that 199 out of 200 applicants for every programming job can’t write code at all. I repeat: they can’t write any code whatsoever.

The author he’s referring to is Imran, who is evidently turning away lots of programmers who can’t write a simple program:

After a fair bit of trial and error I’ve discovered that people who struggle to code don’t just struggle on big problems, or even smallish problems (i.e. write a implementation of a linked list). They struggle with tiny problems.

So I set out to develop questions that can identify this kind of developer and came up with a class of questions I call “FizzBuzz Questions” named after a game children often play (or are made to play) in schools in the UK. An example of a Fizz-Buzz question is the following:

Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

Most good programmers should be able to write out on paper a program which does this in a under a couple of minutes. Want to know something scary? The majority of comp sci graduates can’t. I’ve also seen self-proclaimed senior programmers take more than 10-15 minutes to write a solution.

The second post is about the phone screening process. He quotes another author who claims there are five critical subjects in wich to analyze the applicants:

In an effort to make life simpler for phone screeners, I’ve put together this list of Five Essential Questions that you need to ask during an SDE screen. They won’t guarantee that your candidate will be great, but they will help eliminate a huge number of candidates who are slipping through our process today.

1) Coding. The candidate has to write some simple code, with correct syntax, in C, C++, or Java.

2) OO design. The candidate has to define basic OO concepts, and come up with classes to model a simple problem.

3) Scripting and regexes. The candidate has to describe how to find the phone numbers in 50,000 HTML pages.

4) Data structures. The candidate has to demonstrate basic knowledge of the most common data structures.

5) Bits and bytes. The candidate has to answer simple questions about bits, bytes, and binary numbers.

Please understand: what I’m looking for here is a total vacuum in one of these areas. It’s OK if they struggle a little and then figure it out. It’s OK if they need some minor hints or prompting. I don’t mind if they’re rusty or slow. What you’re looking for is candidates who are utterly clueless, or horribly confused, about the area in question.

Further in the post, he writes some examples of what he is talking about, I vividly recomend you to go and see them.
All of this seriously scared me. Altough I’m still a young inexpirienced programmer, some of those problems I could not solve in little time. I would probably not even pass the phone screening phase. I ask: Is this hard screening process standart for all those programming job openings or the standarts in our market are lower than that? Altough in an ideal world all programming jobs would be done by good programmers, I don’t see 90% of all programmers able to pass that interview…

Note: From now on, all (well, most of it) tech-related posts will be written in english, trying to maximize the audience that way.

Share

O meu cabelo

Curiosidades, Mudanças 1 Comment »

Para onde é que ele foi?

Share

Friends

Humor, Vícios 3 Comments »

Could it BE anymore funny?

Share

EDC: Every day carry.

Curiosidades, Gadgets No Comments »

Inspirado por este rapaz, apeteceu-me mostrar aquilo que me anda nos bolsos todos os dias:

Aqui está. Simples: Um leitor de mp3 TrekStor, de 1 GB, extra-leve (julgo que não chega a 50 gr.), o meu novo bicho, uma uni-ball eye micro preta, um Moleskine de papel quadriculado, e, fora desta foto no meu porta chaves (que é uma fita da FEUP) uma pen drive de 1Gb. E é isto. Nada de anormal.

O que é que costuma andar nos vossos bolsos?

Share

Benfica 0 0 Leixões

Futebol, Leixões No Comments »

Comecei a escrever este post com uma série de insultos iguais a tantos outros que já li hoje à noite à equipa do Benfica mas não vou mentir: não vi o jogo. Tentei, mas o stream por onde estava a tentar ver estava muito sobrecarregado e os jogadores passavam de uma baliza para a outra em apenas dois frames de imagem. Por isso não posso avaliar aquilo que foi o jogo em si. Apenas posso falar sobre aquilo que vi e li.

Primeiro: podiam existir quatrocentos foras-de-jogos mal marcados ao Nuno Gomes e mesmo assim o Benfica não tinha merecido golo. Apesar disso o golo é limpo e mal anulado (verifiquei pelas repetições), apesar de ser uma decisão difícil. A decisão de retirar o penalty é, na minha opinião acertada, a infracção é fora da grande área.

Num jogo equilibrado, embora por uma medida baixa, a balança penderia para o lado Leixonense. A equipa mostrou coragem, força e determinação contra um adversário bem superior,  em teoria, pelo menos. Mostrou que não merece estar tão afundado na tabela classificativa mas, ao mesmo tempo, reforçou a imagem de inconstância de uma equipa capaz de empatar com o Benfica ou o Sporting e, na jornada seguinte, perder com a Naval em casa.

Apesar de tudo estou contente com a vitória do meu Leixões. Não está a fazer o campeonato seguro que todos nós desejávamos, mas consegue aqui e ali fazer brilhantes exibições (como contra o Braga em casa, vitória por 3 0).

Quanto ao Benfica, com tantas questões alheias ao futebol a intervir na equipa, não é de estranhar que o futebol seja muito pouco. A equipa não tem o talento anunciado no início do campeonato e Camacho parece ter desaprendido aquilo que sabia, ou, que me fez crer que sabia na sua passagem anterior pela equipa da luz. Esse foi para mim provavelmente o melhor Benfica dos últimos 15 anos que teve o azar de contrariar o melhor Porto de sempre.

A não ser por um milagre, e eles eventualmente acontecem, o campeonato está entregue ao Porto, que, apesar de não mostrar a clarividência e brilhantismo a que nos habituou, consegue a estabilidade e alguns rasgos de excelente futebol que falta aos rivais.

Aos clubes de Lisboa resta-lhes a consolação do segundo lugar, se algum deles o conseguir manter, já que parecem, na verdade, estar a competir pelo lugar de pior equipa do campeonato.

Share

Testar: é importante.

Programação No Comments »

Em relação a este post: hoje de tarde, enquanto practicava um pouco de Assembly, pedi para me testarem um simples programa. Aparentemente, o caracter ‘b’ é par*. Muito atenta ao que eu escrevo linda, muito bem.

Touché.

*Explicação: o programa recebia um carácter, fazendo a sua conversão para dword. Ao receber a letra ‘b’, converteu-a para o seu código ascii, 66, que ,obviamente, é par. Na realidade previ esta hipótese, mas como era um programa tão simples, apenas para me relembrar as instruções básicas de Assembly, decidi ignorar.

Share

My new baby

Telemóveis 1 Comment »

Este é o meu novo menino.

O velhinho já não aguentava os quilómetros que eu precisava que tivesse, apesar de ser ainda jovem. Admito que quando o comprei no ano passado talvez me tenha precipitado. Queria um modelo barato mas acabei de levar com um de menor qualidade. Não fiquei com boa impressão da Motorola com este modelo.

Obviamente que, tendo este novo Samsung há menos de um dia não posso tecer ainda grandes análises sobre o bicho. Apenas aquilo que salta à primeira vista: óptimo design, leve, pequeno mas com ecrã de boa qualidade (200k cores). As funções que lhe merecem destaque são agora comuns à grande maioria dos modelos: 3G, Bluetooth, Leitor de mp3, câmara fotográfica de 1.3 Mpixeis e de filmar, acesso à internet e suporte a java.

Para já estou feliz com ele. Não é nada de especial, mas foi um dos melhores que consegui encontrar com este orçamento. Havia a opção de um K1 pelo mesmo preço, mas como já disse, a Motorola não me traz boas recordações. Acabei por escolher este modelo em vez de um Sharp 770 por ter maior duração de bateria em Stand-By.

Share

Mobile Readers

Gadgets 1 Comment »

Amazon KindleConfesso-me: antes de saber da existência aqui deste rapaz ao lado, há uns meses atrás, sentia-me um visionário a imaginar tal dispositivo. Um leitor portátil de e-books. Infelizmente já não fui a tempo de registar a patente, o que é pena, a esta hora estava rico.

Neste site pode encontrar-se uma análise completa aos aparelhos mais vendidos no mercado de segunda geração (que utilizam e-ink).

A primeira coisa que salta a vista é o fraco design da grande maioria dos modelos. Numa época em que designs tão inovadores como o Ipod aquando do seu lançamento, insistentemente copiado por modelos mais baratos, estes leitores remam contra a maré. Talvez tenha sido uma opção dos fabricantes apostar na usabilidade em vez do design mas essa é uma aposta sempre perdida.

Aspectos à parte, todos os leitores têm practicamente as mesmas dimensões, justificadas pela necessidade de um visor confortável.

Os modelos da HanLin e da Sony mostram vantagens em relação aos seus rivais pois apresentam visores SVGA, o que facilita, por exemplo, a leitura de comics, enquanto que os outros apenas podem apresentar os documentos em tons de cinzento.

O kindle da Amazon tem a sua grande vantagem no pequeno teclado QWERTY integrado que facilita as anotações e pesquisas nos documentos, ao contrário dos outros modelos.

E-ink é uma tecnologia recente e talvez a grande falha é o tempo de refresh do visor. Todos os modelos apresentam quase 1 segundo de refresh.

O tempo médio de boot dos aparelhos é de cerca de 17 segundos, à excepção do PRS-500 da Sony, que leva mais de 1 minuto a ligar, sem qualquer razão para tal demora, este é o grande downside deste modelo.

Curioso notar que todos os aparelhos funcionam com OS Linux, aparentemente os grandes das IT’s como a Microsoft e a Apple mantiveram-se ao largo.

Todos apresentam memória interna com possibilidade de expansão através de cartões de memória.

O modelo da StarEBook é o único que apenas consegue ler dois formatos de ficheiros, todos os outros são capazes de reproduzir uma grande variedade de formatos, incluindo PDF.

Os preços variam entre os $300 e $600, ainda bastante caros para o tipo de aparelho, considerando que hoje conseguimos comprar um leitor de Mp3 por menos de 30€.

São poucas as informações sobre distribuição destes produtos na Europa, o único site oficial que apresenta os preços também em Euros é o da Bookeen.

Se é verdade que muita gente gostava de poder andar com uma coisa destas no bolso, também é verdade que os Mobile Readers têm muito para andar para conseguir penetrar no mercado internacional.

Share

O utilizador será sempre burro.

YouTube 1 Comment »

[kml_flashembed movie="http://www.youtube.com/v/iaR4uFOTnzA" width="425" height="350" wmode="transparent" /]

Tudo bem, o título é um pouco excessivo, quiçá insultuoso, mas a ideia está lá. É preciso educar o utilizador. É preciso dificultar-lhe a vida porque um utilizador arranja sempre maneira de crashar o software. É dever do programador tornar isso difícil.

À primeira vista, pode parecer uma verdade de La Palice, mas nem sempre os programadores têm o cuidado de tornar as suas aplicações user-proof. Tudo o que pode correr mal, eventualmente vai acabar por correr mal a não ser que sejam tomadas medidas contra isso

Exemplo simples e fácil é limitar os inputs, isto é, se a aplicação pede para se introduzir um número inteiro, o utilizador, de alguma forma, acaba por introduzir “14342r3”, ou, “um”. Obviamente se estes casos não estiverem prevenidos no código, um óptimo programa pode ir por água abaixo.

O FNF ensinou-nos isto na primeira aula de programação, e a minha experiência profissional ainda não o conseguiu desmentir.

Em conclusão: o utilizador é burro; nós, programadores, temos de ser mais.

Share

return of the living dead, The

Blog No Comments »

Qual zombie este blog volta à actividade, quase um ano depois de ser criado e, também abandonado. O que hei-de fazer mais? Estudar para os exames? Yeah, right.

Share