Alcides Fonseca

40.197958, -8.408312

Surrogates

Surrogates is just like I, Robot if you just replace Will Smith with Bruce Willis and if humans just stay at home remote controlling the robots.

The movie is acceptable, but totally predictable. And like many others, they suppose that in 20 years there is only one aspect in our civilization that changes, something that I find hard to happen.

Good Will Hunting

Good Will Hunting is a movie about Will Hunting, a troubled kid that happens to be a genius when it comes to logic problems.

A mathematics professor finds him, and wants to give him the change of being successful. But the kid’s mental problems make him having to ask for the help of his old roommate who is an underachieved in this field. Oh, and there is some love in the mix (as it had to be). Awesome movie!

Linus on Complexity

You know what the most complex piece of engineering known to man in the whole solar system is?

Guess what – it’s not Linux, it’s not Solaris, and it’s not your car.

It’s you. And me.

And think about how you and me actually came about – not through any complex design.

Right. “sheer luck”.

Well, sheer luck, AND:


  • free availability and crosspollination through sharing of “source code”, although biologists call it DNA.

  • a rather unforgiving user environment, that happily replaces bad versions of us with better working versions and thus culls the herd (biologists often call this “survival of the fittest”)

  • massive undirected parallel development (“trial and error”)

I’m deadly serious: we humans have never been able to replicate something more complicated than what we ourselves are, yet natural selection did it without even thinking.

Don’t underestimate the power of survival of the fittest.

Read this awesome thread on linux design, complexity, dna, life, and the mysteries of the universe.

Web Zeroes

This season is full of nice shows for me ( Simpsons, House, Heroes1, The Big Bang Theory, Two and Half Men, Lie to Me, The New Adventures of Old Christine, FlashForward2, The Mentalist, StarWars: Clone Wars and Stargate Universe3) but none of them air on Wednesday, so to fill in with Web Zeroes.

It’s a 10 minutes long video podcast where three internet geeks try to get rich and famous in the Internet. Each episode a different approach.

It’s not something amazing, but acceptable enough to watch on boring wednesdays :)

1 It sucks. Big time. Don’t ask.

2 I give it 5 more episodes, and I’ll give up.

3 Same as above.

Customer Service, the Swedish way

Yesterday I bough a book at Akademibokhandeln and when I got home and opened it for the first time, I noticed the front cover was torn almost half of the width, but in a way that when the book was closed you couldn’t notice. This was not surprising, since the first book of the saga I bough in a portuguese FNAC was also in a bad condition. Oh and the paperback formats suck for this bulky books.

Today I went to the same shop, I got to the information desk and showed them the book, and they just said to pick the same one (actually they offered to get me another, but I said I knew they had another and where it was). I got back to the desk with a new one, and he said it was okay, I could just go. They didn’t ask for the receipt nor checked the date (and I had removed the priced tag!). They simply believed the client and I left very happy with how the problem was solved.

And this wasn’t the first time something like this happened. When Diogo bought his cellphone here, he came home, opened the box and everything was there (charger, battery, headphones) but the cellphone itself. It was probably the one they used to show in the store. Next day he went to the shop, he showed them the box, told what happened, and they replaced the box with a new one, and opened there to check if the new one had everything.

It was their mistake, but they solved it without any problem. This two stories may sound something completely common for Swedish people, but in Portugal it would be very difficult to solve these problems in large stores.

The clerks would just wonder if it wasn’t me who torn the book cover after I bought it there, or whether Diogo was just looking for a second cellphone, or if some tens of people would come up the next day stating the same. And they couldn’t do anything by themselves, they would have to call their boss, who wouldn’t be there at that time, and a lot of other inconveniences that would make you just buy another, possibly in another shop.

And I know about that, due to bad experiences with customer services in Portugal. It’s their fault, but maybe because Portuguese people are such chico-espertos1 that they take advantage of all of these situations even if it’s not true.

1 Chico-esperto is a portuguese expression for someone who tries to take advantage of the system by using some nasty trick or bending the rules. It’s part of our stereotype and culture.

Should languages be multi-lingual?

Since most programming languages are based on English, you end up mixing English and Swedish for example, if you are working with a Swedish domain. Of course, the benefits of working with these concepts in Swedish are very hard to argue against. But the dichotomy between the programming language and the domain language is definitely something that hurts my eyes, so I’m generally not very fond of that approach.

I face the same problem with Portuguese, but luckily most of the times, I just translate the concepts to English and keep my program clear of Portuguese words (that wouldn’t work in some languages because we need more than the ascii characters).

One of the things I’ve proposed to make this situation better is to create an external DSL that is fully in the domain language. The implementation of that DSL can then be implemented in English. The main benefit is that there is a clear separation.between the domain language and the programming language. On the other hand, the overhead of creating the DSL and also the complexities involved in translating the domain concepts into programming language concepts can become problematic too.

Well, if you have a strong need for the domain language, you would need a DSL even if it was in English. So the overhead would be minimum in most cases.

I’m also not sure if this is actually a really good idea or not. It might be. The other thing I’ve been thinking about is how to handle multilingual editing. What if you want to be able to switch back and forth between languages? How can you handle identifiers with more than one name. Would you want to?

Read the full article and my comment on his blog for my opinion about this.

Empreendedor à Força

No entretanto tinha aparecido a Y Combinator. E a malta no Takeoff convenceu-me que era necessário haver uma coisa do tipo em Portugal, a investir em startups. Mas o que eu queria mesmo era arranjar um emprego. (…) Nada feito!.

Resolvi repetir fazer o que já parece ser sina: arranquei eu próprio com uma mini empresa de capital de risco com 15.000€ de capital meus. E entre família e amigos consegui levantar mais 200.000€. E autonomeei-me “Entrepreneur in Residence”.

A empresa é a Maverick que gere o fundo da SeedCapital e anda à procura de pessoas com ideias de negócio na área das tecnologias.

Mas leiam o post completo do Mário Valente que é interessante e se estiverem interessados em mais, oiçam a excelente e inspiradora apresentação no Take Off 2008.

Being an early riser

Pedro wrote a post about his conclusions on becoming an early riser after 30 days..

  • Feel more energized every morning after waking up instantly;
  • Usually wake up 1-2 minutes before the alarm clock triggers;
  • Experience a greater motivation, especially to work on personal stuff (pet projects, for instance);
  • Have a lot more time on your hands. Your weekends will feel like an entire week, with everything you can accomplish instead of being asleep for 4 more hours like I used to;

When I was a kid I woke up very early (sometimes even before 6) since I really enjoyed spending the mornings watching cartoons and playing with Lego. Even after elementary school I woke up very early to do the homework for that day. In high-school it was for studying for tests. But now in the University I broke my rhythm. Everyone works at night, and I got to do that as well (Still, after 1 I’m not productive anymore).

Now that I’m living in Sweden, I think I should get back to my old sleep hours. Most people here start their jobs at 7, so they have to be up very early (My classes start at 9 and we find it difficult to wake up one hour before that). The problem is that they have lunch at 11:30-12 and dinner at 6:30-71. That I just can’t do!

But I like working in the morning. I’m actually very productive since everyone is sleeping and they don’t bother me :)

1 The other day I went to eat something at half past 5 and I found my swedish neighbor having dinner. Crazy people!

Sharing Files without Droplr

Droplr seems to be a new application for sharing files easily for your Mac. It is in private beta, so I’m gonna show you a easy way of sharing files using Tarpipe and a small utility for OS X I wrote, Dropipe.

Create a Tarpipe Account

Head over to tarpipe.com and signup with your OpenID or your Google account. So no filling forms, just use an account you have with a previous web service.

After you create your account, you can create a workflow and you might do something like this:

This one just accepts a picture and send it to flickr (with title and tags) and then posts the link to Twitter. Tarpipe offers you a wide range of connectors for different webservices. Or you can just use the email connector if you just want to send to someone else.

Important! Be sure to select “REST API” in the dropdown before saving the workflow. After that, just copy the string token underneath, or keep the window open.

Using Dropipe

Head over to the Dropipe page and download it. Just drag the app to your Applications Folder, or your Desktop like I did. You might even want to add it to your dock so you always have it visible.

Now just drag some picture onto the Dropipe icon and it will ask you for the token string. This will only happen in the first time you open it. If you want to use multiple workflows, just install another Dropipe and rename it to your favorite name.

Then it will ask you for the title and description of the file. Just give it a title and the tags in the description and that’s it!

Check your upload history.

Tarpipe has an activity tab where you can see what you have uploaded and to which services it was sent. So you always know how your Dropipe was used.

The new Under Construction

People old enough should remember a time where half of the internet had this kind of gifs announcing a future website in that place (many of them never changed until someone forgot to renew the domain). Someone saved an archive of a large collection of under construction gifs.

As for our time, someone should be saving those “Coming soon…” webpage that is the under construction of now. Oh wait, someone already is!

The Whole Nine Yards

There’s a dentist that goes to chicago to sell the head of his neighbor to the mafia. His neighbor is an hitman that the dentist’s wife hires to kill him. He screws with the hitman’s wife that everyone (including the hitman) wants to kill. The hitman gets friends with the dentist and the wife of the latter has to hire another assassin: the dentist assistance that is a fan of the hitman and is accepted as his apprentice. The wife then hires some random dude.

I could tell you who dies (or not), but I’m not the kind of guy that would spoil you the fun!

Don't plan a big software

Optimizing for your software project becoming big is the same as optimizing a car to hit a rock wall – you are optimizing for failure

Ola Bini on how you should think about small working pieces of software at a time, and make sure they work well, and they work together with others. This way your project won’t become as big as if you were planing it to be right from the start.

On Obama's Nobel

Barack Obama receives the award as a recognition of potential, of which some has already been realized. It is not unprecedented, but it is not usual. I don’t doubt that Barack Obama would like a Nobel Peace Prize, but being the person that he is, I highly suspect that he would have enjoyed one awarded on the basis of acheived results rather than potential much more.

Jesper defending that Obama deserved to be nominated, but not the winner. I agree with him, and I think Nobel prizes shouldn’t be given for the potential, but for the achieved results.

Everything will be OK

Everything Will Be OK is a 16 minutes long animated short film by Don Hertzfeldt. It is the first chapter of a planned three-part story about Bill, a guy who appears to have a mental disorder.

I really enjoyed the movie, and I can’t wait to watch the second and third parts.

Oh, and it’s online if you don’t feel like downloading.

Sidekick and data lock-in

So Microsoft/Danger lost all the data from their sidekick clients (contacts, photos, calendars, todos, etc…) and although those things might happen (although Microsoft should know how to keep the data safe and redundant) the fact that their service doesn’t allow you to export/sync the data stopped everyone from keeping their own backups.

Christopher Blizzard explains the problem quite well :

This is what bothers me about devices like the Sidekick and services like Facebook. Data goes in and it doesn’t come out. (In Facebook’s case you “own your own data” but if you pull it out it comes with usage restrictions so it’s essentially useless. You can’t use it to sync to another data source or another service. The rhetoric there doesn’t match the actual terms of service.) It means you can’t make backups and you can’t get to the point where you have a single set of data because you’re syncing with a bunch of services.

Lock-in by effect or lock-in by design isn’t something that any of us should be tolerating, but we do. In our cell phones, in our web services – lots of places. But we should be aware. Sometimes someone makes a mistake that affects tends of thousands or hundreds of thousands of us. And because of early decisions we’re not able to recover from it in a decentralized manner.