Blogs

Discover tech insights, tutorials, and coding tips

pinned
blog cover

Speed Up Independent Queries Using Rails load_async

When you're building a dashboard, it's common to fetch multiple, independent datasets. The page loading might be slow because it has to fetch all data to render a page. A common solution is using AJAX to load pieces of the dashboard, which is great, ...
Software Engineer
Software Engineer
Ruby on Rails
Ruby on Rails
published 2025-10-16 23:07:15 +0700 · 7 mins read
pinned
blog cover

Ha Giang – Riding the passes and slopes in the northernmost part of Vietnam

Last week, I had a wonderful trip to Ha Giang, the northernmost part of Vietnam. It’s famous for its mountain passes and slopes, breathtaking mountains and forests, and unique local cuisine and experiences. Vietnam has really diverse terrain: high mo...
Life Experience
Life Experience
published 2025-09-25 20:44:19 +0700 · 4 mins read
pinned
blog cover

Summer in Phu Quy Island

Central Vietnam is famous for its beautiful seas with deep blue water and white sand beaches like Nha Trang, Phu Yen, and Quy Nhon. This summer, I chose Phu Quy, a small island in Binh Thuan Province, for my vacation. I had amazing experiences there....
Life Experience
Life Experience
published 2025-07-09 11:22:06 +0700 · 2 mins read
pinned
blog cover

Vibe of nature in Bao Loc

I recently enjoyed a wonderful 3-day trip to Bao Loc, a city in the central highlands of Vietnam. I chose this destination because I was amazed by my previous trip to Ta Dung (which is also in central Vietnam), and I wanted to discover more of Vietna...
Life Experience
Life Experience
published 2025-05-24 14:18:34 +0700 · 2 mins read
pinned
blog cover

How to add a custom Inline Code to Trix editor

Lately, I’ve been improving the writing experience in my Rails app, and something kept bugging me: I wanted a way to add inline code formatting in the Trix editor, just like those snippets you see on blogs and documentation sites.Turns out, Trix does...
Ruby on Rails
Ruby on Rails
Frontend
Frontend
published 2025-05-17 15:50:55 +0700 · 2 mins read
pinned
blog cover

Discover the beauty of autumn in Hanoi

I just got back from an amazing trip to Hanoi, and I have to tell you all about it. I went in mid-October, right in the heart of autumn, and the city was just breathtaking. The cool air and that beautiful yellow sunlight made it perfect for exploring...
Life Experience
Life Experience
published 2024-11-17 17:25:55 +0700 · 4 mins read
pinned
blog cover

How Google achieves seamless SSO across multiple domains like Gmail and Youtube?

Have you ever wondered how logging into Gmail can automatically sign you into YouTube, Google Drive, and all other Google services? This behind-the-scenes technique is called Single Sign-On (SSO). In this blog, I will show you some techniques that Go...
Software Engineer
Software Engineer
published 2024-10-13 18:14:25 +0700 · 2 mins read
pinned
blog cover

Custom Fullscreen Button: A Cross-Browser Solution

Fullscreen functionality is a common requirement in web development, especially with media elements like custom video player. In this blog post, I'll share my experience working with fullscreen APITL;DRNote: On iOS browsers, the element must be a vid...
Frontend
Frontend
published 2024-07-10 21:59:43 +0700 · 2 mins read
pinned
blog cover

JavaScript Microtask and Macrotask Queue

JavaScript interviews often include questions about asynchronous programming, as it's a fundamental concept in modern web development. One common challenge is understanding the intricate dance between Promises, timers, and the event loop. The Ch...
Frontend
Frontend
Interview
Interview
published 2024-07-10 12:03:29 +0700 · 3 mins read
blog cover

Store Sensitive Data in Rails

attr_encrypted used to be the go-to solution for encryption in Rails applications. However, Rails 7 introduced Active Record Encryption, making application-level encryption a first-class feature. Adding encryption is now as simple as:// language: rub...
Software Engineer
Software Engineer
Ruby on Rails
Ruby on Rails
published 2026-06-08 20:05:25 +0700 · 5 mins read
blog cover

PWA and Service Worker: Making Your Web App Feel Native

You might have seen browsers allow you to install a website like an app. Building a native application takes significant effort, and not many common applications support it. Google Calendar and Gemini are examples. To use them like a native app, I ju...
Software Engineer
Software Engineer
Frontend
Frontend
published 2026-04-25 17:28:32 +0700 · 3 mins read
blog cover

CORS and CSRF: How Attackers Exploit the Gaps

I used to think CORS was a security feature. It is, partially. But the more I understood it, the more I realized how narrow its protection actually is. This post walks through how CORS works under the hood, where it breaks down, what CSRF is, and how...
Software Engineer
Software Engineer
published 2026-04-04 18:08:15 +0700 · 5 mins read
Loading more ...