nói dối e blog

Vô Dục Tắc Cương

Dạo gần đây khi tắm, tôi phát hiện một sợi tóc bạc khá lớn ở bên phải trán. Bình thường bị lớp tóc bên ngoài che khuất nên không để ý, chỉ khi hất tóc lên mới thấy rõ. Nhìn thấy mà thấy vui vui. Thực ra từ nhỏ tôi đã có tóc bạc sớm, thời tiểu học đã xuất hiện vài sợi trắng, có lẽ do di truyền. Nhưng mọc thành một dải rõ rệt như vậy thì đây là lần đầu tiên. (Tôi biết bố đang đọc đây, không cần lo lắng, mẹ luôn hiểu con trai mình mà, bao lâu nay tôi đều rất chú trọng chăm sóc sức khỏe.)

Bàn Về Bộ Gõ ABC Thông Minh Và Bộ Gõ Pinyin

Không biết có ai còn nhớ hệ điều hành Thiên Hối DOS không, đó chính là nơi tôi lần đầu tiếp xúc với Bộ gõ ABC Thông minh. Từ lúc ấy, tôi đã gắn bó với nó hơn mười năm trời. Tin rằng cũng có rất nhiều người đã sử dụng ABC Thông minh hơn một thập kỷ, nhưng đa số lại chưa từng khám phá được tinh hoa thực sự của phần mềm này. Bằng chứng là những bộ gõ pinyin mới ra đời gần đây dường như đều bỏ lỡ yếu tố then chốt này?
Tinh hoa mà tôi muốn nói chính là chức năng hỗ trợ mã nét chữ (bút họa) đơn giản của ABC Thông minh. Tôi đã từng trình bày rõ lý do vì sao yếu tố này quan trọng trong bài blog trước đây khi phân tích về Bộ gõ Google Pinyin.
Nếu bạn hứng thú, xin dành 5 phút đồng hành cùng tôi trong bài viết này. Tôi tin chắc rằng bạn sẽ nâng cao rõ rệt tốc độ gõ chữ bằng ABC Thông minh và giảm thiểu lỗi chính tả khi trò chuyện – điều khiến nhiều người “đau đầu” nhất khi chat!

Khởi Tạo Module

Trong thiết kế theo mô-đun, bài toán khó nhất chính là việc xác định thứ tự khởi tạo và hủy module. Nếu không xét đến việc tải/xóa module động, chúng ta có thể đơn giản hóa thiết kế đáng kể.

Vấn đề hủy module thực ra lại đơn giản nhất. Việc thoát an toàn chỉ cần đảm bảo giải phóng tài nguyên hệ thống. Đây là công việc của hệ điều hành - khi tiến trình bị kết thúc, toàn bộ tài nguyên sẽ được thu hồi tự động. Vì vậy tôi chọn cách không làm gì cả.

Kỳ Nghỉ Dài Miên Man

Kỳ nghỉ lễ lớn vào dịp Quốc tế Lao động năm nay, vì hộ chiếu tôi chuẩn bị hết hạn sau 5 năm, mà trong kỳ nghỉ phòng quản lý xuất nhập cảnh không làm việc. Công việc thường ngày bận rộn không có thời gian về nhà xử lý chuyện này, nên tôi quyết định trở về một ngày trước. Xin nghỉ thêm một ngày phép năm, trưởng phòng hành chính nhắc nhở tôi vẫn còn dư lại sáu ngày phép chưa dùng hết trước ngày 1 tháng 6. Ha ha, mấy năm gần đây hình như chưa năm nào tôi dùng hết toàn bộ ngày phép cả. Đối với tôi, làm việc hay không cũng chẳng quan trọng, mỗi ngày chỉ cần được sống với niềm vui riêng là đủ. Ban ngày ngồi viết vài đoạn mã cũng đủ khiến tôi hạnh phúc rồi, vậy thì hà cớ gì phải nghỉ ngơi?

Một Đêm Vật Lộn Cùng Insight

Tôi đã cài đặt phiên bản Insight 6.3, phiên bản có thể dễ dàng tải file bin từ trang chủ MinGW. Việc cài đặt và sử dụng cực kỳ thuận tiện. Tiếc thay, phiên bản GDB 6.3 này lại gặp vấn đề nghiêm trọng khi debug trên Windows - cụ thể là không thể attach đúng vào tiến trình đang chạy. Thử nghiệm đặt lệnh ngắt bằng int 3 trong code, sau khi chương trình crash thì dùng Insight attach vào tiến trình lỗi, nhưng hệ thống lại không hiển thị chính xác call stack của tiến trình đang debug. Điều này khiến tôi vô cùng bực bội vì không thể debug theo kiểu “on-demand” như thời dùng Visual C++ nữa - giờ phải khởi động Insight/GDB trước rồi mới chạy chương trình được.

Nén Hình Ảnh DXT

Hai ngày nay mình đang viết chương trình giải mã định dạng DDS. DDS là định dạng hình ảnh do Microsoft phát triển dành cho DirectX, cấu trúc file được mô tả chi tiết trên MSDN: DDS File

Định dạng nén DXT hiện đã được hầu hết phần cứng card đồ họa 3D hỗ trợ. (Nó sử dụng thuật toán nén hình ảnh có mất mát do công ty S3 phát minh. Thú vị là trong cuốn sách mình đang đọc, trang 232 có đề cập đến vấn đề này). DXT còn có tên gọi khác là S3TC, hiện tại định dạng .dds là định dạng hình ảnh phổ biến duy nhất hỗ trợ loại nén này. Để thuận tiện cho việc phát triển engine, chúng mình cũng tích hợp khả năng tải file .dds.

0%