thuyền sắp đắm

Trí nhớ, ký ức của “người già” ấy mà, đôi khi không thể nào lý giải cho tỏ tường được. Đây là một truyện rất hấp dẫn, khi còn nhỏ xíu mê truyện này lắm! Nhưng lớn lên rồi thì chẳng còn nhớ được mấy, thậm chí còn không nhớ tác giả là ai! Mấy lần cố ý lần mò các hàng sách cũ tìm lại, nhưng chả có cách nào tìm được!

Mà trên internet thì những truyện như thế này không có đâu, thật đúng là mò kim đáy bể! Ấy thế mà nay tìm được, chẳng phải người hoài cổ gì, đôi khi còn cố tình quên quá khứ, nhưng có nhiều cái đọc rồi không quên! Và cái tên Bùi Đức Ái thực ra là một bút danh khác của nhà văn Anh Đức, tác giả tiểu thuyết Hòn Đất!

ngập

Chỉ cần căng bạt, bôi đất sét là nước sẽ không tràn vào nhà, còn nước từ hố ga tràn lên thì lấy cái bô úp lại, bôi mỡ bò xung quanh! Chưa nói các nước văn minh nhé, đến Lào, Cam mà đọc mấy dòng này cũng sẽ coi VN như “mọi”. Là ngu thật hay ngu giả, tuỳ mọi người phán xét! Nên một là dân trí nó còn tự ý thức, tự luận ra được, tự bảo nhau, thì phần “thiện” còn khả năng thắng!

Hai là phải có một cá nhân kiệt xuất nào đó áp đặt ý chí, thay đổi tình thế, dùng bàn tay sắt “pháp trị” để thay đổi nhận thức, vừa nắm tóc, vừa quất roi vào mông lôi đi ra khỏi đêm trường Trung cổ, chứ “giáo dục”, “ý thức” các kiểu… không ăn thua đâu, còn không nữa thì chỉ cạp đất mà ăn thôi! Kiểu như đốt đống lửa dưới đất, nấu nồi cơm treo trên ngọn cây cao, hỏi bao giờ cơm chín?!

Ebm

Chương trình âm nhạc cuối tuần, Ebm – E flat minor là một trong những chỉ dấu đặc trưng – signature của âm nhạc Nga, rất nhiều nhạc sĩ Nga từ thời các Sa hoàng hàng trăm năm trước cho đến tận thời hiện đại ngày nay: Korsakov, Rachmaninoff, Prokofiev, Myaskovsky, Tchaikovsky… đều viết rất nhiều nhạc theo cung “mi giáng thứ”, điều này rất hiếm khi thấy ở các nước Tây phương khác! Mi giáng thứ thường được xem là “key / scale” u tối đến mức cực đoan nhất trong âm nhạc, khơi gợi cảm giác u độc, quay vào trong hồi tưởng, tự vấn!

Dân tộc lớn, họ luôn có những cái đấu tranh, tự vấn nội tâm như thế! Mà trong trường hợp của người Nga đôi khi đạt tới mức cực đoan, cả châu Âu sợ hãi với cái tâm thức tạm gọi là: “tội ác & trừng phạt”, “chủng nhân & đắc quả” của người Nga! Ở đầu phía bên kia của “tâm phổ” là cái dân tộc đụng đâu cũng cười hềnh hệch như thằng thiểu năng, cứ hở ra là giở trò lưu manh vặt dù chẳng lừa được ai, nhưng vẫn lặp lại mãi những bài nhàm chán như thế! Lúc nào cũng “ta đây biết rồi”, chưa bao giờ thể hiện được sự tự suy xét, tự phản ánh!

xe máy

Lảm nhảm cuối tuần, nói chuyện xe máy… Tuổi teen, cái tuổi “nổi loạn”, có nhiều trò “vui” không cưỡng được, đơn giản là do cái tuổi đó như thế, khí huyết phương cương! Hồi năm 17, 18 tuổi gì đó, bọn bạn bè chúng tôi có cái trò đang chạy xe máy thì… đổi tài, thằng ngồi trước đứng lên nhích qua một bên, thằng ngồi sau chồm lên giữ tay lái, trong nháy mắt là người sau thành người trước, và xe vẫn chạy không dừng! Và trong nháy mắt, tông phải một bà già, thế là phải chở bả đi bệnh viện, khám từ trên xuống dưới phát hiện… gãy 1 ngón chân út! Làm phải 1, 2 lần đi viện “thăm nuôi” cho nó đủ “lễ”!

Sau 20 thì tuyệt đối không còn những trò bốc đồng nữa, sau 25 thì không bao giờ chạy quá 60 kmph, đến sau 30 thì không bao giờ quá 50 kmph và con số vẫn còn tiếp tục giảm theo năm tháng! Tôi đi xuyên Việt bằng xe máy 3 chuyến, 25 ngàn km hành trình, không dính một vé phạt nào, đơn giản là tuân thủ luật giao thông tuyệt đối! Khi có được sự tự chủ trong người rồi thì người ta không làm những chuyện dại dột nữa! Đương nhiên xã hội mà, vẫn luôn có người này người kia, vẫn có những thành phần già đầu rồi vẫn không lớn, suốt ngày loanh quanh cũng chỉ có mấy chuyện: nhậu, bolero và đua xe!

just my 2 cents

Theo em, đây là cách làm đúng đắn, nếu không MXH sẽ tự nó trở thành cái hố đen sâu thẳm không đáy, càng lúc càng tệ! Theo em là cứ mạnh tay thu tiền theo số view, người ta phải trả tiền cho số view – số tác động xã hội mà người ta mong muốn có! Ví dụ như em là người nói nhiều, một năm viết khoảng 100 posts, danh sách “Friends” của em có chưa tới 50 người, như vậy là khoảng 5000 views, cứ 1 view trả 1 cent, em đồng ý cả 2 tay! Hoặc cũng có thể làm theo hướng ngược lại, muốn xem một mục nội dung gì thì người xem phải trả 1 cent.

Như thế, người xem phải cân nhắc cái nào đáng giá! Chứ không những nội dung rác rưởi, xàm xí, độc hại vẫn cứ mãi tràn ngập! Còn không nữa thì thu tiền cả hai đầu, thu cả của người sản xuất thông tin (producer) lẫn người tiêu thụ thông tin (consumer)! Chỉ là cái chợ thôi mà, người bán và người mua đều phải đóng phí, như thế nó mới công bằng, thế mới tạo ra giá trị thặng dư chứ! Đến khi chán rồi không muốn dùng tiền để “chế tài” nữa thì dùng cách của Trung Quốc, cứ xác minh nhân thân, có report là sẽ bị xử lý! Chính là thời đại 3 xu!

async/await is a big scam

L
âu lắm mới có hứng nói về vấn đề kỹ thuật, lần này mạnh dạn đưa ra một nhận định: async/await là một trò bịp lớn trong các ngôn ngữ lập trình – async/await is just a big scam in programming languages! Mọi người chờ 5, 10 năm nữa xem nhận định này đúng không nhé! Lâu về trước có làm một chút với async/await trên C# và JavaScript, là đã thấy nó không được đúng lắm! Gần đây làm với async/await trên Swift lại thấy càng không đúng! Những cái về threading – process – synchronization – tiến trình, tiểu trình và đồng bộ hóa là phải đọc giữa các dòng chữ – read between the lines! Còn cái mindset của những người làm ra async/await nó giống kiểu bắt chết vào ngôn từ hình thức, họ chấp vào ngôn từ bề mặt!

Async/await chỉ là vấn đề, và cũng chỉ là giải pháp của… riêng JavaScript! Khởi thuỷ xa xưa, JavaScript chỉ được phép có đúng một thread, nên để không block thread này thì họ đã tìm cách offload các hàm sang thread background của hệ thống, và vì làm việc này theo kiểu tuỳ tiện nên phải sinh ra cái async/await để “đánh dấu”, thuận tiện hơn cho việc đồng bộ hoá! Vấn đề này là của riêng JavaScript, các ngôn ngữ khác… không thấy có! Async/await khi đem một cách khiên cưỡng sang những ngôn ngữ khác không tạo ra lợi ích nào đáng kể, ngược lại làm phức tạp hoá vấn đề và hiệu suất – performance… rất tệ! Những newbie chưa hiểu sự phức tạp của hệ thống mới thần thánh hoá và cho rằng async/await là cái gì đó siêu việt!

Async/await nó mang cái mindset 2 threads: foreground & background, xuất phát từ hạn chế chỉ được phép có một thread của JavaScript! Với những ngôn ngữ như C, C++, Obj-C, etc… thì bản thân cái không gian tính toán nó đã là n-thread, từ ngàn xưa là đã dã man, phức tạp và đa năng rồi! Chuyện với async/await không biết phải nói làm sao… nó giống như câu: “màn hình cong (curved monitor) có rất nhiều vấn đề, mà vấn đề đầu tiên là nó… cong”! Tương tự vậy, async/await không đúng đầu tiên là ở chính 2 từ khoá đó, một kiểu chấp niệm vào hình thức, cho rằng nếu tôi là sync, thì những code viết ra trước đây là async! Đây là chấp niệm, thực ra code block bản thân nó không sync, cũng chẳng async, là do cách xài mà thôi!

Tại sao nói async/await là vấn đề của riêng JavaScript!? Với các ngôn ngữ khác, tuyệt đại đa số các lời gọi hàm hệ thống là sync về mặt bản chất, điều này nhằm giúp cho coder hiểu rõ cái cost – chi phí gọi hàm! Chỉ một số ít hàm hệ thống là async, và coder phải hiểu rõ điều đó khi sử dụng! Trong trường hợp có nhu cầu không block main thread thì họ sẽ chạy code block trong một thread khác, chuyện này y hệt như vai trò của Task vậy! Nên async/await không đưa ra được một điều gì mới, càng không phải là cách giải quyết vấn đề mới! Nó đơn giản là cách vá lỗi lầm cũ của quá khứ, bằng cách đặt ra một cú pháp, và cú pháp này… rất thừa thải trong nhiều ngôn ngữ khác ngoài JavaScript, thêm phức tạp mà không giải quyết được chuyện gì!

Nên async/await là vấn đề của riêng JavaScript, thứ mà một lập trình viên nghiêm chỉnh còn… chưa xem là ngôn ngữ lập trình! Khi đem sang các ngôn ngữ khác, bản thân người thiết kế tính năng này chắc chắn là không hiểu được cơ bản về điều phối tiến trình, tiểu trình, đặt ra một thứ hoàn toàn không cần thiết! Async/wait hoàn toàn không phải là công cụ dùng để điều phối tiểu trình, tuyệt đối không có tính năng thay thế mutex, semaphore, critical sections, locks, etc… và do đó không thể dùng để giải các bài toán đồng bộ phức tạp như Producer/Consumer, Dining Philosophers, Sleeping Barber, etc… Đừng nhầm lẫn giữa một cú pháp “lảm nhảm” với các bài toán đồng bộ vốn rất phức tạp, và nên đầu tư thời gian học về căn bản!

80kg

Ku Tom nhảy lên được 5kg tròn, nhưng rồi ham chơi, chấn thương, viêm nhiễm lại giảm xuống còn 4.7kg… Giống hệt chủ nhân của nó, tăng lên chạm mốc 80kg, rồi ốm một trận giảm xuống còn 78kg! Thực ra lên hay xuống thì cũng là chuyện thường, có lên thì có xuống, có xuống mới có lên, 80kg mà toàn “mỡ” thì không khó, “nạc” nhiều mới khó! Cố lên, đường vẫn còn dài phía trước…

pyrotechnic

Một kỹ thuật rất quan trọng của ngành hàng không vũ trụ, cũng như kỹ thuật vũ khí nói chung, gọi là Pyrotechnic – tiếng Việt thường dịch (chưa được đúng lắm) là Hoả thuật: sử dụng thuốc nổ với liều lượng nhỏ, có kiểm soát! Ví dụ như 2 tầng của tên lửa được ghép lại với nhau bằng những con ốc đặc biệt có nhồi thuốc nổ bên trong! Tại thời điểm xác định, máy tính trung tâm sẽ kích nổ những con ốc này, phá vỡ các mối liên kết và làm cho tên lửa tách tầng! Những quả đạn phòng không nằm trong ống phóng hàng chục năm, nhưng khi cần là vẫn có thể khai hoả được ngay lập tức một cách rất đáng tin cậy!

Một van đặc biệt khoá chặt bình nhiên liệu, một liều nổ nhỏ để bật từ khoá sang mở, liều nổ thứ hai được lập trình ngay sau đó sẽ tạo áp suất bơm nhiên liệu vào buồng đốt và khai hoả! Xe tăng, máy bay giữa thời tiết âm 20, 30 độ vẫn có thể khởi động nhờ pyrotechnic: nhét viên đạn đã chuẩn bị trước, chỉ có thuốc nổ không có đầu đạn vào một cái lỗ được làm sẵn, gõ cái kịch là viên đạn nổ, luồng hơi sinh ra đẩy piston xoay trục khởi động động cơ! Pyrotechnic cũng được dùng nhiều trong kỹ thuật dân sự, như túi khí an toàn của xe hơi: khi xe va chạm, cảm ứng sẽ kích liều thuốc nổ nhỏ bơm phồng túi khí!

bột nở

Thời điểm là từ 75 đến khoảng 85, tình hình là… đói. Liên Xô viện trợ cho rất nhiều bột mì, nhưng lính thì ăn bột mì luộc, luộc nguyên cục bột đặc cứng, độ cứng nằm đâu đó giữa bánh bột nếp và kẹo mạch nha. Kiến thức thời hiện đại bà nội trợ nào cũng biết là phải thêm bột nở – baking soda – natri bicarbonat thì bánh nó mới tơi xốp, dễ ăn! Thêm ít thì thành giống bánh bao, thêm nhiều thì thành giống… bánh mì! Khi không có bột nở thì người ta phải ủ bột cho nó hơi lên men, thì khi nướng, hấp nó mới phồng, xốp!

Kỹ thuật ủ bột, tưởng chừng siêu đơn giản như vậy là nằm trong tay một số tiệm bánh mì gốc Hoa, hay đâu đó ở các thành phố người ta mới biết cách làm! Còn lính ở các tỉnh vùng biên thì vẫn ăn bột luộc, đặc quánh hơn cả bánh nếp, và ăn trường kỳ trong suốt nhiều năm như thế, mà không biết cách chế biến thành các loại bánh cho nó đúng! Bột mì mà ăn như thế nó nặng, sình bụng, tức anh ách, khó tiêu giống như là ăn bánh bột lọc vậy! Học Hoá, học Lý, học khoa học thường thức cho lắm vào, không biết để làm cái gì!?

knots

Nút (knots) không khó, nhưng quan trọng là biết tình huống nào nên xài cái gì, có nhiều kiểu áp dụng rất sáng tạo và hiệu quả, quan trọng là thao tác nhanh lẹ, chính xác! Kinh nghiệm mỗi người mỗi khác nên lúc nào dùng cái gì là do mỗi cá nhân đúc kết kinh nghiệm mà thành! Cột dây neo, buộc lưỡi câu, căng góc lều, chằng buộc hàng hoá, nối dây, etc… Đơn giản như căng sợi dây phơi quần áo sao cho không bị chùng khi đồ phơi nặng cũng không phải là quá dể đâu!

Cũng chỉ cần biết khoảng chục loại nút phổ biến là cũng đủ xài rồi, nhưng ứng dụng, biến hoá thì vô số. Cũng phải biết tính chất khác nhau của các loại dây (chất liệu khác nhau), có dây trơn, dây nhám, dây giãn, có loại dây vô nước thì giãn ra, cũng có loại dây vô nước thì co lại… để điều chỉnh nút cho phù hợp! Rảnh rỗi ngồi thực tập lại cho nó quen tay, “ngâm cứu” các thể loại nút, kẻo không lại quên, thậm chí có lúc đến thắt một nút số 8 đơn giản nhất thế nào cũng lơ ngơ…