VITALIFY.ASIA logo

Tech Blog

Vitalify Asia Tech Blog

Engineering notes, product thinking and offshore development insights from the Vitalify Asia team.

91 articles

PHP2Shell and the “Patching Can’t Keep Up” Problem: Put Cloudflare in Front of Your Website as a Security Gateway
Featured#topic-cybersecurity

PHP2Shell and the “Patching Can’t Keep Up” Problem: Put Cloudflare in Front of Your Website as a Security Gateway

This article summarizes what happened with PHP2Shell, why patching alone is often not fast enough, and a complementary approach: placing a protective gateway at the website entrance using Cloudflare, alongside patching efforts.

Quí Nguyễn
Read More

Latest articles

COLOR THEORY IN UI/UX DESIGNProduct Development

COLOR THEORY IN UI/UX DESIGN

A practical guide to color theory in UI/UX design, covering color harmony, saturation, brightness, contrast, WCAG 2.2, semantic color systems, light and dark mode, the 60–30–10 rule, and real-world color palette applications for digital products.

Son Phung
Understanding 3DGS, Part 2: How Is 3DGS Different from Photogrammetry?3D

Understanding 3DGS, Part 2: How Is 3DGS Different from Photogrammetry?

3DGS and photogrammetry both reconstruct 3D scenes from multiple photos and share key SfM steps. This article explains where they diverge: photogrammetry continues to MVS, dense point clouds, meshes, and textures, while 3DGS optimizes Gaussians to reproduce photorealistic views.

Toshihiko Nagaoka
Understanding 3DGS, Part 1: How Is 3DGS Different from Traditional 3D Modeling?3D

Understanding 3DGS, Part 1: How Is 3DGS Different from Traditional 3D Modeling?

3DGS reconstructs real-world scenes with large numbers of Gaussians, while traditional 3D modeling uses meshes, textures, and materials. This article explains how the two approaches differ, where each works best, their limitations, and how 3DGS may change the way real spaces are digitized.

Toshihiko Nagaoka
Understanding 3DGS, Part 0: How Do Photos Become 3D? — 170 Years of Trial and Error3D

Understanding 3DGS, Part 0: How Do Photos Become 3D? — 170 Years of Trial and Error

How did photos become 3D? This article traces the evolution from 19th-century photogrammetry and stereo vision to SfM, MVS, NeRF, 3D Gaussian Splatting, and 2DGS, explaining how photography evolved from a recording medium into a tool for reconstructing and revisiting real-world spaces.

Toshihiko Nagaoka
Integrating PLATEAU × ODPT in Cesium: Lessons from Connecting 3D City Models and Real-Time Railway DataDigital Twin

Integrating PLATEAU × ODPT in Cesium: Lessons from Connecting 3D City Models and Real-Time Railway Data

This article explains the challenges of integrating PLATEAU 3D city models with ODPT train data in Cesium. It covers coordinate systems, 3D Tiles, LOD, route inference, interpolation, OSM, API security, and how to distinguish real data from best-effort inference in a real-time 3D city.

Thinh Tran
PLATEAU Tokyo 23-Ku: Explore Tokyo Through 3D Maps, Transportation, and Environmental DataGeospatial & GIS

PLATEAU Tokyo 23-Ku: Explore Tokyo Through 3D Maps, Transportation, and Environmental Data

PLATEAU Tokyo 23-Ku combines PLATEAU 3D city models with JR East trains, Toei buses, bike share, JARTIC traffic, JMA rainfall, and air quality data. Learn how Cesium and 3D Tiles create a shared urban visualization environment for smart city and digital twin applications.

Thinh Tran
Lost in the Majestic Underground: When the Entire World of Caves Fits Within Your Sight3D

Lost in the Majestic Underground: When the Entire World of Caves Fits Within Your Sight

Cave Explorer turns real cave scans into an interactive web experience using point clouds, 3D Tiles, LOD, and real-time rendering. This article explains the data pipeline, browser performance challenges, remote exploration, digital heritage use cases, and future features.

Thinh Tran
CLAUDE.md vs Skills: Where Should Claude Code Instructions Go?AI Development

CLAUDE.md vs Skills: Where Should Claude Code Instructions Go?

CLAUDE.md should not store every project instruction. This guide explains when to use CLAUDE.md, Skills, .claude/rules/, and Hooks in Claude Code, with examples and a decision tree for organizing project context, task workflows, scoped rules, and deterministic automation.

Trần Thiên
How Far Can Crafting Apps Replace Adobe?Product Development

How Far Can Crafting Apps Replace Adobe?

Crafting Apps is a suite of seven open-source creative applications aiming to cover key Adobe Creative Cloud workflows. This article compares their current maturity, Rust and local-first architecture, AI agent/MCP support, and potential as an agent-native creative suite.

Son Phung
Cyc — 40 Years of Trying to Write Common Sense by HandAI Development

Cyc — 40 Years of Trying to Write Common Sense by Hand

Cyc is an AI project launched in 1984 to encode human common sense by hand. This article traces Douglas Lenat’s path from AM and Eurisko to CycL, microtheories, OpenCyc, the contrast with LLMs, and the renewed interest in neuro-symbolic AI.

Toshihiko Nagaoka
Minimizing Release Downtime with Blue-Green DeploymentProduct Development

Minimizing Release Downtime with Blue-Green Deployment

Blue-Green Deployment runs two environments in parallel so you can deploy and test a new version before switching traffic. This guide covers Nginx, Compute Engine, Cloud Build, instant rollback, database migrations, sessions, background workers, costs, and comparisons with Rolling and Canary.

Dat Chu Tien
I'm Duper, ask me anything!