LinkedIn to CSV chrome extension

LinkedIn to CSV

Note: the Chrome extension is no longer available, it has been taken out from the store due to a claim from LinkedIn. They’re happy to profit from other’s people data but it seems they don’t like others being able to use it.

Source code in Github is here.

A simple Chrome extension that allows saving people key data into CSV. Not a lot of functionality but not too bad for a Sunday afternoon 馃檪

Whenever you visit a profile in LinkedIn this Chrome extension will show a button which will allow downloading the basic information (full name, title, location and industry) to a CSV file.

Weekist – simple report generation from Todoist tasks

Hi everybody, the second聽version of Weekist ( is here. This new version allows to generate reports for the tasks you have accomplished during the week,聽month or for a custom date range.


In order to login in Weekist just use your Todoist login and password, that information will not stored in Weekist, we don’t need it because we validate the login against Todoist server (it Todoist server is down Weekist will not work).

Please note that聽the first time you login it will take some time to retrieve the completed tasks, once that process is finish the generation of the reports should be quite fast.

There are some new features that will allow you to customize your reports filtering labels and projects. Also you will be able to include the notes associated to a task. You can also print (or save as PDF) or send the report by e-mail to your Todoist email address.

Enjoy, and if you have questions, comments or improvements please send me an e-mail to

IMPORTANT: project has been discontinued. Source code has been released here

Implement task duration in @Todoist (workaround with @IFTTT)

Todoist is a great todo list and integrates with other applications such as Google Calendar or聽Sunrise in such a way that you can see your tasks in this wonderful calendar application.

Unfortunately, Todoist doesn’t yet support defining the duration of the tasks, so by default every task is shown as 1 hour duration. This is obviously less than ideal if you want to plan your day properly.

In order to overcome this problem I’ve found a workaround using IFTTT聽and聽Google Calendar. In my setup I link Google Calendar to聽Sunrise, my favorite calendar app (you can integrate Google Calendar with many other apps).


  1. Create a new recipe in IFTTT so that whenever you create a new task then an event is created in your Google Calendar. In my case I have modified this recipe, only the tasks created with the label @s! appear聽in my calendar.

The full recipe is shown below:

QuickaddeventIn order to simplify the process you can use this recipe and modify as you wish.

  1. Add your tasks to Todoist using Google Calendar quick event format. It’s quite simple and intuitive. E.g.聽@s! Study Anki flashcards for 30 minutes today at 12:00

  2. This聽will trigger IFTTT to create a new event in my Google Calendar, showing the specified duration of the task (instead of the default 1 hour). It will also include a link back to the original Todoist task so when I have completed I can mark it off in Todoist very easily. This is how it looks like in Google Calendar and Sunrise

Event in Google Calendar
Event in Google Calendar




Sunrise capture
Event in Sunrise



As you can see it’s pretty easy and it just works fine as workaround until the task duration functionality is implemented in Todoist. If you have any question please leave a comment below.



Collect your 2015 achievements automatically with Todoist & IFTTT

When I was looking back at what have been my main achievements last year 2014 I realized that it is not that easy to remember everything and that it requires a fair amount of time to do it properly, especially when you want to go into the details e.g. what books did I read last year?

In order to simplify the exercise this year I decided to automate at least the collecting part using Todoist and IFTTT (I will still need to do the analysis of what went ok and what I can improve).

Option A: if you don’t have Todoist Premium
  • Start using my basic recipe here
  • Select the project you want to watch for tasks completion (“Project to watch”). e.g. Books
  • Select the project where you want to create the report of achievements (“Which project?), e.g. Achievements 2015
  • Inside the projects Achievements 2015 IFTTT will automatically create the “completed” tasks formated as: * {{CompletedAt}} 路 {{Project}}: {{TaskContent}}
    e.g. January 02, 2014 at 09:17PM 路 Books: How to fail at almost everything and still win big (Scott Adams)
Option B: if you have Todoist Premium
  • If you have Todoist Premium then you can use labels and simplify the above process
  • First, decide which label you will use for the tasks which you want to include in your Achievements log e.g. @t!
  • Create a new recipe in IFTTT as follows:
    1. Trigger: New completed task with label t! in Any Project
    2. Action: Create a new task in Achievements 2015 formatted as in the previous option * {{CompletedAt}} 路 {{Project}}: {{TaskContent}}
  • You can see the full recipe below


  • This recipe will allow to monitor all your projects and record every completed milestones (in my case marked with @t!) inside the Achievements 2015 project

I hope this is useful for you. If you have any questions or suggestions please leave a comment below.

Technical Analysis vs. Fundamental Analysis

descarga (31)Technical analysis uses charts, showing stock movements (prices & volumes), as a tool to predict how stock prices will evolve in the future. Chartists believe that the market is only 10% logical and 90% psychological.

images (72)

Fundamental analysis seek to determine a firm intrinsic value based on its expected growth rate, dividend payout, interest rates and risks. Fundamental analysts believe that market is 90% logical and 10% psychological.

Technical Analysis

Two main principles:

  1. All information about earnings, dividends and future performance of a company is already reflected in company’s past stock prices.
  2. Prices tend to move in trends, and trends tend to continue until something happens to change the supply-demand balance e.g. if a stock is rising it will continue rising. The prices at what the trend is about to change are called resistance levels.

Fundamental Analysis

Fundamentalist’s primary concern is what a stock is really worth, which is based on the estimation of four key determinants: growth rate, dividend payout, degree of risk, and the level of market interest rates.

Using Fundamental and Technical Analysis together

  1. Buy only companies that are expected to have above-average earning growth for five or more years.
  2. Never pay more for a stock than its firm foundation of value
  3. Look for stocks whose stories of anticipated growth are the kind on which investors can build castles in the air

Further reading

Holistic Learning

What is it?

lmslIt is learning method based on the interconnection of concepts. The idea is to make a link between the new concepts being learned and already known concepts / ideas.

How do you apply it?

The main goal is to build new knowledge starting from models. In order to create the models three methods are applied:

  1. Visceralize: represent and summarize the model using all your senses so you can associate the concept with something you can see, taste, smell, etc. This simplified “image” is easier to remember.

    Ask yourself what the concept would look, sound, feel like.

  2. Create Metaphors: to interlink ideas you uses similes i.e. relate the new idea with another one which is similar in some way

    Think about what reminds you the new concept / idea.

  3. Explore: go through your models and polish them removing errors and wrong connections between ideas. Complete also the holes and missing pieces of information.

    Use your network of concepts to validate its accuracy through problem solving

Further reading

Holistic Learning E-book (free)

The firm-foundation investing theory

Each investment instrument has an intrinsic value which can be determined by careful analysis of present conditions and future prospects. Investing is then just a matter of buy or sell decisions comparing actual price with its firm foundation value.

From the point of view of the very-long term investor, the worth a share is the present or discounted value of all future dividends he will receive from owning the stock.

Four fundamental determinants affecting value of shares

Determinant 1: expected growth rate

A rational investor should be willing to pay a higher price for a share:

  • the larger the growth rate of dividends, and
  • the longer the extraordinary growth rate is expected to last.

Determinant 2: expected dividend payout

A rational investor should be willing to pay a higher price for a share, other things being equal, the larger the proportion of a company’s earnings that is paid out in cash dividends.

Determinant 3: degree of risk

A rational investor should be willing to pay a higher price for a share, other things being equal, the less risky the company’s stock.

Determinant 4: the level of market interest rates

A rational investors should be willing to pay a higher price for a share, other things being equal, the less risky the company’s stock.

Three caveats

  1. Expectations about future cannot be proven in the present, therefore, prediction of future earnings and dividends implies always a dose of uncertainty.
  2. Precise figures cannot be calculated from undetermined data (the information used to make the calculations is based on estimates).
  3. The fundamental determinants are liable to change depending on market psychology (stocks are bought on expectations, not facts).

Further reading

Steve Blank’s Customer Discovery Checklist

descarga (30)Customer Discovery involves three phases:

  1. Preparation before leaving the building
  2. What I’m supposed to do when leaving the building?
  3. What should I do with the information I have captured?

Phase 1: Before leaving the building

  1. Pre-plan contacts:
  • Plan in advance who you want to contact and come up with at least 100 names so you have plenty of opportunities to validate your ideas.
  • Organize the contacts to be face-to-face or through Skype so you can get additional information from body language and have the possibility or answering questions from your contact.
  • Make a last open question “What should I have asked you?”; this will allow the other person to provide you with valuable hints regarding the problem you’re trying to solve.
  • On trick to get meetings with people is starting with a line like “Hi, my name is X, and I’ve been told you’re the smartest guy in the business, could I take 20 minutes of your time?”.
  1. Dry-Runs:
  • Practice with your co-founder or employees the Customer interviews so you master them before addressing the real customers.
  1. Discovery is for Founders:
  • Customer interviews must be done by the founders, because you’re not only trying to validate the hypothesis surrounding your ideas but also during the course of the interviews you will have the chance to iterate or pivot if the information provided by the Customer indicates you should pursue a different direction.
  1. Pass / Fail experiments:
  • Prepare pass / fail experiments to validate your hypothesis making bets to yourself regarding the results you will get from the Customer interviews e.g. I bet the ideal customer is a woman between 30 – 40 years with two children.

Phase 2: Outside the building

  1. Be aggressive:
  • You must be aggressive in the Customer interviews so you can push them to release valuable information.
  1. Conducting a Customer interview:
  • Introduce yourself and state what you are looking for.
  • Explain that the main goal for you is to understand how their business works and how you can improve it.
  • Keep it casual to make it less formal and more open.
  1. Customer interview flow:

– Let the conversation flow, take care that you’re covering your key questions but allowing Customer to take control of the conversation and address other topics which could be useful or interesting.

  1. Sizing the opportunity and market size:

– The key goal of the customer discovery is to validate the hypothesis behind the product/market fit i.e. to check that we really know what the Customers are and that our value proposition covers their needs.
– Seize the opportunity: it is important that we estimate properly the market size so assuming everybody in the market buys our product, how big is that?
– What are our competitors in the market? If we are in a market where there are competitors we need to understand how we will differentiate ourselves from them. If there are no competitors that means that there are not yet any customers.

  1. Finding patterns:

– You need to find hints in the information received from the interviews as there may be hidden patters that you can exploit in your product / service.
– Perform interviews until you start hearing the same patterns / information once and again; that would mean that you’ve already understood the real problem.

  1. Looking for insights:

– When talking to Customers you have to grasp the insights of the market e.g. too bad you’re not doing X, Y, Z because none of the competitors do that.

Phase 3: Returning to the building

  1. Finding Early evangelists:

– In Customer discovery you’re looking for early evangelists, people who see your product even better than you do.

  1. Communicating your discoveries:

– Before communicate to your development team you need process the insights and make clear what the messages are.
– Communicate regularly with your development team on the collected data to get feedback from your team.

Further reading