test loa

ản nhạc test loa… Mỗi khi có cái headphone / loa mới (chưa có cái nào công suất quá 15W) là tôi lại dùng một số bản nhạc để test, đầu tiên phải là bản này, âm thanh phần nhiều mid-range, tiếng bass phong phú. Nếu test kỹ thì phải dùng đến nhiều loại âm thanh khác nữa, chủ yếu vẫn là acoustic và cổ điển, từ cello cho đến flute.

Nhưng phải qua được bước đầu tiên đã, phải đúng là bản ghi âm do NSUT Đức Thuyết trình bày, đài Tiếng nói VN thu âm cách đây đã rất lâu. Âm nhạc không tách rời âm thanh, nhưng âm nhạc éo phải là âm thanh, ấy thế mà rất nhiều người vẫn hay lẫn! 😀 Tiếng trống Paranưng, luôn là một bản nhạc lôi cuốn và bí ẩn…

cấm & quản

à TT này tuy gốc gia đình là người Gruzia, nhưng sinh ra và lớn lên tại Pháp, đã từng là… đại sứ của Pháp tại Gruzia, chỉ mới lấy quốc tịch Gruzia năm 2004, và đến tận giờ vẫn mang song song hai quốc tịch! Bọn Tây-lông chúng nó cài cắm ghê thật, kiểm soát nước khác như con rối luôn chứ còn gì?! Cứ như thế này ăn một mớ rồi tếch ra nước ngoài chứ có ở lại với con thuyền chìm đâu!? Ở VN hay TQ, nếu chưa đủ 5 đời gắn bó với xứ sở, thì đừng mong làm quan to chứ chưa nói TT, CT. Về cái dự luật kiểm soát các tổ chức NGO, bọn Tây-lông là trùm trong việc xài các tổ chức mang tiếng là… “phi chính phủ” để cài cắm, do thám, gây ảnh hưởng!

Thực ra chuyện này rất đơn giản, quản lý các tổ chức NGO cũng giống y hệt như quản lý súng đạn thôi! Như ở Nga, cho phép người dân sở hữu súng ngắn, nhưng luôn phải đeo ở vị trí ai cũng thấy, không được giấu kín! Hay súng trường đã gập báng là không bắn được, mục đích của luật không phải là cấm hẳn súng đạn, chỉ là làm cho rõ ràng những cái hành động “rút súng, chuẩn bị bạo lực” mà thôi, nhằm cho phép những người xung quanh có thời gian cảnh giới, phòng tránh! Nên quản lý các tổ chức NGO cũng thế thôi, không cần phải cấm, nhưng cứ nộp báo cáo tài chính, công khai ngân sách, kế hoạch hành động rõ ràng là được!

45

ọi người chắc cũng sẽ có chút ít ngạc nhiên khi thấy lúc nào tôi cũng hô hào: vận động, thể dục! Vâng, hô hào thì nhiều, nhưng tự làm thì… vẫn chưa đủ nhiều, phần lớn là vì công việc của một coder nó cứ phải bám vào cái bàn phím và màn hình máy tính mãi thôi! Từ sau 35 tuổi, chắc hẳn ai cũng sẽ dần thấy rõ, sức khỏe chầm chậm tuột khỏi tầm tay, nhiều cái không còn “tự nhiên” như trước! Nhưng cũng tùy thể trạng mà mỗi người sẽ cảm nhận về cái quá trình lão suy này khác nhau! Với riêng cá nhân tôi thì nó là như thế này… “Ba tôi là nông dân, và tôi thì sinh ra ở nông thôn”, vâng, cái câu của Nguyễn Huy Thiệp tuy đơn giản vậy, nhưng có ý tứ sâu xa! Nó đã được quy định từ trong di truyền rồi, mỗi ngày mà không “cày bừa”, không làm việc cho đến kiệt sức, không cảm thấy tận lực, thì không ngủ ngon được đâu!

Huống gì thời hiện đại, công việc chỉ đơn giản “tay cầm bút, chân đút gầm bàn”, thêm vào đó bao nhiêu thứ phân tâm, xao nhãng, xàm xí của mạng xã hội! Thực ra thì từ lâu chúng ta đã “vong bản”, đã đánh mất chính mình, đã trở thành “nô lệ” cho những vọng tưởng của bản thân, đã như thế từ lâu lắm rồi! Từ những khuôn mặt đơ cứng như plastic vì phẫu thuật thẩm mỹ, cho đến cả những thân hình chuẩn chỉnh 6 múi, và tất cả những cái được tán tụng gọi là “thần thái” á, tất cả thực ra đều đã “vong bản”, đều đã kẹt cứng trong “cái tôi”, trong những chấp niệm chết cứng của bản thân từ lâu lắm rồi! Muốn thoát ra á, muốn “chữa lành” á, muốn “kết nối với bản ngã” á, đâu có dễ thế, ngôn từ cứ lảm nhảm trơn tuột, trừ phi phải có nghị lực, kiên trì thật lớn! Hình chụp cách ít ngày trên đường đạp xe chiều tối…

sinh nhật

gày xa xưa, sinh nhật từng là một chuyện rất đơn giản, như trong nhà tôi, con nít được mua cho vài cái bánh ngọt nhỏ dạng cupcakes, vài loại trái cây, vài chai nước ngọt, cho nó ngồi chơi tám chuyện với 2, 3 đứa bạn thân, như thế xem như là tổ chức sinh nhật lớn rồi! Còn người lớn thì quên đi, có khi còn chẳng nhớ và không tổ chức ngày sinh nhật của mình! Thế rồi, thời buổi thay đổi, giờ đây người ta chăng rạp, tràn ra hết hơn nửa con đường, tổ chức nhậu nhẹt, hét hò ầm ĩ, tưng bừng như mấy con “linh trưởng” – primate thiểu năng vậy, một năm có khi cả chục cái sinh nhật ấy! Người có ý thức đi ngang qua chỉ biết nói đúng một câu: “LŨ MỌI” !!! Chúng ta sinh ra trên đời này, có khi chỉ để phí thêm một lượng oxy vô ích – just an oxygen – wasting creature! Nên trên Facebook cũng vậy, những cái thao tác chúc mừng này nọ thôi thì ta cứ giản lược đi, không nhất thiết cứ phải chúc tụng qua lại phiền phức!

Còn dưới đây là quà sinh nhật… mọi năm đều tự tặng quà sinh nhật cho mình, khi thì là chiếc xe đạp, khi thì là cái laptop, nhưng chỉ những vật dụng cần thiết thôi! Năm nay có khác chút, Garmin Fenix 7X Pro Sapphire Solar, vâng, cái tên nó dài và phức tạp như thế, kích cỡ X – 51mm, phiên bản Pro, mặt kính Sapphire kiêm tính năng sạc pin mặt trời (tăng thêm đáng kể thời gian sử dụng)! Nên dù dùng ở chế độ GPS rất hao pin thì vẫn có thể đến 120h một lần sạc, nếu xài ở mode “Expedition” thì có thể kéo đến hơn 2 tháng, hoặc nếu chỉ xài như cái đồng hồ bình thường thì đến một năm! Và tính năng vẽ bản đồ của nó thật tuyệt với một cái máy đeo tay nhỏ xíu như thế! Và vô số tính năng cần thiết khác cho một “nhà thám hiểm” thực thụ: la bàn (cực nhạy), máy đo cao, đo áp suất không khí, dự báo bão, nhiệt kế, đèn chiếu sáng trắng + đèn tín hiệu đỏ, lịch mặt trăng, lịch thủy triều, đo nhịp tim, đo oxy máu, etc…

poltava

rong phát biểu nhậm chức, Belousov đem tính mạng ra bảo đảm hoàn thành trách nhiệm được giao! Như ngày xưa Vasily Chuikov được giao nhiệm vụ bảo vệ Stalingrad vậy… Hỏi: anh nhận thức như thế nào về nhiệm vụ này? Đáp: hoặc là hoàn thành nó, hoặc là chết khi làm điều đó!

Người Nga là dân tộc rất, rất nghiêm túc, nói thế nào thì làm đúng như thế ấy, không có đùa đâu! Xem ra lần này ku Nga đã quyết tâm chơi lớn! Mạnh dạn dự đoán là họ sẽ không dừng lại cho đến khi tới được Poltava, là nơi 300 năm trước, Peter-the-great đã làm nên chiến thắng!

telecentric

ỗi ngày biết thêm một tí, trong video là một loại ống kính rất đặc biệt – telecentric lens, vật thể nằm trong trường nhìn của nó có kích thước giống nhau dù ở xa hay ở gần! Tức nó không tạo ra một phép chiếu phối cảnh (perspective projection) mà kỳ lạ thay, có thể tạo ra một phép chiếu đẳng cấu (isometric projection)! Điều này có vẻ khá là khó hiểu và khó tin nhưng phép chiếu đẳng cấu, thực ra nó không xa lạ như mọi người nghĩ! Thậm chí tôi còn cho rằng, bản năng đầu tiên của chúng ta khi diễn họa cấu trúc một vật thể là đẳng cấu chứ không phải phối cảnh. Xem thêm về một bức tranh vẽ trong không gian đẳng cấu ở đây!

Nhưng cụ thể, ống kính này được dùng để làm gì? Nó được dùng trong các ứng dụng đo lường, kiểm định, các ứng dụng computer vision, pattern recognition, etc.. sẽ tránh được rất nhiều lỗi sai về kích thước, vì dù có chụp gần hay chụp xa thì kích thước nó vẫn y như thế, xem như đã chuẩn hóa đầu vào! Một ví dụ khác là in vi mạch bằng phương pháp quang khắc đều dùng loại ống kính này để tránh sai số! Một chút suy luận là sẽ thấy ngay, ống kính không thể nhìn thấy được vật thể to hơn nó (lớn hơn đường kính ống), nên quên chuyện dùng để chụp phong cảnh đi, chủ yếu chỉ dùng để chụp những vật thể nhỏ và macro mà thôi!

bilge pump

ới cách đây độ 5 ~ 7 năm, cần mua một cái bơm chìm (bilge pump) để bơm nước cho chiếc xuồng, đây là loại tương đối đơn giản, chạy điện AC 12V và không cần phải có chất lượng quá cao ngoại trừ việc có thể đặt chìm trong nước! Nhưng tìm khắp Sài Gòn không có, phải lên Amazon đặt hàng, mà Amazon lúc đó thì không ship thẳng về VN! Và thế là quy trình để có được cái bơm như sau, lòng vòng nhiều bước: trước hết là đặt hàng trên Amazon, hàng bắt đầu được gởi đi từ… TQ sang Mỹ, đến một cái địa chỉ ở Mỹ! Tất cả những bước này, Amazon nó thể hiện ra chi tiết quá trình vận chuyển hàng cho mình biết! Địa chỉ này thực chất là một công ty logistics nhỏ, do một số người bạn tôi làm trong ngành logistics hùn hạp với nhau mở ra, xem như việc kinh doanh phụ thêm cho công việc chính! Công ty này sẽ gom nhiều đơn hàng và chuyển về VN một lần cho giảm chi phí! Về VN rồi vẫn chưa hết chuyện, còn phải ra Hải quan nhận hàng! Là cái công ty logistics kia có đường dây làm việc với Hải quan luôn, hàng giao nếu không có gì đặc biệt thì sẽ tính phí theo trọng lượng!

Còn nếu là dạng hàng hóa gì đặc biệt, lạ mắt, mà Hải quan nó để ý, thì sẽ còn phiền phức nhiều chuyện nữa! Và thế là lòng vòng mất hơn 2tr VND cho một cái bơm nhỏ xíu mà giờ đây lên Shoppee mua mất 200K kể cả tiền ship! Mà mới có mấy năm thôi, cái xứ gì mà thủ tục nhiêu khê, tác phong lề mề, làm gì cũng thấy bụi bay mù trời chứ chẳng thấy tiến triển! Thấy cái gì mới lạ thì phản ứng đầu tiên là sợ: ah, “nước ngoài” họ làm được chứ “ta” làm không được đâu, lúc nào cũng chỉ chực cơ hội “gian” và “ăn”, tự bản thân không muốn vận động, còn hễ mà thấy ai làm được cái gì là ghét và tìm cách phá! Thế nhưng ai phỉnh nịnh một vài câu chữ rẻ tiền đánh vào “cái tôi” là lấy làm sướng, có bao giờ tự nhìn cho rõ mình đâu!? Kỳ rồi đặt mua 2 miếng nhựa giá tổng cộng 20K, đặt xong mới để ý công ty nó ở Thượng Hải, ấy thế mà 7 ngày sau nó ship về tới nơi, không chê cả cái đơn 10 xu (cents), người ta làm ăn như thế thì mình chỉ có nước đi bán muối! 🙁 Về thành ngữ “đi bán muối”… ở các thành phố ven biển miền Trung, muối là thứ gì đó rất rẻ, phổ biến, thừa thãi, nên làm cái công việc đi bán muối dạo, tính từ góc độ hiệu quả làm ăn là hết sức kém, vô cùng kém!

overclock

huê con server của Amazon EC2 cấu hình 32 vCPU, 64 GB RAM, so với con Aquarium-PC của mình: 36 vCPU, 64 GB RAM, con của Amazon chạy nhanh hơn một chút, vì dù sao 2 con CPU Xeon của mình là đời cũ lắm rồi. Nhưng khi ép xung – overclock từ 2.3 lên 3.8 GHz thì con Aquarium-PC cho máy của Amazon “ngửi khói” lập tức! Nhưng ép xung cũng có nghĩa là tăng nhiệt, từ 60°C nhảy lên 75°C thường trực, và cũng phải tăng tốc độ quạt, tăng tiếng ồn. Đây là điều đành phải chấp nhận thôi, hoặc là phải có giải pháp tản nhiệt tốt hơn!

Giải pháp thì có, nhưng… kỳ công, phải học thêm nhiều kỹ năng nữa, nhất là cơ khí và CNC, mà tôi hiện tại chỉ có mấy kỹ năng làm mộc quèn mà thôi! Nói chung, xác nhận là tản nhiệt dầu vẫn có thể chạy tốt với máy ép xung được, nhưng thiết kế khâu tản nhiệt phải thật sự thông minh, thật sự hiệu quả! Viết một cái script nhỏ để bật / tắt việc ép xung cho Linux, chạy script là overclock + overvolt, tăng điện thế cấp cho các thành phần máy, chạy lần nữa là tắt tính năng này đi! Mới có mấy hôm mà kỹ năng viết shell-script của mình tăng lên thấy rõ!

vtables

rong post trước có nói về v-table, v-table là gì!? Với lập trình procedural truyền thống, gọi hàm thực chất là một lệnh hợp ngữ (Assembly), chỉ cần một lệnh JMP – Jump là nhảy ngay đến vùng nhớ chứa đoạn mã – hàm cần thực hiện! Nên gọi hàm trong ngôn ngữ C có tốc độ nhanh, nhanh đến mức không tưởng. Nhưng sự việc không đơn giản như vậy với các ngôn ngữ hướng đối tượng, như C++. Lấy ví dụ như: a->some_function(), trong trường hợp đơn giản nhất, ta cần nhảy 2 lần, lần đầu đến vùng nhớ chứa đối tượng (object) ‘a’, sau đó mới tìm trong vùng nhớ đó con trỏ đến hàm ‘some_function’ và nhảy thêm một lần nữa. Nhưng sự việc không đơn giản như vậy vì OOP có tính kế thừa, có nhiều phiên bản khác nhau của cùng một hàm ảo, những phiên bản này được chứa trong một cái bảng gọi là v-table, và việc gọi hàm lúc này bao gồm: 1. nhảy đến vùng nhớ bắt đầu đối tượng ‘a’, 2. tìm xem trong v-table của ‘a’ địa chỉ của hàm cần gọi, 3. nhảy đến vùng nhớ chính xác của hàm đó. Và cái bảng v-table này càng ngày càng lớn nếu kế thừa nhiều cấp, 20 ~ 30 cấp cũng là việc đã từng thấy! Sự việc bắt đầu trở nên phức tạp hơn nữa với những ngôn ngữ hỗ trợ đa kế thừa, đối tượng ‘a’ có thể kế thừa từ 1, 2 hay nhiều lớp khác nhau!

Lúc đó, compiler sẽ phải tạo ra nhiều v-table, và việc gọi hàm là một công cuộc tìm kiếm, tra bảng dài lê thê, thay vì chỉ một lệnh hợp ngữ JMP đơn giản! Thời gian tiêu tốn cho việc gọi hàm có thể giao động đâu đó trong khoảng 5 ~ 50% toàn bộ thời gian chạy chương trình. Đến tận ngày hôm nay, mấy chục năm sau khi các ngôn ngữ hướng đối tượng ra đời, bản chất của việc gọi hàm vẫn không đổi, và vẫn chưa có cải tiến nào mang tính cách mạng xảy ra! OOP đúng là một mô hình rõ ràng, dễ hiểu đối với lập trình viên, nhưng cực kỳ đau khổ cho những người làm compiler! OOP sinh ra, đầu tiên và trên hết là cho lập trình UI, mỗi cửa sổ, mỗi nút bấm trên UI là một đối tượng – object, nguyên thủy là vậy, về sau người ta mới mở rộng OOP từ UI sang những lĩnh vực khác! Nên những người làm ứng dụng lớn, cần tính lớp lang, cấu trúc rõ ràng, những người đó sẽ cảm thấy khó hiểu khi những coder ở mức thấp bên dưới chỉ thích procedural mà thôi! OOP đúng là rõ ràng và tiện lợi, nhưng không phải là cách tiếp cận duy nhất đối với các vấn đề lập trình, mọi việc có thể sẽ thay đổi! Và nhiều coder không hiểu vì sao một số người cố sống cố chết bám vào một số phong cách xưa cũ, vì… bản năng mách bảo rằng làm như thế mới là đúng! 🙂

thôi thủ

acebook nhắc lại ngày này năm trước… Không phải là lười xuống nước, nhưng đúng là gần một năm vừa qua cảm thấy thiếu ý tưởng và thiếu cả động lực, cảm thấy không tìm ra được ý tưởng gì mới mẻ. Mùa mưa coi như là đã về đi, chuẩn bị khởi động lại chương trình ra sông tập luyện! Một trong những điều cốt yếu của kỹ thuật brace và roll là sự tự nhiên, mềm dẻo…

Cơ thể mà căng cứng, lo sợ là sẽ không làm được! Nói theo một nghĩa nào đó thì giống như bạn đang “thôi thủ – 推手 – pushing hands” với nước vậy, mà nước thì vô cùng mềm dẻo! Không biết “thôi thủ” là gì thì tìm xem một vài phim tài liệu về Thái cực quyền nhé, các cao thủ chỉ cần chạm nhẹ cánh tay vào nhau là đã biết đối phương cao thấp như thế nào!