Hồ Hoàng Thọ
Kí sự ghi đĩa DVD trên Ubuntu

Phụ nữ - mình nhớ có 1 cái hình vui chứng minh phụ nữ là nguồn gốc của mọi vấn đề, và sở dĩ cái “kí sự” này hiện diện ở đây cũng là vì phụ nữ.

Nhớ đợt trước, cái thời mà mình còn nhớ cách mở máy tính, cô hàng xóm có nhờ mình ghi cho 1 DVD bộ phim gì ấy, nghĩ lại mà vẫn còn cay…

Mình sẽ gọi đây là kí sự, vì để chứng tỏ độ ngu mà mình không đỡ được, hơn là viết 1 cái hướng dẫn bố đời.

Dạo ấy, khoảng năm Tấn Dũng thứ 8, công lức lúc ấy của mình có phần non kém, lại gặp nhiều áp lực từ việc ăn chơi căng thẳng, thậm chí còn không có thời gian học tập để giải trí, mình vội vội vàng vàng ghi bộ ấy cho cô hàng xóm, nhét gần chục tập định dạng…Matroska vào cái DVD, lại cứ chắc mẩm đầu máy thể nào chả đọc được.

Rồi mùa hè cũng qua. Mình cứ nghĩ chuyện đó rồi chả có gì. Năm nay (mình học 12) anh sẽ lao vào đánh cho Toán ngã, đánh cho Hóa nhào để không uổng công 11 năm ăn chơi. Thế mà lại gặp ngay cơ sự khá cay rằng cái DVD của cô hàng xóm không thể xem được. Mà làm thế nào mẹ của cô hàng xóm cũng xem rồi phán không xem được. Thề là lúc ấy cay lắm, cay vãi ra nhưng vẫn phải cười cười, bố đã ghi không công cho rồi còn chê mặn chê nhạt. nhưng cay nhất là cái hình tượng đàn ông 100 điểm lâu nay nó sụp đổ như tượng nữ thần tự do trong trailer Red Alert. Thôi rồi lượm ơi, trong mắt mẹ con cô hàng xóm mình chỉ như 1 thằng vừa ngu vừa bất lực vừa cay cú, lúc ấy chỉ muốn đấm phát cho cái đầu máy chết luôn.

Nhưng không! Không thể như vậy, nếu chỉ vì như vậy mà anh gục ngã thì đúng thật là 1 thằng ngu, và nếu chỉ vì như vậy mà cô hàng xóm dám phán xét thì anh sút tung đít ngay. Nhưng từ dạo ấy chả thấy cô hàng xóm nhờ ghi nữa nào nữa cả, coi như đó là 1 sai lầm, thất bại giúp chúng ta trưởng thành hơn (cũng tốt, đỡ phí đĩa của bố)

Thời gian thầm thoắt trôi, cũng đã có thể tính bằng năm…tháng, cô hàng xóm lại nhờ ghi đĩa, lần trước nữa cô hàng xóm cũng định làm đĩa gì ấy nhưng lại nhờ người khác, thế là mình nghĩ giá trị của mình đã được định đoạt. Lần này, đây không phải vấn đề nhờ vả, mà là vấn đề lấy lại giá trị bản thân, phải làm như thể 1 sai lầm nhỏ không thể nào xóa mờ tài năng 1 con người, đây là vấn đề sống còn! Là vấn đề 5 ăn 5 thua, hoặc là sẽ chết trong nhục nhã, hoặc sẽ trở về như 1 siêu anh hùng!

Lúc ấy mình đang xài Ubuntu, nhưng xá gì chuyện hệ điều hành, mình lên http://pub.vn tải phim ngay và luôn. Rồi lặn lội khắp các khu ổ chuột Google, đến các khu Phú Mỹ Hưng diễn đàn này nọ và tìm ra thần dược DeVeDe, nghe nói trị bệnh ghi đĩa rất tốt. Nhưng trong quá trình sử dụng thì bị ngộ độc vài lần suýt chết. Ca này khó đành phải chuyển lên tuyến trên, tuyền trên bó tay đành chuyển sang tuyến dưới, vậy là chua hơn mình tưởng.

Sẵn tiện nói luôn về thất bại lần trước khi DVD bảo bối giao đấu với đầu máy nhà nàng. 1 cái đầu đĩa DVD gia dụng tiêu chuẩn sẽ phải đạt yêu cầu là đọc được dữ liệu video MPEG-2 (hay có thể ngầm hiểu là MP2), dữ liệu âm thanh MP2 hoặc PCM hoặc AC3 và xuất hình ảnh ra màn hình, và những định đạng này thường cho dung lượng phim khá lớn. Sau khi định dạng MP4 được phát triển, người ta mới sán xuất loại đầu đĩa hỗ trợ xem rực tiếp định dang này, và kéo theo là “đĩa nén” ra đời. Và cứ đinh ninh là đầu đĩa nhà nàng đọc được tuốt, coi như thất bại vì ngại thành công.

Bây giờ nói về cái đĩa, có 2 loại DVD là DVD dữ liệu và DVD video. Mình sẽ không dề cập đến DVD dữ liệu vì nó không phải là đối tượng cần xem xét. DVD video là chuẫn mà tất cả các đầu đĩa đều hỗ trợ (nếu không, nó không phải là đầu DVD). Cấu trúc đĩa như sau: Trong thư mục gốc nó sẽ có 2 thư mục AUDIO_TS và VIDEO_TS. Nếu là đĩa audio thì dữ liệu sẽ được chứa trong AUDIO_TS và có thể không có VIDEO_TS, còn nếu là đĩa video thì dữ liệu sẽ được chứa trong VIDEO_TS và có thể không có AUDIO_TS. Nói riêng về DVD video, trong thư mục VIDEO_TS bắt buộc phải có các tập tin:

VIDEO_TS.IFO - Là tập tin chính chứa thông tin của toàn bộ đĩa

VIDEO_TS.BUP - Là tập tin sao lưu của VIDEO_TS.IFO

Các tập tin IFO khác - Là tập tin thông tin của từng chapter

Các tập tin VOB - là một tập tin chứa dữ liệu hình ảnh, âm thanh và phụ đề.

(Ảnh: Wikipedia)

Đó là cấu trúc bắt buộc của 1 đĩa phim nếu muốn đảm bảo tính tương thích sẽ chạy trên mọi loại đầu đĩa. Tại sao phải có cấu trúc như vậy? Nếu muốn biết chúng ta cần hiểu rõ quá trình tạo ra cấu trúc đĩa như vậy gọi là DVD authoring, bao gồm tạo trình đơn cho đĩa, lập trình mã nhúng và phân chia chapter. Việc phân chia chapter ngoài việc giúp cho người xem dễ dàng truy xuất tới đoạn cân xem, nó còn phụ thuộc vào tập tin VOB. Tập tin VOB là 1 tập tin chứa (container) giống như MKV hay TS, tức là nó chứa những dữ liệu thô về hình ảnh, âm thanh, phụ đề, tức là 1 tập tin VOB có thể chứa nhiều phim với nhiều ngôn ngữ. Tuy nhiên, đầu đĩa chỉ có thể chơi được tập tin VOB có dung lượng dưới 1GB, nên bắt buộc nếu dữ liệu quá lớn, nó phải chia nhỏ ra thành nhiều chapter, và mỗi chapter cũng như luồng dữ liệu nào chứa trong nó được truy xuất đều được các tập tin IFO quy định, các tập tin IFO làm nhiệm vụ tạo ra trình đơn để người dùng chọn chapter, chọn ngôn ngữ và điều hướng đến dữ liệu hoặc tự động điều khiển, người ghi đĩa có thể thiết lập những việc này trong quá trình authoring.

Nhưng quá trình thực hiện thì không đơn giản như mình tưởng, mình luôn gặp lỗi khi sử dụng, mình đã phải xóa DeVeDe và cài hàng loạt chương trình authoring khác để thử. Sau quá trình miệt mài cùng với những thất bại, tưởng như đã gục ngã, trong cơn say bí tỉ cùng Toán,  Lý, Hóa, Sinh, anh đã giác ngộ lý tưởng cách mạng, đứng dậy tiếp tục bôn tẩu khắp các diễn đàn, và đã học được 2 chiêu võ công thương thừa, có thể thuần phục thần rồng DeVeDe, mượn sức mạnh của ngài để luyện 1 viên thần đơn có tên là tập tin ISO.

Lúc bấy giờ mình cũng thắc mắc tại sao lại có các loại đĩa nén không theo cấu trúc nào hết mà vẫn chơi tốt, và mình phát hiện nó cũng không khác gì ngoài việc các tập tin được encode vô tội vạ bằng MP4 và chứa trong container định dạng AVI. Nếu muốn ghi các loại đĩa kiểu này, trong Windows các bạn có thể dùng TMPGEnc hoặc Avidemux cho cả Windows và Linux để convert thành tập tin MP4, nếu muốn tăng tính tương thích thì encode cho tập tin là MP2, tập tin này sẽ chơi tốt trên 95% đầu đĩa. Nhưng bất lợi của loại đĩa này là phụ đề của nó chỉ có thể ép cứng vào phim (còn gọi là hard sub) nên không phải lúc nào cũng phù hợp với mọi loại màn hình.

Còn bây giờ là hướng dẫn cách tạo 1 DVD video “đúng nghĩa” (tức là có cấu trúc DVD đẹp và ngon). Đầu tiên các bạn cài đặt DeVeDe thông qua kênh phần mềm mà công đồng Ubuntu hỗ trợ, hoặc thông qua APT, hoặc có thể tải gói Debian tại http://www.rastersoft.com/programas/devede.html

Sau khi tải về các bạn chạy và làm theo hướng dẫn, các nút bấm cũng khá quen thuộc và thao tác khác dễ dàng

- Ở cửa sổ ban đầu, các bạn chọn loại đĩa cần tạo, ở đây chúng ta sẽ tạo DVD video

- Tại cửa sổ tiếp theo, các bạn chọn có thể tùy chọn tạo trình đơn cho DVD hoặc không, chỉnh sửa 1 số thông số về chất lượng phim, định dạng xuất, chọn phim và phụ đề

- Cuối cùng là bắt đầu xuất phim ra và bạn có thể dùng chương trình ghi đĩa nào đó (mặc định Ubuntu đã có sẵn Brasero) để ghi ra đĩa DVD

Nhưng trong quá trình xuất phim có thể bạn sẽ gặp các lỗi sau đây. Đầu tiên là lỗi:

Lý do của lỗi này là do tập tin phụ để không được định dạng đúng, và sau khi bị lỗi nếu bạn mở tập tin phụ đề bằng chương trình xem văn bản thì sẽ báo lỗi. 

Lời khuyên nếu phụ đề là tiếng Việt, hãy chắc chắn tập tin được định dạng UTF-8. Bạn có thể tim hiểu thêm về Unicode tại http://vi.wikipedia.org/wiki/Unicode

Lỗi thứ 2 bạn có thể gặp là:

Hồi đầu lúc cài Ubuntu, mình cũng hơi thắc mắc là tại sao cả Terminal lẫn XWindows đều hỗ trợ đưỡng dẫn unicode, đành rằng mã nguồn mở là cái nền tảng bản địa hóa khá tốt, nhưng như các bạn xài Windows cũng biết, hầu hết chương trình đều không hỗ trợ đường dẫn unicode, ví dụ như bạn mở 1 tập tin có đường dẫn C:\đường dẫn\tiếng_việt.doc thì sẽ báo lỗi ngay, nhưng sau 1 thời gian mình cũng không để ý. Nhưng riêng đối với engine mà DeVeDe sử dụng (SPUMUX), nó bị 1 ràng buộc là bạn phải sử dụng đường dẫn dang plain text, tức là khong được có dấu. Vì vậy nên lúc chọn đường dẫn xuất phim ra bạn nên sử dụng 1 thư mục có đường dẫn tương rồi “trơn tru”, chẳng hạn như /home

Chỉ cần đảm bảo là phụ đề được mã hóa UTF-8 và đường dẫn không có dấu bạn sẽ không gặp lỗi này. 1 mẹo nhỏ là bạn đừng ngại bấm “Preview” trước khi xuất phim, vì nếu preview thành công thì có nghĩa là bạn sẽ xuất phim thành công, trong quá trình preview, phụ đề có thể hơi xấu (vì nó sử dụng engine MPlayer) nhưng chất lượng phụ đề phụ thuộc vào đầu đĩa nên bạn cứ an tâm.

Trên đây là quá trình trầy trật học hỏi nhiều thứ để lấy lại hình tương với cô hàng xóm, qua cái Tết này nhất định anh sẽ từ địa ngục trở về, hy vọng kí sự cũng giúp ích cho 1 số bạn muốn tìm hiểu. Chúc vui!

Tích hợp Disqus và vBulletin 4

Hôm nay vào phần Customize của Tumblr thấy nó đổi (không biết là từ hồi nào) cũng khá lắm, cảm giác hơi bị…thần thánh, giống như kiểu tất cả đều thay đổi. Có vẻ giao diện này có vẻ rất hợp lý, giống như Blogger nhưng đơn giản và thân thiện hơn.

Bài viết này sẽ nói về một vấn đề…hổng giống ai: “Tích hợp Disqus vào vBulletin 4” (mình chưa thử trên vBulletin 3 nhưng về lý thuyết thì dĩ nhiên phải được [không được cũng phải được]), cũng có thể là tích hợp cho vui nhưng cũng có cái lợi của nó, như là:

- Bạn sẽ có 1 cái shoutbox mà mọi người có thể dùng bất cứ tài khoản nào mà không cần phải là thành viên của forum.

- Bạn có thể có 1 hệ thống comment trên trang chủ.

- (Nhưng cái nghệ thuật nhất chính là) bạn có 1 “hệ thống comment thứ 2”

Tưởng tượng xem spammer và moderator đều phải cực khổ trong cái chu kỳ comment-xóa-ban-clone…Vậy nếu như có 1 hệ thống mà người ta có thể nói bất cứ điều gì trong topic bên cạnh hệ thống chính như kiểu Google Sidewiki.

Phew! Về mặt ý tưởng thì các bạn có thể suy nghĩ và “tự thuyết phục” mình xem nó có những lợi ích gì. Còn về mặt kĩ thuật, vấn đề là làm sao để trong 1 thread (và các trang của nó) tách biệt với 1 thread khác.

Disqus lưu giữ database của nó 1 cách rất tùy biến nếu như có can thiệp vào cả script của nó. Còn mặc định nó sẽ phân chia database hướng địa chỉ. “Hướng địa chỉ” có nghĩa là sao? Nghĩa là trên trang web của bạn, chỉ cần đường dẫn sai khác 1 chút ít (như là truy cập vào các thread khác nhau, thư mục con…), Disqus sẽ tạo ra 1 database cho đường dẫn đó. Điều này thỏa mãn việc các thread sẽ có các database khác nhau, nhưng thất bại ở chỗ chính những trang hay thậm chí những post của thread đó cung có những database khác nhau.

Dĩ nhiên là nó có một cái gì đó chung, nhưng để can thiệp đến mức độ “chung” đó thì tức là đa can thiệp đến PHP. Mình không biết lập trình PHP nên việc generate một đường dẫn hơi bị “chua” với mình (hy vọng ai đó có hứng thú sẽ phát triển mặt kỹ thuật của ý tưởng này). Nhưng có 1 điều may mắn ở đây là: “Tại sao mình không chỉ can thiệp ở mức độ client script, tức là dùng Javascipt để phân tích cái địa chỉ của thread và đưa kết quả cho Disqus truy xuất?”

Vậy là xong! Vấn đề đơn giản hơn mình tưởng nhiều. Đây cũng có vẻ như là cách khá đơn giản mà không cần can thiệp nhiều. Vậy mình sẽ trình bày “phương pháp Javascript”:

- Đầu tiên các bạn tại 1 tài khoản Disqus và lấy general code của nó

- Đăng nhập vào Admin Control Panel. Chọn 1 template để thêm code vào, các bạn phải chọn 1 template mà đảm bảo sự xuất hiện của nó trong tất cả các thread hoặc ở đây mình chọn cách đơn giản hơn là đặt ở sidebar, vào Forum Blocks Manager và Add new > Custom HTML/PHP code

- Thiết đặt tùy biến theo ý các bạn, trong content dán general code của Disqus vào và thay thế “shortname”. Giá trị disqus_identifier = document.location.href.slice(0,document.location.href.indexOf(“-“));

Ý nghĩa: địa chỉ của forum vBulletin có dạng http://example.com/forum/showthread.php?####-abcdefghijklmnopqrstuvwxyz. Trong đó #### là số thứ tự của thread, và ngay sau đó sẽ được ngăn cách với phân tên thread (abcdefghijklmnopqrstuvwxyz) bằng 1 dấu “-“. Nhưng nếu tham chiếu tới 1 post hoặc 1 trang của thread đó thì địa chỉ sẽ có thêm các tham số của showthread.php, như vậy sẽ có nhiều database vô lý được tạo ra và không truy xuất được databse ban đầu. Đoạn mã trên sẽ “cắt” địa chỉ ngay vị trí dấu “-” đầu tiên của địa chỉ và trả về giá trị là đoạn “http://example.com/forum/showthread.php?####”, như vậy mỗi thread đã có 1 địa chỉ duy nhất phụ thuộc vào số thứ tự cho dù truy xuất đến trang nào của thread và Disqus chỉ tạo ra 1 database cho toàn bộ thread.

Đó là chút ý tưởng điên rồ để giải trí cuối tuần. Có 1 demo nho nhỏ mình đã làm cũng khá lâu: http://ngdu.net

Hết (hết rồi!)

Tui thường gặp khó khăn khi kết thúc 1 vấn đề

Mastering Autodesk Maya 2012

Mastering Autodesk Maya 2012

Tác giả: Todd Palamar, Eric Keller

Thuộc dạng “Kinh Cựu Ước” của dân CG, không ngờ lại xuất hiện trên Google Books trước khi lên torrent

http://books.google.com.vn/books?id=15sVRwQHH1MC&printsec=frontcover&source=gbs_atb

Hình ảnh Interlaced

Nhiều lúc buồn mình không tha thiết gì với Facebook lắm. Nhiều người (như mình) cứ tỏ ra vui vẻ vậy chứ làm sao lúc nào cũng vui được, cảm xúc tự nhiên của con người mà (hoặc là của con thú trong người, mà con người không có con thú bên trong nó tẻ nhạt lắm). Trở về với blog cổ điển cũng là cách để quán triệt tư tưởng trước khi làm việc, bình tĩnh hơn. Đó cũng là lý do mình chỉ viết mặc dù Tumblr có nhiều thứ hay ho như reblog, like, photo, quote, link, caht, audio, video…nhưng mà mình cảm thấy nó tạp nham, rẻ tiền cái blog đi. Có thể không phải vậy, mình biết điều này nói ra thì cũng đụng chạm nhưng riêng đối với bản thân mình thì là vậy.

Nhiều khi mình cảm thấy cái mở bài với cái nội dung minh viết nó không có liên quan gì với nhau, kể cũng hơi vô duyên nhưng mà thói quen của mình là vậy. Đối với mình thì sống mất dạy hay cao thựng hay sao không quan trọng bằng sống có phong cách (haha).

Trong cái bài Lý thuyết encode video mình có nói đến interlaced video, còn hôm nay mình sẽ nói đến hình ảnh interlaced. Đối với dân thiết kế thường người ta sẽ không quan tâm thuật toán nó hoạt động ra sao, chỉ cần hình ảnh nó đẹp là OK. Nhưng mà có bao giờ bạn thử tìm hiểu ý nghĩa của những cái bạn…chưa hiểu, nó hơi bị thú vị.

Photoshop cũng là một chương trình, và bất kỳ chương trình nào cũng phụ thuộc vào toán học, dữ liệu màu sắc thực ra cũng chỉ là những con số. Mình sẽ nói về 4 định dạng bạn thường xuất ra nhất và tại sao mình thích xuất ra PNG.

BMP là định dạng ảnh bitmap chuẩn, và đối với “họ hàng” của nó như TIF, định dạng này sẽ xuất ra file ảnh mà dung lượng của nó rất lớn. Mặc dù lợi thế là nó có thể giữ được độ phân giải cao cho hình ảnh nhưng dung lượng của nó đánh mất cảm tình rất nhiều.

Sau đó người ta phát minh ra định dạng JPEG. Đối với tất cả các thể loại “péc” (PEG) như JPEG, MPEG (video) thì đó đều là định dạng nén, JPEG là 1 file BMP đã được nén lại bằng thuật toán Huffman, mà nói như thể mình giỏi toán lắm chứ thật ra mình cũng không đủ kiến thức để hiểu thuật toán Huffman, chỉ cần hiểu đơn giản là nó sẽ làm giảm dung lượng file xuống và chất lượng cũng giảm theo. Điểm đặc biệt của thuật toán Huffman là khả năng interlace hình ảnh. Hình ảnh interlaced là hình ảnh không được load theo kiểu quét từ trên xuống, mà nó sẽ được quét toàn bộ. Tức là mình ảnh của bạn sẽ dần dần rõ lên sau vài lần quét, nhưng ngay từ đầu nó đã hiển thị hoàn toàn kích thước rồi.

Sau đó GIF ra đời để nhắm đến đối tượng người dùng web. GIF không yêu cầu chất lượng và dung lượng của nó có thể nhanh chóng được truyền tải qua mạng, giúp giảm băng thông so với JPEG cổ điển. Và GIF sử dụng 1 hệ thống màu hạn chế, tức là nó chỉ có thể sử dụng một số màu cơ bản, điều màu làm giảm tính phong phú màu sắc của GIF nhưng ưu điểm là hiển thị đồng bộ trên mọi thiết bị.

Điểm chung của BMP và GIF là nó chỉ có thể mang thuộc tính progressive. khác với progressive video, hình ảnh progressive là hình ảnh mà trình xem ảnh sẽ nhận dữ liệu từng dòng của hình ảnh để xuất ra màn hình. Tức là hình ảnh sẽ được quét từng hàng, từ trên xuống, từ trái sang. Vì tốc độ xử lý hình ảnh trên máy tính cao, hình ảnh gần như được đưa trực tiếp vào RAM nên bạn sẽ không nhận ra điều đó, tuy nhiên khi hình ảnh được truyền tải qua mạng, bạn sẽ thấy hình ảnh hiển thị từ từ, lộ dần từ trên xuống, khi trình duyệt nhận được bao nhiêu dữ liệu thì hình lộ ra đến đó.

PNG được tạo ra nhằm xoá bỏ những rào cản của từng định dạng trên và giữ lại tất cả những ưu điểm của 3 định dạng đi trước. Nó giữ lại chất lượng như BMP, có thuật toán nén tự động tối ưu hiệu quả như JPEG và lưu giữ được những vùng “trong suốt” (transparent) như GIF. Do vậy PNG trở nên phổ biến trong thiết kế web.

Cách đối phó khi đối mặt với virus

Mới vào Tumblr thấy giao diện của nó vừa mới đổi, trông cũng hay hay.

Dạo này nhiều chuyện ức chế quá (thực ra thì chỉ có 1 chuyện nhưng mà nó ức chế lâu dài, dai dẳng) nên mình chỉ còn có nước tìm lại niềm vui viết lách, cũng có lẽ vì thế mà chăm chút cho blog nhiều hơn.

Mình viết bài này mà sợ bị ném gạch quá, tại vì nếu viết đơn giản thì sẽ bị mấy anh IT xoắn cho chết, mà viết phức tạp thì mấy bạn phổ thông có thể sẽ không hiểu. Mà thường thì mình chưa thấy cái anh IT nào hướng dẫn cho mấy bạn phổ thông hết trơn, nên mình chấp nhận bị ném gạch để viết cái bài này. Để giải toả stress cũng tốt.

Đầu tiên, virus phát triển theo từng ngày, từng giờ, từng phút, nên đây không phải là cách tối ưu cho mọi loại virus, nhưng ít nhất thì nó sẽ giúp bạn chống lại 1 số loại virus phổ biến nhất. Thứ hai, mình sẽ viết theo kiểu chia cấp, mình sẽ chia làm 3 cấp: cấp 1 (không chuyên), cấp 2 (nghiệp dư), cấp 3 (cao thủ) để viết tương ứng cho từng đối tượng. Chẳng hạn như mình sẽ dùng từ ngữ thuần việt nhất cho cấp 1, chủ ý ở đây là các bạn có thể học dần lên.

Cấp 1 - là những bạn chỉ biết chat, blog, mạng xã hội, chơi game, nghe nhạc, xem phim, nói chung là tận hưởng cái máy tính của mình mà còn không biết nó xài hệ điều hành gì…

Sai lầm lớn nhất của người dùng phổ thông là cài những chương trình diệt virus cao cấp nhất mà lại…tắt cập nhật tự đông và bảo vệ thời gian thực. Bạn nên mở cập nhật tự động và bảo vệ thời gian thực lên.

Sai lầm thứ 2 là bạn quan niệm khi virus nhiễm vào rồi mới quét và diệt, thực ra khi nhiễm virus rồi thì không có cách nào diệt hết, bạn sẽ phải xoá luôn hoặc thay thế tập tin bị nhiễm, mà tất cả đều là tập tin hệ thống. Diệt virus thực ra diệt khi virus còn chưa được kích hoạt.

Nhiều bạn có cách đối phó với virus lạ lùng, mà có lẽ vì thế mà mình mới phải viết bài này, đó là không đọc kỹ các thông báo của antivirus mà chỉ…bấm đại hoặc reset máy ngay lập tức vì sợ. Khi đưa ra thông báo thì bạn nên hiểu là antivirus đã cách ly và vô hiệu hoá virus ngay rồi, giống như khi ăn cướp bị cảnh sát bắt vậy. Cho nên dù bạn không biết tiếng anh, bạn cũng đừng nên reset máy, reset máy sẽ làm hư hỏng phần cứng rất nặng nề, bạn nên nhờ bạn bè có hiểu biết giúp đỡ bằng cách gửi cho họ thông báo của antivirus.

Nhiều bạn còn nhầm lẫn hành vi của virus với thiết đặt Windows nữa. Virus có khả năng thay đổi thiết đặt Windows, nhưng cũng có thể những thay đổi là do con người làm. Vậy thì đừng hễ thấy bất kỳ điều gì kỳ lạ cũng cho là do virus. 

Có bạn lại chủ trương…quét virus hằng ngày, hàng giờ liền. Mình cảm thấy việc này nó chỉ tốn điện (trong cái xã hội thiếu thốn tài nguyên này). Như đã nói thì nó không có ích lợi gì cả, chỉ có bảo vệ thời gian thực mới hiệu quả nhất. Trong thời gian máy tính nghỉ ngơi thì bảo vệ thời gian thực nó cũng đã quét nhanh cho bạn rồi.

Lại nói về các thiết bị USB (USB chỉ là tên gọi chuẩn giao tiếp và cổng giao tiếp, chỉ có người Việt Nam mới dùng USB để chỉ cái ổ đĩa USB thôi), bân cạnh Yahoo! Messenger, phần lớn virus máy tính lây lan ở Việt Nam qua con đường USB. Một phần là do các bạn chưa biết cách ngăn chặn và quan niệm “nhiễm virus nặng”, “nhiễm virus nhẹ” (virus đều nguy hiểm như nhau, chỉ là do mức độ “màu mè” của nó, đôi khi virus trông hiền lành nhất lại là nguy hiểm nhất). Có một vài nguyên tắc như sau: 

-Khi cắm đĩa USB vào máy, bạn nên giữ phím Shift để virus từ đĩa USB không kích hoạt và lây sang máy.

-Tuy nhiên, nếu máy tính đã bị nhiễm virus, chắc chắn sẽ lây lan sang đĩa USB.

=> Kết luận: Bạn có thể ngăn không cho virus từ đĩa USB lây sang máy tính bằng cách giữ Shift, nhưng 100% virus sẽ lây từ máy tính sang đĩa USB mà không có cách nào ngăn chặn.

=> Giải pháp: bạn nên chọn các loại đĩa USB có nút khoá, như vậy virus sẽ không thể lây từ máy tính vào khi bạn đã khoá. Tuy nhiên, bạn chí có thể đọc àm không thể chép dữ liệu vào đĩa USB. Khi có nhu cầu, bạn đành phải “căn răng chịu đựng” virus lây lan vào USB (vì không có cách nào ngăn chặn được, nhất là khi bạn sử dụng máy ở các tiệm net) rồi sẽ về nhà xoá sau hoặc nhờ người có kinh nghiệm xoá hộ. Tuy mất công nhưng an toàn.

Kinh nghiệm khi đối phó với virus cũng như giải quyết mọi chuyện trên đời là phải bình tĩnh. Không có gì là không giải quyết được, bạn không nên nóng vội và lo sợ.

Cấp 2 - các bạn ở mức độ này đã có “thâm niên” trong trường IT khá lâu nhưng cũng có một số nhầm lẫn không nhỏ

Crack, keygen, patch, loader…nói chung là những sản phẩm của reverse engineering có thể sử dụng một số engine nhỏ mà antivirus có thể nhận lầm là virus. Và có 1 số virus cũng có thể giả dạng làm crack. Cả 2 đều được antivirus chặn lại. Vậy làm sao để phân biệt và “dám liều mạng” để 1 lần xài warez cho thoả thích? Đầu tiên là nguồn download của bạn, dĩ nhiên bạn sẽ tìm thấy đủ thứ thượng vàng hạ cám ở keygen.nl nhưng có thể an tâm ở 9down.com. Thứ 2 là khả năng nhạy bén của bạn, khi bạn thấy file .bat đi kèm file .exe và 1 số .inf .ini gì gì đó thì khả năng virus sẽ cao hơn. Thứ 3, bạn có thể “mổ xẻ” file ra bẳng 1 số chương trình như WinRar (để xem file .exe có phải là file SFX hay không). Cuối cùng, khi vẫn còn chưa dám chạy sống, hãy mở file bằng sandbox.

Bạn đã có thể biết cách nghi ngờ máy mình bị nhiễm virus, vậy làm sao để phát hiện cũng như phân tích hành vi của virus? Đầu tiên bạn hãy…tắt antivirus đi, việc này có thể hơi kỳ lạ nhưng khi đã bị nhiễm rồi thì antivirus là vô dụng, nó còn làm cho việc phân tích của bạn bị sai lệch. Bạn có thể sử dụng một chương trình xem process như Process Explorer để xem những tiến trình trong máy. Bạn hãy ghi ra giấy những tiến trình nghi ngờ (kiểm tra bằng nhiều cách như end process để xem process có được tạo lại hay không, kiểm tra xem có thư viện lạ hook vào dịch vụ và tiến trình hệ thống hay không…), sau đó hay kiểm tra tất cả những thiết đặt nào của Windows bị thay đổi, startup, cả Internet Explorer.

Sau khi phân tích, bạn có thể quyết định giữa việc cài lại hệ điều hành hoặc sửa chữa nó. Trong trường hợp bạn có thể sửa chữa nó, đừng bao giờ xoá từng phần của virus khi nó đang làm việc, bởi vì bản chất của virus là tư nhân bản ra đủ thứ tên như GJHGU.exe rồi BBTYIT.exe nên khi xoá bạn sẽ phải mất công…phân tích lại. Bạn nên chuẩn bị tất cả các file hệ thống “sạch” để thay thế, chú ý là phải cùng phiên bản. Sau đó, tốt nhất bạn nên vào Safe Mode để kiểm tra 1 lần nữa trong trường hợp startup không được load. Khi đã chắc chắn mọi điều, hãy dùng đĩa Hiren’s Boot để can thiệp vào Windows, xoá và thay thế file bị nhiễm, sửa lỗi, dọn dẹp registry… trong 1 lần duy nhất.

Cấp 3 - là những cao thủ có nhiều năm chơi virus, nắm rõ hành vi virus trong lòng bàn tay…

…Và cũng là cái cấp mình chả biết phải viết gì. Thường thì những bạn này thích bypass antivirus và tạo ra virus hơn. Thôi thì nếu bạn sẽ qua được cái cấp 2, bạn sẽ đến được với cái cấp này. Viết về những bạn này không phải là viết về kỹ thuật, mà phải viết về nhân văn chút xíu. Giống như bạn đến nói chuyện kiếm khí với Độc Cô Cầu Bại tốt hơn hay nói chuyện tình cảm với ổng tốt hơn?

Lý thuyết encode video

Oh thì mình cũng không phải là giỏi giang gì cho lắm để mà dám viết cái tựa đề “hổ báo” như vầy. Nhưng mà đôi khi nghe các bạn nói: “Hướng dẫn chi tiết chút đi, làm quài không được”. Vấn đề là bạn có đọc hết cái chi tiết của nó không thôi.

Cái vấn đề này cũng có rất là nhiều bài viết nói về nó, nhưng mà chỉ giới hạn ở mức “bạn phải chọn thế này, bạn phải chọn thế kia”. Trong các forum anime thì lại có cách encode khác, trong các forum kỹ xảo thì lại nói về cách encode khác, photographer cũng có cách encode riêng mà animator cũng có cách encode riêng. Bạn sẽ bị choáng khi xem rồi lại áp dụng tùm lum tà la vào và kết quả là nhiều khi bạn sẽ nói: “Ủa sao cái video trên YouTube coi rõ mà PSP tao coi gớm quá vậy?”

Vậy encode là gì? Đối với phim nhựa thì khung hình sẽ được in trực tiếp lên dải phim, còn khi mà phim đã được số hoá rồi thì nó sẽ được lưu dưới dạng tập tin. Vậy encode nói cho nó “công nghệ” tí là cái cách mà dữ liệu video được mã hoá thành tập tin.

Trái ngược với encode là decode. Decode nghĩa là tập tin phim sẽ được giải mã ra dữ liệu thô để cho CPU xử lý.

Convert là gì? Là chuyển đổi định dạng của tập tin. Vậy thực ra quá trình convert phim là 1 tập tin sẽ được decode rồi lại encode bằng 1 cách khác.

Muxing? Muxing là 1 thuật ngữ mới để nói về phương pháp đóng gói dữ liệu âm thanh, hình ảnh, thumbnail và phụ đề cho phim. Bạn cứ tưởng tượng đơn giản như thế này: bạn có 1 tập tin phim, 1 tập tin âm thanh, 1 tập tin phụ đề gì gì đó, bạn muốn tất cả sẽ được phát cùng 1 lúc nên bạn sẽ nhét nó vào chung 1 tập tin, đó gọi là muxing. Ngày xưa người ra thường encode âm thanh và phim thành 1 tập tin và có 1 tập tin phụ đề khác, hoặc là người ta sẽ làm hard-sub, nhưng hiện nay thì muxing được sử dụng nhiều hơn bới tính tuỳ biến của nó. Định dạng thường được sử dụng để muxing là MKV.

Trái ngược với muxing ta cũng có demuxing, tức là sẽ “lôi” từ trong 1 tập tin đóng gói ra các dữ liệu của nó.

Ok đó là một số từ ngữ các bạn nên biết, bây giờ sẽ đến phần lý thuyết encode. Mình không biết người khác có cái “công thức encode” nào hay là kinh nghiệm gì. Nhưng khi encode phim mình chỉ quan tâm các vấn đề sau:

- Số khung hình mỗi giây (còn gọi là fps). Là cái số khung hình mà mỗi giây của phim chứa. Có thể có các loại fps khác nhưng fps tiêu chuẩn có các loại sau: … 10fps; 12fps; 12,5fps; 15fps; 23,976fps; 24fps; 25fps; 29,97fps; 30fps, 50fps; 59,94fps; 60fps. (chấm chấm chấm tức là còn 1 số chuẩn ít dùng khác, những chuẩn này khi xem bạn sẽ thấy khung hình bị giật, in đậm là những chuẩn quan trọng nhất mà mình sẽ nói sau). Lưu ý duy nhất là bạn nên giữ đúng số khung hình mỗi giây, vì nếu bạn convert giữa 2 định dạng phim khác số khung hình mà không biết tính toán thì phim của bạn sẽ bị chậm lại, nhanh hơn hoặc là bị giật, bị loop hình ở 1 số chỗ. Bởi vì đơn giản là máy tính sẽ giảm bớt hoặc tổng hợp thêm khung hình khi chó chênh lệch, vậy thôi.

- Bitrate là 1 trong số những thứ quan trọng, nó quyết định chất lượng cho bộ phim. Bitrate là cái dung lượng mỗi giây của phim, ví dụ bộ phim dài 1 phút không có codec (mình sẽ nói về codec sau) của bạn có bitrate trung bình là 768kb/s, vậy phim của bạn sẽ có tổng dung lượng xấp xỉ 768 * 60 = 46080 kb =5760 KB = 5MB. (Thật sự ra thì encode phim cũng giống như làm toán, bạn cần phải có hiểu biết về đại lượng mà máy tính sử dụng, nếu chưa quen các bạn nên sử dụng máy tính tay). Mình biết chắc đến đây nhiều bạn sẽ quan niệm bitrate sẽ chia đều ra cho từng giây, tức là giây nào cũng có số bitrate bằng nhau, giống như số khung hình mỗi giây. Không phải như vậy đâu nha! Đối với những giây có ít chuyển động dĩ nhiên là bitrate của bạn sẽ ít hơn những giây chuyển động nhiều và phức tạp rồi! Vậy cách tính như thế nào? Cách tính tổng dung lượng như các bạn có thể thấy ví dụ trên = bitrate * số giây. Còn cách tính để dự đoán chất lượng của bộ phim = birate / số khung hình mỗi giây. Nói vậy có nghĩa là sao? Bạn cứ hình dung phim là tập hợp 1 chuỗi các hình JPEG tĩnh, chẳng hạn phim của bạn có 24fps và bitrate là 768kb/s, vậy mỗi khung hình như vậy nó sẽ được cấp 768 / 24 = 32 kb. Một khung hình của bạn chỉ có dung lượng là 32 kb mà thôi, vậy vấn đề chất lượng bộ phim bây giờ nó phụ thuộc tiếp vào yếu tố độ phân giải.

- Độ phân giải là khái niệm đơn giản là chắc bạn nào cũng phải biết, đơn giản nó chỉ là cái thông số chiều ngang x chiều cao của phim được tính bằng pixel. Chẳng hạn phim HD 1080 là phim có độ phân giải 1920 x 1080 px. Vậy tại sao nó lại có ảnh hưởng đến chất lượng phim? Như ví dụ trên, 1 khung hình của bạn là 1 hình JPEG 32 kb. Nếu bạn dùng máy chụp ảnh khoảng 7,2 MP thử chụp một hình có độ phân giải 1920 x 1080 px, chắc chắn là dung lượng của nó sẽ khoảng 1MB đến 2MB tuỳ thuộc vào ánh sáng môi trường. Vậy bạn có hình dung một bộ phim sẽ có chất lượng thế nào khi bạn muốn độ phân giải của nó lên đến HD 1080 mà chỉ cấp cho nó bitrate là 768kb/s ? Vậy vấn đề ở đây là bạn phải tìm cách xem xét tương quan giữa bitrate và độ phân giải để cho ra 1 bộ phim chất lượng. Hình ảnh chuyển động không như hình ảnh tĩnh, người xem sẽ không quá chú ý chi tiết của từng khung hình (bởi vì thật ra mắt họ cũng chẳng thể bắt kịp từng khung hình, trừ khi bạn chiếu phim cho Siêu Nhân hay The Flash coi) nên mình cá là chất lượng khung hình của phim nào cũng không chi tiết bằng hình chụp. Tuy nhiên, sự tính toán là cần thiết bới vì bạn càng rút ngắn tỉ lệ giữa bitrate và độ phân giải thì bạn càng có một bộ phim chất lượng, nhưng bạn còn phải cân nhắc về dung lượng của nó nữa, bới vì phim của bạn đẹp thật đó nhưng bạn mất cả 1 cái ổ cứng để chứa nó và không có CPU nào có thể xử lý nổi lượng bitrate của nó thì cũng vô dụng.

Và sau đây là một số vấn đề thứ yếu nữa nhưng có thể ảnh hưởng đến phim mà bạn sẽ bất ngờ vì nó:

- Codec. Mình đã nói là encode phim cũng như làm toán và bitrate không hề trải đều ra mỗi giây mà sẽ tập trung vào những chuyển động nhiều và phức tạp nhất. Cho nên người ta sẽ chế tạo ra 1 cái gọi là codec, nó giống như một thuật toán để giúp mã hoá, và nén phim lại để có được phim chất lượng mà vẫn giữ được dung lượng nhỏ cho bộ phim. Có 2 loại codec là codec âm thanh và codec hình ảnh. Ở đây mình chỉ nói đến codec hình ảnh (vì hằng ngày các bạn nghe nhạc MP3 cũng là 1 loại tập tin được encode bằng codec âm thanh đó). Cách thức mã hoá của codec cũng giống như những trình nén như WinRar, WinZip, tức là thuật toán rất đa dạng, nhưng chung quy nó sẽ mã hoá những dữ liệu giống nhau để giảm bớt những khung hình thừa. Tất nhiên là nó chỉ có tác dụng lên những đoạn phim có ít chuyển động, phim càng ít chuyển động càng được nén nhiều hơn. Nói chung, khi sử dụng codec bạn chỉ cần quan tâm đến vấn đề duy nhất là…máy tính người xem có codec giải mã hay không. Bởi vì mọi loại codec đều không có khác biệt gì mấy, nhưng nếu máy tính người xem không thể giải mã video thì thất bại.

- Định dạng. Nhiều bạn rất chú trọng về định dạng phim, và cũng có nhiều thắc mắc “Ủa sao MP4 mà máy mày xem được máy tao không xem được” blah blah… Mình xin thưa là định dạng nó không hề có vai trò gì trong việc encode hết. bạn có thể đổi định dạng phim thành .abc .xyz .hầm_bà_lằng gì đó mà vẫn xem tốt. Định dạng thực ra chỉ là cái chuẩn người ta đặt ra để các chương trình phát phim nhận dạng đầu vào nhanh hơn thôi. Chẳng hạn bạn mở 1 phim abc.xyz bằng Windows Media Player, cái WMP nó mới hỏi “Ủa cái anh này là con mẹ gì vậy?” rồi nó sẽ dò tìm bằng thuật toán nào đó “À thì ra mày là MP4 hả?”, còn khi bạn mở file abc.mp4 WMP sẽ nhận ra “Ờ MP4 hả ku, anh play ngay!”. Khi mà bạn định dạng tầm bậy nó sẽ mất thời gian dò tìm codec đúng thôi chứ không có gì ảnh hưởng. Tất cả là do codec quyết định, bạn có thể thấy MP4 bằng rất nhiều loại codec: DivX cũng là MP4, XviD cũng là MP4, h264 cũng là MP4. Cho nên vấn đề tương thích, các bạn nên xem lại codec chứ không phải là định dạng của phim.

- Tỉ lệ khung hình. Tạm thời chúng ta sẽ quan niệm tỉ lệ khung hình là cái quyết định độ phân giải của phim. Như đã nói về phim HD 1080 có độ phân giải là 1920 x 1080 px. Bạn sẽ nhận thấy rằng khi lấy 1920 /16 * 9 =1080. Ta nói tỉ lệ khung hình của phim này là 16:9. Có một số chuẩn tỉ lệ khung hình khác như 3:2, 4:3, tức là chiều ngang sẽ tỉ lệ với chiều cao khung hình con số tương ứng. Đến đây, có thể nhiều bạn thắc mắc hoặc mình sẽ nói luôn: “Tại sao có một số phim tỉ lệ khung hình lại không đúng với độ phân giải, ví dụ như có 1 số phim HD 1080 có độ phân giải 1440 x 1080 px, tức là khi bạn lấy 1440 /16 * 9 = 810”. Nó trái khoáy với cái tính toán của chúng ta liền! Bạn có nghĩ rằng phim đó không mang tỉ lệ khung hình là 16:9 không? Không phải như vậy đâu, nó vẫn là 16:9. Tại sao vậy?

Hồi lớp 5 mình có giải 1 bài toán như thế này: 1 sàn nhà được lợp 200 miếng gạch, biết mỗi miếng gạch có cạnh 40cm, tính diện tích sàn nhà. Khung hình cũng như vậy, nó được cấu tạo từ rất nhiều, rất nhiều điểm ảnh nhỏ. Và kích thước của nó dĩ nhiên là do điểm ảnh quyết định. Có phải bạn quan niệm điểm ảnh (hay còn gọi là pixel) là những khối vuông đúng không? Đó chính là những gì chúng ta quan niệm nãy giờ, nhưng rõ ràng nó hoàn toàn không phải vậy. Chúng ta sẽ đi sang 1 khái niệm rất thú vị: tỉ lệ điểm ảnh.

- Tỉ lệ điểm ảnh. Bạn có nghĩ tỉ lệ là do kích thước quy định hay kích thước là do tỉ lệ quy định không? Điều này không quan trọng, bởi vì điểm ảnh là đơn vị nhỏ nhất cấu tạo nên hình ảnh, bản thân nó được quy định là 1 pixel. Vấn đề là trong encode, cái điểm ảnh của bạn nó không phải lúc nào cũng vuông, nó không giống như viên gạch. Điểm ảnh cũng có tỉ lệ như khung hình vậy, bạn cứ xem nó là 1 hình chữ nhật cực kỳ nhỏ, có 1 số chuẩn tỉ lệ điểm anh như là: square pixel (1), NTSC (0,91), NTSC Widescreen (1,21), PAL (1,09), PAL Widescreen (1,46), HDV (1,33), DVC Pro (1,5), Anamorphic (2). Con số trong ngoặc là tỉ số chiều ngang / chiều cao của điểm ảnh. Cho nên TV nhà bạn nào có thể thay đổi chế độ NTSC và PAL (mà mình nghĩ TV nào cũng có) thì thử xem nhé, bạn sẽ thấy không chỉ có hồ sơ màu mà tỉ lệ khung hình cũng thay đổi, bạn đang ở Châu Á nên mặc định nó sẽ là chế độ PAL, nhưng ở Châu Âu bạn sẽ toàn xem TV bằng chế độ NTSC (về hồ sơ màu mình sẽ không đề cập đến, vì lý thuyết màu là cả 1 cái mảng đề tài to lớn, lớn hơn lý thuyết encode rất nhiều). Cái thú vị chính là chỗ chiều ngang và chiều cao điểm ảnh đều được gọi là pixel nhưng cái pixel này nó không có bằng nhau. Đó cũng là cái lý do mà độ phân giải phim tính bằng pixel chứ không phải 1 cái đại lượng gì khác như là cm hay là mm hay là inch. Nếu bạn đã hiểu, vậy hãy quay lại ví dụ lúc nãy, bây giờ bạn hãy lấy 1440 / 16 * 9 = 810, bạn thử lấy 1080 / 810 = 1,33. “À thì ra tỉ lệ điểm ảnh của cái phim này là 1,33”.

Vậy bây giờ khi convert phim, bạn phải biết tính toán dựa trên tỉ lệ khung hình và tỉ lệ điểm ảnh, bị gì mình vẫn chưa tìm thấy 1 cái chương trình nào “đủ thông minh” để nó tính toán lại 2 cái tỉ lệ đó cho bạn, ví dụ như bạn convert 1 cái phim 1440 x 1080 HDV sang 1 cái phim 1920 x 1080 square pixel, bạn thấy nó vẫn còn bình thường, nhưng bạn phải ngầm hiểu là nó đã ép từng cái điểm ảnh của bạn lại rồi lại kéo căng toàn bộ ra bằng khung hình, bạn phải cẩn thận trong vấn đề này vì nếu tính toán sai phim của bạn nó sẽ bị biến dang (stretch) theo chiều cao hoặc chiều ngang khi convert.

Đối với làm phim, nếu không có mục đích gì đặc biệt hoặc là phụ thuộc camera, và nếu phim bạn theo kiểu slide show, bạn nên sử dụng square pixel, lấy ví dụ như thế này: bạn có 1 hình vuông, giả sử bạn xoay hình vuông có 45 độ, thì đối với phim square pixel nó vẫn sẽ là hình vuông, nhưng đối với phim có tỉ lệ điểm ảnh khác, hình vuông của bạn sẽ bị biến dạng (skew) thành hình bình hành.

- Interlaced / Progressive. Đây là một đề tài cũng không kém phần thú vị, nó sẽ đưa bạn về lại những lý thuyết đầu tiên: số khung hình mỗi giây và muxing. Bạn có thắc mắc là tại sao lại có những cái phim mà số khung hình mỗi giây cao đến 60fps không? Trong khi bạn thường nghe 24 hình/giây, vậy cái anh này ảnh làm cái gì lên tới 60 hình/giây làm chi vậy? Trong các phòng thí nghiệm có những camera thậm chí lên đến hàng ngàn fps để ghi lại những cảnh chiếu chậm, giống như là camara sẽ quay thật nhanh, rồi khi kéo ra 24fps, nó sẽ chuyển động thật chậm (chương trình Time Warp trên Discovery chẳng hạn). Điều đó chỉ đúng đối với…phòng thí nghiệm, còn 60fps của máy HandyCam dân dụng thì lại khác. Có thể các bạn không để ý, và nãy giờ mình cũng tránh việc sử dụng ký hiệu này, trên tất cả các loại phim HD, nó thường có ký hiệu là 1080p hoặc 1080i. Vậy có bao giờ bạn nghĩ răng nó có ý nghĩa gì đó không hay chúng là như nhau? Đúng rồi! i là viết tắt của interlaced, p là viết tắt của progressive, theo đó thì 1080p là 1080 progressive và 1080i là 1080 interlaced, so on…

Không biết mấy bạn có đang tra từ điển không chứ hồi đó khi biết đến vấn đề này, mình liền tra từ điển cái interlaced và progressive có nghĩa là gì, và thật sự đến bây giờ mình mới hiểu hết ý nghĩa của nó.

Progressive có nghĩ là cấp tiến, đây là định dạng cổ điển của video nên không lạ việc phần lớn video đều là progressive. Progressive chính là định dạng như nãy giờ chúng ta đã nói, nó là tập hợp chuỗi các khung hình chạy liên tục, nên nó được gọi bằng cái tên “cấp tiến” vì khung hình của nó cứ tiến tới, tiến tới…Đặc điểm của phim progressive là nó sẽ bị delay 1 phần nhỏ của giây nhưng chúng ta không hề nhận ra điều đó.

Còn Interlaced có nghĩa là xen kẽ, nó là một định dạng không quá mới mẻ nhưng kết hợp nó với muxing để tạo ra thể loại HD interlaced là công nghệ mới phát triển gần đây. 1 phim interlaced thường được kết hợp từ 2 lớp phim, 1 lớp ở trên và một lớp ở dưới. Bạn có thể hình dung đơn giản thế này, phim của bạn sẽ được cắt ngang ra thành n hàng, hình ảnh của những hàng chẵn sẽ được ghi vào một lớp phim, hình ảnh của những hàng lẻ sẽ được ghi vào lớp còn lại, tức là hình ảnh của 2 lớp phim sẽ xen kẽ nhau và thời gian phát hình cũng xen kẽ nhau. Lấy ví dụ 1 phim 60fps, vào lúc 1/60 giây, những hàng chẵn sẽ nhảy khung hình, lúc 1/60 giây tiếp theo, những hàng lẻ sẽ nhảy khung hình. Cứ như vậy, những hàng chẵn và lẽ của phim sẽ nhảy khung hình xen kẽ nhau nên được gọi là “interlaced - xen kẽ”. Tuy nhiên, bản chất của mỗi lớp phim cũng chỉ có một nửa số khung hình và chỉ chửa một nửa dữ liệu phim (chỉ dữ liệu hàng chẵn hoặc dữ liệu hàng lẻ) nên phim interlaced vẫn xấp xỉ dung lượng của phim progressive và không bị delay, cảm giác khi quay phim interlaced rất là “realistic” nên ngày càng thông dụng. Phim interlaced trước đây cũng ghi lên 1 lớp phim như progressive, nhược điểm là nó sẽ để lại những đường sọc ngang (scanline), nhưng ngày nay người ta đã tách thành 2 lớp và mux nó lại thành file định dạng MTS nên ưu điểm là chuyển động rất mượt.

Bây giờ bạn đã hiểu khác biệt giữa chữ p và chữ i, không phải tự nhiên mà người ta gọi như vậy, nhưng MTS chưa phải là một định dạng phổ thông, nếu vì một lý do nào đó bạn muốn chuyển phim interlaced sang phim progressive thì sao? Bạn rất có thể sẽ gặp lỗi như phim của bạn sẽ nhân đôi thời gian lên (do máy tính không hiểu số khung hình mỗi giây chênh lệch giữa phim progressive và phim interlaced) hoặc là khi chuyển động video của bạn sẽ có những sọc ngang màu đen (đây là lỗi thường gặp nhất) do máy tính sẽ cho hàng chẵn và hàng lẻ chạy liên tục chứ không xen kẽ nhau nữa. Để giải quyết vấn đê này người ta sử dụng một phương pháp gọi là deinterlaced. Thì hầu hết các chương trình chỉnh sửa phim chuyên nghiệp đều có thể deinterlaced thủ công hoặc tự động. Khi deinterlaced, máy tính của bạn sẽ tính toán làm thế nào để kết hợp 2 lớp phim interlaced lại thành 1 lớp phim progressive mà không bị kéo dài thời gian (time stretch) hoặc khiến phim của bạn bị sọc ngang.

- Profile. Như mình đã nói ở phần số khung hình mỗi giây, mình sẽ giải thích về những chuẩn quan trọng và tại sao nó lại quan trọng. Profile là tập hợp những chuẩn encode theo mỗi yếu tố lại với nhau thành 1 chuẩn lớn, nó đơn giản chỉ là tên gọi và tập hợp những chuẩn của những thành phần quyết định cách yếu tố của phim. Ví dụ cho dễ hiểu: NTSC DV là tên 1 profile mà video định dạng theo profile này sẽ có độ phân giải 720 x 480 px; tỉ lệ điểm ảnh 0,91; 29,97fps. PAL DV là một profile mà video có độ phân giải 720 x 576 px; tỉ lệ điểm ảnh 1,09; 25fps…

Còn một số vấn đề chi tiết như thư viện dùng để encode và phầm mềm thích hợp, một số định dạng đặc biệt, cách tính toán chi tiết ra sao đó trong mỗi trường hợp, v.v…các bạn có thể liên hệ mình nếu muốn tìm hiểu kỹ hơn. Mình không muốn bài viết của mình dài hơn nữa. Chào các bạn!

Cách boost âm lượng trong WMP và 1 số chương trình nghe nhạc

Cũng là do một vài điều kiện mà mình sử dụng tai nghe chứ không dùng loa, tai nghe là nó chỉ giới hạn 100% âm lượng từ máy tính (để bảo vệ tai bạn), trong khi loa có thể tăng thêm vài chục đến vài trăm decibel. Đó là ưu điểm của tai nghe, vì khi chỉnh sửa âm thanh bạn có thể đặt mức âm lượng phù hợp với hầu hết thính giả. Nhưng cũng là khuyết điểm của nó, vì khi xem 1 video hay nghe nhạc có âm thanh quá nhỏ với tai nghe, bạn đành phải bất lực, trong khi bạn có thể mở hơn với loa.

Thực sự là bài viết này không cần thiết lắm cho nhà bạn nào có loa, vì về cơ bản thì âm lượng của loa nó đã boost hơn âm lương thật rất nhiều rồi.

Mình sẽ minh hoạ bài này trên Windows Media Player, nhưng mình nghĩ cách này có thể áp dụng trên hầu hết tất cả các chương trình nghe nhạc, xem phim, miễn là có Equalizer. Sau hàng giờ nỗ lực tìm kiếm mà không được, phần vì video đang xem rất hay, mà thiếu điều muốn nhét luôn cái tai nghe vào lỗ mới nghe được, mình rút ra kết luận là: chả có phần mềm nào có thể tăng âm thanh real-time lên cho bạn cả (mình không nói đến việc quăng video đó vào 1 phần mềm để edit lại âm thanh, rồi lại xuất ra, mình đang nói đến việc boost âm thanh trong khi xem), thôi thì đành tự lực cánh sinh vậy.

Và cuối cùng mình cũng tìm ra 1 cách, âm thanh có vẻ không hay lắm, nhưng mà ai cần quan tâm việc đó chứ, nghe được là mừng rồi.

Bạn chỉ cần kéo tất cả cần chỉnh Equalizer lên mức cao nhất, âm thanh của bạn có thể tăng lên khoảng 200%. Và thế là xong, cực kỳ đơn giản, nhưng hiệu quả. 1 thủ thuật nhỏ cho các bạn dùng tai nghe.

Trạng thái trực tuyến Yahoo! Messenger

Mình viết cái bài này hoàn toàn thiên về công nghệ. Hồi đó mình có cái thói quen lồng ghép mấy cái triết lý hay những thứ ‘có vẽ triết’ vào bài viết, mà không biết là nhất thời hay sao, dạo này mình thấy cáo phong cách đó rẻ tiền quá.

Nhưng mà có người khuyên mình không nên bỏ cái cách viết đó, mặc dù lâu nữa có thể nó sẽ nhàm chán đó, mà thôi không bàn lui nữa. Mình hay nghe người ta nói “Được cái này thi mất cái kia”, bạn không thể đòi hỏi một cái gì hoàn hảo hết. Nếu chuyện tình cảm của bạn mà hoàn hảo thì có thể bạn sẽ gặp trục trặc công việc nhiều chẳng hạn. Mình thì không nghĩ cái chuyện đó không do “muốn” hay không, mà giống như dòng nước, khi bị chặn đầu này thi bạn phải chảy qua đầu kia. Có nhiều câu nói rất hay khuyên bạn hãy biến thành thủy triều đi, để chảy khắp mọi nơi, còn mình thì thấy thể tích có hạn, khi bạn có nhiệt huyết, nó như một ngọn lửa giúp thể tích tăng lên chút đỉnh, khiến bạn chạm đích thành công. Cái chuyện bạn quyết định cuộc đời bạn chỉ có khoảng 90% thôi, khi mình quyết định trở thành 1 con người tài năng, tức là các bạn nên hiểu không phải mình muốn như vậy, đơn giản là con đường tình cảm của mình…không có.

Thôi được rồi, viết tiếp nữa thì không phải chỉ có mình tâm trạng mà nó sẽ lan sang biến cái bài viết thành 1 bài tâm trạng luôn đó, mà mình thì không hề muốn sửa lại cái tiêu đề “Trạng thái trực tuyến Yahoo! Messenger” chút nào.

Đây là một bài có thể gọi là một bài dịch, vì mình tham khảo trực tiếp thông tin ở đây http://www.tildemark.com/programming/php/adding-ym-online-status-icons-to-websites-using-php-and-html-scripts.html. Tức là bạn chèn 1 biểu tượng vào trang web hoặc blog để thông báo trạng thái trực tuyến hiện tại của bạn. Lấy ví dụ yahoo! ID mình là “industrialpark1994”, mình sẽ có một địa chỉ tại http://opi.yahoo.com/online?u=industrialpark1994

Bất cứ người sử dụng Yahoo! Messenger nào cũng có một địa chỉ như vậy và công khai để mọi truy xuất qua internet có thể sử dụng. Và nếu bạn muốn đặt 1 hình ảnh nho nhỏ để thông báo trạng thái trực tuyến của bạn, đơn giản là bạn chỉ cần dùng một thẻ img (image) với thuộc tính src (source) dẫn tới địa chỉ biểu tượng của bạn, dạng như:

<img src=”http://opi.yahoo.com/online?u=yahoo_id_của_bạn” />

Thông minh hơn, bạn có thể sử dụng thẻ a (attribute) với thuộc tính href (HTML reference) sử dụng giao thức ymsgr (1 dạng giao thưc riêng của Yahoo! Messenger bình thường như http, fpt, telnet, torrent, edonkey)bao quanh hinh ảnh đó, để khi nhấp vào hình ảnh, người khác có thể chat trực tiếp với bạn, dạng như:

<a href=”ymsgr:sendim?yahoo_id_của_bạn”><img src=”http://opi.yahoo.com/online?u=yahoo_id_của_bạn” /></a>

Thông tin về giao thức ymsgr bạn có thể xem tại: http://en.wikipedia.org/wiki/Yahoo!_Messenger#URI_scheme

Bạn có thể sử dụng thêm thông số t để thay đổi hình của bạn, chỉ việc thử: http://opi.yahoo.com/online?u=yahoo_id_của_bạn&t=số_thứ_tự

Yahoo! cung cấp sẵn cho bạn 24 biểu tượng, bạn có thể xem hình trên là ví dụ khi bạn thay các số 0 đến 5, bạn có thể thử cả 24 hình và chọn ra 1 hình cho riêng bạn.

Vấn đề không chỉ đừng lại ở đây, tại vì mình nghĩ có hàng ngàn bài viết hướng dẫn sẽ dừng lại ở đây cho các bạn. Hoặc là người lập trình web sẽ chẳng viết hướng dẫn thêm cho các bạn đâu. Nhưng mình muốn là các bạn sẽ làm gì sau khi đã hiểu rõ cách sử dụng? Có khi nào bạn muốn tự tạo ra một hình ảnh trạng thái riêng của bạn chứ không phải hình có sẵn của Yahoo!?

Nếu bạn có hứng thú với lập trình web, hoặc ít nhất là muốn tạo ra đấu ấn đặc trưng gì đó, hãy bắt tay vào ngay.

Hãy bắt đầu lại với các thông số, như là thông số t khi nãy đã giúp bạn có thêm tùy chọn đến 24 hình. Nhưng đưởng dẫn đến trạng thái trực tuyến của bạn còn có thêm 1 thông số nữa, đó là thông số m. Thông số m này là chìa khóa mở ra mọi con đường cho bạn chơi đùa với Yahoo! Messenger. Khi bạn không sử dụng thông số m, thông số m khi đó ngầm định là m=g, khi m=g đường dẫn của bạn là một hình ảnh, nên bạn có thể dùng thông số t để xác định hình. Thông số m còn có một giá trị khác là a, bạn cứ thử click vào các đường dẫn sau và tìm ra câu trả lời của riêng mình về sự khác biệt của nó:

Khi không dùng thông số m

http://opi.yahoo.com/online?u=industrialpark1994

Khi m=g

http://opi.yahoo.com/online?u=industrialpark1994&m=g

Khi m=a

http://opi.yahoo.com/online?u=industrialpark1994&m=a

Euréka! Mình không biết là có thể nào sử dụng if với hình ảnh bằng ngôn ngữ lập trình không, nhưng rõ ràng là với chữ (text), mọi việc sẽ dễ dàng hơn. Một điều nữa là khi m=g thì thuộc tính t mặc định sẽ là t=0 (luôn là như thế, kể cả với m=g) dù bạn không đặt nó vào, như t vẫn có giá trị khác, đó là t=1.

Bạn thử nhé: http://opi.yahoo.com/online?u=industrialpark1994&m=a&t=1

Bây giờ công việc khá nhẹ nhành rồi phải không? Việc tiếp theo là bạn sẽ sử dụng một ngôn ngữ lập trình web nào đó để thay số bằng hình ảnh của riêng bạn, mình khuyên nên dùng javascript.

Cuối cùng, mình muốn thông báo là mình sẽ sớm chuyển sang mảng mỹ thuật hiện đại, tức là sẽ ít cập nhật blog này hơn. Chúc các bạn có một ngày vui vẻ. 

Đổi đuôi

Mình viết bài này lúc vừa cài xong Unikey, như vậy mới có cái để mà gõ tiếng Việt được.

Mình cũng vừa cài lại Windows luôn (dĩ nhiên là lậu, mà đối với cái XP sắp được ngưng hỗ trợ, thậm chí nó đã lậu trước khi được thông báo là ngưng hỗ trợ thì chắc Microsoft cũng không thất thoát nhiều doanh thu lúc này).

Từ khi từ bỏ mảng IT (mà dĩ nhiên là vẫn còn đủ “công lực” để giải quyết các thứ) để chuyển sang cái phạm trù multimedia, tự nhiên mình bị dị ứng với cái từ “đổi đuôi”.

Mình sẽ không giải thích thêm bất cứ gì cho những người biết chút ít mà nghĩ rằng mình biết tất cả (thường là như vậy). Đổi đuôi ở đây là đổi đuôi mở rộng của tập tin video. Liệu họ có biết rằng việc đó chả có ý nghĩa gì trong việc mở tập tin với các chương trình xem phim?

Cũng như Hồ Hoàng Thọ chỉ là cái tên của mình và thí dụ như mình đổi tên thành Nguyễn Văn Minh thì đó vẫn là mình, không có gì thay đổi. Video cũng vậy, việc đọc các tập tin phụ thuộc vào codec mà thiết bị của bạn hỗ trợ. Bạn có thể mở 1 tập tin .FLV, thậm chí .EXE với Windows Media Player mà không cần bất cứ codec nào nếu như bản chất nó là video được mã hóa bằng wmv2, hoặc không phải bất cứ chương trình FLV player cũng đọc được tập tin .FLV, không tin bạn cứ thử quay màn hình bằng ứng dụng web ScreenToaster và lưu vào máy chủ của nó, rồi tải cái file .FLV bằng IDM về xem!

Có hàng ngàn codec trên toàn thế giới, kể cá những custom codec của các bác Tàu Khựa xài thư viện DirectShow cho tới những thứ chính thống như Matroska, MPEG, DivX, XviD… Bạn không cần phải am hiểu nhiều về những thứ này, trừ khi bạn được đào tạo multimedia bài bản hoặc muốn biết, bạn chỉ cần phải lưu ý 1 vài điểm nho nhỏ:

1. Không phải đuôi tập tin video quyết định việc nó có xem được hay không.

2. Codec của phim mới là yếu tố quyết định khả năng xem được của phim.

Chẳng hạn như iPod chỉ có thể xem được phim mã hóa bằng codec MPEG và XviD, định dạng của 2 dạng phim này thường là .MP4 và .MOV. Điều đó không có nghĩa là iPod của bạn sẽ không mở được tập tin .WMV, iPod của bạn có thể mở mọi loại định dạng tập tin chỉ cần nó được mã hóa bằng MPEG hoặc XviD, Tương tự bạn có thể vô tư mở 1 tập tin .3GP với Zune nếu nó được mã hóa bằng codec wmv2. Nhưng bạn không thể nào mở 1 tập tin .MP4 bằng iPod của bạn nếu nó dùng codec Matroska.

Và thông thường người dùng có xu hướng phụ thuộc vào codec của mình hơn là chuyển định dạng cho nó, bảo đảm với các bạn 90% người sử dụng khi mở 1 video không được sẽ tải VLC Player hoặc bộ K-lite Codec Pack để xem. Sau đó nếu muốn chép vào iPod họ sẽ chắc chắn rằng đã đổi đuôi tập tin đó thành .MP4 và gặp bạn bè ca cẩm: “Rõ ràng tao đổi thành đuôi .MP4 mà sao không xem được, chắc iPod ngu!”. Thực ra nếu mà họ biết tập tin mã hóa bằng codec gì chắc sẽ không có những câu hỏi ngớ ngẩn như vậy…

Portable Meitu XiuXiu

Mình viết thiệt là gấp bài này để dành tặng cho bạn Kua đúng ngày 20 tháng 10 (vài phút nữa là trôi qua rồi).

Đây là bộ portable Meitu XiuXiu, không virus. Lần sau mình sẽ nghiên cứu đến phần Việt hoá. Mình đang rất cần người biết tiếng Hoa!

Hiểu rõ virus

Đã hơn 1 năm sau bài viết cuối cùng của mình. Và đây sẽ là bài viết đầu tiên trong năm…2010.

Đừng có quá ngạc nhiên vì hiện giờ mình mới có thời gian (nói đúng hơn là động lực) để chuyển từ một kẻ nghiện ngập Facebook sang 1 thằng IT bình thường.

Mình không phải là bác sĩ, mình cũng không quá giỏi (quá tệ thì đúng hơn) trong lĩnh vực IT, nhưng mình muốn dùng vốn kiến thức nhỏ bé của mình để giải thích một cách đơn giản nhất về virus máy tính cho các bạn.

Các bạn có thể xem định nghĩa virus sinh học tại: http://bit.ly/dAPCfs và virus máy tính tại: http://bit.ly/aCDn8w

Tuy nhiên, các bạn cũng thấy đó, các bạn chỉ muốn “ừ cho qua chuyện” với đống khái niệm khô khan đó và cuối cùng cũng chẳng có tí kiến thức nào về virus máy tính.

“Ê Thọ mày có đĩa diệt virus không mai cho tao mượn nha!”, “Ê CB máy tao virus nhiều quá mày qua cài dùm đi”. Thực ra là mình cực kì…dị ứng với những lời yêu cầu kiểu như vậy, thiệt đó!

Không phải tự nhiên mà người ta gọi mã độc với cái tên “virus”. Các bạn nên nắm rõ về virus sinh học. Mọi học sinh trung học nào cũng đều biết về virus (trừ khi bạn cúp học đi đá banh hoặc uống trà sữa với bạn bè ở -18°, đại loại vậy). Định nghĩa ở Wikipedia hoặc sách giáo khoa chắc chắn sẽ làm bạn mệt đầu, nhưng có thể nói nôm na là như vầy: “Virus là một thực thể bao bọc bên ngoài là một lớp vỏ bên trong chứa chất độc, sau khi xuyên qua được màng tế bào, lớp vỏ sẽ mở ra giải phóng chất độc vào bên trong tế bào, virus sẽ lợi dụng cơ chế sinh sản của tế bào để gia tăng số lượng thực thể, biến đổi cấu trúc tế bào và sản sinh ra chất độc.” Mình bảo đảm là mình được điểm cao môn sinh mà!

Virus máy tính cũng vậy, bản thân nó không thể phá hoại máy tính (loại mã độc tự phá hoại máy tính gọi là worm) mà sẽ cấy đọan mã của nó vào các tập tin hệ thống và điều khiển từ đó. Một máy bị nhiễm virus cũng như một người mắc bệnh ung thư (may mắn là máy tính có thể “chết đi sống lại” nhiều lần). Ví dụ như bạn bị ung thư gan, bác sĩ sẽ cắt dần lá gan của bạn bên cạnh hoá trị và xạ trị cho đến khi bạn chết (hoặc bằng phép màu nào đó bạn còn sống). Vậy nói về máy tính, một khi đã bị nhiễm, bạn chỉ còn cách cắt bỏ phần đã bị nhiễm và chắc chắn là máy tính sẽ không hoạt động ổn định được.

Người ta nói “phòng bệnh hơn chữa bệnh”, các chương trình diệt virus chỉ có tác dụng kiểm soát máy tính và diệt khi thực thể tồn tại trên máy, còn khi bạn đã “lỡ tay” thực thi nó, tiêm nhiễm vào các tập tin hệ thống thì…bó tay. Các bạn đừng có nghĩ virus và hệ thống là 2 thành phần tách biệt. Đúng là nó tách biệt, nhưng khi bạn đã nhận ra rằng máy tính mình bị nhiễm virus thì nó không còn tách biệt nữa. Máy tính bạn là một máy tính sạch, chính xác! Rồi cũng như virus sinh học, virus máy tính sẽ xâm nhập vào hệ thống sạch của bạn, cấy đoạn mã độc và bắt đầu “tung hoành”. Thông thường thì lúc này bạn mới bắt đầu lo đến việc diệt virus, nhưng cũng không khác gì việc bác sĩ cắt bỏ lá gan của bạn vậy.

Nói rộng ra một chút, một dân IT giỏi có thể “thay thế” tập tin hệ thống đã nhiễm virus bằng một tập tin sạch hơn, nhưng đòi hỏi bạn không ít kĩ năng vì bạn phải thay thế đúng phiên bản của tập tin. Chẳng hạn bạn không thể nào lấy tập tin explorer.exe của Windows XP SP2 thay cho tập tin explorer.exe của Windows XP SP3 được.

Sau khi đọc xong bài này, những gì bạn cần nắm là:

- Chương trình diệt virus chỉ có tác dụng ngăn chặn khi máy tính bạn còn sạch. Tốt hơn là nên được cập nhật thường xuyên.

- Một khi máy tính đã nhiễm virus, tốt nhất bạn nên nghĩ tới chuyện cài lại hệ thống, bạn không thể nào tách mực ra khỏi nước khi đã nhỏ mực vào nước đúng không?

- Cơ chế hoạt động của virus (sinh học lẫn máy tính) là lợi dụng chủ thể để kí sinh lên chủ thể đó, đừng chờ nhiễm bệnh rồi mới diệt.

Unikey - Official và Unofficial

Tạm chùng lại sau một thời gian dài, mình lại viết blog. Và một công cụ nho nhỏ, ít phải đụng tới, chạy thường trực giúp mình bỏ dâu tiếng Việt là Unikey.
Nhưng hôm nay (có lẽ là hôm qua nhưng cũng có thể là hôm kia, nhưng biết đâu nó là một hôm nào khác) mình thật sự không hiểu Unikey 4.0.8 2008 là gì và Vietkey 2007 là gì nữa.
Tới đây có thể nhiều người đang thầm sỉ vả vào mặt mình - “cái thằng” viết bài viết này là “…một con ngu…” hay “…dốt mà cố tỏ ra mình nguy hiểm…” chẳng hạn.
Có một điều mà mình tâm niệm và hay làm theo đó là: “Nếu chịu thiệt một chút để nói ra sự thật thì chẳng thiệt chút nào!” bởi “Sự thật mất lòng” và ít nhất vị anh hùng Galileo Galilei đã dám nói: “Dù thế nào thì Trái Đất vẫn quay!”

Trên mạng nhan nhản những bài viết kiểu UniKey 4.0.8 Final (Version 2008) trên http://www.ictvietnam.net nhưng mình chĩ tìm thấy phiên bản Unikey 4.0 RC2 Build 091101 NT trên trang official của unikey. Và đâu chính là cái lý do khiến mình nhức đầu suy nghĩ nhất, UniKey 4.0.8 Final là gì? Phải chăng đó chỉ là một phiên bản Unikey cũ, được ai đó chỉnh lại icon, và tốt hơn nữa là hook lại một số hàm để chạy trên Windows 7? Tuy nhiên, mình đã xài thử và phát hiện ra rất nhiều lỗi không tương thích trong bản này.

Và theo mình biết Vietkey (http://vietkey.net) hiện nay chỉ là một công ty giải pháp phần mềm và phiên bản mới nhất - Vietkey 2000 đã được ngưng phát triển cùng năm đó. Vậy mình lại nhức đầu hơn nữa khi thấy Vietkey 2007 - Hàng vô cùng hiếm! xuất hiện. Ừhm, việc này có vẻ ít đáng sợ hơn việc bạn thấy Michael Jackson đang chạy bộ trên đường lúc này nhưng đại loại là nó cũng ly kì như việc tương tự thế! Phải chăng đây là một phiên bản không công bố của nhóm Vietkey lưu hành nội bộ hay cũng chỉ là một thứ đồ tái chế một cách cẩu thả?

BKAV bị cảnh báo trên trang chủ Firefox

Hôm nay do Firefox tự động cập nhật lên phiên bản 3.5.5 nên mới biết được tin này. Rõ ràng là BKAV bị cảnh báo trên trang chủ Firefox vì gây ra lỗi cho chú Cáo Lửa của chúng ta.

Chào mừng đến với

Cảm ơn bạn đã bỏ ra chút thời gian quý báu của mình! Bản cập nhật này sẽ làm bạn an toàn hơn trên web.
CẢNH BÁO: Có thể BKAV là thủ phạm làm Firefox của bạn bị lỗi! Chi tiết…
Để biết thêm chi tiết, hãy đọc ghi chú phát hành.

Nói có sách, mách có chứng. Và đây là nguồn:
http://vi.www.mozilla.com/vi/firefox/3.5.5/whatsnew/
vả
http://www.mozilla.com/vi/
Chi tiết lỗi:
https://bugzilla.mozilla.org/show_bug.cgi?id=472008

Và nhất là một câu xanh rờn từ Mozilla Vietnamese Localization Team:

“Oh, I think Vietnamese localization team can’t help about this issue.
BKAV is being declined in Vietnam. You should remove it as soon as possible.”
This is not a good idea. Developers are trying their best to improve BKAV and
solutions will be found soon.

Nói thì nói thế chứ cái chữ BKAV 2006 trên thanh tiêu đề của BKAV cho đến giờ này các bác vẫn chưa chịu đổi thì dễ gì Cáo Lửa có cửa nhỉ? Não!

Counter Strike 1.6 Việt hoá - chưa viết và sẽ không bao giờ được viết

Mình Việt hoá cái này với tham vọng lớn là Việt hoá luôn cả phần âm thanh, nhưng thật tiếc là mình đã nhận được quá nhiều lời, không hẳn gọi là chê (vì mình nghĩ mình đã dịch quá chuẩn [tự tin gớm]), mà nên gọi bằng một từ chính xác là “bàn lui” thay cho những lời ủng hộ. Kiểu như: “Xưa nay bắn CS có ai nhìn chữ đâu” hay “Bắn tiếng Anh sướng hơn”. Hơn nữa, mình vừa bắt gặp đĩa Counter - Strike 1.6 Việt hoá ở các tiệm đĩa mà mình nhận ra đó chính là của mình, không chỉ qua cách Việt hoá, những lỗi sai mà mình chưa sửa mà còn cả cái giao diện Source của bản Counter - Strike của Ba Lan mà mình đã tải về. Và, mình quyết định dừng tại đây, không tiếp tục nữa.
Sẵn đây, mình cũng xin được công bố thuật toán thay đổi nhạc nền cho Counter-Strike 1.6 mà không cần can thiệp vào VGUI (bởi đơn giản là mình không biết nhiều về lập trình và lập trình VGUI đòi hỏi khả năng lập trình C khá cao)
Đoạn mã sau trông giống một đoạn mã giả (pseudocode) vì nó chỉ là một tập tin gán giá trị và dĩ nhiên mọi người phải linh hoạt khi sử dụng. Mình cũng chưa test kĩ xem nó có hoạt động hay không, nhưng như đã nói, mọi người cứ linh hoạt.

1. Tập tin valve.rc
alias playmusic “playmusic1.cfg”
Việc bạn thêm dòng này và tập tin valve.rc sẽ tạo một lệnh mới là “playmusic” và lệnh này sẽ gọi tập tin “playmusic1.cfg”

2. Nút “Đổi nhạc nền”
playmusic
Bạn phải tạo một nút để đổi nhạc nền trong VGUI, và khi bạn bấm nút này, lệnh “playmusic” (được qui định mở tập tin “playmusic1.cfg”) được thực hiện
 Cách thực hiện:
1. Thêm dòng sau cùng số thứ tự vào tập tin \Program Files\Valve\cstrike\resource\GameMenu.res
    “n
    {
        “label” “#Change_Startup_Music”
        “command” “playmusic”
        “onlyingame” “0”
    }
Giải thích: n là số thứ tự, số này là số thứ tự của nút so với các nút New game, Find server, Option, Quit,.v.v… Tham số “onlyingame” “0” để cho nút luôn hiển thị ngay cả khi không trong khi chơi.
 2. Bạn tạo một chuỗi
“Change_Startup_Music”            “Đổi nhạc nền”
trước dấu “}” trong tập tin \Program Files\Valve\cstrike\resource\cstrike_english.txt để định nghĩa cho giá trị “#Change_Startup_Music” trong tập tin GameMenu.res và có thể Việt hoá thành bất cứ giá trị nào khác mà bạn thích.

3. Tập tin playmusic1.cfg
engine mp3 play file_nhac_1.mp3
alias playmusic “playmusic2.cfg”

Tập tin playmusic1.cfg sẽ phát tập tin nhạc “file_nhac_1.mp3” và gán giá trị “playmusic2.cfg” cho lệnh “playmusic”. Trong “playmusic2.cfg” bạn lại cho phát “file_nhac_2.mp3 và gán “playmusic3.cfg” cho lệnh “playmusic” và cứ tiếp tục như vậy khi đã tạo và gán xong tất cả các tập tin “playmusicn.cfg” cho tất cả các tập tin mp3.


Lưu ý:
 - Các tập tin playmusic1.cfg ~> playmusicn.cfg phải được tạo trong cùng thư mục với tập tin valve.rc
 - Tập tin mp3 tốt nhất nên định dạng 8000Hz Mono 16bit, nếu không, mình không đảm bảo nó sẽ hoạt động.

Sự thật về “cái cục mạng”

Một thói quen không hay và khó bỏ của người Việt nam là khi đã quen nói sai rồi thì sẽ…không bao giờ nói đúng.
Hôm nay chúng ta sẽ xem “dân mình” nói đúng nói sai về “cái cục mạng” ra sao!
Dù là mạng lớn, mạng nhỏ, mạng LAN cho đến Internet (trừ mạng nhện) thì dân ta đều phán cho nó là “cái cục modem”
Thế nhưng chả mấy ai biết “modem” là thuật ngữ có từ…thế kĩ trước, dùng để chỉ công nghệ…quay số.
Thật vậy, modem là bộ điều tuyến quay số bằng điện thoại (dial-up), và thường được kết nối với máy tính thông qua cổng parallel (cổng máy in).
Còn hầu hết “cái cục mạng” sử dụng cho ADSL hoặc không dây thời nay được gọi là “router” hay hay “bộ định tuyến” (các bác cũng sáng tạo lắm từ ngữ thật ) và thường chỉ có từ 4 đến 6 cổng cắm trực tiếp vào cổng ethernet trên máy tính (hoặc card mạng rời).
Đối với mạng LAN, nếu mạng theo kiểu phân tuyến hình sao, thì người ta sẽ sử dụng “switch”, nếu phân tuyến kiểu phân tầng người ta sẽ sử dụng “hub”. Đối với “switch” và “hub” số lượng cổng sẽ nhiều hơn.
Đây là lý thuyết đầy đủ để phân biệt tên gọi các loại “cục mạng” được sử dụng cho từng kiểu chi tiết.
Còn thực tế thì…nói “modem” thì bác nào chả hình dung ra bất kì cái “cục mạng” nào…