Sunday, January 20, 2008

Invisible là một nghệ sĩ!!!

Mẫu câu "XXX là một nghệ thuật mà YYY là một nghệ sĩ" được sử dụng khá rộng rãi trong nhiều lĩnh vực, riêng về lĩnh vực "coding" thì tạm thời có một câu "Coding là một nghệ thuật mà coder là một nghệ sĩ"... Và thật đáng tiếc, Invisible đã tự phong cho mình là nghệ sĩ khá lâu rồi!

Hôm nay, mặc dù vẫn quanh quẩn bên sự nghiệp coding, nhưng lại khác... Cho nên, hãy quên đi việc Invisible là nghệ sĩ, cho đến khi đọc hết blog này...

Là coder, một khi đã đeo đuổi sự nghiệp coding, dòng máu nghệ sĩ sẽ theo đó mà len lỏi vào mọi ngõ ngách của mỗi dòng code viết ra... Lúc này, việc đặt tên cho các identifier (project, class, method, variable...) sao cho "nghệ thuật" cũng làm đau đầu các "nghệ sĩ"... Với hiểu biết nông cạn của Invisible, blog này chỉ tập trung vào những từ viết tắt liên quan đến máy tính... Mà cũng ko phải, Invisible chỉ liệt kê ra đây một vài quy tắc đặt tên mà bản thân tâm đắc nhất...

1. Bạn biết bao nhiêu từ viết tắt có 3 ký tự? Có ai kô biết CPU? Ai không biết DVD? Ai biết EOF?... Với geek/nerd thì họ có thể liệt kê hàng chục ngàn từ, nhưng nếu ai dạng cùi cùi như Invisible thì khoảng vài chục từ là chấp nhận được rồi... Do đó, kể ra đây thì khá nhiều, nhưng bà con mình ít nhất phải biết TLA là gì! TLA là gì? Là "Three Letter Acronym"... TLA là ví dụ của chính định nghĩa của hắn!

2. Bạn có biết kỹ thuật qui nạp trong toán học kô? Bạn biết đệ qui hông? Qui tắc độc đáo thứ 2 chính là dùng kỹ thuật đó... Số lượng này ko nhiều, nhưng nếu là mê máy tính cỡ Invisible, phải biết ít nhất một số đứa nổi tiếng:
- GNU ~ GNU is Not Unix ~ Ah, nó muốn nhấn mạnh: GNU is Not Unix, is Not Unix, is Not Unix...
- WINE ~ Wine Is Not an Emulator ~ Ngày xưa nó thật sự là một emulator (WINdows Emulator), theo dòng thời gian, với những tính năng mới, nó đã vượt ra ngoài một Emulator, và bố cáo thiên hạ là: Tao hông phải là một emulator thôi đâu!!
- LAME ~ LAME Ain't an MP3 Encoder ~ LAME đơn giản muốn khoe ngoài là một "MP3 Encoder", hắn có thể làm hơn vậy nữa!!
- RPM ~ RPM Package Manager ~ Àh, nó được xem như là "Redhat Package Manager", nhưng khi distro nào cũng có thể sử dụng nó, cho nên nó trở thành một "Package Manager" và đệ qui chính bản thân nó...

3. Qui tắc còn lại mà Invisible cũng tâm đắc, đó là tiếp đầu ngữ "Yet Another"! Nổi bật trong đám này là YACC ~ "Yet Another Compiler Compiler" (vì hầu như bé nào luyện môn Compiler đều biết), nhưng bạn có biết tên của công ty Yahoo kô phải là một từ đơn ko? Uhm, nó là "Yet Another Hierarchical Officious Oracle"...

Đang buồn, nhưng viết bài này ko phải để cho vui, mục đích là để chuẩn bị kiến thức cho bà con mình (nếu chưa biết), vì trong vài ngày tới, Invisible sẽ "tung ra" một chương trình mà có cái tên khá "gấu": Dinosaur Age, viết gọn là DinoAge, chưa hết, vì DinoAge sử dụng một vài kỹ thuật đặt tên liên quan với bài viết này...

Đến đây, nếu ai đó phát biểu "Đặt tên là một nghệ thuật mà người đặt tên là một nghệ sĩ" thì hiển nhiên Invisible lại tự phong mình là một nghệ sĩ như trong tiêu đề entry này cũng không ngoa!