soledad penadés
repeat 4[fd 100 rt 90]

Archive for the ‘thoughts’ Category

20061030 Dodgy hotdogs (no pun intended)

I was walking to take the bus when I passed near the hotdog post near Tottenham Court Road station. The powerful roasted onion flavour caught my nose immediately as was expected (I'm a big fan of roasted vegetables!) and then I wondered: why do people depreciate so much these hotdogs, saying they are a major health menace, but then they go to any of those big fast food chains and have the big menu with fries, biggest carbohidrated drink and whatnot?
I mean, at least in these hotdogs you can see the onion being fried, same for the frankfurt sausages, and that's something which you can't see very easily in the fast food chains. Maybe you may think the oil is the key of all the horrors but I refuse to admit that the oil for the hotdogs is less healthy than the other one.

The power of advertising is amazing, without doubt.

20061001 Programming languages which are human readable languages too

I came across this quote from an article by Bruce Eckel quite recently:
Bruce Eckel on python vs c/c++ indentation:

Let's throw away those curly braces — indentation already has meaning to the human mind, so we'll use that to indicate scope, instead.

After all the fuss with pascal, c++ and then python and its completely absence of braces, it's quite cool to find such a simple yet convincing reason. I think he's absolutely right, when I read the sentence I suddenly got aware of how often we use instinctively indentation to indicate hierarchies. A quick example could be todo.txt's, where in absence of real bullets you can write things like this:

Very important tasks
————————
- Task 1
- Task 2

And when hand writing these lists (i.e. with a real ballpen) we automatically indent the list items. At least I do!

This brings me to something that I had been thinking about too, the expressivity of a language, and more specifically, the expressivity of ruby. When you're learning ruby (such as me), and are faced with the fact that you can write things such as

do
[...]
until a=1

or also

do until a=1
[...]
end

Or

if something
[...]
end

in contrast to

unless not something
[...]
end

then you can have two reactions. There's the first one which will say "this is a horrible and confusing practice and that doesn't help anybody which is learning". And then there's the second reaction which is "well, the brain is not always thinking like a computer". Sometimes you're thinking aloud and may say: we'll do this and this and this until something happens (case A). And sometimes you say until something happens we will do this and this (case B). Normally you have to force your brain to work in just one manner, which somehow restricts your possibilities.
I believe it is this flexibility which you can't find in traditional programming languages (or new languages which inherited traditions) one of the key reasons for the success of python or ruby, because they are quite immediate.

(The irony is when one combines ruby's flexibility with rails' convention over configuration - like two opposite worlds handshaking!)

So what do you think? do you feel comfortable with C++'s-curly-braces-mania? do you think lax syntaxes are bad for learning to code because it makes lazy programmers - kind of too far away and unaware of the computer's internals?

20060923 You must be a linux expert

Yesterday after work was quite funny. Following british habits, almost everybody in the office went to a near pub for some drinks. That's quite interesting since that way you can learn what everybody else in the office is doing, or what do they do outside office hours, etc.

Then somebody asked me: You must be a linux expert, no?

Me? God, I wish I was! It seems that Ubuntu it's so easy that you look like an expert, hehe, that's really funny. Then I was asked why I was using it, if I wasn't really an expert on it, instead of using windows, and I must recognize it's quite complicated to explain.

In my previous jobs I could just use windows. It wasn't really a problem until I got my powerbook. Then I started feeling windows more and more clumsy - and annoying. But I still had to stick with it, since there was no opportunity to switch to mac or linux. One day I asked about installing ubuntu in one of the computers and there were two answers:

  1. linux is just for servers (and only red hat enterprise linux)
  2. how can someone install a linux distribution with such an ugly name? (ubuntu)

Obviously I got discouraged and just thought: ok, but you don't know what you're losing. Some time after we replaced a pirate copy of windows XP with ubuntu at our home server, and I quite liked that new version. I thought: if it wasn't because I have MacOsX… I would install linux in my powerbook!
And somehow on the other hand I got aware of the goodness of using open source products. Now this is really hard to explain, as it may sound like a divine message or something, but the main reason is the data:

One day you don't care about open source or anything and consider the same freeware and open source. Next day (after the message came) you realise that you want to keep your data with you - and for that, you need to use programs which only use standard file formats, or open source software. So that if you change your program, your data keeps being usable.

I somehow got the final nudge when I switched from Apple's Mail.app to Thunderbird. I don't know why, I started feeling bad about using Apple's Mail. I thought: and what if I bought another computer and it's not a mac and I want to copy my email data, what am I going to do? The horror!

I discovered that although Mail.app used an standard mbox format at the beginning, they changed it so that the files could be indexed by the Spotlight. So what happened? It was not standard anymore, and I was quite lucky that some good soul had written an script for converting between Mail 2 format and the standard mbox one.
Since then I got more and more interested in this kind of software. I know it may sound a bit ridiculous if you come from the commercial background that most of us live in, but the ubuntu philosophy -providing software freely- really hit me. The idea of not being tied to any company may sound quite utopical but I believe it's good to have utopies in mind.

And then (coming back to the topic) when new computers came to the office, they had a preinstalled windows XP. I asked if I could install linux on my computer and when they told of course! I was like W-O-H-!

Since then I've been using it continuously, and can't stop being surprised every day with the good achievements and goals it has reached. I also have become aware of how many money do companies spend stupidly in things like Microsoft Office, Microsoft Windows and all of that. I mean, companies could save lots of money if they could just buy bare computers with no operating system installed at all, and install only whatever they needed. Specially, computers for developers: I have a fully equipped computer for the price of 0. Just do some maths!

There are also other aspects even more complicated to explain, mainly that using free software is like making an payment to the developers. Paying with recognition, honours, and even bug reports, to be honest. I believe any decent programmer should be happy with people contributing to the software in any manner, as it means that they care about the product. So somehow there's like an spontaneous collaboration, which I personally find very interesting. (Let alone project donations, that I also have made, but that's another topic)

As you can see, the reasons for using linux are many and subjective, and most of them fall quite quickly in the personal beliefs area, being very easy to start evangelising and trying to force everybody to go linux. I do not think that it is the way, since as I said once, I got very dissapointed with linux zealots in the past. So when I have the opportunity to explain my opinions I do it happily, with the hope that it serves more people to understand this personal attitude (and maybe join it as well).

20060920 The pattern in democratic news communities

I have noticed an increased number of articles with the only aim of being featured at a big site and getting traffic to them (and thus people clicking in their banners). Usually the titles match one of the following patterns:

  • Top (number) (things | for doing something). Examples: top 10 tips for becoming a better programmer, top 15 things you should do before 30, top 5 programming languages… etc.
    These pages are usually poor in actual content, mainly being a rushed compilation of some items for the selected theme. Most of the times, the recommendations are outdated, like for example, tips for object oriented php using php4 syntax (when php5 is way better and that's what everybody willing to do OOP with php should learn).
  • (Apple | Microsoft | whatever big company) + (DRM's | Sueing each other | Open source | Market shares). Examples: Apple wins 10% market share, Microsoft creates open source license…
    Usually these articles are simple copy & paste from slashdot or theregister and do not add any depth to the topic. Also they tend to appear in a page bloated with ads, where 10% of the page is the actual content and the rest is pure useless crap (specially when the crap is targeted at customers from an specific country).
  • (PHP / Python / Ruby On Rails / CSS / etc) tutorial for beginners. Examples are obvious. These articles are just a rewriting of the first chapter of the official documentation, sometimes they go further and simply copy and paste it. No added value. Crap.
  • Let's talk about (something). Examples: What is Ubuntu? The real history of Ubuntu. The GPL. What is the cathedral and the bazaar?
    These are usually taken from wikipedia, making use of the open license it has, but without giving any credit back. Anyone which just happens to read the article, might attribute the authorship of it to the blog owner, and not to whoever wrote it at wikipedia. Apart from being stupid, this is a shame. People who do this should be condemned to public disconnection from internet for life!

Basically this brings me to one conclusion: when you become very specialized in one field, these communities become useless. They might be interesting for casual internet users, but not for "professional" ones. I personally find more useful content in del.icio.us than in digg & co, as it's easier to filter with the tags and all that.

20050920 Mail notifiers fever

Some days ago, trace was asking me if I had seen the new google's thingie: a gmail notifier for mac os X. I answered him, ok, I had not seen it but I don't think I'll install it.

- Why?? It's so useful!
- Because it disturbs me…

and yes, windows which open suddenly and notify me of messages make me lose concentration, as I want to read instantly the messages and see what do they say, and that means stopping completely what I was doing until that very moment, so that's why I don't like mail notifiers to be on.

E-mail is supposed to be used asyncronously. You send me the message and whenever I can, I'll read it and maybe I'll answer you. I don't think we need to constantly check if we have new e-mail messages as it is another technique to get stressed and lose productivity. I definitely say NO to e-mail notifiers. In fact, I even try to work with the e-mail program completely closed. I don't want to listen any ding if a new e-mail has arrived. I'll see all when I have spare time to read them carefully, not in a rush

Let technology make your life easier, not more complicated!