từ nguyên: sinh tử quan đầu – 生死關頭

acebook nhắc ngày này hai năm trước… Từ nguyên: “sinh tử quan đầu – 生死关头” quan ở đây là cửa ải, sinh tử quan đầu tức là đang đứng ngay tại cửa ải sống chết, bước qua bên kia cửa chưa thấy ai về… Nguyễn Du: 生死關頭莫能度。勸君飲酒且為歡,西窗日落天將暮。 – Sinh tử quan đầu mạc năng độ. Khuyến quân ẩm tửu thả vi hoan, Tây song nhật lạc thiên tương mộ…

tư duy hình thức

hân một tranh luận gần đây trên báo chí VN: “trẻ em như tờ giấy trắng là 1 suy nghĩ sai hoàn toàn”… nhân chuyện này bàn về kiểu tư duy máy móc, hình thức, trắng đen của người Việt! “Trẻ em như tờ giấy trắng”, câu đó có phần đúng, chúng nó chưa biết gì và chỉ tiếp thu, tiêm nhiễm những gì được dạy, được thấy! Nhưng câu đó cũng không đúng hoàn toàn, trẻ em như một hạt giống mang thông tin di truyền, và biết đâu đó, có thể được thừa hưởng cả những “duyên nghiệp” từ kiếp trước (từ ngữ duy tâm một tí)! Nên việc phát triển đứa bé thường khi là nằm ngoài tiên liệu của phụ huynh và giáo viên! Trẻ em vừa là tờ giấy trắng, vừa không phải là tờ giấy trắng, đó đơn giản chỉ là những cách diễn đạt khác nhau, hình thức lý luận nhị nguyên, một điểm yếu cố hữu của tư duy con người!

Nhưng 99% người Việt (có khi là nhiều hơn) thì chấp vào cái hình thức nhị nguyên thô thiển, sơ khai đó! Họ chấp vào đó như “gà mắc tóc”, điều đó dẫn đến sự “đối kháng” giữa những “suy nghĩ” khác nhau! Theo tôi, ai còn mắc vào những lỗi “tư duy hình thức” như vậy là vẫn chỉ cho thấy tầm tư duy nông cạn, hời hợt trên bề mặt, không nghĩ ra được những nội dung sâu xa hơn, không thể đi hết chiều sâu, độ phức tạp của vấn đề, nên đành đứng trên bề mặt nhị nguyên trắng đen như thế. Bao nhiêu “học hỏi, tư duy”, lên mạng đọc này kia, biết được một vài “ngôn từ lảm nhảm” là đã tự cho mình giỏi, nghĩ rằng bao nhiêu đó là đủ rồi! Sự việc trở nên tồi tệ hơn khi họ ngày càng “chấp ngã”, bám vào những cái lý lẽ đó theo kiểu “take position” – giữ vị trí y như trong quân sự vậy, bên này là “ta”, bên kia là “địch”!

Các tranh luận ở VN đều mang tính “đối kháng”, “chiếm lĩnh vị trí” như thế, kiểu tư duy bên kia là “địch”, bên này là “ta”, trắng đen rõ ràng! Nhưng tiếc thay, kiến thức không phải 3D hay 4D như quân sự, nó là không gian n-D vô cùng phức tạp, bao gồm rất nhiều chiều kích, thay vì đối kháng, cần phải gợi mở, nương vào nhau để cùng phát triển, đó mới là tranh luận thực sự. Trong giáo dục, “giữ vị trí”, cố sống chết bám vào một điểm thì cũng chẳng khác nào tự giới hạn mình! Chuyện này cũng như khác biệt giữa cờ vây và cờ vua vậy! Cờ vua có tính đối kháng rõ ràng, mục tiêu là ăn “hậu” của đối phương! Nhưng cờ vây không có tính “đối kháng, ăn quân” rõ ràng, mục tiêu là chiếm lĩnh càng nhiều “dư địa”, tạo ra càng nhiều “không gian phát triển” càng tốt, nói theo ngôn ngữ cờ vây là có thêm nhiều “khí” để “thở”.

Trước, công ty tôi có một ku mới tuyển vào, được giao một vấn đề hơi khó! Khó thì ta làm từ từ, từng phần, cải tiến từng chút! Nhưng không, anh này đẻ ra 10 lớp, viết 50 hàm, hàm gọi hơn 10 cấp, ai nhìn vào code cũng thấy muốn phát sốt, nghĩ rằng anh này giỏi lắm! Nhưng người làm code-review là tôi nhìn vào chỉ 15 phút là tôi hiểu rằng anh này… “bùa”, làm lên một đống hỗn loạn như thế để che dấu cái thực tế là… anh ta không giải quyết được vấn đề! Chuyện như thế, các bạn sẽ hỏi làm sao có thể xảy ra được, viết code đúng mẫu mực, đúng pattern, lớp lang đầy đủ cơ mà!? Ấy vậy mà nó đã xảy ra, và xảy ra nhiều nữa là khác, vì phần lớn thời gian chỉ đọc ba cái pattern, agile, design idea, etc… lảm nhảm trên mạng, chứ không tự tay code một đoạn ngắn vài chục dòng thực sự làm việc hiệu quả bao giờ!

Từ chuyện code, cho đến chuyện xã hội, nó cũng giống nhau! Hình thức là cần thiết, thực ra không có “hình thức” thì “con đen” biết lấy cái gì để bám víu vào! Nhưng làm sao để code chạy đúng, hiệu quả cái đã, rồi mới tính tới chuyện làm cho nó good-looking! Mà đa số những người code tốt họ chỉ quan tâm tới “hình thức” ở một mức độ vừa phải, vừa đủ! Tất cả những sách về nguyên lý thiết kế, quy trình phần mềm, tôi đều đọc một cách miễn cưỡng! Thực ra tôi thấy nó… chán phèo, chả có gì mới mẻ, nhiều khi kiểu rất máy móc, giáo điều! Những cuốn như “Programming pearls” dạy vô số phương pháp, kỹ thuật, kỹ xảo, lật ngược lật xuôi, cho thấy hết sự phức tạp, chiều sâu, đó mới là sách làm tôi cảm thấy thích thú! Mà thường là như thế, những người bám vào “hình thức” thường “nội dung” không giỏi!

Tôi rất sợ những kiểu người bám víu vào lý luận hình thức… Họ “take position, hold the line, take the side”, ngôn ngữ của họ cứ “điểm, tuyến và diện” như thế! Mọi cách diễn đạt đều tương đối, đều không chính xác hoàn toàn, dùng nó như thế nào là cả một sự suy tính, cân nhắc! Phải bước qua được rào cản của ngôn ngữ thì mới hiểu được những nội dung khác truyền tải bên dưới! Nhưng không, họ bám víu vào mớ ngôn từ chết ấy, tìm cách “tranh tiên”, tìm cách chiếm lấy một lợi thế nho nhỏ bằng ngôn từ, rồi mắc cứng luôn ở đó, sau đó bằng những kiểu: do đó, cho nên, vì vậy, suy ra… tìm cách chứng minh chỉ có tôi đúng và đối phương là sai! Tranh đấu với đối phương thực chất chỉ thể hiện những mâu thuẫn, lúng túng, hạn chế nội tại mà thôi, vẫn là kiểu “tôi đúng anh sai” chứ chưa phải là khai mở kiến thức!

les feuilles mortes

Lìa cành lá úa,
Tả tơi nhảy múa.
Rụng ngập đầy sân,
Gợi sầu thi nhân…

hương trình âm nhạc cuối tuần… Thời tiết chớm vào thu, đã lâu không có được tâm trạng ấy, không đạt được đến tầng cảm xúc như vậy, phần lớn là vì ngập trong những nỗi bận tâm, lo âu thường nhật! Đôi khi là nhớ lại trong lời Việt qua giọng ca Thái Thanh.

Cũng đôi khi tự hát bằng tiếng Pháp trong nguyên bản Les Feuilles Mortes – Những chiếc lá úa: …Et la mer efface sur le sable, les pas des amants désunis… Muốn tìm lại một chút gì đó giống như La Bohème (Charles Aznavour) nhưng biết chắc là không thể nữa rồi!

hỏi & đáp

gười ta nói: hỏi cũng chính là trả lời, nói một cách dễ hiểu hơn là: cách anh hỏi cũng chính là cách anh nhận được câu trả lời! Nói một cách tường tận là: vạn vật chỉ là sự phản ánh của cái “tâm” con người, “tâm” như thế nào, “hỏi”, quan tâm điều gì thì nhận lại như thế! Có nhiều người không thể thấy được cái gì khác ngoài cái “tôi” của mình, nên nhiều vấn đề mà khi ta vừa nói tới thì vừa hay, cũng biết rằng nó… đã không có ở đó, một khoảng trống hoác như thế, đâu có tự “luận” ra được! Đương nhiên, người ta sẽ tìm lý do: học vấn, ngôn ngữ, đào tạo, môi trường, v.v…

Nhưng còn chưa nói tới chữ “tâm” là vẫn chưa rốt ráo, vẫn đi rải đinh đầy đường, vẫn lên mạng lừa gạt tìm gái, vẫn đủ trò lưu manh vặt đó thôi… Nói đơn giản thế này, về nền tảng thể chất, rồi cả tinh thần, người Ấn Độ chắc là tốt hơn người Trung Quốc nhiều. Nhưng Ấn vĩnh viễn không thể trở thành Trung Quốc, là do yếu tố đạo đức cá nhân & luật lệ cộng đồng của nó! Xây cái cầu mấy trăm triệu đô sập, chỉ có vài quan chức bị miễn nhiệm! Ở Trung Quốc nếu xảy ra tình huống như thế là sẽ có kha khá người bị bắt đi dựa cột, đơn giản và rõ ràng như thế! 🙁

quỳnh lâm

acebook nhắc lại ngày này năm trước, hình chụp ở chùa Quỳnh Lâm, thị xã Đông Triều, tỉnh Quảng Ninh. Thoảng bên tai một tiếng chày kình, Khách tang hải… giật mình trong giấc mộng…

vị thành triêu vũ

ình hình là bão có vẻ lệch cao lên phía Bắc, trong hình là hiện tượng hiếm gặp, xuất hiện cả 3 cơn bão cùng lúc. Nhưng chắc là VN chắc chỉ bị ảnh hướng nhẹ, kiểu áp thấp nhiệt đới! Biết vậy nên sáng ngủ nướng…

Dậy muộn, cafe sáng xong là thành… ăn trưa luôn! 😃 Thời tiết mát mẻ dễ chịu, mưa bụi bay bay, thật đúng là: Vị thành triêu vũ ấp khinh trần, Khách xá thanh thanh liễu sắc tân – 渭城朝雨浥輕塵,客舍青青柳色新。。。

hesitation

ace nhắc lại ký ức vừa mới qua… Tổng cộng 3 lần bị kêu đi “ngoáy mũi”, đều ra đứng xem rồi… đi về! Thấy kiểu làm hình thức cho có, cẩu thả không bảo đảm! Về ngồi đợi cái app VneID kêu đi tiêm vaccine, mà mình biết chắc một điều là… nó sẽ không kêu, đâu có lạ gì các app VN, trước sau hoàn toàn không thấy gì, không nhắn tin, không thông báo, chả động tĩnh gì cả! Thực ra lúc đó muốn tiêm rất dễ, cứ chạy thẳng ra trạm y tế phường là tiêm thôi, chẳng cần bất kỳ thủ tục giấy tờ nào!

Nhưng mình thuộc dạng vaccine – hesitate, là trù trừ, trì hoãn, cân nhắc, etc… chứ không phải là phản đối, hoàn toàn không anti – vaccine nhé! Thế là từ đó đến giờ vẫn chưa có mũi nào, một phần cũng do nghĩ rằng dù có dính cũng sẽ chẳng làm sao cả, chẳng có gì phải lo! Đến giờ vẫn cho rằng đó là “mẹ thiên nhiên” bắt con người “thực tập” trước, là “thử chơi” cho biết, chứ đến lúc “làm thật” là sẽ ác nghiệt lắm. Lịch sử con người đã nhiều lần chứng minh điều đó! 🙁

kometa

ảm nhảm cuối tuần, cái tuyên truyền của phương Tây đôi khi rất khôi hài, vẫn bôi nhọ đối thủ theo kiểu thời đồ đá, kiểu: 3 thằng VC đu cành đu đủ không gãy! Ví dụ gần đây là chuyện tuyên truyền rằng ku Nga tháo chíp tủ lạnh, máy giặt… để dùng cho quân sự! Ai có chút hiểu biết kỹ thuật đều hiểu rằng, chip trong tủ lạnh, máy giặt là những dòng siêu đơn giản, Nga thậm chí không thèm sản xuất, cứ qua TQ đặt là sẽ có, giao hàng tính theo… tấn! Có một sự thật là nhiều thiết bị quân sự Nga dùng chip từ khắp nơi trên thế giới, từ Mỹ, Đức, Nhật, TQ… Nhưng thực ra quân đội của các nước khác cũng đều như thế, chẳng ai tự mình đi sản xuất mọi thứ! Họ đều đi mua từ các nơi về, nhất là những loại đơn giản mà nếu tự sản xuất sẽ không hiệu quả về chi phí! Đó là chưa kể rất nhiều chip lưỡng dụng, vừa dùng cho dân sự, vừa có thể dùng trong quân sự, thì tự sản xuất làm gì, ra siêu thị mua nhanh hơn!

Có một thời GPS, GLONASS là cái gì đó rất cao cấp, nhưng giờ thì chip định vị có mặt nơi nơi! Là cha đẻ của hệ thống vệ tinh GLONASS nhưng Nga nó thậm chí không làm chip nhận tín hiệu GLONASS! Về cái gọi là sự lạc hậu của Nga, TQ so với phương Tây trong công nghệ chip, điều này thì tương đối đúng, họ vẫn còn đi sau chừng 5, 7 năm! Nhưng tuyệt đại đa số thiết bị chiến tranh dùng chip 28nm hoặc lớn hơn vẫn chạy tốt! Không phải cứ hiện đại là tốt đâu, có khi ngược lại! Như board mạch định vị Kometa của Nga làm được phân loại theo… khối lượng, loại 65gr chịu được 2 nguồn gây nhiễu, loại 135gr chịu được 5 nguồn gây nhiễu, cứ như thế tăng lên đến loại… 1kg! Thực tế, vì không thể tập trung đủ nguồn & công suất gây nhiễu, nên thiết bị trở thành miễn nhiễm với tác chiến điện tử! Chuỗi cung ứng toàn cầu đã đến mức phụ thuộc nhau như thế, nên để chất xám mà làm những chuyện đáng giá!

không lớn

m nói mà, muôn chuyện là từ “tâm” mà ra, vẫn lên mạng xem mông và vú, vẫn hóng hớt đấu tố, bóc phốt nhau, tâm đã như thế thì càng làm chỉ càng tệ mà thôi! Thầy còn như thế làm sao dạy được trẻ!? Báo chí thấy bắt đầu có những bài về tính “không lớn” của người Việt, nhưng kỳ lạ thay, càng đọc càng thấy… không lớn! Nội dung các bài không nói lên được chiều sâu, chưa cho thấy khả năng tự tri giác, mà chưa nhận biết được về bản thân thì vẫn chỉ là đứa trẻ! Ngoài đường thì đua xe bốc đầu, thôi đám nhóc chưa biết gì thì không nói đi… Người lớn một tay ôm đứa trẻ 3 tuổi, một tay lái xe, chỉ cần đứa bé quẫy một cái là tự té chết, chưa cần phải va chạm với ai!

Nhiều người đứng giữa đường nghe điện thoại, xem thế giới như là của riêng mình! Mà đó vẫn là những chuyện rất sơ đẳng, nếu đi sâu vào, nhìn kỹ thấu đáo, sẽ thấy là 30 tuổi không lớn, 40 tuổi không lớn, 50 tuổi không lớn… thậm chí đến 70 tuổi vẫn chưa lớn! Không chỉ là vận động thể chất, ý thức an toàn căn bản, đến những hiểu biết về cộng đồng, cách đối xử với người khác, cách nhìn nhận về thế giới xung quanh vẫn luôn kiểu “trẻ con hờn dỗi”, không thoát ra được “cái – tôi vị – thành – niên”. Nhận thức về “tha nhân – người khác”, về thế giới xung quanh thực chất là bắt đầu với việc tự nhận thức về bản thân, mà nhận thức về chính bản thân thì vẫn như đứa trẻ lên 3 vậy! 🙁

for… loop

or…loop… ăn, ngủ, code, đạp xe, chơi với mèo… và cứ thế lặp lại! Nhàm chán, đơn điệu, nhưng cũng phải tập lại tính kỷ luật một tí! Ku Tom có chỗ nằm mới, cứ thế leo lên nằm ngủ, đôi khi lười biếng và lơ đãng nhìn xuống xem mình coding! 🙂 Chút suy nghĩ về vòng “for”… theo tôi, luôn có cái gọi là “khoảng cách thế hệ – generation gap” bên trong thế giới coder, chiều sâu suy nghĩ, độ chính chắn hoàn toàn khác xa nhau! Từ xưa, như với ngôn ngữ C, người ta điều khiển “for” bằng một biến số nguyên “i”, chỉ đơn giản là như thế!

Có nhiều phép toán số học có thể làm được với “i”, đây mới là điều quan trọng nhất! Thế nhưng các ngôn ngữ mới không chịu, cứ phải đẻ ra cái “for in stride”, rồi những thao tác lặp phức tạp trở nên rất khó thực hiện! Chỉ đọc spec một ngôn ngữ, ví dụ như Swift, tôi có thể hiểu được khá rõ độ sâu, độ chính chắn trong suy nghĩ của tác giả! Mấy người “sáng chế” ra các ngôn ngữ mới này cũng chỉ là những coder bình thường như chúng ta mà thôi, chưa đạt đến tầm như của Donald Knuth, Edsger W. Dijkstra, Robert Sedgewick, etc… ngày xưa đâu! 🙂