COVID-19 forced me to quarantine for 3 weeks. This is my personal journey.

Two days ago, Bogotá decided to go on a mandatory 4-day quarantine as the number of infected by COVID-19 grew to more than 120. Yesterday the number went over 158. The president declared a 19-day quarantine starting next Tuesday.

As for every other person on this planet, this will be a pretty extraneous situation for me. I decided to document my journey and be transparent about how I take this process, what I learn from it and how I adapt.

This post was first published on my…


Introducing Notyf 3.0

Notyf in action

In this post, I’ll introduce the new features and highlights that comes in the last version of Notyf.

What The heck is Notyf?

Notyf is a dependency-free, modern and elegant toast library for 2019.

It’s well known that there are dozens, if not hundreds, of JavaScript toast libraries out there. Notyf is yet another one. Nevertheless, I consider most of these libraries to be missing some important points that are needed in today’s frontend development. In this post, I’ll introduce Notyf 3.0 and will show how it stands out of the crowd to make it a good fit for your project today.


On how to stop and restart a stream of events

Marble-like diagram for a pausable observable based on switchMap

TL;DR

Go to the Confetti! section at the end of this post and check out the gist.

The problem

I was recently tuning a service worker for an Angular application and came across this very simple RxJS problem: how to pause and resume a steady stream of events coming from an interval observable?

The solution

Before we dive into details, I need to clarify that this was easily achievable with the pausable operator in RxJS 4 but was not implemented in RxJS 5. There’s already a Github thread that suggests the right approach which we’ll study here.

I’m afraid there’s more than one solution to…


On giving console.log the love it truly deserves

Photo by Fauzan Saari on Unsplash

I got 99 things to be ashamed of but debugging with console.log ain’t one. My code is full them I can’t even count them. I’ve recently found myself logging too much stuff on RxJS pipelines and I’ve seen a bunch of codebases logging values at different steps of the pipe too.

I got 99 things to be ashamed of but debugging with console.log ain’t one.

I’m sure you’ve also faced this situation and you may have used map or tap for this purpose:

Now, let’s embrace our daemons and accept that our professional life depends upon logging stuff. We’ll…


Word cloud with DevOps and FrontEnd technologies

In this post I will tell you how I deploy my frontend applications using GitHub, Jenkins, Docker and Digital Ocean. I had some doubts through my learning journey so I decided to put up what I learned on this post as a self note.

Note: This post is not intended for you my friend, expert and consultant guru 15+ years exp DevOps architect; this is for those of us who are just starting to discover the beauty of CI/CD tech. This post may contain some bad practices, please take it with a grain of salt.

Cut the crap, shoot me the TL;DR

You’re like me, you skim…


I hate clickbait articles as much as you do, this ain’t one of those though. So, let me save you a 10-minute read by just spitting out the tricks right here, right now.

Define a handful of CSS animations with @keyframes , set the element’s initial state (opacity:0, scale(0), etc), set the element’s animation CSS property to be one of the animations you just defined, set the animation’s fill-mode to forwards , don’t always use the good old ease timing function but instead try some cool cubic-bezier . Orchestrate the whole thing via animation-delay . Keep it clean and classy…


In this post I dive into some of the features included in the recently released Angular CDK. Specifically, I’ll talk about Portal and PortalHost.

TL;DR: I built a simple example using the recently released Angular CDK. Jump to the code at the end of this post or visit the working demo in Stackblitz.

Angular Material CDK

Just as a little bit of introduction, the Angular Material team released a few days ago the Angular Component Development Kit. I won’t put much effort into explaining what the CDK is so I’ll rather quote them here:

The goal of the CDK is to give developers…


This post somehow depicts my journey on getting my first 800 stars on GitHub in less than one year.

Disclaimer: This is a very introductory, 101 guide to open source. If you’re familiar with OSS and you’ve been doing it for a while then you can safely leave this page.

One year ago I was desperate to level up my coding game and I knew open source would help me with that. When you stop consuming and start creating software that more developers will use, your coding skills are rocketed to legendary levels. Now that you’re sold on the importance…


This is a story of how I got into Toptal, CrossOver, and BairesDev in less than three months. All these companies claim to hire only the top 1–3% of talent.

Update early 2020 🔥

Over the years, I’ve helped hundreds of people that reached out to me on Twitter, email, and LinkedIn because of this post. I decided to write more about it on my personal blog. I recommend you to read the most up-to-date version right there. You might want to stay tuned as I’ll be posting more articles and resources on remote work. Here’s the up-to-date article:

First of all, I have…


Update: I wrote another blog post in which I explain how to achieve this exact same result using Portals from the Angular CDK. Please take a look at it. If you’re not into magic and you want to know how to do it from scratch, then keep reading this article.

Just show me the code

If you’re somewhat like me, you just want to see the code and you’ll figure it out, so here you go. The following service has just one simple method appendComponentToBody which will append your component as a direct child of the body and also add it to the Angular’s component…

Carlos Roso

Software Engineer. Digital Nomad @toptal. Occasional Designer. I write about remote work, software and personal growth.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store