Unique Mexican music; Son Jarocho, folklore and more

There’s a lot of interesting and unique music in Mexico, both modern and traditional, but there’s one kind that I find particularly unique and beautiful that I think it’s extremely underrated in Mexico, let alone in the world; Son Jarocho.

This first video is from Cafe Tacuba, IMO the best band from Mexico, although I’m not sure what kind of style it is, it’s certainly awesome :) (I couldn’t find a better video quality)

The rest of the videos are of what I consider Son Jarocho in the right setting; small room, 3 guys; jarana jarocha (small guitar), requinto jarocho (even smaller guitar), and more importantly; arpa jarocha (a special harp). It’s a mixture of different styles from different continents, and the lyrics are often funny and sometimes improvised to make fun of something, or somebody. BTW, jarocho means from Veracruz, one of the 31 states of Mexico.

La Bamba is the most famous one, but I couldn’t find one video worthy of highlighting, so I just put the best one I could find. And before you ask, yes, the high pitch and loud voices in the chorus are intended, also, wait for the solos ;)

This is what you most likely would expericence; a group wandering around restaurants, improvising and making jokes.

This one seems professionally recorded. Just for measure.

For more more about Mexican music and culture, check this previous post.

Gems from /r/atheism

I have been following /r/atheism for some time (a subreddit), and I have a accumulated quite a few favorites. Here are some :)

Banned Richard Dawkins Foundation Commercial

Futurama - Evolution Debate

GNU/Linux is more ridiculous than Linux/GNU/KDE/GNOME/Mozilla

I have always hated the term GNU/Linux for many reasons, but mainly because of GNU’s self-importance, specially considering it’s not important at all.

Pedro Côrte-Real in his post “How much GNU is there in GNU/Linux?” arrives to many surprising conclusions (to some people).

Read more of this post

Why United States of America is a stupid name

I’m not an European, I’m an American, more precisely; from Mexico, unfortunately U.S.A. has snatched the name for itself, which is very annoying to me, specially after living for some time on this side of the Atlantic Ocean. I guess because some extra need to relate myself with Peruvians, Brazilians, Ecuadorians, Canadians, etc. Which I never met before in Mexico. There’s really not much to do about it, but nonetheless there’s plenty of interesting facts and conversation tidbits to explore.

Read more of this post

Avoid Reply-To munging; mail as mail was meant to be

Reply-To munging (the act of overriding the ‘To’ header in mails) is a common practice on many mailing lists, but does it provide any value?

I participated in a long and tedious discussion on fedora-devel, not only regarding Reply-To munging, but also allowing non-subscribers to post. At the end I realized why mailing lists do such a thing: inertia, misconceptions, and laziness.

After shutting down all the arguments provided, it turns out there’s only one benefit of Reply-To munging; I’ll try to explain why it’s not so important, all the problems it causes, and some of the invalid arguments.

Personal level indicators

Before getting started I want to show a cool feature of Gmail that is only possible with proper replies (unmunged).

Personal level indicators

With these it’s very easy to see which mails has been addressed to me personally while browsing a mailing list. For this to work, of course mails needs to be addressed to me (like it normally is), instead of the mailing list. And of course Gmail is not the only client that supports this; mutt can highlight mail with the ~p filter.

There are similar advantages, like the fact that I can search for “to:me”.

In favor

Virtually all mail clients provide at least two options when replying mail:

  1. Reply to sender
  2. Reply to all

Sometimes people mistakenly click “reply to sender”, but when Reply-To munging is used; the sender is the mailing list, so when people make this mistake (it still is a mistake), the mail still reaches the mailing list.

Everybody is aware of “reply to all”

It might come to a surprise to many hard-core mailing list users, but the common (non-geek) population of e-mail users is perfectly aware of the “reply to all” button; otherwise they wouldn’t be able to have group conversations.

People have back-and-forth conversations to more than one person through e-mail; therefore people know when to use “reply to all”. So the argument should not be on ignorance of the option, but mistakingly using the wrong one.

Gmail, Outlook, Hotmail, Thunderbird, Yahoo! Mail; they all have the option, because people use it.

It still is a mistake

Many people think that if the mailing list has Reply-To munging, then you can stop using “reply to all”; that’s not true.

The annoying “Please keep me in Cc as I’m not in the mailing list” warnings would not be needed if people clicked “reply to all” (even when the To header is munged); the munging applies to the To header, but not the Cc headers.

So for example, I Cc myself on munged mailing lists; if people use their mail clients properly, then I’d be addressed properly and have all the advantages of that, like personal mail notifications. But no, most people are lazy and click “reply to sender”.

Munging only perpetrates this bad behavior.

We don’t need no babysitters

Would you like the mailing list to bounce messages back saying “it looks like you forgot to add the attachment file”? This mistake, just like clicking the wrong reply option, is something the user should avoid doing.

Against

The previous argument “in favor” is very week at best, but there’s still some value in it. Is it really worth it when measuring the arguments against?

Personal level indicators don’t work

I already explained this feature is very useful, and if it wasn’t clear at this point: munging makes it impossible.

A few people do use “reply to all” even on munged mailing list, but they are the minority, the fact of the matter is that you can’t rely on this: when you see a message without a marker it might still be addressed to you, so you can’t dismiss it as quickly as you would on a non-munged mailing list.

Impossible to do “to:me” searches and filters

Quite often when searching mails you want one of the criteria to be “addressed to me”, however, if the To field was munged, then you just can’t do that, you would have to reply on full-text searches, or other sub-optimal method.

Some clients support tags (like notmuch), so it’s possible to say: hey, put all mail addressed to me on the inbox. Munging prevents that.

IETF is clear

I found this one from here.

In April of 2001, the IETF issued af new document, RFC 2822, which obsoletes RFC 822. In this new RFC, the author addresses the Reply-To header field in a few places, but the most relevant to this discussion is the following in section 3.6.2 “Originator fields”:

When the “Reply-To:” field is present, it indicates the mailbox(es) to which the author of the message suggests that replies be sent.

Your list software is not “the author of the message”, so it must not set or in any way meddle with the Reply-To header field. That field exists for the author and the author alone. If your list munges it, you are violating the standard.

Invalid arguments

I think I’ve mentioned all the important arguments, but some people keep bringing these, which are obviously invalid.

Double mails

Some people argue that if Reply-To munging prevents the same mail to be delivered twice to the sender (one directly, and one through the mailing list). This is of course nonsense because the mailing list allows you to decide whether you want the software to send you the copy, or not (since the software can see you are on the list of recipients).

Not to mention that you can add the Reply-To header if that’s the behavior you want; there’s no need to punish the rest of us.

Useful?

There’s a popular rebuttal to the famous ‘Reply-To’ Munging Considered Harmful by Chip Rosenthal; Reply-To Munging Considered Useful.

RFC 822 and “Text Message Teleconferencing”

Obsoleted by RFC 2822.

The Principle of Minimal Bandwidth

There’s no “double mail” problem, so there’s no extra bandwith.

Reply-To Munging Adds Something

Very few people want to send mails only to the list, and they can do the same than the people that want to reduce the Cc list: manually edit the fields. Not to mention that some clients have the “reply to list” option.

There’s no double mail, there’s no snowball.

It Doesn’t Break Reasonable Mailers

Nonsense; the functionality being broken is not replying only to the author, but replying to the full To list (and Cc list).

Again nonsense; new options can be achieved for a minority of users. The decision of what the mailing list does should rely on the behavior of mailing list as a whole, for which only the only thing that matters is the majority of mailers right now.

Freedom of Choice

Wrong. The option to reply to all the recipients is taken away. The ability to determine to whom the mail is actually addressed is also gone.

And in fact this argument is shooting itself in the foot; if the mailing list doesn’t munge, then the user can choose whether to munge or not, but if the mailing list munges; the user has no option.

Some Mailers are Broken

Not true. All applications have “reply to sender” and “reply to all”.

Principle of Least Total Work

This assumes the principle of “Minimal Bandwidth” is true, which is not, and people would want to follow it, which they don’t. So 90% of the time (according to that argument) you want to reply to all the recipients (including the mailing list), and 10% of the time you want to reply only to the author. Both cases can be achieved with the usual options “reply to sender”, and “reply to all”.

So this argument is again shooting itself in the foot; the 10% of time where you want to reply only to the author is actually more work when munging.

People are Responsible for Their Own Mistakes

That counter-argument is correct, but I’m not arguing that Reply-To causes people to wrongly send personal e-mails to the list.

And in the End…

Funny, right after arguing that people are responsible of their own mistakes, an argument that the mailing list should prevent mistakes of continuing a thread off-the-record. It’s policy that should keep mails on the list.

It’s What People Want

This is a value judgement, not an argument. People change opinions, mailing lists changes members, and people often don’t know what the really want.

For more invalid arguments, check my summary on fedora-user mailing list.

Conclusion

So, from my perspective it’s pretty clear that Reply-To is something for mail authors to set, not mailing lists. It prevents essential features from working, and provides virtually no value.

The arguments are crystal clear, and putting old misconceptions aside, only stubborn morons wouldn’t be able to realize that Reply-To munging is actually bad. Right?

C programming hints and code-style (part 1)

Over the years I’ve had to deal with many different coding styles (can something without style be called style?). Here is a list of no-brainer tips that every C programmer should be aware of.

Hints

Update:

Have a copy of the C99 spec handy

Don’t scratch your head when you are not sure if a function is part of the standard, and what is the expected behavior, open the spec an check by yourself: here.

free() can receive NULL

There’s no need to do:

if (pointer)
free(pointer);

This works fine:
free(pointer);

Therefore if you write a struc_free function it makes sense to allow NULL as an argument.

There’s no need to cast a void *

tmp = (EXTEREMELY_UGLY_TYPE *) malloc(10);

malloc() returns a void * there’s no need to cast those:

tmp = malloc(10);

sizeof can receive a variable

size = sizeof(EXTEREMELY_UGLY_TYPE);

No need to burden yourself with that:

size = sizeof(tmp);

If tmp is a pointer you can do sizeof(*tmp) and so on.

Avoid big macros

Have you seen horrendous code like this?

#define ERROR(e, code, text) \
G_STMT_START { \
  if ((text)) \
    GST_WARNING_OBJECT ((e), "error: %s", (text)); \
  gst_element_message (GST_ELEMENT((e)), GST_MESSAGE_ERROR, \
    GST_STREAM_ERROR, (code)); \
} G_STMT_END

It’s much cleaner to use an inline function:

static inline void send_error(GstElement *e, int code, const char *text)
{
  if (text)
    GST_WARNING_OBJECT(e, "error: %s", text);
  gst_element_message(e, GST_MESSAGE_ERROR, GST_STREAM_ERROR, code);
}

Yes, you can put inline functions in header files.

C99 is your friend

C99 has nice types such as bool (true and false), uint32_t and similar int types. Also these beauties:

static struct device = {
 .base = 0x480bd400,
 .irq = 24,
 .pdata = {
  .name = "isp",
  .nr_tlb_entries = 8,
  .clk_name = "cam_ick",
 },
};

I don’t even want to imagine how horrible the code would look for C89.

Those are the ones I can think about, any suggestions? On the next part I’ll about code-style ;)

Simpsons scenes and their reference movies

Webbalert’s podcast of today has a link to “Simpsons Scenes and their Reference Movies”. It’s simply awesome.
Update: Dario points out that they just copied stuff from actualidad simpson. They have even more stuff! Thanks Dario.

NFS in Fedora 7 (and iptables)

Before I forget how to do it:

Use “lsof -i” to find out the ports you need to open. Look for rpcbind and rpc.mount.

rpcbind 2110 rpc 8u IPv6 7514 TCP *:sunrpc (LISTEN)
rpc.mount 2479 root 7u IPv4 8622 TCP *:59287 (LISTEN)

Now add them to iptables:

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport sunrpc -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 59287 -j ACCEPT

I guess you can edit “/etc/sysconfig/nfs” and set MOUNTD_PORT to some value so you don’t have to check it.

That’s all I had to do, but for more information check here.

Unique?

Alan Coopersmith points out in his blog this neat site about how many people in the U.S. have your name.

Too bad 10 people have my name… maybe I’ll start to add my second last name to identify myself =/

Meet Tim Bray

Linux Journal provides an interesting interview with Tim Bray.

I didn’t know this guy, but his interests seem pretty similar to mine ones. Ruby, XML, Atom, equal oportunity to the world.

I specially liked the quote:

The Net itself is a contribution, by humanity to humanity, the engine of future contribution and experience.

I don’t know about you but I’ll definetly add his blog to my blogroll.

Follow

Get every new post delivered to your Inbox.

Join 43 other followers