The book that changed my life will horrify some of my friends

Atlas Shrugged by Ayn Rand changed my life. Whether that was for the better or worse, it’s up for each person to decide. For me, I’m very happy with the change and I’m glad it happened. I didn’t turn into an objectivist though.

Literarily, I don’t think the book is great. I think Ayn Rand needed an editor, a very strong one. Those 15 page-long single-paragraph monologues do not make the book better. The book should probably be reduced to 500 or 600 pages from its staggering 1192.

The book divides the world into good and bad people, like many stories do, and it’s a bit simplistic. There might be a few surprises but at the end, everyone is clearly good or clearly bad. At least from Ayn Rand’s perspective. So far, nothing surprising. What was surprising for me is how the world is divider.

Good people are producers, they are the people that come with ideas, that start companies, that push progress, that fund science. Bad people are consumers, the ones that take more than they give, the ones living on welfare, but also the ones creating welfare. Bad people are the one telling the good ones that they cannot reap the benefit of their work, that it should be share.

Atlas ShruggedIn Atlas Shrugged, the good people are the Steve Jobs, the Thomas Edisons, the Steve Wozniaks, the Elon Musks, but also the Nikolai Teslas. The badies meanwhile are the Karl Marxs, the Vladimir Lenins, etc.

That’s what the book says, what objectivism is about, and not what I necessary believe. My personal belief is that if you stop the Jobs, Edisons, Musks, then you are a badie, you are stopping progress. But as a society we should take care of the people that fall into misfortune, of the ill, of the downtrodden, of the disabled, of the needy. That’s where I disagree with Ayn Rand.

One issue with the book is that she equates CEOs to the good people and that frustrates people because a lot of CEOs are more takers than creators. And most creators, like Tesla, never carried the title of CEO. Indeed, the biggest creator of all in the book is not a CEO, it’s a lowly engineer.

I don’t believe being a taker makes you a bad person but I do believe that being a taker when you can be a creator makes you bad person and this is why the book change my life. When I read it I was a taker. I was an entitled engineer working at Google most likely not producing as much as I could take when I knew my ability to product was much higher. I was waiting for someone to open the door for me to a position of productivity and that wasn’t going to happen, you have to open the door yourself.

My life changed, I decided to become a producer. So far, I reached the point of co-founding a startup that reached 4 employees (not counting me) that created various products that hopefully are making people more effective and productive. And I’m just getting started. I want to do more, I want to get bigger and provide a great working environment for more people and produce more and better products. I want to produce and give as well as take my share for my work.

Since reading Atlas Shrugged I’m a much better member of society and I wish other people would also make this transformation but I doubt Atlas Shrugged would be the catalyst for many people. It has too many issues.

Picture by Anoop Menon


Hell yeah or no

In Tim Ferris’ interview of Derek Sivers, in which he says that if your answer to a question is not “Hell yeah”, it should be “no”. This got the “Hell yeah” from many listeners and some custom artwork created. But I’m not sure I agree.

Let me elaborate a bit on the concept. Derek Sivers’ argument is that if you say yes to too many things you are going to be oversubscribed and when something truly awesome comes your way, you won’t be able to say yes because you’ll be too busy, too tired or won’t even notice. He said that if it wasn’t for him constantly saying “no” to everything, he wouldn’t have started the Nownownow project.

What’s missing from this equation is the opposite. If you are too picky, if you often have better things to do, if you are not constantly bombarded by projects and opportunities, like Sivers is now, then you might become isolated. You might miss the great opportunities because you weren’t there to see them.

I think a better approach should be something along the line of “You should be taking N new opportunities per year” where N is of course, hard or impossible to define. It’s up to you but the frequency of saying yes and no should vary to have a constant N. If you are bombarded for opportunities, then yes, you need a strong filter, such as “Hell yeah or no” but if you are not, then you need to go out and find them and that means saying yes to things that are not “Hell yeah”.

For example, for the past 4 years I been hyper-focus on my company, Carousel Apps, and my productivity has been high. But also, I missed the enjoyment of helping others with startup and the opportunities of collaboration, making connections, etc. That’s why in 2016 I want to have one evening a week sitting down and having a long conversation with someone about whatever it is they are doing and trying to help them in any way I can.



Weeks are better than months

If I say to you “let’s meet in a month” you probably won’t know exactly when we are meeting again. It’s an approximation at best. Do I mean 30 days? do I mean the exact same day number but on the next month? What if that month doesn’t have that day, like February 30th? What if we are in a business setting and 30-days-later or same-number-of-the-month falls on a Saturday? As you see, months, as a measure of time, can be pretty useless. Specially when talking about small numbers, like 1 or 2.

There’s a better unit. The week. How long is the week? 7 days. All weeks are 7 days, no exceptions. If I say “‘let’s meet in a week” you know what I mean. Add seven days to today and that’s when we are meeting. If it’s a Monday, in a week, it’s also a Monday. Also, weeks are smaller, more granular, which is useful for little projects. If I ask “When is X is going to be done?” I’d rather hear it expressed in weeks rather than months.

We normally use months because they allow us to set up a time in the year. We can say “July” and know when it’s that. Weeks can do that too actually.

Did you know that the weeks of the year are numbered? It is call “ISO week date” where ISO stands for International Organization for Standardization. Since a year doesn’t start on the same day of the week every year and also has variable numbers of days, years may have 52 or 53 weeks. This allows to say week 5 or week 30 and refer to a specific week of the year. There’s even a format: 2015-W5-1. That referees to Monday of week 5 of 2015.

If you are using Google calendar, you can add the week numbers to it following this procedure:

  1. Click on “Other calendars”
  2. Click on “Browse Interesting Calendars”
    Using Week Numbers in Google Calendar - Browse Interesting Calendars
  3. Click on “More”
    Using Week Numbers in Google Calendar - More
  4. Next to “Week Numbers” click on “Subscribe”

From now on, in your week view, you’ll see a small rectangle with the week number, in this case, week 6:

Using Week Numbers in Google Calendar - Week 6

It also appears on your list of other calendars, so you can change the color and enable or disable it:

Using Week Numbers in Google Calendar - Other calendars

The most organized businesses I came in contact with, made extensive use of calendar numbers and I intend on doing the same and recommend it to other people. I think the first obstacle to overcome is making the number ubiquitous so that when you use it, saying “week 6” for example, people know intuitively what you are talking about.

Let’s do it.

Picture by Yandle.



2016-01-01 16.47.48

LEGO-powered multi-party-popper deployer

On New Year’s day, my partners woke me up to the sound of “Happy New Year” and two party poppers going off. Then, they made the mistake of falling asleep on my bed. Revenge came, powered by LEGO, let me introduce you to The LEGO-powered multi-party-popper deployer:

2016-01-01 16.47.482016-01-01 16.47.33

So, it actually didn’t work quite well, when I pulled it disassembled and three party poppers didn’t deploy. If you are building one, make sure to add more reinforcements.


Happy New Year

Happy New Year! Up to now, Marty McFly has showed us what to expect, but from now on, we are in uncharted territory. It’s time to start making our own future, our own decisions. We can now focus on things more important than hoverboards. Just kidding, hoverboards are cool.

More than four years ago I co-founded Carousel Apps and since then I’ve been the CTO and now I am the CEO. I, like many geeks and entrepreneurs, can super focus on one thing and ignore all others. This can be very productive, but it can isolate you.

For example, I forgot how much I enjoy sitting down with someone and being the bounce board for their ideas or providing my technical expertise on how to execute those ideas. I ended up doing just this recently, which was a reminder, and now I want to do it more often. During 2016, I want to do it once a week.

I’ve been coding for 25 years, I used around 17 different language in many different operating systems and countless frameworks. I worked for Google. I co-founded two startups (or more, depending how you count). I had production systems in both Linux and Windows. I use a Mac and I used Linux as my desktop. I’m the CEO of a distributed company. If any of these things or the many others I’ve done make it sounds like it would be useful for us to sit down for an evening and talk about your startup, let’s do it!

During 2016 I want to spend one evening a week helping a different entrepreneur each time, specially non technical ones, with their issues, specially the technical ones. I want to do this for free, just because it’s fun. I’m located in London and I want to divide my time roughly equally between face to face meetings in London and remote ones with people from all over the world. By the end of 2016, I hoped to have helped 26 London based entrepreneurs and 26 from other places.

If this is something that you want, fire an email to pupeno@pupeno.com and tell me a bit about yourself and what do you want to talk about.

Happy New Year!


to-jdbc-uri 0.5.0 released

We just released to-jdbc-uri 0.5.0 with support for URL parameters. Courtesy of Joe Kutner.

I’d like to note, sometimes I hear that the Clojure community doesn’t care about testing, but to-jdbc-uri has a very complete testing suite and so far, this and other contributions came fully tested.


How I found one of the earliest browsers in history

Yesterday, the web celebrated its 25th birthday and to join in, I want a little story. A couple of years ago I found a NeXTcube. I’m not going to say where it is to avoid vandalism (the computer is publicly accessible under some circumstances without much oversight), but this is the story. Sir Tim Berners-Lee coded the earliest version of the web in his NeXTcube workstation when he was working at CERN, so, I was always interested in this machines, from a historical/playful point of view.

The cube that was in front of me was more or less abandoned and I asked the owner if I could play with it. He was very reticent but I was more relentless and I got to play with it. He told me that Next computer belonged, at one point, to CERN and that it has not been used since then. I decided to explore it.

The first interesting thing I found was a file containing a lot of email addresses from people that seemed to work at CERN or be related to CERN in some form or fashion. The owner of the computer decided to be overly professional and deleted the file.

The second interesting thing I found completely blew my mind. There was a folder called WorldWideWeb and inside it several files called WorldWideWeb_0.1.0.tar, 0.1.1.tar, 0.2.0.tar and so on. Could this be? I opened one by one and indeed they were apps. I started with the oldest and executed them one by one.

The first one raised an error as it tried to contact cernvax.cern.ch (this Next cube was disconnected) and then it crashed:


I kept on going and eventually one started. It was very plain but I knew what it was. I quickly went back to my terminal, open vi, and wrote a small HTML file, which then I passed as a parameter to the little WorldWideWeb_0.2. It worked… it displayed an h1 as a title!

I was jumping out of my skin. I don’t want to publish the whole picture to avoid releasing private information, but I’m standing, next to the cube, pointing and what could possible be the earliest version of the web browser that still works today, displaying a web site I just coded (it says Hello World):


Then I discovered the browser allowed me to edit the page, directly there, without having to do anything special, and I remembered that Sir Tim Berners-Lee originally designed the web to be read-write, not read-only.

That was one of the most exciting moments of my life. When I got home I wrote an email to Sir Tim Berners-Lee, telling him of my finding and where he could find that computer, just in case he wanted to get ahold of those binaries (I couldn’t find any source code anywhere on that machine). He never replied, I don’t know if he ever got my email. I bet he gets a lot of it and that he’s a very busy man.

Update: explained a bit why I don’t want to reveal where this happened.