23/12
Sáng lò mò dậy sớm để lên trường họp lớp, cả năm mới gặp ông thầy chủ nhiệm được có một lần, không thể bỏ lỡ được :D . Ngồi gần 2 tiếng thì phải mà cũng chẳng được gì nhiều, loanh quanh cũng chỉ có mỗi việc được và mất khi vào Kĩ sư tài năng là thu hút được sự chú ý của mọi người nhất. Mình thì đã có chủ định sẵn, nếu mà được thì cứ vào, nhiều tiền thế tội gì lại không vào ;) . Lúc về thì dạt vào văn phòng đoàn, định bụng là cùng chúng nó chuẩn bị để tối nay đi "giáng sinh ấm". Nhưng rồi ngồi một lát thì lại đi về, không thấy vui vẻ như năm ngoái vì toàn bạn Linh Trung mình chẳng quen nên cũng chán, mệt, về nhà cho nó khỏe người. Thế mà lại hay, về nhà thì nhận được món quà giáng sinh sớm nhất từ Phượng, cũng vui.
Chiều nằm ngủ được một tí thì đi cùng Đạt lên thăm Lam đang bị sốt, thấy Lam mệt nhưng cứ nghĩ chắc là cũng không sao, ốm 1-2 ngày thì lại khỏe ngay thôi. Ba đứa ngồi nói chuyện một lúc thì mình phải về để còn đi "giáng sinh ấm" kẻo không kịp. Thế là về nhà chở Phượng rồi chạy lên Bách Khoa tập hợp cùng mấy đứa rồi kéo nhau sang mái ấm. Mái ấm Bình Minh, một năm rồi mới quay trở lại. Một ngôi nhà hai tầng không lớn lắm nhưng chứa đựng một tình thương to lớn, một người mẹ vĩ đại và gần 20 đứa con dũng cảm vượt lên số phận. Năm nay số người đi cùng tổ chức đông hơn nhiều so với năm ngoái, quà cũng nhiều hơn vì có nhiều người ủng hộ hơn năm ngoái, nhưng mình vẫn có cảm giác khang khác. Không thấy ấm áp và vui vẻ như năm ngoái, có cảm giác năm nay không chuẩn bị kĩ lưỡng bằng (chắc là vì sắp thi rồi nên mới thế), lúc ngồi chơi với các em cũng thấy không được như năm ngoái. Lần trước thì các anh chị ngồi xen kẻ với các em, một người thì quan tâm tới một hai em, có kịch bản ông già Noel xuất hiện hoành tráng, có cả Tuyết (bằng xốp :D ). Năm nay chắc do đông quá nên các anh chị có vẻ dồn về cả một góc, các em thì cũng vậy, không hòa nhập như trước, tuyết cũng không được phép rơi nữa :( .
Năm nay sau khi tổ chức cho các em ở mái ấm chơi xong không có kế hoạch đi phát quà cho người vô gia cư như năm ngoái nên về cũng khá sớm. Mình thì cũng chưa muốn về nhà, thế là cùng với Phượng đưa Nhung về nhà đã. Amen, đường đông kinh khủng, cả cái Sài Gòn này đổ ra đường hết hay sao ấy. Toàn là xe với xe, người với người. Đúng là ai mà đi xe máy được ở Sài Gòn này thì có thể đi được ở bất cứ đâu thật. Về tới nhà mình thì đã 11h hơn. Đi ngủ để sáng hôm sau còn qua chỗ mẹ.
24/12
Sáng thứ hai liên tiếp dậy sớm, một chuyện lạ đối với mình :D . Cả buổi sáng qua nhà dì chơi với mẹ + chuẩn bị cho sinh nhật anh Sơn vào buổi trưa. Chà, lâu rồi mới được ăn đã thế, lâu lắm rồi mới được ăn bánh sinh nhật ngon thế ;) . Ăn xong thì chở mẹ qua khách sạn để xe còn đưa ra sân bay, kết thúc một tuần vào đây công tác + đi chơi + vào thăm con của mẹ. Tết về gặp lại mẹ vậy.
Tối, Nhung qua, lại được nhận thêm một món quà giáng sinh nữa, bội thu, bội thu :D . Nhưng mà nó lại bảo đây là quà giáng sinh + năm mới + sinh nhật (còn 8 tháng nữa mới tới lận mà :(( ) + ... luôn. Chúa ơi, vậy thì chết con à. Hôm nay có cả Nhung, Trung, Thanh, Phượng, Phi Hùng + 6 đứa trong nhà mình nữa là cũng được hơn một phần ba của lớp 12 Toán rồi. Cả lũ đang định đi chơi thì chị của Lam gọi điện tới báo Lam phải nhập viện rồi. Thế là đành hộc tốc chạy vào với Đạt, không đi chơi với mấy đứa nữa vậy. Tội thân Lam, ngày hôm sau thi thì hôm nay lại phải nhập viện, lại đúng ngày Noel nữa mới tội. Ở trong bệnh viện tới gần 11h thì 2 đứa về, hẹn chị sáng mai lại vào vậy.
Về tới nhà thì mấy đứa kia đang chuẩn bị nhậu, Nhung thì đã về trước, Phượng cũng chuẩn bị về, chỉ còn lại mấy thằng ngồi ăn thịt chó đón Noel. Mình thì đã chán ngán nhậu lắm rồi, quyết tâm không uống nữa nhưng mà cũng ngồi chơi với chúng nó vậy. Lần này nhậu cũng vui, ngồi ôn lại kỉ niệm xưa, ôn lại những chiến tích hào hùng thời trai trẻ :D . 1h sáng, đi ngủ để sáng mai còn vào viện.
25/12
Sáng 5h dậy là chạy vào viện luôn, trưa với chiều có về nhà một lúc còn lại cả ngày hôm nay chủ yếu là ở trong bệnh viện với Đạt, Lam và chị Phương của Lam. Cũng chẳng làm gì, chỉ là thỉnh thoảng chạy đi mua mấy thứ linh tinh với ngồi nói chuyện cho 2 chị em đỡ buồn. Thế mà mình cũng thấy mệt. Giờ thì đi ngủ. Mai còn vào tiếp, Đạt buổi sáng, mình buổi chiều để chị còn về nghỉ với lo việc.
Tạm biệt giáng sinh, đón chào năm mới.
Chọc chọc, ngoáy ngoáy, hì hục cả buổi tối thì ra được cái này: (click vào đây nếu muốn xem lớn hơn)
Chúc mọi người giáng sinh vui vẻ, hạnh phúc.
Bó tay, hôm nào nó không mất, lại nhè hôm nay mà mất điện, :(( . Tuần trước thì nó đã mất điện đúng vào cái ngày mà mình cần phải viết cái báo cáo + ghi đĩa cho cái Bài tập lớn môn Kĩ thuật lập trình rồi, kết quả là mình đã phải chuyển sang tuần này nộp. Nhưng mà hôm đó thì cũng còn may là nhờ mất điện mà cả lũ mới quyết định đi hát Karaoke một bữa cho nó bõ ghét, sướng cả mồm, mỏi cả tay :D (vì vỗ tay với lắc lư cỗ vũ cho mấy đứa khác hát). Hôm sau có điện thì đã quyết định là phải đánh cái báo cáo cho nó xong rồi ghi ra đĩa bỏ đó luôn, hôm nay chỉ cầm lên nộp. Không hiểu nghĩ sao lại đánh xong báo cáo rồi thôi, chưa ghi đĩa. Tự bảo là không lẽ tới hôm đó nó lại mất điện tiếp, cứ từ từ đã. Thế mà nó mất thật. Đen thế. Sáng nay về nhà để chuẩn bị thì mới biết cái tin trời đánh đó, nghe thằng Huy nói mà không tin vào tai mình nữa, trùng hợp đến thế thì thôi. Vậy là tạm biệt hai điểm thưởng, tạm biệt luôn cái trò Caro mất cả đêm ngồi viết, tạm biệt luôn ông thầy mà cả kì mình mới gặp có hai lần. Đành cố gắng mà thi cho tốt vậy.
Nhưng hôm nay cũng không hẳn là một ngày xui. Cuối cùng thì cũng đã quyết định được cái việc về Tết, đúng là mua vé máy bay thì nó khác hẳn vé tàu, đắt thì có đắt thật nhưng mà mất có 5 phút là xong, lại cứ được dạ dạ vâng vâng ngọt xớt. Đúng là tiền nào của ấy thật. Tối đến thì lại được anh Hải hỏi xem thử có đi làm thêm cho công ty của bạn thân ảnh không. Nghe bảo là có 2 lựa chọn, một là làm chính thức, giờ hành chánh đàng hoàng, lương 2 triệu tháng nhưng mà yêu cầu rất cao. Cái này thì mình có mơ cũng chẳng dám, em la noob, sao dám làm như pro thế được, chẳng hiểu anh nghĩ sao mà lại hỏi mình cái này. Thứ hai là làm để lấy kinh nghiệm là chính, tiền chẳng bao nhiêu, dưới một triệu (bữa trước còn thấy đi làm phục vụ lương tháng 6-7 trăm là tốt rồi, giờ nghe anh bảo 1 triệu mà còn là thấp :D , cái nghề của mình có vẻ giàu thật), chỉ làm những thứ nhỏ nhặt, có gì thì anh kia chỉ bảo thêm cho. Cái này thì nghe có vẻ thoải mái hơn nhưng mà mình cũng thấy phân vân, chả biết mình có làm được gì với mớ kiến thức lõm bõm giờ không, rồi lại thành trò cười thì chết. Nhưng mà nếu không chụp lấy thì lại như cái vụ mất điện kia thì khổ, có cơ hội mà không chụp lấy thì không khéo sau này chết còn tiếc. Nhưng mà còn việc học ở trường thì sao, kì sau bắt đầu dính sâu vào chuyên ngành rồi, không thể chỉ học để mà thi đậu chư lúc này nữa. Nhưng mà làm cái đó thì cũng phục vụ cho việc học là chính mà, nó sẽ rất có ích cho mình sau này nữa. Nhưng mà mình thì đã làm được cái gì đâu, năm 2 rồi nhưng vẫn chỉ là noob, là amateur, là nghịch nghịch cho vui thôi, làm cái quái gì được...
Dù sao việc trước mắt bây giờ là học để mà thi cái đã, tuần sau là thi rồi. Lý thuyết thông tin vẫn có một mớ chưa biết gì, Lý 3 mới chỉ tàm tạm, còn lại chẳng biết gì. Nhưng dù sao mình cũng quen với việc đua nước rút này rồi, học để mà thi, thi để mà đậu, đậu để mà quên, quên để mà khỏi phải học...
Nhãn: general
Lật ngửa, lật nghiêng, nằm đủ kiểu
Quay theo tám hướng hỏi gối kia
Một câu hỏi lớn không lời đáp
Cho đến bây giờ miệng vẫn ngáp.
Không biết đã là lần thứ bao nhiêu mình nghĩ học nữa rồi, nhiều quá rồi, chẳng thể đếm được nữa. Không cần đến một thống kê phức tạp mình cũng biết là số ngày nghỉ học của mình trong học kì này còn lớn hơn số ngày mà mình nghỉ trong 12 năm học phổ thông cộng lại, chắc chắn như vậy. Lý do ư, có thể đúng là do mình nhác, cái bản chất nó vốn là như vậy nhưng tới lúc này nó mới có cơ hội bộc lộ ra sau bao nhiêu năm dồn nén chăng? Cũng có thể là thế, nếu là thế thì đành chịu, mình là kẻ cực đoan bảo thủ và khó thay đổi nên sẽ không thay đổi. Hay là do mình không hoà nhập được với bạn bè mới? Cái này thì không chắc chắn lắm, mình vẫn có nhiều bạn mới, mình biết khá nhiều người trong lớp và cũng có nhiều người biết mình. Ở lớp thì mình vẫn có thể nói chuyện với rất nhiều người, nhưng, thực sự mà nói thì hầu hết chỉ mang tính xã giao, vui vẻ đó nhưng chỉ là trong chốc lát. Thực sự, mình chưa bao giờ có được cảm giác vui vẻ như khi đến lớp những năm cấp 3, chưa thấy có ai để nói chuyện một cách thoải mái và vui vẻ như đã (và đang) có. Dù sao đi nữa, bỏ qua nguyên nhân này, đi học là để học, không phải là vì vui. Hay nguyên nhân là do mình thấy thất vọng về việc học Đại học? Cái này cũng có thể. Sau những ngày tháng:
Sống trong Toán chết vùi trong Lýthì có lẽ mình đã chán ngán cái sự học này lắm rồi, cũng còn may là mình chưa "Gục lên sách, quên đời mười bảy". Cái khẩu hiệu quen thuộc những năm 12 là "Học để mà đậu Đại học", vậy mà, Đại học cũng chỉ là sự tiếp diễn của cái năm 12 đó thôi. Mình lại phải nghe và gằng mà thuộc như vẹt những thứ mà mình chả hiểu gì về nó hay chả muốn biết về nó làm gì. Lại phải nhét vào đầu một đống công thức để rồi khi đi thi thì lại lôi nó ra mà trả cho thầy cô. Học chỉ để thoã mãn cái thú tính của một vài người nào đó (ở đây xin chú thích là thú tính có nghĩa là thú vui tính toán, cấm suy nghĩ lung tung :D ). Vậy thì mình đi học làm quái gì nhỉ, ở nhà hoặc đi chơi không tốt hơn nhiều à. Lúc nào sắp thi thì lại ôm đống sách vở mà tu luyện, mà cày bừa rồi đi thi là đủ, năm ngoái cũng thế, năm nay vẫn vậy, cũng tốt chán (nếu chỉ xét trên điểm số, còn về kiến thức thì mình không thể biết). Tới đây thì suy nghĩ của mình đã có vẻ hơi cực đoan rồi, thầy cô thì phải hơn quyển sách nhiều chứ. Tất nhiên, nhưng mà có lẽ khi thầy chẳng thể nhớ nổi cái đứa đang đứng trước mặt mình là đứa nào, chẳng hề muốn biết cái lũ đang ngồi kia muốn biết gì, thì có lẽ những gì thầy cô truyền cho mình cũng không nhiều hơn quyển sách kia là bao. Dù vậy, có lẽ đây chỉ là vấn đề của những môn đại cương thôi, hi vọng lúc học chuyên ngành thì sẽ khác.
Những trái tim thấy Hóa kinh hoàng
Đêm mơ Văn lệ nhỏ hai hàng
Ngày Sử-Địa chập chờn ám ảnh
Anh Văn:Thức triền miên đêm lạnh
Ngập đầu Sinh nhụt chí anh hùng
Thêm Công Dân điệp điệp trùng trùng
Gục lên sách, quên đời mười bảy.
Nói chung là có nhiều nguyên nhân khiến mình nghỉ học, có thể đúng, có thể sai, có thể hợp lí, có thể vô lí nhưng sự thật vẫn là mình đã và đang nghỉ.
Bây giờ là 3:25 sáng, cái giờ mà bình thường thì mình đã và đang yên giấc nồng chứ không phải là đang ngồi đây và viết những dòng này. Nhưng mà hôm nay thì lại khác, khác về nhiều thứ so với mọi ngày, và chính vì thế mà giờ này mĩnh vẫn ngồi đây.
Sài Gòn hôm nay trời trở gió, mưa tầm tã, xối xả làm dịu đi hẳn cái ngột ngạt oi bức những ngày qua. Trời man mát, gió hây hây, mưa rả rích, thật là một điều kiện lí tưởng để ngủ, ngủ và ngủ. Buổi sáng thằng Vĩnh nó lấy xe đi đâu mất, định đi chơi nhưng đành ở nhà, may mà có Lam tới và nấu ăn (bữa ăn kết thúc thời kì ăn chơi sa đọa và bước vào thời kì học hành căng thẳng :D , theo lời Lam), cũng tốt chán. Phải nói là lâu lắm rồi mới ăn được một bữa ngon như vậy, và kéo theo là một kết quả tất yếu, cái bụng căng ra thì con mắt sẽ cụp lại, mình lăn quay ra ngủ. Ngủ hăng say, ngủ mê mệt, ngủ với tất cả tâm hồn tình cảm, mình ngủ như chưa bao giờ được ngủ, ngủ như là lần cuối cùng được ngủ :) . Khi mà niềm đam mê ngủ đang phai nhạt dần dần thì Vĩnh về, xoay qua nhìn đồng hồ thì đã 4:30, suy nghĩ đắn đo một lúc thì mình quyết định dậy. Đi qua nhà Nhung chơi vậy, thế là đi thôi. Qua tới nhà Nhung thì lại bắt đầu nói, nói và nói. Chủ đề hôm nay chủ yếu xoay quanh việc mua vé tàu Tết, có mỗi thế mà cũng phải đắn đo về ngày nào, vào lại ngày nào rồi có mua vé khứ hồi hay không rồi lại vé cho bé em,... Xoay tới xoay lui thì cả 3 đứa đều đói, thế là lại qoay ra rán bánh ăn. Ôi, cuộc đời mà cứ thoải mái thế mãi thì tốt biết mấy, ăn - ngủ - chơi - nói- ăn... :D
Kết cuộc của cái sự bàn luận lúc chiều là giờ này mình phải ngồi đây, dài cổ ra như cái đoàn tàu chỉ để đặt mua mấy cái vé tàu. Ban ngày vào thì thấy quá tải, tới giờ này thì chỉ thấy mỗi cái dòng "Đang tìm tàu, xin chờ..." là nhiều nhất, cái trang http://vetau.com.vn quả là bó tay. Kiên nhẫn, vẫn biết là làm việc gì cũng cần phải kiên nhẫn nhưng mà cứ như thế này thì đến Tết sang năm mình mới mua được vé quá. Mấy ông đường sắt này có họ hàng gì với mấy ông giáo dục không mà khoái cải cách đến thế, mỗi năm lại bày ra một trò mới. Năm ngoái thì phải xếp hàng lấy ticket xong mới được quyền xếp hàng tiếp mua vé, năm nay thì lại chỉ bán vé qua mạng "quá tải + xin chờ". Đúng là ngày một đổi mới, ngày một hiện đại, ngày một tốn công tốn tiền. Cả một ngày mà chỉ bán được có hơn trăm vé vậy mà lúc nào cũng quá tải (Tuổi trẻ). Bó tay. Còn chậm hơn cả cho mình ra đứng bán ngoài ga không chừng.
Nhưng mà rồi, có muốn chê, muốn chửi thì cũng đành nhịn vậy, không lẽ lại hét lên với cái monitor, hét mấy ổng nhà ga thì có mà ăn Tết ở đây à. Vậy thì vẫn phải người ta bảo sao thì mình làm vậy thôi, người ta bảo chờ thì mình phải chờ thôi. Đành tiếp tục cố gắng thôi.
Ôi, giá mà mấy ngày tới trời lạnh nhỉ, chán nóng lắm rồi. Giờ này ở nhà thì đã lạnh rồi, đã lâu lắm rồi không được mặc áo ấm:
Đã 4 giờ sáng, vẫn chưa thấy tăm hới cái vé tàu đâu cả, ngủ vậy.
Nhãn: general
I'm not all you wished of me
But a mother's love for her son
Unspoken, help me be
Tối nay không hiểu sao mẹ lại gọi vào khá muộn, mẹ bảo là cả nhà đã đi ngủ cả rồi, mẹ gọi hỏi xem mình đã ngủ chưa. Mẹ vẫn thế, vẫn luôn bảo mình đi ngủ sớm đi để giữ gìn sức khoẻ trong khi mẹ dù sức khoẻ đã kém trước nhiều vẫn luôn đi ngủ muộn. Nghe giọng mẹ có vẻ là lạ, mình hỏi thì mẹ chỉ cười bảo không sao. Ừ, mình cũng mong là thế, mãi như thế.
Làm một thằng con trai cũng khổ. Đôi khi mình rất muốn hỏi thăm, quan tâm tới mẹ, tới ba, tới anh; muốn nói chuyện gì gì đó, nói những suy nghĩ cảm xúc của mình về mọi thứ hay đơn giản hơn chỉ là nói rằng mình yêu qúi họ nhưng sao vẫn thấy khó khăn, ngượng ngập kì lạ. Là một đứa con gái, những việc như thế chắc sẽ đơn giản hơn nhiều. Mọi người cũng thế, hay đó là do tính của mình nó là thế nhỉ, mình cũng chịu.
Nhãn: general
New look, new feel. Enjoy it.
Tối nay, sau nguyên một buổi chiều và gần nữa buổi tối long nhong ở trường ĐH Khoa học tự nhiên để chơi + phụ giúp + phá cái gian hàng ăn uống của Lam, mình lại có hứng vào đây tán phét. Lúc đầu cũng dự định nên tóm tắt sơ sơ mấy cái hoạt động "bán mặt cho đường, bán lưng cho trời" mấy ngày qua, nhưng mà ngẫm lại thì thấy cái công cuộc tìm nhà này chưa chắc đã là 100% nên cứ tạm thời bỏ qua đã vậy. Loanh quanh một hồi thì đọc được một số bài viết hay hay về Việt Nam của chúng ta, từ việc tự làm xấu mặt mình trước thế giới của mấy vị tổ chức APEC, hay là quay lại đánh nhau cho bỏ ghét của mấy đại gia. Mà mình cũng phải công nhận là càng ngày thì việc đọc mấy cái blogs này càng thú vị hơn đọc báo nhiều, đọc báo thì làm quái gì có chuyện người đọc cãi nhau thẳng với tác giả như thế được :D (comments xấp xỉ hoặc lớn hơn post).
"Anh không đồng ý với chú, chú viết thế là không có đúng, là sai hoàn toàn. Dù đây là nhà của chú thật nhưng mà chú phải viết thế nào cho anh nhìn vào nó không chướng mắt, không ngứa ngáy cái lỗ tai chứ viết vậy là không được chút nào."
"Bác ồn ào quá, nhà người ta thì người ta thích làm gì thì làm, nghĩ gì, thấy gì thì viết nấy thôi chứ làm quái có ý gì khác chứ. Bác không thích thì đi về nhà của bác mà chửi, làm um lên ở đây làm gì, làm cho comment của em nó nằm tụt xuống dưới thì còn ai đọc được nữa chứ. Chủ nhà cứ viết tiếp đi, đừng có để ý đến mấy thằng spam kia, bài viết hay lắm, nói chung là thế (cụ thể thì em vẫn chưa đọc hết bài nhưng mà ngứa mắt cái comment kia quá nên mới bụp một cú cho bõ ghét đã rồi đọc tiếp bài của bác vậy)."
"Hôm nay trời nắng, ngày mai trời có thể mưa..."
"Cảm ơn. Vâng, xin cảm ơn, cảm ơn vì mọi người đã quan tâm tới bài viết của tôi." @tác giả
vv...
Người viết chắc là đã bỏ ra khá nhiều công sức, người đọc cũng nhiều, comments cũng lắm, xét cho cùng thì đó là một bài viết rất là thành công.
Đọc tới đọc lui một hồi thì mình bắt đầu ngán mấy cái chuyện vừa không bình thường vừa quá đỗi bình thường này, bắt đầu quay lại với blogger thì một đồng chí Yahoo send cho một cái link IQ Test, thử một phát thì thấy mình được 130 điểm, trên cả mức high, quá tốt :D . 5 phút sau, Huy thông báo, đã có điểm Toán rời rạc, vậy là nhảy sang xem ngay, 8 điểm, không đến nỗi tồi với một môn mà theo lời thầy Mẫn thì tỉ lệ rớt là 3/4. Sẵn đà tự tin vào bản thân dâng trào (cái bệnh khó chữa nhất ở mình :( ), nhảy sang làm luôn phát Java blackbelt thì pass được cái Java SE Basic, correct 15/20, vượt yêu cầu của nó là 70%, cũng tạm được.
Hôm nay là một ngày may mắn cho mấy cái test.
Trước hết, mình phải khẳng định rằng mình là một người bảo thủ và là một kẻ cực đoan, và vì thế, một hệ quả tất yếu là mình thích cãi nhau. Một khi mình đã nghĩ điều gì là đúng thì, một cách chắc chắn, mình sẽ làm mọi cách để chứng minh điều ngược lại là hoàn toàn sai lầm, mà đã làm thì phải làm đến cùng mới chịu được, phải giúp người khác thay đổi cái ý kiến "sai lầm" đó mới thôi (trừ phi ý kiến của người ta làm mình thay đổi suy nghĩ trước :) ). Mà, theo mình nghĩ thì có như vậy mới thực sự là "tranh luận" (một từ đồng nghĩa với cãi nhau), mới thực sự có ích chứ không như cái kiểu "mọi người cùng thắng", "tôi đúng mà anh cũng chẳng sai" mà mình vẫn thường gặp. Một ý kiến chê bai, phản bác ta chỉ có thể có được khi người khác đã lắng nghe và suy nghĩ một cách cẩn thận về ý kiến của ta, còn một ý kiến đồng tình, tán dương, hùa theo thì rất có thể được viết khi mà tác giả chỉ cần nhìn sơ qua ý kiến của ta. Tất nhiên là, cũng có những vấn đề mà ta không thực sự khẳng định được tính đúng sai của nó, kiểu như là các vấn đề thuộc về tôn giáo hay sở thích cá nhân chẳng hạn, những cái đó thì "đúng sai tùy thời, đẹp xấu tùy người", chịu! Dù vậy, theo mình, tranh luận (hay cãi nhau, gì cũng được), luôn có những lợi ích nhất định của nó, chúng ta cứ nên thực hiện việc đó càng nhiều càng tốt :D .
Ấy vậy mà trong có thời gian gần đây, mình có 2 cơ hội để tranh luận nhưng cuối cùng thì lại phải im lặng, chẳng thể nói được gì :(( !
Việc thứ nhất, Rock và hàng xóm. Bạn có thích rock không? Mình thì có, mình thích Rock, thích Thrash, và tất nhiên, thích Metallica. Nhưng hàng xóm của mình thì không. Ừ, chuyện đó cũng có thể hiểu được, hoàn toàn dễ hiểu là khác, một ông già khoảng 70 mà thích Metallica thì chắc chỉ có bố của Kirk Hammett hay James Hetfield mà thôi :D . Mà, theo như mình theo dõi và suy đoán (khoảng 99%) thì hàng xóm của mình không có họ hàng gì với Kirk Hammett lẫn James Hetfield cả :D , suy ra, ông ta ghét nghe Thrash, ghét Metallica. Nếu mọi chuyện chỉ dừng ở đó thì tốt biết bao, thế thì cuộc sống vẫn êm ả trôi đi rồi. Khổ một nỗi, mình, với tình yêu vĩ đại dành cho Thrash, vẫn đều đặn rót vào tai hàng xóm những giai điệu "êm ả" của "Hangar 18", " Battery", "Master of Puppets",... vẫn đều đặn "ngẫu hứng" cất cao giọng hát của mình để hòa vào tiếng trống kinh điển của "One", hòa vào những đoạn lead réo rắt của "Fade to Black" hay tiếng guitar sâu lắng đầy cảm xúc của "Nothing Else Matter". Ngày qua ngày, tuần qua tuần, và có vẻ như cuối cùng thì cũng có một chút rock đã nhiễm được vào ông hàng xóm. Khi mà tôi, một lần như mọi lần, đang thả hồn theo tiếng trống thì, không một sự cảnh báo, không một MC giới thiệu, ông ấy xuất hiện trước cổng, cất cao tiếng hét: "Chúng mày làm gì mà gào toáng lên thế!!!!". Và kéo theo sau đó là cả một quá trình thuyết giảng kéo dài nhiều ngày, kéo dài hơn bất cứ một đoạn solo guitar nào mà mình từng nghe :D . Ôi thôi, vậy là xong, mặc dù rất muốn phản đối cái ý kiến của ông về việc coi Metallica như những thằng điên thích làm loạn, coi Thrash như một đống âm thanh hỗn độn choi tai, có thể gây ra mất trật tự, "ảnh hưởng an ninh khu phố",... thì mình cũng phải im lặng, cúi đầu và lắng nghe những lới răn dạy, không tranh cãi, không phản hồi :(( !
Rồi, tới chuyện thứ 2. Mọi việc bắt đầu từ một trong những post hiếm hoi của mình trên diễn đàn Bkit05, một ý kiến xoay quanh việc có cần phải học lập trình cấu trúc trước khi học lập trình hướng đối tượng hay không. Mình không thích lập trình cấu trúc, mình thích OOP, và vì mình là một kẻ cực đoan như đã nói ở trên, mình cho lập trình cấu trúc xứng đáng được bỏ qua. Thực sự thì trước khi post nó thì mình cũng đã dự đoán được rằng chắc chắn sẽ có những ý kiến phản đối, sẽ nhiều nữa là đằng khác. Dù vậy, mình vẫn viết, vì, như đã nói ở trên, mình thích cãi nhau :D , mình thích người khác lắng nghe và suy nghĩ về những gì mình nói hơn là nhìn lướt qua và bỏ đi (là một trong những dấu hiệu cho thấy có vẻ như mình là một thằng ngốc ;) ). Đúng như mình mong đợi, đã có những ý kiến phản hồi, và tất cả đều là phản đối, cũng không có gì bất ngờ cho lắm. Tuy nhiên, tạm thời vẫn chưa có ý kiến nào thực sự có tác động, dù là nhỏ đến "tình yêu" của mình dành cho OOP, vẫn chưa có một ý kiến nào thực sự làm mình thõa mãn. Và, đúng vào lúc mình đang hi vọng cuộc tranh luận sẽ được kéo dài, sẽ có những ý kiến mang tính lật đổ xuất hiện, sẽ có những post giúp mình có được sự đánh giá, so sánh nhất định về lập trình cấu trúc và lập trình hướng đối tượng thì... Người ta đã không muốn "cãi nhau", không muốn tiếp tục thì mình biết phải làm gì? Nói cho một mình mình nghe ư, nói để rồi được bảo là cái thằng lắm mồm nhiều chuyện cứ muốn gây rối ư? Không. Vậy là thôi, kết thúc, topic closed, game over.
Đôi khi, tìm ra người để cãi nhau cũng không phải là chuyện dễ dàng.
Nhãn: general
Mảng là một thành phần không thể thiếu trong bất kì ngôn ngữ lập trình nào, Java cũng vậy. Việc tạo và sử dụng một mảng trong Java là vô cùng đơn giản nhưng trong một vài trường hợp, lại chứa đựng những hạn chế. Ví dụ như, bạn cần chứa một danh sách các từ do người dùng thêm vào, hay một danh sách các nhân viên trong công ty nào đó, hay đại loại như vậy. Trong những trường hợp này, bạn không thể biết chính xác mảng sẽ chứa bao nhiêu phần tử, vì thế, không thể sử dụng mảng. Thay vào đó, hãy sử dụng lớp ArrayList, một lớp có công dụng hoàn toàn tương tự như một array nhưng có khả năng tự mở rộng kích thước của nó.
Cách sử dụng lớp ArrayList thì đơn giản mà sách viết về nó thì vô kể nên mình sẽ không nói lại nữa mà sẽ đi vào mục đích chính của bài này, đó là mở rộng nó. Giả sử rằng, bạn cần viết một chương trình quản lí sinh viên chẳng hạn. Một cách bình thường, bạn sẽ phải viết một lớp kiểu như Student với các thuộc tính như tên, tuổi, giới tính... rồi sau đó quản lí chúng trong chương trình với một mảng kiểu Student[] hay một đối tượng ArrayList
Thế nếu bây giờ bạn tìm tất cả những sinh viên có tên là An thì làm thế nào? Ồ, chỉ cần sửa lại phương thức trên một chút là xong:
Vẫn chưa có gì khó khăn nhỉ :D ? Thế nếu bây giờ bạn không muốn tìm theo tên mà là tìm tất cả những sinh viên 20 tuổi thì sao nhỉ? Code tiếp chứ sao, viết thêm một phương thức nữa vậy:
Xong rồi hả, vậy bây giờ bạn lại muốn tìm tất cả sinh viên nam thì sao nhỉ? Rồi tất cả sinh viên nam tên Bình tuổi dưới 20, một sinh viên nữ 21 tuổi đầu tiên bắt gặp trong danh sách, hay tất cả sinh viên không phải tên Bình,... thì sao nhỉ? Có lẽ tới lúc này thì cách giải quyết trên đây đã trở thành vô tác dụng và nên lên đường vào sọt rác thì hơn. Phải có cách giải quyết tốt hơn cho những vấn đề kiểu như trên. Tiếc thay, Java không hỗ trợ cho chúng ta trong những vấn đề như thế này (hay là có mà mình không biết nhỉ), đành phải tự tìm giải pháp vậy.
Thử nhìn lại 3 phương thức đã viết trên đây, bạn có thấy chúng giống nhau? Vâng, chúng hoàn toàn tương tự nhau, chỉ có duy nhất một yếu tố khác biệt, đó là câu lệnh if(...){}, là điều kiện để xác định xem một phần tử có thõa mãn yêu cầu hay không. Nhận xét này đưa đến một cách giải quyết khác, với một ý tưởng bắt nguồn từ Prototype.js framework.
Trước tiên, ta hãy tạo một Interface có tên là Condition như sau:
Sau đó tạo một lớp chứa mới kế thừa lớp ArrayList và thêm vào các phương thức của chúng ta:
Giải thích một chút về ý nghĩa của các phương thức:
find(Condition cond): tìm phần tử đầu tiên thỏa mãn điều kiện cond và trả về nó, nếu không có phần tử nào trong ArrayList thõa thì trả về null.findAll(Condition cond): trả về một đối tượng thuộc lớp MyArrayList chứa tất cả các phần tử trong ArrayList thõa mãn điều kiện cond.reject(Condition<E> cond):trả về một đối tượng thuộc lớp MyArrayList chứa tất cả các phần tử trong ArrayList không thõa mãn điều kiện cond.partition(Condition<E> cond):trả về một mảng 2 phần tử là đối tượng thuộc lớp MyArrayList, MyArrayList thứ nhất chứa tất cả các phần tử trong ArrayList thõa mãn điều kiện cond, MyArrayList thứ 2 chứa các phần tử còn lại.
Ví dụ sử dụng lớp MyArrayList:
Tới lúc này thì mọi việc có lẽ đã thật sự trở nên dễ dàng hơn rồi nhỉ?
Nhãn: java
Đêm trung thu bạn làm gì? Còn tôi, có lồng đèn, có bánh trung thu, có những người bạn, kể ra thì cũng khá là đầy đủ không khí rồi nhỉ, tiếc là không thấy múa lân nên cứ thấy thiếu thiếu. Thật sự thấy lạ lùng, hình như trung thu ở thành phố này không có múa lân thì phải, hay là người ta múa ở chỗ nào mà mình không biết nhỉ? Mình đi ra đường cũng thấy không khí bình thường, bên chỗ quận 5 thì có nhộn nhịp hơn một tí nhờ mấy tiệm bán lồng đèn, trời thì toàn là mây, chẳng thấy trăng sao gì. Nhà bên cạnh có một thằng nhóc, không biết mẹ nó đi đâu, mình chỉ thấy nó ngồi lặng lẽ với đống đồ chơi của mình trong khi ba nó xem TV, không lồng đèn, không trung thu. Những đứa trẻ nghèo khổ, cô nhi hay gần như vậy sống trong các mái ấm thì được nhiều người quan tâm, không tổ chức cái này thì cái nọ. Kể ra cũng hợp lí vì chúng đã phải chịu quá nhiều thiệt thòi rồi, phải giúp đỡ, đền bù cho chúng chứ. Những đứa trẻ giàu có, khá giả thì sẽ được bố mẹ chúng đưa đi chơi, đến những nơi đông vui nhộn nhịp và tất nhiên là tốn tiền. Cũng không sao, điều đó là hoàn toàn hợp lí, bố mẹ chúng nó có điều kiện thì chúng nó hạnh phúc là đúng thôi. Chỉ không biết những đứa trẻ bình thường thì sao nhỉ? Bố mẹ chúng nó sau một ngày làm việc mệt mỏi cực nhọc khó lòng có thể đưa chúng đi chơi đâu xa, chúng có muốn tự đi thì cũng là mission imposible. Kết cục là ở nhà vậy, bố mẹ mua bánh trung thu cho mà ăn rồi ngồi xem các bạn chơi trên TV vậy.
Nghĩ vậy mới thấy hồi trước mình sướng, nhỏ thì bố mẹ với anh dẫn đi chơi, lớn hơn một chút thì tự đi, lúc đầu thì tự tổ chức múa lân xin tiền mấy nhà trong xóm, sau thì theo đoàn đi múa khắp thị xã. Trung thu luôn là vậy, hò hét, chạy nhảy và cười. Có vậy mới biết mỗi nơi mỗi khác, ở thành phố chưa chắc đã sướng (mặc dù có thể là nếu có tiền thì ở đâu cũng sướng :D ). Dù vậy, đó chỉ là hồi trước.
Trung thu năm ngoái, không bánh trung thu, tới phút chót mới đi mua vội mua vàng một cái lồng đèn nhưng lại rất vui vẻ, thoải mái. Năm nay, đứa thì bận học, đứa bảo nhà xa với lại đang mệt, trung thu chỉ có mấy mống. Đành chịu vậy, cũng phải thông cảm cho bọn nó thôi.
Hôm nay lang thang trên net đọc được một câu: "Có vẻ, người lớn đang trẻ lại, còn con nít dường như già hẳn đi?" (trích từ blog Cái tôi). Không biết mình đang trẻ lại hay già đi nhỉ?
Nhãn: general
Thử chương trình này giùm tôi: Word Reminder
Cách đây hơn 1 tuần thì mình bắt đầu chuyển sang học từ mới Anh văn bằng cách sử dụng phần mềm, theo như cách mà thằng Huy vẫn học. Tuy nhiên, cái chương trình mà mình sử dụng có nhiều điểm thật sự bất tiện như: không thể nhập tiếng Việt có dấu, không thể nhập từ có khoảng trống, không có phân loại từ theo chủ đề,... Một chương trình khác cũng đã được thử, và nó vẫn tiếp tục không làm mình thõa mãn, nó hoàn toàn không thể hiển thị được tiếng Việt (chắc là nó nghĩ phần mềm học tiếng Anh thì chỉ cần tiếng Anh là đủ quá :-/ ). Vì thế mình đi đến quyết định: tự viết lấy một chương trình để học từ mới vậy B-) .
Quyết định xong, mục tiêu đã có nhưng thực hiện nó thì thật không dễ dàng gì. Vấn đề đầu tiên là ngôn ngữ nào sẽ được dùng, Java, Flash hay là xây dựng theo kiểu ứng dụng web (web app) bằng javascript+xml. Ý tưởng web app là tốt nhất, hoàn toàn phù hợp theo phong trào web2.0 hiện nay nhưng cũng là khó thực hiện nhất, để làm ra được 1 chương trình như mình mong muốn thì cần phải biết ít nhất một ngôn ngữ lập trình cho server (PHP, ASP, JSP, hoặc Ruby On Rails, ...) chứ không thể chỉ dựa vào javascript được => bỏ qua, sau này có khả năng sẽ quay lại. Việc sử dụng Flash cũng sẽ gặp phải những khó khăn tương tự, lưu trữ dữ liệu, đa người dùng, ... :-w nên cũng là "nhiệm vụ bất khả thi". Vậy là chỉ còn Java ~o) .
Quyết định ngôn ngữ xong thì bắt tay vào làm, lao vào hì hục thiết kế dao diện người dùng mới thấy chẳng biết làm gì với nó cả :-s , mình chưa hề có kinh nghiệm gì với kiểu chương trình như thế này. Ok, như vậy là đành phải dành cả buổi chỉ để suy nghĩ về cái chương trình của mình sẽ làm cái gì và làm như thế nào đã rồi hãy quan tâm nó nhìn nó sẽ như thế nào. Sau nửa ngày trằn trọc, băn khoăn suy nghĩ ... i-) thì cuối cùng mình cũng đã có những ý tưởng nhất định, có thể hình dung ra cái chương trình của mình sẽ ra sao. Vậy là bắt đầu viết. Code, code, code, ..., code + code = 2 code code (cốt cộng cốt bằng 2 cốt cốt) and code @-) . Tuy nhiên, mọi chuyện chẳng dễ dàng vậy, có cả loạt thứ mình chưa đụng đến bao giờ như JList, JTabbedPane, ... và một mớ hầm bà lằng khác. Dù vậy, đã có Core Java ở bên cạnh, mình chẳng ngán cái gì cả :D . Vâyh là vẫn tiếp tục cái điệp khúc code, code and code...
Và cho tới lúc này thì, một chương trình như mong đợi đã hoàn thành, chỉ còn chờ đưa vào sử dụng thôi (kết cục là vì viết cái chương trình giúp cho việc học Anh văn này mà cả tuần nay mình chẳng học chút Anh văn nào cả :D ). Nhưng nghĩ tới nghĩ lui thì trình độ của mình vốn chẳng bao nhiêu, viết một chương trình xong rồi cứ nghĩ nó tốt lắm rồi, hoàn hảo lắm rồi trong khi thực tế thì nó quá tệ, kém hơn chương trình khác xa quả thực là một mối nguy to lớn. Vậy là phải đưa nó lên đây, hi vọng có ai đó hảo tâm thì xem qua rồi nhận xét giúp mình vậy. kính mong mọi người giúp đỡ ^:)^ .
Chú ý:
Các bạn download file ở trên về, giải nén rồi chạy file WordReminder.jar để vào chương trình.
Phải có JRE 5.0 để chạy được Java.
Nhãn: java
11:36PM, chỉ còn khoảng vài giờ nữa là cơn bão mạnh nhất trong 10 năm qua sẽ đổ bộ vào dãi đất miền Trung quê hương của mình. Báo đài, tivi, internet liên tục cập nhật thông tin từng giờ từng phút về cơn bão càng làm tăng mức độ khủng khiếp của cơn bão: một cuộc sơ tán khổng lồ, sóng biển cao trên 10m, ...vân vân và vân vân. Không phải lo lắng lắm về ngôi nhà thân yêu của mình, nó nằm xa biển và cũng khá chắc chắn, ông ngoại ở Huế thì cũng đã an toàn rồi, người thân vậy là ổn B-) . Bạn bè thì chúng nó vẫn còn vui vẻ chán, Lâm với Tiến còn định vào hầm Hải Vân tránh bão nữa chứ =)) , chúng nó toàn sức khỏe như voi cả, chắc là cũng ổn nốt. Có lẽ vài bữa đi quyên góp anh em trong này mấy gói mì tôm gửi ra cho chúng nó vậy, không nó lại bảo mình vô tâm, chẳng thương bạn bè thì chết.
Mà kể ra cũng quái quỷ, chết tiệt thật, quê mình và cả miền Trung vốn đã nghèo rồi, nghèo cực kì vậy mà quanh năm suốt tháng hết hạn hán, lũ lụt lại tới bão tố. Vừa xong Chanchu thì lại đến Xangsane, không biết còn cái quỉ gì tiếp nữa không. Người nghèo ngày càng nghèo, người giàu vẫn cứ giàu nhờ người nghèo, một sự thật chán chường và khốn nạn nhưng vẫn kéo dài từ xưa đến nay. Bao nhiêu con người làm lụng vất vả cực nhọc, một nắng hai sương, gom góp cả đời rồi tất cả tiêu tan sau một đêm, chỉ vì một cơn bão ở đâu lù lù xông tới. Tôi không tin vào số phận, tôi không tin vào ông trời, nhưng, những chuyện như thế vẫn cứ xảy ra, xảy ra và vẫn xảy ra. Đó là số phận của họ ư, là ông trời muốn trừng phạt họ ư? Vì cái gì nhỉ?... Dù sao cũng chỉ là những suy nghĩ vẩn vơ của một cái thằng SV chưa biết sợ, chưa hiểu được cuộc sống mà thôi. Có lẽ một ngày nào đó nó cũng sẽ biết phải chấp nhận mọi việc thôi. Tôi có thể làm được gì chứ, làm gì cho người khác khi mà bản thân còn chưa tự lo nổi nhỉ? Ngồi đây, chờ đợi và lắng nghe tin tức ư? Có tác dụng gì không nhỉ?
Tin giờ chót từ thông tấn xã SMS, xin được ghi nguyên văn: "con bao so 6 da bat dau.gio thoi cap 13 giat tren cap 13. hien gio bon tau dang het suc de chong choi. dien nuoc da mat. cam on long tot cua bon bay nhung chac da muon roi.day la tn cuoi cung cua tau.vinh biet."
Và sau đó 5 phút: "...bao cho bay tin mung mai nha tau da bay.bay o trong no co nhat duoc thi gui ra cho tau. a kem theo chu kinh vieng nua." =)) =)) =))
Vậy chúng tôi trân trọng thông báo có ai nhặt được cái mái nhà nào xâu xấu, bẩn bẩn, hôi hôi, bay lạc từ Đà Nẵng vào SG thì liên hệ với tôi gấp nha, còn gửi về kịp viếng bọn nó. Vô cùng cám ơn và xin hậu tạ.
Nhãn: general
Cái gì phải đến cuối cùng đã đến, sau ba trận khởi đầu tồi tệ với hai hòa một thua chi ghi được một bàn thắng, chiến thắng đã tới. Khắc khoải chờ mong và ám ảnh về 4 năm không hề thắng trên "Nhà hát của những giấc mơ" và rồi thất vọng ngập tràn khi mà GSilva bỏ lỡ quả penalty một cách xui xẻo. Khi mà Arsenal đang có một khởi đầu tồi tệ nhất còn MU lại đang toàn thắng, "Pháo thủ" đã chứng minh được một điều rằng không gì là không thể. Một đường chuyền tuyệt vời của Cesc Fabregas, một pha kết thúc nhuần nhuyễn của Adebayor (tiếc thay, lại rất hiếm gặp :(( ), MU đã là kẻ chiến bại. Yeah \:D/ . Mọi chuyện giờ mới bắt đầu, chặng đường còn rất dài và giờ mới là lúc Arsenal tiến lên. Arsenal muôn năm! Pháo thủ muôn năm! Henry muôn năm! Hleb muôn năm! Fabregas muôn năm! Ljungberg muôn năm!... #:-s
Nguồn: Blue Eagle blog (hi vọng là bả cho phép mình chụp ảnh cái blog này)
Cảm nhận đầu tiên, cái ảnh con BE xấu kinh dị :D . Cảm nhận tiếp theo, trong khi Joe viết blog tiếng Việt thì Hồng viết blog bằng English :-o , thế giới đang ngày càng xích lại gần nhau hơn... Cảm nhận thứ n, emoticons, và đó mới chính là chủ đề của bài viết này.
Nếu bạn đã chat bằng Yahoo! Messenger thì chắc chắn là bạn đã biết emoticons là cái gì. Trường hợp còn lại, nếu bạn không biết Yahoo! Messenger là cái quái quỷ gì thì, xin lỗi, cho mình hỏi thăm sao Hỏa dạo này thế nào rồi vậy =:) =)) ? Nói ngắn gọn thì emoticons là những mặt cười dùng để biểu lộ cảm xúc người viết, còn muốn tìm hiểu thêm thì bạn có thể vào đây. Không biết theo ý mọi người thì thế nào, riêng mình thấy emoticons là cách tốt nhất và đơn giản nhất để thể hiện cảm xúc của mình, so clear, so cute :D . Tuy nhiên, trong khi blog tại 360.yahoo.com/ mặc nhiên hỗ trợ emoticons và WordPress cũng vậy thì Blogger lại hoàn toàn không hỗ trợ emoticons. WordPress có thể là một lựa chọn tốt cho việc blogging nhưng vào lúc này thì điều kiện (host + hỗ trợ PHP+MySQL) không cho phép mình lựa chọn nó. 360.yahoo.com thì lại không đủ linh hoạt như mình muốn, nó không cho phép mình chèn script, thay đổi bố cục, vv.... Chỉ còn cách là phải tự thêm emoticons vào Blogger vậy thôi, đó là lý do ra đời của script này: emoticons.js
Kết quả của script này được thể hiện ngay trong bài viết này, như các bạn có thể thấy ở trên. Các emoticon text như : D , : ) , : (( (mình phải thêm vào dấu cách để nó không bị chuyển thành image),... sẽ được script trên tự động chuyển thành :D , :) , :(( lúc trang được load xong. Chú ý là script này có sử dụng Prototype.js framework, vì thế, để thêm script emoticons.js này vào blog của bạn ở Blogger, bạn cần thêm đoạn code sau vào trong thẻ <head> của Template:
Toàn bộ các emoticons mà script này hỗ trợ là tương tự như Yahoo! Messenger, ngoại trừ các emoticons có sử dụng dấu < và > (vì lí do xung đột với các thẻ xHTML). Danh sách cụ thể các emoticons: O:-) X-( ;;) :D =(( B-) :(( :x ;)) :)) =; :-* :( :) ;) :-P :-/ :-o :-s #:-s :| /:) =)) :-b i-) 8-| l-) :-$ [-( :o) 8-} (:| =P~ :-? #-o :-ss @-) :^o :-w :@) 3:-O :(|) @};- %%- (~~) ~o) *-:) 8-X =:) :-l $-) :-" b-( [-x \:d/ ^:)^ :-j (*)
Vậy là xong, bây giờ bạn đã có thể thoải mái sử dụng emoticons trong blog của mình rồi. Happy blogging.
Nhãn: blogger, javascript
Học kì 3 này mình bắt đầu học môn Toán Tin học (hay còn gọi là Toán rời rạc, Discrete Math), và theo mình thì nó là một môn khá thú vị, thú vị không phải vì bản thân nó mà vì người dạy nó, thầy Nguyễn Văn Minh Mẫn. Thầy là người đầu tiên ở cái trường BK này gây ra cho mình cảm giác hào hứng với môn học được dạy, hoàn toàn khác hẳn với những môn khác (đặc biệt là môn Kỹ Thuật Lập Trình, quá thất vọng vì người ta có thể dạy nó dở như vậy :( ). Ba tiết Toán Tin ngày hôm qua, mình được học về các phép chứng minh, trong đó có phương pháp chứng minh tiên đề.
Nói ngắn gọn thì quá trình chứng minh trong phương pháp tiên đề là quá trình đi từ một cái đúng, bằng phương pháp suy luận đúng đi đến cái cần chứng minh. Ví dụ: để chứng minh A đúng, ta đi từ một điều đã biết là đúng B, bằng phương pháp suy luận đúng để đi đến A (nghĩa là làm sao để B => A là đúng), từ đó kết luận A cũng đúng luôn. Tuy nhiên, làm sao chúng ta có thể khẳng định B đúng? Phải chứng minh, tất nhiên. Chúng ta lại bắt đầu đi từ một cái C đã biết là đúng để chứng minh B đúng tương tự như trên (chỉ ra C => B là đúng). Rồi, vậy làm sao biết C có thật sự đúng hay không? Tất nhiên rồi, phải chứng minh. Lại bắt đầu từ một cái đúng đã biết D nào đó. Cứ tiếp tục như vậy i-) . Theo bạn, quá trình này còn tiếp tục tới bao giờ, vô hạn ư, không thể được bởi vì bảng chữ cái cũng có giới hạn thôi :D . Cái quá trình trên chắc chắn phải có giới hạn, có điểm dừng, có nghĩa là có một mệnh đề Z nào đó mà chân trị đúng của nó là hiển nhiên, là không cần chứng minh (hay không thể chứng minh?). Mệnh đề Z được gọi là tiên đề, là cái để chứng minh những mệnh đề còn lại, Z => X => ... => C => B => A => ...
Theo bạn, có bao nhiêu đường thẳng qua 2 điểm bất kỳ không trùng nhau? Một, tất nhiên rồi. Bạn có thể trả lời như vậy một cách tức thì, không một chút đắn đo. Vâng, bạn hoàn toàn đúng, điều đó là một trong 5 tiên đề của Euclide, là cơ sở của hình học mà chúng ta học từ năm lớp 1 đến nay, hình học Euclide (nếu thích, bạn có thể xem thêm về hình học Euclide ở Bài giảng về xây dựng hình học sơ cấp bằng phương pháp tiên đề). Hoàn toàn dễ thấy, hoàn toàn hiển nhiên, không cần phải chứng minh làm gì cái điều đơn giản đó, có một và chỉ một đường thẳng qua 2 điểm. Có thật như vậy không :-w . <strong>Tiên đề là không thể chứng minh</strong>, bởi vậy, không phải là tuyệt đối đúng, chúng ta chỉ mặc nhiên coi nó đúng thôi. Trong khoảng 1800 năm, người ta chắc chắn về việc có một và chỉ một đường thẳng qua 2 điểm cho tới khi Bernhard Riemann bảo rằng có nhiều hơn một đường như vậy và từ đó xây dựng nên một hình học mới hoàn toàn đúng theo các tiên đề của ông. Và bởi vì không thể chứng minh được điều đó nên khi Lobachevsky lại nói rằng qua 2 điểm chẳng có đường thẳng nào cả thì ông cũng không hề sai :-b , và thế là một hình học mới nữa ra đời. Cả hai hệ thống hình học mới đều hoàn toàn đúng và đã đưa lại những ứng dụng thực tiễn vô cùng quan trọng, có đóng góp không nhỏ vào kho tàng tri thức của nhân loại. Như vậy là trong suốt 1800 năm, chúng ta đã tự giới hạn sự hiểu biết của mình chỉ vì nghĩ rằng một điều gì đó là chân lý, là không thể thay đổi mặc dù không thể chứng minh điều đó. Việc này cũng tương tự như khả năng của chúng ta là vô hạn, chỉ có chúng ta tự giới hạn mình thôi.
Hôm nay, lúc đọc bài viết về Multiple Inheritance in Java, mình lại càng nhận thức rõ những điều trên. Bất kì ai đã học Java đều có thể khẳng định rằng đa thừa kế là không thể trong Java, chắc chắn là như vậy. Thêm một điều nữa, đối với mình, từ trước giớ thừa kế có nghĩa là phải đi từ trừu tượng đến cụ thể, class cha phải là tổng quát hơn class con, class con phải chuyên biệt, cụ thể và mở rộng các chức năng của class cha (và mình thấy bất kì cuốn sách dạy lập trình hướng đối tượng nào cũng làm vậy trong các ví dụ về thừa kế). Nhưng giờ đây, những suy nghĩ, những điều hiển nhiên trên đều bị dẹp bỏ sau khi mình đọc bài viết trên :(( .Không biết là sau việc này thì liệu có cái gì mới ra đời không nửa :D .
Object Oriented Programing (OOP) với Javascript và Prototype.js framework
0 bình luận Được gửi bởi lebinh lúc 3:18 CHLập trình hướng đối tượng trong javascript với Prototype.js framework
Javascript là một ngôn ngữ hướng đối tượng nhưng không thật hoàn chỉnh, nó không có các từ khóa như class hay private,..., không có overloading, thừa kế,... Javascript (mà đúng ra là ECMAScript) vẫn đang trong quá trình phát triển, phiên bản mới nhất của nó là Javascript 1.7, những điểm yếu đó có thể sẽ được khắc phục ở những phiên bản sau này. Nhưng mà, tại sao bạn lại phải chờ khi mà chỉ cần Prototype.js framework, bạn vẫn có thể dùng OOP với javascript một cách thoải mái như dưới đây.
Bạn có thể tải về Prototype version 1.5.0_rc1 ở đây: download Prototype
Tạo một lớp (class) mới
Đối tượng Class là một đối tượng được định nghĩa mới trong Prototype.js, nó chỉ có một phương thức
create(); và phương thức này được dùng để tạo ra một class mới (mà thật ra là một function nhưng mang ý nghĩa hoàn toàn như một class) là Point. Sau đó, bạn thêm vào các thuộc tính và phương thức cho class bằng cách thêm chúng vào đối tượng prototype của đối tượng Point (chú ý Point thật ra là một function nên cũng là một đối tượng). Đồng thời cũng lưu ý rằng phương thức initialize() là bắt buộc phải có và nó đóng vai trò là phương thức khởi tạo (constructor) của class mới tạo.Ví dụ trên tạo ra một class mới có tên là Point, nó có constructor nhận 2 giá trị là x, y; có một phương thức là getPos() trả về một chuỗi biểu thị tọa độ của điểm; và có 2 thuộc tính __x__, __y__ chứa tọa độ x, y của điểm cần biểu diễn (hai dấu gạch dưới là cách viết được quy ước để các lập trình viên khác biết 2 biến đó là private).
Cách sử dụng class này là hoàn toàn bình thường
Thừa kế (Inheritance)
extend(des,src) cũng là một phương thức mới được thêm vào đối tượng Object trong Prototype.js, nó chỉ đơn thuần nhận 2 đối tượng des (destination), src (source) và sao chép tất cả các phương thức + thuộc tính từ src vào des. Trong trường hợp này, phương thức này được sử dụng để tạo ra sự thừa kế giữa class ColorPoint với class Point như trên. Để thuận tiện và tạo sự tương đồng với các ngôn ngữ khác, bạn nên theo đúng như thứ tự trên, tạo class, xác định sự thừa kế và cuối cùng là thêm vào các thuộc tính và phương thức cần thiết khác. Chú ý là lúc này bạn không được dùng ColorPoint.prototype = {...}; như trên mà phải dùng Object.extend(ColorPoint.prototype,{...});. Tuy nhiên ở đây vẫn còn một số vấn đề mà mình vẫn chưa giải quyết được: phải viết lại toàn bộ constructor, không dùng được super; aColorPoint instanceof Point sẽ trả về false. À, còn một điều mà bạn có thể đã nhận ra là, với cách thừa kế như trên, Javascript có hỗ trợ đa thừa kế chứ không như Java (không cho phép đa thừa kế); một class con trong javascript có thể thừa kế nhiều class cha tùy thích.Ví dụ trên tạo ra một class mới là ColorPoint thừa kế class Point, có constructor nhận các giá trị là tọa độ x, y và màu; có thêm một phương thức so với class Point là
getColor() và thuộc tính private __color__Sử dụng class ColorPoint:
Phương thức và thuộc tính tĩnh (Static method and property)
Phương thức tĩnh là phương thức được gọi trực tiếp thông qua tên lớp, trong Javascript, việc tạo một phương thức tĩnh là vô cùng đơn giản:Nếu bạn muốn tạo một lớp chỉ chứa toàn các phương thức hay thuộc tính tĩnh tương tự như lớp java.lang.Math trong Java thì lại càng đơn giản hơn, không cần phải dùng phương thức
Class.create(); nữa. Mọi việc chỉ đơn giản là tạo ra một đối tượng và gán đủ thứ lên nó:Nếu bạn không muốn tạo một class mới, hãy thêm các phương thức của bạn vào class Math sẵn có, chỉ cần dùng phương thức
Object.extend(); đã nói ở trên:
StringBuilder class
Bạn đã học Java? Bạn đã biết lý do tại sao cần phải có class StringBuilder (trước đây là StringBuffer)? Cũng như trong Java, đối tượng thuộc lớp String trong Javascript là bất biến, một khi đã được tạo ra thì ta không thể thay đổi giá trị của nó nữa. Câu lệnh
var aStr = "abc"+aVar+"edf"; với aVar = 123 khi thực thi sẽ tạo ra một đối tượng String chứa chuỗi "abc123" trước khi tạo ra một đối tượng khác (chiếm một vùng bộ nhớ khác) chứa chuỗi "abc123edf" rồi mới gán đối tượng sau vào biến aStr. Nếu chương trình của chúng ta có nhiều lệnh kiểu như vậy thì sẽ gây ra sự hao phí tài nguyên không cần thiết, ảnh hưởng hiệu quả chương trình. Biện pháp khắc phục cũng tương tự như trong Java, hãy sử dụng mảng. Mảng là một đối tượng đặc biệt, kích thước của nó thay đổi được, và sẽ được tự động cấp thêm bộ nhớ khi cần thiết. Class StringBuilder trong Java chứa chuỗi nhận được trong 1 mảng các ký tự (char), ta có thể thêm một số, một chuỗi,... vào đối tượng thuộc class StringBuilder bằng cách dùng phương thức append(); để sử dụng chuỗi ta dùng phương thức toString(). Class StringBuilder cũng chúng ta cũng tương tự như vậy, chứa dữ liệu trong một mảng và có 2 phương thức chính là append() và toString().November rain - Guns 'n Roses
Bài hát dành tặng cho một người bạn
When I look into your eyes
I can see a love restrained
But darlin' when I hold you
Don't you know I feel the same
'Cause nothin' lasts forever
And we both know hearts can change
And it's hard to hold a candle
In the cold November rain
We've been through this such a long long time
Just tryin' to kill the pain
But lovers always come and lovers always go
An no one's really sure who's lettin' go today
Walking away
If we could take the time
to lay it on the line
I could rest my head
Just knowin' that you were mine
All mine
So if you want to love me
then darlin' don't refrain
Or I'll just end up walkin'
In the cold November rain
Do you need some time...on your own
Do you need some time...all alone
Everybody needs some time...
on their own
Don't you know you need some time...all alone
I know it's hard to keep an open heart
When even friends seem out to harm you
But if you could heal a broken heart
Wouldn't time be out to charm you
Sometimes I need some time...on my
own
Sometimes I need some time...all alone
Everybody needs some time...
on their own
Don't you know you need some time...all alone
And when your fears subside
And shadows still remain
I know that you can love me
When there's no one left to blame
So never mind the darkness
We still can find a way
'Cause nothin' lasts forever
Even cold November rain
Don't ya think that you need somebody
Don't ya think that you need someone
Everybody needs somebody
You're not the only one
You're not the only one
Đừng tuyệt vọng hỡi bạn của tôi, đừng phó mặc cuộc đời mình cho số phận. "'Cause nothin' lasts forever. Even cold November rain". Bởi vì không có gì tồn tại mãi mãi, kể cả cơn mưa tháng 11 lạnh giá. Ngay cả trong thời điểm khó khăn đen tối nhất của cuộc đời đi chăng nữa thì Đạt ơi, đừng bỏ cuộc. Mày không thể gục ngã vì chuyện đó được. Khó khăn thật đấy, rắc rối và thật nan giải nhưng mọi chuyện đều có cách giải quyết của nó, tất cả tùy thuộc ở mày. Ngày mai trời sẽ lại sáng, chỉ cần mày dũng cảm đương đầu với chính nó, hãy đừng lẩn trốn và cố quên đi hiện thực như vậy nữa. Cố lên đi Đạt.
Ngày Quốc khánh, buồn thay lại là một ngày rảnh rỗi, buồn chán sau một loạt những ngày tương đối vất vả, lắm việc để làm. Tối nay mới online lần đầu tiên từ lúc vào lại SG, mục đích chính cũng chỉ là để xem giá mấy cái điện thoại cho anh thôi, loanh quanh một hồi lại vào đây. Mấy ngày vừa rồi đúng là lắm chuyện, Nhung cũng xui thật, vừa mất tiền, vừa hư xe nhà mới chưa ở được, phải chạy lung tung 2 ngày rồi cái TV nó vất vả cầm vào cũng bị hư luôn. Đành an ủi nó là xui luôn một lần rồi sau ni may mắn, nó xui thì em nó sẽ may mắn, bù trừ mà. Mình cũng chẳng hơn gì, cả một đống hóa đơn, điện thoại cố định thì bị cắt, internet cũng bị cắt vì chưa nộp tiền, chuyện nhà cửa của cậu cũng rắc rối. Chán. Chắc phải như bức ảnh này quá.
"Will code HTML for food", có ai cần không vậy?? Khồng biết bao giờ mới có thể kiếm được nhiều thật là nhiều tiền từ cái nghề CNTT mình đang học nhỉ, hehe? Trước giờ hình như mình cũng chỉ 2 lần được trả công cho cái việc này, một của Huy và một của Echip, ít thật.
Đã gần như là một thông lệ, hôm nay mình và Dương lại lên nhà Vĩnh Hà, nhanh quá, cũng đã gần 3 năm rồi. Bao giờ cũng vậy, hôm trước là sinh nhật mình thì hôm sau là Vĩnh Hà, cả 2 đứa sinh cùng một nơi và chỉ cách nhau mấy tiếng chứ mấy, vậy mà giờ thì... Đối với mình, Hà có lẽ là người bạn đầu tiên thời thơ ấu và cũng là người bạn đầu tiên ra đi...
"Chúc mừng sinh nhật, Vĩnh Hà"
