<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on The BookThief</title>
    <link>https://hoalv.github.io/post/</link>
    <description>Recent content in Posts on The BookThief</description>
    <generator>Hugo -- gohugo.io</generator>
    <copyright>Copyright © 2008–2018</copyright>
    <lastBuildDate>Sun, 01 Aug 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://hoalv.github.io/post/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Thời gian đá cuội</title>
      <link>https://hoalv.github.io/post/thoi-gian-da-cuoi/</link>
      <pubDate>Sun, 01 Aug 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hoalv.github.io/post/thoi-gian-da-cuoi/</guid>
      <description>
        
          &lt;p&gt;Tháng năm vơi cạn, điều ta nghĩ đến nhiều nhất có lẽ là thời gian. Mỗi giây mỗi khắc nó hiện diện và trôi qua cùng hơi thở, ấy thế rồi ở một điểm ngưng đọng, thời gian đôi khi trở thành nỗi ám ảnh của con người. Ám ảnh vì chưa làm được gì mà đã thấy hết năm hết tháng, như lời của cố nhạc sĩ Trịnh Công Sơn một lần trả lời phỏng vấn. Ám ảnh vì quỹ sống chùng như vơi cạn. Ám ảnh cả vời vợi tương lai không đoán định được với ít nhiều người. Nỗi ám ảnh thời gian không dễ rũ bỏ, nhất là khi ta ngày một lớn lên. Tuổi hồn nhiên ngày một xa dần.&lt;/p&gt;
&lt;p&gt;Vì cùng với nước chảy chân cầu là sự đổi thay. Ta mong ngày qua nhanh để ta nhanh trưởng thành. Ta mừng thấy ta của cuối năm đã khác lắm với ta của đầu năm. Nhưng có khi nào ta của ngày hôm nay chừng như phản bội lại chính ta của ngày hôm qua. Lớn lên là quá trình không chỉ có những thành tựu tích cực. Như nước mùa qua, phù sa có khi phải nhường chỗ cho rác rến chiếm lĩnh chủ lưu. Cho nên dày ngày nặng tháng cũng là khi ta phải cảnh giác với chính mình. Biết &amp;quot;nhiều khi nhận ra ở mình một thói xấu ngày xưa không có&amp;quot;.&lt;/p&gt;
&lt;p&gt;Trời mang giông bão mỗi mùa để người trui rèn ý chí, nhưng ngày tháng cũng mang ấm êm dễ ru ngủ con người. Thời gian nhiều khi đồng loã cho thói tập nhiễm có cơ hội xâm chiếm ta. Khi Xuân qua ta phơi phới ủ mộng làm gì đó cho cuộc đời, rồi khi Đông về, ta dựng cổ áo vội vàng vô cảm cắm cúi lẫn vào đám đông lo thân mình. Là khi ta tuổi mười lăm trong trẻo và chính trực với đúng và sai, với điều ngay lẽ phải, sao rồi một ngày ta dễ dàng khoác thêm những uyển ngữ tế nhị lên thoả hiệp của chính mình giữa đám đông. Mưa gió giông tố mùa tiếp mùa, ngàn triệu năm luôn thế. Chỉ sợ nhất là chính ta tự thay đổi, để &amp;quot;thời gian xoay mòn thành đá cuội&amp;quot; (TCS).&lt;/p&gt;
&lt;p&gt;Ủ ấp một giấc mơ, nuôi lớn một tính cách cũng cần có thời gian. Để dòng thời gian không xoay mòn hết góc cạnh của viên đá độc nhất vô nhị là chính ta, ta phải biết luôn là chính mình. Như nuôi một ngọn lửa trong tim. Để không tự thôi miên chính mình. Người hạnh phúc là người mang giấc mơ tuổi trẻ đi mãi, dù có thể nó mãi mãi không thành hiện thực. Người hạnh phúc là người luôn giữ được nét cá tính riêng có, để lại dấu ấn trong bạn bè và cả những người từng gặp, từng quen. Một khối tưởng như đồ sộ trước tác chưa chắc đã đóng đinh vào ký ức người đời bằng một nét cá tính độc đáo. Nếu nét cá tính độc đáo ấy là điểm mấu chốt của một nhân cách đặc biệt, thì sức sống của nó còn lâu dài hơn nữa.&lt;/p&gt;
&lt;p&gt;Thời gian là để nét riêng có của chính ta càng rõ hơn. Thời gian không thể khiến ta trở nên nặng nề trì trệ, hay tệ hơn, trơ lì cảm xúc để rồi hồn nhiên lẫn vào đám đông vô cảm. Để rồi khi mưa đã tạnh mà chừng như lòng mãi lạnh.&lt;/p&gt;
&lt;p&gt;- &lt;em&gt;Hà Nhân&lt;/em&gt; -&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>Những cây cầu vượt</title>
      <link>https://hoalv.github.io/post/nhung-cay-cau-vuot/</link>
      <pubDate>Sun, 18 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hoalv.github.io/post/nhung-cay-cau-vuot/</guid>
      <description>
        
          &lt;p&gt;Nơi tôi sống ở cạnh một con đường lớn. Có ngày từng đoàn xe tải hồng hộc chạy qua, người đi đường nhiều phen hốt hoảng với nhịp thở hối hả của phát triển. Băng ngang đường đôi khi là việc không thể, bởi vì vô cùng nguy hiểm. Ở đoạn đường này, đi bộ, đi xe đạp không còn đồng tốc với các phương tỉện đồ sộ khác. Sự không đồng tốc này gây nguy hiểm cho con người.&lt;/p&gt;
&lt;p&gt;May thay đã có đường hầm kỹ thuật. Có lần một mình đi băng qua, nghe âm âm tiếng động hai đầu cửa hầm, tôi vừa đi vừa thấy run run. Có lẽ hiểu được nỗi sợ của người đi, anh bảo vệ đã mở nhạc ầm ầm.&lt;/p&gt;
&lt;p&gt;Nhiều con đường trong thành phố giờ đã có thêm những cây cầu vượt. Cái đã sử dụng được, cái còn dở dang lối cầu thang lên xuống. Đô thị văn minh phải có chỗ cho những người đi bộ. Nhịp điệu phát triển dù có sôi động, sẽ không công bằng nếu bỏ qua, hay gây áp lực cho những gì không đồng tốc cùng nó. Là những thân phận chậm chân, những người chưa đủ trưởng thành để đi nhanh hay sử dụng phương tiện giao thông nhanh hơn. Cây cầu vượt, vì thế, không chỉ mang ý nghĩa giao thông, nó chính là chỉ dấu của văn minh.&lt;/p&gt;
&lt;p&gt;Nó còn nhắc chúng ta về những cây cầu vượt cần có trong khi lớn lên hay già đi của mỗi người. Có cây cầu vượt nào cho mẹ tôi đi qua tuổi già nhiều ưu tư trước mặt và sức khoẻ đã xa hút sau lưng. Có cây cầu vượt nào cho tôi đi qua những bão giông của tuổi dậy thì? Có cây cầu vượt nào cho em đi ngang những biến động tâm lý, nhận thưc của ngày chia tay trẻ con và đôi khi sợ làm người lớn. Không phải ai, không phải tuổi nào cũng có thể hồng hộc ngược xuôi trên con đường lớn vun vút và đầy thử thách của cuộc sống.&lt;/p&gt;
&lt;p&gt;Vì thế con chuồn chuồn cắn rốn có khi là cây cầu vượt cho tôi mạnh dạn tập bơi và rồi biết bơi. Khoảnh khắc cosplay một nhân vật truyện tranh là cây cầu vượt cho em vượt qua mặc cảm tự ti, hay xấu hổ khi đến chỗ đông người. Rồi khi đã qua được phía bên kia đường, đôi khi ta tự tin toả sáng, trở nên đúng là chính mình. Trang nhật ký online, một cái nickname trên mạng xã hội là cây cầu vượt cho ta tỏ lòng, tựa vào chốc lát, giúp ta bình tâm trước sự không đồng tốc giữa cái đầy đặn sao quá nhanh của cơ thể, và cái đang chầm chậm đi sau của tính cách, nhận thức, tâm hồn, kỹ năng sống,...&lt;/p&gt;
&lt;p&gt;Không phải ngẫu nhiên mà người già và trẻ nhỏ là những người cần đến những cây cầu vượt nhất. Không chỉ để giúp ai đó băng qua con đường đang hối hả, hồng hộc xe cộ tân tiến, đó còn là lối để mỗi người đi qua những khúc quanh đôi khi là ngặt nghèo của cuộc đời. Vì không ai là đáng để phải đứng mãi bên lề đường, mãi là người ngoài cuộc với dòng sống ngược xuôi mỗi ngày.&lt;/p&gt;
&lt;p&gt;- &lt;em&gt;Hà Nhân&lt;/em&gt; -&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>Hyperloglog: Tập đếm</title>
      <link>https://hoalv.github.io/post/hyper-log-log/</link>
      <pubDate>Sat, 10 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hoalv.github.io/post/hyper-log-log/</guid>
      <description>
        
          &lt;p&gt;&lt;em&gt;&amp;quot;Buổi mai hôm ấy, một buổi mai đầy sương thu và gió lạnh. Mẹ tôi âu yếm nắm tay tôi dẫn đi trên con đường làng dài và hẹp. Con đường này tôi đã quen đi lại lắm lần, nhưng lần này tự nhiên tôi thấy lạ. Cảnh vật chung quanh tôi đều thay đổi, vì chính lòng tôi đang có sự thay đổi lớn: Hôm nay tôi đi học.&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Những cảm xúc mà ai cũng một lần trải qua trong đời, chỉ là lúc đó chúng ta còn quá nhỏ không nhận thức được, và khi nhận thức được thì chúng ta cũng không phải nhà văn như Thanh Tịnh để diễn tả cái cảm xúc đấy một cách văn học như thế này :D
Anyway, để hiểu tại sao tôi lại trích đoạn một tác phẩm văn học vào đây thì bạn hãy đọc tiếp, xin thề là có liên quan :(&lt;br&gt;
Một trong những bài học đầu tiên khi cắp sách tới trường, và bắt đầu bước vào thế giới toán học đáng sợ đó là tập làm quen với những con số, để làm quen với các con số chúng ta có bài học tập đếm. Và dụng cụ có sẵn nhất, được phép mang vào mọi phòng thi dành cho việc đếm tất nhiên là ngón tay, ngón chân. Sau này khi biết được các số lớn hơn 10, tay chân không đủ nữa thì dùng que tính. Tôi vẫn nhớ hồi đó tôi có vài bó que tính, mỗi bó một màu riêng xanh, đỏ, vàng, xanh đủ cả. Mỗi lần học đếm xong thì tất cả các màu đã bị trộn lẫn với nhau hết, nên phải ngồi lúi húi nhặt từng màu ra thành bó riêng như ban đầu. Số que tính khi đó của tôi chỉ có 4 màu, tôi biết vì từ lúc mua đã bó thành từng màu riêng như thế. Nhưng hãy giả sử nếu các que tính là đống hỗn độn như khi tôi mới làm bài tập tập đếm xong, và số lượng que tính giả sử là rất rất lớn, và nói chung số màu que tính cũng rất lớn.&lt;/p&gt;
&lt;p&gt;Vậy có cách nào để biết được có bao nhiêu màu trong đống que tính kia, chả lẽ ngồi đếm từng que tính và xem có bao nhiêu màu trong đó! Không thể, tôi đã nói số que tính là rất rất lớn mà. Câu hỏi này trong khoa học máy tính được gọi là vấn đề đếm duy nhất (Count-distinct problem). Hãy cùng nhau tìm hiểu một phương pháp để giải bài tập tập đếm này nhé, phương pháp đó chính là thuật toán Hyperloglog.&lt;/p&gt;
&lt;p&gt;Hãy lấy một ví dụ tương tự như việc tìm ra số màu trong tập các que tính phía trên. Giả sử rằng có một buổi triển lãm tranh của một hoạ sỹ nổi tiếng kéo dài cả tháng trời, người xem kéo đến ầm ầm, kín cả sảnh mỗi ngày. Bạn là người soát vé ở lối vào và ngoài ra còn có một nhiệm vụ đếm xem có bao nhiêu khách tham gia buổi triển lãm, tất nhiên 1 khách chỉ được đếm một lần dù họ có thể đến buổi triền lãm nhiều lần vào các ngày khác nhau. Bạn có thể nghĩ đến ngay một cách: chuẩn bị một tệp giấy, ghi lại định danh của từng vị khách, ví dụ là số điện thoại chẳng hạn (hãy nhớ điều này, chúng ta sẽ sử dụng số điện thoại ở phía dưới), sau đó chỉ việc đếm trong danh sách đấy. Eww, a lot of work! Khách thì quá đông, bạn phải ghi quá nhiều, đang ghi hết giấy thì sao, kể cả ghi xong thì việc đếm duy nhất trên số khách đó cũng là không tưởng. Hãy làm cho vấn đề khó hơn nữa, bạn cần phải trả về kết quả ngay lập tức, hay thậm chí sếp chỉ cho phép bạn sử dụng tay chân để đếm như thời tiểu học. Nhưng thật tuyệt vời, hoàn toàn có cách để đáp ứng tất cả các yêu cầu trên của sếp bạn.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Flajolet-Martin Algorithm&lt;/strong&gt;&lt;br&gt;
Bạn hoàn toàn có thể đếm được số lượng khách gần như ngay lập tức mà chỉ cần đếm bằng đầu ngón tay. Philippe Flajolet và G. Nigel Martin đã giới thiệu một phương pháp giải quyết vấn đề này vào năm 1984. Bạn chỉ cần ghi lại số số 0 trong chuỗi số 0 đứng đầu liên tiếp dài nhất mà bạn thấy được trong các số điện thoại những vị khách.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ví dụ vị khách đầu tiên có số điện thoại là 532885, không có số 0 nào đứng đầu, bạn ghi xuống 0.&lt;/li&gt;
&lt;li&gt;Vị khách thứ 2 có số điện thoại 042311, chuỗi 0 đứng đầu dài nhất có một chữ số 0, bạn ghi xuống 1.&lt;/li&gt;
&lt;li&gt;Sau một vài khách chuỗi 0 đứng đầu cũng chỉ có một hoặc không có số 0 nào đứng đầu, thì bạn gặp một vị khác có số điện thoại 009989, có hai số 0 đứng ở đầu, lúc này bạn ghi xuống 2.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Khi bạn nhìn thấy hơn 10 người, chuỗi 0 đứng đầu dài nhất sẽ có nhiều khả năng là 1. Tương tự, khi bạn thấy hơn 100 người, chuỗi dài nhất sẽ có nhiều khả năng là 2. Dễ dàng nhận thấy rằng trong một tập dữ liệu ngẫu nhiên, trung bình, một chuỗi có k số 0 liên tiếp đứng ở đầu sẽ xuất hiện một lần sau mỗi 10ᴷ phần tử.&lt;br&gt;
Bạn hiểu ý tưởng rồi phải không. Vậy là, dựa trên xác suất, số khách tham gia sẽ gần bằng 10ᴸ, với L là dãy số 0 ở đầu dài nhất mà bạn tìm thấy trong tất cả các số điện thoại.&lt;/p&gt;
&lt;p&gt;Thực tế trong bài báo của mình vào năm 1984, các tác giả đã băm (hash) đầu vào (số điện thoại) để có được các đầu ra là chuỗi nhị phân được phân phối đồng đều hơn. Ví dụ: họ có thể băm một phần tử sđt1 thành 010001 và một phần tử khác sdt2 thành 101000. Nhờ đó, kết quả không bị ảnh hưởng do các số điện thoại có thể có cùng định dạng như mã vùng,... Ngoài ra, bởi vì họ đã biến đầu ra thành một chuỗi bit nhị phân, kết quả đếm bây giờ sẽ là 2ᴸ thay vì 10ᴸ.
Tuy nhiên, phân tích thống kê cho thấy rằng kết quả 2ᴸ có sai số có thể dự đoán được. Vì vậy, họ thêm một hệ số hiệu chỉnh ϕ ≈ 0,77351 để hoàn thành công thức cuối cùng: 2ᴸ / ϕ . Thuật toán này gọi là Flajolet-Martin Algorithm.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;LogLog: Sự cải tiến&lt;/strong&gt;&lt;br&gt;
Đọc thuật toán phía trên, hắn có bạn sẽ thắc mắc, nếu xuất hiện một khách hàng có số điện thoại siêu đẹp có nhiều số 0 ở đầu (giả sử 000000010), mọi tính toán phía trên sẽ sai hết bởi vì vị khách ngoại lệ này. Việc này trên thực tế luôn xảy ra. Và các tác giả của thuật toán này cũng biết điều đó, may quá=))&lt;/p&gt;
&lt;p&gt;Vậy làm thế nào để kết quả ước tính của chúng ta ít bị ảnh hưởng bới các trường hợp ngoại lệ này. Giải pháp có thể nghĩ ngay ra được là chúng ta sẽ lặp lại thuật toán Flajolet-Martin nhiều lần với các hàm băm sử dụng là khác nhau, sau đó lấy kết quả trung bình. Ví dụ: nếu chúng ta thu được chuỗi số 0 đứng đầu dài nhất bằng cách sử dụng m hàm băm khác nhau, ở đây chúng ta biểu thị giá trị độ dài của chuỗi số 0 đứng đầu dài nhất là L₁, L₂,…, Lₘ, thì ước tính cuối cùng của chúng ta sẽ trở thành: m * 2 ^ (( L₁ +… + Lₘ) / m))&lt;/p&gt;
&lt;p&gt;Tuy nhiên, việc băm một đầu vào với nhiều hàm băm có thể khá tốn kém về mặt tính toán. Do đó, các tác giả đã đưa ra một giải pháp: sử dụng một hàm băm duy nhất và sử dụng một phần đầu ra của nó để chia giá trị thành nhiều nhóm (buckets) khác nhau, họ sử dụng một vài bit đầu tiên của giá trị băm làm chỉ số của bucket và đếm chuỗi dài nhất của các số 0 đứng đầu dựa trên các bit còn lại của chuỗi.&lt;br&gt;
Ví dụ cho dễ hiểu này. Nếu chúng ta muốn có 4 nhóm, chúng ta có thể sử dụng 2 bit đầu tiên của đầu ra giá trị băm làm chỉ số của các nhóm. Giả sử chúng ta có 4 phần tử và nhận các giá trị băm của chúng như sau :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hash(sđt1) = 100101 thuộc bucket số 2 (bucket: 10) với độ dài chuỗi số 0 đứng đầu dài nhất = 1 (phần còn lại: 0101)&lt;/li&gt;
&lt;li&gt;Hash(sđt2) = 010011 thuộc bucket số 1 (bucket: 01) với độ dài chuỗi số 0 đứng đầu dài nhất = 2 (phần còn lại: 0011)&lt;/li&gt;
&lt;li&gt;Hash(sđt3) = 001111 thuộc bucket số 0 (bucket: 00) với độ dài chuỗi số 0 đứng đầu dài nhất = 0 (phần còn lại: 1111)&lt;/li&gt;
&lt;li&gt;Hash(sđt4) = 110101 thuộc bucket số 3 (bucket: 11) với độ dài chuỗi số 0 đứng đầu dài nhất = 1 (phần còn lại: 0101)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Giá trị trung bình của chuỗi số 0 ở đầu dài nhất trong tất cả các nhóm là (0 + 2 + 1 + 1) / 4 = 1 . Do đó, ước lượng của chúng ta ở đây là 4 * 2¹ . Chú ý rằng gía trị này ở đây không gần với giá trị thực tế vì chúng ta đang xem xét trên rất ít mẫu, tôi chỉ muốn bạn hiểu được ý tưởng.
Bạn có thể tìm thêm thông tin chi tiết về hệ số hiệu chỉnh ϕ cho LogLog trong bài báo năm 2003 của các tác giả.&lt;br&gt;
Với LogLog, sử dụng lấy trung bình để làm giảm sai số. Sai số chuẩn của LogLog là 1,3 / √m, với m là số lượng bucket.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SuperLogLog: siêu Loglog :D&lt;/strong&gt;&lt;br&gt;
Các tác giả của thuật toán này tiếp tục làm việc để làm giảm sai số của thuật toán. Họ phát hiện ra rằng độ chính xác có thể được cải thiện đáng kể bằng cách loại bỏ một số các giá trị lớn nhất mà họ nhận được từ các buckets trước khi tính trung bình. Cụ thể hơn, khi thu thập các giá trị từ các buckets, chúng ta có thể giữ lại 70% giá trị nhỏ nhất và loại bỏ phần còn lại, sau đó lấy giá trị trung bình của các buckets. Bằng cách đó, sai số chuẩn được cải thiện từ 1,3 / √m xuống 1,05 / √m. Thật amazing phải không ? Họ đã quyết định đặt cho phương pháp này một cái tên, chính là: SuperLogLog&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HyperLogLog: Anh on top, em ở trên anh&lt;/strong&gt;&lt;br&gt;
Vào năm 2007, tác giả Flajolet cuối cùng đã tìm ra giải pháp cuối cùng của mình cho bài toán ước lượng số lượng này. Giải pháp này là HyperLogLog, được ông gọi là &amp;quot;thuật toán ước lượng số lượng gần như tối ưu&amp;quot;. Ý tưởng đằng sau nó rất đơn giản: thay vì sử dụng trung bình cộng để tính trung bình kết quả mà chúng ta nhận được từ LogLog, chúng ta sẽ sử dụng trung bình điều hoà!&lt;br&gt;
Ví dụ, trung bình điều của 1, 2, 4 là 3 / (1/1 + 1/2 + 1/4) = 3 / (1,75) = 1,714&lt;br&gt;
Tại sao sử dụng trung bình điều hoà? Bởi vì nó rất tốt trong việc xử lý các ngoại lệ lớn. Ví dụ, xem xét trung bình điều hoà của 2, 4, 6, 100:
4 / (1/2 + 1/4 + 1/6 + 1/100) = 4.32&lt;br&gt;
Hệ số ngoại lệ lớn 100 ở đây ít ảnh hưởng đến kết quả vì chúng ta chỉ sử dụng nghịch đảo của nó. Do đó, chúng ta có một phương pháp tính trung bình có thể ít bị ảnh hưởng bởi các giá trị ngoại lệ lớn.&lt;br&gt;
Bằng cách sử dụng trung bình điều hoà thay vì trung bình cộng được sử dụng trong LogLog và chỉ sử dụng 70% giá trị nhỏ nhất trong SuperLogLog, HyperLogLog đạt được sai số chuẩn là 1,04 / √m, thấp nhất trong số tất cả các phương pháp.&lt;/p&gt;
&lt;p&gt;Bây giờ chúng ta đã hiểu cách hoạt động của HyperLogLog. Thuật toán này có thể ước tính số lượng giá trị duy nhất trong một tập dữ liệu rất lớn bằng cách sử dụng ít bộ nhớ và thời gian. Chú ý rằng trong bài báo gốc, các tác giả không thực sự đếm chuỗi số 0 đứng đầu dài nhất, ở đây chúng ta đơn giản hoá để giúp dễ dàng nắm bắt ý tưởng của thuật toán này. Các bạn muốn biết rõ hơn nên tìm đọc trực tiếp các bài báo gốc.&lt;/p&gt;
&lt;p&gt;Vậy là chúng ta vừa cùng nhau quay trở về tuổi thơ với bài toán tập đếm. Đây thực sự là một thuật toán rất thú vị khi tôi đọc được, nó đã đánh bại sự lười biếng của tôi để ngồi dịch/viết ra bài này. Have good day!&lt;/p&gt;
&lt;p&gt;Tài liệu tham khảo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://towardsdatascience.com/hyperloglog-a-simple-but-powerful-algorithm-for-data-scientists-aed50fe47869&#34;&gt;https://towardsdatascience.com/hyperloglog-a-simple-but-powerful-algorithm-for-data-scientists-aed50fe47869&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://medium.com/@winwardo/counting-crowds-hyperloglog-in-simple-terms-1d345637db5&#34;&gt;https://medium.com/@winwardo/counting-crowds-hyperloglog-in-simple-terms-1d345637db5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

        
      </description>
    </item>
    
    <item>
      <title>Những chuyến tàu không về nơi xa</title>
      <link>https://hoalv.github.io/post/nhung-chuyen-tau-khong-ve-noi-xa/</link>
      <pubDate>Fri, 02 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hoalv.github.io/post/nhung-chuyen-tau-khong-ve-noi-xa/</guid>
      <description>
        
          &lt;p&gt;Một ngôi làng heo hút. Một ngôi chùa dưới triền đồi. Một con đường sắt chạy xuyên qua trong như chiếc thang vươn tới niềm vui xa xôi. Những năm chiến tranh, không có con tàu nào chạy qua. Mỗi sáng Chủ nhật, bọn trẻ con đi chùa thường đi men theo lề con đường sắt. Đôi khi chúng nhảy cóc trên từng thanh tà vẹt hoặc thi nhau đi thăng bằng trên hai thanh đường ray. Con đường buồn thiu, lau lách mọc đầy. Chúng không hình dung được cái xe chạy trên hai thanh sắt này trông ra sao, chỉ nghe người lớn nói rằng đó là những đoàn tàu, đông người đi và có cả ánh điện sáng trưng trên đó. Chúng mơ một ngày có đoàn tàu chạy qua.&lt;/p&gt;
&lt;p&gt;Và rồi cũng đến một ngày những chuyến tàu không chỉ đi về trong giấc mơ. Đoàn tàu chạy qua làng, nối những niềm vui xa xôi.&lt;br&gt;
Có những buổi trưa nắng, những đứa trẻ con trong làng bồng bế nhau chạy lốc thốc ra xem tàu. Có những buổi chiều muộn, khách trên tàu còn thấy những người nông dân chống cuốc đứng nhìn lên. Chẳng biết có phải họ đang ngắm đoàn tàu, hay họ chỉ tranh thủ lúc đoàn tàu đi qua và lúc mọi người đang ngắm tàu để ngơi nghỉ vài giây cho đỡ mỏi mà không thấy tiếc thời gian hoài phí?&lt;/p&gt;
&lt;p&gt;Trong ngôi nhà dưới chân đồi kia có cô bé con sống cùng bà ngọai. Cô cũng thường hay ngắm đoàn tàu và như đang mơ về nơi xa lắm. Cô bé rất hay vẫy tay nhưng những người ngồi trên các toa tàu không đáp lại. Họ thường ngồi bất động sau những tấm lưới chắn. Ngày ấy, có một thằng bé khác, là tôi, thường lấy làm buồn vì điều đó. Thằng bé ấy nghĩ một ngày nào đó có đủ tiền, nó sẽ mua vé lên tàu và sẽ một lần vẫy tay đáp lại nỗi cô đơn của cô bé. Bà ngọai cô bé suốt ngày khom lưng nhặt rác trong vườn. Hồi đó đám trẻ con không hiểu rác ở đâu bay đến, và chúng không hiểu nổi những hòn đá trên đường ray vì sao lại cứ ngả màu vàng trước khi chúng nhặt về chơi trò ném lon.&lt;/p&gt;
&lt;p&gt;Cậu bé xưa trở về, thấy cô bé nay đã lớn và bà lão vẫn còng lưng nhặt rác trong vườn. Cậu bé hiểu và thương, cậu không còn ngạc nhiên về nỗi bất động của những người đi trên tàu, hiểu những lo toan phiền muộn ở trên đường đời. Cậu cũng hiểu về chất thải trên tàu, cậu cũng biết vì sao những viên đá cứ ngả màu vàng và vì sao rác vẫn còn mãi trong vườn nhà bà.&lt;/p&gt;
&lt;p&gt;Đêm đêm dưới ánh đèn bàn học, thằng bé mơ mộng được chia sẻ hạnh phúc cho cô bé và bà ngọai của cô, khi mà trong nỗ lực của cậu luôn hướng về những chuyến tàu đi qua, những chuyến tàu chở niềm vui chia đồng đều đến mọi nhà sẽ không còn là giấc mơ về nơi xa lắm...&lt;/p&gt;
&lt;p&gt;- &lt;em&gt;Đoàn Công Lê Huy&lt;/em&gt; -&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>Hiện thực về xứ mộng mơ</title>
      <link>https://hoalv.github.io/post/hien-thuc-ve-xu-mong-mo/</link>
      <pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hoalv.github.io/post/hien-thuc-ve-xu-mong-mo/</guid>
      <description>
        
          &lt;p&gt;Cha ơi, vì sao người Huế ăn ớt nhiều?&lt;br&gt;
Vì đó là một thói quen ẩm thực thú vị của người quê nội con.&lt;br&gt;
Vì sao nữa ạ?&lt;br&gt;
Vì xứ Huế nóng và ẩm, mùa đông thì lạnh và ẩm, ăn ớt cho dễ thoát mồ hôi.&lt;br&gt;
Vì sao nữa ạ?&lt;br&gt;
Con ạ, vì ớt là món ẩm thực cho nhà nghèo. Một nhà thơ Huế nói rằng cha ông dạy con cháu biết ăn ớt để đánh lừa cái lưỡi. Chất cay bơm thêm vị ngon vào những món ăn thiếu chất bổ béo.&lt;br&gt;
Cha ơi, vì sao người Huế hay mơ mộng?&lt;br&gt;
Vì đó là một nét tính cách dễ thương của người quê nội con.&lt;br&gt;
Vì sao nữa ạ?&lt;br&gt;
Vì mùa đông mưa trắng đất trắng trời, ngồi bó gối ước ao trời tạnh. Vì mùa hạ đất cằn, trông trời mong một cơn mưa. Ước ao và mong ngóng là cha và mẹ đẻ ra mơ mộng.&lt;br&gt;
Cha ơi, vì sao xứ Huế có nhiều món chè ngon?&lt;br&gt;
Vì người quê nội thích ngọt ngào.&lt;br&gt;
Vì sao nữa ạ?&lt;br&gt;
Vì người lao động thiếu ăn để chuyển hóa năng lượng cho cơ bắp, nên triền miên thèm đường.&lt;br&gt;
Cha ơi, vì sao xứ Huế có nhiều loại bánh đến vậy?&lt;br&gt;
Vì người quê nội khéo tay tinh tế.&lt;br&gt;
Vì sao nữa ạ?&lt;br&gt;
Vì gọi là bánh để đánh lừa lỗ tai. Là bánh mà có thể chẳng có nhân. Là bánh mà có thể chỉ là bột sắn, không thêm chất béo cũng chẳng có chất đường. Nó chỉ là cục bột sắn luộc mà có tên là bánh sắn, bánh ngang, bánh chây, bánh ép...&lt;br&gt;
-...&lt;br&gt;
Cha muốn trả lời cho con bằng sự nên thơ, nhưng lại lo con hời hợt. Cha muốn trả lời cho con bằng cảm xúc, nhưng con lại muốn đi đến tận cùng lý tính. Cha muốn có thêm câu trả lời, nhưng hiểu biết của cha chỉ đến thế. Cha muốn con dừng lại, nhưng lại muốn con đi xa hơn. Vì cha không muốn con mãi ngây ngây thơ thơ với ký ức lụt bão là những ngày nghỉ học xắn quần đi lội nước. Với thiếu thốn gầy gò là cánh hạc lãng mạn, ảo huyền. Với ẩm thực khó khăn là nét tính cách độc đáo để nhâm nhi, ca ngợi trong tùy bút, tản văn, lấy cảm hứng viết lách trên nỗi ưu phiền của người quê nội. Cha muốn con hồn nhiên, nhưng lại sợ con suốt đời không đủ lớn khôn.&lt;br&gt;
Để làm gì hả cha?&lt;br&gt;
Để con yêu thương người. Để con biết nhìn vào sự thật đã giải ảo. Để sống có hiệu quả, để tiếp tục cố gắng và dựng xây. Và để mỗi mùa bão lụt đi qua không còn để lại nỗi tang thương đến thế!&lt;/p&gt;
&lt;p&gt;- &lt;em&gt;Đoàn Công Lê Huy&lt;/em&gt; -&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>Transaction - ACID</title>
      <link>https://hoalv.github.io/post/acid/</link>
      <pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hoalv.github.io/post/acid/</guid>
      <description>
        
          &lt;ul&gt;
&lt;li&gt;Các hệ thống dữ liệu trong thực tế, có thể xảy ra nhiều sai sót:
&lt;ul&gt;
&lt;li&gt;Phần mềm hoặc phần cứng của cơ sở dữ liệu (database) có thể bị lỗi bất cứ lúc nào (kể cả khi đang có hành động ghi dữ liệu vào database).&lt;/li&gt;
&lt;li&gt;Ứng dụng có thể gặp sự cố (kể cả khi đang thực hiện một loạt các hành động giữa chừng).&lt;/li&gt;
&lt;li&gt;Sự gián đoạn trong mạng có thể làm mất kết nối ứng dụng khỏi database một cách bất ngờ hoặc một node database này khỏi node database khác.&lt;/li&gt;
&lt;li&gt;Một số máy khách có thể ghi vào cơ sở dữ liệu cùng một lúc, ghi đè các thay đổi của nhau.&lt;/li&gt;
&lt;li&gt;Client có thể đọc dữ liệu không chính xác vì nó mới chỉ được cập nhật một phần.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Để đáng tin cậy, một hệ thống phải xử lý những lỗi này và đảm bảo rằng chúng không gây ra sự cố nghiêm trọng cho toàn bộ hệ thống. Tuy nhiên, việc thực hiện các cơ chế chịu lỗi rất phức tạp và tốn công. Nó đòi hỏi nhiều suy nghĩ cẩn thận về tất cả những sai sót có thể xảy ra và rất nhiều thử nghiệm để đảm bảo rằng giải pháp thực sự hoạt động.&lt;/p&gt;
&lt;p&gt;Trong nhiều thập kỷ, trasaction (giao dịch) là cơ chế được lựa chọn để đơn giản hóa những vấn đề này. Hiểu đơn giản giao dịch là cách nhóm nhiều hành động đọc và ghi dữ liệu lại với nhau thành một đơn vị logic. Về mặt khái niệm, tất cả các thao tác đọc và ghi trong một giao dịch được thực hiện như một hoạt động: toàn bộ giao dịch thành công (commit) hoặc không thành công (abort, rollback). Nhờ các giao dịch, việc xử lý lỗi trở nên đơn giản hơn nhiều cho một ứng dụng, vì ứng dụng không cần phải lo lắng về lỗi một phần — tức là trường hợp một số hành động thao tác với dữ liệu thành công và một số hành động không thành công (vì bất kỳ lý do gì). Mặc dù thoạt nhìn các giao dịch có vẻ đơn giản, nhưng trước tiên chúng ta cần hiểu chính xác các giao dịch đảm bảo an toàn cho dữ liệu như thế nào và những chi phí đi kèm theo đó.&lt;/p&gt;
&lt;p&gt;Hầu như tất cả các cơ sở dữ liệu quan hệ ngày nay và một số cơ sở dữ liệu không quan hệ (NOSQL) đều hỗ trợ các giao dịch. Hầu hết chúng tuân theo phong cách được giới thiệu vào năm 1975 bởi IBM Sys‐ tem R, cơ sở dữ liệu SQL đầu tiên. Mặc dù một số chi tiết triển khai đã thay đổi, nhưng ý tưởng chung vẫn giữ nguyên trong 40 năm: giao dịch trong MySQL, PostgreSQL, Oracle, SQL Server, v.v., tương tự như giao dịch trong System R. Vào cuối những năm 2000, cơ sở dữ liệu không quan hệ (NoSQL) bắt đầu trở nên phổ biến. NoSQL ra đời nhằm mục đích cải thiện các nhược điểm của cơ sở dữ liệu quan hệ bằng cách đưa ra các mô hình dữ liệu mới, đi cùng với các khái niệm về replication và partitioning. Các giao dịch là điểm yếu chính của sự chuyển đổi này: nhiều cơ sở dữ liệu thế hệ mới này đã từ bỏ hoàn toàn các giao dịch hoặc định nghĩa lại tập các đảm bảo mà yếu hơn nhiều so với trước đây. Xung quanh sự xuất hiện của các cơ sở dữ liệu phân tán mới này, nhiều người tin rằng các giao dịch và khả năng mở rộng không thể đi cùng nhau và bất kỳ hệ thống quy mô lớn nào cũng sẽ phải từ bỏ các giao dịch để duy trì hiệu suất tốt và tính sẵn sàng cao. Ở một ý kiến khác, đảm bảo giao dịch đôi khi được các nhà cung cấp cơ sở dữ liệu đưa ra như là một yêu cầu thiết yếu đối với “các ứng dụng nghiêm túc” và “dữ liệu có giá trị”. Cả hai quan điểm đều hơi thái quá. Sự thật không đơn giản như vậy: giống như mọi lựa chọn thiết kế kỹ thuật khác, giao dịch có những ưu điểm và hạn chế. Để hiểu những đánh đổi đó, hãy đi vào chi tiết về các đảm bảo mà giao dịch có thể cung cấp.&lt;/p&gt;
&lt;p&gt;Các đảm bảo an toàn được cung cấp bởi các giao dịch thường được mô tả bằng từ viết tắt ACID, chúng là Atomicity, Consistency, Isolation và Durability,  được đặt ra vào năm 1983 bởi Theo Härder và Andreas Reuter. Hãy cùng tìm hiểu sâu hơn về các khái niệm này.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Atomicity (Tính nguyên tử)&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
Nguyên tử dùng để chỉ một thứ không thể chia nhỏ thành các phần nhỏ hơn. Trong ngữ cảnh một giao dịch, Một giao dịch có nhiều thao tác khác biệt thì hoặc là toàn bộ các thao tác hoặc là không một thao tác nào được hoàn thành. Chẳng hạn việc chuyển tiền có thể thành công hay trục trặc vì nhiều lý do nhưng tính nguyên tố bảo đảm rằng một tài khoản sẽ không bị trừ tiền nếu như tài khoản kia chưa được cộng số tiền tương ứng.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Consistency (Tính nhất quán)&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
Một giao dịch hoặc là sẽ tạo ra một trạng thái mới và hợp lệ cho dữ liệu, hoặc trong trường hợp có lỗi sẽ chuyển toàn bộ dữ liệu về trạng thái trước khi thực thi giao dịch.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Isolation (Tính độc lập)&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
Một giao dịch đang thực thi và chưa được xác nhận phải bảo đảm tách biệt khỏi các giao dịch khác. Các sách giáo khoa về cơ sở dữ liệu cổ điển định nghĩa tính độc lập dưới dạng khả năng tuần tự hóa, có nghĩa là mỗi giao dịch có thể giả vờ rằng nó là giao dịch duy nhất chạy trên toàn bộ cơ sở dữ liệu&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Durability (Tính bền vững)&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
Mục đích của hệ thống cơ sở dữ liệu là cung cấp một nơi an toàn, nơi dữ liệu có thể được lưu trữ mà không sợ bị mất đi. Tính bền vững là lời hứa rằng một khi giao dịch có kết quả thành công, bất kỳ dữ liệu nào nó đã ghi sẽ không bị mất đi, ngay cả khi có lỗi phần cứng hoặc cơ sở dữ liệu bị treo.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Kết luận:&lt;/em&gt;&lt;br&gt;
Giao dịch là một lớp trừu tượng cho phép ứng dụng giả vờ rằng một số vấn đề về xử lý đồng thời và một số loại lỗi phần cứng và phần mềm không tồn tại. Ứng dụng chỉ cần đơn giản là hủy giao dịch lỗi và thực hiện lại.&lt;/p&gt;
&lt;p&gt;Nhiều hệ thống NoSQL đã từ bỏ cơ chế giao dịch để đáp ứng khả năng mở rộng, tính sẵn sàng và hiệu năng. Không may, điều này có nghĩa là các ứng dụng sử dụng hệ thống dữ liệu đó hoặc cần phải thực hiện quản lý giao dịch của riêng nó - điều này là rất khó để triển khai chính xác - hoặc chấp nhận rằng dữ liệu của nó là gần đúng.&lt;/p&gt;
&lt;p&gt;Nói chung, có nhiều thách thức khó khăn phát sinh nếu bạn cố gắng thực hiện các giao dịch trong các cơ sở dữ liệu phân tán. Tuy nhiên nó không nằm trong phạm vi của bài viết này.
Have good day!&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>Xin ba đừng cấm con học văn</title>
      <link>https://hoalv.github.io/post/xin-ba-dung-cam-con-hoc-van/</link>
      <pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hoalv.github.io/post/xin-ba-dung-cam-con-hoc-van/</guid>
      <description>
        
          &lt;p&gt;XIN BA ĐỪNG CẤM CON HỌC VĂN&lt;/p&gt;
&lt;p&gt;Ba!&lt;br&gt;
Chắc ba sẽ rất ngạc nhiên khi đọc những dòng này của con. Đứa con gái hằng ngày ba vẫn đưa đi học, vẫn yêu chiều, nâng niu, bỗng viết thư cho ba. Vâng, vì lúc này cả con, cả ba mẹ đều đang băn khoăn trong việc chọn cho con một môn chuyên, một khối học hợp lí ở trường THPT. Ba mẹ mong con thi vào chuyên Toán hay chuyên Anh- những môn học thời thượng và đảm bảo tương lai. Nhưng ba ơi, thế kỉ XXI đâu chỉ cần Toán, Ngoại ngữ, Tin học. Xin ba đừng cấm con học văn! Vì văn học, với con là niềm say mê lớn!&lt;br&gt;
Con còn nhớ ba đã vui như thế nào khi nhận món quà sinh nhật là chiếc khăn tay con tự đan. Những mũi đan tuy thô mộc, vụng về nhưng nó chứa đựng cả tình yêu thương và sự kính trọng của con. Và mẹ cũng đã từng mỉm cười hạnh phúc khi một ngày làm việc mệt mỏi, trở về, thấy nhà đã sạch và mâm cơm đã sẵn sàng. Ba mẹ nói, ba mẹ rất vui khi thấy con trưởng thành từng ngày, có trách nhiệm với bản thân, biết quan tâm đến mọi người. Ba biết không? Đó là những dấu hiệu đầu tiên mà văn học, mà thầy giáo và những trang sách đã dạy cho con. Văn chương dẫn con vào một thế giới mà sự cho đi không đòi hỏi sự đáp lại. Văn chương chân chính dù ở thời đại nào cũng đề cao tình yêu thương, lòng nhân ái, sự công bằng. Học văn, con nhận thấy thế giới này sẽ đẹp hơn nhiều từ những điều giản dị: như nụ cười của mẹ hay niềm vui của ba.&lt;br&gt;
Ba cùng con xem một chương trình truyền hình về con sông Đà. Ba đã rất ngạc nhiên khi con biết khá nhiều về một con sông xa lạ, những điều vượt khỏi tầm tay một cô bé 15 tuổi. Có gì đâu ba ơi! Văn học đã dạy con điều đó. Ba cứ đọc tùy bút Sông Đà của nhà văn Nguyễn Tuân sẽ thấy. Với văn học, con chỉ cần ngồi một mình trong phòng mà có thể đi khắp thế gian, quay về quá khứ, đến tương lai, trên trời hay xuống biển, bước vào thế giới cổ tích. Bởi vì &amp;quot; sách mở ra trước mắt ta những chân trời mới&amp;quot;, hay như một nhà tỉ phú từng nói &amp;quot; Nếu không thể tặng cho con tấm vé máy bay, hãy đưa cho con một cuốn sách&amp;quot;.&lt;br&gt;
Ba mẹ mua cho con máy vi tính, nhà mình nối mạng Internet. Con có thể nói chuyện với những người bạn ở khắp năm châu. Nhưng thật kì lạ là những người nước ngoài lại thích ngôn ngữ Việt dù rằng &amp;quot; Phong ba bão táp không băng ngữ pháp Việt Nam&amp;quot;. Học văn, yêu văn con càng trân trọng tiếng mẹ đẻ. Và dù rằng có thể lướt web, gõ bàn phím bằng mười đầu ngón tay, nhưng sẽ ra sao nếu con quên cách cầm bút? Quen với&amp;quot; chát&amp;quot; với e-mail rồi liệu sẽ còn ai viết những bài thơ, những là thư tình ngày xưa ba viết cho mẹ? Con yêu vô cùng những chữ o tròn, chữ ô đội mũ. Văn học đã dạy con biết yêu quý tiếng nói dân tộc mình, đất nước mình, vì đó là cội nguồn phải không ba?
Ba ơi! Vì sao ba thích học Toán? Vì sao ba yêu mẹ? Đó có phải là niềm say mê không? Với văn chương, con cũng có một niềm say mê lớn, niềm say mê không thể lí giải vì đâu. Chỉ biết khi học văn, đọc văn, con thấy sự thanh thản trong tâm hồn, thấy &amp;quot; yêu đời, yêu người và lớn hơn một chút&amp;quot;.&lt;br&gt;
Ba vẫn nói thế kỉ XXI hội nhập toàn cầu, Toán, Tin học, Ngoại ngữ quan trọng hơn bao giờ hết; văn chương không có tính ứng dụng, tương lai của con sẽ không chắc chắn. Ba khuyến khích con học Toán, Tin học, Ngoại ngữ. Con nghĩ ba đúng vì đó là những hành trang cần thiết của con người hiện đại. Không phủ nhận rằng học Toán thì tương lai của con sẽ ổn định hơn. Nhưng nếu thế, cả cuộc đời con sẽ phải gắn bó với thứ mà mình không yêu thích, không say mê, con sẽ buồn, sẽ sống nhạt nhẽo lắm đấy! Chắc chắn ba không muốn con sống mờ nhạt đơn điệu phải không ba?
Văn chương là sự yêu thích, là mơ ước của con. Ba có biết anh chàng ca sĩ mà con yêu thích không? Anh ấy học rất giỏi, từng làm lớp trưởng một lớp chuyên Hóa và đi du học ở Đức. Nhưng anh ấy yêu ca hát, và quyết định theo đuổi đến cùng ước mơ trở thành ca sĩ. Con muốn gữi lấy ước mơ của mình, sống cho chính ước mơ ấy, như con chim trong trong cuốn tiểu thuyết Tiếng chim hót trong bụi mận gai, thà chịu đau đớn để cất lên tiếng hót tuyệt diệu, khiến thượng đế cũng phải mỉm cười còn hơn suốt đời sống trong im lặng...
Ngày nay, cuộc sống con người cứ lao về phía trước. Dường như sự tĩnh lặng trong từng con chữ, sự sâu sắc của những trang văn có thể giúp con nhìn lại mình, có những khoảng bình yên trước khi bước tiếp. Trong cuộc sống, mọi loại văn bản, mọi thứ ngôn ngữ, mọi lời giao dịch cũng đều có cái gốc là tâm tư của con người, là văn chương đấy thôi?
Ba vẫn bảo con là đứa con gái quá nhạy cảm, quen được ba mẹ bao bọc. Nếu để con rời ba mẹ mà lại quá say mê trong thế giới văn chương thì con sẽ phải chịu nhiều sóng gió. Con biết, ba mẹ làm tất cả chỉ vì thương con. Nhưng con gái bé bỏng của ba có thể nói rằng: nếu được sống với bản thân mình, với những thứ mình yêu, thì dẫu sóng gió cũng là hạnh phúc.
Ba còn nhớ không? Năm con học lớp 6, con trượt trong kì thi học sinh giỏi môn Toán, ba đã tặng con cuốn sách: Đừng bao giờ từ bỏ ước mơ. Chưa bao giờ con lại thấy nhưng trang văn trong cuốn sách ấy kì diệu đến thế. Văn chương đã sưởi ấm nâng đỡ, cổ vũ con người. Con đã yêu văn từ ngày ấy...&lt;br&gt;
Nhà thơ Nguyễn Công Trứ từng có câu:&lt;br&gt;
Đã trót vướng vào duyên bút mực&lt;br&gt;
Cả đời mang lấy số long đong&lt;br&gt;
Con học văn đã lâu, ba mẹ có thấy con có chút &amp;quot; long đong &amp;quot; nào chưa nhỉ?&lt;br&gt;
Còn con, con thấy mình lớn hơn, biết yêu thương, biết quan sát, biết lắng nghe và chia sẻ nhiều hơn. Ba đã từng nói: sự trưởng thành của con là niềm vui của ba mẹ!&lt;br&gt;
Vậy ba ơi! Xin ba đừng cấm con học văn!&lt;/p&gt;
&lt;p&gt;- &lt;em&gt;Bài viết của bạn Trần Bích Ngọc - THPT chuyên Bắc Ninh - 2014&lt;/em&gt; -&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>Đủ ngây thơ để tận hưởng</title>
      <link>https://hoalv.github.io/post/du-ngay-tho-de-tan-huong/</link>
      <pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hoalv.github.io/post/du-ngay-tho-de-tan-huong/</guid>
      <description>
        
          &lt;p&gt;Tôi nhớ khi còn đi học, có đọc tự truyện du học Pháp của một giáo sư nổi tiếng. Ông kể, trước khi lên đường thật háo hức, nhưng khi đứng bên bờ sông Seine, trong lòng chàng trai trẻ chẳng có chút mảy may xúc động. Là bởi con sông này, ông đã thuộc lòng vận tốc dòng chảy, mực nước lên xuống theo mùa, dài bao nhiêu cây số, chỗ rộng nhất hẹp nhất là bao nhiêu… Chuyên ngành ruột của chàng mà!&lt;/p&gt;
&lt;p&gt;Lần khác tôi nghe lỏm câu chuyện của anh sinh viên Y khoa trọ sau trường rằng cầm tay người yêu lần đầu, anh phát hiện ra người yêu…bị sốt. Đã quen với những buổi thực tập nội trú trong bệnh viện, bắt mạch cho bệnh nhân, phản xạ đầu tiên khi cầm tay ai đó với anh là “kiểm tra thân nhiệt”.&lt;/p&gt;
&lt;p&gt;Một anh khác khôi hài tự trào rằng con gái ngại yêu anh, chắc vì anh học Toán xác suất. Chỉ cần nhìn thẳng vào mắt nhau, hỏi đôi câu là anh biết cô gái đối diện đã từng say nắng bao nhiêu chàng rồi.&lt;/p&gt;
&lt;p&gt;Đôi khi tự ngẫm, tôi thấy bản thân cũng mắc chứng này. Khi đọc một cuốn sách mà tay kia chực kéo ngăn bàn lấy bút để biên tập những câu cú thấy ngứa mắt. Khổ nỗi lúc đó lại đang ngồi trên máy bay, nên người ngồi cạnh quay sang nhìn sửng sốt. Người ta bảo đấy là “bệnh nghề nghiệp”.&lt;/p&gt;
&lt;p&gt;Đâu phải chỉ là lý do nghề nghiệp.&lt;/p&gt;
&lt;p&gt;Bởi trong cuộc đời, nhiều lần ta đánh mất cơ hội được trải nghiệm khác đi, được tận hưởng một cảm xúc mới, chỉ vì ta đã tỏ ra quá khôn ngoan. Càng trưởng thành thì con người càng khôn ngoan. Nhưng con người cũng vì thế hay buồn khổ, thấy ngày qua chỉ có vui nho nhỏ mà lắm buồn mênh mông.&lt;/p&gt;
&lt;p&gt;Tôi nhớ một cậu bé con. Thời tiết giông tố, chớp rạch ngang trời, ai cũng chết khiếp, chỉ có cậu đứng vỗ tay hoan hô: A, trời chụp ảnh! Cái ánh chớp giống tố với cậu đơn giản là ánh đèn flash khi chụp ảnh. Thật hạnh phúc làm sao! Tất nhiên, sau đó, nếu sét đánh vang rền thì cậu mới giật mình khóc òa.&lt;/p&gt;
&lt;p&gt;Cũng có khi sét không rền, chỉ là sấm nổ xa xăm. Cuộc đời có lẽ cũng thế. Nhưng ta hay mặc định ánh chớp báo hiệu cho sấm sét nên chẳng còn được tận hưởng một cú “flash vui đời”. Một cú chớp sáng ghi lại trong ta một khoảnh khắc thơ ngây, tưởng tượng và cảm hứng. Ta lớn lên và đánh mất dần tài sản thơ ngây vốn ít ỏi, cho dù ta khôn ngoan hơn, nhưng dường như ta cũng mất đi nhiều cơ hội tận hưởng hạnh phúc.&lt;/p&gt;
&lt;p&gt;Cho dù bạn bao nhiêu tuổi, hãy gắng giữ lấy chú bé con trong tâm hồn mình. Đó có thể là lò phản ứng hạt nhân vĩnh cửu, sản sinh năng lượng để bạn có thể đi thật xa trên con đường kiếm tìm hạnh phúc trong cuộc đời này.&lt;/p&gt;
&lt;p&gt;Và trên đường đi luôn nhớ, khôn ngoan để sống với người. Nhưng phải đủ ngây thơ thì mới tận hưởng phần nào hạnh phúc ở đời.&lt;/p&gt;
&lt;p&gt;- &lt;em&gt;Hà Nhân&lt;/em&gt; -&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>Tết người trưởng thành</title>
      <link>https://hoalv.github.io/post/tet-nguoi-truong-thanh/</link>
      <pubDate>Sat, 27 Feb 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hoalv.github.io/post/tet-nguoi-truong-thanh/</guid>
      <description>
        
          &lt;p&gt;Hôm nay là Hai ba tháng Chạp, cúng Ông Công Ông Táo. Nếu là 7, 8 năm về trước tâm trạng hẳn đã trở nên náo nức về một ngày &amp;quot;khác mọi ngày thường&amp;quot;, ngày mẹ chuẩn bị một mâm cỗ cúng tươm tất, bày biện bàn thờ, bố thắp hương khói nghi ngút, cúng khấn một đoạn từ ngữ bí ẩn. Sân sau nhà, mấy con cá chép bằng hai ngón tay, vàng óng ánh mẹ mua từ sáng, lượn lờ trong cái chậu nhỏ với phân nửa nước. Đám con nít hiếu kỳ khi ấy chả biết thực hư, hằng năm cứ nghe đi nghe lại câu chuyện cưỡi cá chép bay về trời, mắt sáng rực rỡ. Lớn lên, mở mang, mới hay câu chuyện thần Táo Quân, sự tích &amp;quot;2 ông 1 bà&amp;quot;. Nhưng lớn lên, mọi điều thú vị đó chẳng còn mang lại sự hân hoan, có phải lớn lên là như vậy, là quên đi những niềm vui cũ, hay những niềm vui nhỏ bé ngày xưa không thể vơi lấp những áp lực cuộc sống của con người trưởng thành. Hoặc rằng, lớn lên con người ta bỗng trở nên nhàm chán. Sáng lên công ty, thấy cuộc sống Hà Nội hôm nay vẫn như mọi ngày, cuộc sống vẫn chẳng vì thế mà chậm lại, vẫn list task chưa làm xong, vẫn miệt mài chạy deadline những ngày cuối năm. Hà Nội 6 năm trước là một nơi xa lạ, nhưng đến bây giờ vẫn chẳng thấy thân thuộc.&lt;/p&gt;
&lt;p&gt;Hơn hai chục năm từ lúc biết nhận thức, những ngày gần tết luôn là những ngày mang lại thứ tâm trạng háo hức kỳ lạ. Mong chờ về ngày lễ truyền thống lớn nhất năm, không phải đi học, được mua quần áo mới, ăn đồ ăn ngon, thấy bố mẹ dọn dẹp trang hoàng nhà cửa, chợ tết đông người nhộn nhịp, quất đào mai xếp dọc hai bên đường. Lì xì thì không phải bàn, có những hôm tết, đang bên nhà hàng xóm chơi, thấy nhà có khách là chạy về ngay, dõng dạc &#39;Cháu chào bác&#39; kèm theo lời chúc tết đã tập đi tập lại. Về sau khi trình độ môn văn vẫn vậy nhưng sự tinh tế đã tiệm cận lên một level mới thì văn mẫu ngày xưa được bài bản thêm đoạn kết bài &#39;Dạ thôi, cháu lớn rồi&#39;.&lt;br&gt;
Những cảm xúc về ngày tết ấy cứ dần mất đi trong khi ta còn không kịp để ý, tới lúc nhận ra thì đành chỉ biết hoài niệm. Cận tết, mấy năm gần đây luôn bắt gặp trên các trang mạng xã hội những bài viết về việc tết ngày càng trở nên tẻ nhạt, đó là cảm xúc của người viết ra content, hay cảm xúc của đa số người đang trưởng thành. Không phải &#39;đã&#39; mà là &#39;đang&#39;, vì tôi cũng chẳng biết người lớn tầm tuổi như bố mẹ ông bà có thay đổi suy nghĩ về tết bây giờ so với tết xưa không. Và cũng không chắc khi hỏi đám con nít bây giờ có chán tết không thì sẽ nhận được câu trả lời thế nào, trong suy nghĩ, tôi vẫn luôn tin rằng chúng nó sẽ bảo là không chán, trong mắt trẻ con luôn hiện rõ sự háo hức khi nhắc đến tết. Vậy thật sự tết nay không vui bằng tết xưa hay do chính bản thân con người thay đổi?&lt;/p&gt;
&lt;p&gt;Một trong những bài viết của Hà Nhân mà tôi luôn rất thích đó là &amp;quot;Chú bé con trong mỗi người&amp;quot;, tôi không thể nhớ chính xác tất cả nội dung (bao gồm cả tên bài viết :D).
Đại khái rằng, mỗi chúng ta luôn có một đứa trẻ trong mình - đứa trẻ luôn tò mò về tất cả mọi thứ, luôn mơ mộng về những điều lớn lao, và hạnh phúc với những niềm vui nhỏ bé.
Lớn lên bao nhiêu phần lớn trong chúng ta hạ chuẩn mơ ước của mình xuống bấy nhiêu, song song đó, chúng ta không dễ vui với những điều đơn giản, niềm vui bây giờ phải là cái gì đó phức tạp, to lớn. &amp;quot;Nên nhiều khi hãy xem lại những tấm hình cũ thời ta còn thơ bé. Xem lại bé con trong hình, nhớ lại những giấc mơ thời nhỏ, và sờ lên vành tai mình xem đã nóng đỏ lên chưa?” (OK đây là câu tôi nhớ nhất, haha).&lt;/p&gt;
&lt;p&gt;Sau tất cả những suy nghĩ trên, tôi mạnh dạn đưa ra kết luận: tết vẫn vui nhưng người đang trưởng thành thấy tết không (còn) vui. Và áp lực trưởng thành, áp lực cuộc sống có lẽ là thứ bị buộc tội. Nhưng tôi cho đó là một ví dụ cho sự phát triển tự nhiên, tới một thời điểm trong cuộc đời chúng ta chẳng thể cứ vô tư được nữa, phải nhìn nhận cuộc sống một cách thực tế hơn, phải học cách thích nghi và tìm ra cách tận hưởng niềm vui trong những sự thay đổi này, đó là cách đúng đắn để đối mặt.&lt;/p&gt;
&lt;p&gt;Suy cho cùng, &amp;quot;Bây giờ tôi cũng vẫn còn chờ Tết, không phải vì áo mới, vì thịt gà dưa hấu, mà muốn kết lại một chặng đường, để sau tết sẽ sống những ngày mới. Để thấy những lỗi lầm, những dại dột đã thuộc về quá khứ, không thể chỉnh sửa&amp;quot;.&lt;/p&gt;

        
      </description>
    </item>
    
  </channel>
</rss>
