Viết Bừa Bãi
Gần đây tôi vừa hoàn thành bộ ba cuốn tiểu thuyết gốc của Isaac Asimov trong loạt tác phẩm “Foundation”. Việc đọc lại những cuốn sách này như một cách bổ túc kiến thức, không phụ lòng tôi từng phải đặt hàng qua bưu điện để sở hữu chúng. Việc mua sách thật sự là một khoản đầu tư xa xỉ - ngày xưa vì giá sách đắt đỏ, còn bây giờ là vì thời gian và tâm sức dành cho việc đọc.
Lần đầu tiếp xúc với tác phẩm này, tôi không cảm thấy ấn tượng như kỳ vọng năm xưa. Trong thời đại chưa có internet, việc tiếp cận các tác phẩm khoa học viễn tưởng kinh điển như thế này là điều vô cùng khó khăn. Asimov gần như được thần thánh hóa, phần nào có công của chính cha tôi. Khi tôi mới biết mặt chữ và háo hức với mọi cuốn sách, ông đã say sưa giới thiệu với tôi về Jules Verne và Asimov, khiến tôi nghĩ rằng hai nhà văn này chính là những thiên tài vĩ đại nhất thế giới.
Tuy nhiên, sau khi hoàn thành cả bộ sách, cảm giác không đến nỗi tệ. Có thể do chưa quen với chất lượng bản dịch, nhưng cốt truyện vẫn đầy kịch tính và bất ngờ. Dù là tác phẩm khoa học viễn tưởng ra đời vài thập kỷ trước, những tưởng tượng về công nghệ vẫn mang chút hơi hướng kỳ lạ. Khi đọc cuốn đầu tiên và thấy cụm từ “bảng điện toán”, tôi chỉ nghĩ đó chẳng phải là laptop ngày nay sao? Mà chức năng còn thua xa chiếc điện thoại thông minh Palm mà tôi đang dùng :)
Bỏ qua những công nghệ tưởng tượng lỗi thời (về mặt tưởng tượng thì tất nhiên không thể sánh với các tiểu thuyết huyền huyễn hiện đại), cách xây dựng tình tiết vẫn rất cuốn hút. Dù nhiều tình tiết theo tiêu chuẩn ngày nay không còn mới mẻ, nhưng chúng ta cần hiểu rằng qua nhiều năm tháng, không ít tác giả đã học hỏi và phát triển thêm, khiến chúng trở nên quen thuộc đến mức gây nhàm chán.
Tóm lại, tôi vẫn xin mạnh dạn giới thiệu tác phẩm này đến các độc giả yêu thích thể loại khoa học viễn tưởng chưa từng đọc qua.
Vào cuối tuần, tôi tình cờ phát hiện một lỗi trong client 3D của chúng tôi khi chạy trên X Window của FreeBSD - có vấn đề trong xử lý tin nhắn nhập tiếng Trung. Theo như đồng nghiệp dùng Ubuntu cho biết, trên Linux lại không gặp lỗi này. Sau khi kiểm tra, tôi nhận ra nguyên nhân nằm ở API XwcLookupString.
Trước đây viết nhiều ứng dụng trên Windows, tôi cứ mặc định rằng các API nhận wide char sẽ dùng mã hóa Unicode, nhưng thực tế lại không phải vậy. Chương trình của tôi nhận được toàn bộ ký tự tiếng Trung mã hóa GBK. Wide char ở đây chỉ đơn thuần là ký tự rộng. Tất nhiên điều này liên quan đến thiết lập locale của tôi, chứ không phải do khác biệt giữa FreeBSD và Linux.
Tra cứu tài liệu, tôi thấy nhóm API liên quan đến XIM có ba lựa chọn: XmbLookupString, XwcLookupString và Xutf8LookupString. Sau khi chuyển sang phiên bản Xutf8LookupString, đồng thời chuyển đổi chuỗi UTF-8 nhận được sang UTF-16, mọi thứ hoạt động bình thường.
Thú thật, trước đây chưa từng dùng XIM, lúc đầu cũng gặp không ít bối rối vì tài liệu tiếng Trung rất ít, tài liệu tiếng Anh cũng không nhiều. Hỏi qua vài đồng nghiệp, có người giới thiệu tôi thử giao diện IIIFM, nói rằng thiết kế tốt hơn XIM. Một đồng nghiệp khác lại cho rằng IIIFM thiết kế tệ, nên dùng XIM vì phổ biến hơn. Sau khi tìm hiểu trên Google, tôi quyết định chọn XIM vì an toàn hơn. Thực ra khi hiểu rõ rồi thì cũng không phức tạp lắm, chỉ là phần khởi tạo hơi rườm rà một chút.
Việc xử lý nhập tiếng Trung trên X có vẻ phức tạp hơn Windows một chút, thực chất là do Windows cung cấp giao diện thống nhất, còn X thì mở hơn, cho phép người dùng nhiều lựa chọn hơn.
Thành thật mà nói, tôi thấy cách Windows xử lý phương pháp “tiêm nhiễm” tiến trình người dùng của các bộ gõ thật khó chịu. Một lỗi nhỏ ở bộ gõ cũng có thể khiến ứng dụng người dùng sụp đổ. Bạn cứ thử chuyển sang bộ gõ Smart ABC, lần lượt nhấn các phím: V, mũi tên lên, Del, Enter là sẽ hiểu.
Chuyển sang chuyện game:
Hôm nay tôi nhận được báo cáo nghiên cứu từ phòng ban của công ty, trong đó có bản dịch nhiều phiên thảo luận quan trọng tại GDC 2007. Tôi đã dành cả tối để xem, dù có bản gốc đối chiếu nên không quá quan tâm đến chất lượng bản dịch. Nhưng rõ ràng các đồng nghiệp đã rất tận tâm với công việc này. Có lẽ đây là một trong những lợi thế của công ty lớn - sếp có thể chi tiền thuê người làm những công việc đòi hỏi nhiều công sức như thế này.
Vì đây là tài liệu nội bộ công ty nên tôi không tiện chia sẻ bên ngoài, xin phép được kể lại vài điểm thú vị:
-
Nhà sản xuất loạt game Castlevania là ông Hiroshi Igarashi đã chia sẻ lý do tại sao ông vẫn trung thành với game 2D. Một quan điểm quan trọng là game 2D có những ưu thế mà game 3D hiện tại chưa thể đạt được. Ví dụ như việc xác định khoảng cách chính xác, yếu tố cực kỳ quan trọng trong các game hành động. Những khác biệt về kỹ thuật cũng ảnh hưởng sâu sắc đến cả đội ngũ lập trình viên và cách làm việc nhóm.
-
Một nghiên cứu (về World of Warcraft) chỉ ra rằng: “Mối quan hệ xã hội trong game trực tuyến không mạnh mẽ như bề ngoài. Người chơi quan trọng việc có nhiều người cùng chơi hơn là tương tác trực tiếp với nhau.” Điều này có nghĩa là chỉ cần biết có ai đó đang cùng chơi là đủ tạo nên trải nghiệm cộng đồng. Quan điểm này trùng khớp với suy nghĩ của