// blog

Notes and write-ups

35 notes and counting. Filter by tag, or scroll — it's not that long.

tag map
3 min

Javascript objects are tricky

Unexpected behavior occurs when using standard objects as collections for dynamic input. Prototype properties can conflict with data keys, leading to type errors during data processing. Using specialized data structures provides a more reliable and performant approach for handling arbitrary keys.

nodejs today-i-learned
11 min

Server-sent events or how ChatGPT typing animation works

Real-time communication enables modern web applications to push data to users instantly instead of waiting for traditional request-response cycles. This article explores how Server-Sent Events facilitate streaming content directly from a server, powering features like the typing effect seen in chat interfaces. It provides a practical overview of implementing these streams to improve user experience in web applications.

api nodejs frontend
19 min

Database locks, lost updates and idempotency

Distributed systems frequently face challenges with concurrency and duplicate requests that can lead to data loss or incorrect application states. This post explores practical strategies for maintaining data integrity, including leveraging HTTP headers for optimistic concurrency control and idempotency. It also examines how database-level transactions and row-level locking mechanisms can prevent race conditions in complex workflows.

api databases nodejs
4 min

Assuming IAM role and role chaining in AWS

Managing temporary security credentials across AWS accounts allows applications to securely access resources. Using the Security Token Service to assume roles requires a clear understanding of trust policies and session duration limits. A specific limitation occurs during role chaining, where the session length is constrained compared to assumptions made by IAM users.

today-i-learned aws nodejs
7 min

Running HTTPS on localhost

Development environments often require HTTPS to properly test features that rely on secure connections. This guide covers generating self-signed certificates and configuring local web servers to enable encrypted traffic on a development machine. It also looks at how to map custom domain names to local resources to simplify the testing process.

nodejs devops docker
12 min

Keeping track of database changes and when it can be useful

This article explores the concept of database replication and how it can be utilized to synchronize data between systems or feed external services. It covers the mechanics of write-ahead logging and logical decoding, which allow tracked changes to be exported in usable formats. The post also highlights necessary configuration steps for managed environments and potential pitfalls to monitor when implementing these techniques.

aws databases devops
3 min

Why use multiple unsubscribe groups when sending emails

We all know how annoying all those emails that we receive from various websites might be, especially when we don’t expect them. So naturally, there should be an option to unsubscribe. However there are some things that you have to be careful about.

today-i-learned
25 min

Travelling around Argentina

This article recounts a journey across Argentina, highlighting logistical challenges and practical advice for navigating the country's unique infrastructure. It provides insights into managing local payments, transportation, and connectivity across diverse regions from Patagonia to the Andean north. The account serves as a guide for others planning a similar trip through this expansive and varied landscape.

travelling
3 min

Feature Flags

Feature flags provide a mechanism to toggle specific application logic without requiring a full code redeployment. They offer a reliable way to manage service dependencies, handle incident responses, and facilitate gradual feature rollouts. Maintaining clean code necessitates regularly auditing and removing these flags once they are no longer required.

today-i-learned