Anh em dev chắc nhẵn mặt với cái meme XKCD 2347 rồi. Nay có pháp sư biến nó thành mô hình vật lý tương tác, click phát sập nguyên cái tech stack luôn.

Chắc anh em dev nào lướt Reddit hay X nhiều cũng quen mặt với cái meme huyền thoại của XKCD (comic #2347) rồi nhỉ? Cả một hệ thống hạ tầng số khổng lồ, tech stack ngập mặt, nhưng lại được chống đỡ bởi đúng một dự án còm cõi của một lão dev vô danh ở Nebraska từ năm 2003.
Bình thường anh em chỉ thả haha rồi lướt qua, nhưng nay có một pháp sư rảnh rỗi đã biến cái meme đó thành một mô hình vật lý tương tác thực sự bằng p5.js. Cảnh báo trước: Đừng click linh tinh kẻo sập mẹ server ảo đấy!
Dự án này được tạo ra bởi @isohedral, một thanh niên có vẻ khá đam mê với mấy trò mô phỏng dị hợm. Cơ bản thì ổng cắt từng khối block chữ trong bức tranh gốc của XKCD ra, sau đó nhét engine vật lý vào.
Lúc mới load trang, anh em sẽ thấy nó y hệt bức ảnh tĩnh bình thường. Nhưng điều ảo ma là chỉ cần anh em click chuột vào bất cứ đâu trên màn hình, engine vật lý sẽ được kích hoạt. Trọng lực bắt đầu kéo mọi thứ, các khối block bắt đầu đè lên nhau, và anh em có thể dùng chuột kéo các khối ra y hệt như đang chơi trò rút gỗ Jenga vậy.
Đem cái này lên Hacker News thì tất nhiên anh em dev xúm vào mổ xẻ rồi. Có vài luồng quan điểm và tấu hài cực mạnh đang chiếm sóng:
1. Sự thật trần trụi về hệ thống của chúng ta Có ông (efilife) than thở: "Game này mà không tự sập ngay khi vừa click chuột thì tôi chấm 10/10". Ngay lập tức, một pháp sư khác (koolba) vỗ mặt bằng một câu deep cực kỳ: "Ông nhầm, đó mới là ẩn dụ thực sự của tác giả. Cả cái hệ thống trông có vẻ ổn định vì chúng ta đang nhìn vào một bức ảnh chụp nhanh (snapshot) của nó thôi. Thực tế ngoài đời thì nó đang sập sẵn rồi!". Nghe mà nhói lòng bọn làm maintainer thật sự.
2. Bắt lỗi code Frontend kinh điển
Mấy anh em dev web (panzi, DaanDL) thì không quan tâm thông điệp lắm, soi ra ngay một con bug UI: Nếu kéo khối gỗ ra sát mép màn hình thì bị mất event chuột. Đây là lỗi cực kỳ phổ biến của chiếu mới khi bind event mousemove vào cái khung canvas thay vì gắn hẳn vào window. Đúng là bản tính dev, thấy bug là ngứa ngáy!
3. Cà khịa hệ thống Enterprise Một thanh niên (fallingmeat) cười khẩy khoe: "Tôi vừa rút thử cái cục 'IBM enterprise apps' ra, hệ thống chả bị sập mà cái stack lại còn nhẹ đi hẳn. Khoa học chứng minh rồi nhé!". Tuy nhiên, mấy anh em khác phản bác lại ngay là có rút cục nào đi nữa thì với cái setup zero ma sát kiểu này, trước sau gì cả tháp cũng rớt đài thôi. Y như đời thật!
Nhìn cái web app này tấu hài thế thôi chứ thót tim phết. Đời dev chúng mình cũng y chang cái tháp Jenga này vậy. Cái mớ tech stack anh em đang dùng mỗi ngày nó mong manh vãi đạn.
Bài học sinh tồn sau vụ này là gì?
npm install. Tự hỏi xem mình có tự code được trong 10 dòng không? Đừng để project tiền tỷ của công ty phải phụ thuộc vào một cái library bị bỏ hoang từ 6 năm trước.window cho mấy tác vụ drag & drop kẻo user lại tế lên.Cuối tuần rảnh rỗi, anh em cứ vào rút gỗ thử xem tay lái mình lụa đến đâu nhé!
Nguồn hóng hớt: