This website uses third party cookies exclusively to collect analytics data. If you continue browsing or close this notice, you will accept their use. The EU now requires all sites to display this banner which confuses users and does nothing, actually, to improve your privacy.
Read more on why this law is ignorantLearn about this website's cookiesDisallow cookies
Carlos Fenollosa

Carlos Fenollosa

Engineer, developer, entrepreneur

Carlos Fenollosa — Blog

Thoughts on science and tips for researchers who use computers

My new project: Feenbox, feeds on your inbox

July 03, 2014 — Carlos Fenollosa

I've always loved email. For me, even in the era of Whatsapp and Facetime, it is the ultimate form of communication. It can be personal or professional, heartwarming or annoying, instantaneous or asynchronous, small or big, long or short, easy or godmode. There are very few times where I prefer a quick IM communication, of course, but the bulk of my day is email.

My first internet on college got me reading email on Pine on a linux terminal where we chatted using write(1) and wall(1)--that taught me how Ctrl-L refreshes the screen. I started reading newsgroups thanks to Pine, and from there, Gopher, the IRC and other text services. For many people, the internet is the browser; for me... well, I won't lie, but email comes a close second.

Since the advent of RSS, I always wondered why couldn't feeds be read by email. So, long before Google Reader shut down, I decided to get more control over my feeds, and created some scripts to receive them via email. I've been using them privately for years and, some months ago, I thought I could extend them a bit and make a public service from them.

You know the drill: "I have some scripts; surely it can't be that difficult to refactor some code and make it work for everyone". Months later, you're struggling with bugs, servers, feed providers and email clients. Right now, it is ready to talk about it. Not yet ready to show, not yet ready to launch, but let's go step by step.

Personally, I love receiving RSS by email, probably because I'm a power user. Besides RSS, I've been scripting Gmail's IMAP service to schedule incoming and outgoing mails, and by using tags, I make items get out of the way and come back at a specific date and time. Yes, like Boomerang, only some time before it existed--sorry if this sounds hipsterish, I honestly had no idea there was a market for that.

My inbox is always empty because all emails go to other folders, and a personally-crafted algorithm sorts them for me and floats important ones back to my inbox.

However, I didn't have time then to create a service around by hacky scripts anyway because of my full-time job. Nowadays I'm on a sabbatical, so I thought it could be a good opportunity to learn how to launch and manage an online product, and maybe make a bit of much needed recurring income.

Email has its advantages

Even if you are not a developer, Gmail provides with smart filters that can be intelligently used to handle incoming email. For example, when I got back from holidays I had a lot feeds waiting for me, but I deleted old item which no longer applied with a few searches by date and source, saving a lot of time. Managing emails is a solved problem.

But probably the thing I love the most is that email is offline and always in sync. Feed readers get crazy trying to sync their websites, smartphone apps and feed providers, but if you think about it carefully, IMAP deals with this problem for us. Your smartphone and computer always have the same items, and thanks to push email, always available for reading either online or offline. When you read one, it is automatically marked as read everywhere.

With Feenbox, I want to go one step further and provide much more metadata for email power users. For example, I'm working on attaching all images and small files to emails, because nothing is more infuriating than receiving a feed update where you can't read the actual comic or attached pdf document because it is only available online and there is a server or internet problem. With Feenbox, if you get an email, you get its contents.

Email has a widely known "share" feature: just forward it! Furthermore, most social websites, like Facebook and Flickr, have an incoming email gateway, so you can post anything to Facebook just by forwarding an email. That's pretty cool, but not many users know about that.

Scripting and filtering emails is so easy and powerful that I want to apply it to feed reading.

Presenting feenbox

feenbox is currently under development, still has some bugs, but the basic multi-user features are already implemented.

I want to make a dual effort, both to provide a service but also to teach users how to use their email efficiently. Every month there is a new post on Hacker News arguing that "we need to reinvent email", with which I usually disagree. Email is great, but we need to make an effort to educate users on how to make the most of it. The rest can be done with filters and IMAP scripting--and client-server programming, let's not forget the amount of work that Apple and Google are pushing towards the authentication side, data detection and such.

Let's say that feeds are an excuse to learn how to filter out emails, share them and convert them to various formats.

Finally, I go back to the beginning of my story. Since I love using terminals, Feenbox is built with delicate text/plain support. Right now it can convert images to ASCII art to let pine/mutt users get a quick preview of an image before opening their browser. I also have some more ideas on the pipeline, like the ability to automatically transform documents into text, OCR images and more.

I want to build a service that geeks and hackers can fall in love with, avoiding breaking their workflow. I want to restrict to a reasonable minimum the amount of external tools that are needed to process a single email, like web browsers, pdf readers, document editors, etc.

To summarize, feeds are a great excuse to experiment with email scripting. Besides feed handling, about 60% of the code are email parsers and data detectors and converters. By the way, for a guy who's been dealing with biological data for seven years, I don't know which is more difficult to parse, a human genome or a human email!


In a few months, it will be ready for an alpha release, and I set up a mailing list for those interested. I have currently sent two emails, one each month, with an extended introduction (in Spanish, but trust Google Translator) and a poll with the most requested features.

There is great communication with the subscribers and many have emailed me their suggestions. At the moment we are about 50, which is a tiny number, but this is a one-man operation, and I am already learning a lot about launching a product. I want it to be small and friendly.

If you are interested in the development or may consider applying as an alpha user, please sign up. The list is handled by Mailchimp, so you will get no spam and can unsubscribe at any time if you don't find it interesting.

Thanks for reading all of this! If you don't want to subscribe to the list, I'll also keep you informed on this blog.

Tags: feenbox, web

Comments? Tweet  

Bile is not freedom of speech, but neither is censorship

May 16, 2014 — Carlos Fenollosa

Twitter—and most sites which support user comments—are filled with filth. Unfortunately, that's an indisputable rule of the internet. Some people are just unaware of the power of their words, and write comments that expose the worst of human nature, like the guy who cheered the murder of a Spanish politician

Despicable as that comment is, however, I think that police resources would be better used if going after actual criminals or corrupt politicians instead of angry teenagers. On the other hand, people should start learning that throwing bile on internet comments may be freedom of speech but also an offence of verbal threatening. Let's just start behaving like intelligent people and try neither to threaten others nor indict dumb twitter users.

My point here is that the internet was born free, and it is now turning into a "regular" business: money will pay quality of service, online media will be regulated as if hyperlinks and news excerpts were copyright infringement, and now all internet comments will be treated as if they were uttered on the real world; at the main street or on a news outlet.

That is not necessarily bad, per se. However, the people and lobbies regulating the net are the same people who think cookies are a menace to user privacy and have strong political and economical interests on putting strong leashes to users. The internet has been bypassing their establishment for about 20 years and now it's time to put an end to that.

Should the internet be different from the rest of society? It's not a rhetorical question. However, there is no easy answer. The net has created new idiosyncrasies and, if we change the rules of the game, more things need to change. However, politicians don't understand—or don't want to—this concept.

If they charge business for their QoS, then those business must be able to demand public internet providers where there are monopolies or oligopolies. If a blog can be sued for copyright infringement, so must be TVs that feed from youtube users. The list goes on.

The problem now is that it's too tempting for the establishment to regulate everything in their favor. And, given that they have the ability to do so, puts democracy to shame. That is, if there is one.

As incredible as it sounds, the tinfoil-hat people were actually right. What's more indignant, teenagers may pay large fines for hate speech while governments steal their naked pictures from their webcams and companies take our tax money to turn it against our interests.

Regrettably, for those who didn't know it, that is how the world has always worked. The internet was a small oasis that lasted a few years and gave us a taste of real freedom, for the good and the bad—Silk Road, CP, etc.

What now? I think we should support organizations that defend our rights, software that empowers us instead of relying on the bona fide of our providers, and helping develop a new internet, if that were the case.

In Spain, we have a saying "hecha la ley, hecha la trampa". It means that the cheaters will always be one step ahead of the rules. Applied to the internet, that will be a good thing for users and freedom.

Tags: law, web

Comments? Tweet  

Chat wars

May 15, 2014 — Carlos Fenollosa

Coming in each morning to see whether the client still worked with AOL was thrilling [...] One day, I came in to see this embedded in a message from the AOL server: "HI. -MARK." It was a little communication from engineer to engineer, underneath the corporate, media, and PR worlds that were arguing over us. I felt some solidarity with him even though we were on opposing sides.

A great story from David Auerbach, who was in the original MSN Messenger team, explaining reverse-engineering AIM's protocol to be able to interoperate with them.

As someone who used Messenger for many years, the piece brought me back in time. Well written, interesting, and entertaining.

Tags: retro, programming, web

Comments? Tweet  

The ignorant EU cookie law

March 18, 2014 — Carlos Fenollosa

It is 2014, and many webmasters still don't know that there is a new EU law which regulates cookies and other data stored in user computers. This is part of a noble effort to protect user privacy, which, well, I personally support.

Unfortunately, the actual law is technically incompetent and does nothing for user privacy while placing a lot of responsibility on webmasters and costing them a lot of time and money.

Put it another way, this law wants to protect users by forcing spoon merchants to inform clients about the chance of being harmed by a spoon while ignoring knife, drug or gun merchants. It's useless.

This uselessness and absolute ignorance of how the Internet works is costing EU webmasters a lot of time and money. In my case, I counted them, about ten hours. For large companies, it can be a lot more.

Why am I against this law? Why do I say it is useless?

It doesn't protect user privacy

Cookies are not the only way to track us. Modern methods use just Javascript (i.e. the Facebook 'like' button) and leave no data on the user's browser.

Furthermore, the browser itself can be used to uniquely identify you. Test it

What's worse, it says nothing about doing analytics with personal data, like the IP.

And how could we forget the fact that it is the governments themselves who are spying on users? How on Earth need cookies legislation if the UK and US just steal pictures from our webcams, data from our emails and information from our text messages?

Our legislators must be absolutely ignorant or absolute hypocrites to regulate cookies while governments spy on us. I'm not sure which one is worse.

Cookie management was solved 20 years ago

Let's assume that the previous reason wasn't valid. Let's assume cookies were a real menace to user privacy.

Well, this problem was solved since IE4, when browsers invented the cookie warning popup window.

Managing cookies in the browser is the best idea, for many reasons:

  • It is a central tool to manage cookies.
  • Display a common interface for all cookie warnings. With the current law, every webpage displays the notification with a different style and location: on top, on the bottom, on a side, on a popup. Visitors don't know where to find it.
  • We should trust user software instead of website policies. What if a website was using cookies to track me? Should I trust them? Would it solve anything that they had to pay a fine if they have already stolen my data? Concerned people should use trusted browsers, and hardened open-source operating systems, if possible. To state an example, Facebook would earn more money by breaking this law and spying on us with cookies than the fine it would have to pay if they get caught.

It confuses users

I did a quick survey with some non-technical people, asking them if they had seen this "cookies notice". They said they had. I then asked them if they did understand what it meant. They didn't.

Modern UXs have overwhelmed us with notification windows, up to a point that we just click on "dismiss" without even looking at them. Well, we should read the text, but the truth is that many people don't. Instead of arguing over what should be done, let's try to avoid contributing to the too-many-notifications problem, and just solve them on the browser.

By the way, I bet that the most clicked button on IE6 was the "Accept all cookies, do not bother me again" checkbox.

It costs people a lot of pain and money

Let's imagine there are a million websites in the EU. Let's imagine every webmaster takes, in average, 8 hours to adapt each to the new cookie laws. Let's imagine the average webmaster cost is 50€/hr

This useless law has costed EU companies and individuals 400 million euros. Nice way to impulse the internet economy.

Different countries have different requirements

In the UK, it is enough to provide a notice to tell users that the website uses cookies.

About ten years ago, browser developers decided to remove the UX label that notified the user when cookies were received because they thought there was not much to show. Now we have to implement them again, on a per-site basis. Outstanding, given that the cookie is set anyway.

Bad as it is, in Spain, a website can't set cookies unless the user accepts them, either by scrolling or clicking a link. At least, well, the user is "protected" by default, even though the technical solution is harder.

Helping the community

Angry as I am right now for having wasted ten hours of my life implementing a useless law, I thought the least I could do, besides writing a rage post, was to share my solution.

You can go to Github and download the sample I prepared. It's the same code that you can see running here if you noticed the banner. It might not be the best, but at least it gives webmasters a starting idea, and no-PHP, 100% HTML+javascript routine to run all Analytics and cookie-dependent code.

To summarize my implementation, it consists of a javascript file which handles the cookie banner, sets the actual cookie when the user gives consent, and also manages some exceptions. Unlike most of the solutions I found, which only display the banner, this code does actually handle cookies.

Check it out, and please, feel free to send pull requests and discuss its issues.

Final thoughts

I think my points are quite valid, and this is actually a useless and annoying law that serves nothing and costs money. If the regulators had consulted a competent panel, they would have learned that the cookie law does not serve their noble intention of protecting users.

The root problem, again, is that our politicians don't have the slightest idea of how the internet works. These are the same guys that now must decide on the fate of the internet as we know it.

I don't know about you, but I lost all my hopes long ago.

Did my code save you any time and money? Please donate it to the EFF.

Tags: law, web

Comments? Tweet