Này các đồng đạo, có ai còn nhớ cái cảnh huyền thoại trong phim Jurassic Park (Công Viên Kỷ Jura) năm 1993, khi cô bé Lex 12 tuổi ngồi trước màn hình rồi thốt lên một câu xanh rờn: "Đây là hệ điều hành UNIX! Em biết cái này!" rồi bấm bấm vài cái cứu cả hòn đảo không? Hóa ra, đằng sau màn "múa phím" đi vào lòng đất đó là cả một bầu trời phần cứng xịn xò con bò thời bấy giờ chứ không phải đồ dựng 3 xu để lùa gà đâu nhé!
Mới đây, một lão quái kiêm cây viết công nghệ có tiếng - Fabien Sanglard - đã có một bài viết phân tích chi tiết đến từng cái pixel về dàn máy tính trong bộ phim kinh điển này. Đọc xong mới thấy, đoàn làm phim thời đó chịu chơi và thực tế đến mức khiến các dev thế hệ Gen Z bây giờ cũng phải ngả mũ bái phục.
Rốt cuộc thì phòng điều khiển khủng long chạy bằng cái vẹo gì?
Nếu anh em nghĩ Hollywood chỉ biết quăng mấy dòng code HTML chạy hiệu ứng ma trận xanh lè lên màn hình để lòe thiên hạ, thì bạn đã nhầm to. Dưới đây là những gì thực sự chạy trong phòng điều khiển của Công Viên Kỷ Jura:
- Dàn máy trạm Silicon Graphics (SGI) Crimson & SGI Indigo: Đây là những con quái thú đồ họa thực sự của thập niên 90. Chúng chạy hệ điều hành IRIX (một nhánh xịn mịn của UNIX). Thời đấy mà sở hữu một con SGI Indigo màu xanh ngọc lục bảo này trong phòng làm việc thì độ sang chảnh ngang ngửa với việc anh em bây giờ sắm Mac Studio bản full option để code Hello World vậy.
- Siêu máy tính Thinking Machines Connection Machine CM-5: Con quái vật có dàn đèn LED đỏ nhấp nháy cực ảo ma ở góc phòng. Trong phim, nó được giới thiệu là bộ não trung tâm vận hành toàn bộ hòn đảo. Ngoài đời, CM-5 là một trong những siêu máy tính mạnh nhất hành tinh thời bấy giờ. Nếu thời đó có dịch vụ thuê máy chủ ảo như bây giờ, chắc chắn Hammond đã không phải vác một con quái vật ngốn điện kinh khủng như thế về đặt giữa đảo hoang.
- Macintosh Quadra 700: Con máy đặt trên cái bàn bừa bãi toàn lon Coca và vỏ bánh ngọt của Dennis Nedry. Gã dev phản diện béo ú này đã dùng chính con Quadra chạy System 7 này để viết mã độc "Nedry.exe", khóa mõm hệ thống an ninh và gián tiếp thả dàn khủng long xổng chuồng.
- Giao diện 3D FSN (File System Navigator): Cái màn hình bay lượn trong không gian 3D mà cô bé Lex dùng để tìm file cứu net thực chất là một phần mềm quản lý file có thật 100% do SGI phát triển cho hệ điều hành IRIX. Nó không phải là đồ họa giả cầy của Hollywood! Chỉ là ngoài đời thực, đ*o có ai rảnh hơi đi quản lý thư mục bằng cách bay lượn 3D như chơi game bắn súng cả, nhìn mỏi mắt chết mồ.
Giang cư mận Reddit và Hacker News nói gì về phát hiện khảo cổ này?
Sau khi bài viết của Fabien lên sóng và nhận về hơn 700 điểm trên Hacker News, giới dev toàn cầu đã nhảy vào mổ xẻ với đủ luồng ý kiến hài hước:
- Phe hoài niệm thiết kế cổ điển: "Nhìn mấy cái case SGI màu tím, màu lục bảo mà thèm rớt nước dãi. Sao thiết kế phần cứng ngày nay cứ phải một màu đen xám xịt hoặc xài LED RGB lòe loẹt như rạp xiếc thế nhỉ? SGI đúng là đỉnh cao của mỹ thuật công nghiệp."
- Phe đồng cảm với Dennis Nedry: "Suy cho cùng thì gã phản diện Dennis Nedry cũng chỉ là một Senior Dev bị bóc lột sức lao động. Sếp Hammond giàu nứt đố đổ vách, xây cả công viên tỷ đô nhưng lại trả lương bèo bọt cho gã dev duy nhất gánh toàn bộ hệ thống tự động hóa. Hệ thống toang, sập server là kết quả của việc trả lương không xứng đáng thôi!"
- Phe soi bug điện ảnh: "Tôi vẫn không hiểu tại sao một hệ thống an ninh tối mật điều khiển cả một bầy quái thú ăn thịt lại có thể bị bypass dễ dàng chỉ bằng một đoạn mã script chạy trên con máy Mac cá nhân của một lão dev béo. Không có phân quyền, không có multi-sig, không có kiểm duyệt code (Code Review)? Quá thiếu thực tế!"
Góc nhìn từ Coding4Food: Bài học sinh tồn cho cả sếp lẫn dev
Nhìn từ drama của hòn đảo khủng long từ 30 năm trước, vãn bối tôi đúc rút ra được vài bài học xương máu vẫn còn nóng hổi cho đến tận ngày nay:
- Đừng bao giờ ngược đãi Senior Dev duy nhất của dự án: Hammond đã phải trả giá bằng cả cơ nghiệp (và mạng sống của vài mạng người) chỉ vì tiếc tiền tăng lương cho Nedry. Khi bạn bắt một người ôm từ Dev, Devops, System Admin cho đến Security... thì đến lúc họ "quay xe", hậu quả sẽ cực kỳ thảm khốc.
- Hệ thống tự động hóa càng phức tạp, khi bể càng thê thảm: Càng phụ thuộc vào các kịch bản tự động không có phương án dự phòng (fallback), anh em càng dễ ăn quả đắng. Hãy luôn có phương án vận hành thủ công khi hệ thống chính gặp sự cố.
- Học UNIX đi anh em ạ! Thấy chưa, từ năm 1993 người ta đã chứng minh biết dùng UNIX/Linux có thể cứu mạng bạn khi bị khủng long rượt đuổi rồi đấy. Thay vì ngồi cãi nhau xem dùng Windows hay macOS ngon hơn, hãy mở Terminal lên và gõ lệnh cho quen tay đi!
Nguồn tham khảo: Fabien Sanglard's Blog