Alcides Fonseca

40.197958, -8.408312

When there is no deadline

When you’re working on side-projects, you don’t really have deadlines. You may fake them, but you don’t have clients expecting them by a certain date, and your reputation won’t be damaged if you miss it. What makes me finish my personal projects is the fun I get by doing them. As long as I’m learning new things, I spend my free time on them. But if for some reason, it gets boring, I usually abandon it even if I like the idea. That’s what happened with movio, i wasn’t learning anything new and gave up.

Back in my computer engineering degree, I was used to work on the projects until the last couple of hours when I would start the report (and that was what would give us most of the grade, but the project had to work). Now I have two weeks to write a 4 page report that will give me half of the grade of this course. This is the kind of task that might fit designers, but really messes with my engineering preparation.

I am used to complain about not having time enough for my projects, but now I have too much time and that is a problem. If we are given two weeks, means they are expecting a really good essay. On the other hand, four pages is something you write quickly (if you think of what to fit in four pages, not writing everything and then resuming it).

And even if I am one of those people who get started right away, it’s hard to start on this one, since I know I have really plenty of time to do it later, and I can do more interesting stuff like writing this post.

Casual Programming

One of the nice things about new years is that people blog about their favorite music from the previous year. One of those best of’s was Michal Migurski’s. And he made available all the songs as a mp3 download.

I could have just clicked on the playlist link, but I wanted to download each mp3 and I didn’t want to click on every single link. With my background as a programmer, I feel morally obligated to automate that task. I downloaded the m3u playlist (which is just a text file with a mp3 url per line), opened the Python interpreter and wrote the following 3 lines.

I could have done the same in ruby, scala, perl or simply bash, but the elegance of those lines is simple enough for me. (There’s a curl-based alternative by Sofia, if you don’t have wget)

I expect this kind of automation to be available to everyone out there in a couple of years. Mac OS has tried to do this for a long time, either making applications scriptable with AppleScript, or creating workflows like this example with Automator in a more visual way.

Unfortunately the only people I see using this are Programmers and PowerUsers. The latter tend to just copy snippets and follow tutorials. I don’t believe the current environment allows them to be creative and start from scratch. I really hope this to change some time soon.

I put my faith on projects like Microsoft’s Kodu where they try to make kids program not in a geek computer-language way, but rather in a creative and visual approach. And the interaction is so simple, it can all be done using an xbox controller. I believe this kind of experiences (just like the ones I had playing with Legos for full days) will enable you to start from scratch with just some building blocks, and end up with something useful. I’m not saying this will work with everyone (just like there were people who couldn’t program a VCR, and there are people who cannot install software) but the ones that are curious enough, that will get them a step ahead.

Applying Game Mechanics to Software

One of the things I love about studying Computer Engineering (and now Interaction Design) is that you get to learn how people think when they are interacting with machines. I’ve written about how you should design your application workflows to be fun and how social networks behave like games in which you strive to increase your points (being tweets, followers, friends, pictures, videos).

Today I watched a Google Tech Talk by Amy Jo Kim exactly on the relationship between the social media and games, and how they can learn from each other.

Even if you’re into social media, but you care about designing engaging applications and experiences, you should definitely watch it too.

Max

If Handbrake is the best solution to encode videos on the mac, MAX is the solution for audio files.

It supports a lot of formats, including CDs, detects album info, and offers solutions for the album art. The only problems I found are some issues with the GUI and Spaces, both drawers being overlapped, and the workflow being a bit weird.

I wanted to convert some FLAC files to ALAC (Apple Lossless) to add them to iTunes without losing quality. Here are the steps you need to do such kind of conversion:

1. Open Max
2. File > Convert Files and select your files
3. Max > Preferences > Formats, select Apple MPEG-4 Audio (YMMV), the + button, select lossless and, if you want, VBR.
3. Max > Preferences > iTunes > Add output files to iTunes Library
4. Select all files > Tools > Download Album Art
5. Convert (And you will find the results in ~/Music)

As you can see, this is not a linear workflow, but the result works. If I find the time, I might contribute to this project solving that problem.

The Net

On my series of revivals of tv shows from when I was a kid, I watched The Net, a show based on the homonymous movie, with Sandra Bullock being replaced by Brooke Langton (an improvement in my opinion). Oh, and forget about The Net 2.0.

Angela Bennet receives an email she should have, and the praetorians1 change her identity to a criminal and start to pursuit her. Her life turns upside down, and she tries to find her father and take that cyber-terrorist organization down.

The series is pretty good for that time, and makes people more aware of how much of their live is exposed on the internet and does it in a way that is not too geeky, but tries to give that impression (pretty much like in today’s movies). It also features an awesome cast that we can now find in SG, CSI, Life, Heroes, BSG, SuperNatural, SGU and even Mr. The Rock has a special role.

1 Which was my last-longing nickname, back when those things were used on the net.

Backup scenario at 2009-12-25

Macbook

I use my macbook for personal, school and some work stuff, I consider it my most important machine, and it contains a lot of important files to me, including all the archive of projects I’ve done in the past1. I rely on Time Machine to do daily backups of my hard drive (and that can be restored in a couple of hours). I also do weekly/monthly backups to my Desktop and my Network Drive.

VPS

I own a VPS that runs all of my websites. It has a cron script every day that backups to disk the mysql databases, and it backups the important folders every week. Then I rsync it to my macbook and it’s replicated the same way.

Email

I rely on Google to save my email. All my email accounts go to my gmail account, even my alcidesfonseca.com email. So there is always a copy on the original server, and another in Gmail.

Cloud “stuff”

Twitter, Delicious, Flickr, Google Reader OPML, Contacts, etc… I like to have a backup copy in my hard drive every month. I have some scripts for some, for others I just go to the website and download it. If your delicious account is as important for you as it is for me, you should also download it.

1 I’ve lost my archives from the pre-2005 years, and I know the pain it has given me. Your past projects are really important for you as a programmer.

Test your backups

One interesting thing I learnt from Phil Haack and Jeff Atwood ‘s VPS being ruined, is that you should test your backups, not just perform them.

According to my current backup plan, I’ve tested the TimeMachine backup, by formatting my macbook (clean install) a couple of times, and getting all my files back. When ma.gnolia went offline I was also satisfied with the backup I had at the time.

But when it comes to services, it is more complicated. My VPS was having some issues with the RAM reaching the maximum (and I only had a couple of django, sinatra and rails websites). I decided to reformat it in order to clean all the trash and try to identify the problem if not solved.

Starting to download my daily backups, I found there was no space on disk on the machine, and I had to delete my backups in order to backup it up (weird I know). I ended up using rsync to copy the machine and to restore the ~/sites folder back again. In between I managed to delete my ~/admin folder in which all the configurations to apache, nginx and a couple more utilities lived. Thankfully I had a pretty good convention for VirtualHosts and managed to bring all of them back up.

Right now everything seems to be running fine, and I only lost 1 day of uptime, which is not a big deal for the websites I host1. The major headache I came across was to install all the requirements for each of the projects I’m hosting. For python-based projects, I maintain a requirements.txt that pip reads and installs automatically, but I feel like there should be something like that in the rubygems world. Or maybe I’m missing something.

1 Looking back, I regret having done the format&restore in Portugal, since in Sweden I would have transferred the files much, much faster.

Portugal vs Sweden: Education

Hopefully, this will the the first of a series of posts about my experience in Erasmus, living in Göteborg, Sweden and Studying Interaction Design in Chalmers.

When I chose Chalmers for my Erasmus Programme, one of the most important factors was the classes being given in English. When I first went there, I was amazed by how many Chinese, Indian and Iranian people were there. It deserves to be called an International University, not like the one I’m enrolled in. Classes on the Master level are given in English (and I’d say only around 40% of the students are Swedish) and even Swedish students have to present and write their reports/exams in English. And I would say this is quite important in their professional role1.

Another reason why there are a lot of foreign students is the price of the university: It’s free2! (even the materials you need for your projects) And it gets better: Swedish students get a scholarship of around 300 euros (covers the rent) or they can get the double, but the second half is a loan they will have to pay when they’re done with their studies. And swedes, when they’re done with high school, they leave home and start to live on their own (something that only happens in Portugal when you’re done with all your studies). So almost everyone lives on a student residence (like me) or seldom on their own apartments.

Classes are organized in a different way: You have two quarters per semester, in which you have two courses each. I find this much better than having 5 subjects all at once (and weekly assignments for each). And two days per week for each course makes theory and practice much more connected and allows fullday workshops. And of the 14 days of classes we have, there are 2 or 3 that are guest lectures/workshops. These play an important role, since they are mostly given by people connected to the industry and give us another perspective on the subject. I really wish there were more of these in Portugal.

To provide feedback to teachers, there are around 4 class representatives (I was once) that have 4 meetings during the quarter in which they give input to improve the quality of the course. I would say these are not that important since teachers are accessible to any student, but it’s a nice thing to have.

Finally regarding evaluation, the first weeks are to learn how to do things in mandatory labs, but the grade is decided on a final project/exam/essay (or a mix of them) in the last couple of weeks of the quarter. Makes some sense that you first learn, then you are evaluated, but since you only have two courses at a time, they could evaluate more ofter and distribute the grade over the quarter.

In Chalmers I am graded from 1 to 5, but in Göteborg University they are graded Non-Pass, Pass or Pass with Distinction, which makes it less competitive and should make it harder for employers to distinguish students (Do they look at your grades?). I am still worried on how will my grades be in the up to 20 scale.

1 And some of my colleagues mocked me when I chose to present in English on a communication skills course in Portugal.

2 But I’m paying in Portugal to have the same education they have for free.

Monster

When I started to watch anime again and asked for something at the level of Death Note, Fernando recommended me Monster.

The first 4 or 5 episodes made no sense to me, but I kept on going and it turned out to be an awesome story, with a lot of side-stories that merge into the main one, and in the end, those first four episodes make total sense and are required to understand the late ones. The 74 episodes make just one storyline, not like most animes out there, and it includes a lot of characters. Most of these characters happen to die a lot, specially when they are close to finding the truth about all the murders that happened in the last 10 years.

This is not an anime suitable for children, since it includes graphic violence, prostitution, child abuse, etc… but it makes it more real and creates an awesome sense of immersion in the story. So much I watched 10 or more episodes per day.

A Christmas Day in Sweden

Woke up, the sun was shining and the streets were all white with the snow. Just like Xmas in the movies. Time to do some shopping. Not really Christmas gifts1, just some books (because they are cheaper here) and a game (same reason). Also took the time to see the Christmas market and eat a hot nutella crepe.

Then I went iceskating for the first time in my life. It was easy and I didn’t fall. Just couldn’t go as fast as I can in rollerblades, but I would like to try ice hokey sometime soon.

Finally had dinner at a friends place and since the party was not that good, I spent the time there in the pub.

Really nice day.

1 Actually I bought two gifts, but I won’t spoil the surprise.

Obrigado Bentinho

O alterado artigo 1124 estabelece que “é inválido o matrimónio entre duas pessoas, uma das quais baptizada pela Igreja Católica ou nela integrada e outra que não seja baptizada”. Ou seja, católicos e não católicos deixam de poder casar-se pela Igreja.

Fonte: i online

A primeira coisa que fiz ao olhar para esta notícia foi verificar que dia era hoje. Não, não é 1 de Abril. Ou seja, este Papa anda mesmo a passar-se da cabeça. Vamos analisar as consequências desta alteração:

  • Casamento entre dois católicos: continua na mesma.
  • Casamento entre dois de outra(s) religião(ões): igualzinho.
  • Casamento entre uma católica e um gajo que foi convencido a baptizar-se para casar pela igreja: a Igreja ganha mais um tipo para as estatísticas, mas que não é católico. A Igreja perde por perder consistência na sua massa de crentes.
  • Casamento entre um católico e outro que insiste em não se casar pela Igreja: casam-se pelo civil, fazem uma festa bonita, e é menos dinheiro que a Igreja ganha com o casamento. E baixa a moral dos padres terem menos matrimónios por celebrar.

Ou seja, não vejo em como esta decisão pode beneficiar a igreja, mas sempre são mais puristas! Mais valia simplesmente falsificarem os números de católicos no mundo. Aposto que há uns padres que andam de aldeia em aldeia de Portugal que não se importavam de dar uma mãozinha.

You are a cyborg!

Technically, you’re already a cyborg. If you keep your cell phone with you most of the time, especially if the earpiece is in place, I think we can call that arrangement an exobrain. Don’t protest that your cellphone isn’t part of your body just because you can leave it in your other pants. If a cyborg can remove its digital eye and leave it on a shelf as a surveillance device, and I think we all agree that it can, then your cellphone qualifies as part of your body. In fact, one of the benefits of being a cyborg is that you can remove and upgrade parts easily. So don’t give me that “It’s not attached to me” argument. You’re already a cyborg. Deal with it.

So damn true. I keep my cellphone with me all the time, and (at least the previous one) it is my exobrain. Read the rest of Scott Adams’ post.

DEInnovation

One problem of the academia (at least where I’ve been studying) is that the general public (including its own students!!!) is not aware of the research being made there.

DEI Innovation

Some students started a weblog where they add new videos of researchers explaining their projects, something I believe each university and research institute should promote.

What about your local university? Do you know what interesting projects are going on there? And how?

EtherPad acquired by Google

I’ve used Google Docs in the past for some school assignments, and I must say it really sucks for collaboration in real-time. If more than two people are editing the same document at the same time, it turns into a living hell to keep the formatting in the document, and one editor from overlapping the other.

I then moved to Etherpad. While it lacks features, it works really great for plain text, which is what I use to share basic ideas, and a bit of bold for titles. And it would be a kick-ass online editor if merged with IDEone to run the code on the browser.

Now Google has acquired AppJet, Inc and they are supposed to work on Google Wave now, which is not what I really had in mind for them…

Movie OSes

When I’m watching movies or tv shows, one thing that always fascinates me is the way computer screens don’t match what we are used to. Some of them use Windows or Mac, but most of them use really weird scifiesque interfaces, even if they are supposed to be realist shows, like 24.

Via Simon Willison, I got to know one of the artists behind those designs, and it’s an interesting resource when you’re thinking about graphical user interfaces, like I am right now.

Cursos de Reciclagem

Há no entanto uma pequena aldeia gaulesa……não, há, no entanto, um conjunto de pessoas que não se actualizam. Ok, faz parte, é natural que as pessoas se cansem de aprender coisas novas todos os dias, e que não tenham pedal (ou paciência) para se manterem actuais. Nem toda a gente pode ser como a minha mãe, que há 6 meses não sabia o que era uma rede social, e que hoje apascenta vacas e distribui sementes como se não houvesse amanhã. Mas, lá está, a minha mãe sempre foi muito à frente.

Para essas pessoas, que pararam no tempo, tenho uma sugestão: vão para casa. Reformem-se. Encostem à faixa da direita.

Façam o que quiserem, mas saiam da frente de quem cá anda e quer andar mais depressa. Saiam da faixa da esquerda, que estão a atrapalhar o trânsito.

Aplausos para a Jonasnuts e respectiva mãe.

On Resting

We need the rest. It’s important in ways we don’t often think about. We need to de-stress, and we need to recharge our mental batteries.

Quiet and solitude and reflection lead to greater happiness when they’re a part of our daily lives, at least in some degree. What you do during this time — read, write, run, nap, sit, watch, listen, even have a quiet conversation, play, study, build — isn’t as important as the simple fact of having that time of disconnection.

— Leo Babauta, The Importance of Finding Focus (via Minimal)