-
How I wrote and published my 5th technical book
posted in JavaScript on 2021-12-19 how-to book 50tipsonjs -
I like to write. It's not happening often, but I do. A couple of weeks ago, I finally finished my 5th book, "50 Tips on JavaScript". I decided to use Amazon as a distributing mechanism. In this article, I'm sharing my journey. From the idea, through the writing and the publishing.
read more
-
TAMO JUNTO - Animated Short Film
posted in Cinema on 2021-12-16 pandemic together -
Tamo Junto is an independent animated short film by flooul animation. 2 neighbors lean on each other, turning small moments of life into great treasures. Voices by Criolo, Luciana Silveira and Emicida. Original Soundtrack By Loud+
read more
-
Here is how call-to-action widgets probably work
posted in JavaScript on 2021-10-26 widget dom sciprt -
Did you ever wondered how the call-to-action widgets work? You know, those little buttons for sharing content in the social networks. Very often they are distributed as iframes but sometimes we have to copy/paste script tags. And the instructions are "Place the following code where you want the button to appear". But if that's a script tag how it knows where to inject the button? The goal of this article is to give you an answer on this question.
read more
-
Get to know Kent C. Dodds
posted in Inspiration on 2021-10-05 kent dodds documentary story -
A short movie for Kent C. Dodds.
read more
-
White-labeling React apps
posted in JavaScript on 2021-08-16 react whitelabel webpack -
A white label app is an app that we build once and "resell" it to other people/companies. Very often we are talking about applying different themes but sometimes we have to change logic too. Such changes should be as declarative as possible so they scale well. Otherwise is more of a copy/paste exercise. In this article I want to sketch out a couple of approaches for white labeling in React applications.
read more
-
Firebase/GCP: save money by cleaning up your artifacts
posted in JavaScript on 2021-06-06 firebase gcp budget cost -
I'm working on a personal project and I'm using the awesome Google Cloud Platform. There are so many things that you can do. All the tools that you may need are probably there. This of course comes with a price. In this article I'll share a tip how to reduce your spendings there.
read more
-
Using JavaScript module system for state management
posted in JavaScript on 2021-03-08 javascript module state management -
Hot topic last couple of years is state management. Especially in the front-end apps. There are lots of problems and lots of solutions. One thing thought is totally ignored in this context - the JavaScript module system. I'm very often reaching out to this approach and decided to share it here.
read more
-
Miss Piggy - a test runner for Puppeteer
posted in JavaScript on 2021-02-01 puppeteer test runner tagmanager -
These days I did (again) a bunch of changes in Google tag manager. This time however was more of a refactoring exercise. So, I had to prove that the tags that were placed before the refactoring exist after the refactoring. And what we programmers do in such cases - we write tests.
read more
-
Configure Google domain email in Vercel with ImprovMX
posted in Architecture on 2021-01-27 vercel email google improvmx -
Back in February last year I blog on topic Email not working after DNS change. Well, I had kinda similar situation but not exactly. This time I bought a domain from Google and wanted to use an email with it. The setup wasn't obvious for me so I decided to document the process.
read more
-
Reinventing the routing in React apps
posted in JavaScript on 2021-01-18 router react navigo -
The router is the backbone of your application. Trust me, that's how it is and I can prove it. One of the fundamental ideas in Web is the URL (Uniform Resource Locator). Or the way of how we very often call it - "web address". No mather what you are building there is a web address which identifies your resource. The router is the front office that accepts the request to particular URL and wires it to a logic. Logic for generating HTML or JSON response or something else. So, the router is very important part of your system.
At the end of last year I rewrote one of my favorite projects - a vanilla JS router called Navigo. I was procrastinating this work for years. Finally I did it in TypeScript and wrote 100+ unit tests along the way. This refactoring opens the door for new features and more importantly, for integrating the library into other places. Like React for example.
read more