Alcides Fonseca

40.197958, -8.408312

Perceiving Energy Consumption

In this week’s Interaction Designer Methodologies I was presented to STATIC!, a project that investigates design as a way of increasing people’s awareness of their energy consumption. This has a special interest for me, since I’ve already worked on a project in this field with ISA.

In Sweden, a law was passed that makes the use of Automatic meter reading mandatory. The STATIC! project used that data to produce some provocative objects. From “patterns on bathroom tiles”:“http://www.tii.se/static/disappearing.htm that disappear with too much water to” curtains that save the solar power and emit light in night”:http://www.tii.se/static/curtain.htm, they produced an interesting series of prototypes.

The Time magazine nominated this Flower Lamp for the Best Inventions of 2006.

Hardware Brands with their own OSes

A while ago my wife, the non-techie in our family and a Mac user, asked me: “How come Dell or Toshiba or Sony don’t make their own OS’s? I mean, if each brand had its own OS it would be better because the people that built the computers know the computers better than Microsoft.” — Minimal

The first time I read this I actually though it was a good idea. If each OS focus on that particular hardware the manufacture is selling, they would make it as stable as possible (think Apple). At least it would be the end of Bluescreens.

But that would become a problem for application developers: suddenly they don’t have the win/linux/mac problem, but rather win/linux/mac/dell/toshiba/lenovo/vaio/…. And using virtual machines like Java or .NET is not the solution because everyone appreciates native solutions (at least for the graphical user interface). Sure this could be improved and high-level languages like Python and Ruby could be used with different backends for the OS, but it’s the same as the current Java solution.

And then there is the drivers for peripherals. Linux (and Mac) users already suffer the problem of not having drivers for some devices, and if every brand had its own OS, I bet you could only buy Dell accessories for your Dell computer because that’s the drivers available.’

The best solution I see is to each one make a flavor of Linux and test the drivers to their specific hardware, so they can all run the same applications. They can choose between Gnome and KDE (and others) according to the computer specs, but as far as I know even those options are pretty compatible.

Learning by succeeding

Giles Bowlett on learning by succeeding or by failing.

Obviously, if you want to learn something, and the brain responds to failure without learning anything, but it responds to success by learning, then focusing on failure is not a good learning strategy.

To learn, all you have to do is succeed.

Notice what that doesn’t say. It doesn’t say what you have to succeed at.

And I like that There’s some powerful neuroscience supporting this and a great book which goes into exquisite detail.. Really interesting approach. I would conclude that I need to succeed at less important tasks in order to learn the total part. Like playing SuperMario or other games. You don’t need to master all the weapons and tricks on the first level.

Customized dunks

As some of you might know, I am really crazy about old school shoes. I’ve owned dunks, air force 1s, chucks, superstars and a few more, and the ones I like the most were the nike dunks.

Today I found out a blog where a guy posts his latest creations: fully customized dunks with themes. If you like them (I really do!) check his online shop where you can buy most of them for £180, or just request one pair.

Japanese Simplicity

A central aesthetic principle in Japan is simplicity, but it is different from simplicity in the West. Let me explain the difference by comparing cooking knives. The knives made by the German company, Henckel, for example, are well crafted and easy to use because they are highly ergonomic. The thumb automatically finds its place when you grab the knife.

Japanese cooks who have special skills prefer knives without any ergonomic shape. A flat handle is not seen as raw or poorly crafted. On the contrary, its perfect plainness is meant to say, “You can use me whichever way suits your skills.” The Japanese knife adapts to the cook’s skill (not to the cook’s thumb). This is, in a nutshell, Japanese simplicity.

Kenya Hara on Japanese Aesthetics

Stockholm congestion solution

Found this in the end of a TED video. Of course it’s an IBM self-promotion, but if it works, yey! More cities should think about it.

nginx + passenger + django

I am currently in the process of migrating all the websites I have running on this VPS from apache2 to nginx. The Apache2+passenger bundle was working really fine, except for some unknown slowness with redmine, but I wanted to try another httpd and I’ve heard a lot of nginx, and passenger guys added support for it a while ago.

Since nginx doesn’t support loadable modules, I had to compile it with all the modules I might need in a near future, so the following instructions also include the http_push_module.

When testing this wiki in the nginx server, it was always serving the homepage for whatever URL I asked for. After two sessions digging into the nginx, passenger and django internals, and doing a few tests, I found out the problem:

Nginx provides Passenger a REQUEST_URI instead of the PATH_INFO header that django processes to route the request. Since PEP 333 requires a PATH_INFO header, I had to correct the problem in one of the two other. I ended up fixing it Passenger, since it’s the one responsible for the WSGI interface.

So even if you had already installed passenger, just add those two lines , and it should support Django straight away.

1 while debugging, the tmp/restart.txt trick didn’t work for wsgi, so I used a sudo killall -9 python since it was the only python process running.

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.