41554 blogs Β· [ { "id": "01a0d839-199c-73c1-a682-640972f2e15f", "title": "Estimating property value from Cap Rate", "url": "https://www.estebansastre.com/blog/2026/09/24/property-value-versus-cap-rate/", "published_at": "2026-09-24T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd926566a9", "title": "Real estate metrics: NOI", "url": "https://www.estebansastre.com/blog/2026/08/24/real-estate-metrics-noi/", "published_at": "2026-08-24T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd934dcf17", "title": "Real estate metrics: Cap Rate", "url": "https://www.estebansastre.com/blog/2026/01/24/real-estate-metrics-cap-rate/", "published_at": "2026-01-24T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd93c2841a", "title": "Real estate metrics: Cash-on-Cash", "url": "https://www.estebansastre.com/blog/2026/01/04/real-estate-metrics-cash-on-cash/", "published_at": "2026-01-04T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9463b348", "title": "What is the French amortization system for mortgages and how does it work", "url": "https://www.estebansastre.com/blog/2025/03/31/mortgage-loan-french-amortization/", "published_at": "2025-03-31T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd94ad971c", "title": "What is the Discounted Cash Flow Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/12/21/discounted-cash-flow-startup-valuation-method/", "published_at": "2022-12-21T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd95886dfa", "title": "What is the Liquidation Value Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/11/15/liquidation-value-startup-valuation-method/", "published_at": "2022-11-15T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd96508c2e", "title": "What is the Book Value Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/11/05/book-value-startup-valuation-method/", "published_at": "2022-11-05T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd96dd705e", "title": "What is the Gross Profit x Competitor’s Multiple Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/11/02/gross-profit-competitors-multiple-startup-valuation-method/", "published_at": "2022-11-02T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd96de5653", "title": "What is the 5x Your Raise Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/10/21/five-times-your-raise-startup-valuation-method/", "published_at": "2022-10-21T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd96f3d11d", "title": "What is the First Chicago Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/10/15/five-times-your-raise-startup-valuation-method/", "published_at": "2022-10-15T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9770c383", "title": "What is the Venture Capital Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/09/30/venture-capital-startup-valuation-method/", "published_at": "2022-09-30T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd97e2094e", "title": "My experience at Nosday 2022", "url": "https://www.estebansastre.com/blog/2022/09/19/nosday/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9891cc6c", "title": "What is the Risk Factor Summation Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/09/18/risk-factor-summation-startup-valuation-method/", "published_at": "2022-09-18T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd98b02f5d", "title": "What is the Valuation by Stage Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/09/06/valuation-by-stage-startup-valuation-method/", "published_at": "2022-09-06T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd99955b77", "title": "What is the Cost-to-Duplicate Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/09/05/cost-to-duplicate-startup-valuation-method/", "published_at": "2022-09-05T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9a46a672", "title": "What is the Berkus Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/09/02/berkus-startup-valuation-method/", "published_at": "2022-09-02T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9ac46a4e", "title": "What is the Scorecard Startup Valuation Method?", "url": "https://www.estebansastre.com/blog/2022/08/30/scorecard-startup-valuation-method/", "published_at": "2022-08-30T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9b808e07", "title": "Twilio Client resilient setup", "url": "https://www.estebansastre.com/blog/2022/08/08/create-twilio-client-join-conversation/", "published_at": "2022-08-08T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9bef32af", "title": "What is a convertible loan and how do they work", "url": "https://www.estebansastre.com/blog/2022/06/06/what-is-a-convertible-loan/", "published_at": "2022-06-06T16:23:56+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9c2dbae5", "title": "Send emails asynchronously from Sendgrid with node.js, AWS SQS & Lambda", "url": "https://www.estebansastre.com/blog/2022/06/06/send-emails-node-sqs-lambda-sendgrid/", "published_at": "2022-06-06T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9c5956b4", "title": "Show Google Calendar events in Fullcalendar with React", "url": "https://www.estebansastre.com/blog/2022/06/06/google-calendar-events-fullcalendar-react/", "published_at": "2022-06-06T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9c5c3222", "title": "Render a loader contidionally in React with a High Order Component", "url": "https://www.estebansastre.com/blog/2022/05/15/conditional-render-hoc-react/", "published_at": "2022-05-15T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9ced6941", "title": "Startup Nuggets #5: Document Everything", "url": "https://www.estebansastre.com/blog/2022/05/04/startup-nuggets-series-document-everything/", "published_at": "2022-05-04T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9dcffabf", "title": "Basic memoizer function in Javascript", "url": "https://www.estebansastre.com/blog/2022/04/27/memoizer-function-javascript/", "published_at": "2022-04-27T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9dfa5042", "title": "Startup Nuggets #4: Choose the Inelegant Solution", "url": "https://www.estebansastre.com/blog/2022/03/27/startup-nuggets-series-choose-the-inelegant-solution/", "published_at": "2022-03-27T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9e74e834", "title": "Startup Nuggets #3: Staying Technically Relevant", "url": "https://www.estebansastre.com/blog/2022/03/08/startup-nuggets-series-staying-technically-relevant/", "published_at": "2022-03-08T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9f0376f9", "title": "Startup Nuggets #2: Motivation and Personal Investment", "url": "https://www.estebansastre.com/blog/2022/02/13/startup-nuggets-series-motivation-and-personal-investment/", "published_at": "2022-02-13T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdd9f98db2d", "title": "Startup Nuggets #1: Multiple Responsibilities", "url": "https://www.estebansastre.com/blog/2022/02/08/startup-nuggets-series-multiple-responsibilities/", "published_at": "2022-02-08T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda02269a3", "title": "Startup Nuggets Series", "url": "https://www.estebansastre.com/blog/2022/02/08/startup-nuggets-series/", "published_at": "2022-02-08T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda07bfb81", "title": "New Year's Resolutions for 2022", "url": "https://www.estebansastre.com/blog/2022/01/02/2022-new-year-resolutions/", "published_at": "2022-01-02T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda15f4921", "title": "Graceful error handling in redux asynchronous actions", "url": "https://www.estebansastre.com/blog/2021/12/16/graceful-error-handling-redux-functions/", "published_at": "2021-12-16T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda24b2f15", "title": "Wordpress shortcomings when creating a web application", "url": "https://www.estebansastre.com/blog/2020/05/10/wordpress-shortcomings/", "published_at": "2020-05-10T17:34:02+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda2aa77ca", "title": "Differences between Dubbel, Tripel & Quadrupel beer", "url": "https://www.estebansastre.com/blog/2020/04/03/beer-dubbel-triplel-quadrupel/", "published_at": "2020-04-03T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda33f78c9", "title": "Trappist Beer", "url": "https://www.estebansastre.com/blog/2020/04/01/trappist-beer/", "published_at": "2020-03-31T23:17:35+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda39c2177", "title": "Writing Other Content", "url": "https://www.estebansastre.com/blog/2020/04/01/writing-other-content/", "published_at": "2020-03-31T23:17:34+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda45c05f8", "title": "Adding quotes to tmux status bar", "url": "https://www.estebansastre.com/blog/2020/03/13/funny-quotes-tmux-statusbar/", "published_at": "2020-03-13T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda50de896", "title": "Oh no, I forgot my PGP private key's passphrase", "url": "https://www.estebansastre.com/blog/2019/04/14/oh-no-i-forgot-my-private-keys-passphrase/", "published_at": "2019-04-14T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda555a6ca", "title": "Making POST requests work with Django tests", "url": "https://www.estebansastre.com/blog/2019/02/10/making-post-requests-work-with-django-tests/", "published_at": "2019-02-10T18:03:35+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda627713c", "title": "Writing a simple Inverted Index in Python", "url": "https://www.estebansastre.com/blog/2018/10/22/writing-a-simple-inverted-index-in-python/", "published_at": "2018-10-22T12:47:56+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda6ef001c", "title": "How to choose your next tech side project", "url": "https://www.estebansastre.com/blog/2018/06/18/how-to-choose-your-next-tech-side-project/", "published_at": "2018-06-18T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda7bf8904", "title": "Understanding requestAnimationFrame", "url": "https://www.estebansastre.com/blog/2018/05/29/understanding-requestanimationframe/", "published_at": "2018-05-29T15:18:12+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda7c3755f", "title": "Year 2017 review and resolutions", "url": "https://www.estebansastre.com/blog/2018/01/09/year-2017-review-and-resolutions/", "published_at": "2018-01-09T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda7dd2936", "title": "mdlink: Linking multiple node modules with a single command", "url": "https://www.estebansastre.com/blog/2017/12/20/mdlink-linking-multiple-node-modules-with-a-single-command/", "published_at": "2017-12-20T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda86025a4", "title": "Ember Cookies over SSL", "url": "https://www.estebansastre.com/blog/2017/12/16/ember-cookies-ssl/", "published_at": "2017-12-16T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda89a55b3", "title": "Understanding PGP", "url": "https://www.estebansastre.com/blog/2017/12/07/understanding-pgp/", "published_at": "2017-12-07T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfdda991ba61", "title": "Array of extended objects in python using list comprehensions and lambda functions", "url": "https://www.estebansastre.com/blog/2017/12/04/array-extended-objects-python/", "published_at": "2017-12-04T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddaa005dfb", "title": "Clojure threading macros in ES6", "url": "https://www.estebansastre.com/blog/2017/09/10/clojure-macros-in-es6/", "published_at": "2017-09-10T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddaa3d7457", "title": "Handling async exceptions in express", "url": "https://www.estebansastre.com/blog/2017/09/10/async-me-gusta/", "published_at": "2017-09-10T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddaaaacf6d", "title": "Ember Websockets & nginx integration", "url": "https://www.estebansastre.com/blog/2017/09/03/getting-docker-compose-path-from-cursor-position/", "published_at": "2017-09-03T15:18:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddaba2b686", "title": "Big Data Integrator (BDI) Integrated Development Environment (IDE)", "url": "https://www.estebansastre.com/blog/2017/08/23/big-data-integrator/", "published_at": "2017-08-23T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddac12a963", "title": "Healthchecks for nginx in docker", "url": "https://www.estebansastre.com/blog/2017/08/15/healthchecks-nginx-docker/", "published_at": "2017-08-15T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddac1c0ef6", "title": "Git subtree introduction", "url": "https://www.estebansastre.com/blog/2017/08/10/git-subtree-introduction/", "published_at": "2017-08-10T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddac691c02", "title": "Routing in Javascript", "url": "https://www.estebansastre.com/blog/2017/08/05/routing-in-javascript/", "published_at": "2017-08-05T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddad41882e", "title": "Ember & nginx docker deployment with multi-stage builds", "url": "https://www.estebansastre.com/blog/2017/07/26/ember-nginx-docker-deployment-with-multi-stage-builds/", "published_at": "2017-07-26T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddadfadf99", "title": "Understanding HTML terminology", "url": "https://www.estebansastre.com/blog/2017/07/21/understanding-html-terminology/", "published_at": "2017-07-21T16:04:26+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddae400eda", "title": "Passing arguments to Dockerfiles", "url": "https://www.estebansastre.com/blog/2017/07/15/passing-arguments-to-dockerfiles/", "published_at": "2017-07-15T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddae6c59c4", "title": "Automatically loading json files to ElasticSearch", "url": "https://www.estebansastre.com/blog/2017/07/13/automatically-loading-json-files-to-elasticsearch/", "published_at": "2017-07-13T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddaeac20b5", "title": "My experience in JSCONF Belgium 2017.", "url": "https://www.estebansastre.com/blog/2017/07/04/my-experience-in-jsconf-belgium-2017/", "published_at": "2017-07-04T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddaf177253", "title": "Types of dependencies in NPM.", "url": "https://www.estebansastre.com/blog/2017/06/25/types-of-dependencies-in-npm/", "published_at": "2017-06-25T19:48:15+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddaf6f7a43", "title": "Easy way to log network traffic from docker containers", "url": "https://www.estebansastre.com/blog/2017/06/01/log-network-traffic-from-docker-containers/", "published_at": "2017-06-01T00:00:00+00:00" }, { "id": "01a08775-52c5-70f4-bb58-cfddb0311832", "title": "Minimal working setup Rails 5 API + ActiveAdmin", "url": "https://www.estebansastre.com/blog/2017/05/15/minimal-working-setup-rails-5-api-activeadmin/", "published_at": "2017-05-15T00:00:00+00:00" }, { "id": "01a08775-52c6-71a1-a387-1df53fbd789a", "title": "Ember.run.later and setTimeout comparing scenario", "url": "https://www.estebansastre.com/blog/2017/05/12/ember-run-later-vs-settimeout/", "published_at": "2017-05-12T00:00:00+00:00" }, { "id": "01a08775-52c6-71a1-a387-1df53fdd3f28", "title": "About myself 🦧", "url": "https://www.estebansastre.com/about/", "published_at": null } ] posts Claim your blog
Back to estebansastre.com
Blog Β· corpus.blog/blogs/estebansastre.com/posts

estebansastre.com

estebansastre.com

2026

2025

2022

2021

2020

2019

2018

2017

Undated