无标题
Đã đổi sang một chiếc điện thoại mới ###
Đã đổi sang một chiếc điện thoại mới ###
Mới đây tôi đã đổi điện thoại mới
Chiếc Palm Treo 650 thân thiết đã đến lúc “hưu trí”. Hồi năm ngoái, tôi mua chiếc HTC Hero tặng bố và có dịp trải nghiệm hệ điều hành Android vài ngày, cảm thấy khá ấn tượng. Lần này tôi quyết định chọn một chiếc Android làm bạn đồng hành mới.
Ban đầu tôi cũng phân vân giữa iPhone và Palm Pre, nhưng nhờ được chuyên gia công nghệ trong công ty tư vấn kỹ càng. Đồng nghiệp này chia sẻ: “Tôi đã dùng qua hai đời iPhone nhưng cứ dùng một thời gian lại thấy muốn đổi máy. Về Palm Pre, hiệu năng cực kỳ tệ, hoàn toàn không thể sánh với dòng Treo quen thuộc”. Trong nửa năm gần đây, anh ấy đã trải nghiệm đủ các mẫu Milestone, Desire, Nexus One, X10i, i9000,… Mỗi chiếc đều có những điểm chưa hoàn hảo, nhưng cuối cùng vẫn đánh giá cao nhất chiếc Samsung Galaxy S (i9000).
Tôi đặc biệt tin tưởng những trải nghiệm thực tế từ người dùng kỹ tính, đặc biệt là kiểu người phải vài tháng lại đổi điện thoại mới thỏa mãn. Không chần chừ, tôi lập tức đặt hàng trên Taobao. Thế nhưng… sau 8 ngày chờ đợi, bên bán liên tục báo “hết hàng”. Đến ngày hôm qua, tôi quyết định hủy đơn và hoàn tiền mà không chút tiếc nuối. Quay lại kiểm tra thì phát hiện giá cả đã tăng từ 3.450 lên 3.600 nhân dân tệ. Tôi đổi sang một nhà bán mới và hôm nay đã nhận được hàng.
Vấn đề nhức đầu nhất là đồng bộ danh bạ. Tôi không tìm thấy cáp kết nối với Palm nên đành tìm phần mềm syncML phiên bản Palm. Kết quả bi hài là phần mềm này do người nước ngoài viết, hoàn toàn không xử lý mã hóa tiếng Trung. Trong khi đó, hệ thống Palm Treo của tôi đang dùng bản firmware tiếng Trung do dân bản xứ phát triển, sử dụng bảng mã GBK thay vì Unicode. Hậu quả là toàn bộ dữ liệu đều bị loạn mã.
Tôi tải xuống danh sách liên lạc từ Gmail và phân tích kỹ lưỡng. Google dùng Unicode để lưu trữ, xuất file CSV theo chuẩn UTF-16 (do Office của Microsoft quy định). Tuy nhiên phần mềm trên Palm đồng bộ trực tiếp mà không chuyển đổi, cứ thế đẩy dữ liệu GBK lên. Hệ thống syncML của Google nhận vào lại tách mỗi ký tự tiếng Trung thành 2 byte rồi chuyển sang UTF-16 (thêm byte 0 vào giữa), khiến mỗi chữ biến thành 4 byte hỗn loạn.
Sau khi xác định rõ nguyên nhân, tôi quyết định tự viết chương trình chuyển đổi bằng C trong nửa tiếng đồng hồ. Nhờ nắm rõ bản chất vấn đề nên lần này xử lý dứt điểm.
Bi kịch tiếp theo là Android 2.1 không hỗ trợ sắp xếp danh bạ theo pinyin tiếng Trung, khiến toàn bộ bạn bè Trung Quốc của tôi bị đẩy xuống cuối danh sách. Điều buồn cười là trước đây Palm cũng mắc lỗi tương tự, tôi từng viết tool tự động thêm chữ cái pinyin vào trước tên liên lạc.
Khác biệt nằm ở chỗ Palm mặc định hiển thị Họ trước, tên sau. Trong khi Android lại ưu tiên tên lên đầu. Những ký tự pinyin tôi thêm vào trước đây giờ bị đẩy ra phía sau tên gốc, khiến công cụ sắp xếp失效. Sau khi chỉnh lại thứ tự Họ-Tên trong cài đặt, mọi thứ mới trở lại bình thường.
À nhân tiện, gần đây tôi gặp không ít rắc rối về mã hóa dữ liệu. Trong đó có lần hệ thống FTP nội bộ công ty cũng gặp lỗi tương tự khi trao đổi file giữa Linux và Windows - tên file tiếng Trung liên tục bị lỗi. May là Samba xử lý vấn đề này ổn định hơn nhiều :D
Một vấn đề quan trọng nữa là kết nối VPN. Một trong những lý do khiến tôi đổi điện thoại mới là vì máy cũ không hỗ trợ kết nối này, mỗi lần truy cập Google Reader đều bị gián đoạn. Mua máy mới xong, tôi lập tức thử nghiệm bằng cách tự build server pptpd trên máy chủ Linode. Nhưng hôm nay bất ngờ không kết nối được, kiểm tra log thì phát hiện do tường lửa chặn giao thức GRE.
Không nản lòng, tôi nhanh chóng triển khai dịch vụ xl2tpd thay thế. Chỉ sau một vài thao tác cấu hình đơn giản, kết nối VPN đã hoạt động mượt mà trở lại.
À nhân tiện, nói thật - kinh doanh dịch vụ VPN cũng là một con đường làm giàu tiềm năng nhỉ? Dù đó là lĩnh vực nhạy cảm, cần hành động nhiều hơn nói…