Carlos Fenollosa

Carlos Fenollosa

Engineer, developer, entrepreneur

Carlos Fenollosa — Blog

Thoughts on science and tips for researchers who use computers

No more Google Analytics

May 22, 2020 — Carlos Fenollosa

I have removed the GA tracking code from this website. does not use any tracking technique, neither with cookies, nor js, nor image pixels.

Even though this was one of the first sites to actually implement a consent-based GA tracking, the current situation with the cookie banners is terrible.

We are back to the flash era where every site had a "home page" and you needed to perform some extra clicks to view the actual content. Now those extra clicks are spent in disabling all the tracking code.

I hate the current situation so much that I just couldn't be a part of it any more. So, no banner, no cookies, no js, nothing. Any little traffic I get I'll analyze with a log parser like webalizer. I wasn't checking it anyways.

Tags: internet, web, security

Comments? Tweet  

I miss Facebook, and I'm not ashamed to admit it

April 13, 2019 — Carlos Fenollosa

I'm 35. Before Facebook, I had to use different tools depending on whom I wanted to chat with.

I'm not talking about the early era of the Internet, but rather the period after everybody started getting online. Chat was just getting popular, but it was quite limited.

We used ICQ/MSN Messenger to chat with real life friends. IRC was used mostly for "internet friends", as we called them back then. Finally, we had the Usenet and forums for open discussion with everybody else.

If you wanted to post pictures, Flickr was the go-to website. We didn't share many videos, and there was no really good tool to do so, so we didn't care much.

There was Myspace, and Fotolog, very preliminar social networks which had their chance but simply didn't "get it."

Then Facebook appeared. And it was a big deal.

Add me on Facebook

Whenever you met somebody IRL you would add them to Facebook almost immediately, and keep connected through it.

Suddenly, everybody you knew and everybody you wanted to know was on Facebook, and you could reach all of them, or any of them, quickly and easily.

At that time, privacy was not such a big concern. We kinda trusted the network, and furthermore, our parents and potential employers weren't there.

On Facebook, we were raw.

At some point it all went south. The generational change, privacy breaches, mobile-first apps and the mass adoption of image and video moved everybody to alternative platforms. Whatsapp, mainly for private communications, and Instagram as our facade.

I wrote about Facebook's demise so I will not go through the reasons here. Suffice to say, we all know what happened.

The Wall was replaced by an algorithm which sunk original content below a flood of ads, fake news, and externally shared content "you might like". We stopped seeing original content. Then, people stopped sharing personal stuff, as nobody interacted with it.

In the end, we just got fed up with the changes, and maybe some people just wanted something shiny and new, or something easier to use.

Facebook was a product of its era, technologically and socially. But, as a service, it was peak human connection. Damn you Zuck, you connected mankind with a superb tool, then let it slip through your fingers. What a tragic outcome.

Current social networks, not the same thing

I, too, moved to Instagram when friends stopped being active on Facebook and encouraged me to create an account there.

Then I realized how fake it is. Sorry for the cliché, but we all know it's true.

I gave it an honest try. I really wanted to like it. But I just couldn't. At least, not as an alternative to Facebook. Stories were a step forward, but I felt —maybe rightfully— that I was being gamed to increase my engagement, not to have access to my friends content.

Instagram is a very different beast. There is no spontaneity; all posts are carefully selected images, masterfully filtered and edited, showcasing only the most successful of your daily highlights.

I admit it's very useful to connect with strangers, but the downside is that you can't connect with friends the same way you did on Facebook.

Of course, I'm not shooting the messenger, but let me apportion a bit of blame. A service that is a picture-first sharing site and demotes text and comments to an afterthought makes itself really difficult to consider as an honest two-way communication tool.

Instagram is designed to be used as it is actually used: as a posturing tool.

On Facebook you could share a moment with friends. With Instagram, however, moments are projected at you.

I miss Facebook

I miss knowing how my online friends are really doing these days. Being able to go through their life, their personal updates, the ups and the downs.

I miss spontaneous updates at 3 am, last-minute party invites, making good friends with people who I just met once in person and now live thousands of kilometers away.

I miss going through profiles of people to learn what kind of music and movies they liked, and feeling this serendipitous connection based on shared interests with someone I did not know that well in real life.

I miss the opportunity of sharing a lighthearted comment with hundreds of people that understand me and will interpret it in the most candid way, instead of the nitpicking and criticism of Twitter.

I miss the ability to tell something to my friends without the need of sharing a picture, the first-class citizen treatment of text.

I miss the degree of casual social interaction that Facebook encouraged, where it was fine to engage with people sporadically. On the contrary, getting a comment or a Like from a random acquaintance could make your day.

I miss when things online were more real, more open.

I miss peak Facebook; not just the tool, but the community it created.

Facebook was the right tool at the right time

Somebody might argue that, for those people I am not in touch anymore, they were clearly not such big friends. After all, I still talk to my real-life friends and share funny pics via Whatsapp.

Well, those critics are right; they were not so important in my life as to keep regular contact. But they still held a place in there, and I would have loved to still talk to them. And the only socially acceptable way to keep in touch with those acquaintances was through occasional contact via Facebook. I've heard the condescending "pick up the phone and call them"; we all know that's not how it works.

In the end, nobody is in a position to judge how people enjoy their online tools. If users prefer expressing themselves with pictures rather than text, so be it. There is nothing wrong with fishing for Likes.

So please don't misinterpret me, nobody is really at fault. There was no evil plan to move people from one network to another. No one forced friends to stop posting thoughts and post only pics. Instagram just facilitated a new communication channel that people happened to like more than the previous one.

When Facebook Inc. started sensing its own downfall, they were happy to let its homonymous service be cannibalized by Instagram. It's how business works. The time of Facebook had passed.

I'm sorry I can't provide any interesting conclusion to this article. There was no real intent besides feeling nostalgic for a tool and community that probably won't come back, and hopefully connecting with random strangers that might share the same sentiment.

Maybe, as we all get older, we just want to enjoy what's nice of life, make everybody else a little bit jealous, and avoid pointless online discussions. We'd rather shut up, be more careful, and restrict our online interactions to non-rebuttable pictures of our life.

We all, however, lost precious connections on the way.

Tags: life, internet, facebook, web

Comments? Tweet  

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