Tóm tắt tập trước: Không gian tĩnh mịch của Làng Đại học Thủ Đức về đêm ôm trọn lấy tòa nhà C của Đại học Công nghệ Thông tin (UIT). Nam – một sinh viên IT đang “cắm trại” tại phòng Lab để chạy đồ án – đã liên tiếp chứng kiến những hiện tượng vượt ngoài tầm hiểu biết của khoa học: tiếng gõ cửa từ căn phòng trống, bàn phím tự gõ chữ “lạnh quá”, và đỉnh điểm là bóng trắng phản chiếu trên viền màn hình cùng lời thì thầm rợn gáy phả vào mang tai: “Mày… code… sai… dòng… thứ… 405… rồi…”


Truyện ma có thật
1. Nỗi Khiếp Đảm Tột Cùng Trong Căn Phòng Tĩnh Lặng – Truyện ma có thật
Truyện ma có thật
Lời thì thầm ấy không lướt qua tai như một cơn gió vô hại. Nó nhừa nhựa, đặc quánh, luồn lách vào từng nơ-ron thần kinh của tôi. Nó mang theo hơi lạnh buốt giá của những đường hầm ngầm không ánh mặt trời, và một mùi hương kì dị… Không phải là mùi ẩm mốc thông thường của điều hòa lâu ngày không vệ sinh. Đó là mùi hoa huệ thum thủm – thứ mùi đặc trưng của những nấm mồ bốc lên sau một đêm mưa dầm, hòa lẫn với mùi formol ngai ngái thường thấy ở các phòng thí nghiệm y khoa.
“Mày… code… sai… dòng… thứ… 405… rồi…”
Câu nói lặp lại một lần nữa trong đầu tôi, rõ ràng từng âm tiết. Ngay lúc đó, màn hình máy tính của tôi chớp nháy liên hồi. Trên nền terminal đen ngòm của hệ điều hành Ubuntu, một loạt các dòng log lỗi (stack trace) của hệ thống Java bỗng nhiên tự động cuộn nhanh như thác đổ. Tôi là một thằng chuyên làm backend bằng Java Spring Boot, những dòng log đỏ chót này tôi nhìn mỗi ngày, nhưng chưa bao giờ tôi thấy chúng xuất hiện theo cách ma quái thế này khi mà tay tôi thậm chí không chạm vào bàn phím hay chuột.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 405 out of bounds for length 405... at vn.edu.uit.backend.core.ModelTrainer.run(ModelTrainer.java:405) at org.springframework.boot.SpringApplication.run...
Những dòng chữ màu máu trôi tuột trên màn hình bóng loáng. Hệ thống backend dùng để orchestrate (điều phối) tiến trình huấn luyện AI của tôi đang sụp đổ. Nhưng đó không phải là điều tồi tệ nhất.
Bản năng sinh tồn nguyên thủy nhất của con người bùng lên, chọc thủng trạng thái “bóng đè” (sleep paralysis) đang trói chặt các cơ bắp của tôi. Tôi thét lên một tiếng thất thanh, âm thanh khàn đặc xé toạc sự tĩnh mịch của phòng Lab C, dội vào những bức tường kính cách âm.
Hai tay tôi đập mạnh xuống mặt bàn gỗ ép, dùng hết sức bình sinh đạp mạnh hai chân xuống nền gạch men lạnh lẽo. Lực đẩy phản xạ quá mạnh khiến chiếc ghế xoay trượt dài ra sau, bánh xe rít lên bần bật. Nó va sầm vào dãy bàn phía đối diện tạo ra một tiếng động chát chúa, chao đảo rồi đổ ụp xuống.
Tôi lộn nhào xuống đất. Đầu gối đập vào cạnh bàn ê ẩm, nhưng tôi không còn cảm thấy đau đớn. Theo phản xạ của một con mồi đang bị mãnh thú dồn vào chân tường, tôi cuộn người lại dưới gầm bàn và liếc cặp mắt trừng trừng đầy tơ máu về phía góc phòng – nơi ban nãy hình bóng mặc áo blouse trắng lùng thùng phản chiếu qua viền màn hình bóng loáng.
Trống trơn.
Góc phòng không có bất kỳ ai. Chỉ có chiếc máy lọc nước nóng lạnh im lìm đứng đó, cái bóng của nó đổ dài méo mó, quái dị dưới ánh sáng nhợt nhạt hắt ra từ màn hình máy tính. Không có dải lụa trắng nào, không có mái tóc đen rũ rượi che kín khuôn mặt nào. Mọi thứ trở lại vẻ tĩnh lặng giả tạo của một phòng máy tính ban đêm.
Thế nhưng, cái lạnh thì vẫn còn đó. Một luồng khí lạnh buốt bám rít lấy da thịt tôi, xuyên qua lớp áo khoác đồng phục UIT. Luồng sát khí ngùn ngụt ép chặt lấy lồng ngực khiến tôi thở dốc từng cơn đứt quãng, tim đập thình thịch như muốn vỡ tung lồng ngực. Tôi cảm nhận được… “nó” vẫn ở đây. Trong căn phòng này. “Nó” đang đứng ngay phía trên chỗ tôi đang nấp, lặng lẽ quan sát sự thảm hại của tôi.
Không kịp suy nghĩ thêm bất cứ điều lý trí nào nữa, tôi vơ vội chiếc balo ném chỏng chơ trên bàn, mặc kệ cho chiếc tai nghe Sony xịn xò bị giật đứt tung dây điện, mặc kệ củ sạc MacBook vẫn còn cắm trên ổ điện tường. Tôi bò toài ra khỏi gầm bàn, lồm cồm đứng dậy và lao thẳng ra phía cửa chính.
Đôi tay tôi run lẩy bẩy, mồ hôi lạnh vã ra như tắm khiến lòng bàn tay trơn tuột. Cánh cửa kính cường lực của phòng Lab được thiết kế với khóa chốt vặn an toàn. Bình thường chỉ cần gạt nhẹ là ra, nhưng lúc này, tay tôi lóng ngóng, vặn chốt khóa đến ba bốn lần mà nó vẫn trơ trơ. Móng tay tôi cào vào mặt kính trầy xước, tạo ra những tiếng “kít… kít” ghê rợn.
“Mở ra… mở ra đi trời ơi…” Tôi vừa khóc nấc lên vừa đập rầm rầm vào cửa.
Cạch!
Cuối cùng chốt khóa cũng bung ra. Tôi giật tung cánh cửa. Gió từ dãy hành lang tầng 4 lùa vào mặt mát lạnh. Tôi cắm đầu lao ra khỏi phòng Lab C, bỏ lại sau lưng dàn workstation đang rú lên từng hồi ồ ồ tản nhiệt và màn hình terminal vẫn đang chớp nháy những dòng báo lỗi chết chóc.
Truyện ma có thật
2. Cuộc Rượt Đuổi Dọc Cầu Thang Bộ Thoát Hiểm Tòa Nhà C
Truyện ma có thật


Lúc này là chính xác 2 giờ 15 phút sáng. Đứng trước khu vực sảnh chờ thang máy, không gian rộng lớn của tòa nhà C vắng lặng đến mức tôi có thể nghe rõ tiếng hoảng loạn của chính nhịp tim mình.
Nhìn lên bảng điện tử hiển thị vị trí thang máy, con số màu đỏ đang dừng ở tầng trệt (G). Tôi dùng ngón tay run rẩy bấm liên tục vào nút gọi thang đi xuống.
Ting… ting… ting…
Tiếng chuông gọi thang vang lên lạnh lẽo. Bảng điện tử bắt đầu nhảy số. Tầng 1… Tầng 2…
Truyện ma có thật
Thang máy đang lên. Nhưng trong thời gian chờ đợi ngắn ngủi đó, trí tưởng tượng của một thằng hay đọc truyện ma sinh viên bắt đầu làm khổ tôi. Tôi tặc lưỡi nhớ lại những bộ phim kinh dị đẫm máu châu Á. Nếu cánh cửa thang máy kim loại kia mở ra, và thứ bên trong không phải là một buồng thang trống rỗng, sáng đèn, mà là một không gian tối om, với một hình bóng áo trắng rũ rượi đang đứng đưa lưng về phía tôi thì sao? Hoặc tệ hơn, nếu thang máy đưa tôi xuống lưng chừng các tầng rồi đột ngột tắt điện, kẹt lại giữa không trung cùng với “thứ đó”?
Áp lực tâm lý đè nén khiến tôi không thể chờ đợi thêm một giây nào nữa. Tôi quyết định bỏ cuộc. Tôi quay gót, chạy thục mạng về phía cuối hành lang, dồn toàn bộ sức lực đẩy mạnh cánh cửa chống cháy bằng thép nặng trịch, lao vào buồng thang bộ thoát hiểm.
Cầu thang bộ của tòa nhà C tối om. Cấu trúc thang thiết kế theo dạng zig-zag kín bưng, không có cửa sổ hướng ra ngoài. Hệ thống đèn cảm ứng ánh sáng dường như bị hỏng hàng loạt ở khu vực này, tôi chạy qua mà chúng chỉ nhấp nháy vài cái yếu ớt rồi tắt ngúm, chìm vào bóng tối đặc quánh.
Tôi vội vàng móc chiếc điện thoại trong túi quần, bật đèn flash lên, soi từng bước chân chạy cuống cuồng xuống các bậc cầu thang xi măng thô ráp.
Bịch… bịch… bịch…
Tiếng đế giày thể thao của tôi dội vào những bức tường bê tông, tạo ra những âm thanh vang vọng khô khốc, điếc tai. Tôi chạy như điên dại, lao từ tầng 4 xuống tầng 3, chỉ muốn nhanh chóng thoát khỏi cái hộp bê tông ngột ngạt này.
Nhưng, ngay khi tôi vừa chạy hết một nhịp cầu thang và chuẩn bị ngoặt qua chiếu nghỉ để xuống tầng 2, tôi chợt khựng lại. Một luồng điện chạy dọc sống lưng. Tôi nhận ra một điều bất thường đến kinh hãi.
Hòa lẫn trong tiếng thở dốc và tiếng bước chân dồn dập của tôi, có một âm thanh khác.
Lẹp xẹp… lẹp xẹp…
Đó là tiếng bước chân trần kéo lê trên nền xi măng. Nó phát ra từ phía trên đầu tôi, từ ngay khoảng chiếu nghỉ của tầng 4 mà tôi vừa rời đi chưa đầy nửa phút. Nó đang đi theo tôi.
Tốc độ của tiếng bước chân đó không hề nhanh vội vàng như tôi. Nó vô cùng đều đặn, chậm rãi, nhưng lại mang theo một áp lực vô hình nặng nề.
Tôi đứng chết trân tại chỗ, nín thở.
Tiếng lẹp xẹp cũng dừng lại theo.
Tôi thử bước tiếp một bậc thang nữa.
Cộp.
Ngay lập tức, từ phía trên bóng tối dội xuống một âm thanh đáp trả.
Lẹp xẹp.
Nó bám sát từng nhịp độ của tôi. Dường như “thứ đó” đang đùa giỡn với con mồi của mình trong một không gian kín, nơi tôi không có lối thoát nào khác ngoài việc tiếp tục đi xuống.
“Trời ơi, tha cho con… con chỉ là sinh viên lên làm đồ án thôi… con không có tội tình gì…” Nước mắt sinh lý ứa ra giàn giụa trên gò má tôi. Tôi vừa mếu máo lầm bầm khấn vái đủ các vị thần linh, vừa cắm đầu lao xuống những bậc thang còn lại như một kẻ mất trí.
Tôi vấp ngã ở bậc thang cuối cùng của tầng 1, trượt dài trên nền xi măng khiến hai đầu gối trầy xước rướm máu. Cú ngã đau điếng nhưng tôi không dám nán lại quá hai giây. Cánh cửa thoát hiểm dẫn ra sảnh trệt hiện ra mờ ảo phía trước. Tôi lao tới, tung người đẩy mạnh cánh cửa văng ra ngoài.
Truyện ma có thật
3. Ánh Sáng Tại Chốt Bảo Vệ Và Cuộc Gọi Cầu Cứu Lúc Nửa Đêm
Truyện ma có thật
Khi thoát ra được khoảng không gian rộng lớn ở tầng trệt của trường Đại học Công nghệ Thông tin, tôi như một kẻ chết đuối vớ được chiếc phao cứu sinh. Ánh đèn cao áp chiếu sáng rực rỡ cả một khoảng sân rộng, hắt bóng những cây bàng lá đỏ xuống nền gạch. Gió đêm từ khu vực Hồ Đá thổi lồng lộng mang theo hơi nước mát lạnh làm tôi tỉnh hẳn người, xua tan đi cái mùi ẩm mốc chết chóc bám trên quần áo nãy giờ.
Tôi cắm đầu chạy thục mạng thẳng về phía cổng chính, nơi có bốt bảo vệ bằng kính đang sáng đèn leo lét. Chú bảo vệ già đang ngồi gác chân lên ghế, gà gật gục đầu vào chiếc đài radio rè rè phát bản tin đêm. Thấy tôi mặt mày tái mét, áo quần xộc xệch, mồ hôi nhễ nhại lao thẳng vào chốt, chú giật bắn mình rớt cả chiếc nón cối xuống đất.
“Trời đất quỷ thần ơi! Cậu sinh viên kia, làm cái gì mà chạy như ma đuổi giữa đêm hôm khuya khoắt vậy?” Chú đứng bật dậy, với tay lấy cây đèn pin siêu sáng.
Tôi khuỵu hẳn xuống nền xi măng trước cửa chốt bảo vệ, hai tay ôm lấy ngực thở dốc không ra hơi. Tôi dùng một tay chỉ ngược về phía tòa nhà C cao sừng sững, lúc này đang chìm trong bóng tối im lìm như một khối đen khổng lồ khép kín.
“Chú… chú ơi… trên phòng Lab tầng 4… có… có ma thật chú ơi!” Giọng tôi đứt quãng, lắp bắp.
Chú bảo vệ nhíu đôi lông mày rậm, nhìn tôi từ đầu đến chân rồi thở dài thườn thượt. Chú thong thả lấy chiếc ca nhựa, rót cho tôi một ly nước trà đá đặc quánh từ bình giữ nhiệt. Chú vỗ vai tôi bôm bốp:
“Bình tĩnh lại đi thanh niên. Uống ngụm nước cho trôi cái sợ. Lại thức đêm thức hôm code cái mớ đồ án AI gì đó rồi thần kinh căng thẳng sinh ra ảo giác chứ gì? Năm nào tầm tháng này, vô mùa chạy deadline đồ án tốt nghiệp, chả có vài cậu IT bên khoa Phần mềm hay Mạng máy tính chạy tụt quần xuống đây khóc lóc. Nào là máy tự code, nào là thấy người đi xuyên tường. Thần hồn nát thần tính cả thôi!”
Tôi đỡ lấy ly nước, hai hàm răng vẫn đánh vào nhau lập cập rung rinh cả chiếc ca nhựa. Tôi uống ực cốc nước chát ngầm, cái lạnh của trà đá giúp tôi lấy lại được một chút nhận thức.
Truyện ma có thật
Móc chiếc điện thoại thông minh ra khỏi túi quần, tay tôi vẫn run bần bật đến mức quẹt FaceID ba lần mới mở được khóa màn hình. Tôi lướt nhanh vào danh bạ, bấm gọi ngay cho thằng Nhân – đứa bạn chí cốt, một developer backend cực giỏi trong nhóm dự án của tôi. Trong nhóm, tôi, Nhân cùng với Phát, Quang, Hùng và Nam là những đứa kề vai sát cánh từ những ngày đầu chạy môn Kiến trúc phần mềm. Giờ phút sinh tử này, chỉ có tụi nó mới cứu được tôi.
Đổ chuông chừng mười lăm tiếng, đầu dây bên kia mới bắt máy. Giọng thằng Nhân ngái ngủ, khàn khàn xen lẫn sự bực dọc: “Alo… Đứa nào điên à? Gần 3 giờ sáng gọi cái quần què gì vậy Nam? Mày lại setup sai file config (cấu hình) của Spring Boot nên server không start lên được chứ gì?”
“Nhân… Nhân ơi… mày phi xe máy ra trường ngay đi… Cứu tao… Tao gặp ma thật rồi mạy ơi…” Tôi nói như sắp khóc, không còn giữ hình tượng cứng cỏi của một thằng con trai năm 3 nữa.
Nhân im lặng vài giây. Có lẽ với nhiều năm chơi chung, nó thừa hiểu tính tôi không bao giờ mang chuyện tâm linh ra đùa giỡn, đặc biệt là vào lúc nửa đêm, khi đang gánh vác trọng trách deploy server cho nhóm. Nó không buông lời chửi thề nữa, giọng trầm hẳn xuống:
“Mày đang ở đâu? Cổng chính hả? Có ai đó không?”
“Tao đang ở chốt bảo vệ. Mày ra ngay đi, rủ thêm thằng Phát chạy qua cùng. Tao không dám lên thu dọn máy tính đâu…”
“Được rồi. Đứng yên đó. Bật 3G lên gửi định vị tao xem. Tao với thằng Phát vác xác ra ngay.” Nó cúp máy cái rụp.
Truyện ma có thật
4. Bí Ẩn Về Nữ Sinh Viên Khóa Trước Và Áp Lực Vô Hình Tại UIT
Truyện ma có thật
Trong lúc chờ đợi hai thằng bạn, tôi thu mình ngồi bó gối trên chiếc ghế nhựa trong chốt bảo vệ. Chú bảo vệ già kéo ghế ngồi đối diện tôi, chậm rãi châm một điếu thuốc lá nhãn hiệu Con Mèo. Ánh lửa đỏ rực lóe lên soi rõ những nếp nhăn xếp lớp trên khuôn mặt khắc khổ. Chú rít một hơi thật sâu, nhả một luồng khói trắng mù mịt lên trần nhà rồi cất giọng trầm buồn, rè rè như tiếng đài cát-sét cũ:
“Chú làm ở Làng Đại học này ngót nghét cũng hơn chục năm rồi. Từ cái thời trường mình (UIT) cơ sở vật chất còn thô sơ, chưa có xây mấy cái tòa nhà kính đồ sộ như bây giờ. Cái phòng Lab C với Lab B trên tầng 4 đó… vốn dĩ sát vách nhau. Tụi mày là sinh viên khóa sau, chắc tụi mày không bao giờ nghe mấy thầy cô kể lại câu chuyện đau lòng từ hồi mấy khóa đầu tiên.”
Tôi nín thở, dồn ánh mắt tò mò nhưng đầy sợ hãi về phía chú. Lời kể của chú như một từ khóa (keyword) khớp nối hoàn hảo với những sự kiện kinh hoàng tôi vừa trải qua.
“Khoảng chín, mười năm trước gì đó,” chú chép miệng, gạt tàn thuốc ra ngoài cửa sổ, “Có một cô bé sinh viên năm tư. Giỏi lắm. Nghe đâu là thủ khoa đầu vào của ngành khoa học máy tính luôn. Con bé nhỏ nhắn, đeo kính cận dày cộp, lúc nào cũng thấy vùi đầu vào cái laptop.
Cuối năm đó, con bé nhận làm một cái luận văn tốt nghiệp đề tài gì mà phức tạp lắm, liên quan đến thuật toán tối ưu hóa hệ thống máy chủ gì gì đó, chú không rành kỹ thuật. Chỉ biết là nó tham vọng làm ra một cái phần mềm có thể sánh ngang với các công ty lớn.”
Giọng chú chùng xuống. “Áp lực ở cái trường này khủng khiếp lắm cháu à. Giỏi thì lại càng áp lực. Con bé thức trắng đêm ròng rã suốt hơn một tháng rưỡi. Gần như nó lấy phòng Lab làm nhà, ăn mì tôm, uống nước tăng lực thay cơm. Đêm nào tuần tra chú cũng thấy phòng nó sáng đèn.”
Tôi nuốt khan, sống lưng lại bắt đầu thấy rờn rợn.
“Đêm hôm đó,” chú tiếp tục, ánh mắt nhìn xa xăm ra màn đêm mù mịt phía tòa nhà C, “Cũng tầm giờ này, trời mưa lâm râm. Chú đi tuần tra kiểm tra điện đóm các tầng. Thấy cửa phòng Lab B còn hé sáng, chú định vào nhắc con bé đi ngủ sớm giữ sức khỏe. Nhưng khi đẩy cửa bước vào… chú thấy nó nằm gục đầu lên bàn phím cơ. Chú gọi hai tiếng không thấy thưa, lại gần lay vai thì… người nó cứng đờ, lạnh ngắt từ lúc nào rồi.”
Tôi nhắm nghiền mắt lại. Hình ảnh cô gái mặc váy trắng, mái tóc rũ rượi lại hiện lên trong tâm trí.
“Bác sĩ pháp y khám nghiệm, kết luận nó bị đột quỵ do suy nhược cơ thể trầm trọng, làm việc quá sức dẫn đến trụy tim. Đau xót lắm! Bố mẹ nó ở quê lên nhận xác con mà khóc ngất lịm ngay giữa sân trường.” Chú vứt tàn thuốc xuống đất, dùng mũi giày chà nát. “Sau vụ đó, nhà trường làm lễ siêu độ, rồi đóng cửa phòng Lab đó một thời gian dài. Nhưng rồi sinh viên đông, thiếu máy móc, nên phải mở lại dọn dẹp làm thành Lab C và Lab B như bây giờ.”
Truyện ma có thật
“Vậy… chị ấy…” Tôi ngập ngừng.
“Ừ. Người ta nói, những người chết trẻ, lại chết trong lúc mang nặng tâm tư, sự nghiệp dở dang thì linh hồn khó siêu thoát lắm. Từ đó về sau, mấy đứa sinh viên năm cuối ở lại khuya làm đồ án thi thoảng vẫn báo với chú là nghe thấy tiếng lạch cạch gõ bàn phím phát ra từ phòng Lab B, dù bên trong không có bóng người. Có đứa bạo gan nhòm vào thì thấy một bóng trắng ngồi trước màn hình đen sì.”
Chú nhìn thẳng vào mắt tôi, giọng nói chắc nịch: “Nghe mấy thầy hướng dẫn kể lại, lúc con bé mất, cái hệ thống của nó vẫn chưa chạy xong. Nó bị kẹt lại ở một lỗi logic thuật toán rất sâu mà nó tìm hoài mấy ngày liền không ra nguyên nhân. Bế tắc và tuyệt vọng, cộng với kiệt sức đã cướp đi sinh mạng của một nhân tài. Chắc có lẽ… linh hồn nó vẫn còn lảng vảng ở cái góc phòng đó, ngày đêm rà soát từng dòng code để tìm cho ra cái lỗi chí mạng kia…”
Não tôi gần như đông cứng. Lời thì thầm rợn gáy “Mày code sai dòng 405 rồi” vang văng vẳng bên tai, giờ đây mang một ý nghĩa hoàn toàn khác. Không lẽ, người chị khóa trước, vì quá ám ảnh với những dòng code chưa hoàn thiện, linh hồn đã bị trói buộc lại chốn này? Và đêm nay, chị ấy đang… xem tôi code? Đang soát lỗi (debug) hộ tôi?
Truyện ma có thật
5. Sự Thật Nằm Ở Dòng Code 405 Và Bài Học Xương Máu
Truyện ma có thật


Truyện ma có thật
Khoảng 20 phút sau, Nhân và Phát đèo nhau trên chiếc xe Wave Alpha tã tượi lao vút tới cổng trường. Thấy tôi mặt cắt không còn một giọt máu, ngồi rúm ró trong bốt bảo vệ, hai thằng bạn mới vứt bỏ thái độ cợt nhả, tin rằng tôi đang gặp chuyện chẳng lành thực sự.
Nghe tôi thuật lại chi tiết toàn bộ sự việc, từ tiếng gõ cửa, chuỗi ký tự tự sinh trên bàn phím, cho đến bóng trắng trên màn hình bóng loáng và lời thì thầm “dòng 405”, thằng Phát là đứa yếu bóng vía nhất, nổi da gà rùng mình liên tục, đưa tay vuốt dọc hai cánh tay rầm rập. Thằng Nhân thì trầm ngâm, nó không nói gì, chỉ vỗ vai tôi an ủi.
Đêm đó, ba thằng chúng tôi xin chú bảo vệ cho trải mấy tấm bìa carton ngủ tạm dưới sàn gạch của chốt. Không một đứa nào, kể cả đứa cứng vía như Nhân, dám đề xuất việc bước chân lên lại tầng 4 tòa nhà C ngay lúc ấy.
Mãi cho đến gần 7 rưỡi sáng hôm sau. Khi mặt trời đã lên cao, chiếu những tia nắng vàng rực rỡ xuyên qua tán lá bàng, xua tan lớp sương mù ảm đạm. Tiếng sinh viên nói cười ríu rít, tiếng xe cộ bắt đầu nhộn nhịp khắp Làng Đại học. Có hơi người, chúng tôi mới lấy lại được chút can đảm. Ba đứa rủ nhau đi bộ lên cầu thang, tiến về phía phòng Lab C để thu dọn chiến trường và kiểm tra số phận của hệ thống đồ án.
Căn phòng Lab lúc này ngập tràn ánh sáng tự nhiên. Ai đó đã mở tung các cánh cửa sổ bằng kính, gió buổi sáng lùa vào mát rượi, xua tan hoàn toàn cái không khí âm u, đặc quánh của đêm hôm qua. Mọi thứ trở lại bình thường như một phòng học công nghệ tiêu chuẩn.
Truyện ma có thật
Chỉ có chiếc máy tính trạm của tôi ở góc phòng là vẫn đang chạy, màn hình bật sáng.
“Mày vào xem thử terminal coi, con model train sống chết ra sao rồi?” Thằng Nhân huých chỏ vào hông tôi, hất hàm về phía màn hình.
Tôi dè dặt kéo lại chiếc ghế xoay, từ từ ngồi xuống. Đập vào mắt tôi, ngay giữa màn hình terminal đen sì là một cụm thông báo lỗi chữ đỏ rực rỡ, quen thuộc nhưng cũng thật ám ảnh:
[FATAL ERROR] Build Failed. Process terminated. java.lang.ArrayIndexOutOfBoundsException: Index 405 out of bounds for length 405
Hệ thống đã thực sự sụp đổ vào lúc rạng sáng, ngay sau khi tôi bỏ chạy.
“Đấy, tao biết ngay mà,” thằng Nhân chép miệng, kéo một chiếc ghế khác ngồi sát bên cạnh tôi. “Mày mở cái source code (mã nguồn) trong file ModelTrainer.java ra tao xem mày viết cái vòng lặp (loop) logic kiểu gì mà tàn tạ thế này. Khéo lại lặp vô hạn (infinite loop) gây tràn bộ nhớ (memory leak) rồi.”
Tôi di chuột, mở IDE (phần mềm lập trình) lên. File mã nguồn chính hiện ra với hàng ngàn dòng code phức tạp, tích hợp đủ các thư viện của Spring Boot. Bàn tay tôi vô thức đặt lên con lăn chuột, kéo thanh cuộn từ từ trượt xuống phía dưới.
Dòng 100… Dòng 200… Dòng 300…
Nhịp tim tôi bắt đầu đập nhanh dần. Mắt tôi dán chặt vào cột đánh số dòng bên lề trái.
Và rồi, con trỏ chuột dừng lại. Trái tim tôi như hẫng đi một nhịp.
Dòng thứ 405.
Ở chính xác tại dòng lệnh định mệnh đó, bên trong một hàm (function) quan trọng dùng để tính toán và duyệt qua các mảng dữ liệu (Array) của model AI. Nó là một bài toán dạng duyệt cây (Tree Traversal) mà tôi đã từng làm rất nhiều trên LeetCode.
Nhưng, do hôm qua quá mệt mỏi và buồn ngủ, tôi đã gõ sai một ký tự duy nhất trong điều kiện dừng của vòng lặp for.
Thay vì viết: for (int i = 0; i < array.length; i++) Tôi lại gõ thành: for (int i = 0; i <= array.length; i++)
Chỉ một dấu bằng (=) dư thừa chết người. Nó khiến hệ thống cố gắng truy cập vào một phần tử không tồn tại trong mảng (phần tử thứ 406 trong một mảng chỉ có 405 phần tử). Một lỗi sai vô cùng cơ bản, ngớ ngẩn của dân mới vào nghề (newbie), nhưng lại bị chìm lấp, ẩn giấu kỹ càng giữa hàng ngàn dòng code phức tạp của một kiến trúc hệ thống lớn.
Nếu lỗi trí mạng này không bị phát hiện và sửa chữa kịp thời, thì dù nhóm tôi có vứt lên server xịn, train model cả tuần lễ, đốt hết tài nguyên thì kết quả trả về cuối cùng cũng sẽ là một hệ thống chết (crash) ngay khi chạy thực tế.
Truyện ma có thật
Cả tôi, Nhân và Phát lúc này đều câm nín. Ba đứa đứng lặng người, chôn chân tại chỗ nhìn chằm chằm vào dòng code thứ 405 trên màn hình vi tính. Bầu không khí xung quanh dường như lại lạnh đi một chút.
Sự thật đã rõ ràng. Lời thì thầm rùng rợn lúc 2 giờ sáng đêm qua hoàn toàn không phải là một sự hù dọa ác ý của một ác linh tà vại. Đó thực sự là một lời nhắc nhở. Một sự “review code” đầy tâm linh. Nữ sinh viên vô danh năm xưa, dù thân xác đã nằm lại dưới nấm mồ lạnh lẽo, dù đã chuyển dời sang một không gian khác của cõi âm, thì dường như chị ấy vẫn mang trong mình bản năng sâu sắc của một “coder” thực thụ.
Linh hồn mang niềm đam mê công nghệ cháy bỏng ấy không thể nhắm mắt làm ngơ, không thể dung túng trước một “con bug” (lỗi) chí mạng xuất hiện trên hệ thống chạy trong căn phòng Lab quen thuộc của mình.
Tôi khẽ nuốt nước bọt, hai tay đặt lên bàn phím cơ. Lạch cạch. Tôi lặng lẽ xóa bỏ dấu bằng chết người ấy, sửa lại điều kiện của dòng 405 cho chuẩn xác. Nhấn tổ hợp phím Ctrl + S để save file lại, rồi tôi build (đóng gói) lại hệ thống một lần nữa. Không còn lỗi màu đỏ nào hiện lên. Dòng chữ BUILD SUCCESS màu xanh lá cây mát mắt hiện ra.
Tôi đứng dậy, rút dây sạc MacBook, thu dọn balo đồ đạc. Trước khi bước ra khỏi phòng Lab C, tôi ngoái đầu nhìn lại về phía cái góc phòng tối tăm, lạnh lẽo ngày hôm qua. Tôi hít một hơi thật sâu, khẽ cúi đầu thật thấp, thành tâm lầm bầm đủ để mình tôi nghe thấy:
“Dạ… em cảm ơn chị đã bắt bug giúp em. Chị giỏi quá. Chị yên tâm buông bỏ công việc để nghỉ ngơi nhé, em hứa sẽ hoàn thành nốt phần đồ án xuất sắc này thay phần của chị.”
Truyện ma có thật
Không có tiếng trả lời, nhưng tôi cảm nhận được, cái luồng khí lạnh lẽo áp bức trong căn phòng đã tan biến hoàn toàn.
Từ sự kiện kinh hoàng đêm hôm đó cho đến tận lúc bảo vệ thành công đồ án tốt nghiệp, ra trường và thực sự trở thành một Backend Developer chinh chiến qua nhiều dự án lớn, tôi tự đặt ra cho mình một nguyên tắc bất di bất dịch: Không bao giờ thức trắng đêm làm việc một mình tại cơ quan sau nửa đêm.
Nhưng cuộc đời làm coder, đâu ai tránh khỏi những đêm phải thức ôm máy tính fix những con bug “khó đẻ” trên production. Mỗi lần căng thẳng cực độ, bế tắc giữa mớ bòng bong code logic lằng nhằng, tôi lại bất giác nhớ đến căn phòng Lab C trên tầng 4 cao chót vót của trường Đại học Công nghệ Thông tin ấy. Tôi nhớ đến mùi hoa huệ thoang thoảng, và nhớ đến một lời nhắc nhở đầy trách nhiệm đến từ một người “đồng nghiệp” kỳ cựu ở tận cõi âm.
Truyện ma có thật
(Hết Tập 2)
GÓC CHIA SẺ DÀNH CHO BẠN ĐỌC
Truyện ma có thật
Vậy là hành trình trải nghiệm tâm linh đầy ám ảnh tại phòng Lab UIT đã khép lại. Câu chuyện này không chỉ là một trải nghiệm rùng rợn đơn thuần về thế giới tâm linh, mà nó còn phản ánh một phần hiện thực khốc liệt, những áp lực vô hình nhưng nặng nề đè lên đôi vai của sinh viên khối ngành kỹ thuật công nghệ nói chung và sinh viên IT nói riêng. Chạy deadline, thức trắng đêm, suy nhược cơ thể là những “bóng ma” có thực luôn rình rập sức khỏe của mỗi chúng ta.
Nếu bạn là một lập trình viên, một sinh viên IT đang ngày đêm cày cuốc, xin hãy nhớ rằng: Code có thể fix lại, máy chủ có thể khởi động lại, nhưng sức khỏe và sinh mạng con người thì chỉ có một. Hãy nghỉ ngơi đầy đủ!
Đọc những truyện ma khác tại: Truyện Ma Sinh Viên
