Thứ Sáu, 6 tháng 1, 2012

Bàn về "say" với tiếu ngạo giang hồ

Nói đến Lệnh Hồ Xung không ai không nghĩ tới chữ say. Say trong rượu, say trong tình, trong nghĩa, say trong một thế giới hoàn mỹ mà những con người bình thường không thể nào với tới được.

Nếu không say trong tình, sao lại đi cứu một tiểu ni cô không hề quen biết đến nỗi suýt mất mạng, sao lại si mê một tiểu sư muội vừa hận vừa thương mình như một người anh? Nếu không say trong nghĩa, sao lại kết giao với một Điền Bá Quang làm trăm chuyện ác, liều chết cứu Hướng Vấn Thiên, một người qua đường trong Ma Giáo mà hắn từng thù ghét? Nếu không say trong một thế giới hoàn mỹ, sao có thể che giấu cho những tội lỗi của Nhạc Bất Quần để rồi một mình thêu dệt những vọng tưởng cuối cùng rằng sư phụ mình vẫn là người tốt, để cứu vớt cái hình ảnh một người sư phụ đáng kính, để trân trọng những ký ức tốt đẹp cuối cùng về người thầy - người cha tán tận lương tâm này trong cái trí óc nhỏ bé hồ đồ của hắn?

Lệnh Hồ Xung say chứ, ngay cả những lúc tỉnh táo nhất cũng là đang say. Lệnh Hồ Xung hồ đồ chứ, rõ ràng hiểu được dã tâm của Nhạc Bất Quần không nhỏ nhưng ở đại hội minh chủ của Ngũ Nhạc phái, hắn đã không do dự đề cử Nhạc Bất Quần làm chưởng môn phái Ngũ Nhạc. Hồ đồ hơn, sau khi nhận ra Nhạc Bất Quần là một kẻ ti tiện đã ăn cắp Tịch Tà Kiếm Phổ của nhà họ Lâm để độc bá võ lâm vẫn còn tha chết cho gã, vẫn còn gọi gã là sư phụ, vẫn còn quỳ xuống để van xin gã như thể chính hắn, chứ không phải kẻ ác đội lốt người kia, đã làm những việc ác tày trời. Để rồi cuối cùng nhắm mắt chờ chết dưới tay Nhạc Bất Quần, nếu không nhờ Nghi Lâm kịp thời giải cứu, có lẽ lúc đó Lệnh Hồ đại hiệp đã thành một bóng ma đa tình dạo chơi dưới âm ty.

Hồ đồ thật, say thật, nhưng Lệnh Hồ Xung say trong một thế giới đẹp và lý tưởng hóa, bởi bản thân hắn là người yêu cái đẹp. Yêu cái đẹp của nữ giới khi ngắm Nghi Lâm khấn nguyện với sao trời, khi Doanh Doanh giận dữ đỏ mặt trông như một nàng tiên giáng trần. Yêu cái đẹp của âm nhạc khi liều mình bảo vệ bản Tiếu Ngạo Giang Hồ, trong khi bản thân không có chút kiến thức về âm luật, khi lưu luyến bà bà không nỡ rời cũng chỉ vì mấy bản nhạc bà đàn nghe thật xao xuyến lòng người. Yêu cái đẹp của kiếm thuật, của Độc Cô Cửu Kiếm vô chiêu thắng hữu chiêu, nước chảy mây trôi như quên hết trên đời còn có một cái gọi là "chiêu thức".

Và trên hết, Lệnh Hồ Xung yêu cái đẹp của sự tự do. Người có khoáng đạt, tâm có thảnh thơi thì mới có thể xử kiếm như hành vân lưu thủy. Quên hết những tôn ti trật tự, những quy củ trong võ lâm, Lệnh Hồ Xung một khi đã muốn thì sẽ làm, mặc cho người đời khen chê nguyền rủa, chỉ cần không trái lương tâm.

Không thể nào quên cái cảnh Lệnh Hồ Xung kêu gào tuyệt vọng khi ôm xác của Nhạc Linh San, nhìn nàng lần cuối trước khi nàng ra đi và cũng mong nàng sẽ trăn trối lại những lời thương yêu cuối cùng. Để rồi nàng xin hắn bảo vệ cho Lâm Bình Chi, người đã hắt hủi nàng như một kẻ ghẻ lở và đã không chút xót xa đâm nàng một dao để "tỏ lòng trung với Tả Lãnh Thiền". Vậy mà Lệnh Hồ Xung còn chịu nhận lời, chịu hứa với tiểu sư muội để nàng yên tâm nhắm mắt. Trước khi chết, nàng vẫn còn đâm một nhát chí mạng vào tim hắn: nàng cất tiếng hát, hát lên những câu dân ca Phúc Kiến xưa kia Lâm Bình Chi đã dạy.

Cả đời nàng đã làm khổ hắn rồi, bây giờ có đâm thêm một lần nữa cũng có sao đâu? Lệnh Hồ Xung thần trí không còn tỉnh táo cứ thế ôm nàng chạy mãi, chạy mãi cho đến khi gục ngã.

Xung ca ơi, đến lúc này mà chàng còn say thế sao, si thế sao! Trước lúc lâm chung, lúc mỗi lời đều là lời thật lòng nàng đã có sự lựa chọn của mình rồi. Những việc nhân nghĩa trên đời, hư danh trên đời chuyện gì chàng cũng hiểu thấu, nhưng với tình cảm của mình chàng lại cố chấp như thế, điên cuồng như thế? Tiểu sư muội của chàng đã là một kẻ si khờ, nhưng chàng thì có khác gì đâu?

Chàng say, nhưng vẫn còn tỉnh để nhìn thấu cái gì gọi là mây khói, cái gì gọi là hư vô. Những quyền lực, chức vị trên thế gian có bao nhiêu rồi cũng trở về với cát bụi. Nhậm Ngã Hành một đời tỉnh táo là thế, danh tiếng chấn động giang hồ là thế, một ngày đẹp trời cũng như ai bỏ đi không một lời trối trăn. Tả Lãnh Thiền oai danh là thế, ác độc là thế, cuối đời mù mắt không nơi nương tựa, đến cái kết cục của mình tại sao thê thảm như thế cũng không bao giờ biết cho minh bạch được nữa.Nhạc Bất Quần khôn ngoan là thế, tính toán là thế, thâm trầm bao nhiêu năm để được cái danh "Quân tử kiếm" rồi cũng chết dưới tay của một tiểu ni cô vô danh trong phái Hằng Sơn.

Trong Tiếu Ngạo Giang Hồ, Nhạc Bất Quần có lẽ là người tỉnh táo nhất, tính toán nhất, tâm cơ cao nhất. Chưa một lần nhíu lông mày trước thế lực bành trướng của Tả Lãnh Thiền, chưa một lần nao núng trước thế lực của Kiếm Tông quay lại phục thù. Con người mưu mô chước quỷ này cho đến khi bị Nhậm Doanh Doanh ép uống Tam Thi Não Thần Đan cũng vẫn giữ được phong độ của một Quân tử kiếm ngày nào, không hề van lạy tha mạng mà bỏ đi rất lặng lẽ để chờ dịp phục thù. Thế nhưng tỉnh táo mà lại chỉ thấy những việc rất hư vô, quyền lực, danh vọng, là mơ ước suốt đời của gã.

Chỉ vì hai chữ "quyền lực", Nhạc Bất Quần có thể lạnh lùng hy sinh con gái để lấy cắp được Tịch tà kiếm phổ, hy sinh đồ đệ yêu thương nhất của mình vì hắn không thuận theo cái phương châm học võ cứng nhắc tẩy não, xem Ma Giáo là kẻ thù của gã nữa. Trong đời Nhạc Bất Quần có lẽ chưa bao giờ say. Toan tính chồng chất như sóng sau dồng sóng trước, để rồi cuối đời chết trong tủi nhục, không biết vì sao mình lại chết.

Có một nhân vật tôi muốn bàn khi luận về việc "say trong cái đẹp", đó là Đông Phương Bất Bại. Giáo chủ Nhật Nguyệt thần giáo là một kẻ bán nam bán nữ, đồng ý tự cung để học Quỳ Hoa Bảo Điển.

Trước khi trở thành bán nam bán nữ, Đông Phương Bất Bại cũng là một kẻ tỉnh vô cùng. Hắn đã dự trù kế hoạch đảo chính chu đáo, đã kết bè đảng, trừ khử những người trung thành với Nhậm Ngã Hành để từng bước từng bước diệt luôn họ Nhậm và trở thành giáo chủ. Nhưng ngồi lên được cái ghế giáo chủ rồi thì Đông Phương Bất Bại lại say. Say trong tình yêu si mê bệnh hoạn với Dương Liên Đình, vì hắn mà bạn chí thân khắc cốt ghi tâm cũng có thể hy sinh. Chính bản thân hắn cũng vì tiểu tử họ Liên mà chết một cách thanh thản không chút hối hận. Không chỉ vậy, Đông Phương Bất Bại cũng yêu cái đẹp như Lệnh Hồ Xung, biết thưởng hoa, thưởng nhạc. Suốt ngày hắn say sưa ngắm vườn hoa đào nở rộ, ngắm những cảnh vật mà người trong võ lâm cho là phù phiếm, ngắm những áo quần kỳ công thêu dệt mà chỉ có một người có khiếu thẩm mỹ tinh tế mới có thể tạo thành. Đông Phương Bất Bại chê Nhậm Ngã Hành là thô tục.

Đúng vậy, so với Đông Phương thì Nhậm Ngã Hành tuy tỉnh táo hơn nhiều nhưng lại không biết thưởng thức cái đẹp bằng một góc của kẻ mà ông ta khinh là "người không ra người, quỷ không ra quỷ". Giá như Đông Phương Bất Bại là một người đàn bà thì cuộc sống của hắn có lẽ sẽ nhiều ý nghĩa hơn, thì hắn cũng giống như Doanh Doanh, biết trân trọng những con người đang say trong chân tình của nhân gian. Tiếc thay Đông Phương Bất Bại không những là nam nhân, không những biết thưởng thức cái đẹp, mà lại còn là một kỳ tài võ học.

Hai chữ say và tỉnh thật khó mà phân biệt. Tuy vậy những người tỉnh táo nhất thường là những người đang mê muội nhất, bởi họ đang quên đi cái đẹp tối cao tạo hóa đã ban cho họ: được làm người, được sống.

Thứ Sáu, 7 tháng 10, 2011

Linh khúc và đêm tàn

Chỉ một khoảnh khắc thôi
Rồi Hoa Sơn, đom đóm ngừng bay
Rồi rừng sâu, gã lãng tử khờ gào khóc ...

Xấu xa, bội bạc, tham phú quý giàu sang, có mới nới cũ.

Miệng lưỡi thế gian miêu tả nàng bằng những lời như thế đấy! Còn những người không ghét nàng thì lại thương hại nàng, thương hại nàng ngốc nghếch khờ khạo, mà họ không biết rằng đã yêu, thì còn có ranh giới giữa ngốc nghếch và khôn ngoan, giữa khờ khạo và lý trí nữa sao?

Nàng là một kẻ bạc tình.
Đáng đời nàng. Tội nghiệp nàng. Thương cho nàng. Hãy tha thứ cho nàng.

Tôi không thương nàng. Thương gã Lệnh Hồ đau vì nàng bao nhiêu, lại càng hận nàng bấy nhiêu. Tôi không tội nghiệp nàng. Có chi để tội nghiệp, khi nàng biết rõ con đường mình đã chọn sẽ chỉ là đao gươm rỉ máu mà vẫn cứ tiếp bước.

Tôi lại càng không tha thứ cho nàng.
Bởi nàng không có lỗi.

Tôi ngưỡng mộ nàng.
Vì nàng dám yêu, và dám yêu đến từng hơi thở cuối cùng.

Sự lựa chọn của nàng là sai lầm, nhưng nàng không sai. Bởi nếu tình yêu là sai, thì trên đời thứ gì mới là chân lý?

Nàng lỡ yêu một Lâm Bình Chi dịu dàng mà cứng rắn, cùng đường mà vẫn kiên cường không cúi đầu. Vì sao nàng không biết trước được hắn sẽ trở thành một kẻ bất nam bất nữ, bị oán thù che mờ mắt, sao không biết trước trái tim hắn sẽ còn lạnh hơn cả băng giá? Băng giá rồi cũng sẽ tan, nhưng trái tim của Lâm Bình Chi không bao giờ có thể học yêu thêm một lần nữa.

À, vì nàng không phải là tiên tri.

Nàng vứt bỏ mối tình đầu nồng thắm với một đại sư ca suốt ngày say sưa bất chấp lễ nghĩa để đi theo một kẻ nho nhã thanh lịch, con nhà quyền thế, nghiêm chỉnh đạo mạo y như cha nàng. Vì sao nàng lại bị lừa bởi cái bề ngoài vốn như chiếc áo trắng tinh khôi, mà bên trong sợi vải đã rách tươm hết thập phần như thế?

À, vì nàng không phải là thánh nhân, mà chỉ là một cô gái nhỏ rất đỗi bình thường.

Trách nàng bội bạc, xua đuổi đại sư ca bao năm chăm sóc chở che cho nàng, chỉ vì một kẻ từ đầu đến cuối không để nàng vào trong mắt, không biết rằng nàng đang hiện diện, không quan tâm nàng còn sống hay đã chết rồi.

Vì nàng muốn yêu Lâm Bình Chi cho chân thành, và trọn vẹn.
Vì tình yêu mà có lý trí rạch ròi thì liệu có còn là tình yêu chăng?

Ừ, thì đâu phải nàng trái lệnh cha lặn lội đường xa đem bí kíp Tử Hà về cho Lệnh Hồ Xung chữa bệnh.

Đâu phải nàng trên Tung Sơn đỉnh lại lạc vào giấc mơ đẹp năm xưa, tạm quên mất trượng phu mình và bao nhiêu cặp mắt quần hào đang quan sát mà vẫn vô thức sử Xung Linh kiếm pháp cùng Lệnh Hồ Xung, cũng như thuở nào đại sư ca và tiểu sư muội sử kiếm bên thác nước tuổi thơ.

Ừ, nàng bội bạc thật đấy.

Thương thay gã Lệnh Hồ, bởi hắn sẽ chỉ là những giấc mơ ấy, thoảng qua rồi tan vào không gian. Còn trái tim nàng chỉ chứa đựng được một hình bóng duy nhất, nàng mang theo xuống cõi tuyền đài ...

Nàng thương Lệnh Hồ Xung, nhưng không yêu hắn.

Đêm tàn. Máu rỉ.

Đại sư ca của nàng bật khóc điên loạn. Rồi hắn sẽ trả thù cho nàng, rồi hắn sẽ băm vằm Lâm Bình Chi ra thành vạn mảnh.

"Tiểu sư muội chết rồi, xin đại sư ca... hết sức chiếu cố cho gã... đừng để người ta khinh nhờn gã."


Lệnh Hồ Xung không hiểu. Hắn thật sự không hiểu!

Cuối cùng thì tiểu sư muội của hắn đến chết vẫn thủy chung hướng về con người xấu xa đã không ngần ngại đâm nàng một đao để "tỏ lòng thành với Tả chưởng môn"! Cho dù họ Lâm có là kẻ sát hại nàng, nàng vẫn một lòng lo lắng cho sự an nguy của gã!

Cả đến lúc lìa đời, nàng vẫn chỉ nhớ đến kẻ đã sát hại nàng. Lòng nàng sao lại hẹp đến thế, sao lại tàn nhẫn đến thế, lại không dung nổi một Lệnh Hồ Xung lúc nào cũng yêu nàng tha thiết?

Trớ trêu thay.

Hắn ở cạnh một Nhậm Doanh Doanh nhất hô vạn ứng, xinh đẹp hơn nàng thập phần, nhưng chẳng bao giờ mà hắn không nhớ đến nàng. Nàng xua đuổi hắn, hắn cũng chỉ lặng lẽ cắn răng bỏ đi nhưng chẳng bao giờ trách nàng một câu.

Giờ đây, hắn đang ở cạnh nàng khi chồng nàng đã giết hại nàng rồi bỏ đi, đang ôm lấy nàng vào lòng, đang gào thét tưởng như trái tim hắn sẽ vỡ ra làm trăm mảnh, như hắn có thể chết theo nàng bất cứ lúc nào.

Vậy mà lòng nàng vẫn chỉ có Lâm Bình Chi.

Nàng ác lắm!

Nàng cất tiếng hát trong vô thức, bài ca Phúc Kiến Tiểu Lâm Tử dạy nàng trên đỉnh Hoa Sơn những ngày đầu gặp gỡ. Khúc ca nàng ngọng nghịu tập hát theo "Lâm sư đệ", những ngày vô tư lự nàng cùng gã đi hái nấm trong rừng già.

Rồi tiếng hát của nàng cũng yếu dần đi theo từng hơi thở, nhòe nhoẹt đi theo ánh trăng chênh chếch đang bị mây che.

"Tiểu sư muội! Tiểu sư muội! Sư muội đừng sợ gì hết. Tiểu huynh bồng tiểu sư muội đến chỗ má má."

Ngốc ạ, nàng có sợ chi đâu ... Ngươi khóc cho nàng, nhưng nàng lại đang mỉm cười đấy.

Nàng mỉm cười, mà ngực ngươi sao như có vạn lưỡi dao đâm?

Phải chăng vì đến thời khắc cuối, nàng vẫn chỉ nhớ đến bài hát gã dạy nàng, còn ngươi, kẻ si tình vạn kiếp bất biến, nàng đã đem cất ký ức về ngươi ở nơi nào rồi mà bây giờ lại không tìm ra được?

Đêm tàn. Rừng khép.

Linh khúc của nàng, hoà quyện với tiếng khóc đại sư ca nàng, theo tiếng gió hú của rừng sâu rồi sẽ tan theo sương sớm ban mai. Nàng ngủ rồi, giấc ngủ thiên thu giữa rừng già hiu quạnh, nhưng nàng cũng ngủ mãi trong tim đại sư ca nàng, và sẽ không có ai làm hại nàng được nữa.

Giá như tình yêu không phải là mãi mãi ...

Phúc Kiến hành
Vị thức sầu tương trú **

Rồi tôi, ngậm ngùi tiễn nàng, nàng thiếu nữ bạc phận dũng cảm dám yêu, và dám đối diện với tình yêu bằng nụ cười - ngay cả khi trên gò má lạnh lẽo không còn cảm giác của nàng, nước mắt gã Lệnh Hồ đang chứa chan rơi ...


Rồi nàng, mãi mỉm cười.
Vì tình yêu cho đi mà chẳng cần nhận lại, âu cũng là một niềm hạnh phúc ...



**Hai câu trên trích trong bài "Vũ Lâm Linh", bài từ về Nhạc Linh San, Kim Dung nữ nhân từ.

Vi Nhất Tiếu dịch nghĩa:

Nàng hát câu sơn ca Phúc Kiến
Đâu biết nỗi sầu sắp đến

Nguồn: Việt Kiếm

Mộc Quế Anh | ...Bài Phong - em là gió hay nơi dừng chân của gió...

...một nốt trầm cho bài ca "Nam Phong Luyến"...

Xem MQA lần đầu tiên từ lâu lắm, lúc đó còn bé xem phim chỉ vì đơn giản là buồn, ko có gì giải trí...vậy mà lại rất ấn tượng với Bài Phong - Hạo Nam ...sau này xem nhiều phim, yêu thích nhiều nhân vật, nhưng tình cảm cho BP - HN vẫn vẹn nguyên như ngày nào...

Có lẽ đã lâu lắm rồi tôi mới xem lại phim này, nhiều tình tiết cũng ko còn nhớ rõ lắm vì vậy mà xem phim như làm quen với một người bạn cũ đã biết lâu năm...

Vốn ko định post bài này lên, đó chỉ là một dòng cảm xúc có từ lâu, viết ra giấy cất giữ... nhưng rồi cũng quyết định chia sẽ...

...

...mặc dù ko thích lắm với dạng vai những người hầu gái lanh lợi, dễ thương... vật mà BP lại để lại trong tôi nhiều ấn tượng sâu sắc. Em trong sáng, ngây thơ...em hồn nhiên, tinh nghich...em phá phách, tự mãn...đối với tôi em là cơn gió heo mây mùa hạ mát mẻ, dễ chịu...có lẽ vì vậy mà em tên "Phong"...

Cuộc sống của em có lẽ sẽ toàn niềm vui, có lẽ sẽ toàn màu hồng nếu một ngày nọ em ko nhìn thấy tên Lao Thiện Nhân, kẻ thù đã giết gia đình em, kẻ đã làm cho em mồ côi trong cõ đời này... Nhưng em đau biết được em càng cố sức giết LTN thì em càng rút ngắn khoảng cách sợi dây vo hình gắn kết em với một người...người được gọi với cái tên Lưu Hạo Nam...

Hạo Nam, anh đã đi một chặng đường dài để đến ngày hôm nay, chỉ còn một tí nữa thôi là cơ hội phục quốc của anh có thể thực hiện, chỉ cần anh tìm ra kho báu...vì vậy anh cần LTN... Để có ngày hôm nay anh đã nếm trải qua biết bao cay đắng, bao đau khổ, anh đã đánh mất chính mình để trở thành người gian tà, ko từ thủ đoạn nào để đạt mục đích của mình... Anh lạnh lẽo quá, cô đơn quá... anh là cơn gió mùa đông băng giá, nghiệt ngã lướt qua miền cảm xúc của tôi...

Và rồi hai tâm hồn chả có mấy điểm chung lại đồng cảm với nhau, từ những người ghét nhau, muốn giết nhau họ lại cảm mến nhau, yêu nhau... Và lần đầu tiên trong cuộc đời, HN cảm thấy ấm áp, lần đầu tiên anh ko cần phải cảnh giác, ko cần phải toan tính...anh đã tìm được bến đỗ... Tôi chợt nghĩ " BP, liệu em là gió hay nơi dừng chân của gió"...

Hạnh phúc thật ngắn ngủi và mong manh, với gánh nặng đè lên vai, HN ra đi, từ đây anh và BP là 2 người của hai chiến tuyến...Thật ra BP có thiết gì Tống hay Liêu, em đâu có cái lý tưởng to lớn là bảo vệ đất nước, nhưng em lỡ mang họ Dương, em nợ họ Dương, mà em lại là người có tình, vì vậy đành khép kín trái tim...

Ngày gặp lại nhau, họ trở thành kẻ thù...Nhiều người từng hỏi, nếu MQA ko ra tay kịp thời thì chả lẽ BP lại chết dưới kiếm của HN. Quả thực, tôi mong lúc đó MQA đừng xuất hiện, có lẽ, mà ko, tôi dám chắc mũi kiếm kia sẽ chỉ đi vào khoảng ko hư vô, nó chắc chắn ko đi vào người BP... phải chăng MQA xuất hiện là định mệnh, một định mệnh nghiệt ngã cắt đứt mối lương duyên... HN lạnh lùng vung kiếm, BP đau xót, nhưng có ai thấy rằng mũi kiếm của anh tuy mạnh mẽ nhưng ko có sát khí, anh lạnh hay anh đang giấu đi cảm xúc... tôi cứ nghĩ giá như MQA đừng xuất hiện, phải! tất cả chỉ là giá như...

HN cả đời đấu tranh vì một lý tưởng, một tương lai ko chắc chắn, anh tìm kiếm kho tàng, anh tìm kiếm thời huy hoàng của gia tộc...Nếu thành công anh được gì, ngai vàng ư? vinh quang? tất cả đều vô nghĩa, anh sẽ mãi cô đơn, sẽ mãi cảnh giác, nghi hoặc, mãi mãi ko ngủ yên... HN à, kho báu anh tìm kiếm bấy lâu đang ở bên cạnh anh kìa, sao anh ko thấy, BP là kho báu của anh đó, báu vật của riêng mình anh, chỉ cần anh với tay thì đã có thể chạm được, sao anh ko với tay ra? hả, HN...

...chiến tranh đã qua đi, đã bao năm rồi nhỉ, có lẽ lâu lắm rồi...trái tim BP giờ đã khép, có lẽ đã chết từ cái ngày HN bị chôn vùi trong máu lửa của trận chiến năm nào... em đã ko còn là cơn gió tinh nghịch nữa, em trầm lắng hơn mặc cho gó vẫn thổi, mây vẫn bay, hồi ức ngày nào vẫn vẹn nguyên màu hoa sữa, tình yêu của em giờ đây như tiếng vĩ cầm nơi nào đó đọng lại, lúc trầm, lúc bổng, lúc xa, lúc gần... HN ơi, anh đang bay đến nơi nào? nơi dừng chân của anh vẫn còn đó, vẫn là BP, vẫ tình yêu tha thiết cho anh, anh có nhìn thấy ko, có nghe tiếng lòng của BP ko...

...Tình yêu chợt đến, chợt đi vội vã...và rồi nó lại chợt đến, bất ngờ... Trái tim BP rung động, một lần nữa rung động, hay nói đúng hơn người khóa trái tim em trong nỗi nhớ, trong xót xa lại mở nó ra, xà vào, gần hơn... nó thật, thật lắm, thật đến nỗi em có thể chạm vào, ôm lấy... HN hay Trương Ngưu, tên gì cũng ko quan trọng, quan trọng là anh đã tìm được đường về nhà sau bao ngày lưu lạc, anh đã tìm thấy kho báu mà mình tìm kiếm bấy lâu, anh đã tìm được nơi dừng chân... bến bờ hạnh phúc...

Thứ Hai, 3 tháng 10, 2011

Đo thời gian thực hiện chương trình C/C++/C#

Đo thời gian thực hiện chương trình C/C++/C# 
Chủ đề bài báo: C/C++/C#
Trong các cuộc thi lập trình, các chương trình cài đặt các thuật toán cùng giải quyết một bài toán, chúng ta luôn có nhu cầu kiểm thử tốc độ thực hiện của các cài đặt bằng cách xem xét thời gian một đoạn chương trình hay một chương trình thực hiện là bao lâu. Trong bài báo nhỏ này, tôi xin cung cấp cách thức đo thời gian thực hiện của các chương trình được viết bằng các ngôn ngữ C/C++/C# trên DOS và trên Windows.
1. Đo thời gian thực hiện chương trình với ngôn ngữ C/C++ trên DOS
Đối với môi trường DOS chúng ta có thể dùng hàm clock() để đo thời gian thực hiện của chương trình cho cả chương trình viết bằng C và C++. Hàm clock() có khai báo nằm trong file header time.h, giá trị trả về của hàm là thời gian bắt đầu từ lúc chương trình chạy cho tới lúc gọi hàm, tính bằng số giây nhân với hằng số CLOCKS_PER_SEC, hằng số CLOCKS_PER_SEC có giá trị như CLK_TCK.
Ví dụ sau đo thời gian thực hiện của 600000000 vòng lặp rỗng:
// file timer4c.c
#include
#include
#include
int main( void )
{
long i = 600000000L;
clock_t start, finish;
double duration;
// Do thoi gian cua mot su kien
printf( “Thoi gian thuc hien %ld vong lap rong:”, i );
start = clock();
while( i– )
;
finish = clock();
duration = (double)(finish – start) / CLOCKS_PER_SEC;
printf( “%2.1f giay\n”, duration );
system(“pause”);
return 0;
}
2. Đo thời gian thực hiện chương trình với ngôn ngữ C trên Windows
Trên Windows chúng ta sử dụng hàm QueryPerformanceCounter(LARGE_INTEGER *) để thực hiện việc đo thời gian, hàm được khai báo trong file header windows.h. Hàm này có kiểu trả về là BOOL và trả về giá trị là thời gian tính bằng giây từ lúc chương trình bắt đầu chạy, tham số đầu vào là con trỏ tới một biến kiểu LARGE_INTEGER.
Ví dụ sau là chương trình đo thời gian thực hiện 600000000 vòng lặp rỗng:
// file timer4w.c
#include
#include
// khai bao cau truc va cac ham
typedef struct {
LARGE_INTEGER start;
LARGE_INTEGER stop;
} stopWatch;
void startTimer( stopWatch *timer) ;
void stopTimer( stopWatch *timer) ;
double LIToSecs( LARGE_INTEGER * L) ;
double getElapsedTime( stopWatch *timer);
void startTimer( stopWatch *timer)
{
QueryPerformanceCounter(&timer->start) ;
}
void stopTimer( stopWatch *timer)
{
QueryPerformanceCounter(&timer->stop) ;
}
double LIToSecs( LARGE_INTEGER * L)
{
LARGE_INTEGER frequency;
QueryPerformanceFrequency( &frequency ) ;
return ((double)L->QuadPart /(double)frequency.QuadPart) ;
}
double getElapsedTime( stopWatch *timer) {
LARGE_INTEGER time;
time.QuadPart = timer->stop.QuadPart – timer->start.QuadPart;
return LIToSecs( &time) ;
}
// su dung cac ham
int main()
{
long i = 600000000L;
stopWatch timer;
double duration;
// Do thoi gian cua mot su kien
printf( “Thoi gian thuc hien %ld vong lap rong:”, i );
startTimer(&timer);
while( i– )
;
stopTimer(&timer);
duration = getElapsedTime(&timer);
printf( “%2.1f giay\n”, duration );
system(“pause”);
return 0;
}
3. Đo thời gian thực hiện của chương trình với C++ trên Windows
Tương tự như đối với chương trình C trên Windows, ở đây ta cũng sử dụng hàm QueryPerformanceCounter(LARGE_INTEGER *), tuy nhiên ta xây dựng lớp CStopWatch để tiện dùng cho các chương trình khác nhau.
// file timer4w.cpp
#include
#include
using namespace std;
typedef struct {
LARGE_INTEGER start;
LARGE_INTEGER stop;
} stopWatch;
// khai bao lop CStopWatch
class CStopWatch {
private:
stopWatch timer;
LARGE_INTEGER frequency;
double LIToSecs( LARGE_INTEGER & L) ;
public:
CStopWatch() ;
void startTimer( ) ;
void stopTimer( ) ;
double getElapsedTime() ;
};
double CStopWatch::LIToSecs( LARGE_INTEGER & L)
{
return ((double)L.QuadPart /(double)frequency.QuadPart) ;
}
CStopWatch::CStopWatch()
{
timer.start.QuadPart=0;
timer.stop.QuadPart=0;
QueryPerformanceFrequency( &frequency ) ;
}
void CStopWatch::startTimer( )
{
QueryPerformanceCounter(&timer.start) ;
}
void CStopWatch::stopTimer( )
{
QueryPerformanceCounter(&timer.stop) ;
}
double CStopWatch::getElapsedTime()
{
LARGE_INTEGER time;
time.QuadPart = timer.stop.QuadPart – timer.start.QuadPart;
return LIToSecs( time) ;
}
// su dung lop CStopWatch
int main()
{
long i = 600000000L;
CStopWatch timer;
double duration;
// Do thoi gian cua mot su kien
printf( “Thoi gian thuc hien %ld vong lap rong:”, i );
timer.startTimer();
while( i– )
;
timer.stopTimer();
duration = timer.getElapsedTime();
printf( “%2.1f giay\n”, duration );
system(“pause”);
return 0;
}
4. Đo thời gian thực hiện của chương trình với C#
Bắt đầu từ .NET Framework 2.0, lớp StopWatch được cung cấp cho người dùng để tiến hành các công việc liên quan tới đo đếm thời gian thực hiện 1 tác vụ nào đó, lớp này nằm trong namespace System.Diagnostics.
Ví dụ sau đây là chương trình đo thời gian thực hiện 600000000 vòng lặp rỗng:
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace Timer
{
class Program
{
static void Main(string[] args)
{
Stopwatch st = new Stopwatch();
st.Start();
long i = 600000000L;
Console.WriteLine(“Thoi gian thuc hien {0} vong lap rong:”, i);
while (i > 0)
–i;
st.Stop();
Console.WriteLine(“{0} giay”, st.Elapsed.ToString());
if (Stopwatch.IsHighResolution)
Console.WriteLine(“Timed with Hi res”);
else
Console.WriteLine(“Not Timed with Hi res”);
Console.ReadKey();
}
}
}
5. Tài liệu tham khảo
1. MSDN 9.0, clock function (ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/dv_vccrt/html/3e1853dd-498f-49ba-b06a-f2315f20904e.htm).
2. http://cplus.about.com/od/howtodothingsin1/a/timing.htm
3. http://cplus.about.com/od/howtodothingsi2/a/timing.htm
4. http://cplus.about.com/od/howtodothingsinc/a/timing.htm
5. Microsoft® Windows® Internals, Fourth Edition: Microsoft Windows Server™ 2003, Windows XP, and Windows 2000, Mark E. Russinovich, David A. Solomon

Các Website bổ ích về Java và J2M


Các Website bổ ích về Java và J2ME

Theo www.tuoitre.com.vn - 7 năm trước
TTO - Lập trình Game trên điện thoại di động là vấn đề kỹ thuật còn khá mới mẻ không chỉ ở Việt Nam mà còn ở trên thế giới. Xin giới thiệu đến các bạn những web site có liên quan đến cuộc thi. Với các địa chỉ này thí sinh sẽ lựa chọn đúng các nguồn thông tin và tiết kiệm thời gian tìm kiếm.
1. Các kiến thức nền tảng hỗ trợ cho lập trình Java:
http://java.sun.com: Đây chính là trang hỗ trợ cho Java từ Sun Microsystems, cũng là công ty phát minh ra ngôn ngữ Java. Tại đây, người đọc có thể cập nhật tất cả các tin tức và sự kiện mới nhất có liên quan đến Java.
- Trang http://math.nist.gov/javanumerics chính là nơi bạn cần đến, với bố cục đơn giản và ít hình ảnh, trang web này tập hợp các thông tin liên quan đến phần hỗ trợ toán học trong Java, các sự kiện có liên quan, đồng thời trang web cũng cung cấp các Library (thư viện) miễn phí hoặc thương mại hỗ trợ cho việc tính toán các công thức toán học bằng Java.
Ví dụ như các thư viện Java trong ngành Linear Algebra  (Đại số tuyến tính) hay như thư viện hỗ trợ tính toán Multidimensional Arrays  (mảng đa chiều). Có thể bạn thấy “chóng mặt”với các kiến thức toán học khô khan này, nhưng bạn nên nhớ rằng, tin học được phát triển từ toán học.
2. Trang web tập hợp các link về các thư viện mã nguồn mở dùng Java:
http://sf.net: Có thể được xem như “kinh thánh” cho giới lập trình mã nguồn mở trên toàn thế giới. Có khá nhiều dự án Mobile Game trên SF.net
3. Thư viện các bài viết về lập trình Java:
http://www.javaworld.com: Là sản phẩm của tập đoàn IDG. Đúng như tên gọi, JavaWorld đề cập đến mọi lĩnh vực trong Java. Trang web này được đánh giá rất cao trong cộng đồng Java trên khắp thế giới.
http://www.onjava.com: Có những bài viết xuất sắc vì tác giả bài viết cũng đồng thời là người biên soạn những cuốn sách IT bestseller. Hoàn toàn dễ hiểu vì chủ trang web chính là nhà xuất bản danh tiếng O’REILLY.
Bạn đọc có thể tìm kiếm các bài viết về chủ đề J2ME bằng cách dùng chức năng tìm kiếm với từ khoá J2ME.
http://www.javalobby.org: Nơi cập nhật tin tức về công nghệ cũng như các sản phẩm Java mới nhất.
4. Thư viện các bài viết chuyên về lập trình J2ME:
5. Trang web của các công ty làm Mobile Games trên thế giới: Thí sinh có thể học tập hoặc tham khảo các ý tưởng từ đây:
6. Các diễn đàn thảo luận về J2ME
www.javavietnam.org: Nguồn thông tin và tài nguyên bằng tiếng Việt về công nghệ Java và J2ME lớn nhất hiện nay.
www.MIDP2.org: Thảo luận về các đặc tính của MIDP 2.0, có thể là chưa thích hợp với cuộc thi lần này nhưng kiến thức không bao giờ là thừa.
http://forum.java.sun.com: Trang diễn đàn dành cho giới lập trình Java của Sun Microsystems, bạn có thể tìm được những thảo luận rất bổ ích về J2ME tại đây.

Chủ Nhật, 2 tháng 10, 2011

Mộc Quế Anh - Triết lý của Gia Luật Hạo Nam

Mỗi khi nhớ đến lời trăn trối của cha ta, ta cảm thấy như có một dòng máu nóng đang sục sôi trong huyết quản. Đó là bầu nhiệt huyết của một người mang dòng máu hoàng tộc như ta. Ta nhất định phải khôi phục lại giang san Bắc Tống để hoàn thảnh tâm nguyện cuối cùng của cha ta. Mà đó cũng là tâm nguyện, là lý tưởng mà ta theo đuổi suốt đời. Ta đã cố gắng nhẫn nhịn mà sống, học tập võ công và chịu đựng sự đọa đày của "lão yêu quái" _ ông bác của ta _ ở dưới vực thẳm, là vì ta hy vọng có một ngày nào đó, ta sẽ thoát khỏi nơi tăm tối đó để thực hiện lý tưởng của ta. Rồi đến khi sư phụ Hi Di nhận ta làm đệ tử, ta đã cố gắng học tập những gì mà ông ấy đã dạy ta, từ bói toán, địa lý, thiên văn, phong thủy, đến cả các pháp thuật. Ta đã học tập một cách không biết mệt mỏi vì ta biết ràng những thứ này sẽ giúp ích cho ta trên con đường phục quốc sau này. Mà quả vậy, khi đã trở nên tinh thông, ta đã dùng những gì học được để nghiên cứu Thiên Môn trận, để đối kháng với bọn Nam Tống ...


Dĩ nhiên, để phục quốc, lật đổ triều đình Nam Tống, thì phải tiến hành chiến tranh. Mà đã là chiến tranh thì đương nhiên phải có đổ máu, phải có thương vong. Đây là chuyện rất bình thường, là cái tất yếu phải có để lịch sử nhân lọai chuyển sang trang mới. Thế nhưng, đâu phải ai cũng hiểu được cái điều tất yếu này. Từ khi Hi Di lão tổ phát hiện ra tâm ý của ta, ông ta đã đuổi ta ra khỏi sư môn. Nhưng không sao, ta đã có được một kiến thức uyên bác trong đầu, ta sẽ bắt đầu sự nghiệp phục quốc của mình. Ta sẽ ... đầu quân ở Liêu quốc, mượn sức mạnh của nước này để đánh đuổi tên vua Nam Tống ra khỏi giang san ngày trước của ta. Và ta đã trở thành quốc sư nước Liêu là vì thế đấy. Ta đã giúp Liêu Chúa dùng Thiên Môn Trận để giết quân Nam Tống, để giết Dương Gia - những tên phản bội.


Tất cả những gì ta làm đều phục vụ cho mục đích khôi phục lại Bắc Tống, kể cả chuyện hôn nhân. Ta nhất định phải cưới cho đuợc Mộc Quế Anh, vì cung mạng của nàng hợp với ta. Có nàng giúp sức, ta lo gì mà không hoàn thành đại sự chứ. Và thế là ta đã dùng đủ mọi cách để chiếm đoạt cho được trái tim của nàng, từ những lời nói hoa mỹ đến cả việc dùng liên tâm đại pháp để khống chế nàng. Nhưng ta đã thất bại. Giá mà không có cái tên Dương Tôn Bảo ở trên đời này thì hay biết mấy. Hắn đã cướp Quế Anh từ trên tay ta, đã làm hỏng đại sự của ta. Tên khốn kiếp ... Rồi thì Quế Anh đã vì hắn, vì Dương Gia mà ra sức giết ta. Cô ta cũng phát hiện ra rằng ta muốn làm hoàng đế. Cô ta thật không biết quý trọng sự giàu sang phú quý, quyền uy tột đỉnh mà sau này khi thành đại sự, ta và cô ta sẽ cùng chung hưởng thụ. Thật hểt sức ngốc nghếch ...


Cả đời ta tốn hao tâm trí đều là vì lo nghĩ cho chuyện phục quốc. Vậy mà có lúc, ta chẳng phải là ta, một Hạo Nam tài trí hơn người, một Hạo Nam tràn đầy nhiệt huyểt khôi phục Bắc Tống. Đó là lúc ta để tâm trí vào một việc khác, rồi trở nên thẩn thờ, ngơ ngẩn, và chẳng biết mình muốn gì nữa. Dương Bài Phong. Đây chính là cô gái, là nguyên nhân đã khiến cho ta trở nên như thế đấy. Luận về tài sắc, cô ta không sánh được với Quế Anh, nhưng không hiểu sao cô ta lại có một sức mạnh vô hình hơn cả Quế Anh: Bài Phong đã khiến cho trái tim lạnh giá bấy lâu này của ta trở nên ấm áp lạ thường.


Ở cạnh cô ta dưới hầm đá, ta đã bộc bạch hết những nỗi niềm đau khổ chất chứa trong lòng từ bấy lâu nay. Ở cạnh cô ta, ta như thấy lại hình ảnh đứa trẻ hiền lành thật tốt ngày nào trong ta. Ở cạnh cô ta, ta có một cảm giác gì đó rất lạ lùng: nó thật êm đềm như những giấc mơ, nó ngọt ngào như đường như mật, nó khiến ta ngây ngất ...


Ta sợ nhất là ánh mắt của cô ta: ánh mắt tỏa ra những tia sáng dịu dàng mỏng manh nhưng lại khiến cho trái tim này của ta trở nên loạn nhịp. Ta đã nhận thấy cái sức mạnh ghê gớm đó trong ánh mắt của cô ta từ sau lần cùng cô ta hợp sức trị thương ở Hỏa Diệm Cung dưới hầm đá lạnh. Ta đã cố tránh cái nhìn đó bằng cách bảo cô ta ngồi nghỉ, để ta đi kiếm thức ăn. Cô ta bảo rằng để cô ta đi. Cô ta quay đi. Nhưng cả cái dáng hình nhỏ nhắn xinh xinh của cô ta cũng có một sức mạnh không thua gì ánh mắt: cái dáng hình của một nguời con gái, cái dáng hình khiến ta đôi phút ngẩn ngơ, cái dáng hình khiến cho một chàng trai bất chợt cảm thấy xao xuyến bồi hồi.


Những ngày dưới hầm đá lạnh với Bài Phong. Đó là những ngày ấm áp nhất, hạnh phúc nhất của đời ta. Đêm cuối cùng trước khi rời khỏi hầm đá, không hiểu sao ta lại thích ngắm nhìn mãi không thôi người con gái ấy lúc cô ta đang ngủ. Có lẽ vì ta muốn xem nàng ngủ như thế nào, có lẽ vì ta cảm thấy đây là lúc ... an toàn nhất để ngắm nhìn nàng. Hay có lẽ vì ta đã ...


Từ sau khi rời khỏi vực sâu, có nhiều điều ta thật không hiểu. Không hiểu sao ta nghe thấy tim mình nhói dau khi đánh Bài Phong bị thương, nhưng ta không thể làm khác đi được vì nàng cứ một mực muốn giết Lao Thiện Hành - kẻ ta đang cần đến để tìm lại bảo tàng của vương triều Bắc Tống ta ngày trước. Không hiểu sao khi ta đi phía trước, Lao Thiện Hành kéo theo nàng ở phía sau, nhưng thực sự tâm hồn ta lúc nào cũng ở bên nàng, băn khoăn lo lắng cho nàng. Không hiểu sao khi Lao Thiện Hành đưa ta bầu nước duy nhất để uống, ta lại không nghĩ đến bản thân mình, chỉ muốn dành phần nước đó cho nàng. Không hiểu sao ta lại không thể thốt lên một lời nói ngọt ngào nào với nàng cả, dù trái tim ta giờ đây đã đây ấp bóng hình nàng, dù trong tâm trí ta giờ đây chỉ có nàng ... Không hiểu sao ta lại lo lắng không yên khi biết Bài Phong không chịu ăn cơm. Không hiểu sao ta lại sợ ... mất uy tín với nàng, làm nàng thất vọng nếu ta không giao Lao Thiện Hành cho nàng ... Không hiểu sao ta lại nghe đau nhói ở tim khi lưỡi dao của Lao Thiện Hành kề sát cổ nàng ... Ta không hiểu nhiều điều lắm, nhưng có một điều ta hiểu rất rõ là ta sẽ không để cho bất cứ ai làm tổn hại đến nàng, dù kẻ đó có đang có lợi cho ta đi nữa, dù cho ta có đang cần kẻ đó đi nữa ...


Lần đầu tiên ta biết quan tâm, lo lắng cho kẻ khác. Nhưng cũng là lần đầu tiên, ta cảm thấy rất giận bản thân ta vì ta không thể ra tay giết một người, một người con gái. Lần đầu tiên trong đời, vì người con gái đó mà ta đã không ra tay giết người, tên quản gia của Lao Thiện Hành. Lần đầu tiên, ta cảm giác thật bất ngờ nhưng thật sung sướng, khi nghe nàng nói rằng nàng đã yêu ta. Lần đầu tiên, ta đã chạm vào má nàng, ôm lấy nàng. Lần đầu tiên, ta ôm lấy một người con gái với một cảm giác yêu đương tràn ngập trong tim. Lần đầu tiên, một người con gái đã khiến ta quên đi nợ nước thù nhà trong giây lát. Lần đầu tiên, ta sợ hãi khi biết mình đang làm điều trái với lý tưởng mà mình theo đuổi bấy lâu. Lần đầu tiên, lòng ta bị giằng xé giữa lý tưởng và tình yêu bởi việc phục quốc không thể đi đôi với tình yêu trai gái được.


Ta phải lánh xa nàng, bởi nàng và ta thuộc hai thế giới khác nhau. Ta phải lánh xa nàng, bởi khi ở cạnh nàng, ta không hề muốn nghĩ đến chuyện binh đao, mà chỉ muốn được hưởng trọn vẹn hương vị ngọt ngào của tình yêu đôi lứa. Và ta đã làm thế.


Tuy nhiên, ta vẫn không quên hình bóng của nàng, vẫn luôn quan tâm lo lắng cho sự an nguy của nàng, vẫn âm thầm theo nàng, bảo vệ nàng cho đến khi nàng đã đến được chốn an tòan. Rời khỏi nàng , lòng ta cứ mãi luyến lưu, ngơ ngẩn. Ta đã không biết mình muốn đi đâu và về đâu nữa. Rồi, bước chân đưa đẩy ta đến một thôn quê. Ở đó, ta dừng chân nghỉ một đêm ở một ngôi nhà nhỏ. Nhìn cảnh cả gia đình gia chủ quây quần bên mâm cơm đầy ấm cúng, ta bỗng dưng khao khát có một mái nhà, một gia đình, một người thân. Và ta lại nhớ đến nàng, Bài Phong. Nàng là người duy nhất trên cõi đời này mà ta nghĩ đến. Ta nghĩ về nàng suốt cả đêm thâu. Ta nhớ đến giây phút hạnh phúc khi ôm nàng trong lòng. Ta nhớ đến đêm mưa hôm ấy, khi đôi ta cùng đứng dưới mưa trao nụ hôn đầu. Ta đã lập nên Thiên Môn Trận, một nơi dễ vào khó ra, nhưng xem ra nay ta cũng đang lạc lối giữa một Thiên Môn Trận khác, do Tạo Hóa sắp bày - một Thiên Môn Trận của tình yêu nam nữ, của ân ái nồng nàn, của đắm đuối say mê ...


Cũng may, sư phụ Hi Di đã kéo ta ra khỏi cái trạng thái mê muội đó, khiến ta trở về với thực tại. Phải, phục quốc là cái mà ta cần có, là cái mà ta phải hòan thành. Còn tình yêu? Làm sao tình yêu có thể sánh được với tâm nguyện lớn lao suốt mấy chục năm trời mà ta đã ấp ủ trong lòng ? Giờ đây, ta như kẻ đã tỉnh mộng, ta đã có sự lựa chọn rõ ràng. Ta sẽ bất chấp tất cả, sẽ nhẫn tâm hơn khi làm việc gì, sẽ giết bất cứ kẻ nào cản bước tiến của ta ...


Lại là Bài Phong. Ta lại gặp nàng nơi đây.


"Mỗi người có một ước nguyện. Để hòan thành ước nguyện đó, buộc họ phải hy sinh rất nhiều. Ta cũng không ngọai lệ.” Ta đã nói với nàng như thế. Để hòan thành ước nguyện khôi phục Bắc Tống, ta buộc phải hy sinh cả tình yêu của ta, dù cho lòng ta vẫn còn tha thiết yêu nàng. Đó là sự lựa chọn của ta. Ta cũng đã cám ơn nàng vì nàng đã cho ta một giấc mơ ngọt ngào, đã cho nàng biết rằng giờ đây ta đã tỉnh rồi giấc mộng yêu đương, đã cảnh báo nàng đừng để ta gặp lại nàng nữa. Ta thật sự không muốn giết nàng. Ta đã tha chết cho nàng, nhưng nàng vẫn không chịu để ta yên với lý tưởng của ta. Nàng lại còn dùng miếng ngọc bội mà lúc xưa ta đã tặng nàng, như là kỷ vật ân tình giữa ta và nàng, để buộc ta phải từ bỏ lý tưởng mà ta hằng theo đuổi. Điều đó sẽ không thể có được. Ta sẽ không để bất cứ ai hay bất cứ thứ gì cản trở việc hòan thành tâm nguyện lớn lao của ta.


Bài Phong, ta phải giết nàng. Ta phải giết tình yêu của ta ...


14 năm sau ...


Mười bốn năm rồi, ta đã trở thành một người khác, với cái tên Trương Ngưu thật giản dị bình thường. Cuộc sống nơi làng quê thôn dã, cuộc sống của một nông phu - một người dân thường - thật là thanh thản và bình dị biết bao. Ta đã quen rồi với việc trồng trọt đồng án, với lối sống thanh đạm không đua chen với đời. Ta giờ đây đã biết quý trọng mạng sống con người, ghét chuyện binh đao khói lửa - một việc chỉ đem lại một màu tang tóc cho cuộc sống con người. Sau khi nhớ lại tất cả mọi chuyện trong quá khứ và nhất là sau khi tâm sự cùng Lý huynh, ta đã hiểu được thêm nhiều điều. Cũng như Lý huynh, người cũng mang trong mình dòng máu hòang tộc, ta đã quyết tâm dẹp bỏ giấc mộng khôi phục Bắc Tống của mình, vì ta giờ đây đã hiểu được rằng, ta không thể vì bản thân ta mà bắt những người vô tội khác phải chịu đau thương chết chóc do những cuộc chiến tranh. Đã có lúc, ta muốn được quy y cửa phật , tụng kinh niệm phật, như để sám hối những lỗi lầm trước đây của ta. Nhưng rồi, ta đã không thể vào cửa phật được, bởi vì một người con gái ...

Dương Bài Phong. Lại là nàng, người yêu dấu của ta. Lúc ta còn bị mất ký ức, ta không hiểu được vì sao khi gặp nàng , ta có cảm giác rất là thân thiết và gần gũi. Giờ đây, khi đã lấy lại ký ức, ta mới hiểu được rằng ta và nàng vốn đã yêu nhau từ trước. Hình bóng của nàng luôn mãi khắc sâu trong tâm trí của ta. Ta đã từng có lúc muốn giết nàng, như là giết đi tình yêu của ta. Nhưng ta đã sai. Ta có thể giết chết được nàng, nhưng ta không thể giết chết được ái tình, ta không thể giết chết được cái tình yêu tha thiết mà ta đã dành cho nàng. Thiên môn trận đã bị phá hủy, ta bị mất đi ký ức. Nhưng tình yêu chân thành thắm thiết của ta đối với nàng thì không hề mất đi. Chính vì vậy mà ta lại lần nữa nói tiếng yêu nàng sau khi gặp lại nàng.
Giờ đây, ta đã có thể nói lên những lời nói yêu thương chân thành tự đáy lòng ta đối với nàng, những lời nói mà khi xưa ta đã không thể tỏ bày cùng nàng:
"Anh sẽ vì em mà trồng hoa cúc đầy cả núi, hằng ngày đợi em đi ngang qua đay, để anh được ngắm nhìn em, vậy là anh cũng đã mãn nguyện."
"... dù là 1 năm, 10 năm, 100 năm hay 2000 năm, thì anh vẫn luôn đợi em..."
Phải, dù có bao nhiêu năm đi nữa, ta vẫn mãi nhớ đến nàng, chờ đợi nàng, Bài Phong.
Cảm ơn trời đất, vì sau cùng ta và nàng đã nên duyên chồng vợ, suốt đời bên nhau. Tạo hóa không cho ta trở thành vua một nước, nhưng tạo hóa đã ban tặng cho ta một mối tình thắm thiết thủy chung. Đó là một món quà quý giá của tạo hóa mà ta sẽ quý trọng và nâng niu suốt đời. Ta giờ đây rất hạnh phúc vì được làm một người dân bình thường, có một mái ấm gia đình và một người thân yêu. Đó mới thật sự là niềm mong ước mà mỗi con người nên có. Niềm mong ước ấy thật bình thường và giản dị biết bao. Ta giờ đây mới hiểu thấu được lời dạy của sư phụ Hi Di ngày trước: hạnh phúc đến với con người ta từ những điều rất bình thường, rất giản dị và đơn sơ ...

Tư duy lập trình

Tư duy lập trình

    - Không bao giờ sợ phải bắt đầu.
    – Tôi sẽ không viết hai lần cùng một đoạn mã giống nhau.
    – Khi phát triển phần mềm, hãy nghĩ đến tương lai.
    – Viết mã càng ít bao nhiêu ,mắc lỗi càng ít bấy nhiêu.
    – Bạn sẽ không bao giờ trở thành một lập trình viên giỏi nếu chỉ tập luyện 2giờ mỗi ngày.
    – Tất cả các công việc đều có phần thú vị và phần buồn chán, không có ngoại lệ.
    – Kẻ thù số một của các lập trình viên là gì? Kiêu căng.
    – Lập trình viên sử dụng hầu hết thời gian của mình vào việc sửa lỗi. Chương trình càng dễ đọc bao nhiêu càng tiết kiệm thời gian bấy nhiêu.
    – Trường học khiến các bạn tin rằng chương trình của bạn chỉ cần thỏa mãn một mình bạn là đủ. Điều này hoàn toàn sai lầm. Chương trình phải thỏa mãn khách hàng và các lập trình viên khác.
Mục lục:- Giới thiệu
- Bạn cần gì để trở thành một lập trình viên?
- Còn trường học thì sao?
- Những công cụ cần thiết
- Hãy là người lạc quan
- Hãy làm việc theo nhóm!
- Những thứ nên đọc!
- Tổng kết Giới thiệu
Thế là bạn nghĩ rằng lập trình là một thế giới vô cùng thú vị, và bạn muốn tham gia vào thế giới ấy? Trước khi bạn bắt đầu, điều duy nhất mà tôi muốn khuyên là: nếu bạn thực sự yêu thích lập trình thì đó rõ ràng là công việc tốt nhất mà bạn có thể có được. Ngược lại, nếu bạn chỉ cảm thấy thích, hay không quan tâm lắm đến lập trình, thì đó rõ ràng là công việc tồi tệ nhất của bạn. Bởi vì bạn đang gia nhập vào một thế giới mà sự cạnh tranh luôn là nỗi ám ảnh không thể tránh khỏi.
Phát triển phần mềm gần như là một cuộc đua tranh. Trong đó, cuộc sống của bạn là một con đường và bạn phải chạy càng nhanh càng tốt, không cần biết dưới chân có gì, cho đến khi gặp đồng bằng hoặc là đụng phải vách đá cheo leo. Nếu bạn sẩy chân, mọi thứ kết thúc, và đó hoàn toàn là lỗi của bạn. Nghe có vẻ hơi ghê gớm đúng không? Nhưng đừng để những điều đó làm bạn nản lòng. Tôi chỉ không muốn vẽ nên một viễn cảnh tươi đẹp, nơi có những cánh đồng xanh ngút ngàn và những đám mây lững lờ trôi trên nền trời xanh thẳm. Thực tế là có thể chỉ vài phút sau đó trời sẽ mưa và bạn thì chẳng mang theo dù. Thế nhưng, chính những điều không chắc chắn, những thách thức và áp lực sẽ làm cho cuộc sống trở nên đầy hứng thú.
Bạn vẫn còn đọc đến đây ư? Rất tốt, thế có nghĩa là bạn hoàn toàn nghiêm túc về điều này. Bây giờ điều tôi sẽ nói với bạn là một bản phác thảo về những gì đang chờ đợi bạn trong thế giới lập trình, chúng ta sẽ nói một ít về kỹ thuật và cả những niềm vui của thế giới ấy.
Bạn cần gì để trở thành một lập trình viên?
Tôi không nghĩ rằng có một vài yêu cầu khó khăn nào đó khiến bạn không thể trở thành lập trình viên, tôi chỉ đơn giản nghĩ rằng bất cứ ai có một ít (hay rất nhiều) mong muốn đều có thể trở thành lập trình viên. Vấn đề chỉ là bạn dành ra bao nhiêu thời gian. Điều đó có nghĩa là tôi nghĩ có nhiều quan niệm sai lầm về những kỹ năng cần có để trở thành lập trình viên. Trước tiên, bạn không cần phải thật xuất sắc trong môn Toán, bạn chỉ cần có khả năng hiểu được những điều cơ bản. Dĩ nhiên là có những ngoại lệ, nếu bạn có hứng thú trong lĩnh vực đồ họa hay lập trình game thì một kiến thức Toán vững vàng sẽ giúp bạn rất nhiều.
Một quan niệm sai lầm khác là bạn cần phải là thiên tài logic. Nói chung, điều đó không phải là bắt buộc, dĩ nhiên tư duy logic càng tốt thì càng dễ dàng hơn khi tiếp cận thế giới lập trình. Vậy thì kỹ năng nào là cần thiết? Bị thúc đẩy bởi những thách thức là yếu tố quan trọng nhất. Đơn giản là vì bạn đang tham gia vào một trò chơi trong đó thách thức xuất hiện trong mọi ngõ ngách. Một điều quan trọng khác là phải không ngừng theo đuổi mục tiêu, nhưng vẫn phải luôn uyển chuyển để không đuổi theo một cách mù quáng những mục tiêu xa vời.
Còn trường học thì sao?
Trường học là nơi tuyệt vời để học mọi thứ ngoại trừ công nghệ. Đừng cho là tôi sai, tôi không nói rằng tôi nghĩ trường học là không quan trọng. Ngược lại, tôi nghĩ trường học là rất quan trọng, nhưng không phải để học lập trình. Những gì bạn nên tập trung thật sự ở trường là học cách để làm việc với những người khác trong một đề án. Cũng như học cách những người xung quanh giải quyết vấn đề và cách thức giải quyết của họ khác cách của bạn ở chỗ nào. Trường học thường bắt bạn phải làm những thứ có thể bạn không thích. Chẳng hạn, tôi nhớ lúc tôi học môn “Thiết kế trình biên dịch”, tôi tự nhủ: “Thật là mất thời gian một cách vô ích, tôi chẳng bao giờ cần phải thiết kế trình biên dịch làm gì”. Nhưng, điều tôi đã học được là làm thế nào để giải quyết những vấn đề hoàn toàn khác nhau, và kiến thức này giúp tôi làm được nhiều việc khác.
Một trong những thuận lợi bạn có được từ trường học là bạn có thể gặp gỡ bạn bè có cùng chí hướng và có thể sau này trở thành đồng nghiệp của bạn. Ngành công nghiệp phần mềm ở nhiều khía cạnh rất giống với ngành công nghiệp điện ảnh, khi có ai đó bị lôi cuốn vào một đề án đầy tham vọng, họ thường mời bạn bè cùng hợp tác. Nếu bạn không biết họ từ trước, bạn sẽ không thể mời (hay thuê), và trong nhiều trường hợp, trường học chính là nơi bạn có thể tìm được những người có cùng sở thích.
Một khía cạnh khác không thể bỏ qua là trường học không chỉ dạy về kỹ thuật mà còn dạy về lịch sử, về tâm lý,… Và trong khi những thứ ấy có vẻ không liên quan trực tiếp đến lập trình, bạn có thể sẽ rất ngạc nhiên nếu biết rằng đó cũng là một trong những nguồn cảm hứng mà tôi từng có. Tôi nên bắt đầu từ đâu?
Trước tiên, tôi khuyên là bạn nên cân nhắc cẩn thận trước khi có một quyết định quan trọng. Như tôi đã nói, thế giới lập trình có thể rất lý thú, nhưng cũng đầy gian nan. Do đó, đừng bao giờ nhảy bổ vào mà không suy nghĩ kỹ. Việc đầu tiên cần làm dĩ nhiên là tìm mua một cuốn sách dạy lập trình. Nhưng có quá nhiều sách và quá nhiều ngôn ngữ. Tôi khuyên bạn nên chọn một trong các ngôn ngữ sau: C, C++, Visual Basic, Pascal (Delphi) hay Java. Khoan hãy nghĩ đến những ngôn ngữ khác, bởi vì chúng hoặc là quá phức tạp cho người mới bắt đầu hoặc là quá đơn giản để có thể đưa bạn vào thế giới lập trình. Nhưng dù thế nào thì bạn cũng nên chọn một ngôn ngữ vào thời điểm này. Những ngôn ngữ này rất giống nhau, và vô cùng mạnh mẽ.
Hầu như mọi ứng dụng thương mại đều có thể được viết bởi một trong những ngôn ngữ trên. Phương pháp của tôi là chọn 2 quyển sách cho mỗi ngôn ngữ đã nêu ở trên. Đọc sơ qua trước, và chú ý các ví dụ, mã nguồn trong đó. Sau khi đã đọc sơ qua tất cả các quyển sách đã chọn, hãy chọn quyển sách gây cho bạn nhiều hứng thú nhất. Và ngôn ngữ mà quyển sách đó đề cập chính là ngôn ngữ bạn nên học đầu tiên.
Bây giờ hãy chọn thêm vài quyển sách về ngôn ngữ đó, mỗi quyển, bạn hãy đọc một phần chương đầu tiên, bạn có cảm thấy quan tâm đến nó không? Nếu không, hãy bỏ quyển sách ấy và chọn một quyển khác; nếu có, hãy lật đến giữa quyển sách và một phần chương mà bạn bắt gặp, vẫn cảm thấy quan tâm đến quyển sách ấy đúng không? Tốt, đó là quyển sách có thể bạn sẽ chọn. Đừng cố hiểu nó viết cái gì, chỉ cần tìm hiểu xem nó có mang đến cho bạn sự quan tâm về ngôn ngữ đó hay không. Tiếp tục phương pháp này cho đến khi không còn quyển sách nào cả, bạn có thể tìm được quyển sách gây cho bạn nhiều hứng thú nhất để học ngôn ngữ đó.
Những công cụ cần thiết
Hãy nhìn thẳng vào vấn đề, chọn đúng công cụ sẽ làm cho công việc trở nên dễ dàng hơn. Điều này càng chính xác hơn trong lĩnh vực phát triển phần mềm. Có thể Microsoft đã tạo ra môi trường phát triển tốt nhất, Microsoft Developers Studio. Do đó, nếu bạn dùng C/C++, Visual Basic,… thì có lẽ đây sẽ là thứ bạn cần. Tuy nhiên, vẫn có nhiều công cụ thay thế miễn phí khác cho những ngôn ngữ này. Bạn có thể kiểm tra thử nếu thích.
Một công cụ khác cũng rất quan trọng, đó là trình soạn thảo mã lệnh (code editor). DevStudio có một trình soạn thảo mã lệnh tích hợp sẵn, và đó là một trong những lý do khiến nhiều người dùng nó. Cá nhân tôi không thích bị ràng buộc bởi một môi trường phát triển nào. Do đó, tôi thích dùng công cụ soạn thảo MultiEdit. Tôi đã sử dụng nó trong nhiều năm. Và tôi rất tự hào khuyên những ai muốn tìm một công cụ thay thế cho DevStudio hãy dùng nó.
Hãy là người lạc quan
Tôi từng nghe người ta nói rằng kẻ lạc quan nhất trên thế giới chính là nhà phát triển phần mềm. Trong suy nghĩ của họ, không có phần mềm nào là không thể viết được. Một ví dụ nhỏ, bạn hãy vào thử một site download phần mềm nào đó mà xem. Có hàng trăm hàng ngàn phần mềm bao gồm mọi lĩnh vực. Làm thế nào mà người ta có thể sáng tạo ra từng ấy phần mềm. Chúng nhiều và tốt đến nỗi bạn không thể nghĩ ra nên sáng tạo thêm phần mềm nào. Thế nhưng từng ngày từng giờ, các nhà phát triển phần mềm luôn sáng tạo và cho ra nhiều phần mềm mới hơn nữa, những phần mềm mà đã có thời người ta cho là không thể tạo ra được. Dù sao thì lạc quan mấy cũng phải có giới hạn. Mấu chốt của vấn đề là họ không nhìn mọi thứ một cách tổng thể, mà ở từng phần cụ thể.
Ở một chừng mực nào đó, có thể xem đấy là đặc trưng của ngành thiết kế phần mềm, chia dự án ra thành những phần nhỏ và giải quyết từng phần. Nếu bạn không phân phối thời gian hợp lý, bạn sẽ không thể nào hoàn thành công việc. Khi bạn bắt đầu viết chương trình “thực sự” đầu tiên (nghĩa là chương trình có thể thực hiện được một công việc nào đó cần thiết cho mọi người, không phải cho riêng bạn), phải chắc chắn rằng bạn dành đủ thời gian để vạch ra kế hoạch về những việc bạn định làm, thứ tự thực hiện, và kết quả cuối cùng là gì. Nếu bạn làm điều này, bạn sẽ thấy mọi thứ trở nên dễ dàng hơn và có thể hoàn thành nhanh hơn là bạn nghĩ.
Hãy làm việc theo nhóm!
Nếu bạn dự định trở thành một lập trình viên đơn độc, hãy suy nghĩ lại. 99,9% các dự án đòi hỏi phải làm việc theo nhóm. Và do đó, bạn cần phải có kinh nghiệm làm việc theo nhóm, phối hợp với những người khác trong một dự án. Một khi bạn đã hoàn thành những dự án nhỏ của riêng mình, đó là lúc bắt đầu tìm cách tham dự vào một dự án có nhiều người tham gia. Đó có thể là một game, một bản demo, hay bất cứ thứ gì. Chỉ cần đó là dự án làm bạn quan tâm. Có nhiều các để tìm dự án, bạn có thể gia nhập vào những dự án đã có, tìm kiếm những nhóm vừa mới thành lập và xin gia nhập, hay thậm chí tự lập một dự án và mời người khác cùng cộng tác. Điều quan trọng nhất là bạn phải học cách làm việc cùng với những người khác để thực hiện mục tiêu chung.
Những thứ nên đọc!
Đọc sách là nguyên tắc cơ bản… Và điều này càng chính xác trong ngành phát triển phần mềm. Nếu bạn là người không thích đọc sách, có lẽ bạn nên chọn một công việc khác. Bởi vì đọc sách chính là chìa khóa để củng cố và hiện thực hóa những tiềm năng của bạn. Bạn có thể tự hỏi vì sao tôi có thể viết nhiều phần mềm trong thời gian ngắn như thế? Có 3 lý do chính: kinh nghiệm, những đồng nghiệp tài năng mà tôi luôn hài lòng khi được làm việc chung và cuối cùng là những quyển sách tôi đã đọc. Tôi không thể giúp bạn có được kinh nghiệm và những bạn đồng nghiệp giỏi, nhưng tôi có thể giới thiệu cho bạn những quyển sách hay:
Code Complete, ISBN 1556154844. 
Đây là quyển sách cần thiết cho mọi nhà phát triển phần mềm, bất kể họ đang dùng ngôn ngữ lập trình nào. Nó bao gồm nhiều bài thực hành và nhiều kỹ thuật liên quan đến phong cách viết mã.
Rapid Development, ISBN 1556159005. 
Quyển sách này hướng đến việc lập kế hoạch cho một dự án, tập trung vào những lỗi tiềm ẩn có thể mắc phải,… Đây là quyển sách cho bạn biết thế giới thực sự của ngành phát triển phần mềm.
Dynamics of Software Development, ISBN 1556158238.
Quyển sách này có một hướng tiếp cận khác, tập trung vào việc làm việc theo nhóm và động lực của việc lập trình. Đây là điều thỉnh thoảng bị xem nhẹ, và hậu quả có thể được thấy trong nhiều dự án bị thất bại.
The Mythical Man-Month, ISBN 0201835959. 
Đây thực sự là một quyển sách nên đọc. Dù rằng nó đã được viết cách đây hơn 20 năm, thế nhưng vẫn có nhiều điều có thể áp dụng.
Programming Windows, ISBN 157231995X. 
Nếu bạn có ý định lập trình trên Windows (bằng C hay C++), bạn cần phải mua quyển sách này. Theo tôi đây là quyển sách dạy lập trình Windows tốt nhất.
The Art of Ware, ISBN 1558513965. 
Tôi là một người hâm mộ cuồng nhiệt Tôn Tử, do đó tôi rất thích thú khi đọc quyển sách này. Đây là một quyển sách có phong cách viết rất lôi cuốn, với những bài học trong binh pháp Tôn Tử được vận dụng vào ngành phát triển phần mềm.
Tổng kết
Hy vọng tôi đã nêu được một số điều cần thiết để trở thành một lập trình viên, không phải về mặt kỹ thuật mà là về mặt tư duy. Cá nhân tôi cho rằng lập trình là một công việc đầy hứng thú. Không có gì vui hơn khi nhìn thấy ai đó đang sử dụng phần mềm do bạn viết để làm cho cuộc sống của họ tốt hơn, dù chỉ là một phần nào đấy. Do đó, nếu bạn quyết định theo đuổi ngành phát triển phần mềm, tôi xin chúc bạn may mắn và hy vọng một ngày nào đó tôi sẽ có dịp download phần mềm do bạn viết để sử dụng.