[{"content":"Bài thơ viết trong một ngày cuối hè nóng bức cùng sự sầu não dễ hiểu của một tâm hồn ngây thơ.\nNgười thương ở đâu\nSao chẳng thấy\nThân này mệt rã\nCó ai hay!\nBốn năm quen biết\nThi thoảng gặp\nMà nay thân quá\nHoá người dưng\nCạnh nhau im thít\nSờ thì thấy\nMà gần chẳng nổi\nCó lạ không!\nTưởng thoát âu lo\nTràn ngập nắng\nMà khi tỉnh giấc\nHoá cô đơn\nThương cái thân tôi\nGiận tím mặt\nNghĩ người lợi dụng\nCó điên không!\n","date":"2023-08-31T11:30:05+07:00","image":"https://japananh.github.io/blog/p/thuong-than/cover_hucd4eab8f560144cbaae415828c4e2836_14062_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/thuong-than/","title":"Thương thân"},{"content":"Tôi hay theo dõi các thông tin của nghệ sỹ Lê Cát Trọng Lý và ngôi trường dễ thương của chị mang tên Carnation Art School House - Nhà Nghệ thuật Cẩm Chướng. Hôm nay, tôi tình cờ thấy form đăng ký khoá học Hoà hợp với thiên nhiên. Tôi đặc biệt chú ý tới phần giới thiệu khoá học Hoà hợp với tự nhiên. Những câu chữ đã chạm vào trái tim tôi, lôi ra nhiều cảm xúc rối bời. Sau đây, tôi xin trích toàn bộ nội dung ấy dưới đây. Hi vọng sẽ chạm được tới ai đó ngoài kia.\nSẽ có những lúc trong cuộc sống, bạn cảm thấy dường như mình đang “trật nhịp” với tất cả mọi thứ. Trật nhịp với một ông sếp hà khắc, trật nhịp với một câu nói đùa vô thưởng vô phạt, trật nhịp với đèn đỏ đèn xanh trên đường về nhà từ cơ quan, trật nhịp với câu chuyện thời thượng của con cái, trật nhịp với cái lạnh đến vội khi mình còn chưa ý thức mùa thu vừa đi qua, trật nhịp với cử chỉ ám chỉ cần một cái ôm từ người mình yêu, trật nhịp với cả chính hơi thở hay mong ước ấu thơ của mình. Và có vẻ trong nhiều lúc “trật nhịp”, mình ghét cái tự nhiên đáng chán này, vì mình muốn một cái tự nhiên tốt đẹp hơn. Trong cơn vội vã hấp hối muốn “hoà nhịp” trở lại, mình lại càng trở nên trật lất hơn bao giờ hết. Những lúc đó,\nChúng ta thường muốn đi đâu đó thật xa vài ngày,\nNgồi trước một mặt hồ phẳng lặng cùng người không phiền mình, hoặc là ngồi một mình.\nĐi bộ vào trong rừng, hay là đi leo núi,\nPhần lớn người thì,\nĐi uống bia,\nĐi hát karaoke,\nNhậu một bữa thật ngon với bạn bè, không cần chuyện trò sâu sắc gì cả,\nHay là đi mua sắm, đi spa cho thư giãn,\nMột số ít thì,\nĐọc sách,\nThiền,\nTự hỏi “nguyên nhân trật nhịp” đến từ đâu,\nĐi khám bác sỹ,\nĐi học..\nÀ, đi học,\nNgười lớn rồi mà còn phải đi học ư? Có vẻ như nói ra điều đó sẽ xấu hổ với bạn bè hay người quen xung quanh vì chẳng lẽ mình còn ngốc, và làm điều vớ vẩn? Học để làm gì khi đã có công việc tốt rồi, có gia đình rồi, có nhà cửa rồi? Tại sao lại phải học nữa? Có vẻ như, chừng nào còn trật nhịp nhiều, chừng đó còn nhiều niềm vui để khám phá, để học, và cũng để chia sẻ “những loại trật nhịp khác nhau” từ mỗi người.\nĐi học để đối diện với cái “Trật nhịp” của mình, để cùng nhau tìm hiểu, khám phá nguyên nhân của những lần “trật nhịp”, để gợi lại, nhớ lại, làm sâu đậm thêm cảm giác “hoà nhịp” trở lại với chính mình, với tự nhiên xung quanh. Và nếu đủ sự nhận ra, hy vọng chúng ta có thể cùng bước trên con đường trở lại “hoà nhịp” với chính mình, hoà hợp với tự nhiên, với môi trường sống xung quanh. Điều đó thật đáng để chúng ta bỏ công sức đầu tư đào sâu nội tâm của chính mình. Để hạnh phúc hơn, thanh thản hơn.\n","date":"2023-04-04T17:44:50+07:00","image":"https://japananh.github.io/blog/p/trat-nhip/cover_hu1ee071a2d82c2658c3a2ed398b99b930_558131_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/trat-nhip/","title":"Trật nhịp"},{"content":"Khi một tâm hồn đẹp đi kèm lòng người u ám xao động thì chúng ta sẽ có một nỗi sầu để thưởng.\nLiễu yếu đào tơ ta không phải\nBánh bèo ngay thẳng chính là ta\nĐội trời đạp đất ham không nổi\nQuét nhà rửa bát bao đảm đang.\nLòng này nặng trĩu, thơ lai láng\nMột nỗi sầu riêng, ai thấu cho\nThôi thì mặc ai, để sầu đó\nGói tất cả lại, ta đi tu.\nThôi thì thôi đi, giải thích nhiều\nBực mình chẳng muốn nói gì đâu\nTrăng hoa gẹo bướm mong không phải\nUyên ương lục đục kéo ta vô.\n","date":"2023-02-24T11:48:05+07:00","image":"https://japananh.github.io/blog/p/sau-rieng/cover_hu8abe4bcb1f45c049ad02d9a6db008d99_124553_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/sau-rieng/","title":"Sầu riêng"},{"content":"Ngày cuối cùng trong năm kết thúc bằng một trận đau đầu bắt đầu từ lúc nâng set tạ cuối của bài đầu tiên và cơn đau kéo dài tới tận tối khiến tôi gần như không thể thư giãn và tập trung nổi để nghĩ về kế hoạch cho năm tới. Trong lúc cố gắng viết bài cuối cùng của năm 2022, tôi đang thấy tủi thân và cô đơn. Tuy vậy, tôi vẫn rất bình tĩnh vì tôi biết rằng cơn mưa nào rồi cũng sẽ tạnh thôi.\nMột năm cũ “lại” sắp qua và năm mới “lại” tới. Vẫn là những bản nhạc Tết mang cùng thông điệp “về nhà đi”. Vẫn là những món ăn nhà nào cũng làm. Vẫn là những câu năm nào mọi người cũng hỏi nhau. “Bao giờ lấy chồng?” “Lương tháng bao nhiêu rồi?” Chả hiểu sao Tết tây, Tết ta năm nào tôi cũng thấy “chán đời”. Không biết là do “FA lâu năm” hay là do “bình mới rượu cũ” nữa. Chỉ biết là ở khoảnh khắc giao thừa này, tôi muốn viết thứ gì đó động viên bản thân.\nNội chiến Những giấc mơ của tôi đều là những cuộc chiến “đẫm máu” giữa tôi và một thế lực huyền bí nào đó. Dù tôi không nhớ chính xác từng chi tiết của giấc mơ, tôi phát hiện ra những giấc mơ của tôi chỉ xuất hiện ở giai đoạn tôi stress và đều mang cùng một thông điệp về sự đấu tranh nội tâm một mất một còn, hết sức khốc liệt.\nPersona là từ mà tôi rất thích dùng để ám chỉ hình ảnh công khai về tính cách hoặc vai trò xã hội của một người, gọi cho dễ hình dung là “mặt nạ”. Chúng ta đều mang trong mình nhiều thứ “mặt nạ” khác nhau. Ở nơi công sở, bạn phải đeo mặt nạ “nhân viên ngoan”, “đồng đội ngoan”, good team player. Ở nhà bạn phải đóng vai “con ngoan”, “người bạn đời đúng chuẩn” hay “phụ huynh mẫu mực”.\nPersona khiến chúng ta dễ hoà nhập vào cộng đồng và khiến cuộc sống dễ chịu hơn. Ai chả thích được làm người bạn của muôn người. Sống khéo léo không đồng nghĩa với sống ba phải, lươn lẹo. Về lâu dài, việc lạm dụng persona và sống không đúng với bản chất của mình có thể dẫn tới sự mâu thuẫn về tính cách. Lâu dần, gây ra sai lệch về hành vi, mất kiểm soát và có thể là “tâm thần”.\nTrở lại câu chuyện về những giấc mơ, khi kết nối những mảng ghép trong cuộc sống mà những mẩu trí nhớ còn sót lại sau mỗi giấc mơ, tôi bắt đầu hiểu những thông điệp mà tiềm thức muốn nhắn nhủ. Hãy quyết đoán (không bao giờ quay đầu trong mỗi trận đánh, chiến đấu hết mình) và khéo léo hơn để tránh rắc rối (thể hiện ở việc tìm cách chiến đấu thông minh hơn).\nBi hoan hỉ Tôi tự thấy mình là một đứa rất chán đời, không có hứng thú kết bạn với ai và chắc cũng chả ai muốn kết bạn với tôi cả. Phần lớn thời gian tôi ở một mình, ngồi học gì đó, đọc sách hoặc chơi với mấy bạn pet. Đôi lúc, tôi thấy không hề thoải mái và thậm chí là hoảng sợ khi ở nơi đông người. May mắn là sau khi biết tới xu hướng này của người hướng nội trong cuốn Quiet của Susan Cain thì tôi đã không còn than phiền về “sự thu lu” của chính mình. Thay vào đó, tôi học cách ôm ấp bản thân mình nhiều hơn.\nTôi từng vô tình đọc một câu dễ thương như thế này “Cô đơn đầu tiên và cuối cùng”. Những hoạt động “giải trí” của tôi đa phần được xếp vào dạng “học tập, làm việc” của người khác nên phần lớn tôi không dễ kết bạn. Tôi thích bàn luận về những thứ “có não” một tí mới chịu được. Kiến thức có thể nói là một dạng rào cản mà một khi bạn biết càng nhiều thì số người am hiểu thứ bạn biết càng ít. Điều đó đồng nghĩa là ít bạn hơn, cô đơn nhiều hơn. Và nếu may mắn gặp người cùng sở thích với mình thì sẽ chơi được vui hơn và bền hơn.\nTiểu hành tinh va chạm Hồi bé tôi rất thích cách ví von đời người như một chuyến tàu dài, người lên kẻ xuống. Có những người ở lại với chúng ta từ bến đầu tới bến cuối, có người chỉ ở lại vài bến rồi lại xuống tàu đi một hướng khác. Tôi là một đứa trẻ nhạy cảm. Vì hầu như cuộc chia tay nào với tôi cũng thấy lâm li bi đát nên tôi cứ cố níu bạn mình lại. Thế là, tôi lại thành kẻ vô duyên. Mãi về sau, khi đọc về phong cách tối giản thì tôi mới học cách buông bỏ.\nNgười ta lớn lên học cách né nỗi đau. Một trong những chiến lược được nhiều người chọn là giữ cho mối quan hệ “vừa đủ”, không để ai chạm vào bên trong mình. Tôi cũng không ngoại lệ. Chẳng biết họ có buồn không nhưng tôi thì có một dạo buồn và suy nghĩ nhiều lắm.\nKhi hai tiểu hành tinh va chạm thì gây ra những hệ quả khó lường, tuỳ vào vận tốc và kích thước của chúng. Một ví dụ điển hình là vụ việc Tiểu hành tinh 2022 EB5 rực cháy khi tiến vào bầu khí quyển của Trái Đất, trước khi lao xuống một vùng biển ở phía Bắc Iceland.\nLà một con người có xu hướng quy đổi mọi thứ thành “con số” cho dễ “tính”, sau khi cân đo một hồi thì giữa việc chọn nỗi buồn khi tiểu hành tinh va chạm mình và nỗi buồn của sự “an toàn” thì về lâu dài, tôi ghét sự “an toàn”.\nDự báo thời tiết Đầu năm tôi có truyền thống là viết một cái Resolution để cuối năm nhìn lại xem mình đang ở đâu và làm được những gì. Trong số 9 mục tôi viết ra năm 2022 thì chỉ có duy nhất mục số 3 - Đọc hết 25 cuốn (Finish reading list) và mục số 6 (do thay đổi sự nghiệp) là chưa hoàn thành. Có thể nói tôi hài lòng với các những gì mình đạt được.\nDưới đây là mục tiêu cho năm 2023: Tìm hiểu sâu hơn về Khoa học máy tính, cụ thể là Kiến trúc máy tính Thử thách bản thân về thể chất và tinh thần Cho và nhận yêu thương Làm việc có ích và giúp đỡ mọi người Ráng vui vẻ và hạn chế nghiêm túc quá My resolutions for 2023: Dive deep into Computer Science (Computer Architecture) Challenge me physically \u0026amp; mentally Give love and take love Try to be useful + help others Have fun + make fun of myself ","date":"2022-12-31T23:45:12+07:00","image":"https://japananh.github.io/blog/p/cu-giao-lai-moi-tiep-lay/cover_hud2a3dd6e2d1bc63c3ea6e1af5c8037be_27712_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/cu-giao-lai-moi-tiep-lay/","title":"Cũ giao lại, mới tiếp lấy"},{"content":"Giải đấu Powerlifting 2022 do Liên đoàn Powerlifting Việt Nam - VPF, trực thuộc Liên đoàn Powerlifting thế giới - IPF, tổ chức đã trôi qua được mấy ngày nhưng giờ tôi mới có thời gian ngồi xuống và viết vài dòng tâm sự sau giải.\nĐây là một giải đấu quy mô quốc gia, quy tụ rất nhiều những Powerlifters và những influencers nổi tiếng trong ngành fitness nói chung và Powerlifting nói riêng tới tham dự. Thật là một vinh dự cho tôi khi được tham gia giải này.\nĐây là link thành tích thi của các VĐV năm nay: https://liftingcast.com/meets/mlpjnhpx2t7p/results\nBạn có thể xem thêm thành tích của các VĐV Việt Nam cũng như các VĐV quốc tế ở các giải Powerlifting khác trên toàn thế giới ở link này: https://www.openpowerlifting.org/rankings/all-vietnam\nGiải thích cho các bạn chưa biết về Powerlifting. Powerlifting là một môn thể thao sức mạnh, thi đấu ba động tác là Squats, Bench Press và Deadlifts bằng cách thực hiện mỗi động tác ba lần. Kết quả thi của thí sinh được tính dựa trên tổng trọng lượng nâng tối đa của ba bài. Lời cảm ơn Bạn \u0026ldquo;cũ\u0026rdquo; Cảm ơn sự cổ vũ của những người bạn \u0026ldquo;cũ\u0026rdquo;. Cảm ơn Khánh vì đã làm bánh quy “ngon mê li” và bánh chuối cho tớ. 🥺 Không có bánh của bạn chắc tớ chết đói vì thi liên tục 6 tiếng mất.\nCảm ơn người anh Tâm Đỗ đã quay hình rất có tâm nên đứa em về nhà có cái đăng story cho dân tình biết mình đi thi giật “giải rút” như thế nào.\nCảm ơn tên nhóc đồng nghiệp Trung Nguyên và siêu nhân top 4 U93 Frank Hà đã tới cổ vũ. 😌\nNgười \u0026ldquo;lạ\u0026rdquo; Cảm ơn sự giúp đỡ nhiệt tình của những người bạn \u0026ldquo;mới\u0026rdquo; trong ngày thi đấu, bao gồm Bla đã chỉ cho chị quy tắc hôm thi đấu, chị Kim Vy đã giúp em kiếm chỗ hôm đo pin vì các bạn nam chen nhau dữ dội quá, rồi còn support em 2 attempts cuối cùng bài Deadlifts, Lão Hạc và những nhiều người khác mà tôi không tag được tên do không kịp xin contact.\nCảm ơn BTC và đặc biệt là đội đỡ tạ đã làm việc liên tục suốt từ sáng tới tối trong 2 ngày để bảo đảm an toàn cho thí sinh. Sự chuyên nghiệp và tận tuỵ của các anh/bạn đáng được ghi nhận.\nTop 2 Cảm ơn coach, người dắt em tới bộ môn Powerlifting một cách chính thức, đã rủ em đi thi (nhưng lý do thực sự dẫn tới việc đăng ký thi “ngay lập tức” là do tên “Thầy Giáo Ma” 👻 nói em yếu đuối, đi thi cho vui thôi chứ cạnh tranh sao nổi nên em đi thi để chứng minh hắn sai 🤪). Không có coach để than nên tập trung một mình ngồi chiêm nghiệm cái giải đấu đầu tiên trong đời.\nThank my coach for bringing me to the Powerlifting game. But the reason behind it was the guy I called “The Ghost Teacher” 👻 told me that if I join the game, I’ll never be on top because I’m too weak. I was annoyed so I enrolled to prove him wrong. (Well, I did it 💪)\nCảm ơn bản thân đã luôn là \u0026ldquo;cô bé chăm chỉ\u0026rdquo; để tới lúc đi thi “có một mình” vì coach đang \u0026ldquo;đi dạo\u0026rdquo; ở lãnh thổ khác, nhìn thí sinh nhà người ta lo âu trông hài hước quá nên mình vô lo luôn. 🤣 Tôi nghĩ rằng đôi lúc, trong thể thao, dựa vào số liệu, chúng ta có thể dự đoán kết quả dựa vào sự nỗ lực trong một thời gian dài. Sau giải, dành effort đi học lại xác suất thông kê nghe cũng hợp lý nhỉ? 🤔\nTôi đã đến với bộ môn Powerlifting như thế nào? Khởi đầu may mắn Hành trình đến với Powerlifting của tôi không hẳn là một sự ngẫu nhiên. Tôi lớn lên trong một thế giới toàn sách vở (con “mọt sách” mê toán, nghiện màu hồng) và một đám bạn toàn nam thích chơi thể thao đủ môn (đá bóng, đá cầu, chạy bộ, bóng chuyền, cầu lông, …). Có thể nói tập luyện thể thao đã ăn vào máu tôi từ rất lâu rồi.\nNăm 2020, tôi bắt đầu thử nâng tạ vì khu nâng tạ ở phòng tập chỗ tôi luôn vắng. Phụ nữ, người già và người “trẻ” nhưng “có dấu hiệu đang lão hoá não” thường thích những thứ dễ dãi và \u0026ldquo;có vẻ\u0026rdquo; đem lại hiệu quả \u0026ldquo;cao\u0026rdquo; như máy tập và biệt đội PT \u0026ldquo;tri thức\u0026rdquo;. Bên cạnh đó, tôi thấy chán với sự \u0026ldquo;nhẹ nhàng\u0026rdquo; của bộ môn Yoga, không hề muốn quay lại sự \u0026ldquo;mạnh mẽ\u0026rdquo; của Karate và không thích phụ thuộc vào các môn ngoài trời trời như chạy bộ hay môn cần chơi nhóm như cầu lông. Đi một mình thì luôn tiện cho những đứa bận rộn, thích sự tự chủ như tôi.\nTrong vài tháng đầu, như bao thanh niên khác khi bắt đầu tập tạ, Youtube là người bạn thân thiết của tôi. Tôi xem videos hướng dẫn tập của Jeff Nippard, Stephanie Buttermore, Jeremy Ethier, Street Workout làng hoa, Văn Tới Calisthenics-Style và rất nhiều người nổi tiếng khác. Nâng tạ thật thú vị. Tôi thiền trong lúc nâng tạ. Vâng, tôi không đùa đâu. Sự tập trung và cảm nhận từng bó cơ riêng biệt hoạt động thay vì lạc vô đủ các suy nghĩ trên trời dưới biển chính là thực hành thiền. Tôi đánh giá cao triết lý thực hành thiền trong cuốn Thiền tập cho người bận rộn của Thiền sư Thích Nhất Hạnh.\nThở vào, tôi biết là tôi đang thở vào.\nThở ra, tôi biết là tôi đang thở ra.\nNguồn: https://langmai.org/tang-kinh-cac/vien-sach/thien-tap/gieo-trong-hanh-phuc/hoi-tho-y-thuc/\nKhi tôi thực hiện động tác Squats, tôi biết cơ mông, cơ đùi mình đang hoạt động như nào, bên nào lực nhiều hơn, mỏi hơn, gối mở sai thì có cảm giác như nào, đâu là điểm rơi chuẩn của mông khi xuống, \u0026hellip; Cố gắng cân bằng lực, cảm nhận cơ thể chính là thiền.\nỞ thời điểm này, tôi tập những động tác khiến tôi thấy vui. Buổi tập của tôi thuờng kéo dài 60 - 90 phút tuỳ hứng mà không theo bất kỳ một quy tắc nào.\nTập luyện có định hướng Dần dần, tôi cũng tăng được 1 chút tạ và bắt đầu có chút thời gian rảnh đọc sách về Program. Lý do đơn giản là dân tình nói tới Program nhiều quá, tới mức tôi phải đặc biệt chú ý tới nó. Tôi nhớ là mình đã đọc hơn chục cuốn sách. Hai cuốn sách tôi yêu thích nhất là Starting Strength của RIP (Mark Rippetoe) - sách giáo khoa vỡ lòng Powerlifting và Strong Curves của Bret Contreras. Nếu bạn cũng thích đọc, tôi có viết một bài review về những đầu sách tôi từng đọc ở đây. Hi vọng chúng sẽ giúp ích cho bạn.\nQua giai đoạn ngâm cứu sách vở, tôi tới giai đoạn thực hành, đây là quãng thời gian tôi thử và sai. RIP là người thầy Powerlifting đầu tiên của tôi. Tôi thích Deadlifts và Squats nhưng không tập Bench Press vì sợ ngực lép. Về sau, khi tập tành tử tế với coach, tôi mới biết là ngực còn không phải là nhóm cơ chính trong chuyển động của Bench Press. Trải qua vài cái program từ StrongLifts 5×5 , Starting Strength của RIP, cho tới Strong Curves của Bret Contreras thì tôi cũng xây dựng cho mình một nền tảng thể lực cơ bản và nhìn thấy cơ thể mình thay đổi rõ rệt.\nGiai đoạn 2021 - đầu 2022, sau hơn một năm tập hết các Program trong sách của Bret Contreras, tôi bắt đầu có ít thời gian rảnh hơn và muốn tìm coach để giúp tôi tập trung vào giá trị cốt lõi của mình - lập trình. May mắn thay, trong khoảng thời gian này, tôi tìm được một coach thích tìm hiểu, chăm đọc nghiên cứu khoa học chứ không chỉ \u0026ldquo;khoe thân\u0026rdquo; và viết bài không đưa nghiên cứu hay dẫn nguồn như nhiều coach tôi thấy trên mạng. Bốn tháng sau, tôi đi thi giải Powerlifting đầu tiên trong đời và đứng top 5/7 ở hạng cân 57. Một thành tích vượt mong đợi vì ở nhà ai cũng nghĩ tôi sẽ về bét.\nMindset Đối với một người mới tiếp xúc bộ môn Powerlifting hay thể thao nói chung, tôi nghĩ điều quan trọng nhất không phải là gen di truyền, coach, giáo trình hay dụng cụ tập mà là mindset (cách tư duy của bạn). Này, tôi không phủ nhận vai trò của những thứ kia, ý tôi là bạn cần xây dựng cho mình mindset trước. Mindset tốt sẽ giúp bạn tự do quyết định, nâng cao khả năng tự nghiên cứu, tránh bị lạc vào mê cung và tránh bị lừa gạt trong một ngành chưa được chuẩn hoá bằng bằng cấp như ở Việt Nam. Chúng ta chưa có nhiều Powerlifters có bằng PhD (Doctor of Philosophy - bằng cấp học thuật cao nhất trong một lĩnh vực), làm nghiên cứu hay có những phòng thí nghiệm đủ lớn như ở các nước khác.\nHãy trở nên thật linh động. Bạn không cần phải chờ tới khi có đủ dụng cụ (một chiếc đai, bó gối, băng cuốn cổ tay, singlet, tất, mũ, \u0026hellip;) đạt chuẩn thi đấu của các hãng như SBD hay Inzer để bắt đầu luyện tập (trừ khi bạn dư dả tài chính). Bạn hoàn toàn có thể bắt đầu tập với đồ ngủ, chân đất và dụng cụ tập bình thường ở các phòng gym bụi. Đó là cách tôi bắt đầu tập ở nhà với rack, bar và vài bánh tạ. Đừng phí tiền vào những thứ xa xỉ và đừng nghĩ rằng đeo nó lên sẽ khiến bạn tăng tạ tức thì. Sự đơn giản luôn mang trong mình sức mạnh.\n\u0026ldquo;Thầy\u0026rdquo; là người dẫn dắt bạn đi những bước đầu tiên. Tôi dùng từ \u0026ldquo;thầy\u0026rdquo; vì tôi nghĩ rằng \u0026ldquo;thầy\u0026rdquo; có thể là bất kỳ thứ gì khiến bạn tốt lên mỗi ngày. Đó có thể là coach của bạn, những cuốn sách bạn đọc, khoá học bạn tham gia. Hãy cẩn trọng và tỉnh táo khi chọn \u0026ldquo;thầy\u0026rdquo; cho mình. Hãy nhìn vào số liệu. Những con số hiếm khi nói dối. Bên cạnh đó, đừng để mức tạ và sự hào nhoáng đánh lừa bạn.\nChúc bạn may mắn trên hành trình tập luyện!\nReview về giải Powerlifting VPF 2022 Luật thi đấu VPF 2022 có lẽ là giải đấu được Powerlifters cả nước mong đợi từ lâu vì chúng ta đã trải qua 2 năm Covid gần như không có giải đấu nào. Tôi gần như không tìm hiểu về cộng đồng Powerlifting trong nước cho tới khi coach rủ tôi đi thi. Lý do là tôi không có nhu cầu thi.\nẤn tượng đầu tiên khi đọc về giải là tìm mãi không thấy luật ở đâu. Tôi phải inbox trực tiếp fan page của VPF để hỏi về luật thi đấu. Họ xác nhận với tôi rằng luật của VPF tuân theo Technical Rules Book của IPF.\n4 tuần trước ngày thi, 3 tháng sau khi mở đơn đăng ký (26/10/2022), BTC mới công bố luật thi đấu của VPF 2022 (bằng tiếng việt). Tất cả các giải thi đấu thể thao tôi biết đều công bố luật trước lúc mở đơn đăng ký cho thí sinh. Đều này đảm bảo là các thí sinh từ lúc chuẩn bị đi thi cho tới lúc bắt đầu thi đã biết rõ về luật và tránh những lỗi sai không đáng có. Sự sơ xuất do vô tình hay cố ý đăng luật thi đấu muộn này của BTC dẫn tới câu chuyện hài hước là có thí sinh nam tới lúc lên sàn kéo Deadlifts còn không biết luật thi quy định rằng phải đi tất cao tới gần đầu gối nên đi một cái tất cổ ngắn.\nHay trong lúc chờ warm-ups, tôi thấy một thí sinh nữ còn đi xỏ gối theo cách không đúng quy định nhưng không hề bị cảnh báo (dùng dây để hỗ trợ kéo bó gối lên trên đùi).\nĐây là cách đeo bó gối vi phạm luật IPF 2022 mà thí sinh nữ trong giải VPF 2022 thực hiện.\nMột câu chuyện khác nữa là lúc vào cân trước giờ thi, bạn gái cân thí sinh nữ chỉ bảo một câu rằng “Cân trước giờ thi đấu thì MẶC ĐỒ hay CỞI ĐỒ cũng được ạ”. Điều này hiển nhiên vi phạm luật của IPF “Thí sinh chỉ được mặc đồ lót hoặc không mặc gì lúc lên cân”.\nCâu chuyện Doping Liên đoàn Powerlifting Việt Nam - VPF trực thuộc Liên đoàn Powerlifting thế giới - IPF. Theo quy định của IPF, tất cả các liên đoàn con phải tuân thủ luật thi đấu của IPF, tức là giải đấu BẮT BUỘC có kiểm tra doping. Từ bé tới giờ, tôi chưa bao giờ đi thi giải nào cỡ quốc gia nên rất hào hứng xem quá trình kiểm tra doping diễn ra thực tế ở một giải đấu như nào. Thực tế là giải VPF năm nay không hề có kiểm tra doping.\nNguồn: https://www.powerlifting-oceania.com/anti-doping/ipf-anti-doping-rules\nKhi về nhà, tôi đã tìm hiểu và hỏi những người bạn làm trong ngành thế thao về quy trình kiểm tra doping trong thể thao. Bạn tôi gửi cho tôi bài viết bằng Tiếng việt của anh Nguyễn Ngọc Anh Tuấn - Founder của AT Sports Therapy. Bài viết nêu rõ ràng quy trình kiểm tra doping ở một giải đấu thể thao có quy định kiểm tra doping.\nBài viết gốc: https://www.facebook.com/at.anhtuan/posts/pfbid0m5mmDUiDrbKb7YJHGSDnEx6F6YEC6akk5iZHcLvcsDtz4uJAhDkZvxERTqQCaVQSl\nTôi sẽ tóm tắt lại ý chính của bài viết như sau. Liên đoàn sẽ bốc thăm ra một hoặc vài cá nhân để kiểm tra doping bằng việc lấy mẫu nước tiểu (hoặc mẫu máu tuỳ vào quy định). Vận động viên sẽ đi tiểu trước/lấy máu dưới sự chứng kiến TẬN MẮT của cán bộ kiểm tra doping. Mẫu nước tiểu sau đó được đóng niêm phong và mang tới phòng thí nghiệm đạt chuẩn do Cơ quan phòng chống doping thế giới WADA - World Anti-Doping Agency công nhận. Tại đây mẫu nước tiểu/máu chia làm hai phần, một phần để test doping, phần còn lại để làm đối chứng nếu có khiếu nại.\nTrong danh sách mới nhất tôi đọc được, tính tới ngày 25/11/2022, ở khu vực Đông Nam Á hiện tại có mỗi Thái Lan là có phòng thí nghiệm đạt chuẩn trong danh sách của WADA.\nNguồn: https://www.wada-ama.org/sites/default/files/2022-01/2020_anti-doping_testing_figures_en.pdf\nTheo quy định của IPF, đối tượng kiểm tra doping là thành viên của IPF. Nếu bạn đăng ký thi và đóng lệ phí liên đoàn cho VPF - Liên đoàn trực thuộc IPF, thì bạn sẽ là đối tượng cần phải kiểm tra doping. Việc kiểm tra doping diễn ra ở bất kỳ thời điểm nào trong năm, kể cả trong và ngoài thời gian diễn ra giải đấu.\nNguồn: https://www.asia-powerlifting.com/anti-doping/testing\nDưới đây là báo cáo danh sách các VĐV và chất cấm được phát hiện khi kiểm tra doping vào năm 2021.\nNguồn: https://www.asia-powerlifting.com/fileadmin/ipf/data/anti-doping/reports/2021-IPF-Anti-Doping_Report.pdf\nViệc không rõ ràng trong luật thi đấu của VPF khiến tôi cảm thấy vô cùng khó hiểu và có chút bất bình. Nếu năm sau giải còn tiếp tục tổ chức, hi vọng BTC sẽ làm mọi thứ minh bạch và rõ ràng hơn.\nLời kết Vậy là mùa giải VPF 2022 đã qua với nhiều niềm vui và bài tâm dự dài dòng này cuối cùng cũng đã tới hồi kết. Chúng ta sẽ gặp lại nhau vào mùa giải sau với Một mùa giải chuyên nghiệp hơn và Một tinh thần thể thao cao thượng hơn và Một thành tích ấn tượng hơn.\nCảm ơn tất cả các bạn. Tạm biệt và Hẹn gặp lại!\n","date":"2022-11-25T08:30:05+07:00","image":"https://japananh.github.io/blog/p/the-road-to-vpf-2022/cover_hu341da96a2eeb4accb0a793afe1ed4ecf_273683_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/the-road-to-vpf-2022/","title":"The Road To VPF 2022"},{"content":"Autumn Notes is the last note of the series 100 Days of Challenge that I wrote in the Autumn of 2022. This is a random-thought post as usual. The content is about what I learned, how I overcome my difficulties, and why things work.\nDopamine Loss of motivation is the most difficult thing that I need to deal with in the recent year. Working on others’ projects, fixing bugs, following others’ rules, and sometimes dealing with toxic work culture drove me crazy and exhausted. I found myself lost and overwhelmed by almost everything.\nAt that time, my English got better and I started to listen to The Huberman Lab at their very first episodes. The conversation between Prof. Huberman (the host) and Dr. Anna Lembke (the guest) about Dopamine enlighten me about why and how all these things happened. I didn\u0026rsquo;t notice that my dopamine level was very low at that time so I have no mood on anything.\nNote:\nDopamine is a feel-good neurotransmitter that plays a role in many functions in the body, including motivation, mood, attention, and memory. If your dopamine level is very low, you might have almost no motivation to do anything. A neurotransmitter is a chemical messenger that transmits signals in the body. It also acts as a hormone. To learn more about Dopamine and how it works to control your mood, I recommend you read the amazing and detailed Dopamine paper: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4826767/.\nAfter a year of trial and error, here are 3 things that significant improve my mood:\nViewing sunlight in the morning (before 8 AM) and/or in the late afternoon (after 4 PM). I think the lack of vitamin D (D3) is due to covering my body by wearing like a ninja outside and working indoors all day. In the summer, it seemed reasonable when I protected my body this way. But in the winter, the lack of sunlight decreased my performance at work. I felt tired and low mood all day.\nNo one ever told me about the relationship between sunlight (especially blue light) and the alert system in the human brain. Sunlight suspends melatonin in the human brain. Melatonin is a hormone that your brain produces in response to darkness. That way if we feel alert when we view the sunlight.\nFor more information, I hightly recommend you watch this episode from The Huberman Lab: https://www.youtube.com/watch?v=UF0nqolsNZc.\nMagnesium Magnesium plays many crucial roles in the body, such as supporting muscle and nerve function and energy production. Huberman mentioned Magnesium as a great supplement for sleep, mood, and exercising in one episode (sorry, I forgot its name). You can read more studies about the benefits of Magnesium in Examine.\nI started to use Magnesium supplements 5 months ago. My dose is 400 mg a day (an average dose for women my age), before bed. You can use it after your workout session or before bed depending on the way you feel better. I was dealing with sleep quality so I used it before bed. If your priority is improving training, you can use it after training.\nSleep control I tracked my sleep quality with a smart band that connected to my phone via Bluetooth. The app analyzed my sleep via some indicators such as the time woke up, the time to bed, regularity of rising time, deep sleep continuity, etc. When all indicators are normal, it means high sleep quality. Trying to improve as many indicators as I can help me feel relaxed and calm the next day.\nThe rules of thirds I started my powerlifting journey and prepared for my first meet 4 months ago. This sport is not easy for me, an absolute beginner. I was struggling with SBD techniques for the first 2 months (didn\u0026rsquo;t know how to hold the bar and arching in bench, good-morning squat, conven-sumo deadlift, etc). I cried, yelled at myself and thought of quitting it. The rules of thirds by Alexi Pappas, came into my life as a magic Mantra.\nI couldn\u0026rsquo;t hit my last exercise 2 weeks ago. Then it happened again a week later. 2 weeks left before the meet. I was crying so hard. I didn\u0026rsquo;t know why. My mood was down. Then I thought of the rules of thirds and counted my sessions. 2 crappy days (3.3%) along the 4 months (60 sessions). The ratio is quite good. Well, the number never lies you. No cry, no anxiety.\n\u0026ldquo;When you are chasing a dream or doing anything hard, you\u0026rsquo;ve meant to feel GOOD a third of the time, OKAY a third of the time, and CRAPPY a third of the time. If the ratio roughly in that range, then you\u0026rsquo;re doing fine. Today was a crappy day, along your dream chasing.\u0026rdquo;\nNote: Alexi Pappas is a Greek-American runner, filmmaker, actor, and writer.\nReference: https://www.instagram.com/tv/CgF3hJWlqdM\nSleepiness Beside the loss of motivation, I also deal with the sleepiness in the morning that affected my performance at work.\nFirst, I started with nutrition as the easiest way to manipulate my sleep. I used to be a high-carbs eater (\u0026gt;= 60%) for a long time. It turned out reducing carbs down to 50% helps reduce sleepiness because my stomach doesn’t need to spend a lot of energy to digest carbs and the insulin level won’t peak too high.\nIntermittent fasting also works well for me, I skip breakfast on the day I do work out in the morning due to no time to cook in the morning. I maintained macros, just no breakfast. After 3 months, I saw some amazing results such as:\nMy body recomposition improved, my abs decreased from 71 to 68 cm. I look leaner and don’t be annoyed because of my full stomach. I started to realize that I love an empty stomach in the morning. No sleepiness in the morning and afternoon, except my sleeping period, is too short (below 5 hours) or the sleeping quality is not good. As a result, the incredible thing happened that I started to feel hungry at meal time (3 times a day in the morning/noon/night) after a year of no hungry at all. Therefore, I stopped intermittent fasting and my eating routine back to normal. Life always compensate us in some way if we work hard.\nSecond, I still fall asleep more quickly on rainy/cloudy days. The greatest way to find a solution of any problem is figuring out why it happened. Here are some reasons that cause sleepiness on rainy/cloudy days.\nThe increased negative ion content in the air. Rainy sounds are lullabies. Studies have found that when rain sounds enter people’s brains, the brain unconsciously relaxes and produces alpha waves, which are very close to the state of the brain when a human sleeps. Increased secretion of melatonin in the body when it darks Darkness prompts the pineal gland to start producing melatonin while light causes that production to stop. Decreased oxygen content in the air. Oxygen can stimulate the brain and make us feel refreshed. When it rains, there is more water vapor in the air, which results in lower air pressure and a relative decrease in oxygen content. In such a situation, the brain begins to slack off, and people will feel sleepy. When understood the causes, I didn\u0026rsquo;t found myself lost in negative thoughts that ruined my days. I came up with some solutions.\nMake the room as bright as possible (Light suspends the melatonin). Take a deep breath (To increase the oxygen content in my body). Increase heart rate by exercising or talking to someone (Increases my dopamine level and alert my brain). Compassion Lex Fridman, the famous AI researcher, is the first guy to teach me about compassion and love on his podcast, but Q is the guy who motivated me to make my first move. I\u0026rsquo;m quite good at Maths and logic but very bad at learning abstract things and emotions. Compassion requires deep observation, mindfulness, and patience.\nSelf-help books taught me to spend most of my time with great people.\n\u0026ldquo;We are the average of the five people we spend the most time with.\u0026rdquo; - Jim Rohn said.\n\u0026ldquo;Great\u0026rdquo; means wealthy, flourishing career, good-looking, blissful relationship, etc. If you don\u0026rsquo;t fall under the criteria, I will ignore you. That mindset caused me a ton of trouble in daily life. I compared myself to others and developed low self-esteem. I also treated people unfairly by their \u0026ldquo;success status\u0026rdquo;.\nHow do I know where I am in my success status when I don\u0026rsquo;t compare myself to others?\nWhen I thought I\u0026rsquo;m on a higher level, I ignored the existence of the \u0026ldquo;lower\u0026rdquo; people. On the other side, I felt \u0026ldquo;motivated\u0026rdquo; to move forward when I see success people. But that motivation was just an illusion. It took me weeks, months, or even years to accomplish my goals. Meanwhile, most time I felt jealous and ashamed by the thought I was not good enough, or people might call it \u0026ldquo;Imposter syndrome\u0026rdquo;.\nWhen Q told me about the class hierarchy of wealthy people vs poor people, we debated for an hour and I suspected most of his arguments and reasoning. We didn\u0026rsquo;t discuss more about this topic after that. A few weeks later, I saw a comic named Hedonic treadmill about the way we live our lives by breaking old boxes and fall into more comfortable boxes, do it again until we are satisfied with our lives. I found my Aha! moment.\nWhen I was in a fresher position, I thought of my career path and saw my coworkers and my friends working so hard to get their dream jobs. They double/triple their salary in the next 2 years and became superman at work. When I compared myself to them, I was distressed. I didn\u0026rsquo;t realize that they have NO personal life. They work all day and hang out with family or friends at weekends or holidays. They don\u0026rsquo;t exercise and don\u0026rsquo;t have a \u0026ldquo;balance work-life\u0026rdquo;. Their body shapes and their health become worse. Some of them fall into the mindset of cold-hearted as I did. I respect their hard-working, and they contribute value to the world but I quite dislike the way they live.\nThe way I disliked my family is they were born in a box and lived their whole life in that box. No ambition, no improvement. I blamed them for laziness and backwardness. I felt ashamed of my behaviors. They have their choices. They are satisfied with their boxes. So do I.\nConclusion This is the last note of the series 100 Days of Challenge.\nI started this series just want to write down what I observed in my daily life with the philosophy is \u0026ldquo;Doing it for fun\u0026rdquo;. A year look back, I have a blog with 100 posts and some new friends came into my life unexpectedly. I realize that I love reading, writing, and sharing. The more I write, the more I understand myself and become a better me. Smart brain with a compassionate heart.\nWelcome to my world!\n","date":"2022-11-11T00:38:47+07:00","image":"https://japananh.github.io/blog/p/autumn-notes-a-reconsideration-of-real-life/cover_hue89fbd9b2aec5e6faff304d73f50b35d_887196_120x120_fill_q75_box_smart1.jpeg","permalink":"https://japananh.github.io/blog/p/autumn-notes-a-reconsideration-of-real-life/","title":"Autumn Notes - A Reconsideration of The Real Life"},{"content":"Lần đầu tiên, tôi nghe trọn vẹn một podcast trong lúc nấu ăn và não không bị lạc đi một phương trời xa xôi nào đấy. Phải nói là có nhiều tools hay và tính áp dụng cao. Tôi thực sự phục bác Huberman vì sự đơn giản trong cách giải thích về cơ chế hoạt động của các chất dẫn truyền thần kinh và các tools áp dụng.\nDưới đây là ghi chép ngắn của tôi về những thứ tôi thấy thú vị ở Podcast số 88 - Optimize your focus.\nNghiên cứu ở phòng thí nghiệm của Giáo sư thần kinh học Wendy Suzuki 15 phút thiền trong vòng 30 ngày liên tục cải thiện tập trung và trí nhớ. Bạn có thể xem thêm Giáo sư Wendy Suzuki giải thích lợi ích của thiền ở đây.\nCá nhân tôi từng vượt qua giai đoạn burnout, phải nghỉ việc trong nhiều tháng liền vì không có một chút hào hứng với cuộc sống xung quanh. Ngồi thiền hàng ngày, nghe bài giảng pháp suốt 6 tháng trời giúp tôi vượt qua nên tôi thấy trải nghiệm này hoàn toàn đáng thử nếu bạn thấy mình khó tập trung.\nNhịn ăn gián đoạn giúp tập trung và tăng năng suất khi làm việc. Tôi đã trải nghiệm nhịn ăn gián đoạn từ tháng 7, tính tới hiện tại là hơn 3 tháng. Sau 1 năm ép bản thân ăn để tăng cân thì đây là quãng thời gian bụng tôi cảm thấy nhẹ nhàng như kỳ nghỉ. Tôi không ngờ là làm việc với cái bụng \u0026ldquo;rỗng\u0026rdquo; khiến tôi tập trung hơn và không còn cảm giác buồn ngủ hay đầy bụng như hồi tôi cố ép bản thân \u0026ldquo;ăn sáng\u0026rdquo; cho đủ chỉ tiêu.\nSliding window của tôi bắt đầu từ lúc 8:30 giờ tối hôm trước (khi kết thúc bữa ăn) cho tới 12 giờ sáng hôm sau. Nghĩa là tổng calories và macro không đổi, tôi bỏ bữa sáng, chỉ ăn bữa trưa và tối. Nếu thấy đói nhẹ vào buổi sáng sau khi tỉnh dậy thì tôi sẽ ăn nhẹ với 1 quả trứng/1 lát bánh mỳ/1 chiếc energy bar. Nhưng thú vị là cả tháng tôi chỉ thấy đói chưa tới 5 lần.\nNếu các bạn dễ tăng cân buồn phiền về cân nặng của mình thì một đứa skinny như tôi cũng ám ảnh không kém về cân nặng của mình. Tôi ép mình ăn tới mức hầu như không thấy đói bụng ở bất kỳ thời điểm nào trong ngày. Mọi sự tính toán, cộng trừ, điều chỉnh, cheat để tăng calories đều chỉ làm tôi tăng lên 1-2 kg trong ngắn hạn (1-3 tháng). Chỉ cần một hôm ốm hay quá stress là tôi lại sụt cân. Bao nhiêu nỗ lực tan hết. Một người bạn nói với tôi rằng có thể cơ thể tôi \u0026ldquo;thích\u0026rdquo; cân nặng đấy.\nSau vài tuần ngắm mình trong gương và nhìn cơ thể mình từ những video ghi lại quá trình training thì tôi lại thấy thích cái thân hình hiện tại. Tôi nhớ là hồi 2017 tôi đã tập bụng và cardio rất nhiều, mơ một ngày nào đó có cái bụng phẳng lì, tách đôi như hiện tại. Mà giờ tôi còn chả thèm tập bụng cơ. Bạn sẽ thấy nhiều điều bất ngờ lắm khi bạn quan sát bản thân bằng cặp mắt của một người ngoài nhìn vào. Well, có thể anh bạn tôi đã đúng. Tôi bắt đầu hài lòng với cơ thể mình. May quá, không phải ép ăn nữa.\nTác động tích cực của ánh nắng mặt trời, trong đó có ánh sáng xanh (bluelight) đối với hệ thần kinh. Lợi ích lớn nhất của ánh nắng mặt trời tôi cảm nhận được đó là tình trạng mood của bản thân. Tôi không tài nào giải thích được lý do cả mùa đông năm ngoái tôi đã trì trệ và uể oải dù có chăm chỉ tập, ăn uống và ngủ đúng giờ cho tới khi phát hiện ra lợi ích của ánh sáng mặt trời vào ban ngày thông qua Huberman Lab.\nNỗi ám ảnh về ung thư da và sự truyền thông sai lệch khiến đa số phụ nữ (trong đó có cả tôi), tin sái cổ vào việc chúng ta cần phải bịt kín mít như ninja để bảo vệ làn da khỏi \u0026ldquo;tác hại\u0026rdquo; của ánh sáng mặt trời. Phải cho tới khi sự uể oải của bản thân giảm nhờ chăm chỉ phơi nắng sáng sớm (trước 8 giờ sáng) và chiều tối sau 4 giờ chiều thì tôi mới thực sự tin vào ích lợi của ánh nắng mặt trời và vai trò của vitamin D tới hệ thần kinh.\nVitamin D có hai dạng chính là D3 (đây là dạng cơ thể sản sinh dưới ánh sáng mặt trời) và D2 (thực vật sản sinh do tác động của ánh sáng mặt trời). Nên dùng D3 vì đây là dạng cơ thể sản sinh ra, tránh D2 vì cơ thể phải chuyển hoá chúng nên tỷ lệ hấp thụ không cao. Phơi nắng tối thiểu 30 phút mỗi ngày vào sáng sớm (trước 8 giờ) và chiều tối (sau 4 giờ) là lời khuyên cực kỳ hợp lý. Hôm nào, trời âm u thì cứ thấy nắng lúc nào là tôi lao ra phơi bất chấp.\nBên cạnh đó, những lời khuyên khác cũng cải thiện việc đau đầu và mỏi mắt của tôi khi phải dùng máy tính thường xuyên (9 - 10 tiếng/ngày) đó là \u0026ldquo;Let the bluelight into your eyes in the early morning or late in the afternoon\u0026rdquo; (để mắt tiếp xúc với ánh sáng mặt trời). Và khi nghỉ ngơi, cố gắng tập trung nhìn ra một điểm rất xa (có thể là nhìn lên trời hay nhìn sang một toà nhà cách mình vài trăm mét).\nChế độ ăn Keto (Keep Eating The fat Off) Keto là viết tắt của Keep Eating The fat Off, là chế độ ăn hạn chế tinh bột (carbs), giữ protein vùa phải và tăng cường nhiều chất béo. Nhiều nhà khoa học tôi theo dõi từng nói về lợi ích của Keto, trong đó có cả Lex Fridman và Andrew Huberman. Tôi chưa có trải nghiệm nào với Keto nhưng tôi đã từng trải nghiệm chế độ Low-carb (khá giống Keto ở việc hạn chế tinh bột, chỉ khác tỷ lệ chất béo và protein) trong 1 năm.\nTôi cắt tinh bột xuống còn 1 bát cơm/ngày (~ 60 - 70 gram gạo trắng). Cơ thể tôi nổi mụn liên tục từ mặt, lưng, ngực, tay, chân. Tình trạng này hoàn toàn chấm dứt khi tôi chuyển sang vegan. Tôi kể ra câu chuyện này chỉ muốn nói rằng chế độ ăn phụ thuộc rất nhiều vào bộ gen và thói quen sinh hoạt của bạn. Nếu nghiên cứu bảo tốt hoặc \u0026ldquo;đa số\u0026rdquo; bảo tốt mà bạn trải nghiệm một thời gian không thấy hiệu quả như vậy. Thì nên thử cách khác.\nNon Sleep Deep Rest (NSDR) NSDR là một thuật ngữ được bác Huberman nhắc tới trong nhiều tập podcast khác nhau. Lợi ích của NSDR là giúp cơ thể thư giãn, cải thiện giấc ngủ. Trong tập này, bác Huberman có giới thiệu cách áp dụng NSDR giúp bạn tỉnh táo hơn khi ở trong trạng thái thiếu ngủ mà cần tập trung làm việc. Tôi mới bắt đầu tìm hiểu NSDR vào tháng này và sẽ viết một bài review về trải nghiệm của bản thân.\nThực phẩm bổ sung (Supplements) Tôi rất đồng tình với bác Huberman rằng chúng ta nên tập trung vào tools đầu tiên rồi mới tới thực phẩm bổ sung và cuối cùng là đi tham vấn người có chuyên môn hơn (bác sỹ, nhà tâm lý học, \u0026hellip;). Thực phẩm bổ sung là thứ hỗ trợ, chúng không phải là thần dược. Tất cả thực phẩm bổ sung và liều dùng được khuyến nghị trong podcast này đều tập trung vào cải thiện khả năng tập trung.\nCái tên được nêu đầu bảng là Omega 3, cụ thể là EPA omega 3, dùng với liều lượng 1 - 3 gram/ngày giúp cải thiện khả năng nhận thức. Nếu bạn không chắc chắn mình ăn đủ cá giàu Omega 3 thì nên dùng thực phẩm bổ sung.\nBên cạnh lợi ích gịúp tăng sự phát triển cơ bắp (dạng Creatine phosphate), Creatine còn có tác dụng cải thiện chức năng thần kinh. Bác Huberman gợi ý 5 gram/ngày (dạng Creatine monohydrate), dạng bột pha với nước uống.\nKết luận Còn nhiều thứ thú vị được nghe mà tôi chưa nhớ ra được khi ngồi viết bài này. Bác Huberman có để timeline của podcast trong phần description, rất tiện để tra cứu nội dung. Hi vọng những kiến thức khoa học sẽ ngày càng được phổ biến hơn ở Việt Nam.\n","date":"2022-10-05T09:00:00+07:00","image":"https://japananh.github.io/blog/p/ghi-chep-ngan-ve-huberman-lab-podcast-so-88/cover_hu5438825b9b6d1014226d20d231e650c2_161600_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/ghi-chep-ngan-ve-huberman-lab-podcast-so-88/","title":"Ghi Chép Ngắn Về Huberman Lab Podcast Số 88"},{"content":"Trong tháng 8, nhờ có chính sách tốt từ công ty và sự có mặt từ một người bạn rất đặc biệt, tôi đã tổ chức được một buổi Workshop về TẬP TẠ chia sẻ kiến thức cho mọi người. Đồng thời để kỷ niệm hai năm hành trình nỗ lực của mình. Hai năm không phải là một quãng thời gian dài, nhưng nhìn lại, tôi thấy mình đã đi được xa hơn cả dự định ban đầu là nâng tạ để giải trí bớt stress.\nTên của Workshop là Starting Strength bởi vì đây là cuốn sách khởi đầu cho tất cả mọi thứ. Từ việc học kỹ thuật 3 động tác trong bộ môn Powerlifting là Deadlifts, Squats và Bench Press cho tới việc nâng trình độ tiếng anh lên một level mới để rồi sau này, tôi đủ level thang gia những buổi phỏng vấn bằng tiếng anh và đọc sách, nghe podcast ít phải tra từ. Giấc mơ làm việc trong môi trường quốc tế với đồng nghiệp từ khắp nơi trên thế giới trở nên thật gần.\nNội dung chính của Workshop bao gồm 4 phần như sau:\nPhần 1 nói về hành trình tập tạ của tôi, bao gồm việc tìm ra chế độ ăn (diet) phù hợp với bản thân, review các giáo trình tập (program) mà tôi đã trải nghiệm và những mặt trái trong ngành công nghiệp thể dục thẩm mỹ. Phần 2 do người bạn đặc biệt của tôi là một Powerlifting Coach nói về Powerlifting ở Việt Nam. Phần 3 chỉ ra những lỗi sai tôi hay thấy trong phòng tập và cách sửa chúng. Phần 4 là hỏi đáp, giải đáp câu hỏi và giao lưu với khán giả. Buổi talk kéo dài đúng 60 phút theo dự tính và dù đã chuẩn bị trước scripts nhưng tôi biết là mình sẽ để cảm xúc dẫn lối hành động theo một hướng khác. Đấy là lý do scripts một kiểu nhưng tới lúc nói thì sẽ khác hoàn toàn mà vẫn đảm bảo nội dung trọng tâm. Tôi nhận ra rằng quá gò bó mình nhớ từng câu từng chữ không phải lúc nào cũng là cách hay (trừ khi bạn có trí nhớ thật là tốt). Để sự ngẫu hứng dẫn dắt bản thân và luyện tập khả năng ứng biến trong các tình huống khác nhau là kỹ năng mà tôi muốn học trong năm nay.\nTôi nghĩ mình không có tham vọng trở thành nhân vật gì đó trong thế giới Powerlifting hay Fitness nói chung. Tôi tham gia môn này với \u0008niềm đam mê và tinh thần thể thao vượt qua chính mình. Có nhiều thứ để học hỏi, trải nghiệm và cải thiện kỹ thuật từng ngày khiến tôi vui. Như vậy là quá đủ cho giải trí.\n","date":"2022-09-03T21:51:29+07:00","image":"https://japananh.github.io/blog/p/starting-strength/cover_hub238a6e2ba54df5886ea0fb227b71a81_1062168_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/starting-strength/","title":"Starting Strength"},{"content":"The blind pianist I attended a piano concert this week. The blind girl played a piece by Chopin that was named Nocturne op .9 No. 2. The melody was so familiar to me that I guessed its name correctly. I wept tears of joy to see her smile and her performance. Although, she made a few mistakes and her face looked worried a bit but for me, she did a great job. When her dark brighten me, I knew hope never ends.\nBen Hoyt This guy created an AWK interpreter that is written in the Go language. He was inspired by the book AWK programming and his father who taught him coding when he was a kid. I was just wondering if I would make the same story when my kid wrote in his/her blog \u0026ldquo;My mom taught me science and programming when I was a kid. She was my inspiration to create XYZ library\u0026rdquo;. For more info about his work, you can check out his blog here.\nBesides his successful career, he also has an amazing life with piano and a fantastic family with his wife and 3 lovely daughters. I enjoy reading their family blog named Alien in the Apple. I hope I would become a great mother someday.\nThe classical music lover I met T, an introverted technical man with a heart for classical music, in the small tech talk about JavaScript that I was a host in 2019 in Hanoi. We exchanged Facebook contact but didn\u0026rsquo;t talk for a long time. I was a shy girl so I read all of his posts and loved them so much but never texted him. He has been practicing guitar for over 10 years. This year, he decided to learn violin. I wanna try to learn the violin to make sure I love it as much as the feeling when I enjoy the violin expert playing pieces of classical music. So I asked him to try his violin. It turned out, that I did love it. We also had a great conversation about violin, physics, and religion.\nWe met again in the Vietnam Museum of Ethnology this week. When he told me about the journey of a woman who bought land in Dalat to live her self-sufficient lifestyle and then realized that her dream was impractical, some pieces of my memories came back. I had a question that I tried to answer for many years since I graduated from high school.\n\u0026ldquo;Why did I turn boring quickly and NOT wanna see people?\u0026rdquo;\n\u0026ldquo;Why did I NOT have any interested in any conversation with anyone for many years?\u0026rdquo;\nAll of his stories were so cute and hilarious with his passion for art and science. He was exactly the type of friend that I usually hung out with when I was in school.\nMost people grow up and lost their ability to be freedom of mind because of their social responsibilities and their willingness. All the conversations I had with them were about career growth, financial advice, or general topics such as weather, food, traveling, etc. Nothing touched my heart. I felt empty and exhausted after that but didn\u0026rsquo;t know why. We smiled. The place was comfortable. I knew there was something wrong but I didn\u0026rsquo;t know what is it. Today was the best day of my life. I found it. FANTASTIC!\n","date":"2022-07-10T23:09:51+07:00","image":"https://japananh.github.io/blog/p/random-people-make-my-day/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/random-people-make-my-day/","title":"Random people make my day"},{"content":"Thử nghiệm mới Hôm nay là ngày chủ nhật nắng đẹp. Từ tối qua, tôi đã suy nghĩ về nhiều thứ xảy ra trong cuộc sống. Sau đó, tôi đưa ra quyết định là điều chỉnh lịch sinh hoạt để thử nghiệm vài thứ tôi học được từ \u0008HubermanLab.\nCó nhiều người than phiền với tôi về vấn đề họ gặp phải trong cuộc sống. Khi tôi gợi ý họ cách xử lý thì họ lại viện hàng tá lý do, từ quá lười, thiếu thời gian, tới tài chính chưa đủ, người yêu, gia đình phản đối hay N cái \u0026ldquo;chướng ngại vật\u0026rdquo; khác, để họ chỉ biết ngày qua ngày đi than với người khác. Họ đang mong chờ cái gì? Sự cảm thông? Một cách để nói chuyện xã giao khi câu chuyện của họ quá nhàm để kể? Dù là gì đi nữa, tôi nhất định sẽ không để mình đóng vai nạn nhân.\nBuổi sáng của tôi bắt đầu lúc 7:30 với việc sửa lại những chỗ bạn tôi góp ý về vị trí của đầu gối và gồng core. Buổi tập sáng của tôi gồm 5 bài, kéo dài trong 70 phút (bao gồm cả thời gian khởi động và dãn cơ). Sau khi tập, tôi không có bất kỳ cảm giác mỏi cơ nào.\nLow-bar Back Squats: 3 sets x 5-6 reps x 56 kg Chin-ups: 3 sets x 3 reps (không dùng bend để trợ lực để test xem tôi đã hồi phục được bao nhiêu phần trăm thể lực so với hồi trước burnout) Conventional Deadlifts: 3 sets x 5-6 reps x 55kg Single-leg Hip thrust: 3 sets x 10 reps/chân Plank: 1 set x 1 phút Khoảng 1 tiếng sau tập thì tôi lại có cảm giác buồn ngủ như các lần tập buổi sáng trước đây. Tôi sẽ thử ăn chút gì đó trước hoặc sau tập xem tình hình có cải thiện gì không. Tôi luôn giữ cho mình quy tắc là phải thử đủ lâu (trên 1 tháng) để thấy hiệu quả. Do đó, tháng sau, tôi sẽ viết lại những gì tôi cảm nhận sau lần điều chỉnh này.\nGiấc mộng trưa Sau bữa trưa tự làm với bánh mỳ đen, thịt hun khói, xà lách và sốt hạt điều, tôi ngả lưng nằm như bao ngày khác. Cuối tuần, tôi hay cho mình được nằm trưa thoải mái nên sẽ không có báo thức và tôi muốn nằm bao lâu tuỳ ý. Một cảm giác lâng lâng khó diễn tả, tôi lạc vào một giấc mộng kỳ lạ nhưng tôi lại có cảm giác như mình đang tỉnh táo và đang điều khiển suy nghĩ, dù chẳng thể nào cử động được chân tay. Câu chuyện bắt đầu như thế này.\nTôi và anh người yêu phát hiện ra âm mưa nguy hiểm của một người phụ nữ. (Toàn mơ có anh người yêu nhưng đời thực lại chả thấy anh nào :D). Âm mưu là gì thì tôi đã quên sau khi tỉnh dậy, chỉ biết là nếu kế hoạch diễn ra thành công thì nhiều người sẽ phải bỏ mạng. Quay trở lại với người phụ nữ kia. Cô ta có một vẻ đẹp sắc sảo, sống trong căn nhà mái tròn giống kiến trúc nhà ở Điện Kremli. Tường của ngôi nhà là những khung kính được tráng một lớp rất đặc biệt khiến khi nhìn từ bên ngoài, chúng khiến ngôi nhà mang ánh hào quang bí ẩn. Ngôi nhà không có cửa sổ. Bên trong có một cầu thang lớn thiết kế vòng tròn. Lạ thay, cây xanh và đủ loài hoa mọc quanh tường, cửa và cầu thang một cách rất ngăn nắp và màu sắc của chúng mang một vẻ đẹp thật u ám. Chúng đã mọc từ đâu? - Tôi tự hỏi.\nChúng tôi cần bằng chứng để tố cáo. Sau N cuộc đấu đá và nhiều cảm xúc từ sợ hãi, ngạc nhiên, đau đớn cho tới thanh thản thì tôi chỉ nhớ được rõ nhất về việc chúng tôi đánh cắp được một vật quan trọng của ả. Vật gì, hình thù sao thì tôi quên luôn rồi. Trong lúc chống cự, anh người yêu vì lý do gì đó bị ả tóm được. Còn tôi trúng độc, nhưng may mắn hơn chạy được lên tầng cao nhất rồi không rõ chui vô cái đường ống gì đó, bất tỉnh cho tới khi người ta tìm thấy tôi trong một cái xe rác. Họ đưa tôi vô bệnh viện rồi báo công an. Bác sỹ đã làm việc rất vất vả trong nhiều ngày mới cứu sống được tôi. Khi tỉnh lại, tôi kể toàn bộ câu chuyện về âm mưu và mọi thứ được đưa ra ánh sáng. Sau đó, do quá yếu, tôi lại bất tỉnh. Ả ta bị bắt và trừng phạt như nào thì tôi không tài nào nhớ được. Chỉ nhớ mỗi hình ảnh công an bao vây ngôi nhà, phá cửa đi lên cầu thang tròn.\nTrong lúc này, anh người yêu tôi bị giam cầm, cũng bị trúng độc và thương tích trên người còn nặng hơn tôi. Nhân một lúc sơ hở khi ả đang bận lo lắng tìm kiếm tôi khắp nơi, anh ấy trốn thoát ra ngoài và mang theo một vật quý giá chí mạng khác của ả. Tôi chỉ nhớ được là anh ấy đã cải trang thành người khác, để khỏi bị phát hiện. Anh ấy nhìn tôi nằm đấy, bất động và đau buồn vô cùng rồi cũng ngất luôn vì kiệt sức. Hi vọng là chúng tôi còn sống. Không hiểu tại sao cứ tới đoạn gần hết phim thì tôi tỉnh dậy. Có lần thì báo thức kêu. Thế là luôn có một thứ gì đó tiếc nuối trong lòng.\nTổng kết Vậy là một cuối tuần khác lại sắp qua. Tôi hay nghe mọi người nói với nhau khi cuối tuần đến rằng \u0026ldquo;Thứ bảy máu chảy về tim\u0026rdquo;. Gì mà kỳ vậy. Hoạt động của hệ tim mạch chỉ ra rằng máu ngày nào cũng chảy về tim rất nhiều lần. Còn khi máu không chảy về tim thì mình đâu còn sống nữa. Nếu bạn yêu những gì mình làm để ranh giới giữa công việc và sở thích chỉ còn là một thì có phải đi làm cũng vui như đi chơi không?\n","date":"2022-07-10T18:07:01+07:00","image":"https://japananh.github.io/blog/p/mot-ngay-chu-nhat-dep-troi/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/mot-ngay-chu-nhat-dep-troi/","title":"Một ngày chủ nhật đẹp trời"},{"content":"Bài này tôi viết về những điều tôi nghĩ là khó với bản thân để sau này đọc lại xem còn thấy nó còn khó như lúc viết không.\nKhó nhất là ngồi im. Không lướt điện thoại, không gõ máy tính, không đọc báo, không xem Youtube, không nói chuyện và cả không để suy nghĩ chạy lung tung trong đầu. Mà ngồi im thì có phải là giải trí không? Và thế nào là giải trí nhỉ?\nKhó nhất là đi ngủ đúng giờ. Ngủ đúng giờ được hiểu là ngủ đúng vào cái thời điểm giúp cơ thể phục hồi một cách tốt nhất. Mỗi người sẽ có một khoảng thời gian khác nhau. Nếu early birds cứ bon chen với hội cú đêm thì kiểu gì dài hạn cũng có vấn đề. Liệu mình có nên tránh xa hội cú đêm hay không? Khi bạn bè đang ở cao trào câu chuyện thì mình xin lui về đi ngủ liệu có ổn không? Đâu sẽ là thứ quan trọng hơn: chất lượng giấc ngủ hay là \u0026ldquo;mối quan hệ\u0026rdquo;? Rốt cuộc thì mối quan hệ ở đây là cái gì?\nKhó nhất là nói phải đi đôi với làm. Liệu những điều bạn viết ra, nói ra có đúng với những gì bạn làm? Liệu lời bạn hứa với người ta, bạn có làm nó đúng và đủ không? Và nếu không làm nổi thì bạn có đủ dũng cảm để xin lỗi và có hành động đền bù xứng đáng?\nKhó nhất là hài lòng với chính mình trong xã hội tiêu dùng và cạnh tranh. Với mỗi sự phấn đấu trong một lĩnh vực là xuất hiện một hoặc nhiều nhu cầu mới. Bạn muốn đi bao xa trong lĩnh vực này hay bạn muốn chi bao nhiêu tiền để nuôi đam mê? Câu nào là câu nên hỏi hơn?\nKhó nhất là tốt với người vì mình muốn thế và nó không gây hại cho ai chứ không phải vì một hoặc vài lợi ích nào đấy. Lòng tốt có bao hàm việc giúp đỡ bạn bè gian lận và trốn thuế không? Về tình thì nhiều người vẫn làm mà?\n","date":"2022-07-02T21:08:01+07:00","image":"https://japananh.github.io/blog/p/nam-dieu-kho-nhat/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/nam-dieu-kho-nhat/","title":"Năm điều khó nhất"},{"content":"Hôm nay là một ngày thứ bảy nắng đẹp. Tôi thức dậy khá sớm như mọi ngày rồi cứ nằm mãi cho tới trưa. Một giác trống rỗng, không còn chút sức lực nào. Tôi chỉ còn hứng thú duy nhất với công việc, giải quyết những bài toán ở công ty khiến tôi cảm thấy não mình đang tư duy và tiến bộ. Tôi nghĩ thay vì cứ ủ rũ mãi thì có lẽ tôi nên ngồi viết về những gì tôi học được trong 6 tháng đầu năm. Có lẽ, tôi sẽ thấy khá hơn.\nTrở nên mạnh mẽ hơn Lex Fridman có nói một câu đại ý rằng \u0026ldquo;Bạn nên thử làm những thứ khiến mình sợ hãi để vượt ra ngoài vòng tròn thoải mái của mình\u0026rdquo;. Những ai làm việc cùng tôi sẽ có cảm giác như tôi rất \u0026ldquo;giỏi tiếng anh\u0026rdquo; nhưng thực tế là tôi nói rất dở và sợ người khác chê tôi. Đấy là lý do tôi thà nói chuyện với cái app ELSA chứ nhất quyết không chịu tới lớp học nói.\nMột điều tình cờ xảy ra đầu năm nay là tôi lỡ tay bấm gửi resume cho một công ty ở Mỹ trên Linkedin. Một ngày sau thì HR nhắn tin hỏi tôi sắp xếp một buổi phỏng vấn với ông ấy. Tôi đã hãi tới mức nhìn cái tin nhắn đấy cả tiếng đồng hồ, nghĩ xem mình có nên nói thật là chỉ lỡ nghịch thôi. Bao nhiêu suy nghĩ trong đầu tôi như lỡ ổng hỏi mà tôi nghe không hiểu gì, lỡ tôi nói sai? Câu nói của Lex lại vang lên trong đầu. Hừ, tôi nhất định phải vượt qua nỗi sợ này. Tôi đã sợ nó lâu quá rồi.\nTôi tra google về bí quyết phỏng vấn, rồi viết ra những thứ mình muốn trình bày và những thắc mắc của bản thân về vị trí. Buổi phỏng vấn diễn ra rất ổn với tôi. Người phỏng vấn tôi rất thân thiện và câu chuyện trở nên cởi mở hơn nhiều. Và cũng vì là phỏng vấn với HR để sàng lọc ứng viên nên nó cũng dễ thở hơn phỏng vấn kỹ thuật. Hiển nhiên là vì level tuyển khá cao nên tôi biết chắc mình sẽ rớt. Sau chuyện này, tôi nhận ra mình nói cũng không tệ lắm. Kết quả là tôi phỏng vấn chục công ty tiếp theo mà không một chút lo ngại về tiếng anh của bản thân.\nBiết tự lượng sức mình Tôi lại burnout theo một cách không thể ngờ tới vào tháng 6.\nCâu chuyện bắt đầu như thế này. Một người bạn hỏi tôi có muốn thử lịch tập anh ấy thiết kế không. Lịch tập này khác nhiều so với tất cả những lịch tập mà tôi từng thử, tập nhiều rep và tăng volume hàng tuần. Vì tò mò nên tôi đã đồng ý.\nTuần đầu tiên, tôi đau cơ tới mức không tài nào tập trung code được. Cứ gõ phím vài phút thì lại phải ngồi bóp người hoặc đứng lên dãn cơ. Tuần thứ hai, volume tiếp tục tăng nhưng do đã quen hơn nên dù vẫn bị đau như tuần đầu, tôi vẫn tiếp tục tập. Sang tuần thứ ba, tôi thấy mình thật tệ. Tôi khóc ầm lên ở buổi số 3, cảm giác hệ thần kinh không chịu làm việc nữa. Tuần thứ tư, tôi vẫn nghĩ mình sẽ cố được nhưng tôi nhầm to. Vì tôi vẫn đau, vẫn khóc như mưa và performance thì đi xuống.\nTôi hầu như không thấy huấn luận viên Việt Nam nào nhắc tới cảm xúc và hệ thần kinh trong tập tạ. Anh bạn tôi có vẻ dửng dưng với chuyện này. Với ổng và nhiều người, đau cơ có lẽ là niềm vui và sự tự hào vì \u0026ldquo;No pain, no gain\u0026rdquo;. Trong suy nghĩ của tôi, tất cả những thứ tôi gắn bó lâu dài đều phải VUI khi làm. Tôi đồng ý rằng chúng ta chấp nhận việc \u0026ldquo;đau cơ ngắn hạn\u0026rdquo; ở một mức nào đấy như một phần không thể thiếu trong quá trình luyện tập để đổi lại \u0026ldquo;niềm vui dài hạn\u0026rdquo; khi thấy body mình \u0026ldquo;đẹp\u0026rdquo; hơn. Tuy nhiên, khi niềm vui dài hạn không bù đắp nổi đau cơ ngắn hạn thì bạn có thể sẽ như tôi - BURNOUT.\nTừ bé tới giờ, dù tập tành chăm chỉ nhiều môn thể thao nhưng tôi chưa bao giờ burnout tới mức một tuần sau không recover nổi nên trải nghiệm này thật bất ngờ và hữu ích. Tôi biết giới hạn của mình ở đâu, hiểu rõ mình muốn gì và không muốn gì. Giờ nếu ai nói với tôi hãy \u0026ldquo;cháy hết mình\u0026rdquo; khi tập đi, tôi sẽ nghĩ người đó hoặc là siêu nhân còn không thì là siêu ngu.\nGiao tiếp có chọn lọc Từ bé tới giờ, tôi có rất ít bạn. Càng lớn thì tôi lại càng gặp ít người có cùng sở thích với tôi nên thường thì tôi giải trí một mình với sách hoặc Youtube. Cái ý nghĩ phải từ chối một ai đó vì mình không thích cái gì đấy hay nói ra việc mình cảm thấy bị ai đó xúc phạm khiến tôi vô cùng sợ hãi. Vì tôi sợ người khác sẽ quay lưng với tôi. Tôi sợ cảm giác chỉ có một mình. Tôi thường im lặng hoặc giả vờ rằng nó cũng rất ổn với mình nhưng kỳ thực là tôi đang nói dối một cách xã giao. Sau đó, tôi về nhà, ngồi vài tiếng tự trách bản thân để rồi lần sau lại tiếp tục dối lòng.\nTôi vẫn nghĩ tôi sẽ ổn thôi cho tới cái ngày tôi cảm thấy hoàn toàn trống rỗng và việc phải mở miệng ra nói chuyện với bất kỳ ai cũng khiến tôi trở nên bấn loạn một cách khó hiểu. Chuyện này cứ liên tục lặp lại khiến tôi phải chú ý đặc biệt tới nó. Tôi không thiếu dinh dưỡng, tập tành chăm chỉ, các số liệu về giấc ngủ cũng ổn và mức lương tăng tốt. Chả có cái áp lực nào đè lên tôi cả. Liệu tôi có đang bỏ sót điều gì không?\nVào một ngày nọ, sau khi chịu hết nổi, tôi hít một hơi, lịch sự nói với bố mình rằng tôi không thể chịu nổi việc ông chửi bới và dùng bạo lực với tôi. Tôi muốn ông cư xử và nói chuyện lịch sự hơn. Và nếu ông muốn đánh tôi, tôi sẵn sàng nhào vào mà không quan tâm tới chuyện hậu quả. Bố tôi im lặng và từ đó trở đi, ông có vẻ bình tĩnh hơn. Đó thực sự là một cú sốc với tôi và với bố tôi vì tôi đã im lặng rất nhiều năm trong đời mình. Một điều kỳ lạ đã xảy ra, tôi thấy nhẹ nhõm. Tôi bắt đầu tin rằng nếu tiếp tục im lặng và dối lòng, tôi sẽ phát điên và những triệu chứng bất ổn kia sẽ ngày càng nặng lên.\nTôi ra một quyết định điên rồ là nếu ai đó công kích tôi trực tiếp, tôi sẽ nói thẳng với họ rằng tôi cảm thấy bị xúc phạm. Nếu họ là bạn của tôi và điều này diễn ra nhiều hơn ba lần hoặc khi tôi điên lên, tôi sẽ unfriend họ. Tất nhiên, công sở là chốn duy nhất mà cho dù chuyện gì xảy ra, tôi vẫn phải \u0026ldquo;đeo mặt nạ\u0026rdquo; và \u0026ldquo;chiến đấu\u0026rdquo;. Đấy là giới hạn duy nhất tôi dành cho mình. Ra khỏi công sở, tôi sẽ chỉ giao tiếp vì tôi thấy cuộc hội thoại thú vị chứ không phải ép mình vì một nỗi sợ nào đấy.\nTrong vòng 1 tháng, ngoài đồng nghiệp và gia đình, tôi tránh gặp bất kỳ ai, kể cả bạn thân (trừ khi bạn thật đặc biệt). Tôi thấy mình tập trung hơn và bắt kịp trình độ với đồng đội nhanh hơn vì không bị phân tán bởi việc làm hài lòng nhiều người. Bên cạnh đó, thay vì mệt lử sau khi giao tiếp, tôi có thời gian cho sở thích cá nhân như viết blog, đọc sách và tập đàn.\nTôi muốn làm gì trong 6 tháng tới? Đầu năm tôi có viết một cái resolutions như sau.\nĐầu tư hay kinh tế nói chung đều là những chủ đề mà tôi cực ít hứng thú. Lý do chính tới từ sự ám ảnh tâm lý xảy ra hồi đại học. Bằng một lý do gì đấy mà hầu hết các ký ức về đại học của tôi đều biến mất. Mỗi khi nhớ lại quãng thời gian đó, tôi đều thấy những bức hình rất mờ, không rõ ràng. Thậm chí, tôi còn không nhớ được tên bạn học cùng, trừ một vài người đặc biệt. Tôi hi vọng mình sẽ tìm ra cách để vượt qua sự ám ảnh này để tầm nhìn của tôi ngày càng rộng lớn hơn. Tôi sẽ có tài chính tốt hơn và bớt thấy bất lực khi có biến cố kinh tế xảy ra với mình.\nBa cái gạch đầu dòng cuối là ba thứ khó nhất mà hiện giờ tôi vẫn chưa làm được. Tôi vẫn chưa thấy mình vui vẻ và khi không vui thì tôi chỉ thích ở một mình. Thật khó để quan tâm tới người khác khi bên trong tôi còn quá nhiều bất ổn. Tôi hi vọng mình có thể \u0008mở lòng hơn. Điều đó đồng nghĩa với việc tôi cần mạnh mẽ hơn để không bị gục ngã trước sóng gió.\nMấy năm trước, có một người thầy nói với tôi rằng viết là một cách trị liệu tâm lý, giúp bản thân thấy tốt hơn. Tôi nghĩ người đó đã đúng. Ít nhất là giờ tôi đã thấy khá hơn.\n","date":"2022-07-02T20:52:01+07:00","image":"https://japananh.github.io/blog/p/toi-hoc-duoc-gi-trong-6-thang-dau-nam-2022/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/toi-hoc-duoc-gi-trong-6-thang-dau-nam-2022/","title":"Tôi học được gì trong 6 tháng đầu năm 2022"},{"content":"Using runtime.Gosched() to force schedule Goroutines A goroutine can run and occupy a thread for a long time. This should be avoided by using runtime.Gosched() to force schedule Goroutines to switch context.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 package main import ( \u0026#34;fmt\u0026#34; \u0026#34;time\u0026#34; ) func main() { go func() { for i := 1; i \u0026lt;= 50; i++ { fmt.Println(\u0026#34;I am Goroutine 1\u0026#34;) } }() go func() { for i := 1; i \u0026lt;= 50; i++ { fmt.Println(\u0026#34;I am Goroutine 2\u0026#34;) } }() time.Sleep(time.Second) } // The result will look like below, // one goroutine held the thread for so long. // I am Goroutine 1 // I am Goroutine 1 // I am Goroutine 1 // I am Goroutine 1 // I am Goroutine 1 // I am Goroutine 1 // I am Goroutine 2 // I am Goroutine 2 // I am Goroutine 2 // I am Goroutine 2 // I am Goroutine 2 // I am Goroutine 2 // I am Goroutine 1 // ... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 package main import ( \u0026#34;fmt\u0026#34; \u0026#34;runtime\u0026#34; \u0026#34;time\u0026#34; ) func main() { go func() { for i := 1; i \u0026lt;= 50; i++ { fmt.Println(\u0026#34;I am Goroutine 1\u0026#34;) runtime.Gosched() } }() go func() { for i := 1; i \u0026lt;= 50; i++ { fmt.Println(\u0026#34;I am Goroutine 2\u0026#34;) runtime.Gosched() } }() time.Sleep(time.Second) } // The result will look better like below // I am Goroutine 1 // I am Goroutine 1 // I am Goroutine 2 // I am Goroutine 2 // I am Goroutine 1 // I am Goroutine 1 // I am Goroutine 1 // I am Goroutine 2 // I am Goroutine 2 // ... ","date":"2022-06-26T09:00:03+07:00","image":"https://japananh.github.io/blog/p/cool-tricks-with-goroutine/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/cool-tricks-with-goroutine/","title":"Cool tricks with goroutine"},{"content":"Tuổi trẻ ai cũng từng xanh. Từ đẻ ra xanh lè tới mặc một món đồ xanh. Cả mái đầu xanh cùng tâm hồn rộng mở.\nCó một số người thích được mãi xanh giống anh chàng Peter Pan mặc bộ đồ xanh trẻ mãi không già ở xứ sở Neverland.\nĐằng sau màu xanh đầy sức sống ấy là nhiều cái giá. Có khi là tiền bỏ ra để sắm một món đồ màu xanh. Khi thì \u0026ldquo;nước mưa nhân tạo\u0026rdquo; có vị muối. Căng thẳng hơn chút là thứ chất lỏng màu rượu vang nhưng vị chả ngon tí nào. Căng nhất là những thứ vi mô, vĩ mô nằm ngoài sự kiểm soát của mô tế bào.\nChua là điều tất yếu nếu như bạn quá xanh. Có ai nói quả chanh càng xanh càng ngọt chưa nhỉ? Thật tuyệt khi chúng ta thích chua, nhưng có một sự thật là đa số mọi người đều thích đồ ngọt. Do đó, khi một thứ đang xanh, người ta sẽ mong nó chín. Khi sự mong đợi vượt ngoài tầm kiểm soát, bằng những cách khác nhau mà quá trình chín này trở nên nhanh chóng hơn. Cái gì trái với tự nhiên đều đi kèm tác dụng phụ.\nDịch giả Trịnh Lữ từng nói trong một podcast của Vietcetera rằng nếu bạn trẻ thì nói ra cái xanh của mình là chuyện bình thường, tại sao cứ phải cố gắng chín.\nTôi rất ấn tượng với một đoạn nói về ích lợi của ánh sáng mặt trời đối với cơ thể ở podcast Vission của bác Andrew Hubermen. Khi ngửa mặt lên ngắm bầu trời xanh bát ngát, tôi có cảm giác từng tia sáng xinh đẹp đi xuyên qua mắt, kích thích những sợi thần kinh bé xinh và khiến tôi trở nên tỉnh táo. Một ý nghĩ buồn cười xuất hiện. Này, trời kia có muốn ngả màu chín không?\nP/s: Đây là bài viết của một cô gái mê màu hồng và mơ về màu xanh như thể cô ấy yêu màu xanh như màu hồng. Thực tế là cô ấy thích tất cả các màu.\n","date":"2022-06-25T09:26:02+07:00","image":"https://japananh.github.io/blog/p/xanh-roi-sao/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/xanh-roi-sao/","title":"Xanh rồi sao?"},{"content":"I had a requirement to update an API today. The modified function had 8 parameters that break the SonarQube rule, so I decided to refactor it. There are some solutions to the problem. They can be applied similarly in other languages. In this post, I will demonstrate some of them in the Go language.\nFor someone don\u0026rsquo;t know SonarQube: SonarQube is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, and code smells in 17 programming languages. Use Parameter Object The most common way I often do this is to replace parameters with a data structure such as struct in Go or an object or a class in other languages such as JavaScript.\nThe benefits of it are more readable code and reusable code. Instead of parameters, you see a single object which can be reused somewhere.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // Before package service import ( \u0026#34;context\u0026#34; \u0026#34;database/sql\u0026#34; ) // There are 8 parameters here func CreateUser(ctx context.Context, db *sql.DB, email, password, firstName, lastName, addr string, status int) error { // do something return nil } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // After package service import ( \u0026#34;context\u0026#34; \u0026#34;database/sql\u0026#34; ) type CreateUserRequestParams struct { Status int Email, Password, FirstName, LastName, Addr string } // The code is readable thanks to fewer parameters func CreateUser(ctx context.Context, db *sql.DB, p *CreateUserRequestParams) error { // do something return nil } The drawback of it is Data class - the class defines instance variables but lacks relevant methods. Such classes are very likely being manipulated by other classes heavily.\nUse Currying One popular way in Functional programming is to use the Currying. It\u0026rsquo;s named after the guy who invented the technique, Haskell Brooks Curry. People apply this pattern a lot in JavaScript libraries such as lodash. Currying is a transform that makes f(a,b,c) callable as f(a)(b)(c). One of its benefits is to shorten how many arguments a function requires. You can read more about currying here.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // After package service import ( \u0026#34;context\u0026#34; \u0026#34;database/sql\u0026#34; ) func CreateUser(ctx context.Context, db *sql.DB) func(email, password, firstName, lastName, addr string, status int) error { return func (email, password, firstName, lastName, addr string, status int) error { // do something return nil } } // You can call it like below // service.CreateUser(ctx, db)(email, password, firstName, lastName, addr, status) Refactor the function with the Extract Method If your function takes too many parameters, it might do too much work and should be broken into smaller functions, consequently, reducing the arguments’ number. The Extract Method technique can be used to achieve this goal.\nConclusion In my case, the Parameter Object is the best choice. I just wanna dive deep into how many ways I can apply to reduce the parameters so that\u0026rsquo;s why I mention other solutions here. Hope that can help you.\n","date":"2022-06-24T09:00:01+07:00","image":"https://japananh.github.io/blog/p/refactoring-part-3/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/refactoring-part-3/","title":"Refactoring - Part 3"},{"content":"Từ khi chuyển qua xài đồ của nhà Jetbrains (Goland) thì tôi khá lúng túng trong việc dùng cái IDE vì nhiều chức năng hơn. Tuy nhiên, trải nghiệm code đúng là tuyệt vời hơn hẳn VSCode ở việc gợi ý syntax và auto import code.\nRiêng extension vim tôi chưa dùng nổi vì nhiều phím tắt trong Goland mình chưa thành thạo. Thêm vào đó, nhiều phím tắt cũng bị ghi đề khi dùng với vim và việc phải config lại chúng và nhớ phím tắt mới khiến việc code trở nên rất khó chịu. Hi vọng trong thời gian tới tôi sẽ thành thạo Goland hơn.\nSau đây là một vài lỗi tôi đã từng gặp khi code Go bằng Goland. Hi vọng là chúng giúp ích cho bạn.\nHow to fix IntelliJ cannot resolve symbol Thi thoảng, tôi gặp trường hợp Goland bị làm sao đấy mà không tìm thấy được cái package được import vào ở từng file.\n![Screen Shot 2022-05-22 at 11.50.23 AM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1653238217374/7yjLLYgHc.png align=\u0026ldquo;center\u0026rdquo;)\nCách tôi fix là chọn File Menu → Invalidate Caches / Restart. Chờ một vài giây cho IDE restart lại thì lỗi sẽ được fix. Ngoài ra, nếu bạn vẫn còn gặp lỗi thì nên xem cái link này để tham khảo các cách giải quyết khác.\nA fatal error has been detected by the Java Runtime Environment Tôi bị lỗi này sau khi cập nhật Goland lên phiên bản mới. Chạy một lúc là IDE bị dừng lại và restart rồi lại dừng và restart. Google ra thì mới biết là mặc định Goland dùng JRE (Java runtime enviroment) làm JetBrains Runtime. Trường hợp của tôi theo như các issues trên Github chỉ thì do JetBrains Runtime bị lỗi nên cần đổi sang một JRE khác.\nAs a Java application, IntelliJ IDEA requires a Java runtime environment (JRE). By default, IntelliJ IDEA uses JetBrains Runtime (a fork of OpenJDK ), which is included with the IDE. JetBrains Runtime fixes various known OpenJDK and Oracle JDK bugs, and provides better performance and stability. However, in some cases you may be required to use another Java runtime or a specific version of JetBrains Runtime.\nCách khắc phục là chọn JRE khác như hướng dẫn của JetBrains ở đây. Chọn Help | Find Action → Choose Boot Java Runtime for the IDE -\u0026gt; OK\nC compiler \u0026ldquo;gcc\u0026rdquo; not found: exec: \u0026ldquo;gcc\u0026rdquo;: executable file not found in $PATH Khi run test trong Dockerfile với cú pháp RUN go test ./..., có thể bạn sẽ gặp lỗi không tìm thấy package gcc.\n![Lỗi ko tìm thấy package gcc khi chạy go test trong Dockerfile.](https://cdn.hashnode.com/res/hashnode/image/upload/v1653238321681/N3L89IVtY.png align=\u0026ldquo;center\u0026rdquo;)\nCách fix là disable CGO (công cụ hỗ trợ các lời gọi hàm từ C trong Go, nhờ đó, ta có thể sử dụng Go để đưa thư viện động của C (C dynamic libraby) sang các ngôn ngữ khác.) thông qua việc thêm CGO_ENABLED=0. Bên zalo có một seris bài rất hay về lập trình CGO, bạn có thể đọc để tham khảo thêm ở đây.\n1 2 3 4 ## before: C compiler \u0026#34;gcc\u0026#34; not found: exec: \u0026#34;gcc\u0026#34;: executable file not found in $PATH RUN go test -v ./.... ## after: success RUN CGO_ENABLED=0 go test -v ./... ","date":"2022-05-23T09:00:03+07:00","image":"https://japananh.github.io/blog/p/mot-vai-loi-toi-gap-phai-voi-go-va-goland/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/mot-vai-loi-toi-gap-phai-voi-go-va-goland/","title":"Một vài lỗi tôi gặp phải với Go và Goland"},{"content":"Một người anh siêu giỏi, code lâu năm nhắn tin hỏi tôi lời khuyên về định hướng cho các bạn chuyển từ các ngành khác qua IT. Phản ứng đầu tiên của tôi là cool quá vì được thần tượng nhắn tin. Sau 4 năm vừa học vừa làm thì tôi cũng có \u0008những bài học đắt giá muốn chia sẻ lại cho mọi người. Hi vọng chúng sẽ có ích cho bạn.\nCác rào cản của làm việc trái ngành Nhảy ngành là một quyết định lớn trong sự nghiệp của mỗi người. Điều đầu tiên mọi người nên biết khi có ý định nhảy sang ngành IT là xác định các rào cản của việc làm trái ngành.\nBạn phải mất 1 - 2 năm đi học hoặc vừa học vừa làm không lương hoặc với mức lương không được cao. Thậm chí là thấp hơn nhiều so với công việc trước đó của bạn. Khi bạn có chút kinh nghiệm thì lúc đó lương mới bắt đầu tăng. Nếu bạn là nguồn thu nhập chính trong gia đình, hãy đảm bảo 2 - 3 năm đầu tài chính của bạn dư dả.\nBạn sẽ phải chấp nhận đồng đội của bạn hay sếp của bạn nhỏ tuổi hơn bạn, trẻ hơn bạn, giỏi hơn bạn và học nhanh hơn bạn. Tôi cũng từng rất áp lực khi đồng đội giỏi hơn mình rất nhiều. Các bạn ấy học lập trình từ hồi cấp 3 lại thêm 5 năm đại học. Mỗi người có một xuất phát điểm khác nhau. Chỉ cần hôm nay bạn đi xa hơn ngày hôm qua thì đó cũng là một thành công lớn.\nTrong một ngành phần lớn người lao động là nam. Nếu bạn là nữ và hỏi xin lời khuyên nên làm gì ví trí gì, tôi cá là kiểu gì cũng có nhiều người khuyên bạn nên làm tester, QA, designer hay những vị trí “dành cho nữ hơn” hay “bớt dùng não hơn”. Bất kể bạn có năng khiếu học toán, thích logic và có khi còn giải quyết vấn đề tốt hơn mấy ông nam. Đây là những định kiến ăn sâu vào tiềm thức của nhiều lập trình viên. Tôi hi vọng trong những năm tới, sẽ có nhiều nữ hơn trong ngành IT ở Việt Nam. Đặc biệt là các vị trí Back-end Engineer, Solution Architect, \u0026hellip;\nSau 1 năm đi làm thì tôi thấy mình không khác gì con vẹt. Viết code theo hướng dẫn sử dụng của thư viện và copy đoạn code trên Google. Dù có hiểu nghĩa và đọc thêm tài liệu cộng với tiếng anh khá nhưng tôi vẫn không thể nào giải thích được tại sao nó chạy. Lúc này, tôi mới hiểu phần lớn các trung tâm dạy lập trình và bootcamp đều bỏ những môn quan trọng như hệ điều hành, mạng máy tính, bảo mật \u0026hellip; Đây là những kiến thức gốc, rất quan trọng. Họ chủ yếu dạy các bạn kiến thức để làm “thợ code\u0026quot;. Bạn sẽ có việc rất nhanh sau 4 - 12 tháng, học thấy đỡ nản nhưng càng về sau, khi muốn lên ví trí cao hơn đòi hỏi xử lý hệ thống phức tạp hơn thì những môn “không được dạy\u0026quot; kia sẽ giúp bạn tiến xa và tiến sâu hơn rất nhiều. Xa và sâu ở đây cũng ám chỉ cả lương nữa.\nCác bước nên làm để không bị lạc trong ngành IT IT là một ngành rất rộng, có nhiều hướng để phát triển sự nghiệp và mỗi hướng đi thì đều có một. Vì thế nên khi mới bắt đầu tìm hiểu, bạn sẽ rất dễ bị hoang mang và nản chí. Sau đây là một vài lĩnh vực mà nhu cầu thị trường đang cần trong những năm gần đây (xác định đơn giản bằng số tin tuyển dụng xuất hiện trên các trang tuyển dụng lớn như itviec, linkedin, glassdoor, \u0026hellip;)\nPhát triển ứng dụng web (Web development) Trí tuệ nhân tạo (Artificial intelligence) và học máy (Machine learning) Cyber sercurity Điện toán đám mây (cloud computing) Phần cứng (Hardware development) Vân vân và mây mây Ngoài ra, bạn có thể tìm thấy thông tin trên Google và qua các event của các trường đại học lớn hoặc trên Youtube về tổng quan ngành. Tìm một người đang làm trong ngành và hỏi họ về công việc hàng ngày là một ý tưởng hết sức tuyệt vời. Có những thứ bạn đọc khác hoàn toàn với lúc bạn bạn đi làm. Và đôi khi chỉ có trải nghiệm mới biết bạn hợp hay không.\nTôi xin trích ra ba câu hỏi rất hay trong cuốn Người Trong Muôn Nghề: Ngành IT có gì? - Bức tranh tổng quan ngành Công nghệ thông tin.\nVì sao bạn học lập trình? Mục đích và mục tiêu của bạn là gì? Bạn sẵn sàng bỏ ra bao nhiêu lâu để “phá băng” vào ngành này? Cách bạn tự học thường như thế nào? Không phải ai cũng thích viết lách. Tuy nhiên, viết ra là cách hữu ích giúp bạn biến những ý tưởng mơ hồ thành rõ ràng hơn. Ví dụ, \u0026ldquo;Tôi thích học lập trình vì thuật toán rất thú vị và tôi có thể áp dụng tạo ra sản phẩm có ích cho xã hội\u0026rdquo; sẽ rõ ràng hơn \u0026ldquo;Tôi thích học lập trình\u0026rdquo;.\nViệc học lập trình cần có một kế hoạch rõ ràng. Tìm hiểu roadmap của lĩnh vực sẽ giúp bạn biết bạn còn thiếu những kiến thức gì, cần bổ sung kiến thức gì. Để tìm roadmap của một vị trí, bạn search với key là \u0026lt;vị trí\u0026gt; roadmap. Ví dụ, đây là roadmap cho Go Developers. Bạn không cần học hết tất cả các mục trong roadmap để có được công việc đầu tiên nên đừng vì nhiều mục quá mà nản nhé. Cứ học từ từ theo thứ tự thôi.\n![Screen Shot 2022-05-10 at 5.00.31 AM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1652133681072/4RapsJBwp.png align=\u0026ldquo;center\u0026rdquo;)\nBản roadmap trên mạng thường rất chung chung, chỉ đưa ra từ khoá lớn. Bạn phải Google và tham khảo thêm từ rất nhiều nguồn khác để tự tạo ra roadmap cá nhân. Khi đã có roadmap cho riêng mình, bạn sẽ biết mình nên học gì tiếp theo, ít bị lạc hơn và tập trung hơn. Bạn có thể tham khảo bài post viết kỹ về quá trình học và có việc làm đầu tiên của chị Ngoc Le trong group Viet Tech (group chia sẻ kinh nghiệm cho các bạn trong ngành IT, cụ thể là software engineer)\nĐối với các bạn trái ngành, tìm cho mình một cộng đồng tốt giúp bạn có nhiều động lực học tập hơn. Bạn sẽ tìm được rất nhiều người bạn tốt có cùng mục tiêu. Việc học nhóm sẽ tạo điều kiện cho bạn phát triển tư duy làm việc nhóm và các kỹ năng giao tiếp.\nPhim ảnh thường xây dựng hình ảnh lập trình viên là những người “lập dị, thông minh, cả ngày ngồi máy tính”. Nhưng thực tế là ngành IT đòi hỏi giao tiếp và làm việc nhóm khá nhiều. Giải quyết bất đồng quan điểm, làm rõ những điều chưa hiểu trong yêu cầu của khách hàng, thuyết phục khách hàng/đồng đội về giải pháp đưa ra hay làm sao để vượt qua các câu hỏi tình huống tuyển dụng. Những người có kỹ năng giao tiếp và làm việc nhóm hiệu quả sẽ xử lý vấn đề này tốt hơn người chưa biết cách giao tiếp và làm việc nhóm.\nThầy (mentors) là người không thể thiếu cho dù bạn học bất kỳ cái gì. Thầy có thể là nguời chỉ dẫn cho bạn, có thể là khoá học hoặc sách từ người có kinh nghiệm. Bạn nên chủ động tìm mentors cho bản thân. Khi gặp khó khăn, đừng ngại xin lời khuyên từ họ.\nTất cả các ngôn ngữ lập trình và tài liệu hướng dẫn sử dụng chúng đều được viết bằng tiếng anh. Phần lớn các lập trình viên trên thế giới đều dùng tiếng anh để trao đổi trong công việc (và cuộc sống). Bạn có thể dùng tiếng anh làm công cụ xây dựng danh tiếng của bản thân và tạo mối quan hệ tốt với các developers giỏi trên thế giới.\nStackoverflow là trang hỏi đáp lớn nhất về lập trình trên thế giới và ngôn ngữ sử dụng là 100% tiếng anh. Với profile vài nghìn điểm Stackoverflow, bạn sẽ có một ấn tượng tốt với nhà tuyển dụng. Tôi cũng nhận được sự trợ giúp về kỹ thuật từ những người giỏi bằng cách viết email hỏi họ.\nBên cạnh đó, lập trình viên giao tiếp tiếng anh tốt có mức lương cao hơn 10-20% so với lập trình viên yếu tiếng anh ở cùng level. Bạn còn có cơ hội nhận các job remote từ nước ngoài với range lương cao hơn so với các job trong nước hoặc ra nước ngoài làm việc.\nMột lưu ý nữa là giao tiếp tiếng anh tốt trong công việc khác với học giỏi tiếng anh. Nếu bạn có tiếng anh tốt (IELTS 9.0 chẳng hạn), bạn có lợi thế hơn các bạn học đúng chuyên ngành IT nhưng tiếng anh yếu ở việc xử lý tài liệu tiếng anh nhanh hơn nhưng nó không đồng nghĩa với việc bạn đưa ra hướng giải quyết cho vấn đề nhanh hơn.\nTrong 2 - 3 năm đầu tiên đi làm, thứ bạn quan tâm đầu tiên là môi trường tốt, đồng đội tốt và bản thân bạn học được nhiều thứ nâng trình độ bản thân lên tầm cao mới. Đừng vì công ty A trả cao hơn công ty B nhưng một năm sau nhìn lại, bạn không thấy mình học được nhiều thứ mới, không có kỹ năng gì đặc biệt bỏ vào resume. Tới lúc chán muốn tìm cơ hội mới thì phỏng vấn lại rơi vào thế lưỡng nan là không công ty nào trả lương cao hơn cho mình.\nCâu này bạn sẽ tự hỏi mình khi bạn đã đi làm được vài tháng cho tới vài năm. Như đã viết ở phần hổng kiến thức phía trên. Nếu bạn đã đi theo roadmap cá nhân và vẫn thấy bế tắc. Lời khuyên của tôi là hãy kiên nhẫn và tìm hiểu thêm. Tôi đã phải đọc lại giáo trình hệ điều hành tới lần thứ 2 trong vài tháng liền mới hiểu cơ bản về cách bộ nhớ và CPU hoạt động.\nEli Weinstock-Herman có viết một bài blog rất hay về các nấc thang trong sự nghiệp của một lập trình viên. Bạn có thể tham khảo để tự đánh giá trình độ bản thân và điều chỉnh lại roadmap cá nhân.\n![ladder-research-02.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1652135598872/XPYQzVzlV.png align=\u0026ldquo;center\u0026rdquo;)\n","date":"2022-05-10T11:43:23+07:00","image":"https://japananh.github.io/blog/p/loi-khuyen-cho-cac-ban-chuyen-tu-cac-nganh-khac-qua-it/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/loi-khuyen-cho-cac-ban-chuyen-tu-cac-nganh-khac-qua-it/","title":"Lời khuyên cho các bạn chuyển từ các ngành khác qua IT"},{"content":"Bài này viết về quan sát và trải nghiệm cá nhân của tôi trong thời gian qua.\nForever Alone Cuộc sống có nhiều điều thật trớ trêu. Những người dễ thương đã yên bề gia thất. Người mình thích lại không thích mình. Những người thích mình thì mình không thích. Nếu cứ cố thích người mình không thích thì kiểu gì cuộc tình cũng sẽ tan, không sớm thì muộn. Nếu cứ cố bám lấy người mình thích nhưng không thích mình thì liệu cuộc tình sẽ đi về đâu?\nSự bất hạnh của những người FA là họ kỳ vọng mình thay đổi được tình cảnh trong khi thực tế họ vẫn đang FA. Do đó, để bớt đau, họ có hai sự lựa chọn. Một là đè nén sự cô đơn. Hai là chịu đau.\nNhững người cố quên đi sự cô đơn của mình bằng công việc, sở thích cá nhân hay bất kỳ thứ gì khác có được sự thoả mãn trong ngắn hạn. Về dài hạn, anh ta phải đối mặt với nhiều khủng hoảng. Mọi sự cô đơn bị đè nén đều tích tụ lại cho tới một ngày vỡ ra khi sức chứa của bạn không đủ nữa.\nNhững người cố gắng vượt qua cơn đau, chấp nhận nó như một phần của cuộc sống có được sự dũng cảm mà có người gọi đó là \u0026ldquo;dở hơi\u0026rdquo;. Về dài hạn, khả năng thành công (có một cuộc tình bền lâu) của anh ta có thể sẽ cao hơn những người ở nhóm đè nén. Đơn giản là số lần thử của anh ta nhiều hơn và khả năng lỳ đòn của anh ta cao hơn.\nVậy chúng ta nên chọn phương án một hay hai?\nTừ chối Nếu bạn không thích người kia mà rõ ràng ngay từ đầu rằng \u0026ldquo;Bạn rất tốt nhưng tôi rất tiếc\u0026rdquo; thì nỗi đau bị từ chối sẽ nhẹ nhàng hơn việc người kia đang nhiệt tình bỗng dưng trở nên \u0026ldquo;im lặng\u0026rdquo;. Có khi bạn còn chả thấy đau.\nSự \u0026ldquo;im lặng\u0026rdquo; có nhiều hình thức khác nhau. Người kia có thể dừng hết tất cả giao tiếp với bạn, biến mất như một con ma (ghosting). Điều này có thể khiến bạn có chút ngỡ ngàng. Thậm chí, tự hỏi trong đầu tại sao. Tuy nhiên, sự phũ phàng ấy trôi qua rất nhanh thôi.\nKhi người đó vẫn tiếp tục trả lời các tin nhắn của bạn nhưng chỉ vì \u0026ldquo;cho vui\u0026rdquo; mà không hề có ý định viết tiếp câu chuyện tình yêu, bạn sẽ nhận ra điều này. Tuy nhiên, điều nguy hiểm là bạn sẽ có chút hi vọng rằng mình vẫn còn cơ hội. Bạn sẽ tìm đủ mọi cách gặp người ấy, được ở bên cạnh người ấy. Khi sự \u0026ldquo;im lặng\u0026rdquo; không đơn thuần là sự im lặng, sự tổn thương trở nên đau đớn hơn nhiều.\nĐể tránh làm người đau và làm mình đau, chúng ta cần sự rõ ràng. Tuy nhiên, rõ ràng là một điều rất khó trong chuyện tình cảm. Bạn phải hiểu rất rõ mình, biết mình là ai và muốn gì. Bạn còn cần sự dũng cảm để sẵn sàng từ chối ai đó.\nKết luận Có những thứ rất dễ hiểu nhưng tôi lại từ chối hiểu. Có những thứ vốn dĩ không thể hiểu nhưng tôi lại cứ lao đầu vào cố hiểu. Thành ra thi thoảng lại bị \u0026ldquo;đau tim\u0026rdquo;. Rút kinh nghiệm là khi nỗi đau là không thể tránh khỏi thì thôi mình cứ lao đầu đi. Sai rồi sửa.\n","date":"2022-05-03T10:04:48+07:00","image":"https://japananh.github.io/blog/p/chuyen-tinh-cam/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/chuyen-tinh-cam/","title":"Chuyện tình cảm"},{"content":"Khi anh chàng Bi thích khám phá thế giới nhà tôi phát hiện ra cái gì đó màu nâu, nhỏ xíu ở gầm ô tô gần chỗ chúng tôi ở thì trời tối muộn và quanh đó chả có ai. Mẹ tôi thương cậu nhóc bị lạc nên đem về nhà chăm. Rồi chúng tôi đăng tin tìm chủ lên mạng xã hội mà cả tuần chẳng thấy ai liên hệ.\nLý do tôi gọi cậu ấy là Tô vì tôi nhớ tới cuốn sách yêu thích hồi bé - Tôi là BêTô của nhà văn Nguyễn Nhật Ánh. Còn mẹ tôi thì bảo là cần một cái tên để gọi trong lúc chờ chủ của cậu tới đón về.\nTô là một cậu bé hiền lành và ấm áp. Từ lúc về nhà tôi, chưa bao giờ thấy cậu sủa câu nào. Phần lớn thời gian cậu ở trong phòng tôi, hết thì nằm trên lòng khi tôi đang việc hay ngủ cùng tôi. Tới cả lúc ngủ cậu cũng phải chọn chỗ để nằm thật sát người tôi, bất kể trời nóng hay se lạnh. Thậm chí, cậu còn đòi cả vào WC ngồi cùng tôi như thể sợ tôi biến mất sau cánh cửa.\nTô rất quý tôi, dù tôi chả hề dắt cậu đi dạo hay chăm cho cậu ăn như bố và mẹ. Điều này làm tôi vừa mừng, vừa bối rối. Phần vì tôi nhát, phần vì tôi chả biết làm sao để đối xử lại lòng trung thành của cậu ngoài việc vuốt ve lưng cậu và ôm cậu ngủ. Nếu một anh chàng nhảy vào đời tôi và sẵn sàng yêu tôi, liệu tôi có đủ dũng cảm để chui ra khỏi cái vỏ ốc thường ngày?\nTô không phải tuýp người mà tôi thích. Tôi đam mê các anh chàng trắng trẻo, lông mịn, mũm mĩm và thơm tho. Còn cậu ta thì ngược lại. Lông cậu màu nâu, ngắn, xơ, cùn, mắt lồi và miệng thì \u0026ldquo;bốc mùi\u0026rdquo;, chưa kể bốn chân nhỏ và dài loàng ngoằng. Đôi lúc, trong cuộc sống, \u0026ldquo;cái nét đánh chết cái đẹp\u0026rdquo; và tiêu chuẩn ngoại hình là những thứ thật mong manh. Chẳng phải dù hoàn cảnh gì xảy ra chúng ta đều có thể thích nghi được đó sao.\nVào một buổi chiều nắng đẹp, tôi dắt Tô xuống khuôn viên dưới nhà phơi nắng. Bầu trời hôm đó thật gần, xanh và thơ mộng, tôi có cảm giác nếu cố gắng với tay, có lẽ tôi sẽ chạm được vào những đám mây bồng bềnh đang trôi kia. Thấy tôi ngồi im ngẩng mặt ngắm trời, cậu nhảy lên ghế đá ngồi cùng tôi như hai người bạn thân lâu năm. Những khoảnh khắc hạnh phúc trong đời tôi đều là những thứ rất đơn giản. Đôi khi là một bông hoa, một cái lá, một cái ôm của mẹ, hay ngắm nhìn anh chàng tôi thích tập thể dục.\nCuộc sống cứ tiếp diễn theo những cách không thể bình thường hơn. Tô vẫn đam mê ngủ với tôi. Bố mẹ tôi nói là cậu có thể ở lại nếu chúng tôi không tìm được chủ cũ. Tôi không chắc đây là happy ending. Tôi chỉ biết hôm nay là một ngày vui để ngồi viết.\n","date":"2022-04-19T23:20:39+07:00","image":"https://japananh.github.io/blog/p/toi-va-to/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/toi-va-to/","title":"Tôi và Tô"},{"content":"Here is my summary of the book What is blockchain?\nBlockchain principles Start with the story of Changpeng Zhao - a blockchain billionaire in less than a year.\nHe created Binance in 2017 a flatform to transfer bitcoin and altcoins.\nNetwork Effects\nFor every user who joins a blockchain, the more valuable that blockchain becomes.\n\u0026hellip; networks that are more open are generally more successful.\nThe sweet spot between permissioned and permissionless. Eliminate the Intermediaries\nStory of apple juice supplement. The more middleman in the process, the more price customers will pay. Where do we have inefficient intermediaries? Who can we eliminate from our supply chain? “Going direct to the customer” has always been a way to save money for both producers and consumers. where can we eliminate steps in our supply chain? Where can we replace a centralized record keeper with a decentralized ledger? Where can we eliminate an intermediary? That’s where a blockchain solution is often hiding. Code, Not Contracts\nA contract is paperwork that records a transaction between two or more parties. A smart contract is computer code that establishes agreements between parties and then executes the transaction when certain conditions are met, without the need for a third party. Still don’t understand the idea of it??? Forking bitcoin should be avoidable for 2 main reasons\nYou lose users You are more likely to fork again Four simple principles of a blockchain project: Free, Instant, Scalable, and Trusted.\nThe story of blockchain in 2017-2018 periods: Evolution vs Revolution\n","date":"2022-02-27T22:45:45+07:00","image":"https://japananh.github.io/blog/p/summary-of-the-book-what-is-blockchain/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/summary-of-the-book-what-is-blockchain/","title":"Summary of the book \"What is blockchain?\""},{"content":"Cuối tuần rảnh nên tôi có viết một cái tool tính tạ tên là Plate Calculator. Tool này dành cho những ai làm biếng tính nhẩm hoặc tính nhầm toàn sai (như tôi).\nDành cho các bạn là dev Tool nhà dùng nên tôi cố gắng viết càng nhanh càng tốt, bỏ qua việc thiết kế UI lung linh, miễn sao là số thao tác của tôi để tính tạ ở mức nhỏ nhất. Do vậy, code hết sức bình thường: HTML, Bootstrap, Jquery, dùng Expressjs làm server, và host trên Heroku.\nSource code của tool: https://github.com/japananh/plate-calculator.\nTool này để làm gì? Với những bạn chưa quen tập tạ, tôi sẽ giải thích ngắn gọn như sau. Còn ai biết rồi thì thôi kéo xuống mục sau đọc tiếp nhé.\nTrong hình là 3 dụng cụ tối thiểu bạn cần có để tập:\nThanh đòn (Barbells) có KÍCH CỠ CHUẨN là 15kg (dài 1.8m) hoặc 20kg (dài 2.2m). Bánh tạ (Plates) có khối lượng từ 0.25 kg tới 25 kg, bao gồm 0.25, 0.5, 1, 2, 5, 10, 15, 20, 25. Khóa tạ (cái màu xanh dương trên hình) để giữ cho các bánh tạ cố định trên thanh đòn, có khối lượng cỡ 50-150 gram (thường được bỏ qua khi tính khối lượng tạ nên chúng ta sẽ bỏ qua khối lượng của em này). Đối với những bạn nâng tạ theo phương pháp Linear Progression (hiểu đơn giản tăng tạ liên tục qua mỗi buổi tập hoặc mỗi tuần tập) thì việc tính toán tạ rất hay bị nhầm. Ví dụ, có hôm tôi lắp nhầm 45 kg thay vì 55 kg và cứ thấy tạ nhẹ thế. :D\nVới cái tool này thì mọi người chỉ cần cài đặt sẵn số lượng loại bánh tạ tôi có, nhập số tạ mong muốn là tool sẽ tự động tính số loại bánh tạ cần thiết cho mức tạ giúp tôi lắp tạ dễ dàng hơn.\nCách dùng tool Đường link tới tool: https://plate-calculator.herokuapp.com\nTool này sẽ có 2 chế độ: Single và Range. (Tôi đặt tạm hai cái tên, ai thấy tên nào hay hơn có thể comment nhé.)\nVideo hướng dẫn: https://www.youtube.com/watch?v=r875bSJjcYo\nChế độ Single dùng để tính cách lắp tạ từ một mức tạ nhất định dựa trên bánh tạ và đĩa tạ bạn có.\nVideo hướng dẫn: https://www.youtube.com/watch?v=7w1HeyF-AIY\nChế độ Range dùng để kiểm tra bánh tạ và đĩa tạ bạn có đủ để lắp một khoảng tạ nào đó không.\n","date":"2022-02-27T22:24:50+07:00","image":"https://japananh.github.io/blog/p/viet-mot-cai-tool-tinh-ta/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/viet-mot-cai-tool-tinh-ta/","title":"Viết một cái tool tính tạ"},{"content":"Tôi đem những việc tôi chả kể được với ai viết thành mấy dòng như này. Viết xong cứ ngồi cười như ngây như dại. Thật là kỳ cục!\n1 2 3 4 Bình yên bên ngoài Bình yên giả tạo Bình yên bên trong Tĩnh lặng mênh mông. 1 2 3 4 Mua một cái áo Lại thêm cái quần Rồi một mớ đần Vậy là nhẵn túi. 1 2 3 4 Hết chuyện chẳng về Cứ ngồi loay hoay Tiếp mãi người ta Ngàn năm ân hận. 1 2 3 4 Chuyền bóng nhầm người Đối thủ bắt bài Tìm cách gài người Thành ra mình dại. 1 2 3 4 Chuyển đống cảm xúc Thành một mớ thơ Một chữ hóa mười Thành ra mình lợi. 1 2 3 4 Kìa anh mét tám Mười lăm ký lô Nhẵn nhụi bóng trơn Về nhà em nhé. ","date":"2022-02-27T22:12:15+07:00","image":"https://japananh.github.io/blog/p/suy-nghi-tren-may-hau-linh-tinh/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/suy-nghi-tren-may-hau-linh-tinh/","title":"Suy nghĩ trên mây - Hậu linh tinh"},{"content":"The rule of thirds The rules of thirds are developed by Bret Contreras (aka The glutes guy). He is the inventor of Hip Thrust and a world-leading glute expert.\nTo maximize the potential of the glutes, the rules of thirds said that\nIn terms of effort, around 1/3 of your sets should be carried out to failure or 1 rep shy of failure, 1/3 of your sets should be performed to 2-3 reps shy of failure, and 1/3 of your sets should be taken nowhere close to failure.\nSource: https://www.instagram.com/p/BfzRPC2AS_r/?utm_source=ig_embed\nExercise categories Vertically loaded exercises Horizontally loaded exercises Lateral/Rotary loaded exercises - Squat \u0026amp; squat variation- Deadlift \u0026amp; deadlift variation- Leg press- Step-ups- Lunges - Hip thrust and hip thrust variation- Bridges- Frog pump- Back extension- Reverse hypers - Sidekick exercises- Kickback exercises- Hip abduction exercises- Fire hydrant- Lateral band walk- Swings - Develop lower glutes- Low reps: 3 - 10 reps - Develop upper/lower glutes- Medium reps: \u0026gt;= 10 - Develop upper glutes- High reps: \u0026gt;= 15 to AMAP (as much as possible) Vertically loaded glute exercises are the hardest on the body and work lower than upper glute max fibers.\nHorizontal is less taxing overall but highly activates both the upper and lower subdivisions.\nFrontal plane lateral exercises completely target the upper subdivision of the glute max, whereas transverse plane hip abduction and hip external rotation exercises work both the upper and lower fibers.\nTo make things more complicated, you also have blends and combinations of vectors.\nGlute dominant exercises Quad dominant exercises Hamstring dominant exercises - Hip thrust and hip thrust variation - Bridges- Frog pump- Sidekick exercises- Kickback exercises- Hip abduction exercises- Fire hydrant- Lateral band walk- RKC plank - Squat \u0026amp; squat variation- Step-ups- Leg press- Sled pushes - Deadlift \u0026amp; deadlift variation- Back extension- Reverse hypers- Swings- Knee flexion exercises - Hip thrust should be placed at the beginning of your workouts.- Hip abduction exercises are great for burnouts and developing upper glutes. They should be placed at the end of your workouts.- RKC plank is great to work the core and should be the last exercise. - Squats should be placed at the beginning of your workouts.- Step-ups, Leg press should be placed in the middle of your workouts. - Deadlift should be placed at the beginning of your workouts.- Back extension and Reverse hyper exercises elicit higher glutes activation than other hamstring-dominant exercises. Q\u0026amp;A The glute guy said 3 to 5 depending on the volume. I often train my glutes with heavyweights (around 70 - 80% of 1RM - 1 Rep Max). I can only train my glutes 3 days a week. My lower body will be sore. I need 1 - 2 days to recover. But if you use the medium to lightweights, you can train up to 5 times a week.\nLow reps: 3 to 5 Medium: 8 to 10 High reps: \u0026gt; 10 There are no exercises that work for everybody. Everyone is different. I saw a lot of girls with great glutes doing mostly medium/high reps schema. I love low/medium reps schema but I try to keep everything in balance.\nI always start with the low reps exercises: vertically exercises such as Squat or Deadlift or Hip thrust, followed by the medium reps exercises such as squat variation exercises (Split squats, Bulgarian split squats, Step-ups, …) or deadlift variation exercises (single-leg deadlift, back extension, sumo deadlift, …) and finish with the lateral/rotary exercises (15 to AMAP) such as Seated Hip Abduction, Sidekick, Kickback, …\nIf your form is not good, please find a mentor, or at least try to firm yourself when you\u0026rsquo;re working out, then compare your form with the correct way that was taught in the book Starting strengh.\nIt is not easy for a novice to pick the proper weights for each exercise. If you don\u0026rsquo;t have a mentor. Here is the formula that I use to pick up my weight.\nFor example, if you want to do 10 reps of Squats, you should pick a weight that you can do a maximum of 10-12 reps.\nSample templates This is an example of my one-week workout. My workouts change every month depending on my current physique, my mood, my routines, and my goals.\nMonday (reps x sets) Wednesday (reps x sets) Friday (reps x sets) 1. Barbell back squat 5x42. Hip thrust 10x33. Standing pull through 15x34. Cable sidekick 15/legx4 1. Conventional Deadlift 5x42. Split squat 10/legx33. Frog Pump 15x34. Seated hip abduction 20x4 1. Barbell back squat 5x42. Stiff-deadlift 10x33. Cable sidekick 15/legx44. Fire hydrant 20/legx4 Monday (reps x sets) Wednesday (reps x sets) Friday (reps x sets) 1. Barbell hip thrust 10x42. Chin-ups 5x43. Barbell back squats 10x44. Lat Pulldown 10x45. Swings 20*46. Cable sidekick 15/legx47. RKC Plank 30sx1 1. Barbell hip thrust 10x42. Overhead Press 10x43. Split squat 10/legx44. Push-ups 5x45. Frog Pump 10x46. Seated hip abduction 20x47. Landmine 10x1 1. Conventional Deadlift 5x42. Dumbell shoulder press 10x43. Barbell hip thrust 10x44. Chess press 10x45. Banded hip thrust 20x46. Fire hydrant 20/legx47. Hanging leg raise 15x1 You can try sample glute workouts from Bret (aka The Glute Guy - the Hip thrust inventor) here.\nReferences Glute training vectors The rule of thirds https://www.youtube.com/watch?v=UKNqDd_epnI ","date":"2022-02-27T21:44:27+07:00","image":"https://japananh.github.io/blog/p/how-to-grow-glutes/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/how-to-grow-glutes/","title":"How to grow glutes"},{"content":"Keith Ferrazzi, tác giả cuốn Đừng bao giờ đi ăn một mình có đưa ra một quan điểm như sau.\nNgười ta nhìn bạn bằng vẻ bề ngoài nhiều hơn.\nDưới đây là những suy nghĩ của tôi về vẻ bề ngoài.\nVẻ bề ngoài là những thứ gây ấn tượng với người khác khi họ gặp bạn, không chỉ có hình thức mà còn cả cách ăn nói và ngôn ngữ cơ thể. Bị ảnh hưởng bởi tư tưởng \u0026ldquo;Tốt gỗ hơn tốt nước sơn\u0026rdquo; trong nhiều năm khiến tôi trở nên xuề xòa trong hình thức. Điều này cũng lý giải lý do tôi được gán khá nhiều \u0026ldquo;cái mác\u0026rdquo; hồi còn đi học như \u0026ldquo;Mặt mụn\u0026rdquo;, \u0026ldquo;Gầy\u0026rdquo;, \u0026ldquo;Giản dị\u0026rdquo;, \u0026ldquo;Đàn ông\u0026rdquo;, \u0026hellip; Vì không biết điều này nên tôi đã sống rất nhiều năm tự ti về vẻ bề ngoài của mình.\nTrong một video, Jordan Petterson kể một câu chuyện bác đã bỏ tiền ra mua một bộ âu phục (suit) mắc nhất từ trước tới giờ và quyết định này khiến bác cảm thấy băn khoăn. Rồi bác nói rằng nó xứng đáng vì hôm đấy bác đã đứng nói trên một sân khấu quan trọng và việc ăn mặc \u0026ldquo;tử tế\u0026rdquo; là một khoản \u0026ldquo;đầu tư\u0026rdquo; xứng đáng. Câu nói đó đã thay đổi tôi. Tôi dọn đi một nửa tủ quần áo và thay vào đó những bộ đồ tử tế, ít nếp nhăn và chỉnh chu hơn. Nhất định mình phải thật gọn gàng và chỉnh chu.\nChăm chút vẻ bề ngoài không có nghĩa là bạn phải trang điểm hay ăn mặc giống người nổi tiếng. Khi tìm hiểu về ngành công nghiệp làm đẹp thì tôi giật mình nhận thấy nếu cứ chạy theo chuẩn mực cái đẹp và mua đồ theo hứng thì tài khoản của tôi không sớm thì muộn cũng sẽ bốc hơi sạch. Tiền dành cho chăm sóc da hàng tháng của tôi là tầm 700k và 15 phút mỗi ngày cho việc apply 3-5 lọ mỹ phẩm lên mặt. Chí phí và thời gian sẽ đội lên tối thiểu 3 lần nếu tôi trang điểm vì phải thay đổi cả 1 chu trình dưỡng da.\nTại sao người ta kỳ vọng nhiều vào làn da đến thế? Khái niệm về một là da KHÔNG TỲ VẾT là hão huyền, dù nó thực sự khiến người ta bị mê hoặc. Ý tôi là một vài cái mụn và lỗ chân lông to hay tàn nhang thì ảnh hưởng quái gì chứ? Dù có vẽ lên mặt kiểu gì thì tôi vẫn thấy mặt mình như thế, vẫn V-line, mắt to, môi nhỏ dễ thương. Không một màu son nào tôi thực sự ưng ý giữa cả chục thỏi son tôi từng thử. Chưa kể quá nhiều lớp trang điểm trên da khiến da tôi trở nên yếu hơn và phải chi nhiều tiền hơn vào liệu trình ở thẩm mỹ viện. Đầu tư vào việc học khiến lương tăng, mối quan hệ mở rộng, còn đầu tư vào \u0026ldquo;sắc đẹp\u0026rdquo; thì người yêu chưa thấy, chỉ thấy tiền bay.\nTôi rất thích một câu của dịch giả Trịnh Lữ trong buổi đối thoại với Vietcetera rằng \u0026ldquo;Trong bất kỳ tình huống nào mình cũng có lựa chọn\u0026rdquo;. Tôi nghĩ \u0026ldquo;trang điểm\u0026rdquo; hay không và mức độ tùy thuộc vào mỗi người. Bạn có thể đổ thừa rằng công việc buộc bạn phải như thế. Tôi chỉ nghĩ là bạn luôn có nhiều hơn một lựa chọn.\n","date":"2022-02-17T18:37:53+07:00","image":"https://japananh.github.io/blog/p/lieu-ve-be-ngoai-co-quan-trong/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/lieu-ve-be-ngoai-co-quan-trong/","title":"Liệu vẻ bề ngoài có quan trọng?"},{"content":" 1 2 3 4 5 - Bạn có thể đóng góp được gì cho người đó? - Làm sao để người đó thích mình? - Mình có điểm gì đặc biệt? - Mình có điểm chung gì với người đó? - Làm sao để thể hiện lòng biết ơn, sự hào hứng và đam mê của bản thân? Đây là điều tôi chắc lọc từ chương 22 của cuốn Đừng bao giờ đi ăn một mình của tác giả Keith Ferrazzi và đã áp dụng thành công. Nếu bạn chỉ chơi với những người ngang mình hoặc dưới mình thì khả năng là bạn sẽ giậm chân tại chỗ hoặc đi rất chậm.\nTrong mỗi giai đoạn cuộc đời, bạn cần một (hay nhiều) người thầy hay Keith Ferrazzi gọi là người đỡ đầu. Họ có thể là bất kỳ ai, một người giúp bạn đạt được thành tựu hay một ai đó bạn gặp tình cờ. Một cậu bạn cho tôi trú nhờ lúc trời mưa rồi còn đội mưa mua giúp tôi cái vé tàu dù chả biết tôi là người thế nào khi tôi ngáo ngơ đi du lịch một mình.\nNếu bạn nói với người mà bạn muốn nhận sự giúp đỡ rằng \u0026ldquo;Tôi đang gặp vấn đề XYZ, liệu bạn có thể giúp đỡ tôi không?\u0026rdquo; thì khả năng bạn bị từ chối khá cao. Tại sao họ phải giúp bạn nếu họ không hứng thú với vấn đề của bạn?\nCâu chuyện sẽ trở nên dễ dàng hơn nếu bạn có gì đó để trao đổi. Giả sử, người bạn cần đang cần tăng cân và bạn lại có nhiều kinh nghiệm về vấn đề này. Bạn có khả năng sẽ thu hút được sự chú ý của người đó.\nTôi từng nhận được sự giúp đỡ từ nhiều người dù thời điểm ấy, tôi chẳng đóng góp được gì cho họ. Lý do là tôi với họ có điểm chung nào đó hoặc họ thấy được sự đam mê của tôi với những thứ tôi làm hoặc cả hai. Đơn giản là họ thích tôi. Để họ thích bạn là cả một sự sáng tạo và bạn cần động não thôi.\n","date":"2022-02-17T14:55:17+07:00","image":"https://japananh.github.io/blog/p/cong-thuc-tim-nguoi-do-dau/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/cong-thuc-tim-nguoi-do-dau/","title":"Công thức tìm người đỡ đầu"},{"content":"Tôi viết bài này lúc 11 giờ tối, đơn giản là ghi lại những hình ảnh xuất hiện trong đầu mình. Mùa xuân Hà Nội âm u nên những câu thơ trở nên thật khó hiểu, rối loạn giống lòng người khi đó.\nTôi lấy tên bài là Lữ Na. Lữ trong lữ khách, để luôn nhắc nhở mình chỉ là người khách qua đường giữa cuộc đời rộng lớn, luôn cần phải học hỏi, mở mang bản thân. Na là ghép của hai chữ đầu tiên từ tên đệm và tên thật của tôi.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Cô bé tóc xù Đi giữa sương mù Tiến lui trái phải Bước nào cũng ngại Đành phải đứng im Bỗng thấy lim dim Đánh liều đi ngủ Trời kia không chủ Mặt đất nứt ra Ở tận đằng xa Kìa ai lạ hoắc Cặp mắt thật sắc Thấu tận trong tim Cô bé như chìm Vào trong giấc mộng Ở trong cái động Có cái hồ xinh Trên giường thủy tinh Bóng ai yên nghỉ. ","date":"2022-02-13T17:24:35+07:00","image":"https://japananh.github.io/blog/p/suy-nghi-tren-may-lu-na/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/suy-nghi-tren-may-lu-na/","title":"Suy nghĩ trên mây - Lữ Na"},{"content":"Hôm nay, tôi đọc một bài báo khá hay trên Medium về cách tăng tốc cho struct trong ngôn ngữ Go. Sau đây là những ý chính của bài báo. Các bạn có thể đọc bài gốc bằng tiếng anh ở đây.\n[UPDATED]: Hôm sau, tôi có tình cờ đọc một bài khác có cùng cách giải thích nhưng trình bày kỹ hơn về phần CPU - điều mà tôi thấy hơn khó hiểu ở bài trên. Tôi nghĩ tác giả đã viết tốt hơn. Bạn có thể đọc ở đây.\nKhác với type trong TypeScript là thay đổi thứ tự khai báo các trường không ảnh hưởng tới perfomance.\nVí dụ, FirstObject và SecondObject có các trường giống hệt nhau, chỉ thay đổi thứ tự và chúng không hề ảnh hưởng tới performance.\n1 2 3 4 5 6 7 8 9 10 11 type FirstObject = { age number passportNum number siblings number } type SecondObject = { age number passportNum number siblings number } Trong Go, khi sắp xếp lại thứ tự các trường trong struct, bạn có thể cải thiện đáng kể tốc độ và mức sử dụng bộ nhớ của chương trình Go của mình.\nTrong ví dụ dưới, BadStruct chiếm nhiều bộ nhớ hơn GoodStruct.\n1 2 3 4 5 6 7 8 9 10 11 type BadStruct struct { age uint8 passportNum uint64 siblings uint16 } type GoodStruct struct { age uint8 siblings uint16 passportNum uint64 } Lời giải thích nằm trong cách máy tính điều chỉnh cấu trúc dữ liệu (Data Structure Alignment).\nCPU đọc dữ liệu theo kích thước của một word. Trong hệ điều hành 64 bit thì 1 word tương ứng với 8 bytes,còn với hệ điều hành 32 bit thì 1 word tương ứng với 4 bytes.\nTừ đó, ta sẽ có hình ảnh mô tả việc bộ nhớ dùng cho BadStruct ở hệ điều hành 64 bit như sau.\nĐể truy cập biến passportNum, CPU cần phải đọc 2 words. Để chạy hiệu quả hơn thì CPU cần tới data structure alignment. Biến passportNum giờ nằm trên 1 word.\nBằng việc thay đổi thứ tự các trường, việc lưu trữ 13 bytes cần 16 bytes (2 words) thay vì 24 bytes (3 words).\n","date":"2022-02-11T10:21:47+07:00","image":"https://japananh.github.io/blog/p/toi-uu-bo-nho-cho-struct-trong-go/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/toi-uu-bo-nho-cho-struct-trong-go/","title":"[UPDATED] Tối ưu bộ nhớ cho struct trong Go"},{"content":"Tết thích nhất là được làm những điều mình không có dịp làm trong năm vì thiếu ngủ hoặc quá bận tới bù đầu ra rồi bất đát dĩ phải lãng quên.\nSau đây là checklist mồng 1 Tết của tôi:\nGọi điện chúc Tết hết những người có trong danh bạ điện thoại của tôi.\nChạy 3 km liên tục\nSau gần 1 năm không cardio thì trải nghiệm chạy bộ trong thời tiết lạnh buốt thật là tuyệt. Cơ mông và đùi sau (hamstrings) vẫn còn ê do buổi tập trước nên lực bị dồn vào đầu gối và đùi trên (quads). Thi thoảng, tôi lại thích \u0026ldquo;hành xác\u0026rdquo; mình như thế. Thời tiết càng lạnh thì bạn nhớ khởi động kỹ để tránh chấn thương nhé.\nLên xà 10 cái Tôi quyết tâm không dùng band trợ lực nên lựa chọn dễ dàng hơn là tập động tác chin-ups thay vì pull-ups.\nGập bụng 100 cái. Tuần này, tôi bắt đầu cho một ít bài tập bụng vào trong chương trình luyện tập của mình để xem thành tích có cải thiện gì không. Vài tháng nữa tôi sẽ viết bài update quá trình luyện tập.\nĐi ngủ lúc 23 giờ. Đi ngủ đúng giờ là thử thách khó khăn nhất trong năm ngoái. Đêm tới khi mọi thứ yên tĩnh là lúc nhiều ý tưởng lóe lên và tôi phải kiếm thứ gì đó để ghi lại khoảng khắc đấy nhanh nhất có thể. Rất nhiều bài viết được hoàn thành vào lúc 2 giờ sáng. Thật là tệ! Tôi vẫn đang cố gắng thích nghi với tiếng ồn nơi công sở và việc bị làm phiền một cách bất thình lình.\n","date":"2022-02-04T23:41:50+07:00","image":"https://japananh.github.io/blog/p/checklist-mong-1-tet/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/checklist-mong-1-tet/","title":"Checklist Mồng 1 Tết"},{"content":"I started to learn Go last year. Go is one of the most popular programming languages and is the trend in recent years. Also, for a JavaScript-based developer like I, Go is considered an easier approach to learning a strong-typed language compared to C and Java.\nThis article is about my thoughts on some resources that I used to learn Go. Hope it helps you.\nGo tour websites One of the best places to start is the official Go Tour website: https://go.dev/tour. This is an interactive tutorial that you can use to learn Go by running your own code snippets on the website itself.\nThe tour is divided into a set of modules each explaining a different concept with a couple of exercises at the end of each module.\nEffective Go Effective Go is another official resource that is available for free from the official Go website https://golang.org/doc/effective_go.html. I found it really useful especially because is not just a syntax reference but a more complete description of all the major Go features and constructs and how to use them effectively.\nGo by example If you\u0026rsquo;re already understood the basics of the language, https://gobyexample.com is another great website where can find a full code implementation.\n200lab 200lab is created by Viet Tran, a solution architect and technical advisor in Vietnam.\nI learned Golang for scalable backend course. I found the course is really helpful. They don\u0026rsquo;t teach you basic syntax where you can google it as Udemy courses, but great APIs architecture and other tricks to improve your backend performance.\nThey also have a Q\u0026amp;A group where you can post your questions and get answers within a day.\nThey don\u0026rsquo;t teach you how SQL and docker work or their syntax, so you have to google them.\nThe only disadvantage is the content is in Vietnamese.\nGo101 If you\u0026rsquo;re preparing for a Go interview. Or you just want to broaden your knowledge. Go101 is definitely for you. They have quizzes, tricks, and great books. They also cover advanced topics such as Go optimizations.\nGoExercises GoExercises is another awesome website to practice Go concepts via mini-projects.\n","date":"2022-02-03T21:49:28+07:00","image":"https://japananh.github.io/blog/p/where-to-learn-go/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/where-to-learn-go/","title":"Where to learn Go?"},{"content":"Trích chương đầu cuốn Đừng bao giờ đi ăn một mình của Keith Ferrazzi.\nSự nghèo khổ, theo tôi nhận thấy, không chỉ là do nguồn lực tài chính mà còn do chúng ta bị tách biệt khỏi những con người có thể giúp chúng ta phát huy hết khả năng của mình.\nTrích Alice lạc vào xứ sở thần tiên\nLàm ơn cho tôi biết tôi phải đi theo hướng nào?\nCái đó tùy thuộc bạn muốn đi đâu nữa cơ. - Chú Mèo trả lời.\nTôi không cần biết nơi nào. - Alice nói.\nVậy thì bạn đi hướng nào cũng có khác gì đâu. - Chú Mèo trả lời.\nĐoạn hội thoại này rút ra được hai kết luận.\nMột là nếu bạn không biết đi về đâu, mơ hồ về tương lai thì hãy cân nhắc các phương án và CHỌN ĐẠI ĐI.\nHai là làm gì cũng phải có mục tiêu, đích đến. Càng hiểu rõ thì càng biết mình cần phải làm gì.\nĐể không bị mất tập trung trong mỗi cuộc nói chuyện, phải biết rõ mình muốn gì.\n","date":"2022-01-31T07:24:37+07:00","image":"https://japananh.github.io/blog/p/mot-vai-cau-noi-dang-suy-ngam/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/mot-vai-cau-noi-dang-suy-ngam/","title":"Một vài câu nói đáng suy ngẫm"},{"content":"Tôi bắt đầu nghe podcast từ năm 2016 vào thời gian rảnh trên xe bus và lúc làm việc nhà như một thú vui giết thời gian. Không ngờ là sau nhiều năm nhìn lại, việc làm này lại đem tới thật nhiều ích lợi.\nNgoài podcasts của hai nhân vật quen thuộc tôi hay nhắc tới là Nhà khoa học máy tính Lex Fridman và Nhà khoa học thần kinh Huberman ra thì năm nay tôi đã thử một vài podcasts khác cũng rất thú vị. Sau đây, tôi xin chia sẻ nó cho các bạn. Hi vọng là chúng có ích với bạn.\nCác phần tôi đã viết:\nPhần 1: Nguyễn Phi Vân\u0026rsquo;s Podcast Joe Rogan là một diễn viên hài, bình luận viên UFC và là host của The Joe Rogan Experience, một trong những podcast có lượt xem nhiều nhất ở Mỹ.\nDù rất thích Lex Fridman nhưng nghe giọng của anh ấy khá buồn ngủ nên tôi chỉ nghe lúc nào tôi không mệt. Joe Rogan thì lại khác, chú ấy có chất giọng siêu hay, truyền cảm hứng. Chưa kể body nhiều cơ, siêu ngầu luôn.\nTừ ca sỹ, diễn viên, cho tới nhà khoa học, doanh nhân có tầm ảnh hưởng nhất trong ngành như Jordan Petterson, Elson Mask đều có mặt ở show của Joe. Nội dung thì siêu hay với nhiều chủ đề: giải trí, khoa học, triết học, nghệ thuật, võ thuật \u0026hellip;\nBạn sẽ thấy bất ngờ khi thấy sự đa tài của những vị khách mời. Hôm nay, tôi có nghe một đoạn cuộc thảo luận giữa Joe Rogan và Huấn luận viên võ thuật Firas Zahabi về Scientific Truth and Philosophy trên Youtube. Một huấn luận viên võ thuật có hiểu biết sâu về vật lý và triết học. Thật tuyệt vời! Bạn có thể toàn bộ cuộc nói chuyện ở đây.\nBên cạnh đó, ai muốn học kỹ năng critical thinking từ nhiều người giỏi ở nhiều lĩnh vực khác nhau thì đây đúng là một show tuyệt vời. Giọng điệu của người nói, ngôn ngữ cơ thể và cách họ đưa ra luận điểm và phản bác lại luận điểm của đối phương.\n","date":"2022-01-31T07:02:32+07:00","image":"https://japananh.github.io/blog/p/dau-nam-nghe-gi-phan-2-the-joe-rogan-experience/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/dau-nam-nghe-gi-phan-2-the-joe-rogan-experience/","title":"Đầu năm nghe gì? - Phần 2: The Joe Rogan Experience"},{"content":"How does the Google search engine goes through the over 30 trillion web pages on the internet and find the top 10 results in just half a second, on average?\nGoogle doesn\u0026rsquo;t actually visit every page on the internet every time you ask it something. Google stores information about web pages in databases (table of information, like in Excel), and it uses algorithms that read those databases to decide what to show you.\nCrawl all web pages Google\u0026rsquo;s algorithms build a database of every webpage on the internet. Google uses programs called spiders to \u0026ldquo;crawl\u0026rdquo; over web pages until it finds all of them. The spiders start on a few web pages and add those to Google\u0026rsquo;s list of pages, called \u0026ldquo;index\u0026rdquo;. Then, the spiders follow all the outgoing links on those pages and find a new set of pages, which they add to the index. Next, they follow all the links on those pages, and so on, until Google can\u0026rsquo;t find anything else.\nWord search If you search Google, it grabs your query (the text you typed into the search bar) and looks through its index to find the web pages that are most relevant.\nGoogle uses keyword density to show the most frequently used words on the current page, then find the page that had the most matches.\nPage rank PageRank (PR) is an algorithm used by Google Search to rank web pages in their search engine results. It is named after both the term \u0026ldquo;web page\u0026rdquo; and co-founder Larry Page. According to Google:\nPageRank works by counting the number and quality of links to a page to determine a rough estimate of how important the website is. The underlying assumption is that more important websites are likely to receive more links from other websites.\nFor instance, at a party, you know someone is popular when they\u0026rsquo;re surrounded by other popular people. PageRank gives each web page a score that\u0026rsquo;s based on the PageRank scores of every other page that links to that page.\nSEO SEO (Search engine optimization) is the process of improving the quality and quantity of website traffic to a website or a web page from search engines. The most basic form of SEO is getting more pages linked to your page. SEO also includes plenty more techniques, such as putting the right keywords in your page\u0026rsquo;s title and headings or making all of your site\u0026rsquo;s pages link to each other.\nReferences Swipe to unlock ","date":"2022-01-31T06:42:53+07:00","image":"https://japananh.github.io/blog/p/how-does-google-search-work/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/how-does-google-search-work/","title":"How does Google search work?"},{"content":"Tôi đã từng rất gầy, cố gắng ăn hết mọi thứ có thể nhưng người vẫn gầy và không tài nào tăng cân. Năm ngoái, tôi thử thay đổi chế độ ăn và thật bất ngờ là tôi tăng lên 8kg và giữ nguyên cân nặng cho tới bây giờ.\nBài này viết về những biện pháp mà tôi đã dùng. Hi vọng chúng có ích với bạn.\nCalories in \u0026gt; calories out Muốn tăng cân thì bước đầu tiên bạn phải xác định lượng calos mình cần trong một ngày là bao nhiêu. Sau đó, tính toán lượng calories nạp vào thông qua thức ăn. Bắt buộc phải đảm bảo lượng vào phải lớn hơn lượng ra.\nBody fat quá thấp Nếu như bạn đã ăn cả thế giới mà vẫn thấy mình gầy thì có thể bạn cũng như tôi. Đã gầy nhưng lại sợ béo, cắt khá nhiều chất béo ra khỏi chế độ ăn, thành ra cơ thể thiếu chất béo. Dẫn tới không thể tăng cân dù đã ăn rất chuẩn với số liệu.\nChưa kể 1 gram chất béo chứa 9 calos trong khi 1 gram protein hay carbs chỉ chứa có 4 calos. Tức là bạn phải ăn khối lượng thức ăn nhiều hơn. Và đấy là lý do tôi không thành công với tăng cân bằng chế độ high carbs.\nMỡ cơ thể được chia làm ba loại: mỡ thiết yếu, mỡ dưới da và mỡ nội tạng.\nMỡ thiết yếu (essential fat) là chất béo mà chúng ta cần để tồn tại, cung cấp cho chúng ta lớp cách nhiệt, bảo vệ các cơ quan và cho phép chúng ta hấp thụ các vitamin quan trọng.\nMỡ dưới da (subcutaneous fat) là chất béo chúng ta thấy nằm ngay dưới da và là loại chất béo chúng ta đề cập đến khi nói về giảm béo.\nMỡ nội tạng (visceral fat) là loại loại chất béo mà chúng ta không thể nhìn thấy. Chất béo này bao quanh các cơ quan của chúng ta và được coi là loại chất béo nguy hiểm có thể gây ra nhiều vấn đề sức khỏe nếu có quá nhiều. Khi chúng ta giảm mỡ trong cơ thể, chúng ta đang mất cả mỡ dưới da và mỡ nội tạng.\nTrên 32% chất béo cơ thể đối với phụ nữ và 25% chất béo cơ thể đối với đàn ông được phân loại là béo phì. Còn mức tối thiểu của nữ là 10-13%.\nTỷ lệ chất béo cơ thể khỏe mạnh của phụ nữ dao động từ 25-31%, được coi là bình thường. Đối với nam giới, phạm vi này là 18-24%.\nĂn whole foods Nếu cơ thể bạn chỉ cần calories, protein, fat và carbs việc ăn uống đã vô cùng đơn giản và tiện lợi. Bạn có thể cho bất kỳ thứ gì từ mỳ gói, đồ ăn nhanh, trà sữa, đồ chiên rán vào miệng. Miễn là đảm bảo đủ lượng calories. Tuy nhiên, đời không như là mơ. Bạn còn cần vitamins, chất xơ và một loạt những chất chống oxy hóa khác.\nĐấy là lý do chúng ta cần ăn whole foods là các loại thực phẩm chưa qua chế biến hoặc chế biến 1 cách ít nhất có thể. Nó bao gồm bột mỳ nguyên cám, gạo lứt, hoa quả, rau và thịt chế biến và ướp với gia vị tự nhiên.\nLớp vỏ cám của gạo lứt chứa rất nhiều chất xơ và vitamins. Sẽ cần một thời gian để mọi người hiểu rằng ăn gạo lứt không phải là ăn kiêng. Tôi vẫn ăn gạo lứt để tăng tới 8kg cơ mà.\nNếu bạn có vấn đề với sữa và đảm bảo đủ lượng protein mỗi ngày, hãy tránh xa whey protein (một trong những protein chính được tìm thấy trong các sản phẩm sữa). Còn nếu vì lý do nào đó bạn cần bổ sung protein có nguồn gốc thực vật, hãy kiểm tra kỹ thành phần xem có mỳ chính và các chất phụ gia có hại không.\nTập thể dục Nếu không tập thể dục, bạn sẽ tăng cân với cái bụng trông như bà bầu. Đặc biệt là khi bạn tăng lượng khá lớn cân nặng như tôi (8 kg). Phần lớn mọi người sẽ có tỷ lệ tích mỡ không đều nhau. Khi tôi tăng cân, trong vài tháng đầu, mỡ sẽ tập trung hết vào bụng, trong khi tay chân, mông thì kích thước không đổi. Khi tôi tập thể dục, cơ thể tôi cân bằng lại, mỡ bụng ít đi và cơ thể nở nang.\nNếu bạn đang không biết tập từ đâu, tôi có viết một bài hướng dẫn lên bài tập ở đây.\nHai cuốn sách Glute lab và Strong Curves của bác Bret Contreras đều là những cuốn sách gối đầu giường của tôi.\nNgoài ra, tôi còn viết bài review những cuốn sách fitness tôi từng đọc ở đây.\nReferences https://www.performancelab.com/blogs/fat-loss/what-is-the-lowest-body-fat-percentage#:~:text=We%20also%20have%20something%20called,ever%20go%20below%20these%20percentages. ","date":"2022-01-31T06:06:39+07:00","image":"https://japananh.github.io/blog/p/tang-can-cho-nguoi-gay/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/tang-can-cho-nguoi-gay/","title":"Tăng cân cho người gầy"},{"content":"Tôi bắt đầu nghe podcast từ năm 2016 vào thời gian rảnh trên xe bus và lúc làm việc nhà như một thú vui giết thời gian. Không ngờ là sau nhiều năm nhìn lại, việc làm này lại đem tới thật nhiều ích lợi.\nNgoài podcasts của hai nhân vật quen thuộc tôi hay nhắc tới là Nhà khoa học máy tính Lex Fridman và Nhà khoa học thần kinh Huberman ra thì năm nay tôi đã thử một vài podcasts khác cũng rất thú vị. Sau đây, tôi xin chia sẻ nó cho các bạn. Hi vọng là chúng có ích với bạn.\nNguyễn Phi Vân\u0026rsquo;s Podcast: https://www.nguyenphivan.com/podcast\nTôi thường không hứng thú lắm với nghe tiếng việt. Lý do là tôi muốn dành nhiều thời gian phát triển khả năng nghe tiếng anh nhiều hơn. Tuy nhiên, sau lần tình cờ một bài nói chuyện của cô Nguyễn Phi Vân thì tôi phải tìm bằng được podcast của cô để nghe cho bằng hết các lời khuyên nghề nghiệp.\nMỗi tập đề cập tới một vấn đề khác nhau. Bạn không nhất thiết phải xem theo thứ tự. Cô Vân đưa ra những lời khuyên thiết thực, rõ ràng và cách giải thích khoa học, số liệu cũng có kèm dẫn chứng khiến tôi thấy tin tưởng. Nhờ đó, tôi đã tự mình xử lý một vài khó khăn trong công việc.\nBên cạnh đó, trang web nguyenphivan.com còn có nhiều khóa học kỹ năng bổ ích cho những bạn độ tuổi đi làm. Bạn có thể tham gia học miễn phí ở đây.\nMột điểm đáng chú ý nữa là trang phục, đầu tóc và khuôn mặt của cô. Bộ quần áo đen, lấy điểm nhấn là chiếc khăn lụa. Mái tóc đen, dài, đậm chất phụ nữ Việt Nam, cùng gương mặt trang điểm cực kỳ nhẹ nhàng. Thật là đơn giản và chuyên nghiệp.\n","date":"2022-01-31T03:32:03+07:00","image":"https://japananh.github.io/blog/p/dau-nam-nghe-gi-phan-1-nguyen-phi-van-s-podcast/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/dau-nam-nghe-gi-phan-1-nguyen-phi-van-s-podcast/","title":"Đầu năm nghe gì? - Phần 1: Nguyễn Phi Vân's Podcast"},{"content":"Đầu năm đọc gì? là series nhỏ trong thử thách 100 ngày viết lách của tôi. Nội dung viết về những cuốn sách tôi đã đọc trong tháng đầu tiên của năm 2022. Đây là những phần tôi đã viết.\nPhần 1: Tội ác và trừng phạt Phần 2: Swipe to unlock Phần 3: Staff Engineer\u0026rsquo;s Path Tôi tình cờ thấy cuốn Đừng bao giờ đi ăn một mình trên bàn làm việc của một đồng nghiệp. \u0026ldquo;Lại một cuốn sách self-help về giao tiếp.\u0026rdquo; - Tôi lưỡng lự vài giây rồi vì tò mò nên mở ra được lướt vài chương.\nNội dung cuốn sách xoay quanh các lời khuyên để mở rộng mạng lưới quan hệ. Keiht Ferrazzi quả là một bậc thầy và những câu chuyện của ông chính xác là những thứ tôi cần vào thời điểm này.\nMỗi chương sách đều kể những câu chuyện của tác giả và độc lập nhau nên bạn có thể nhảy cóc tới bất kỳ chương nào bạn quan tâm đọc trước. Áp dụng thử một lời khuyên, rồi lại đọc tiếp. Biết đâu chúng lại có ích với bạn.\nMột trong những đặc điểm tôi thích ở cuốn sách self-help là \u0026ldquo;mỳ ăn liền\u0026rdquo;. Có công thức sẵn và bạn sẽ đạt mục tiêu khi thực hành MỘT CÁCH CHỌN LỌC theo chỉ dẫn. Nếu bạn đọc xong và không làm gì, cuốn sách này sẽ vô dụng với bạn.\nHôm nay là ngày đi làm cuối cùng trong năm của tôi. Thật mừng khi mang được thứ gì có ích về nhà. À mà cuốn sách này có bìa đỏ đấy.\n","date":"2022-01-31T02:47:22+07:00","image":"https://japananh.github.io/blog/p/dau-nam-doc-gi-phan-4-dung-bao-gio-di-an-mot-minh/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/dau-nam-doc-gi-phan-4-dung-bao-gio-di-an-mot-minh/","title":"Đầu năm đọc gì? - Phần 4: Đừng bao giờ đi ăn một mình"},{"content":"Đầu năm đọc gì? là series nhỏ trong thử thách 100 ngày viết lách của tôi. Nội dung viết về những cuốn sách tôi đã đọc trong tháng đầu tiên của năm 2022.\nNăm nay, tôi sẽ chăm chỉ hơn để hoàn thành chỉ tiêu 25 cuốn. Tội ác và trừng phạt của nhà văn Dostoevsky là cuốn khởi đầu.\nẤn tượng của tôi về cuốn sách này không được tốt lắm. Tôi đã nghĩ mình sẽ đọc một cách thư thả. Nhưng cuộc sống luôn chứa nhiều ẩn số. Một ngày cuối tuần, tôi mở sách ra và bị cuốn theo anh bạn Rax cho tới hồi kết của truyện.\nRaxcolnicov vẫn rất cứng đầu, không hề nhận lỗi dù anh bạn có nhiều đấu tranh nội tâm. Tôi mừng là thấy được kết thúc có hậu khi trái tim anh bạn cuối cùng cũng tràn ngập yêu thương nhờ sự chăm sóc của Xonia. Cô em gái xinh đẹp, gan dạ Dunia lấy Razumikhin, cậu bạn thân nhiệt tình và tốt bụng của Raxcolnicov. Những tên xấu xa đều có kết cục đáng phải có.\nNhiều chi tiết vẫn khiến tôi chưa lý giải được hành vi của nhân vật. Ví dụ, tại sao, sau phát đầu bắn trượt, súng còn đạn mà Dunia không bắn thêm phát vào giữa sọ Xvidrigailov, tên định cưỡng hiếp mình? Tại sao gã Xvidrigailov lại thả Dunia ra rồi sau đó tự tử trong khi lão đã đi một quãng đường dài, mưu tính để chiếm đoạt nàng?\nTôi không chắc là mình thích cuốn sách này. Chỉ có duy nhất một điều tôi thấy là nội dung thật lôi cuốn. Bạn chỉ có thể hiểu chuyện gì xảy ra khi đọc liên tục từng trang, nhảy cóc sẽ khó đoán được chuyện gì đã, đang và sẽ xảy ra.\n","date":"2022-01-31T02:28:13+07:00","image":"https://japananh.github.io/blog/p/dau-nam-doc-gi-phan-1-toi-ac-va-trung-phat/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/dau-nam-doc-gi-phan-1-toi-ac-va-trung-phat/","title":"Đầu năm đọc gì? - Phần 1: Tội ác và trừng phạt"},{"content":"Đầu năm đọc gì? là series nhỏ trong thử thách 100 ngày viết lách của tôi. Nội dung viết về những cuốn sách tôi đã đọc trong tháng đầu tiên của năm 2022. Đây là những phần tôi đã viết.\nPhần 1: Tội ác và trừng phạt Phần 2: Swipe to unlock Swipe to unlock là cuốn sách công nghệ thú vị nhất mà tôi từng được đọc. Ba anh chàng PM (Project Manager) từ ba gã khổng lồ (Google, Microsoft và Apple) bắt tay nhau viết nên những câu chuyện công nghệ. Hầu như chương nào tôi cũng thích đọc và đều liên hệ thực tế tới công việc hiện tại của tôi.\nTôi nhớ mình đã vật vã học môn Networking trong vài tháng nhưng vẫn lơ ngơ các khái niệm cơ bản như IP, domain, \u0026hellip; cho tới khi đọc chương 4 - The Internet. Các tác giả giải thích cách các gói tin được truyền qua Internet thông qua việc kể câu chuyện vận chuyển tương ớt ở Mỹ.\nMột trong những chương tôi thích nhất là chương 5 - Cloud computing (điện toán đám mây). Bằng việc kể câu chuyện giữa người thuê xe và người sở hữu xe rồi ví chúng như điện toán đám mây (cloud computing) và điện toán truyền thống (traditional computing), những khái niệm công nghệ đều trở nên dễ hiểu với một người non-tech.\nNgoài ra, cuối sách có phần videos về PM mock interviews. Bạn nào có định hướng làm PM có thể tham khảo.\nTôi vẫn còn đang đọc dở cuốn này. Hi vọng sẽ có thêm nhiều điều hay để chia sẻ với mọi người.\n","date":"2022-01-31T02:27:42+07:00","image":"https://japananh.github.io/blog/p/dau-nam-doc-gi-phan-2-swipe-to-unlock/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/dau-nam-doc-gi-phan-2-swipe-to-unlock/","title":"Đầu năm đọc gì? - Phần 2: Swipe to unlock"},{"content":"Đầu năm đọc gì? là series nhỏ trong thử thách 100 ngày viết lách của tôi. Nội dung viết về những cuốn sách tôi đã đọc trong tháng đầu tiên của năm 2022. Đây là những phần tôi đã viết.\nPhần 1: Tội ác và trừng phạt Phần 2: Swipe to unlock Lúc đầu, tôi định đọc cuốn Staff Engineer của Will Larson. Nhưng sau đó, do tình cờ tìm thấy Staff Engineer\u0026rsquo;s Path trên trang của Oreilly nên tôi đã đọc thử.\nĐây là cuốn sách dành cho những ai đang rất NGHIÊM TÚC với sự nghiệp của mình trong ngành công nghệ. Bạn muốn trở thành ai, lên vị trí nào? Nấc thang thăng tiến trong sự nghiệp của bạn sẽ như nào? Vai trò của từng vị trí trong tổ chức là gì? Những kỹ năng nào bạn nên có? \u0026hellip;\nTôi nhớ mình đã rất rối bời trong năm đầu tiên đi làm. Tôi chả biết mình sẽ bắt đầu từ đâu và sẽ làm gì tiếp theo. Nếu có thể gửi lời nhắn nhủ gì tới bạn Na quá khứ thì CHẮC CHẮN tôi sẽ nhắn bạn ấy đọc cuốn này.\nDưới đây là một chút tóm tắt của tôi về nấc thang sự nghiệp của bạn qua bài viết của Eli Weinstock-Herman. Bạn có thể đọc toàn bộ bài viết ở đây.\nBạn sẽ bắt đầu từ vị trí Entry level (Inter/Junior) với một ít kiến thức căn bản về khoa học máy tính.\nLý tưởng là sau 6 - 12 tháng, bạn lên vị trí Assosiate Level (Junior). Với một ít kinh nghiệm, bạn có thể xử lý được những task nhỏ dưới sự quản lý của cấp trên.\nLên vị trí Mid-Level, bạn có thể làm việc ĐỘC LẬP trên những tính năng/dự án nhỏ và vẫn chịu sự giám sát từ người quản lý. Bạn có hiểu biết sâu về những kiến thức lập trình và làm việc được trên nhiều domain khác nhau như database, apps, APIs, web frontend, \u0026hellip; ), kỹ năng test phần mềm, bảo mật và OO/functional/procedural. Bạn được tham gia vào quá trình thiết kế sản phẩm cùng với các senior developers. Bên cạnh đó, bạn có khả năng hướng dẫn những members yếu hơn trong team.\nTừ Senior trở lên (Senior, Post-Senior Tracks #1 và Post-Senior Tracks #2) là vị trí mà developers nào cũng ao ước. Bạn làm việc và tự chủ trong công việc của mình. Bạn trở nên thành thạo nhiều kỹ năng liên quan và có thể hiểu được xu hướng của ngành. Bạn đóng vai trò vô cùng quan trọng trong tổ chức và là người tạo ra \u0026ldquo;luật\u0026rdquo;.\nCòn rất nhiều nội dung thú vị nữa mà tôi chưa thể kể hết trong bài. Hi vọng những điều tôi chia sẻ sẽ có ích với bạn.\n","date":"2022-01-31T02:27:14+07:00","image":"https://japananh.github.io/blog/p/dau-nam-doc-gi-phan-3-staff-engineer-s-path/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/dau-nam-doc-gi-phan-3-staff-engineer-s-path/","title":"Đầu năm đọc gì? - Phần 3: Staff Engineer's Path"},{"content":"Nhà tôi nhỏ nên có nhiều cái lợi. Việc dọn nhà diễn ra rất nhanh gọn. Hút bụi, lau nhà mất có 15 phút. Nhà ai có bé robot thì cứ để cho bé ấy chơi vui vẻ dưới sàn rồi mình chạy đi làm việc khác hấp dẫn hơn.\nViệc nhà thật là ám ảnh, vừa nhàm chán lại vừa tốn thời gian. Trong khi mình có thể để máy móc làm việc với độ chính xác cao hơn và tốc độ nhanh hơn. Chưa cái quần áo nào tôi giặt sạch sẽ, vắt khô và nhanh như máy giặt. Tôi thật mừng vì có nhiều người đam mê việc nhà. Để bù lại cho những đứa ỷ lại vào máy móc như tôi.\nTôi có những món đồ kỷ niệm nhỏ xinh. Cái lọ đầy sao một người bạn gấp tặng tôi hồi cấp 2. Một chiếc gọt bút chì quà tặng dùng hơn 10 năm vẫn còn rất sắc bén. Và n món đồ khác. Mỗi năm, tôi đều dọn đi một vài món đồ không cần thiết. Có thế là một chiếc áo lâu không mặc tới hay một quyển sách lâu không đọc tới.\nCon người thường sợ mất mát. Có những món đồ ta chả dùng đâu nhưng dọn đi thì lại không nỡ. Ta cứ chần chữ mãi lỡ về sau lại cần. Sau đây là 3 quy tắc tôi áp dụng để khiến căn nhà trở nên không quá tải đồ.\nThứ nhất, chỉ mua những hàng hóa thiết yếu (những thứ có mục đích rõ ràng, phục vụ nhu cầu thiết yếu). Một chiếc bàn phím cơ êm ái sẽ được coi là phục vụ nhu cầu thiết yếu nếu như công việc của bạn phải dùng tới bàn phím nhiều. Nhưng nếu mua chỉ để ngắm thì tôi sẽ coi đó là một sự phí phạm tài chính.\nThứ hai, một món vào, một món ra. Nếu tôi mua một cái áo thì phải có một cái áo trong tủ ra đi. Làm sao để đầu năm và cuối năm số mắc trong tủ bằng nhau là đẹp.\nThứ ba, những món đồ lâu không dùng đến (cỡ trên 1 năm) sẽ được xem xét dọn đi. Tôi có những cuốn sách cất tủ nhiều năm không đọc và cứ tiếc mãi không dọn đi. Tôi thử áp dụng quy tắc này trong cuốn Lối sống tối giản của người Nhật là dọn đi những đồ lâu không dùng tới. Nếu cuốn sách đó thực sự quan trọng, tôi sẽ mua lại chúng. Thật bất ngờ là tôi thậm chí đã quên béng tên sách, chứ đừng nói là mua lại.\nHôm nay, liệu bạn có đủ \u0026ldquo;dũng cảm\u0026rdquo; để dọn nhà?\n","date":"2022-01-31T00:26:31+07:00","image":"https://japananh.github.io/blog/p/don-nha/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/don-nha/","title":"Dọn nhà"},{"content":"Bài này ghi lại những thứ tôi hiểu về hàm init trong Go.\nKhi tạo ứng dụng với ngôn ngữ Go, bạn cần khởi tạo biến cùng giá trị của chúng. Một trong những cách để làm điều này là khởi tạo chúng ở đầu hàm main() hoặc khởi tạo chúng như biến global. Hàm init() cho phép bạn chạy code trước hàm main() và sau khi biến global được khởi tạo.\nConcepts Hàm init() sẽ được gọi trước hàm main() theo thứ tự như hình dưới.\nRequirements Để chạy được phần code demo, bạn cần cài Go và nodemon. Bạn có thể chọn bất kỳ editor nào. Tôi dùng Visual Studio Code.\nDemo Hàm init() chỉ chạy một lần. Hàm init() sẽ chạy sau khi biến global của package được khởi tạo và trước hàm main(). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package main import ( \u0026#34;fmt\u0026#34; ) func main() { fmt.Println(\u0026#34;run main\u0026#34;) } func init() { fmt.Println(\u0026#34;init package main\u0026#34;) fmt.Println(\u0026#34;x =\u0026#34;, x) } var x int = 1 // biến global 1 nodemon --exec go run main.go --signal SIGTERM 1 2 3 init package main x = 1 run main Hàm init() bên trong package sẽ chạy khi import package bất kể bạn có sử dụng package này hay không. 1 2 3 4 5 6 7 8 9 10 package main import ( \u0026#34;fmt\u0026#34; _ \u0026#34;learn/internal/collections\u0026#34; ) func main() { fmt.Println(\u0026#34;run main\u0026#34;) } 1 2 3 4 5 6 7 8 9 10 11 package collections import \u0026#34;fmt\u0026#34; func init() { fmt.Println(\u0026#34;init package collections\u0026#34;) } func main() { fmt.Println(\u0026#34;run main in collections\u0026#34;) } 1 2 init package collections run main Nếu có nhiều hàm init() trong một file thì thứ tự chạy init() sẽ từ trên xuống dưới. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 package main import ( \u0026#34;fmt\u0026#34; ) func init() { fmt.Println(\u0026#34;run init 1\u0026#34;) } func init() { fmt.Println(\u0026#34;run init 2\u0026#34;) } func main() { fmt.Println(\u0026#34;run main\u0026#34;) } 1 2 3 run init 1 run init 2 run main Nếu có nhiều hàm init() giữa các file trong một package, thứ tự chạy theo tên file tăng dần theo bảng chữ cái tiếng anh. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package main import ( \u0026#34;fmt\u0026#34; _ \u0026#34;learn/pkg/collections\u0026#34; _ \u0026#34;learn/pkg/rabbits\u0026#34; ) func init() { fmt.Println(\u0026#34;init package main\u0026#34;) } func main() { fmt.Println(\u0026#34;run main\u0026#34;) } 1 2 3 4 5 6 7 package collections import \u0026#34;fmt\u0026#34; func init() { fmt.Println(\u0026#34;init package collections\u0026#34;) } 1 2 3 4 5 6 7 package rabbits import \u0026#34;fmt\u0026#34; func init() { fmt.Println(\u0026#34;init package rabbits\u0026#34;) } 1 2 3 init package collections init package rabbits init package main Nhược điểm Sau đây là một vài nhược điểm của việc dùng hàm init():\nLàm chậm thời gian khởi động của ứng dụng. Hàm init() sẽ được gọi ngay khi bạn import package bất kể có cần hay không. Nếu hàm init() sửa giá trị của biến global, nó sẽ không được gọi khi chạy test. Tài liệu tham khảo https://david-yappeter.medium.com/init-in-go-programming-31e2c2bc2371 https://go.dev/doc/effective_go#init ","date":"2022-01-24T09:08:51+07:00","image":"https://japananh.github.io/blog/p/ham-init-trong-go/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/ham-init-trong-go/","title":"Hàm init trong Go"},{"content":"Tôi nghĩ rằng sẽ có rất nhiều lân trong đời bạn sẽ thốt lên câu \u0026ldquo;Tôi thấy thật tệ\u0026rdquo; (I\u0026rsquo;m feeling so bad). Tệ thường được gán cho cái mác \u0026ldquo;yếu đuối\u0026rdquo;, \u0026ldquo;kém cỏi\u0026rdquo;, \u0026ldquo;hèn\u0026rdquo;. Điều này là không đúng. Hầu hết cảm giác tệ tới từ sự bất ổn kéo dài trong cuộc sống làm cạn kiệt dopamine và nó là tín hiệu cho thấy bạn cần thay đổi.\nNão bộ không phân biệt được trải nghiệm thật hay giả về mặt cảm xúc. Chừng nào hình ảnh tiêu cực còn chạy vòng vòng trong đầu thì chừng đó thời gian bạn sẽ bị nó nuốt chửng. Lúc này, bạn cần kiếm một việc thật dễ, vui vẻ, lành mạnh, thực hiện nó để cho não bạn được nhảy số sang chủ đề khác.\nBước một, nếu bạn thích xem phim. Điều này chứng tỏ dopamine tăng nhanh khi bạn xem phim. Bạn nên có sẵn 1 list các danh sách các phim có nội dung vui vẻ, hài hước, tránh những phim nhiều cảm xúc tiêu cực. Vì trong lúc rối bời có thể bạn sẽ chọn nhầm một phim có nội dung tệ và nguy cơ thất vọng (tụt dopamine) cao.\nBước hai, sau khi bình tĩnh hơn, nhờ nạp dopamine từ việc xem phim, bạn nên ngồi xuống và trả lời những câu hỏi sau.\nĐiều gì đã khiến tôi cảm thấy tệ?\nChuyện này bắt đầu từ khi nào? Giọt nước nào đầu tiên rơi vào cái cốc?\nTôi làm gì để cải thiện tình hình bây giờ?\nLàm sao để tôi ngăn điều này xảy ra vào lần tới?\nTrả lời càng kỹ bao nhiêu thì lần sau khả năng tái lỗi của bạn sẽ thấp hơn hẳn. Với tôi, khi tôi đã phải dùng tới phim để tăng mood thì đấy là lúc tôi thấy TỆ NHẤT. Bạn có thể sẽ có câu trả lời khác với tôi.\nBước ba, thực hiện những gì bạn đã viết trong tối thiểu 21 ngày liên tục để chúng trở thành thói quen, tự động đi vào tiềm thức. Thiếu bước này, những thứ bạn viết ra ở bước hai sẽ trở nên vô ích. Một số người xây dựng thói quen lâu hơn người khác và việc này có thể lên tới vài tháng cho tới ba năm. Nếu bạn miss vài ngày, không sao cả. Bạn không phải là siêu nhân.\nChúng ta thường nghĩ là năng lượng tiêu cực tới từ những người xung quanh. Nếu bạn nghĩ đồng nghiệp lười biếng khiến bạn lười biếng theo, bạn có thể thử đổi môi trường. Biết đâu bạn đúng. Nhưng hãy cẩn thận với chính mình.\n","date":"2022-01-23T04:36:17+07:00","image":"https://japananh.github.io/blog/p/i-m-feeling-so-bad/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/i-m-feeling-so-bad/","title":"I'm feeling so bad"},{"content":"Tôi có vài trải nghiệm về dịch vụ khách hàng ở Việt Nam và đa số đều khá tệ. Tôi nghĩ lý do chất lượng dịch vụ của chúng ta chưa được tốt là do phần đông chúng ta đều là khách hàng \u0026ldquo;dễ tính\u0026rdquo;.\nNếu người ta làm tóc hỏng cho bạn, khả năng cao là bạn sẽ hậm hực ở nhà và lần sau đổi salon khác thay vì tới tận nơi và bắt người ta xử lý hậu quả. Hay nếu đi ăn mà có món ăn dở, bạn sẽ hậm hực trong lòng và thanh toán rồi lần sau tránh xa thay vì thanh toán đánh giá 1 sao.\nTôi nghĩ tâm lý này đến từ hồi còn bé, người lớn dạy chúng ta phải\n\u0026ldquo;Dĩ hòa vi quý. Một điều nhịn, chín điều lành\u0026rdquo;.\nLời khuyên này đúng đắn vì giúp bạn nghĩ kỹ càng trước khi lao vào cuộc tranh luận nảy lửa và lãng phí thời gian. Nhưng nó không hề đúng đắn trong trường hợp dịch vụ khách hàng và đôi khi là ở công sở hay gia đình.\nNếu bạn không đánh giá 1 sao, người chủ nhà hàng họ sẽ không biết là nhân viên họ đã từng có lúc làm việc rất tệ hoặc dịch vụ/sản phẩm họ cung cấp đang có vấn đề. Toi biết là nhiều nhà hàng sẽ trừ lương nhân viên nếu khách hàng phàn nàn. Nhưng đây là điều nên làm để nâng cao trách nhiệm lao động.\nNếu bạn im lặng khi công ty cắt thưởng của mình, bạn sẽ trở thành kẻ đồng lõa cho những con người bóc lột sức lao động. Bạn có thể hậm hực trong lòng vì mất tiền và tháng sau nghỉ việc. Nhưng nếu bạn lên tiếng, biết đâu những anh em khác sẽ hưởng ứng và khi nhiêu người cùng gây sức ép, có thể công ty sẽ xem xét lại quyết định của họ.\nThế hệ gen Z của tôi có một sự phát triển về cả nhận thức lẫn trí tuệ và tôi lấy làm mừng vì hầu như những người tôi gặp đều coi nam nữ bình đẳng. Tuy nhiên, thế hệ cha ông chúng tôi thì lại không như vậy. Nếu bố bạn còn lên tiếng chửi bới hay coi mình là \u0026ldquo;chúa tể\u0026rdquo; trong nhà, bạn nên lên tiếng nói với ông về quyền bình đẳng và việc tôn trọng những người xung quanh. Tôi biết là việc này sẽ khó khăn và có thể bố bạn sẽ sốc và giận dữ. Nhưng thời gian sẽ chứng minh tất cả.\nTôi tin rằng một chút \u0026ldquo;khó tính\u0026rdquo; sẽ là một gia vị đặc biệt cho cuộc sống. Biết đâu đấy, sự thay đổi của bạn tạo ảnh hưởng tích cực tới nhiều người.\n","date":"2022-01-23T03:29:59+07:00","image":"https://japananh.github.io/blog/p/khach-hang-kho-tinh/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/khach-hang-kho-tinh/","title":"Khách hàng \"khó tính\""},{"content":"\u0026ldquo;Đẹp\u0026rdquo; trở thành một áp lực vô hình đè lên cuộc sống của chúng ta, bất kể bạn trẻ hay già, nam hay nữ. Khi những influencers trên mạng xã hội đều coi trang điểm như một chuẩn mực của cái đẹp thì cũng dễ hiểu khi mỹ phẩm trở nên quan trọng chả kém gì đồ ăn và nước uống. Tuy nhiên, đằng sau sự hào nhoáng đấy là những mặt tối mà chúng ta không hề biết.\nMica Lấp lánh (smikky) trở thành tiêu chuẩn của vẻ đẹp những năm trở lại đây và không lạ gì trong các sản phẩm trang điểm đều có mica, một loại khoáng chất silicat, được nghiền thành bột, tạo ra các màu sắc óng ánh tự nhiên trong nhiều sản phẩm làm đẹp\nMica được thu mua từ Ấn Độ (đặc biệt là Jharkand và Bihar), dựa trên việc bóc lột sức lao động của trẻ em, có cả những em bé mới 5 tuổi. Chúng không có lựa chọn nào khác hoặc đào mica trong những hầm sâu dưới lòng đất hoặc là nhịn đói. Tất cả những đứa trẻ ấy đều thiếu ăn, gầy gò và không được đến trường.\nNhững nhà hoạt động nhân quyền đã đứng lên phản đối và những công ty mỹ phẩm nhận ra họ phải có trách nhiệm trong việc truy vết nguồn nguyên liệu thô của mình. Nhiều công ty mỹ phẩm đã từ chối hợp tác với những công ty sử dụng lao động trẻ em hay tự sản xuất mica.\nTôi nghĩ chúng ta nên quan tâm hơn tới thành phần của mỹ phẩm. Ít nhất bạn cũng phải biết đâu là thành phần chính làm nên công dụng của nó. Sau một sản phẩm là cả một quá trình, một câu chuyện và có thể là một mạng người.\nChúng ta bị thao túng Khi trên mạng xã hội tràn ngập hình ảnh những chàng trai, cô gái với cùng một vẻ bề ngoài, bạn sẽ vô tình ngộ nhận đó là cái đẹp, là chuẩn mực, là hợp thời. Mỗi quốc gia sẽ có một định kiến riêng về cái đẹp. Ở Việt Nam, da trắng, cằm V-line, eo bé, chân thon sẽ được coi là chuẩn mực của cái đẹp. Cô người mẫu nào cũng gầy và cao. Ở Mỹ, có những cô người mẫu đồ lót tập tạ, cơ bắp.\nSự mịn màng (smooth) của làn da tượng trưng cho sự hoàn hảo. Cho nên, chả lạ gì khi nhiều mỹ phẩm đều cố tình cho những thành phần tạo cảm giác mịn màng khi bạn sờ tay lên da như dimethicone. Vitamin C của hãng The Inkey List là một ví dụ. Tôi dùng sản phẩm này vì nó không phải để tủ lạnh và có nguy cơ oxi hóa nhanh như vitamin C của Timeless.\nKhi cái đẹp không còn là lựa chọn cá nhân mà bị thao túng vì lợi ích của vài nhóm người, chúng ta sẽ thấy thế giới và nhận thức của nhiều người bị bóp méo một cách khủng khiếp. Tôi không nghĩ mình có thể cảm thấy tích cực khi xem video miêu tả trước và sau trang điểm của một cô gái. Thật là buồn khi những nội dung khoa học, giúp cuộc sống tốt đẹp hơn chưa bao giờ thu hút được lượt view nhiều như những nội dung nhảm nhí kia.\nThay vì cố gắng tạo một chuẩn mực \u0026ldquo;đẹp\u0026rdquo;, tôi nghĩ chúng ta nên học cách trân trọng về bề ngoài của chính mình.\nPhần kết Trước mỗi quyết định mua sắm của mình, tôi đều tự hỏi rằng liệu đây là điều mình THỰC SỰ MUỐN LÀM hay là bị ảnh hưởng bởi chuẩn mực của một ai đó khác. Khi nào bạn đọc lập về mặt tư tưởng thì bạn sẽ khó bị thao túng hơn. Trang điểm giúp bạn trở nên tươi tắn và đó nên là điều có ý nghĩa nhất. Ngoài ra, đằng sau một sản phẩm là một quá trình, một câu chuyện và có thể là một mạng người.\nReferences https://www.youtube.com/watch?v=IeR-h9C2fgc ","date":"2022-01-23T02:59:49+07:00","image":"https://japananh.github.io/blog/p/hom-nay-ban-co-d%E1%BA%B9p-khong/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/hom-nay-ban-co-d%E1%BA%B9p-khong/","title":"Hôm nay bạn có ĐẸP không?"},{"content":"We all have people who have changed our lives. People can change your life in a positive or negative way. Master Thich Nhat Hanh is my inspiration to live a better life.\nHis drama talks and his mantras help me overcome my anger. I read this mantra many many times years ago until the anger was gone. If you\u0026rsquo;re dealing with your anger, I hope this helps.\nHe left our beautiful world today. His compassion and his wisdom are still our guides and shell never pass away. \u0026ldquo;I place my faith in Amida Buddha.\u0026rdquo;\nAnger Mantra 1 2 3 4 5 6 7 8 9 10 11 12 Breathing in, I know that anger is here. Breathing out, I know that the anger is not me. Breathing in, I know that anger is unpleasant. Breathing out, I know this feeling will pass. Breathing in, I am calm. Breathing out, I am strong enough to take care of this anger. ","date":"2022-01-23T00:27:52+07:00","image":"https://japananh.github.io/blog/p/who-has-been-an-influence-on-you/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/who-has-been-an-influence-on-you/","title":"Who has been an influence on you?"},{"content":"Tôi được giới thiệu cuốn Swipe To Unlock trong podcast Bốn chấm không, một podcast truyền cảm hứng về công nghệ. Bằng việc trả lời các câu hỏi về chiến lược kinh doanh của thế giới công nghệ, ba anh chàng PM (Project Manager) tới từ ba gã khổng lồ Facebook, Google và Microsoft đã kể cho người đọc những câu chuyện kinh doanh thú vị.\nNếu bạn chưa có thời gian nghe thử Bốn chấm không, tôi đã tóm tắt lại những lời khuyên từ các khách mời trong mỗi tập ở đây.\nCuốn Swipe to unlock đã có bản tiếng việt, xuất bản tháng 9/2021. Bạn có thể tìm mua trên Tiki.\nPre-installed Apps Mỗi chiếc điện thoại mới mua đều có cài sẵn một số apps cài trước mà người dùng sẽ không thể xóa (pre-installed apps). Các công ty công nghệ (điển hình là Google) đã phải trả một khoản tiền không nhỏ để nhà sản xuất cài ứng dụng lõi của họ vào. Đó là lý do bạn mở một chiếc điện thoại Android lên và thấy đã cài sẵn nhiều Google\u0026rsquo;s apps như Google Chrome và Google Maps.\nBên cạnh đó, Google cũng mất một khoản tiền không hề nhỏ trả cho Apple để đưa Google Maps trở thành ứng dụng tìm kiếm địa chỉ mặc định ở IOS.\nDù rất vô dụng nhưng các apps cài trước chiếm dung lượng bộ nhớ của bạn và làm hao pin khi chúng chạy ngầm. Thi thoảng, chúng còn tự ý cài thêm nhiều ứng dụng vớ vẩn khác nữa.\nOne reviewer found that 37 bloatware apps ate up 12GB of his 64GB of storage as soon as he opened the box.\nSometimes things get truly absurd, like when Verizon once pre-installed a bloatware app on Galaxy S7s that would download other bloatware apps without the user knowing.\nTôi từng dùng một chiếc Xiaomi Redmi 6 Pro. Máy được cài sẵn rất nhiều ứng dụng của xiami, tốn 1/2 dung lượng bộ nhớ và hơn một nửa số app của Xiaomi mà tôi không hề dùng tới. Điều này khiến tôi rất bực. Về sau, tôi đổi sang dùng LG velvet thì tôi xóa được hầu hết các ứng dụng không cần thiết.\nBài học rút ra từ chương này là khi mua điện thoại phải chú ý cả pre-installed apps, điều mà hầu hết mấy kênh review điện thoại không nói.\nTargeting ads If Google notices that you search for \u0026ldquo;guide for choosing a watch\u0026rdquo; or \u0026ldquo;cost of a cheap watch\u0026rdquo;, Google could infer that you\u0026rsquo;re shopping for a wristwatch.\nThen they could show you ads for watches when you\u0026rsquo;re doing future searches.\nKhi bạn search Google với từ khóa \u0026ldquo;đồng hồ giá rẻ\u0026rdquo;, bạn sẽ thấy sản phẩm đồng hồ sẽ được hiện thì nhiều hơn ở quảng cáo Facebook/Messenger. Họ đã dùng chiến thuật targeting ads để thu thập nội dung tìm kiếm của bạn rồi phân tích và cuối cùng xác định xem loại quảng cáo nào phù hợp với bạn. Lý do Facebook có được thông tin tìm kiếm của bạn là do Facebook đã trả cho Google một khoản tiền.\nChuyển sang Google’s Incognito Mode và không đăng nhạp vào Google account là một cách hạn chế những loại quảng cáo bạn không thích. Ví dụ, bạn search thông tin thẩm mỹ viện cho bạn gái và sau đó thì lướt web toàn quảng cáo phản cảm như độn mông, độn ngực,\u0026hellip;\n","date":"2022-01-17T01:25:23+07:00","image":"https://japananh.github.io/blog/p/ghi-chu-ve-cuon-swipe-to-unlock-phan-1/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/ghi-chu-ve-cuon-swipe-to-unlock-phan-1/","title":"Ghi chú về cuốn Swipe To Unlock - Phần 1"},{"content":"Một vài ghi chú đầu năm 2022, năm sau tôi sẽ nhìn lại để kiểm chứng những điều tôi đã tin có còn đúng hay không.\nNhững người giúp đỡ tôi nhiều nhất và HIỆU QUẢ NHẤT là những người cả năm tôi gặp may ra được một lần. Nhiều người tôi chưa gặp và chỉ biết họ qua Internet.\nTôi chưa bao giờ thỏa mãn với bất kỳ cuộc nói chuyện nào mình tham gia và thường xuyên mất tập trung. Cường độ mất tập trung tỷ lệ thuận với số người trong nhóm và tỷ lệ nghịch với chất lượng của người nói.\nNhững lúc năng suất nhất là lúc tôi ở một mình và yên lặng.\nTôi vẫn thấy mình cực kỳ mất tập trung và không thoải mái khi học offline, một chút khi học trực tuyến online và rất thoải mái khi học online một mình.\nChia sẻ nỗi buồn chỉ giúp bản thân thoát ra khỏi sự tệ hại lúc đấy, như cốc cà phê khiến người thiếu ngủ tỉnh táo tức thì. Nhưng melatonine vẫn còn nguyên đó, tích tụ ngày này sang ngày khác, khiến não bộ mệt mỏi và chỉ khi đi ngủ, chúng mới được giải phóng. Nỗi buồn cũng như melatonin, chỉ có bạn mới làm chúng biến mất, người khác bó tay.\n","date":"2022-01-16T23:21:38+07:00","image":"https://japananh.github.io/blog/p/mot-minh/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/mot-minh/","title":"Một mình"},{"content":"Vèo cái đã 2 tháng kể từ ngày tôi viết bài đầu tiên. Tôi không nghĩ là mình có thể viết được như vậy. Đặc biệt là những bài tiếng anh. Viết lách khiến tôi tự tin hơn và suy nghĩ mạch lạc hơn.\nBài này tôi sẽ viết về cách tôi xử lý một ý tưởng mơ hồ và biến chúng thành nhiều chữ như nào.\nBố cục bài viết Tất cả các bài viết của tôi dù là tiếng anh hay tiếng việt đều follow theo một structure nhất định gồm có 3 phần: mở bài, thân bài và kết bài. Đôi lúc, phần kết bài không cần thiết, có thể lược bỏ. Phần mở bài và thân bài thì luôn có.\nPhần 1: Mở bài bao gồm 1 đến 3 đoạn ngắn nói về lý do viết bài và chủ đề của bài viết. Phần 2: Thân bài luôn được chia thành các đầu mục lớn nhỏ Phần 3: Kết bài bao gồm tài liệu tham khảo, kết luận hoặc một đoạn tái bút. Phát triển ý tưởng Từ một ý tưởng ban đầu, có thể là một từ, một cụm từ hay một câu hoàn chỉnh, tôi sẽ gạch đầu dòng các ý chính.\nVí dụ ở bài viết này, ý tưởng ban đầu là Cách tôi viết một bài blog. Sau đó, tôi phát triển một dàn ý sau một hồi tẩy xóa như này.\n1 2 3 4 5 6 7 8 9 10 11 Mở bài: xxx Thân bài: - Bố cục bài viết - Phát triển ý tưởng - Nguyên tắc viết của tôi - Garbage in - garbage out - Kỹ thuật viết từ cuốn sách dạy writing IELTS - Mọi số liệu, dẫn chứng phải có nguồn Kết bài: chắc không có =)) Nguyên tắc viết của tôi Tôi sẽ lấy đại một con số để bạn hình dung. Từ 20 bài bất kỳ tôi đọc, 5 ý tưởng được ra đời. Sau 1 hồi tẩy sửa gạch xóa trên giấy thì chỉ còn đúng 1 ý tưởng có thể viết thành bài.\nChất lượng của bài viết ấy phụ thuộc vào chất lượng của 20 bài mà tôi đọc. Nếu tôi chỉ đọc những bài lá cải, thì bài viết của tôi sẽ không có giá trị. Đúng với quy luật \u0026ldquo;Garbage in - garbage out\u0026rdquo;.\nTôi nghĩ bố cục bài viết của tôi ảnh hưởng nhiều từ quy tắc 2552 trong cuốn 7.5 writing guaranteed của tác giả Kiên Trần. Nội dung của quy tắc 2552 nói rằng\nĐoạn essay nào cũng có 14 câu. Không hơn không kém\u0026hellip;\n2552 nghĩa là\n2 câu Intro 5 câu cho Body 1 5 câu cho Body 2 2 câu cho Conclusion Tổng 14 câu.\n5 câu cho phần body sẽ có chức năng như sau\nTopic sentence Supporting idea 1 Example or cause-effect for Sentence 2 Supporting idea 2 Example or cause-effect for Sentence 4 Tôi cải tiến một chút vẫn giữ nguyên 3 phần vì tôi thấy bố cục như vậy rất hợp lý. Phần thân bài sẽ tách nhỏ thành các mục như kiểu Body 1 và Body 2. Thay vì giới hạn 5 câu cho mỗi body thì tôi giới hạn số câu trong một đoạn. Nghĩa là mỗi đoạn văn đều có từ 1 đến 4 câu và phải diễn đạt một ý tưởng nào đó.\nNói thật là phải tới khi viết cái bài này thì tôi mới nhận ra được điểm chung về câu trong tất cả những bài trước của mình. Khi bạn viết càng nhiều thì mọi thứ diễn ra càng tự động.\nTôi luôn dẫn nguồn trong tất cả bài viết có chứa quan điểm của người khác. Tôi nghĩ dẫn nguồn là một cách thể hiện mình tôn trọng tác giả, tôn trọng tri thức và bài viết của mình có uy tín hơn.\nNhiêu tờ báo việt chưa chất lượng vì họ chưa dẫn nguồn cho những bài họ viết. Rất nhiều bài viết về sức khỏe, có dẫn số liệu nói rằng ăn X giúp cải thiện Y tới ZZZ lần nhưng chỉ ghi \u0026ldquo;Nguồn: Internet\u0026rdquo; hoặc \u0026ldquo;Theo báo XXX\u0026rdquo;. Không hề có đường link nào dẫn tới nguồn đáng tin cậy.\nChúng ta cần có những bài viết chất lượng hơn. Đồng thời, bản thân độc giả cũng nên thay đổi. Hãy \u0026ldquo;khó tính\u0026rdquo; lên, nghi ngờ đi, đừng vội tin vào những thứ không rõ nguồn gốc. Kể cả khi có nguồn. Nếu được hãy kiểm tra cả độ chính xác của nguồn đó. Ai là tác giả? Độ uy tín của tác giả như nào?\n","date":"2022-01-14T05:04:15+07:00","image":"https://japananh.github.io/blog/p/toi-tap-lam-van/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/toi-tap-lam-van/","title":"Tôi tập làm văn"},{"content":"Những năm đầu đi làm bên cạnh những khó khăn về lỗ hổng kiến thức còn có khó khăn về giao tiếp. Tôi nghĩ mình đã mắc phải XXX cái sự cố trước khi có được một chút \u0026ldquo;vững vàng\u0026rdquo; ngày hôm nay.\nBài này tôi sẽ viết về những cách để không là \u0026ldquo;kẻ ngốc\u0026rdquo; nơi công sở (How not to be a jerk at work?).\nDo your job Thật kỳ lạ khi có những đồng nghiệp được trả lương và \u0026ldquo;chả làm gì cả\u0026rdquo;. Họ tán gẫu, lướt mạng xã hội, rong chơi trên internet và để bạn một mình ôm hết mọi thứ. Làm sao họ tiếp tục công việc trong cái ngành chỉ cần ngồi nghỉ chút thôi là có nguy cơ \u0026ldquo;lạc hậu\u0026rdquo;? Tôi cũng không thể giải thích nổi.\nTôi có thể chọn sống giống như họ vì họ vẫn được trả lương và sống đó thôi. Hay tôi chọn sống có trách nhiệm hơn, làm công việc của mình và sẵn sàng giúp đồng nghiệp khi cần? Điều này phụ thuộc vào nhâm phẩm.\nDon’t gossip Có một câu mà tôi rất thích là\n\u0026ldquo;Nếu bạn không nói được lời nào tử tế thì tốt hơn hết là đừng nói gì.\u0026rdquo;\n\u0026ldquo;If you can’t say anything nice, don’t say anything at all.\u0026rdquo;\nỞ một nơi mà phần lớn thời gian, bạn và đồng nghiệp cần tập trung giải quyết bài toán liên quan tới máy tính thì giữ trật tự là phép lịch sự tối thiểu cần phải có.\nĐể điện thoại ở chế độ im lặng, ra chỗ khác nghe điện thoại hay thảo luận nhỏ tiếng đều là những hành vi nên làm.\nĐặc biệt là hạn chế nói chuyện phiếm. (Don\u0026rsquo;t gossip!) Tôi nhớ mình đã vừa làm việc vừa phải nghe chuyện drama suốt vài tiếng đồng hồ. Rồi tôi đã sắm cho mình cái tai nghe, đeo suốt cả buổi, bật nhạc không lời to chút để át tiếng ồn.\nClean up your own mess Bạn có thể vứt đồ bừa bãi khi ở nhà. Đó là không gian riêng của bạn, vương quốc của bạn. Nhưng nếu đó là ở nơi công cộng và đặc biệt là ở công sở. Tuyệt đối không.\nNếu công ty không có người dọn rác hoặc không có người rửa cốc, trước khi về bạn nên vứt rác trên bàn và rửa cốc đi. Đừng biến góc làm việc thành bãi rác.\nTrong công việc, hãy làm một cách tử tế. Là người thì ai cũng đều mắc lỗi và bugs là chuyện rất bình thường. Tuy nhiên, mắc đi mắc lại một cái lỗi nhiều lần giống như ngày qua ngày bạn không \u0026ldquo;dọn rác\u0026rdquo; cho cái đầu. Sớm muộn gì nó cũng \u0026ldquo;bốc mùi\u0026rdquo; đấy.\nDon\u0026rsquo;t complain about little things Tôi có tật xấu là hay phàn nàn và hay cáu. Có một thời gian, tôi không hiểu tại sao mọi người xa tôi dần. Mãi sau này tôi mới biết là do mình hay than.\nThan vãn không giúp giải quyết vấn đề. Nó chỉ khiến bạn lo lắng thêm và dễ nổi cáu hơn. Khi cảm xúc lên quá mạnh, não bạn sẽ bị bủa vây bởi ảo ảnh và phán đoán sai. Điều này không tốt trong bất kỳ tình huống nào.\nVới tôi, lời khuyên bình tĩnh trong trường hợp cảm xúc lên quá mạnh là vô dụng. Thay vào đó, hít sâu, thở sâu hay nếu có thể đi dạo thì có hiệu quả hơn. Bên cạnh đó, nếu bạn lỡ có thói xấu này thì thiền và đọc giúp ích rất nhiều.\n","date":"2022-01-14T03:54:52+07:00","image":"https://japananh.github.io/blog/p/de-khong-la-ke-ngoc-noi-cong-so/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/de-khong-la-ke-ngoc-noi-cong-so/","title":"Để không là “kẻ ngốc” nơi công sở"},{"content":"Tôi từng gặp nhiều PT (personal trainer) dở. Khi biết cách các trung tâm đào tạo họ cũng chưa ổn và mức phí thì khá cao (500 - vài triệu/giờ) thì tôi đã từ bỏ ý định thuê PT của mình.\nHầu hết họ đều không được dạy một cách tử tế về dĩnh dưỡng và giải phẫu. Thậm chí, họ còn khá lười và coi thường cơ thể của khác hàng. Tôi chứng kiến một cô bé văn phòng người gầy yếu lại còn bị vẹo cột sống mà anh chàng PT vẫn bắt squat và tập mấy bài dễ tổn thương cột sống.\nTôi bắt đầu bằng việc google tên các huấn luận viên giỏi, rồi tìm đọc những cuốn sách họ đã xuất bản. Tất cả những cuốn sách fitness tôi đọc đều bằng tiếng anh. Điều đó không có nghĩa là sách tiếng việt không có cuốn nào chất lượng, chỉ là tôi chưa tìm được cuốn nào mà thôi.\nSau đây là review của tôi về tất cả những cuốn tôi đã từng đọc xếp theo thứ tự cực thích tới chán òm.\nNhững cuốn hay nhất Link: https://www.goodreads.com/book/show/50794275-glute-lab\nTôi không nhớ đã tìm ra cái tên Bret Contreras từ đâu. Đây là người đã khiến tôi tập mông hăng say. Tôi đã đọc lại cuốn này không dưới 7 lần. Ngâm cứu từng chương một và thiết kế thử bài tập. Bạn có thể thấy cuốn này quan trọng và có ích với tôi như nào rồi đó.\nLink: https://www.goodreads.com/book/show/13588186-strong-curves\nBác Bret viết cuốn này cách cuốn Glute lab cỡ 10 năm nhưng cuốn này hay chả kém gì cuốn Glute lab. Điểm nhấn của cuốn này là hướng dẫn tập toàn thân thay vì chỉ tập trung mỗi mông như Glute lab.\nĐiều tạo nên sự khác biệt trong sách của bác Bret so với tác giả khác là giải thích cơ chế hoạt động và cách tự tạo bài tập cho riêng mình. Không phải là cho bạn sẵn một cái lịch tập rồi bảo bạn tập đi.\nTôi cảm thấy như mình là người làm chủ và cái giá phải trả ban đầu là tốn tiền mua sách và phải hút hết tinh hoa của chúng.\nLink: https://www.goodreads.com/book/show/15746753-starting-strength\nMark Rippetoe là một huấn luận viên powerlifting nổi tiếng của Mỹ. Tất cả những kỹ thuật của 3 động tác chính là Squat, Deadlifts, và Bench press tôi đều học từ cuốn này và các video hướng dẫn kỹ thuật trên kênh Youtube của bác Mark Rippetoe. Từ khoảng cách hai chân, cách cầm nắm cho tới cách hít thở đều viết rất chi tiết và dễ hiểu.\nLink: https://www.goodreads.com/book/show/1677880.Practical_Programming_for_Strength_Training\nĐây là một cuốn sách viết về cách chia lịch tập và phương pháp tập cho powerlifters. Bạn sẽ chọn được chính xác mức tạ dựa vào công thức trong sách. Tôi không rõ nữ có tập được giáo trình này không và tôi cũng chưa có nhu cầu thử vì tôi không phải powerlifters. Nội dung sách cũng hơi nâng cao so với những gì tôi biết nên tôi đánh giá sách tốt và chắc chắn sẽ giới thiệu cho các bạn nam đọc.\nNhững cuốn tạm ổn Link: https://www.goodreads.com/book/show/22716449-cassey-ho-s-hot-body-year-round\nHầu hết các bài thể dục đều có 3 phần: khởi động (warm-up), bài chính, và dãn cơ (cool-down). Cuốn sách này chỉ tất cả các động tác dãn cơ từ đầu tới chân, cách thực hiện chúng đúng kỹ thuật và giải thích các nhóm cơ mà từng động tác nhắm vào. Một cuốn sách hữu ích và có hình ảnh chi tiết.\nLink: https://www.goodreads.com/book/show/8473828-running-anatomy\nĐọc sang tới cuốn thứ 3 có từ cuối là \u0026ldquo;Anatomy\u0026rdquo; thì tôi mới hiểu là đa số các cuốn có từ này đều chỉ toàn hình và hình. Có một dạo tôi cũng ham hố chạy marathon nên kiếm cuốn này đọc thử. Về sau, tôi thấy bản thân không hợp những môn thể thao ngoài trời phụ thuộc vào thời tiết khá nhiều vì tôi không thích việc nghỉ tập do trời mưa.\nÍch lợi duy nhất của cuốn này là bổ sung vào kho tàng tri thức của tôi vốn hiểu biết về chạy bộ. Dù tôi cũng quên gần hết nội dung rồi. =)) Khi chạy, toàn bộ cơ thể tham gia vào quá trình chuyển động, chỉ cần một bộ phận bất ổn thì chạy có vấn đề. Đau đầu gối có thể tới từ việc cơ mông nhỡ và cơ mông nhỏ yếu, không đủ sức giữ thăng bằng cho cơ thể lúc chạy khiến đầu gối bị quá tải. Dù bạn chơi môn gì thì đừng nên bỏ qua nhóm cơ lớn như mông nhé.\nNhững cuốn có hình vẽ đẹp Đây là những cuốn sách \u0026ldquo;gỗ xấu nhưng tốt nước sơn\u0026rdquo;, hình vẽ bên trong sách nhưng phần nội dung thì chán và dễ dàng google ra. Nếu đây là một cuốn sách về hội họa thì có lẽ tôi sẽ đánh giá 4 sao.\nLink: https://www.goodreads.com/book/show/22716449-cassey-ho-s-hot-body-year-round\nCassey Ho là thần tượng suốt những năm tháng cấp 3 và lên đại học của tôi. Cho tới một ngày tôi nhận ra cái tượng nào rồi cũng phải \u0026ldquo;đổ sập\u0026rdquo; theo năm tháng.\nĐây là cuốn sách giấy đầu tiên mua từ Anh của tôi. Chất lượng sách tốt và hình vẽ siêu đẹp, cắt ra trang trí nhà cửa thì lung linh. 2 sao cho hình ảnh và chất lượng sách. 1 sao cho phần công thức món ăn. 0 sao cho phần bài tập.\nTất cả những bài tập theo hướng không dùng tạ đều khiến cơ bắp phát triển ít và chỉ cải thiện sự dẻo dai và linh hoạt cho cơ thể. Tác dụng chống nhăn nheo, chảy xệ, hay làm cơ thể nở nang gần như bằng 0. Bạn cũng có thể thấy chị này tập cả chục năm mà mông vẫn bé. Trong khi ở lò đào tạo \u0026ldquo;quái vật\u0026rdquo; của bác Bret Contreras, chỉ 2 năm đã biến một cô mông lép thành mông siêu bự. Dù sao thì vẫn có người sẽ đổ lỗi cho gen.\nLink: https://www.goodreads.com/book/show/22111623-delavier-s-women-s-strength-training-anatomy-workouts\nVới sự hiểu biết của mình về cơ thể người và tài năng thiên phú về nghệ thuật, người họa sỹ Frédéric Delavier đã vẽ ra một cuốn sách tỉ mỉ từng chi tiết. Tôi đã thích hình ảnh cuốn này tới mức dành 2 sao cho hình vẽ và 0 sao cho nội dung.\nLink: https://www.goodreads.com/book/show/12793492-delavier-s-core-training-anatomy\nLại là một cuốn có đuôi \u0026ldquo;Anatomy\u0026rdquo; và của tác giả Delavier. Tôi đã rút kinh nghiệm là cứ thấy cuốn nào có chữ này là kiểu gì cũng nên né. 2 sao cho hình đẹp và 0 sao cho nội dung.\nNhững cuốn dở nhất Link: https://www.goodreads.com/book/show/11115311-which-comes-first-cardio-or-weights\nMột cuốn sách được nhiều trang tung hô và lời giới thiệu có cánh trên goodreads. Kiến thức thì cơ bản, google cái là ra. Các nghiên cứu được dẫn ra đã cũ và có khả năng outdated cao (~20 năm trước). Cuốn sách này sẽ có giá trị với người không biết gì. Còn với tôi thì không.\nLink: https://www.goodreads.com/book/show/17856078-the-core-training-bible\nCuốn này cũng được tung hô, mở ra đọc thì chỉ là giới thiệu các động tác tập bụng, không có gì đặc biệt hết.\n","date":"2022-01-14T03:02:49+07:00","image":"https://japananh.github.io/blog/p/review-nhung-cuon-sach-fitness-toi-tung-doc/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/review-nhung-cuon-sach-fitness-toi-tung-doc/","title":"Review những cuốn sách fitness tôi từng đọc"},{"content":"Vốn là dân trái ngành và lại tự học nên tôi đã thử khá nhiều nền tảng trực tuyến. Trả giá 3 năm cuộc đời ở một môi trường học tệ hại khiến tôi luôn cẩn trọng với bất kỳ khóa học và sẵn sàng từ chối học khi mình không hề được trải nghiệm nội dung. Bài này tôi review những websites dạy lập trình tôi từng học. Hi vọng chúng có ích cho bạn.\nNhững websites tôi thích nhất và hoàn toàn miễn phí Note: khi tôi nhắc tới HOÀN TOÀN MIỄN PHÍ thì có nghĩa là bạn tham gia bất kỳ hoạt động nào trên websites này đều miễn phí. Nó không phải là kiểu \u0026ldquo;miễn phí nửa vời\u0026rdquo; (monetization strategies) như kiểu chỉ cho miễn phí một phần và muốn học tiếp thì phải trả phí. Link: https://www.freecodecamp.org/\nTôi bắt đầu học ở FreeCodeCamp vào năm 2018. Đây một nền tảng học trực tuyến HOÀN TOÀN MIỄN PHÍ và những bài tập trên này rất chất lượng. Các câu hỏi trên diễn đàn đều được trả lời nhiệt tình và cũng đều không cần trả phí.\nTrang này sẽ phù hợp với các bạn muốn học lập trình Web. Ngôn ngữ chủ yếu dùng để làm bài tập là JavaScript và Python. Hầu như các bài tập đều phải viết code và hầu như không thấy câu hỏi trắc nghiệm. Phần bài tập regular expression dạy rất hay và những kiến thức đó có ích nhiều với tôi khi đi làm.\nMột điểm cộng rất lớn của trang này là tất cả bài tập đều làm online và có tests. Bạn phải pass hết tất cả tests thì mới hoàn thành và nhận chứng chỉ online. Chứng chỉ này không có thời hạn và rất thích hợp đính vào resume và Linkedin. Đối với ai học trái ngành như mình thì chứng chỉ này vô cùng có ích.\nBạn có thể tham khảo chứng chỉ FreeCodeCamp của tôi ở đây.\nLink: https://www.hackerrank.com/\nHackerRank là nền tảng cho cho các lập trình viên trên toàn thế giới giải những thử thách liên quan nhiều chủ đề trong đó có giải thuật, học máy, trí tuệ nhân tạo, databases \u0026hellip;\nMỗi chủ đề sẽ có một bộ câu hỏi chia theo level từ easy (dễ), medium (trung bình), và hard (khó). Thứ hạng của bạn (thể hiện bằng số sao) sẽ tăng khi giải xong các thử thách.\nGần đây, HackerRank có phát triển một phần là Skills Certification. Bạn viết code để trả lời câu hỏi của đề và sẽ nhận được chứng chỉ nếu đủ điểm pass. Cũng giống với chứng chỉ ở FreeCodeCamp, chứng chỉ của HackerRank không có thời hạn và có thể đính vào resume và Linkedin. Một vài chứng chỉ sẽ được retake (làm lại) 1 lần và có chứng chỉ chỉ được làm đúng 1 lần nên bạn hãy ôn cẩn thận trước khi làm bài. Về dạng câu hỏi thì đa dạng vô cùng nhưng yên tâm là nếu ôn kỹ thì sẽ không khó đâu.\nBạn có thể tham khảo các chứng chỉ HackerRank của tôi ở đây.\nNhững websites học đáng tiền Link: https://frontendmasters.com/\nFrontendmasters là trang dạy front-end nổi tiếng của bác Kyle Simpson - tác giả bộ sách được giới thiệu bởi rất nhiều thế hệ lập trình viên JavaScript là You don\u0026rsquo;t know JS.\nGiá học trên này cũng khá cao $39/tháng (~ 1 triệu VNĐ) nhưng đổi lại nội dung bài học chất như nước cất. Đặc biệt là những bài giảng của Kyle Simpson, Will Sentance, và Douglas Crockford về JavaScript.\nLink: https://www.edx.org/\nEdx đã dẫn tôi tới CS50 - Introduction to computer science. Đây là khóa lập trình đầu tiên tôi học khi còn là tờ giấy trắng.\nTôi không biết phải nói lời cảm ơn tới người thầy tuyệt vời David J. Malan như nào vì đã mang màu sắc và không khí hào hứng vào mỗi buổi học. Sau nhiều năm mài quần trên giảng đường đại học, ngáp ngắn, ngắp dài không biết tương lai sẽ như nào thì những giờ phút học lớp của David khiến tôi yêu từng dòng code. Tôi nghĩ mình sẽ trở thành lập trình viên. Dù lúc đó chỉ hiểu có 50% nội dung học vì tiếng anh yếu.\nNhiều khóa học trên Edx được xem nội dung miễn phí và nếu muốn nhận chứng chỉ thì bạn phải trả phí. Có những khóa học chuyên sâu hơn và bạn phải trả phí thì mới xem được nội dung. Phần lớn các khóa học thuộc mọi ngành nghề đến từ các trường đại học hàng đầu trên thế giới như Havard, Standford, MIT \u0026hellip; Nếu bạn hoàn thành tất cả bài kiểm tra đúng hạn và đủ điểm thì bạn sẽ nhận được chứng chỉ, mang đính lên resume và Linkedin sẽ rất có giá trị.\nMột những lý do khiến tôi quyết định dừng việc học đại học ở NEU là thấy bất công khi tôi phải trả tiền để học những nội dung outdated. Thậm chí người ta còn dạy miễn phí chúng trên Edx với công nghệ giảng dạy tốt hơn và cách tiếp cận dễ hiểu hơn. Chưa kể, tôi còn được học bằng tiếng anh với mức phí gần như 0.\nLink: https://www.coursera.org/\nNhiều khóa học ở trên này chất lượng hơn và họ còn cung cấp cả bằng online ở bậc đại học và sau đại học nữa. Đó cũng là lý do đa số các khóa học đều phải trả mức phí khá cao, từ $100 trở lên (~ 2.4 triệu VNĐ). Những khóa học bậc đại học và sau đại học sẽ có giá lên tới hàng ngàn đô (~ vài chục cho tới vài trăm triệu VNĐ).\nTôi đã trải nghiệm một vài khóa free và trial (cho học thử 7 ngày). Phần nội dung có khóa khá bình thường, không có gì đặc sắc lắm, có khóa khá thú vị, tôi học được nhiều. Giống như Edx, chứng chỉ Coursera khá uy tín. Dù sao, tôi cũng đánh giá cao trang này.\nLink: https://www.vuemastery.com/\nNếu bạn muốn master Vue thì đây chính là nơi đáng tin cậy. Nhiều mentors ở trang này nằm trong core team của Vue, trong đó có cả người tạo ra chính framework này là Evan You.\nLink: https://200lab.io/\nTôi học Khóa Golang for scalable backend ở trang này. Đây là website dạy lập trình dùng tiếng việt thứ hai tôi từng học. Danh tiếng của anh Việt Trần - mentor của khóa tôi học rất lớn và tôi cũng không kiếm được khóa bằng tiếng anh nào tốt hơn nên tôi đã học thử.\nĐây là một khóa học cô đặc nhiều thứ mà tôi đã học từ tháng 9 năm ngoái tới giờ vẫn chưa ngấm hết nội dung. Dù nhiều kiến thức mới với bản thân nhưng tôi vẫn thấy vô cùng hào hứng về những thứ được học. Đó cũng chính là lý do đây là trang dạy lập trình tiếng việt duy nhất tôi thích.\nNhững websites chỉ nên học phần nội dung free Link: https://school.coders-x.com/\nTôi học Front-end ở trang này. Nội dung trên kênh Youtube dạy tạm ổn nếu bạn theo hướng Front-end, đặc biệt là kiến thức về CSS. Phần lớn kiến thức mình áp dụng lúc đi làm cũng xoay quanh những thứ được dạy.\nPhần regular expression và toàn bộ mảng back-end dạy khá chán.\nNhững websites phí tiền không bao giờ học lại Link: https://www.pluralsight.com/\nTôi đã xem hết tất cả video bài học có liên quan tới Nodejs và thấy vô cùng thất vọng khi chúng đều dừng ở mức rất cơ bản là giới thiệu cách dùng các thư viện, thứ mọi người đều dễ dàng tìm thấy miến phí trên Google và Youtube. Có người nói với tôi là phần Java dạy hữu ích nhưng tôi chưa làm việc lên quan tới ngôn ngữ này nên không đánh giá được.\nNếu bạn đã ở mức trên beginners và muốn học sâu về JavaScript thì hãy bỏ qua trang này.\nLink: https://www.udemy.com/\nTôi có học vài khóa Nodejs trên Udemy và cũng thấy tương tự Fluralsight về cách dạy, chỉ khác là bạn trả tiền trên từng khóa học thay vì trả theo tháng. Họ chủ yếu dạy cách dùng thư viện. Và vì chỉ học một vài khóa nên tôi thấy đánh giá như vậy chưa chính xác. Nếu bạn từng học một khóa Udemy và thấy tâm đắc thì hãy comment cho tôi biết nhé.\n","date":"2022-01-14T01:26:07+07:00","image":"https://japananh.github.io/blog/p/review-nhung-websites-day-lap-trinh-toi-tung-hoc/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/review-nhung-websites-day-lap-trinh-toi-tung-hoc/","title":"Review những websites dạy lập trình tôi từng học"},{"content":"I\u0026rsquo;m a morning person. My most productive time is in the morning, so I try to accomplish as many things as I can before lunch. It took me a while to find my morning routine with trials and errors. Today, I\u0026rsquo;m gonna share with you my morning routines.\nMaking your bed This is the first thing you should do. I got this advice from Tim Ferriss on his channel on Youtube. You can check it out here. He explained that\nAccomplishing one thing at the beginning of the day no matter what happens with unforeseen variables for the rest of day.\nYou will return to a made bed at the end of the day. As a bookmark beginning an end, it sets you up psychologically to be more productive.\nIf you work at home, an external mess creates an internal mess.\nAwake nervous system The next thing you should do is that awake your nervous system.\nI got this advice from Huberman (an American neuroscientist) in his article. Blue light from sunlight early in the morning can block melatonin, a hormone made in the body to regulate night and day cycles or sleep-wake cycles. It is similar to an alarm that wakes you up in the morning and makes you sleepy in the evening.\nIf seeing the blue light is not enough for you, light exercises such as push-ups, pull-ups, or a few minutes of cardio will help. It can increase your heartbeat, increase your blood oxygen level, and put you in an alert state.\nStay focused Sometimes, you feel alert in the morning but your mind is wandering so you cannot focus on anything. These tips below bring my mind back, so I hope it works for you.\nTim Ferriss introduced me to this technique. You can read anything that excites you. Just wrap a book or a magazine. This technique is effective because it traps your monkey mind on paper so you can get on with your day. I often look at my daily plan and read it out loud.\nBy starting a meditation practice and tuning into your breath and body when you first wake up, you become more aware of your thoughts–and that monkey mind. Some thoughts might make sense while other thoughts seem to come out of nowhere. Especially, when you\u0026rsquo;re wake up after a nightmare.\nBreakfast Some people avoid sugar and think it makes them fat. That\u0026rsquo;s a myth. A little sugar (below 3 grams) is just fine. If your brain doesn\u0026rsquo;t have enough \u0026ldquo;sugar\u0026rdquo;, you will start to crave sweet foods. By saying \u0026ldquo;sugar\u0026rdquo;, I mean you should provide enough energy for your brain in the morning. Energy can come from a lot of sources. I highly recommend people to have whole foods with high carbs or high proteins or a mix with both of them.\nKeep your mouth clean Some people are very busy or lazy so they don\u0026rsquo;t even put a few minutes to clean their mouths. Early meetings make people feel annoyed because of bad breath. Keeping your mouth clean is not only a personal norm but a SOCIAL norm.\nAn article in healthlin.com show that\nWaiting 30 minutes to an hour after eating to brush your teeth is the best way to ensure that you\u0026rsquo;re protecting your teeth and not tampering with your enamel. The American Dental Association recommends you wait 60 minutes after eating before you brush, especially after having acidic foods.\n","date":"2022-01-13T23:25:34+07:00","image":"https://japananh.github.io/blog/p/how-to-create-a-better-morning-routine/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/how-to-create-a-better-morning-routine/","title":"How to create a better morning routine?"},{"content":"Hôm nay, tôi nghe podcast The Science of Making \u0026amp; Breaking Habits của bác Huberman. Ghi lại được vài ý thì kéo xuống đã thấy một comment của Gabriel Surija tóm tắt hết cái video dài gần 2 tiếng. Thôi thì đành like, comment và share để lần sau bạn ấy còn tiếp tục chăm chỉ. Các phương pháp trong video này rất hay và thiết thực. Bạn nào quan tâm mà chưa có thời gian nghe thì có thể đọc phần tóm tắt của bạn kia nhé.\nNhân chủ đề về thói quen, viết dài quá thì lười nên tốt hơn hết là chọn mấy chữ ngắn gọn. Tập thơ này tên là Lạc. Mỗi đoạn mô tả một thói quen xấu mà tôi hi vọng trong năm 2022 sẽ vượt được. Còn cái title của post là Lạc lạc vì hashnode ko cho tôi đặt tên ngắn có một chữ. Thứ tự các bài đều rất ngẫu hứng.\nNào thôi nay mình lạc.\nLạc lạc 1 2 3 4 Lạc quan, lạc lối đều có lạc Lạc đà, lạc bồng, lạc đi đâu Nếu mà có lạc thì nhớ quay Về sau không lạc thì nhớ tưởng. Lạc vào quá khứ 1 2 3 4 Gói lại, cất đi, xưa tan hết Trời cao, mây trắng, lối vào tim Nguyệt nở, nguyệt tàn, bay theo gió Cầm cuốc, cầm xẻng, bới đất lên. Lạc vào thiết bị điện tử 1 2 3 4 Bấm vuốt, kéo kéo, tay mình động Liếc liếc, chớp chớp, mắt mình căng Hào hứng, hào nào, bay đi mất Cuối năm, chỉ biết, khóc tôi ơi. Lạc vào giấc mộng 1 2 3 4 Ma mộng ma bay lộn tùng phèo Miên man vật vã giấc mộng thu Vạn dặm xa xôi mình lạc lối Tỉnh thức bật cười ha ha ha. Lạc vào bản ngã 1 2 3 4 Tôi ơi, tôi cao, tôi hay quá Gạch rơi, gạch vãi, ối dồi ôi Vườn đâu, nhà đâu, sao chẳng thấy Chỉ có mình ta, than vừa thôi. Lạc đường 1 2 3 4 Rẽ trái, quẹo phải, chờ đèn đỏ Trời nóng, xe kêu, bay cả óc Lượn mãi chả thấy bóng ở đâu Phút cuối, may quá, thấy bờ kia. ","date":"2022-01-07T23:47:24+07:00","image":"https://japananh.github.io/blog/p/lac-lac/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/lac-lac/","title":"Lạc lạc"},{"content":"Case 1 In forums or groups on social media, I saw some people pop in and say something like that.\nAny JavaScript experts around?\nThis is a bad form, for several reasons. What the person is actually asking here is\nAny JavaScript experts around who are willing to commit to my problem, whatever that might turn out to be, even if it\u0026rsquo;s not actually related to JavaScript could answer my question?\nThere are plenty of reasons why people DO have the knowledge would NOT admit to it. The unclear question proves your laziness. Why people should do the work to solve your problem if you\u0026rsquo;re not willing to do it?\nCase 2 Some people send me a message then stop there until I reply.\nHey, I have a question.\nor\nAlo, I have a bug.\nThey only describe their problems until I ask them to clarify them.\nHi, what\u0026rsquo;s wrong?\nThis is also a bad form. Why not jump into your problem so I don\u0026rsquo;t need to ask an extra question.\nHey, I\u0026rsquo;m reading [book] and I\u0026rsquo;m confused with the [concept]. Could you have time to explain it to me?\nor\nAlo. I do [problem] with JavaScript and [other relevant info]. I tried [what you did] but it didn\u0026rsquo;t work. Could you help me out?\nThe point here is not to ask, just ask.\n","date":"2022-01-05T18:43:04+07:00","image":"https://japananh.github.io/blog/p/don-t-ask-to-ask-just-ask/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/don-t-ask-to-ask-just-ask/","title":"Don't ask to ask, just ask"},{"content":"Viết là cách để lôi ra một con người khác trong mình. Hôm nay tôi lôi ra được một cô thơ thẩn. Không biết mai mốt còn lôi ra được nhân vật nào.\nTôi có vài cuốn sổ bé, thi thoảng lại lôi ra ghi chép vài chữ, viết rất ngẫu hứng đúng phong cách \u0026ldquo;trên mây\u0026rdquo;. Tính tôi lại lười nên văn phong cụt lủn. Nay xin trích ra vài đoạn ghi chép ấy.\n1 2 3 4 Nhắn người chẳng thấy rep Lần sau chắc mình im Gõ hoài cửa chẳng mở Được lắm thế mình bơ. 1 2 3 4 Ăn vận lếch thếch Trông như con ếch Đầu óc rỗng tuếch Trèo cao có chết. 1 2 3 4 Gió ơi nơi đâu mang em về Ngồi bên cười sổ cười hê hê Tấp nập bon chen mình mặc kệ Ôm cún, ôm đàn chẳng cần xê. 1 2 3 4 Lá rơi xuân vì cũ Phủ kín sân trường Chu Cô bé đã yên ngủ Năm này em mấy thu? 1 2 3 4 Nghịch vài con bọ Đau hết cả sọ Mà bọ vẫn ngọ Thì mình ngồi rọ! 1 2 3 4 Bốn chân nằm gối Hay gào trời tối Cả ngày thấy nằm Chẳng ai phản đối. 1 2 3 4 Viết vài mã Go Thấy não mình nâu Thì biết còn lâu Chương trình mới chạy. Còn nữa \u0026hellip; Hí hí \u0026hellip;\n","date":"2022-01-04T18:30:05+07:00","image":"https://japananh.github.io/blog/p/tho-than-lam-cam-lao-phi/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/tho-than-lam-cam-lao-phi/","title":"Thơ thẩn - Lẩm cẩm - Lão - Phi"},{"content":"Năm mới bắt đầu bằng chuyến du lịch tới thăm nha sỹ, trong lúc chờ đợi tới lượt mình thì tôi đã đọc xong 3 cuốn tạp chí về thời trang. Lâu lắm tôi không đọc tạp chí. Tôi thực sự ấn tượng bởi bộ sưu tập của hãng Uniqlo, từng màu sắc và kiểu dáng đều rất nhã nhặn, đơn giản và hài hòa. Tôi nghĩ có khi nào tôi sẽ từ bỏ màu hồng để chuyển sang một tông màu khác? Màu xanh của bầu trời chẳng hạn.\nHồi bé tôi lười đánh răng và hậu quả là tôi có nhiều răng sâu. Tôi cũng chả quan tâm lắm cho tới khi trưởng thành, tôi rất hay phải đi nha sỹ vì vấn đề răng. Thật khó cho một đứa trẻ để hiểu rằng một chút bất cẩn tuổi thơ sẽ để lại hậu quả lâu dài suốt cả đời. Nếu ngày nào đó, tôi được chăm sóc một đứa trẻ, nhất định tôi sẽ dạy bé về nhân quả.\nTôi luôn thích những kỳ thi. Cảm giác hồi hộp ngồi trong phòng thi. Tim đập thình thịch, nhiệt độ cơ thể tăng lên, cả thế giới như hội tụ lại trong một khoảng khắc. Chỉ còn 30 phút, 15 phút, 5 phút \u0026hellip; Tiếng chuông kêu. Rengggg. Hết giờ. Bây giờ, tôi có deadlines. Có lúc từ công việc, có lúc từ chính mình. Nhưng kiểu gì cũng phải có deadlines. Không có thì tôi không tài nào tập trung vào việc gì cả.\nTôi sợ những ngày Tết, khi mọi người quây quần bên gia đình mình là lúc tôi thấy cô đơn nhất. Năm nào tôi cũng nằm ở nhà, hết đọc sách rồi lại xem Youtube, nghe nhạc. Những lễ nghi và truyền thống vào những ngày này khiến tôi mệt mỏi. Rượu bia, những bữa nhậu liên miên, và vô vàn câu chuyện thâm cung bí sử của họ hàng. \u0026ldquo;Khi nào lấy chồng?\u0026rdquo; Tôi muốn biến mất.\n","date":"2022-01-03T21:30:11+07:00","image":"https://japananh.github.io/blog/p/khi-toi-cha-muon-viet-cai-gi/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/khi-toi-cha-muon-viet-cai-gi/","title":"Khi tôi chả muốn viết cái gì"},{"content":"Chào mọi người, vèo cái đã tới ngày 50. Vậy là tôi đã đi được một nửa quãng đường rồi.\nMọi người có gợi ý gì cho thử thách sắp tới thì comment vào bài nhé.\nTrong bài này, tôi sẽ trích ra một vài ghi chú từ cuốn How emotions are made của Lisa Feldman Barrett. Đây là cuốn sách đầu tiên của năm 2022.\nTôi đọc cuốn này vì muốn hiểu hơn về cảm xúc. Tôi nghĩ lời khuyên Gác cảm xúc sang một bên tới từ sự thiếu hiểu biết hơn là từ sự thấu hiểu. Đây là ví dụ điển hình của xu hướng né tránh những thứ mà bản thân chưa rõ và che đậy nó bằng từ ngữ hoa mỹ.\nThe theory of constructed emotions vs The classical view Tác giả phát triển một lý thuyết kiến tạo xã hội (a social constructionist theory) tên là Lý thuyết về cảm xúc được xây dựng - The theory of constructed emotions.\nLý thuyết về cảm xúc được xây dựng nói rằng não của bạn tạo nên mọi thứ bạn trải nghiệm, bao gồm cả cảm xúc của bạn. Your brain invisibly constructs everything you experience, including emotions.\nThe classical view: Sự kiện bên ngoài thế giới kích hoạt cảm xúc của chúng ta. The classical view is intuitive - events in the world trigger emotional reactions inside of us.\nThe myth of universal emotions Một trong những luận điểm nêu ra ở The classical view là nhận dạng cảm xúc là phổ biến (universal).\nEmotion recognition is universal.\nTức là giả sử bạn cho một người Mỹ và một người Việt Nam hay một ai đó từ những nền văn hóa khác nhìn vào bức ảnh có hình một cô gái vẻ mặt \u0026ldquo;buồn\u0026rdquo; thì họ cùng phải nhận thức được rằng là người trong ảnh đang \u0026ldquo;buồn\u0026rdquo;.\nTuy nhiên, khi thực hiện những thử nghiệm với những nhóm người từ nhiều nền văn hóa khác nhau thì nhóm của Lisa lại nhận thấy tỷ lệ trả lời đúng là 58%, rất thấp. Một vài cảm xúc dễ bị nhầm lẫn với nhau khi chỉ nhìn vào khuôn mặt như sợ hãi, ngạc nhiên, tức giận.\nHọ kết luận rằng nhận dạng cảm xúc phụ thuộc vào cả ngữ cảnh (context) và nhiều yếu tố phức tạp khác chứ không hề \u0026ldquo;universal\u0026rdquo;.\nEmotion concepts Não bạn liên tục tạo ra khái niệm cảm xúc (emotion concepts). Khi nhắc tới \u0026ldquo;buồn rầu\u0026rdquo;, các nerouns của bạn sẽ lục tìm những ký ức phù hợp với từ \u0026ldquo;buồn\u0026rdquo;.\nĐối với một đứa trẻ mới sinh (infant), chưa hề có các khái niệm cảm xúc. Việc hình thành các khái niệm của bé tới từ việc quan sát thế giới. Nếu mẹ \u0026ldquo;cười\u0026rdquo; tức là mẹ đang \u0026ldquo;vui\u0026rdquo;. Khi \u0026ldquo;có nước trên mắt mẹ\u0026rdquo; thì chắc là mẹ \u0026ldquo;buồn\u0026rdquo;.\nKhái niệm cảm xúc bị ảnh hưởng bởi nền văn hóa và môi trường sống.\n","date":"2022-01-03T00:46:52+07:00","image":"https://japananh.github.io/blog/p/day-50/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/day-50/","title":"Day 50"},{"content":"Tôi từng luôn thiếu tự tin và thiếu quyết đoán, lại có quá nhiều cảm xúc mạnh mẽ. Tôi dành rất nhiều thời gian để thích nghi với việc làm chủ sức mạnh ấy. Phần lớn kiến thức khoa học giúp tôi giải thích được tại sao tôi lại hành động như vậy. Nhưng những lời khuyên họ đưa ra cần nhiều thời gian để \u0026ldquo;tiêu hóa\u0026rdquo;.\nViệc này giống như bạn bị đau bụng đi viện khám. Bác sỹ giải thích cho bạn cơ chế đau bụng của bạn với hàng tá khái niệm chuyên ngành khiến não bạn muốn nổ tung ra thay vì kê cho bạn đơn thuốc về nhà uống. Giờ thì bạn không những đau bụng mà còn đau cả đầu nữa.\nTôi không hề nói rằng việc đọc sách là hoàn toàn vô dụng. Về dài hạn, chúng RẤT CÓ ÍCH. Tuy nhiên, việc cố gắng hiểu cơ chế bệnh tật trong lúc bạn bị bệnh là điều RẤT DỞ. Bạn cần phải khỏi bệnh đã rồi sau đấy mới có đủ sức mà tiêu hóa kiến thức để không mắc lại bệnh.\nNếu có cỗ máy thời gian thì đây là những điều tôi muốn gửi cho mình. Hi vọng là chúng có ích với bạn.\nThử nghiêng về một phía Tôi nghĩ cách này là bước ngoặt giúp tôi trở nên tự tin hơn trong việc ra quyết định. Đây là một cách có hơi chút cực đoan vì sự mất cân bằng của nó và nó có thể khiến bạn \u0026ldquo;choáng\u0026rdquo; một chút. Và tôi cũng phải nói trước là có thể nó sẽ không vui tí nào.\nNguyên tắc của nó là hãy nói CÓ với hầu hết mọi thứ cho tới khi bạn không thể nói CÓ được nữa, rồi sau đó nói KHÔNG với hầu hết mọi thứ cho tới khi bạn không thể nói KHÔNG được nữa.\nSay Yes to everything until you can\u0026rsquo;t say Yes anymore, then say No to everything until you can\u0026rsquo;t say No anymore\nTừ đó, bạn sẽ tìm được điểm cân bằng cho chính mình, khi nào nên nói CÓ và khi nào nên nói KHÔNG.\nViết ra những gì bạn nghĩ Khi tôi suy nghĩ, những ý tưởng đến trong đầu tôi có thể rất lộn xộn, và nhiều khi nó chỉ là những hình ảnh hoặc từ ngữ ngẫu nhiên. Điều này khiến tôi khó khăn trong việc ra quyết định.\nViết những suy nghĩ của mình sẽ khiến tôi có cái nhìn rõ ràng hơn về những điều tôi thật sự muốn làm. Khi viết, tôi đang dùng ngôn ngữ để mô tả lại suy nghĩ của mình. Những thứ mông lung trong đầu tôi trở nên rõ ràng hơn.\nCách này đặc biệt hữu ích khi tôi gặp cảm xúc mạnh. Ví dụ, giận dữ, thất vọng, \u0026hellip; Ban đầu, những suy nghĩ bay với tốc độ phương tiện giao thông trên đường cao tốc. Khi tôi cố gắng nắm bắt chúng thì giống như việc lao mình ra chặn ô tô. Chắc bạn cũng đoán được kết quả như nào ở trường hợp này. 99.9% là thất bại. Tôi chìm vào hố đen suy nghĩ và chả thể tập trung vào bất kỳ công việc gì.\nĐầu tiên là tôi phải nhận biết được cái sự BẤT ỔN này rồi sau đó, tôi sẽ viết ra bất kỳ từ nào tôi có thể tóm được từ bộ não lộn xộn của mình. Tôi dùng Notion, có khi tiện thì dùng giấy bút. Dưới đây là một ví dụ về những gì tôi viết. Rất lộn xộn.\nTim tôi đập hơi nhanh, có vẻ cái phòng này hơi nóng. Chắc điều hòa hỏng. Con bug này thật to. Tôi với đứa bạn gọi cho nhau. Tôi chưa kịp chúc mừng năm mới mà bạn ấy đã phủ đầu bằng một tràng tiêu cực về cuộc sống.\nTôi đặt tên cho những bài kiểu này là Suy nghĩ trên mây. Càng viết ra nhiều và kỹ thì tôi nhạn thấy là số lần tôi viết ít dần. Từ một tuần mấy lần xuống còn vài tháng một lần.\nBên cạnh đó, những ý tưởng trong đầu tôi sẽ được ghi vào một chỗ thay vì để bộ não cố gắng nhớ chúng. Nỗ lực nhớ quá nhiều thông tin sẽ khiến não bị quá tải. Tôi thì liên tưởng ngay tới máy tính tràn RAM.\nKết luận Tôi nghĩ những bài viết 10 cách, 20 cách, thậm chí là 100 cách giúp bạn quyết đoán hơn đều viết những thứ hết sức TÀO LAO, chủ yếu để câu view. Bạn nên là người tự tìm ra cách giải quyết vấn đề cho mình bằng việc ĐI VÀO SÂU BÊN TRONG BẢN THÂN.\nTự đặt ra nhiều câu hỏi cho bản thân mình. Trong quá trình lần lượt trả lời từng câu hỏi thì bạn sẽ tìm được câu trả lời cho vấn đề của mình.\nĐừng tin vào lời khuyên của bất kỳ ai nếu bạn thử làm mà nó không hiệu quả.\nChúc bạn may mắn!\n","date":"2022-01-02T23:25:56+07:00","image":"https://japananh.github.io/blog/p/lam-sao-de-quyet-doan/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/lam-sao-de-quyet-doan/","title":"Làm sao để quyết đoán?"},{"content":"The coronavirus had changed the world and the way we live. I think 2021 was not a challenging year for me. I found it not too difficult to accomplish my career goals and my physical goals. Instead, working from home is pretty cool. I have more spare time to play with my buddies.\nOne article of Fobes wrote that 2022 is going to be Malcolm Gladwell’s Tipping Point Year. This article pointed out 22 predictions of the world in 2022. It provides a lot of retrospective ideas for the new year. I highly recommend you read it.\nhttps://www.forbes.com/sites/michaelgale/2022/01/01/22-predictions-for-2022-and-why-this-is-malcolm-gladwells-tipping-point-year/\nHere are my resolutions for 2022\nDive deep into backend development Dive deep into investing Finish reading list Challenge me physically \u0026amp; mentally Expand my network Moving into a new house Have fun + make fun of myself Try to be useful + help others Add a bit of love to the world Let\u0026rsquo;s go!\n","date":"2022-01-01T23:45:12+07:00","image":"https://japananh.github.io/blog/p/my-resolutions-for-2022/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/my-resolutions-for-2022/","title":"My resolutions for 2022"},{"content":"Hôm nay là ngày cuối cùng của năm 2021 và cũng là ngày thích hợp để viết một bài tổng kết lại những điều mình đã làm trong năm 2021.\nCuộc sống với đại dịch của tôi không khác gì so với lúc bình thường. Việc được WFH khiến tôi vừa code, vừa ôm cún ở nhà. Bên cạnh đó, vì không phải tiếp xúc với khói bụi và tắc đường nên làn da của tôi láng bóng và sáng hẳn ra.\nNăm 2021 có thật nhiều điều bất ngờ.\nĐầu tiên, tôi đã tăng cân sau rất nhiều lần đổi chế độ ăn và tập luyện. Khối lượng tạ và kỹ thuật cũng tăng đáng kể so với năm trước.\nTôi chuyển sang học Go. Ban đầu, tôi học vì tò mò. Sau thấy goroutine gần gũi với kiến thức tôi học năm ngoái, cảm giác như gặp lại người bạn cũ vậy.\nSau 3 năm nhìn lại thì quyết định học lập trình là một quyết định đúng đắn. Việc code hàng ngày và bàn về code với bạn bè khiến tôi thích thú. Trong ngành IT, công nghệ thay đổi một cách chóng mặt và bạn buộc phải học hỏi không ngừng nếu không muốn bị bỏ lại rất xa. Điều này thật tuyệt. Ít nhất là tôi sẽ không bao giờ chán với việc học cái mới.\nTôi đã vượt qua sự đau đớn về mặt cảm xúc khi đọc những cuốn tiểu thuyết viết về mặt trái của cuộc sống như Tội ác và trừng phạt hay Vết cắt hành xác. Không còn bất kỳ một sự ám ảnh nào từ những hành động tội ác.\nKhông thể tin nổi là tôi lại hì hục ngồi vẽ. Một cô bé dễ thương ôm cả thế giới với cái lá trên đầu. Rồi tới một bức khác có cô bé tóc xoăn đối diện với con bạc tuộc khổng lồ. Nhìn thật buồn cười.\nĐể kết thúc cái bài viết loằng ngoằng đậm chất \u0026ldquo;Suy nghĩ trên mây\u0026rdquo;, tôi sẽ trích ra mấy dòng thơ tôi viết cho mình nhân cái ngày \u0026ldquo;hớt bờ rếch\u0026rdquo;.\n\u0026ldquo;Cô bé họa sỹ\nVạn sự như ý\nĐược người cùng chí\nCung hỷ cung hỷ\u0026rdquo;\n","date":"2022-01-01T00:24:55+07:00","image":"https://japananh.github.io/blog/p/suy-nghi-tren-may-cho-mai-cung-thay-het-nam/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/suy-nghi-tren-may-cho-mai-cung-thay-het-nam/","title":"Suy nghĩ trên mây - Chờ mãi cũng thấy hết năm"},{"content":"Kiên Trần là người có ảnh hướng lớn nhất tới lối tư duy học tiếng anh của tôi. Tôi nghĩ muốn giỏi tiếng anh hay bất kỳ lĩnh vực gì, đầu tiên, bạn phải vượt qua được trở ngại niềm tin, tức là bạn phải THỰC SỰ TIN là mình có thể làm được.\nĐọc sách Kiên sẽ giúp bạn TẨY NÃO, khiến bạn tư duy tốt hơn và không còn phải HỌC tiếng anh một ngày nào. Sách không dùng các ví dụ khô khan như các giáo trình tiếng anh thông thường. Với hiểu biết phong phú về nhiều lĩnh vực khác nhau, mỗi cuốn sách của Kiên là một thế giới tràn đầy màu sắc, năng động, và thể hiện rõ tinh thần Bốn chấm không.\nTôi đã đọc hết tất cả các sách của anh. Tuy nhiên, không phải nhận định nào của tác giả tôi cũng đồng tình, tôi sẽ chắt lọc ra những cái phù hợp với mình và bỏ qua toàn bộ cái còn lại.\nNào giờ thì chúng ta sẽ cùng nhau thưởng thức một phần chương 2 của cuốn sách số 8 - **IELTS Speaking Handbook - Understand the exam **\nNội dung sách Thi Speaking sẽ gồm 3 phần. Phần 1 phần 2 và phần 3.\nSection 1: Warm-up.\nTại sao lại có section 1 cho warm up?\nBởi làm gì có ai sẵn sàng ngay lập tức.\nTrên đời này có 2 người lạ gặp nhau, bạn và giám khảo. Sẽ thật awkward cho cả bạn và giám khảo nếu như bắt đầu test ngay lập tức.\nChính vì vậy người ta rất thông minh khi phát minh ra cái section 1 giúp cho bạn và cả giám khảo bình tĩnh.\nƠ này, không phải chỉ có mỗi BẠN cần bình tĩnh, GIÁM KHẢO cũng rất cần bình tĩnh.\nNhân tiện, nếu bạn đang đọc cuốn sách này của mình, khả năng cao bạn là một học sinh “ngoan” – theo nghĩa là overly nice/friendly.\nBạn biết không, đây là điều làm cho bạn có lợi thế hơn rất nhiều những người khác ở các vùng văn hoá khác. Họ quậy hơn và đôi khi còn annoying. Bạn nice và đó là một lợi thế giúp cho giám khảo bình tĩnh.\nHãy nhớ nhiệm vụ của bạn là làm cho giám khảo bình tĩnh, thay vì bạn mong giám khảo làm bạn bình tĩnh.\nVì bạn muốn bản thân bạn ở thế chủ động, bạn muốn bạn cầm đằng chuôi. Suy nghĩ trong đầu bạn không phải là “Liệu giám khảo có nice với mình không nhỉ?”. Suy nghĩ trong đầu của bạn nên là “Mình phải làm gì để làm giám khảo bớt lo lắng và bình tĩnh hơn.”\nHãy luôn luôn suy nghĩ như vậy trong suốt quá trình thi.\n“Hmm, ông ta có vẻ hơi run, chắc ông ta ngại mình”\n“Làm thế nào để giám khảo bớt run?”\n“Làm thế nào để giám khảo bình tĩnh hơn?”\n“Mình sẽ phải nice và nói chậm lại để giám khảo bớt lo lắng.”\nGot it?\nBình luận về chương 2 Ai cũng biết bài thi IELTS Speaking đều có 3 phần. Điều khác biệt làm nên dấu ấn của tác giả ở chương 2 này là cách tư duy làm cho giám khảo bình tĩnh. Một cú lừa bộ não thật khôn khéo rằng bạn đang là người nắm quyền ở đây. Bạn không phải đi thi nữa. Bạn đang ở nhà, chém gió với người ở cửa dưới của bạn.\nTôi đã đọc một cuốn sách mô tả rằng chúng ta có thể tự tưởng tượng ra những hình ảnh và tin rằng chúng là những sự kiện có thật.\nMột người phụ nữ hồi tưởng lại quá khứ rằng mẹ cô ấy mất vì trượt chân xuống hồ bơi khi cô còn bé. Cô đã khẳng định với các nhà khoa học rằng những ký ức đấy hoàn toàn là sự thật. Nhưng rất lâu sau đó, khi tìm được những người chứng kiến cái chết của mẹ cô thì họ phát hiện là bà bị bệnh qua đời chứ không phải như những gì cô gái vẫn tin.\nCon người có khả năng bóp méo ký ức và hoàn toàn tin tưởng điều này là sự thật. Tôi cũng hay dùng phương pháp này để khiến bản thân mình làm những điều đúng đắn nhiều hơn.\nVí dụ, tôi rất lười đọc textbook, vừa dài (cỡ trên 600 trang) và lại khó. Tôi tưởng tượng rằng mình rất quý tác giả, yêu tất cả những gì tác giả làm, ngắm hình tác giả, xem websites, nghĩ về cái bìa sách thật là ngầu\u0026hellip; Kiếm mọi lý do để thích cuốn sách này và vờ như mình rất đam mê nó.\nLúc đầu, tôi sẽ thấy hơi gượng nhưng sau khi đã luyện tập nó một thời dài thì tôi có thể làm việc này một cách tự động. Tôi đã đọc xong được 2 cuốn textbooks vào năm ngoái nhờ phương pháp này.\nTôi nghĩ là việc đọc những cuốn trộn lẫn Anh-Việt kiểu này giúp ích cho tôi khá nhiều trong việc tư duy từ vựng. Đây là lối tư duy thông thường của đa số người học tiếng anh. Phải trải qua 2 bước thì thông tin mới tới não để xử lý.\n1 Tiếng anh -\u0026gt; Tiếng việt -\u0026gt; Thông tin trong não Còn đây là cách bạn tư duy khi đọc sách của Kiên.\n1 Tiếng anh -\u0026gt; Thông tin trong não Giả sử bạn đọc câu\nSẽ thật awkward cho cả bạn và giám khảo nếu như bắt đầu test ngay lập tức.\nỒ có một từ tiếng anh và nếu bạn không biết nghĩa của từ thì bạn hoàn toàn có thể đoán được là \u0026ldquo;bất tiện\u0026rdquo;.\n1 awkward -\u0026gt; Cảm giác lúng túng, xấu hổ trong não Thay vì\n1 awkward -\u0026gt; Tra nghĩa tiếng việt -\u0026gt; Cảm giác lúng túng, xấu hổ trong não ","date":"2021-12-30T04:06:20+07:00","image":"https://japananh.github.io/blog/p/ielts-speaking-handbook-chapter-2-understand-the-exam/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/ielts-speaking-handbook-chapter-2-understand-the-exam/","title":"IELTS Speaking Handbook - Chapter 2 - Understand the exam"},{"content":"What is z-index? The z-index property specifies the stack order of an element.\nUsage An element with greater stack order is always in front of an element with a lower stack order.\nz-index only works on positioned elements (position: absolute, position: relative, position: fixed, or position: sticky) and flex items (elements that are direct children of display:flex elements).\nIf two positioned elements overlap without a z-index specified, the element positioned last in the HTML code will be shown on top.\n1 2 3 4 5 6 7 8 9 10 \u0026lt;!-- If two positioned elements overlap without a z-index specified, the element positioned last in the HTML code will be shown on top. Box 3 is on top of box 1 because it is positioned last in the HTML. Box 2 is on top of box 3 because its z-index is greater than box 3. --\u0026gt; \u0026lt;div class=\u0026#39;container\u0026#39;\u0026gt; \u0026lt;div class=\u0026#39;box box1\u0026#39;\u0026gt;Box 1\u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#39;box box2\u0026#39;\u0026gt;Box 2\u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#39;box box3\u0026#39;\u0026gt;Box 3\u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 .container { position: relative; } .box { width: 200px; height: 200px; } .box1 { background-color: pink; position: absolute; } .box2 { background-color: yellowgreen; position: absolute; top: 50px; left: 100px; z-index: 3; } .box3 { background-color: orange; position: absolute; top: 100px; left: 50px; } If two positioned elements overlap, element 1 has a child element A (z-index: 3), element 2 (z-index: 2) has a child element B (z-index: 4). A is on top of B even its z-index is less than B (3 \u0026lt; 4) due to the z-index of the parent element 1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 \u0026lt;!-- If two positioned elements overlap without a z-index specified, the element positioned last in the HTML code will be shown on top. Box 3 is on top of box 1 because it is positioned last in the HTML. Box 2 is on top of box 3 because its z-index is greater than box 3. --\u0026gt; \u0026lt;div class=\u0026#39;container\u0026#39;\u0026gt; \u0026lt;div class=\u0026#39;box box1\u0026#39;\u0026gt;Box 1\u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#39;box box2\u0026#39;\u0026gt;Box 2\u0026lt;/div\u0026gt; \u0026lt;div class=\u0026#39;box box3\u0026#39;\u0026gt;Box 3\u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;!-- Even box 4 has z-index: 4 is greater than box 2 (z-index: 3), box 2 still on top of box 4 due to z-index of `container2` is 2 --\u0026gt; \u0026lt;div class=\u0026#39;container2\u0026#39;\u0026gt; \u0026lt;div class=\u0026#39;box box4\u0026#39;\u0026gt;Box 4\u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 .container { position: relative; height: 220px; } .box { width: 200px; height: 200px; border: 1px solid; position: absolute; } .box1 { background-color: pink; } .box2 { background-color: yellowgreen; top: 50px; left: 100px; z-index: 3; } .box3 { background-color: orange; top: 100px; left: 50px; } .container2 { position: relative; height: 220px; z-index: 2; } .box4 { background-color: yellow; top: 0; left: 20px; z-index: 4; } Code demo: Codepen\n","date":"2021-12-30T02:57:47+07:00","image":"https://japananh.github.io/blog/p/z-index-not-working/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/z-index-not-working/","title":"z-index not working?"},{"content":"I was a good student. I got high scores at school. I loved sciences, especially Mathematics. But I didn\u0026rsquo;t know what position I was supposed to do in the future.\nMy early 20s started by dropping out of university. I found it not for me. Students preferred certificates over knowledge. This wasn\u0026rsquo;t how to I used to think when I was 18. I was disappointed and upset.\nTo survive, I became a waitress, then a housekeeper, then a tailor. I live my career on autopilot.\n\u0026ldquo;Life is so boring. How to get out of it?\u0026rdquo; - I wondered.\nIn 2017, I made friends with some Uzbeks. They were computer science students at Inha University. I was curious about what they do in their leisure time. So I asked them if they would like to share what they did. A week later, I wrote my first line of code in C++.\n1 2 3 4 5 6 #include \u0026lt;iostream\u0026gt; int main() { std::cout \u0026lt;\u0026lt; \u0026#34;Hello World!\u0026#34;; return 0; } I continued to learn to code for fun. It was hard. That\u0026rsquo;s why it was so fun.\n\u0026ldquo;Should I become a coder?\u0026rdquo; - I wondered.\n2 years later, I got my first job as a Web Developer. WOW! I did it without applying for an internship. I tripled my income. Awesome!\nLast year, I experienced burnout and quit my job with no plan. Although this seemed terrible at first, I realized that not a bad decision. I started to acknowledge what I really want to become, what mistakes I made. I built some plans to expand my skillsets during this time.\n4 months later, I got my second job.\nComing from a JavaScript background, I have always wanted to learn a static-typed programming language, this year I picked up Go after reading the reviews about the language.\nNow, 15 months in, I tried to fill the gap between me - an amateur and a professional. I\u0026rsquo;m happy with my career development. I do what I love every day - to build something useful.\nIf you asked me what I was supposed to be in my early 20s. I would say I don\u0026rsquo;t know. I wasn\u0026rsquo;t good at anything and not interested in anything. Now, everything has changed.\nYou can’t connect the dots looking forward; you can only connect them looking backward. – Steve Jobs\n","date":"2021-12-30T01:47:00+07:00","image":"https://japananh.github.io/blog/p/connect-the-dots/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/connect-the-dots/","title":"Connect the dots"},{"content":"I live in a country where most people think emotions should be ignored. Especially, negative emotions such as fear, anger, worry, loneliness, \u0026hellip; I had a very hard time trying to hide all my strong emotions and felt ashamed if someone saw them.\n\u0026ldquo;Hey, you should be BRAVE. Don\u0026rsquo;t cry. Don\u0026rsquo;t let people see your stupid face.\u0026rdquo; - I told myself.\nThe strong emotion is something like a storm. if you try to hide your feelings, they might be accumulated into strong emotions. And you won\u0026rsquo;t develop a way to recognize your feelings correctly.\nFor example, I misunderstood my disappointment and my sleep deprivation with an anxiety disorder. I thought something was wrong with my brain because none of my friends or coworkers behave like that. But in fact, I was just worried about my career path. That was fine for a younger.\nif you acknowledge and transform your emotions instead of ignoring them, you won\u0026rsquo;t be afraid and won\u0026rsquo;t be overwhelmed by them.\nOf course, there are a lot of techniques to help you deal with emotions. Master Thich Nhat Hanh is one of the great people that help me to overcome my existential crisis and my burnout. He had a great Dharma talk about how to deal with strong or difficult emotions. Here is another great post from Plum Village. You can see that all practices are so simple, you can do it everywhere, every day. I hope it helps.\n","date":"2021-12-30T00:29:55+07:00","image":"https://japananh.github.io/blog/p/accept-emotions-as-they-are/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/accept-emotions-as-they-are/","title":"Accept Emotions As They Are"},{"content":"Phần 1, tôi đã viết về cách viết bài dùng markdown trên Medium. Cả 2 cách đều khá tốn công và khó quản lý.\nHôm nay tôi sẽ giới thiệu một cách hay đó là tạo 1 repository chứa tất cả các bài viết dưới dạng markdown, để trên Github, rồi muốn post bài nào chỉ cần gõ 1 dòng lệnh là xong.\nVà bạn còn có thể post lên được nhiều nền tảng blog khác như dev.to.\nmdm Thư viện tôi dùng là mdm.\nBước 1, bạn phải cài thư viện mdm.\n1 npm i -g @pavanjadhaw/mdm Bước 2, tạo intergration token trên Medium ở phần setttings.\nBước 3, sau khi tạo xong token, bạn copy token, thêm vào cuối file ~/.bashrc hoặc ~/.zshrc như sau.\n1 2 3 echo \u0026#39;## Medium configs\u0026#39; \u0026gt;\u0026gt; ~/.bashrc echo \u0026#39;export MEDIUM_TOKEN=\u0026#34;token here\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc Bước 4, tạo MEDIUM_ID bằng lệnh\n1 mdm init Bước 5, thêm MEDIUM_ID vào ~/.bashrc hoặc ~/.zshrc.\n1 2 echo \u0026#39;export MEDIUM_ID=\u0026#34;...\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc Bước 6, publish bài lên Medium\n1 mdm publish path/to/markdown.md File markdown của bạn phải theo format ở dưới. status có thể là draft (bài nháp) hay là public.\n1 2 3 4 5 --- title: My Awesome Post tags: [\u0026#39;some\u0026#39;, \u0026#39;tags\u0026#39;, \u0026#39;here\u0026#39;] status: draft --- Và thế là chúng ta đã post bài lên Medium thành công mà không cần phải gõ trên cái editor khó chịu nữa.\nPost bài lên dev.to Để post bài lên dev.to, bạn cần chạy script sau.\n1 curl -X POST -H \u0026#34;Content-Type: application/json\u0026#34; -H \u0026#34;api-key: \u0026lt;your-api-key\u0026gt;\u0026#34; -d \u0026#39;\u0026lt;your-content\u0026gt;\u0026#39; https://dev.to/api/articlesL161UPYsb\u0026#34; Trong đó:\n\u0026lt;your-api-key\u0026gt; bạn lấy ở dev.to phần settings. \u0026lt;your-content\u0026gt; là nội dung bài viết của bạn. Ví dụ 1 {\u0026#34;article\u0026#34;:{\u0026#34;title\u0026#34;:\u0026#34;Title\u0026#34;,\u0026#34;body_markdown\u0026#34;:\u0026#34;\u0026lt;h1\u0026gt;Body\u0026lt;/h1\u0026gt;\u0026#34;,\u0026#34;published\u0026#34;:false,\u0026#34;tags\u0026#34;:[\u0026#34;discuss\u0026#34;, \u0026#34;javascript\u0026#34;]}} Refferences https://reposhub.com/nodejs/command-line-apps/pavanjadhaw-mdm.html https://developers.forem.com/api#operation/createArticle ","date":"2021-12-29T00:40:23+07:00","image":"https://japananh.github.io/blog/p/viet-blog-tren-medium-phan-2/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/viet-blog-tren-medium-phan-2/","title":"Viết blog trên Medium - Phần 2"},{"content":"Hầu hết bạn bè tôi đều đọc bài trên Medium và chính tôi cũng thấy trang này khá thú vị. Đã quen viết markdown (md) trên Hashnode và Notion nên tôi đã nghĩ chắc editor của Medium cũng hỗ trợ markdown nên copy nguyên text vào và nhấn nút Publish.\nAi ngờ editor xịn quá lại copy vào ký tự gì là hiện thị giống hệt. Có một sự thất vọng không hề nhẹ. =))\nTôi mò lên google search thử thì phát hiện ra hai cách dùng markdown trong Medium.\nCách 1: Tạo 1 file gist có nội dung bạn mong muốn rồi import vào Medium. Chọn mục Stories -\u0026gt; Import a story hoặc vào đường dẫn https://medium.com/p/import. Cách 2: Dùng tool convert markdown sang định dạng text của Medium, rồi copy vào editor. Bạn có thể tham khảo tool markdown-to-medium. Vốn là một đứa lười biếng, tôi ngồi mò tiếp để viết script tự động post bài từ repository trên Github lên Medium. Tôi tìm được 2 thư viện là md-publisher và mdm.\nBài hôm nay tạm dừng ở đây. Mai tôi sẽ viết tiếp về phần chạy hai thư viện này.\n","date":"2021-12-28T01:43:20+07:00","image":"https://japananh.github.io/blog/p/viet-blog-tren-medium-phan-1/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/viet-blog-tren-medium-phan-1/","title":"Viết blog trên Medium - Phần 1"},{"content":"Tôi viết bài này tổng hợp lại những điểm nhấn trong Bốn Chấm Không với mục đích là giúp bản thân mình dễ dàng tra cứu lại sau này. Việc nghe lại một podcast dài gần 1 tiếng dù các hosts đã đính kèm mục lục nhiều khi khá tốn thời gian, trong khi tôi còn một danh sách dài những thứ phải đọc và nghe.\nPodcast được tạo bởi hai bạn nữ tài năng là Trúc Giang và Thùy Ngân. Nội dung podcast chia sẻ câu chuyện từ những người thành công và những lời khuyên về nghề nghiệp và cuộc sống.\nĐây là link playlist nghe các tập trên nền tảng Spotify. Nếu thấy quảng cáo đau tai quá thì bạn có thể nghe trên các nền tảng khác như Apple podcast, Google Podcasts và listennotes.\nProfile khủng của hosts và speakers 12 Bạn Trúc Giang từng học tại UCLA, hiện đang làm ở một công ty khởi nghiệp tại San Francisco, công ty chuyên về mảng công nghệ cho quảng cáo.\nSở thích: lướt sóng, đi lặn, đi du lịch bụi, đi cắm trại và học ngôn ngữ (Tiếng Nhật và Tiếng Hoa).\n12 Bạn Thùy Ngân từng học tại Yale, hiện đang làm kỹ sư nghiên cứu tại DeepMind, một công ty nghiên cứu trí tuệ nhân tạo.\nSở thích: trượt băng nghệ thuật và các bộ môn nghệ thuật thủ công như vẽ, chơi đàn và viết thư pháp.\n2 Chị Liên là kỹ sư phần mềm kiêm nhà sản xuất âm nhạc. Đây là bài báo viết về thành tích đáng ngưỡng mộ của chị vào năm 2012.\n4 Chị Sunny đang làm Project manager, tốt nghiệp bằng Thạc sỹ Quản trị kinh doanh từ trường Haas tại Đại học Berkeley.\nTuấn tốt nghiệp cử nhân ngành Khoa học dữ liệu và xác xuất thống kê tạo trường Đại học Yale, đang làm Nhà khoa học dữ liệu tại Quora, một công ty khởi nghiệp tại thung lũng Silicon với nền tảng đặt câu hỏi và trả lời.\nChị Zoe từng là Content Data Analyst (phân tích dữ liệu nội dung) tại Facebook và Product Manager (quản lý sản phẩm) tại start-up Elsa.\nAnh Chân Lê từng là kỹ sư phần mềm và Tech Lead tại Salesforce, Facebook, Asana, và Misfit.\nLam hiện đang là kỹ sư phần mềm tại Facebook, Luân Đôn, từng đạt học bổng toàn phần hội thảo Grace Hopper khi còn là sinh viên Đại học công nghệ thông tin TP.HCM.\n12 Hai co-founders của Ta Đi Tây, một podcast về những câu chuyên thực tế, lời khuyên về đi du học và sống và làm việc ở nước ngoài.\nNhững khuôn mẫu Mười ba tập, mỗi tập đều có một khách mời xuất sắc trong ngành công nghệ. Mỗi người một vẻ, ai cũng có những chiến lược và sở thích khác nhau. Tuy nhiên, đây là những điểm chung nổi bật (khuôn mẫu) mà tôi thấy từ họ hay từ bất cứ người giỏi khác mà tôi được biết câu chuyện của họ.\nTất cả họ đều bắt đầu từ rất sớm (từ cấp 2, cấp 3, đại học) và đều có định hướng sớm. Họ đều là người tò mò về thế giới xung quanh.\nTôi rút ra hai điều là:\nNếu bạn bắt đầu muộn, giả sử 23 tuổi mới nhận ra mình lãng phí tuổi trẻ chẳng hạn thì đừng có lo vì bạn còn có RẤT RẤT nhiều năm còn lại để phấn đấu. Không có nỗ lực nào là uổng phí cả. Tôi từng đọc ở một cuốn sách rằng\nGiả sử bạn cố gắng học IELST mà không đạt được 8 chấm, thì cái bạn ngã xuống là 7 chấm, 6 chấm. Bạn giỏi hơn số đông rất nhiều.\nĐại ý của câu ấy là cứ làm đi đừng hỏi rằng làm bao lâu thì xong vì cứ ngóng mãi cái đích đấy rồi thấy con đường mình đi dài quá nên nản. Cứ làm đi, trải nghiệm đi, sai và sửa thì thành công sẽ đến với bạn.\nTrước khi có gia đình hãy nghĩ tới sự phát triển của con cái bạn, hãy học cách nuôi dạy trẻ. Chúng ta không thể đẩy hết trách nhiệm giáo dục con cái mình cho nhà trường và xã hội. Có thể bạn chỉ là người rất bình thường nhưng biết đâu đấy con bạn sẽ thành những thiên tài có ích cho xã hội. Họ đều chủ động tìm kiếm những người cộng sự, người thầy giỏi. Mỗi speaker đều nhắn tới ít nhất một vài người đã làm nên sự thành công của họ. Ai cũng đề cao làm việc nhóm.\nChị Sunny (tập 3) chọn các khóa học mà những bạn học cùng đều có cùng background và cùng chí hướng giống mình với mục đích là \u0026ldquo;Biết đâu đấy sau này chị có thể tìm được co-founder cho một start-up trong tương lai của chị\u0026rdquo;.\nChị Liên Trần thì nói trong tập 1 rằng\nNhững người thành công nhất là những người có khả năng hợp tác, trao đổi thông tin, lắng nghe, đưa ra quyết định cùng với người khác.\nKhi host Ngân nhắc tới từ Circle of five trong tập 11 thì tôi nghĩ ngay tới câu nói nổi tiếng của Jim Rohn.\nThu nhập của bạn là trung bình của 5 người bạn tiếp xúc nhiều nhất.\nYou are the average of the five people you spend the most time with.\nĐiểm tôi quan tâm ngoài những bí quyết nghề là cuộc sống của họ sau công việc. Cuộc sống ấy như thế nào? Đa sắc hay đơn sắc? Cô bạn Trúc Giang thích lướt sóng và đi lặn. Cô bạn Thùy Ngân thích trượt băng nghệ thuật và các môn thủ công. Chị Liên Trần vừa là kỹ sư máy tính vừa làm nhà sản xuất âm nhạc. Anh Chân Lê có hiểu biết rộng về lĩnh vực tài chính và có rất nhiều lời khuyên về đầu tư bổ ích cho các bạn software engineer ở tập 9.\nKhi bạn bị vây quanh bởi những con người sống hời hợt, đi làm, đi học để kiếm tiền, không tập thể dục thì những câu chuyện ấy như những tia sáng len lỏi khắp khoảng không u tối ấy. Như anh bạn Raxcolnicov gặp cô bé Xonia trong Tội ác và trừng phạt của Dostoevsky, để rồi tấm lòng trong sáng của cô khiến kẻ giết người thay đổi suy nghĩ.\nHope is being able to see that there is light despite all of the darkness.\nAnh Dũng Bùi có nói trong tập 11 rằng\nỞ Mỹ, mọi người không đợi sự cho phép từ bên ngoài để làm điều họ muốn \u0026hellip; Khi mà anh và Linh bắt đầu làm podcast thì anh chưa có kinh nghiệm gì liên quan tới podcast và thu âm. Nếu anh đợi cho tới khi anh đủ kiến thức rồi thì không biết bao giờ Ta đi Tây mới được lên sóng.\nCái gì mình thiếu thì mình không phải đợi người khác cho mình mà mình phải tự tạo ra cho mình.\nNhững lời khuyên dành cho các bạn trẻ Chị Liên Trần có kể câu chuyện về việc lý do chị lựa chọn giữa Apple (Công ty công nghệ) và BridgeWater (Quỹ quản lý tiền lớn nhất trên thế giới) (ở phút thứ 13 tập 2) vì ở BridgeWater thì Quant Trader mới là first-class citizen (hiểu là những người tạo ra nhiều giá trị nhất cho công ty nên sẽ được trân trọng nhiều hơn), không phải là Engineer.\nBài học ở đây là chúng ta cần phải tìm hiểu kỹ về công ty trước khi ứng tuyển. Công ty này đang làm gì? Vị trí mình ứng tuyển sẽ làm gì? Liệu công ty này có cho mình những kỹ năng mình muốn không? \u0026hellip;\nVới tôi, đây là cái lời khuyên hay nhất và đúng thời điểm nhất vì nó giúp tôi giải thích những lỗi sai của chính mình trong quá khứ.\nBài học từ chị Sunny là nói ra nguyện vọng bản thân, những thứ mình chịu được và không \u0026hellip; (Tôi đã không nhớ được là ở phút thứ bao nhiêu ở tập 3 và 4)\nKhi đi làm, tôi thấy rất ít người nói ra mình muốn được hợp tác như nào khi vào một team mới. Đa số sẽ lao ngay vào đọc tài liệu, đọc code. Rồi khi có vấn đề gì sẽ \u0026ldquo;Một điều nhịn, chín điều lành\u0026rdquo;.\nTôi nghĩ mọi người nên chủ động hơn, đặt ra những giới hạn cho riêng bản thân mình. Chỉ khi có những tiêu chí này thì bạn mới biết đâu là công ty phù hợp, đồng đội phù hợp.\nSau đây là những lý do mọi người nên cân nhắc nhảy việc từ anh Chân Lê ở tập số 8.\n\u0026ldquo;Thời gian trung bình cho một công ty gắn bó với một công ty công nghệ là 1.5 năm. Vậy nên 2 năm không nhảy đã là lâu lắm rồi.\u0026rdquo; Tôi không rõ anh ấy lấy số liệu từ đâu. Đây là con số trên tờ Business Insider ở một vài công ty công nghệ siêu bự. Uber khoảng 1.8 năm, Dropbox khoảng 2.1 năm, Tesla khoảng 2.1 năm. Nâng cao kỹ năng cho bản thân. Nhảy lương tốt hơn. Sau đây là bí quyết từ host Ngân, một người rất thành công trong việc tạo kết nối với những người giỏi.\nGoogle những người nổi tiếng nhất trong ngành mà bạn quan tâm, đọc profile của họ, xem họ đã đi con đường như nào, đã học những gì để biết xem liệu họ có những kỹ năng mình mong muốn có không.\nHãy tìm cách liên lạc với họ qua Linkedin hoặc email hoặc ở các hội thảo. Bạn nên tìm hiểu trước vấn đề của mình trước khi tư vấn tìm lời khuyên. Tránh hỏi các câu chung chung. Ví dụ,\n\u0026ldquo;Anh ơi, em muốn du học Mỹ thì giờ phải làm gì?\u0026rdquo;.\nCâu hỏi nên rõ ràng, chi tiết vào vấn đề mình cần hỏi. Ví dụ,\n\u0026ldquo;Chào chị, em đang trong interview loop của Meta cho vị trí Enterprise Engineer Intern ạ. Qua tìm hiểu thì em biết chị đã từng làm vị trí này rồi, chị cho em hỏi vị trí này có khác gì so với SWE Intern không?\u0026rdquo;\nNguồn tài liệu hay Đây là danh sách một số nguồn tài liệu mà tôi tâm đắc qua chia sẻ của các hosts và speakers. Bạn có thể xem thêm ở phần đính kèm mỗi podcast. Nếu bạn biết những nguồn hữu ích khác xin hãy comment vào bài viết này.\nSo good they can\u0026rsquo;t ignore you - Cal Newport\nDeep work - Cal Newport\nDigital minimalism - Cal Newport: cho những người cảm thấy bị cuốn đi bởi thế giới số.\nAlgorithm to live by - Kyoko Tazawa\nWomen in Data science: podcast phỏng vấn nhiều nhà khoa học dữ liệu, chia sẻ công việc, lời khuyên và bài học kinh nghiệm của họ với Giáo sư Margot Gerritsen từ Đại học Stanford.\nFor your innovation (FYI): nói về sự giao thoa giữa công nghệ và đầu tư\nLex Fridman: phỏng vấn rất nhiều người giỏi trong nhiều ngành nghề khác nhau, tập trung vào khoa học máy tính. Đây là một trong những kênh yêu thích của tôi và chính anh Lex cũng là nguồn cảm hứng cho tôi tập tạ.\nSam Harris\nCoursera\nChương trình Master of Computer and Information Technology (MCIT) Program tại Đại học Pennsylvania (UPenn)\nIntern candidates meet referrers\nViet UX-PM\n","date":"2021-12-27T17:54:11+07:00","image":"https://japananh.github.io/blog/p/bon-cham-khong/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/bon-cham-khong/","title":"Bốn chấm không"},{"content":"Dạo gần đây tôi tham gia vào một nhóm đọc sách. Cảm giác lúc đầu là rất vui vì mong chờ gặp được những người bạn ham học hỏi và thích tìm tòi cái mới. Theo công thức Happiness = Reality - Expectation, sau vài buổi tham gia thì Happiness của tôi về mức âm. Chắc là do Expectation và mọi người hay chia sẻ lúc 11 giờ đêm - cái giờ tôi đi ngủ.\nTôi nhận thấy việc đọc đối với phần lớn mọi người đều là thứ gì đó xa vời và khó khăn. Trong khi việc đó đối với tôi đơn giản như ăn vậy. Để lý giải điều này, tôi đã cố nhớ lại chuyện trong quá khứ để tìm hiểu điều gì đã khiến tôi từ một đứa không thích đọc trở thành con người thích đọc của hiện tại.\nSau đây là một vài lý do của tôi. Hi vọng chúng sẽ giúp ích cho bạn.\nĐọc để giải quyết vấn đề Tôi nghĩ mình đã đọc vô định theo kiểu \u0026ldquo;trưởng giả học làm sang\u0026rdquo; trong rất nhiều năm trời cho tới ngày tôi nảy ra cái ý tưởng đọc sách để giải quyết vấn đề.\nLý do là tôi quá bận, quá mệt với việc bơi giữa một đại dương sách mà cuốn nào cũng được tung hô là best-seller. Chả biết đọc những cuốn KINH ĐIỂN đó có khiến mình thông minh lên không, tôi chỉ biết là tôi đã thấy rất KINH KHỦNG.\nTôi bắt đầu nhìn vào quỹ thời gian có hạn của mình và thấy việc trì trệ trong công việc là do mình đã tìm hiểu quá nhiều thứ mà không áp dụng được vào công việc và cuộc sống.\nVí dụ, đọc một cuốn sách nghiên cứu về lịch sử loài người sẽ giúp ích cho tôi nếu tôi là nhà khảo cổ học nhưng lại chẳng đem lại nhiều ích lợi cho một kỹ sư công nghệ.\nLàm sao tôi có thể bình thản đọc sách khi tôi đang gặp một con bug to siêu to khổng lồ?\nLàm sao tôi có thể bình thản đọc sách khi mà thu nhập của tôi không đủ cho tôi một cuộc sống thoải mái?\nVượt ra khỏi vòng tròn thoải mái Khi đọc cùng một thể loại sách, tôi rất dễ bị bias và ngộ nhận về thế giới. Thể loại sách yêu thích của tôi là truyện thiếu nhi, có chút lãng mạn, bay bổng như Hoàng tử bé và Khu vườn bí mật. Tôi nghĩ những cuốn sách này rất thích hợp để nuôi dưỡng tình yêu thương trong mỗi con người.\nTuy nhiên, cuộc sống không chỉ có mỗi màu hồng. Nó có cả thiện và ác. Thậm chí, nhiều khi thiện ác lẫn lội. Và nếu chỉ đọc những cuốn sách êm đềm kia, tôi nghĩ mình sẽ chả bao giờ có đủ linh hoạt để ứng phó với sự phức tạp của cuộc sống hiện đại.\nViệc lao mình vào đọc những cuốn sách mô tả hiện thực khắc nghiệt, nơi cái xấu ở khắp mọi nơi như Hẹn gặp lại ở trên kia hay Tội ác và trừng phạt sẽ khiến tôi có một cái nhìn khác về cuộc sống.\nLúc đầu, tôi thấy rất khổ sở, khó chịu và chỉ muốn vứt sách đi vì cuộc sống của những nhân vật trong đấy vượt quá sức chịu đựng của mình. Nhưng càng về sau, tôi thấy mình bớt mộng mơ đi và thông cảm cho những ai đã từng làm tổn thương tôi.\nĐọc từ dễ lên khó Một trong những quyết định ngu ngốc nhất của tôi khi tìm hiểu một vấn đề, tôi hay mua những cuốn sách phức tạp về đọc thay vì đọc những cuốn dễ hiểu hơn.\nNếu bạn không biết gì về dinh dưỡng, lao đầu vào đọc cuốn The China Study của Tiến sỹ Colin Campbell và Thomas Campbell sẽ khiến bạn dễ nản chí và bỏ cuộc chỉ sau vài chương sách. Có ba lý do.\nThứ nhất, cuốn sách này dài hơn 400 trang.\nThứ hai, cuốn này có rất nhiều từ ngữ chuyên ngành, dù bạn có đọc bản tiếng việt thì bạn cũng cần phải tra thêm Google để hiểu.\nThứ ba, đây là sách kỹ thuật, không có cảm xúc ở đây, nếu chỉ đọc cho vui không mục đích hay muốn luyện tiếng anh thì bạn sẽ thấy thất vọng vô cùng.\nTôi nhớ mình đọc cuốn này vì muốn tìm cho ra một chế độ ăn khiến tôi hết viêm lỗ chân lông. Tôi đã đọc bản tiếng anh cuốn này trong vòng 6 tháng (vì lúc đó chưa hề có bản tiếng việt). Tôi phải tra Google tới 40% số từ trong một trang và đọc xong cuốn này thì reading của tôi lên một tầm cao mới. =))\nTôi không nghĩ bây giờ mình không đủ rảnh để dành vài tiếng một ngày trong vài tháng để đọc một cuốn sách khó nhằn như thế. Nếu có cỗ máy thời gian, tôi sẽ khuyên mình đọc một cuốn dễ hơn là Ruột ơi là ruột của Giulia Enders. Bạn có thể đọc thêm review cuốn này của tôi ở đây.\nĐọc bằng máy đọc sách Tôi nghĩ mua Kindle là một quyết định sáng suốt. Thay vì ôm một cuốn sách cỡ 400 trang, nặng chịch, cầm mỏi cả tay và hay gặp tai nạn sách rơi vào mặt mỗi khi nằm đọc sách thì giờ tôi đã có một em Kindle bé xinh, nhỏ gọn, muốn chứa bao nhiêu sách cũng được.\nMột ưu điểm khác của Kindle là đọc sách buổi tối không cần phải bật đèn quá sáng như đọc sách giấy và nhìn màn hình cũng không thấy mỏi mắt. Tôi đã đọc sách bằng Kindle như một liệu pháp vượt qua chứng khó ngủ trong giai đoạn burnout.\nDisclamer: Tôi không hề quảng cáo cho Kindle. Bạn có thể mua máy đọc sách của bất kỳ hãng nào miễn là máy nhẹ và trải nghiệm đọc của bạn tốt.\nAudiobook/Podcast Tôi nghĩ mình có khá nhiều thời gian chết trong ngày. Tính sơ ra thì tôi cũng phải dành cỡ 2-2.5 tiếng một ngày cho việc nhà, vệ sinh cá nhân và nấu ăn. Đó đều là những công việc siêu nhàm chán. Não tôi cứ chạy tung tăng khắp nơi, từ công ty cho tới con bug siêu bự, rồi lại anh chàng dễ thương nào đó.\nĐể thấy mình sống có ích hơn và để não thôi không nghĩ lung tung thì tôi cắm headphone vào và nghe audiobook hoặc podcast. Những lúc giải trí như này thì tôi hay nghe những thứ nhẹ nhàng thôi. Ví dụ, Radio Kien Tran, podcast của anh Lex Fridman hay của bác Huberman.\nTổng kết Ngoài những cách kể trên thì kỹ thuật đọc tốt sẽ giúp bạn tiếp thu kiến thức nhanh hơn. Tôi đã đọc cuốn Đọc Sách Siêu Tốc và thấy rất hữu ích. Trên thị trường có khá nhiều cuốn có nội dung tương tự nhau, bạn có thể tìm đọc một cuốn bất kỳ.\n","date":"2021-12-27T01:14:54+07:00","image":"https://japananh.github.io/blog/p/de-doc-sach-khong-con-la-mot-thoi-quen-xa-voi/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/de-doc-sach-khong-con-la-mot-thoi-quen-xa-voi/","title":"Để đọc sách không còn là một thói quen xa vời"},{"content":"I read Handbook of thinking smart, the third book that was written by a Vietnamese author - Kien Tran. I started to follow him in 2018. His first book - Handbook of IELTS motivated me to learn English from a zero to an intermediate. Although he received a bad reputation due to a fake IELTS certificate and other bad things, I still found a lot of useful advice in his books. Today, I\u0026rsquo;m gonna share the first chapter of this book with you.\nMarginal Revenue vs Marginal Cost (MR vs MC) You make decisions every day. Have you ever considered what you are doing is valuable or not?\nIn this chapter, he introduces a famous concept in economics that you can apply immediately.\nAlways compare Marginal Revenue (MR) and Marginal Cost (MC).\nMR is a benefit you get after you make a product.\nMC is a cost you pay after you make a product.\nYou hesitate to stay up an hour to do some IELTS reading exercises.\nWhat is MR? It is a benefit you get after an hour of practicing IELTS.\nWhat is MC? It is a cost you pay after an hour of practicing IETLS.\nIt\u0026rsquo;s 9 PM. If you stay up to 10 PM, you might finish 10 exercises. So 10 exercises are your MR.\nWill you lose anything in that hour? Not much. You are not sleepy. You only lose an hour for doing something else. Therefore, MR \u0026gt; MC. You lose an hour to finish 10 exercises. You are happy and satisfied.\nExample 2 is similar to the one above, but instead of 9 PM to 10 PM, it is 3 AM to 4 AM.\nWhat is MR? It is a benefit you get after an hour of practicing IELTS. You\u0026rsquo;ll be sleepy, so you might not finish 10 exercises. Maybe 7. MR is 7 exercises.\nWhat is MC? It is a cost you pay after an hour of practicing IETLS. You stay up very late, your cost is very high. You might wake up languidly the next morning and couldn\u0026rsquo;t focus on anything.\nIn that situation, you should NOT stay up late to practice IELTS because of MR \u0026lt; MC.\nConclusion MR and MC always exist in most situations. To make a better decision, you should determine them quickly.\nAlways compare MR with MC when making decisions on when.\n","date":"2021-12-26T01:02:35+07:00","image":"https://japananh.github.io/blog/p/handbook-of-thinking-smart-marginal-revenue-vs-marginal-cost/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/handbook-of-thinking-smart-marginal-revenue-vs-marginal-cost/","title":"Handbook of thinking smart - Marginal Revenue vs Marginal Cost"},{"content":"Go team released Go 1.18 Beta 1 in December 2021, introducing support for generic programming using type parameters, a much-anticipated feature.\nNote: If you prefer, you can use the Go playground in “Go dev branch” mode to try new features with generics.\nWhat is new in generics? Type parameter lists look like ordinary parameter lists with square brackets. It is customary to start type parameters with upper-case letters to emphasize that they are types.\n1 [P, Q constraint1, R constraint2] Let\u0026rsquo;s take a look at the function min below.\n1 2 3 4 5 6 7 8 9 func min(x, y int) int { if x \u0026lt; y { return x } return y } m := min(2, 3) fmt.Println(m) // 2 If we want this function to work with other number types such as float64, we need to declare a new function to handle the new type. To solve that problem, we use generics. The type parameter T, declared in a type parameter list, takes the place of int.\n1 2 3 4 5 6 7 8 9 10 func min[T constraints.Ordered](x, y T) T { if x \u0026lt; y { return x } return y } m := min[int](2, 3) n := min[float64](2, 3) fmt.Println(m, n) // 2 2 Type parameter lists also have a type for each type parameter. This type defines a set of types. It is called the type constraint. In Go, type constraints must be interfaces.\nLet\u0026rsquo;s take a look at the example below.\n1 func min[T constraints.Ordered](x, y T) T constraints.Ordered is a type constraint. Ordered defines the set of all integer, floating-point, and string types.\n~T means the set of all types with the underlying type T.\nCheck this discussion for more information.\n1 2 3 4 5 6 // Package constraints define a set of useful constraints to be used with type parameters. package constraints type Ordered interface { int | float | ~string } When declaring a variable without specifying an explicit type (either by using the := syntax or var = expression syntax), the variable\u0026rsquo;s type is inferred from the value on the right-hand side.\n1 2 var i int j := i // j is an int You can call the min function without type inference. Sometimes, passing type arguments lead to more verbose code.\n1 2 3 4 5 6 func min[T constraints.Ordered](x, y T) T var a float64 = 1.1 var b float64 = 2.2 var m float64 = min(a, b) // not need to pass any type of argument here. fmt.Println(m) // 1.1 References https://go.dev/blog/go1.18beta1 https://www.youtube.com/watch?v=35eIxI_n5ZM ","date":"2021-12-24T17:36:51+07:00","image":"https://japananh.github.io/blog/p/generics-in-go/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/generics-in-go/","title":"Generics in Go"},{"content":"Tôi từng học một khóa tâm lý trong tình yêu, đọc các cuốn sách về tình yêu của Elaine N. Aron, nhà tâm lý học người Mỹ và xem các bài nói của Alain de Botton, một nhà Triết học và tác giả người Anh. Tôi nghĩ mình đã làm tất cả để chuẩn bị trước khi bước vào đường tình. Vậy mà tôi vẫn thấy mình rối tung cả lên.\nTôi nhận ra rằng có nhiều bạn nam xung quanh mình khiến tôi có một lợi thế mà không bạn nam nào có nổi là trở thành \u0026ldquo;chuyên gia tư vấn tâm lý tình cảm\u0026rdquo; mỗi khi bạn bè có chuyện.\nTôi không nghĩ là mình có nhiều kinh nghiệm tình yêu nhưng việc trả lời câu hỏi của bạn bè và giải thích tâm lý của những người trong cuộc khiến tôi nhận ra những thứ mình đọc lúc xưa đều trở nên có giá trị. Lại thêm một sự kiểm chứng sách viết về những trường hợp mà tôi chưa trải nghiệm.\nSau đây là một vài điều tôi học được về tình yêu. Hi vọng sẽ giúp đỡ cho ai đó.\nVòng gửi xe Khi yêu, người ta thường cố đưa ra những tiêu chí, ví dụ cô ấy phải cao cỡ mét 6, xinh như này, học thức như kia, giá trị sống \u0026hellip; Tôi nghĩ đưa ra tiêu chí là hoàn toàn hợp lý vì bạn cần phải biết mình muốn gì trước. Cảm xúc là thứ nhất thời, càng về sau bạn sẽ càng thấy giá trị sống và sự hòa hợp mới là thứ khiến tình yêu bền vững.\nNếu đi vào quá nhiều tiểu tiết, có lẽ bạn sẽ lỡ mất nhiều cơ hội đấy. Mải miết đi tìm cô gái hay anh chàng thoả mãn mọi tiêu chí có thể khiến bạn mệt mỏi. Hoặc giả sử may mắn bạn tìm được người ấy. Câu chuyện tình yêu sẽ ra sao khi hai tháng sau bạn thay đổi tiêu chuẩn của mình hoặc bạn phát hiện bạn đánh giá nhầm và cô ấy không còn phù hợp với tiêu chuẩn nào đó? Ví dụ, bạn bỗng dưng đổi ý thích một cô cao mét 7 và cô ấy chỉ cao có mét 6 thôi.\nTình yêu là cho đi Để khiến một cô gái có ấn tượng với mình và yêu mình, cách hiệu quả nhất bạn nên làm đó là cho đi tình yêu. Bạn cần cho cô ấy thấy tiềm năng của bạn thông qua sự quan tâm, sự chỉnh chu và một chút tinh tế.\nNhững thứ đồ thể hiện sự tinh tế của bạn sẽ gây ấn tượng tốt. Tôi không nghĩ những món quà đắt tiền sẽ khiến cô ấy ấn tượng hơn là một bức tranh bạn vẽ tặng cô ấy. Hay một cuốn sách của tác giả cô ấy yêu thích được gói theo hoa văn cô ấy thích.\nVới những ai \u0026ldquo;được\u0026rdquo; crush từ chối, ngoài việc \u0026ldquo;đi ngủ\u0026rdquo; để cho não được nghỉ ngơi thì một bí quyết nữa tôi thấy rất hiệu quả là thêm chữ CƯỜI vào cuộc sống. Rồi bạn sẽ từ \u0026ldquo;BUỒN\u0026rdquo; thành \u0026ldquo;BUỒN CƯỜI\u0026rdquo; ngay thôi mà.\nMọi lời từ chối đều chứng tỏ rằng bạn vẫn chưa tìm được người phù hợp hoặc là bạn đã mắc phải sai lầm gì đó. Nhiều khi là cả hai. Một thời gian sau nhìn lại, hẳn là bạn sẽ thấy hài lắm vì mình đã crush một người như này.\nKhi nào lấy chồng? Từ khi tôi đủ 18, tết nào họ hàng tôi cũng hỏi \u0026ldquo;Khi nào lấy chồng?\u0026rdquo;. Rồi có một thời gian tôi hoang mang khi nhận ra tôi đang lớn lên và tôi chả yêu ai cả. Tôi tự hỏi liệu mong muốn có người yêu của mình có phải vì để làm tròn bổn phận \u0026ldquo;Trai lớn dựng vợ, gái lớn gả chồng\u0026rdquo; không? Nếu ở một mình mà tôi không tự làm mình vui được thì liệu hai mình có giúp được tôi không? Hiển nhiên là không rồi. Việc phụ thuộc cảm xúc vào người ấy sẽ biến tôi thành con nghiện.\n\u0026ldquo;Nếu không có anh thì em sẽ sống không yên ổn.\u0026rdquo;\nXin hãy cho anh một cơ hội Dành cho những ai lỡ crush một người có người yêu. Nếu cô ấy từ chối bạn, bạn nên thấy may mắn vì điều này. Cô ấy là một cô gái dễ thương, trung thủy và tôn trọng bạn.\nBạn có từng nghĩ nếu cô ấy bỏ anh chàng hiện tại mà tới với bạn thì về sau liệu cô ấy có bỏ bạn vì một anh chàng khác tốt hơn không? Tôi không nghĩ bất kỳ anh chàng nghiêm túc nào lại thích điều này cả.\nLời cuối Tôi nghĩ rằng khi ai đó dành thời gian cho bạn, bất kể gặp mặt, chat, giúp đỡ mà không cần đòi hỏi nhận lại bất kỳ thứ gì hẳn người đó là người bạn rất tốt. Với những người như thế, tôi chỉ muốn nói một điều là TÔI YÊU CÁC BẠN.\n","date":"2021-12-23T04:43:21+07:00","image":"https://japananh.github.io/blog/p/chuyen-gia-tu-van-tinh-cam-bat-dat-di/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/chuyen-gia-tu-van-tinh-cam-bat-dat-di/","title":"Chuyên gia tư vấn tình cảm bất đát dĩ"},{"content":"Albert Einstein had a quote\nAnyone who has never made a mistake has never tried anything new.\nBut one shouldn\u0026rsquo;t repeat his mistakes. It is best to learn from them and capture them forever.\nHere are the mistakes I have made when I started to learn Go.\n1. Import for side effect Issue\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 package main import ( \u0026#34;encoding/base64\u0026#34; \u0026#34;fmt\u0026#34; \u0026#34;image\u0026#34; // missing import for package image/jpeg \u0026#34;log\u0026#34; \u0026#34;strings\u0026#34; ) func main() { reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(data)) m, _, err := image.Decode(reader) if err != nil { log.Fatal(err) } fmt.Println(m) } const data = ` /9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdA SFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2Nj Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCABnAJYDASIAAhEBAxEB/8QA HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDlwKMD0pwzSiuK57QzGDxS7D6in8Y5ximnAPUfSlcq4m3ilUYp 2OKXHvRcVxnTtS7c07HNFK4DQPakC4PNOA+tOx70XAjK/So5gBGP94fzqfvUVx/qxx/EP51UXqRP4WSE cmgjilP3jSEZqS0IO/NGDnpUiocDg/McDjvV6HTPOdVWYgsM5KcfzzQ2JySM2jp6VYu7SWzmMUwG4cgj kMPUVBjjtTGtRu0Zopw+lFFxhinrGzuqqMsxAA9yaXFSRv5cqSEcIwYj6GpuZ30O30fSLKzhUpbpNMv3 5XGTn29BV28jt7pPLuIVljPBBFVreYx+VbqAjycgt3x14zRcNOxGyVFHQkIc/wA61exyKLbuzjdZ046d ftEuTEw3Rk9SPT8P8Kpbea3tchbyVae4JkjbbGpGdwOM89Af6ViFTWUtGdcXoM2+woK1JtpNtTcoZt+l Jt7ZqTbRtouFyPFRXI/c9D94fzqzioLsfuD/ALw/nVReqIn8LJCOTSY+tSMOTmkIpXLRu+F0t5pJxPHG wjjUAuBjJJz1+laD6Pai+WaK9SBX6puzn6ZP+NV/Dkdtc6ZNbyAFwxLAHDYPv6VoQ21nPNEEiQGEFRtk Gf0NaWTOeW7Of8QwGG4MRZnEbYXPJwRnOR0zWNXW+KrqBLUWi5EjbWCgcAA9c/gRXKYqZaGlK/LqMH0F FLtHvRSNiYD2pSDTgpp6p0ywUHoTULXYxcktzrdCf7Xo8LP/AKyEmMNjJ46dfbFWJ5TDGNwB9lFUvDV9 YrbfYGbyrjcWG88S57g+vtV26ZIvMlumKwwjLZ6V0WfU54yTvYwtbubea2WNWbzg4bYQeBgj8OtYeKhj u4y2HQxqxOD1xzxmrWAQCCGB6EGsaikndmsJxeiYzBo280/Z7UbayuaXGY5oIp+2lx9KLjIsVDeD/Rj/ ALy/zq1t96r3y4tT/vL/ADq4P3kRP4WSleTSFKkkKoCW4GaqNcMxIjXj1pxjKT0FKrGC1Nrw3vGrKkYz 5kTAr6455/HH510UdwPtRgWCbzF5+YYUf4Vwun39xpmoR3qASMmQUJwGU9Rnt/8AWrpbrxhb8/ZdOmaQ gAGZwFH5ZJrpVKVlY5ZYhN6kXiu2eO/ikZlIljAAB5yM549OawSOOlPuLqe+umuLqTfM4OSOAo7ADsKh hl/cRsTuJHPv7mlKi3sVTxNtGP20VJhThgSQaK52mnZnUqsWrpkyeUrr5pABOAPU1AGaXUCWJISHGPfP P8qL7BiKnsMg46H3qrbzupbj5mPTPTpXVSglG551SpzSsXJ4/MBUgYIxyKpySyGBYJriV1D7kRpCVH4V bSeNJ4xchni3DeqnBI+td7F4b0mKIRjT45VbktJlzk455+n6VtYzv2PNwFZWBHBGKVJDGVC54/nXQeMN NttLNkba1jgWVWDmM8bhg4/nzXLSSbXVj6fyNKUdNRp21RtIRJGrjuM0u3FQ2DbodvcEkfQmrW2vLqLl k0ejCXNFMj2/jQV9qkxSYNRcsZiq2oI32N2CkhWXJxwOe9XMcVt6hoPn6dFaW0wgRpNzvKDlz6+/0rai ryv2Jm9LHJai+ZRGCBjnr71ErdAxAY9B611t1Y2cunbbaOQ3FvKZI3UqGlZMbiWwfcfhV231iwvLSM3U lt5Uq52TuZG+hGMA12xXJGxxzjzybOQtNOvb5j9ktZJhnBIHyg+5PFX38JayqK/2eLJIBUTgkDA9q7ex itrSHFpGsUbndhRgc+g7VNIyfZJAoJZUbb3I46CtFJMylBo8sdWhmYMuCnylc9wef5VUT7+1chc5NS7h sUZO5RtIPUH3pkBDOxxxmqM9TQtn+WilhHfHaik43KTG3Z4IyPyrNVjGCsZ+dmwv6V3cXhSG8sYpJLud JJIwxChdoJGcYx/Wkg8DafA4knvLiQr/ALqj+VQpKw3FtnFFfvbiSMgZJ6/jXp2n3d9cQRBTFsKD96EP oOxPU/8A68VVtbbRtMVntbePKDLTSHJH/Aj/AEqHTvE66rq72VugMMcbSGTnL4wMAfjT5n0HyW3L+s6b baxaJBdzN+7bcrxkAhun0rz3VNCv7e7lgigknWI43xLu6jjIHTjtXqfkpPGVYsBkghTikgsYIN/lhgXb cxLkknp/ShczQ7xtY8vtEmhkj8yGRBuCnehUcnHcVtmwfJ/fQ8e7f/E12txZW91C0U6b42xlST2OR/Ko Bo1gM/uW55/1jf41nOipu7LhV5FZHIGzI6zwj/vr/Ck+yr3uYf8Ax7/CutbQdMb71tn/ALaN/jSf8I/p X/PoP++2/wAan6rAr6wzkWt0II+1Rc/7Lf4Vd1eeCSKBbdZDdShYoiZNoyfY10P/AAj2lf8APmP++2/x oPh/SjKspsozIuNrZORjp3qo0FHYPb3OZt7ae3SzjuItsiRSAgnccl/UA+3Q1yNjKLR4ZZYY5VD7tkv3 WwO/+e1evPp9nI257aJm6bioz1z1+tY+s6Hplnot9PbWMMcqwOFcLyOO1bJWMZSTOPHi+9w3mosrlyd2 9lCj02g9P/1e9a3hzxAbl2ikZRcdQueHHt7j864Y8Z4I4oRzG6urFWU5BHBB7HNJxTFGbR6he6Vpmtgm eLy5zwZI/lb8fX8azIvBUUTHdfSFP4QsYB/HNZ+k+KEnRY75hHOvAk6K/v7H9K6yyvlnQBmDZ6GsnzR0 N0oy1RzOtaN/Y1tHNFO06u+zYy4I4Jzx9KKveJblXuordSGES5b6n/62PzorKVdp2LjQTVyWz8UWEWlq jSgyxfJt6EgdDzWTdeLIZGO7zHI/hVajGmWWP+PWL8qwlAIURrhpMAHHJA71pRcZrToZzcoEuo6heakA GHk245CZ6/X1qPTLq40q+W5t2QybSpDAkEEc55/zilk5k2r91eKhLDzWz2rpsczbbuemeD76fUNG865I MiysmQMZAAwa3a5j4ftu0ByP+fh/5CulkLLG7INzhSVHqe1Fh3uOoqn9qQQxyhndmHIxwOmSR2xQ13KD KoiBZOV9JBnt707MVy5RWdNdy7wRGf3bfMinnO1jg+vY03WXLaJO3mhQ20b0zwpYf0qlG7S7icrJs08U VwumgC+YiQyeVtZH567hzj8aSL949oGhE/2v5pJCDkksQwBHC4/+vXQ8LZ2uYxxCavY7us/xCcaBfn0h b+VP0bnSrb94ZMJgOecj1rl/GfidUE2k2gy5+SeQjgA/wj3rlas2jdao48qrjLAGkSKPk4Gc1WMj92I+ lIJnU8OfxPWo5inBokmtQTmM4OOh71b0q6vbFmWCbaxHyqQGAP0PT8KhSTzVyo5ocSKA5VfTOTmqsmRd pl99XjPzThzK3zOeOSeveirNmkgg/fIpYsTkYORxRXmzlTjJqx6EVUcU7mhkKCzdAK59QI9zYxtG1fYU UVtgtmY4nZEa8Ak9aqFv3rfSiiu1nMeifDv/AJF+T/r4f+QrqqKKQwzQenNFFMCOKFIgNuThdoJ5OPSk ubeK6t3gnXdG4wwziiii/UTKMOg6dbzJLFE4dSCP3rEdeOM8805tDsGMvySgSsS6rM6gk9eAcUUVftZt 3uyVGNthuq3Eei6DK8H7sRR7YuMgHtXkc8rzTNLM26RyWY+p70UVnLY0iEsUipG7rhZBlDkc1HgYoorM 0HwyBXGeRjmrcUhMg2ghezd//rUUVcTKW5s2jZtY/QDaOKKKK8ip8bPRj8KP/9k= ` 1 image: unknown format Solution\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 package main import ( \u0026#34;encoding/base64\u0026#34; \u0026#34;fmt\u0026#34; \u0026#34;image\u0026#34; \u0026#34;log\u0026#34; \u0026#34;strings\u0026#34; // Package image/jpeg is not used explicitly in the code below, // but is imported for its initialization side-effect, which allows // image.Decode to understand JPEG formatted images. _ \u0026#34;image/jpeg\u0026#34; ) func main() { reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(data)) m, _, err := image.Decode(reader) if err != nil { log.Fatal(err) } fmt.Println(m) } const data = ` /9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdA SFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2Nj Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCABnAJYDASIAAhEBAxEB/8QA HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDlwKMD0pwzSiuK57QzGDxS7D6in8Y5ximnAPUfSlcq4m3ilUYp 2OKXHvRcVxnTtS7c07HNFK4DQPakC4PNOA+tOx70XAjK/So5gBGP94fzqfvUVx/qxx/EP51UXqRP4WSE cmgjilP3jSEZqS0IO/NGDnpUiocDg/McDjvV6HTPOdVWYgsM5KcfzzQ2JySM2jp6VYu7SWzmMUwG4cgj kMPUVBjjtTGtRu0Zopw+lFFxhinrGzuqqMsxAA9yaXFSRv5cqSEcIwYj6GpuZ30O30fSLKzhUpbpNMv3 5XGTn29BV28jt7pPLuIVljPBBFVreYx+VbqAjycgt3x14zRcNOxGyVFHQkIc/wA61exyKLbuzjdZ046d ftEuTEw3Rk9SPT8P8Kpbea3tchbyVae4JkjbbGpGdwOM89Af6ViFTWUtGdcXoM2+woK1JtpNtTcoZt+l Jt7ZqTbRtouFyPFRXI/c9D94fzqzioLsfuD/ALw/nVReqIn8LJCOTSY+tSMOTmkIpXLRu+F0t5pJxPHG wjjUAuBjJJz1+laD6Pai+WaK9SBX6puzn6ZP+NV/Dkdtc6ZNbyAFwxLAHDYPv6VoQ21nPNEEiQGEFRtk Gf0NaWTOeW7Of8QwGG4MRZnEbYXPJwRnOR0zWNXW+KrqBLUWi5EjbWCgcAA9c/gRXKYqZaGlK/LqMH0F FLtHvRSNiYD2pSDTgpp6p0ywUHoTULXYxcktzrdCf7Xo8LP/AKyEmMNjJ46dfbFWJ5TDGNwB9lFUvDV9 YrbfYGbyrjcWG88S57g+vtV26ZIvMlumKwwjLZ6V0WfU54yTvYwtbubea2WNWbzg4bYQeBgj8OtYeKhj u4y2HQxqxOD1xzxmrWAQCCGB6EGsaikndmsJxeiYzBo280/Z7UbayuaXGY5oIp+2lx9KLjIsVDeD/Rj/ ALy/zq1t96r3y4tT/vL/ADq4P3kRP4WSleTSFKkkKoCW4GaqNcMxIjXj1pxjKT0FKrGC1Nrw3vGrKkYz 5kTAr6455/HH510UdwPtRgWCbzF5+YYUf4Vwun39xpmoR3qASMmQUJwGU9Rnt/8AWrpbrxhb8/ZdOmaQ gAGZwFH5ZJrpVKVlY5ZYhN6kXiu2eO/ikZlIljAAB5yM549OawSOOlPuLqe+umuLqTfM4OSOAo7ADsKh hl/cRsTuJHPv7mlKi3sVTxNtGP20VJhThgSQaK52mnZnUqsWrpkyeUrr5pABOAPU1AGaXUCWJISHGPfP P8qL7BiKnsMg46H3qrbzupbj5mPTPTpXVSglG551SpzSsXJ4/MBUgYIxyKpySyGBYJriV1D7kRpCVH4V bSeNJ4xchni3DeqnBI+td7F4b0mKIRjT45VbktJlzk455+n6VtYzv2PNwFZWBHBGKVJDGVC54/nXQeMN NttLNkba1jgWVWDmM8bhg4/nzXLSSbXVj6fyNKUdNRp21RtIRJGrjuM0u3FQ2DbodvcEkfQmrW2vLqLl k0ejCXNFMj2/jQV9qkxSYNRcsZiq2oI32N2CkhWXJxwOe9XMcVt6hoPn6dFaW0wgRpNzvKDlz6+/0rai ryv2Jm9LHJai+ZRGCBjnr71ErdAxAY9B611t1Y2cunbbaOQ3FvKZI3UqGlZMbiWwfcfhV231iwvLSM3U lt5Uq52TuZG+hGMA12xXJGxxzjzybOQtNOvb5j9ktZJhnBIHyg+5PFX38JayqK/2eLJIBUTgkDA9q7ex itrSHFpGsUbndhRgc+g7VNIyfZJAoJZUbb3I46CtFJMylBo8sdWhmYMuCnylc9wef5VUT7+1chc5NS7h sUZO5RtIPUH3pkBDOxxxmqM9TQtn+WilhHfHaik43KTG3Z4IyPyrNVjGCsZ+dmwv6V3cXhSG8sYpJLud JJIwxChdoJGcYx/Wkg8DafA4knvLiQr/ALqj+VQpKw3FtnFFfvbiSMgZJ6/jXp2n3d9cQRBTFsKD96EP oOxPU/8A68VVtbbRtMVntbePKDLTSHJH/Aj/AEqHTvE66rq72VugMMcbSGTnL4wMAfjT5n0HyW3L+s6b baxaJBdzN+7bcrxkAhun0rz3VNCv7e7lgigknWI43xLu6jjIHTjtXqfkpPGVYsBkghTikgsYIN/lhgXb cxLkknp/ShczQ7xtY8vtEmhkj8yGRBuCnehUcnHcVtmwfJ/fQ8e7f/E12txZW91C0U6b42xlST2OR/Ko Bo1gM/uW55/1jf41nOipu7LhV5FZHIGzI6zwj/vr/Ck+yr3uYf8Ax7/CutbQdMb71tn/ALaN/jSf8I/p X/PoP++2/wAan6rAr6wzkWt0II+1Rc/7Lf4Vd1eeCSKBbdZDdShYoiZNoyfY10P/AAj2lf8APmP++2/x oPh/SjKspsozIuNrZORjp3qo0FHYPb3OZt7ae3SzjuItsiRSAgnccl/UA+3Q1yNjKLR4ZZYY5VD7tkv3 WwO/+e1evPp9nI257aJm6bioz1z1+tY+s6Hplnot9PbWMMcqwOFcLyOO1bJWMZSTOPHi+9w3mosrlyd2 9lCj02g9P/1e9a3hzxAbl2ikZRcdQueHHt7j864Y8Z4I4oRzG6urFWU5BHBB7HNJxTFGbR6he6Vpmtgm eLy5zwZI/lb8fX8azIvBUUTHdfSFP4QsYB/HNZ+k+KEnRY75hHOvAk6K/v7H9K6yyvlnQBmDZ6GsnzR0 N0oy1RzOtaN/Y1tHNFO06u+zYy4I4Jzx9KKveJblXuordSGES5b6n/62PzorKVdp2LjQTVyWz8UWEWlq jSgyxfJt6EgdDzWTdeLIZGO7zHI/hVajGmWWP+PWL8qwlAIURrhpMAHHJA71pRcZrToZzcoEuo6heakA GHk245CZ6/X1qPTLq40q+W5t2QybSpDAkEEc55/zilk5k2r91eKhLDzWz2rpsczbbuemeD76fUNG865I MiysmQMZAAwa3a5j4ftu0ByP+fh/5CulkLLG7INzhSVHqe1Fh3uOoqn9qQQxyhndmHIxwOmSR2xQ13KD KoiBZOV9JBnt707MVy5RWdNdy7wRGf3bfMinnO1jg+vY03WXLaJO3mhQ20b0zwpYf0qlG7S7icrJs08U VwumgC+YiQyeVtZH567hzj8aSL949oGhE/2v5pJCDkksQwBHC4/+vXQ8LZ2uYxxCavY7us/xCcaBfn0h b+VP0bnSrb94ZMJgOecj1rl/GfidUE2k2gy5+SeQjgA/wj3rlas2jdao48qrjLAGkSKPk4Gc1WMj92I+ lIJnU8OfxPWo5inBokmtQTmM4OOh71b0q6vbFmWCbaxHyqQGAP0PT8KhSTzVyo5ocSKA5VfTOTmqsmRd pl99XjPzThzK3zOeOSeveirNmkgg/fIpYsTkYORxRXmzlTjJqx6EVUcU7mhkKCzdAK59QI9zYxtG1fYU UVtgtmY4nZEa8Ak9aqFv3rfSiiu1nMeifDv/AJF+T/r4f+QrqqKKQwzQenNFFMCOKFIgNuThdoJ5OPSk ubeK6t3gnXdG4wwziiii/UTKMOg6dbzJLFE4dSCP3rEdeOM8805tDsGMvySgSsS6rM6gk9eAcUUVftZt 3uyVGNthuq3Eei6DK8H7sRR7YuMgHtXkc8rzTNLM26RyWY+p70UVnLY0iEsUipG7rhZBlDkc1HgYoorM 0HwyBXGeRjmrcUhMg2ghezd//rUUVcTKW5s2jZtY/QDaOKKKK8ip8bPRj8KP/9k= ` 1 \u0026amp;{[44 44 45 46 46 47 48 48 42 42 42 42 42 42 42 42 42 42 42 43 45 49 52 53 46 46 46 4 ... 165 169] 160 80 YCbCrSubsampleRatio420 (0,0)-(150,103)} 2. Unexpected new-line Issue\n1 2 3 4 5 6 7 8 func main() { const fruits = []string{ \u0026#34;cherry\u0026#34;, \u0026#34;banana\u0026#34; // Missing a comma here `,` } fmt.Println(fruits) } 1 ./model.go:6:17: syntax error: unexpected newline, expecting comma or } Solution\n1 2 3 4 5 6 7 8 func main() { const fruits = []string{ \u0026#34;cherry\u0026#34;, \u0026#34;banana\u0026#34;, } fmt.Println(fruits) // [\u0026#34;cherry\u0026#34;, \u0026#34;banana\u0026#34;] } 3. Unaltered strings Issue: Strings are immutable in Go\n1 2 3 4 5 6 func main() { fruit := \u0026#34;cherry\u0026#34; fruit[0] = \u0026#34;C\u0026#34; fmt.Println(fruit) // error here } 1 ./model.go:7:14: cannot assign to fruit[0] (strings are immutable) Solution\n1 2 3 4 5 6 func main() { fruit := []rune(\u0026#34;cherry\u0026#34;) fruit[0] = \u0026#39;C\u0026#39; s := string(fruit) fmt.Println(s) // Cherry } ","date":"2021-12-23T04:16:17+07:00","image":"https://japananh.github.io/blog/p/go-common-mistakes-part-1/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/go-common-mistakes-part-1/","title":"Go common mistakes - Part 1"},{"content":"Trong Burnout - Phần 1, tôi đã giải thích 12 trạng thái của burnout. trong phần 2 này, tôi sẽ viết về cách tôi vượt qua burnout.\nLàm gì khi nhận thấy bản thân có dấu hiệu burnout? Disclaimer: Phần này viết về trải nghiệm cá nhân và những thứ trong này hiệu quả với tôi. Bạn nên cân nhắc để biết nó có phù hợp với mình không.\nNhững công việc trí óc đòi hỏi rất nhiều năng lượng và một lượng lớn dopamine, một chất dẫn truyền thần kinh tạo cảm giác hưng phấn, thích thú cho cơ thể. Khi nồng độ đường huyết giảm quá thấp thì cơ thể sẽ thèm đồ ngọt để phục hồi đường huyết và năng lượng hoạt động. Các bạn đừng vì thấy người ta bảo giảm đường là giảm béo mà cắt đường nhé. Phải lắng nghe cơ thể mình trước.\nTôi nhớ mình đã ăn nhiều đồ ngọt (kẹo, bánh, đồ uống có đường và tất cả những thứ có vị ngọt khác) khi tôi làm việc. Mãi về sau tôi mới biết mình bị thiếu năng lượng và cơ thể chỉ đang cố làm công việc của nó mà thôi. Ích lợi của biện pháp này là bạn sẽ thấy dễ chịu rất nhanh khi miếng thức ăn đầu tiên nằm yên vị trong miệng.\nCòn tác hại thì một khi bạn đã phụ thuộc vào một thứ để duy trì trạng thái cảm xúc tích cực của mình, bạn biết rằng ngày nào đó, bạn sẽ trở thành con nghiện và quá trình cai nghiện có khi còn kinh khủng hơn là burnout.\nBên cạnh đó, lượng đường cùng các chất hóa học khác trong những đồ ăn chế biến tăng một cách đột ngột vào máu sẵn sẽ khiến một vài hormones phải hoạt động nhiều, có thể dẫn tới quá tải và gây bệnh. Tôi nghĩ dùng những từ như thừa cân, béo phì, tiểu đường, máu nhiễm mỡ, huyết áp cao,\u0026hellip; sẽ giúp bạn dễ hình dung hơn về vấn đề.\nTrước những tác hại không thể gánh nổi như vậy thì tôi đã sửa chế độ ăn của mình, bổ sung thêm đường vào bữa sáng và không ngờ là nó lại hiệu quả. Lúc cần đường, tôi sẽ nhấp một ngụm cacao đường nóng trên bàn. Dùng đồ nóng sẽ giúp tôi uống đường ít lại. Từ đó tới nay, tôi không bao giờ phải dùng đồ ngọt để thấy thoải mái nữa.\nTôi sẽ không bao giờ bỏ bữa sáng vì tôi biết buổi sáng là thời gian tôi làm việc hiệu quả nhất trong ngày. Và tôi cần phải cho mình đủ năng lượng để xử lý phần lớn công việc. Một lưu ý nhỏ là nếu bạn ăn bữa sáng quá nhiều thì sẽ có khả năng bị đầy bụng và điều này khó chịu ngang với\nTôi nghĩ mình đã thiếu ngủ một thời gian dài trước khi rơi vào trạng thái burnout. Việc trở nên lo lắng, bồn chồn không rõ lý do tại sao đều là hệ quả của việc não bộ không được nghỉ ngơi đủ.\nNếu bạn muốn tìm hiểu thêm, tôi khuyến khích bạn đọc cuốn Why you sleep của Matt Walker để hiểu thêm về quá trình tái tạo của bộ não khi bạn chìm vào giấc ngủ. Tôi nghĩ đấy được coi là điều kỳ diệu mà mẹ thiên nhiên đã ban tặng cho loài người. Ngoài ra, nếu bạn không có thời gian, bài talk Giấc ngủ là siêu năng lực của bạn - Sleep is your superpower của chú ấy trên Youtube cũng cung cấp khá nhiều thông tin hữu ích. Tôi xem video thấy hay quá nên mới đọc sách.\nĐiều mà tôi nhận ra là tôi khó ngủ là do suy nghĩ trong đầu quá nhiều, tim đập nhanh, hơi thở không đều nhau và hơi nông.\nTôi sẽ kiếm một cuốn sách siêu chán và nội dung đơn giản, mở nó ra đọc khi nào tôi khó ngủ. Cách này là do tôi tự khám phá ra khi nằm mãi không ngủ được và lôi tạm một cuốn sách ra đọc để giết thời gian.\nNgồi tầm 15-30 phút là tôi có thể tập trung vào cuốn sách. Thay vì suy nghĩ lộn xộn thì giờ thì đầu chỉ có lẩm bẩm nội dung sách thôi. Một quyển sách trung tính, siêu chán. Lý do cần trung tính và siêu chán là để cuốn sách ấy không mang lại bất kỳ cảm xúc nào cho tôi. Mọi cảm xúc dù tiêu cực hay tích cực đều không có lợi cho tôi lúc này. Sau đó, tôi đã đọc nó trong đầu như tụng kinh cho tới khi mình mệt quá không đọc nổi và lăn ra ngủ.\nTôi cũng không nhớ làm cách nào mà tôi lại tìm đến thiền, chắc do tôi từng đọc sách của thầy Thích Nhất Hạnh. Trong lúc đầu óc rối bời như này, tôi không đời nào ép mình phải ngồi khoanh chân, thẳng lưng cả. Thiền buông thư là một trong những sự lựa chọn tuyệt vời. Chỉ cần thả mình trên chiếc giường êm ái, nhắm mắt lại và bật audio hướng dẫn thiền lên là tôi đã thấy mình ổn định hơn. Ngoài ra, còn có thiền hành cũng rất thú vị. Nguồn tư liệu tôi dùng chủ yếu từ Làng Mai và kênh Youtube của thầy Minh Niệm.\nNếu bạn đang bận tâm về tài chính, tôi nghĩ bạn nên cho bản thân cơ hội được nghỉ phép vài ngày, thậm chí là cả tuần. Nghỉ việc sẽ được coi như là biện pháp cuối cùng khi bạn đã có một khoản dự trù cho chuyến nghỉ xả hơi dài ngày. Tôi đã chọn nghỉ việc, dành cho bản thân vài tháng nghỉ ngơi, nghĩ lại về trải nghiệm đã qua và lên kế hoạch mới.\nTôi ước tôi có thể gửi cho bản thân mình điều này vào thời điểm ấy. Tôi đang kiệt sức và phải ép bản thân nhồi vào đầu một đống chữ, mệt lại càng mệt và phần lớn kiến thức ấy khiến tôi choáng ngợp nhiều hơn là giúp tôi tìm ra cách giải quyết vấn đề.\nNếu có cỗ máy thời gian, tôi sẽ khuyên bản thân đọc những cuốn dễ thương, mang tính nuôi dưỡng tâm hồn như Hoàng tử bé hay bộ truyện tranh Chuyện Pape và Popo hay cuốn Khu vườn bí mật của nhà viết kịch người Anh - Frances Hodgson Burnett. Một thời gian sau khi đã ổn định trở lại thì mới đọc lên các bài nghiên cứu và sách chuyên sâu sau.\n","date":"2021-12-17T02:50:28+07:00","image":"https://japananh.github.io/blog/p/burnout-phan-2/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/burnout-phan-2/","title":"Burnout - Phần 2"},{"content":"Tôi chỉ có thể mô tả bằng hai từ là KIỆT SỨC. Tôi cũng không tài nào lý giải được chuyện gì đã xảy ra. Tôi đã thực sự HOẢNG LOẠN. Tôi đang bị gì thế này?\nĐấy là trải nghiệm đầu tiên của tôi với burnout. Để thoát ra khỏi cái trạng thái điên rồ đấy thì tôi quyết định sẽ đọc hết tất cả những gì tôi có thể tìm thấy về burnout trên Google.\nBurnout là gì? Để không nhầm lẫn giữa mệt khi bạn căng thẳng (stress), burnout và trầm cảm thì bạn cần phải hiểu người ta phân loại chúng như nào.\nNgười đầu tiên dùng thuật ngữ Burnout là một nhà tâm lý học người Mỹ - Herbert Freudenberger.\nTổ chức Y tế thế giới định nghĩa Burnout là một hiện tượng căng thẳng kéo dài xảy ra ở nơi làm việc, được đặc trưng bởi ba yếu tố:\nCảm giác cạn kiệt năng lượng hoặc kiệt sức Cảm giác tiêu cực hoặc hoài nghi lên quan đến công việc Giảm hiệu quả công việc Nguồn: https://www.who.int/news/item/28-05-2019-burn-out-an-occupational-phenomenon-international-classification-of-diseases\nNói một cách dễ hiểu nhất, burnout là hệ quả của quá trình căng thẳng (stress) kéo dài. Trầm cảm là quá trình khi burnout kéo dài. Một mức độ trầm trọng hơn. Tôi đã từng xem những lá thư của người trầm cảm viết. Họ tuyệt vọng, chỉ muốn tìm tới cái chết và có người còn làm tổn thương bản thân bằng nhiều cách khác nhau như cứa da, làm bản thân bị chảy máu \u0026hellip;\nDấu hiệu của burnout Nếu bạn có điều kiện, bạn nên đi khám khi thấy có vấn đề. Còn nếu bạn còn nhiều mối lo khác phải xử lý, thì cái thang đo này có thể giúp bạn cân nhắc xem có phải đi khám không và điều chỉnh dần lối sống.\nSau vụ tôi bị bác sỹ bên Thu Cúc cơ sở Trần Duy Hưng chẩn đoán sai, suýt nữa bị bế lên bàn phẫu thuật dù không có bệnh gì thì tôi đã tập cho mình thói quen luôn phải kiểm chứng lại những gì bác sỹ nói.\nDưới đây là 12 trạng thái của burnout theo mô tả của Herbert Freudenberger đi từ nhẹ tới nặng. Tôi nhận ra quá trình burnout của tôi bắt đầu trước cả khi cơ thể tôi thấy mệt mỏi.\nTham vọng nhiều hơn là dấu hiệu đầu tiên. \u0026ldquo;Mình phải trở thành người giỏi nhất ở đây. Mình phải cố gắng nỗ hết mình \u0026hellip;\u0026rdquo; Làm việc chăm chỉ hơn. Nghe vô lý nhỉ? \u0026ldquo;Đã 12h giờ đêm. Cố lên một tí nữa thôi.\u0026rdquo; Và 3 tiếng sau, \u0026ldquo;Ôi may quá xong rồi\u0026rdquo;. Và hôm sau thì bạn có một ngày lờ đờ mệt mỏi và phải cứu vớt tình thế bằng cafein. Bạn có bao giờ ở trong tình trạng đó không? Thờ ơ với nhu cầu của bản thân. Tôi thấy rất nhiều anh em trong ngành kể câu chuyện về những ngày tháng \u0026ldquo;bận\u0026rdquo; tới mức ăn mỳ triền miên, \u0026ldquo;bận\u0026rdquo; tới mức mỡ trong máu, gan nhiễm mỡ, xương khớp có vấn đề \u0026hellip; Những thanh niên chưa tới 30 mang trong mình đủ thứ bệnh của bậc trung niên và niềm tự hào rằng tôi đang cống hiến cho tương lai của chính mình và gia đình. Những mâu thuẫn bắt đầu xuất hiện. Bạn có thể thấy mất bình tĩnh hơn, hay hoảng sợ hơn và bồn chồn mà không rõ lý do. Bỏ quên các giá trị khác trong cuộc sống. Gia đình, bạn bè, sở thích cá nhân sẽ bị gạt sang một bên và công việc trở thành thứ quan trọng duy nhất trong đời bạn. Tìm cách đổ lỗi cho những vấn đề của bản thân. Do những người xung quanh, gia đình, bạn bè, đồng nghiệp mà không phải do chính mình. Thu hẹp các mối quan hệ xã hội. Bạn sẽ có xu hướng không thích tiếp xúc với mọi người, tim tới chất kích thích như đồ ngọt, rượu bia để giải tỏa. Thay đổi hành vi. Những người xung quanh có thể dễ dàng nhận ra sự thay đổi của bạn. Cảm thấy mình vô giá trị, mọi thứ vô nghĩa. Cảm thấy trống rỗng. Bạn thấy mệt mỏi, chán nản và có xu hướng vượt qua điều này bằng các hoạt động kích thích như ăn quá nhiều, quan hệ tình dục, rượu hoặc ma túy. Phiền muộn. Bạn cảm thấy lạc lối, kiệt sức và cuộc sống không không lối thoát. Cháy sạch (Burnout) là giai đoạn cuối cùng. Suy sụp toàn bộ về tinh thần và thể chất. Có thể dẫn tới các bệnh lý như trầm cảm, rối loạn lo âu \u0026hellip; Nguồn: https://www.inc.com/jessica-stillman/the-12-stages-of-burnout-according-to-psychologist.html\n","date":"2021-12-17T02:45:17+07:00","image":"https://japananh.github.io/blog/p/burnout-phan-1/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/burnout-phan-1/","title":"Burnout - Phần 1"},{"content":"Bài này tôi viết về một số bài học từ cuốn Ruột ơi là ruột của nhà khoa học trẻ người Đức Giulia Enders.\n1. Nên chuyển dần sang ăn ngũ cốc nguyên cám (gạo lứt, bột mỳ lứt, \u0026hellip;) Lượng đường (sugar) chứa trong bánh mỳ trắng được tiêu hóa khá nhanh bởi các men tiêu hóa. Trong khi đó bánh mỳ ngũ cốc nguyên cám được tiêu hóa chậm hơn và không gây tăng đường huyết tức vì chứa các phân tử đường có cấu tạo phức tạp hơn. Vấn đề của việc tăng đường huyết tức thì là sư gia tăng đột ngột của các hormones để phục hồi trạng thái cân bằng, trong có insulin, khiến cơ thể thấy mệt mỏi. Bạn đã bao giờ thấy mệt mỏi hơn và buồn ngủ hơn sau một bữa ăn chưa? Chính là lý do này đấy.\nĐường còn là thứ chất dễ dàng biến đổi thành mỡ, chỉ cần ghép các phân tử đường và chúng ta dễ dàng có một phân tử mỡ. Bạn có thể xem thêm về carbs và chất béo ở đây. Chả tự nhiên mà chế độ ăn low-carb ra đời và các chị em thì lại giảm béo bằng cách hạn chế đồ ngọt.\n2. Hạn chế đồ chiên dán ngập dầu Axit béo trong dầu có thể bị biến đổi cấu trúc hóa học do nhiệt độ cao. Khi rán nên dùng dầu chứa nhiều chất béo bão hòa vì chúng ổn định hơn ở nhiệt độ cao nhưng lại không hề có lợi cho tim mạch. Theo tổ chức tim mạch thế giới, chất béo bão hòa ảnh hưởng tới lượng choresterol, làm gia tăng bệnh tim.\nNguồn: https://www.heart.org/en/healthy-living/healthy-eating/eat-smart/fats/saturated-fats\nBên cạnh đó, các loại dầu nguyên chất còn bị oxy hóa nhanh do có khả năng bắt giữ các gốc tự do trong không khí. Các gốc tự do này khi được tiêu hóa sẽ bám vào bất cứ đâu trong cơ thể, gây ra tình trạng viêm nhiễm của mạch máu.\n3. Phân nói nhiều về sức khỏe của bạn Tôi có thói quen quan sát phân từ sau khi đọc cuốn này. Cũng phải mấy năm. Nghe thì có vẻ khá buồn cười. Nhưng mỗi lần tôi bị ốm hoặc lo lắng, stress thì phân của tôi cũng \u0026ldquo;có vấn đề\u0026rdquo;.\nMàu tự nhiên của phân người nằm trong khoảng màu từ nâu tới nâu-vàng. Nước tiểu cũng có xu hướng màu vàng. Lý do là một phần của máu chuyển từ màu đỏ -\u0026gt; xanh lá -\u0026gt; vàng, tiếp đó, được bài tiết quá đường nước tiểu, rồi đi qua gan. Ở đó, vi khuẩn làm thay đổi màu thành nâu.\nMàu nâu nhạt tới vàng: có thể bạn đang mắc hội chứng Gilbert. Nguyên nhân là một trong các loại men them gia vào quá trình phân hủy của các tế bào máu chỉ hoạt động 30% công suất. Hội chứng này không nguy hiểm, chỉ có một tác dụng phụ là giảm dung nạp với acetaminophen. Nguyên nhân khác có thể do rối loạn hoạt động các vi khuẩn đường ruột.\nMàu nâu nhạt tới xám: bạn nên đi khám bác sỹ ngay vì có thể các sắc tố không đi được vào phân do tắc nghẽn giữa gan và ruột.\nMàu đen hoặc đỏ: màu sắc của phân không được tạo ra do các sắc tố vi khuẩn chuyển thành màu nâu, mà do có sự hiện diện của huyết cầu toàn phần trong ruột. Bạn nên đi gặp bác sỹ trừ khi bạn ăn phải đồ ăn có màu đỏ ví dụ củ cải đường, củ dền, thanh long ruột đỏ.\nBiểu đồ Bristol đánh giá phân dựa trên độ cứng, chia thành bảy nhóm. Phân ở nhóm 3 hoặc 4 chứng tỏ hệ tiêu hóa khỏe mạnh. Các loại khác đều không tốt.\nCuốn sách này còn nhiều đều thú vị nữa cơ. Nếu bạn thích có thể tìm đọc nhé. Happy reading!\n","date":"2021-12-14T00:11:31+07:00","image":"https://japananh.github.io/blog/p/ruot-oi-la-ruot/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/ruot-oi-la-ruot/","title":"Ruột ơi là ruột"},{"content":"Hồi bé tôi rất thích vẽ vời và viết truyện dù tôi vẽ khá xấu. Nếu không tính môn mỹ thuật ở trường thì lớp vẽ đầu tiên tôi học là vào năm tôi 22 tuổi. Cô giáo của tôi có một khiếu thẩm mỹ rất đặc biệt. Chị hay mặc chân váy chữ A màu xanh dài tới gần mắt cá, bên trên là chiếc áo bra màu tối, khoác ngoài một chiếc áo lưới màu be rộng thùng thình. Trông thật sexy mà lại không hề hở hang. Nếu ai hỏi tôi là sao trang phục của tôi lạ thế thì câu trả lời là lấy cảm hứng từ người chị này.\nTôi thường vẽ trong lúc cảm xúc dâng trào nên người khác nhìn vào sẽ thấy mỗi nhân vật tôi vẽ đều có một thế giới nội tâm riêng. Tôi nhớ có lần tôi giận một cậu bạn, chả nhớ hai đứa đã tranh cãi cái gì. Trong lớp học màu nước hôm đó, tôi đã vẽ hai quả chanh cãi nhau.\nCô giáo tôi không bao giờ chụp ảnh chính diện, không phải vì chị ấy không đẹp, mà vì không thích. Còn nguyên cớ sao thì tôi không tiện hỏi. Một ngày, tôi vớ được tấm ảnh rất \u0026ldquo;ngầu\u0026rdquo;, khác với vẻ ngoài \u0026ldquo;bánh bèo\u0026rdquo; của chị và đã cao hứng vẽ và thêu lên vải. Nhìn trông thật buồn cười.\n\u0026ldquo;Đa nhân cách\u0026rdquo; là cái từ mà tôi sẽ gọi mình vào năm 2021. Cảm giác nhảy từ thái cực này sang thái cực khác đối lập khiến tôi nhận ra rằng hóa ra ai cũng có thế thay đổi quan trọng là mình muốn hay không thôi.\n","date":"2021-12-12T23:45:29+07:00","image":"https://japananh.github.io/blog/p/toi-hoc-ve/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/toi-hoc-ve/","title":"Tôi học vẽ"},{"content":"F-Shaped Pattern Năm 2006, các nhà khoa học ở Trung tâm Nielsen của Mỹ đã công bố nghiên cứu cho thấy người dùng thường đọc các trang Web theo hình chữ F: hai sọc ngang tiếp theo là một sọc dọc. Từ F là viết tắt của từ fast (Nhanh).\nHọ ghi hình 232 người nhìn vào hàng ngàng trang web và phát hiện ra mô hình đọc trông giống hình chữ F và có ba yếu tố như sau:\nNgười dùng bắt đầu đọc theo chiều ngang, thường nằm ở vị trí đầu của nội dung. Sau đó, di chuyển mắt xuống một chút, rồi lại di chuyển mắt tạo thành một đường ngang số hai. Cuối cùng, người dùng quét mặt trái của nội dung theo chuyển động dọc. Quá trình này có thể diễn ra nhanh hoặc chậm. Chuyển động cuối này tạo thành cái đuôi của chữ F. Hàm ý của F pattern Người dùng không đọc từng chữ một. Họ sẽ cố gắng đọc nhanh nhất có thể để lấy thông tin. Hai đoạn văn đầu tiên phải chứa những thông tin quan trọng nhất. Bắt đầu các tiêu đề phụ, đoạn văn và gạch đầu dòng bằng các từ mang thông tin mà người dùng sẽ nhận thấy khi quét xuống phía bên trái của nội dung của bạn ở gốc cuối cùng của chữ F. Họ sẽ đọc từ thứ ba trên một dòng ít thường xuyên hơn nhiều so với hai từ đầu tiên. Tài liệu tham khảo F-Shaped Pattern For Reading Web Content (original study) ","date":"2021-12-12T02:11:53+07:00","image":"https://japananh.github.io/blog/p/f-shaped-pattern/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/f-shaped-pattern/","title":"F-Shaped Pattern"},{"content":"1. Explain packages in Go. Every Go program is made up of packages. The program starts running in package main. This program is using packages with import paths such as fmt.\n1 2 3 4 5 6 7 8 9 package main import ( `fmt` ) func main() { fmt.Println(\u0026#34;Hello word!\u0026#34;) } 2. What is GOPATH? The GOPATH is an environment variable that determines the location of the workspace. It is the only variable that you have to set when developing Go code.\n3. How to use custom packages? You have the folder structure and two files as below.\n1 2 3 4 5 6 src/ myproject/ mylib/ mylib.go ... main.go mylib.go\n1 2 3 4 5 package mylib type SomeType struct { ... } main.go\n1 2 3 4 5 6 7 8 9 package main import ( \u0026#34;mylib\u0026#34; ) func main() { ... } If you want to use mylib in main.go, you could go like this:\nPlace the directory with library files under the directory of your project.\nIn the rest of your project, refer to the library using its path relative to the root of your workspace containing the project.\nNow, in the top-level main.go, you could import \u0026ldquo;myproject/mylib\u0026rdquo; and it would work.\nmain.go\n1 2 3 4 5 6 7 8 9 package main import ( \u0026#34;myproject/mylib\u0026#34; // WORK ) func main() { ... } 4. Explain what is goroutine and how to stop goroutine? A goroutine is a function that is capable of running concurrently with other functions.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 package main import ( \u0026#34;fmt\u0026#34; \u0026#34;time\u0026#34; ) func say(s string) { for i := 1; i \u0026lt;= 5; i++ { time.Sleep(100 * time.Millisecond) fmt.Println(s) } } func main() { go say(\u0026#34;world\u0026#34;) say(\u0026#34;hello\u0026#34;) } 1 2 3 4 5 6 7 8 9 10 11 $ go run main.go world hello hello world world hello hello world world hello To stop goroutine, you pass the goroutine a signal channel, that signal channel is used to push a value into when you want the goroutine to stop. The goroutine polls that channel regularly as soon as it detects a signal, it quits.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 package main import ( \u0026#34;fmt\u0026#34; \u0026#34;time\u0026#34; ) func say(s string, quit chan bool) { defer close(quit) for i := 1; i \u0026lt;= 5; i++ { fmt.Println(s, i) if i == 3 { quit \u0026lt;- true } } for { select { case \u0026lt;-quit: return default: // Do other stuff } } } func main() { // a channel to signal that it\u0026#39;s stopped quit := make(chan bool) go say(\u0026#34;Hello\u0026#34;, quit) // Sleep the program to avoid go routine is forced to exit because `main()` exits time.Sleep(1000 * time.Millisecond) } 1 2 3 4 $ go run main.go Hello 1 Hello 2 Hello 3 ","date":"2021-12-12T01:36:22+07:00","image":"https://japananh.github.io/blog/p/go-interview-questions-and-answers/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/go-interview-questions-and-answers/","title":"Go interview questions and answers"},{"content":"Tôi nghĩ vệ sinh răng miệng là chuyện cá nhân nhưng cảm giác khi giao tiếp với một người mà chỉ cần mở miệng ra là \u0026ldquo;hương hoa bay tới cả mét\u0026rdquo; thì thật bối rối. Tôi đã từng làm việc cùng một vài người như vậy và tôi nhớ đã không biết bao lần phải quay mặt ra hoặc đứng xa ra một chút. Tất cả những người đó đều dạy cho tôi bài học quan trọng về cách ứng xử là \u0026ldquo;Đừng bao giờ để mùi của bạn làm ảnh hưởng tới cuộc sống của người khác\u0026rdquo;.\nNếu bạn gặp phải vấn đề với răng miệng (ví dụ, ê buốt, nhức răng, răng lung lay, hơi thở có mùi, răng bị ố) hoặc không có vấn đề gì những có men răng yếu, thì đây là những lời khuyên có thể giúp ích cho bạn.\nKhông đánh răng với nước và chỉ dùng nước để súc miệng sau khi chải răng xong.\nChờ khoảng 30 phút mới đánh răng sau ăn và nên đánh răng tối thiểu 2 lần một ngày sau bữa ăn chính. Lý do là sau khi ăn, các vi khuẩn gây mòn men răng sẽ xuất hiện nhiều và răng bạn đang yếu. Nếu đánh răng luôn vào lúc này thì men răng bạn sẽ có nguy cơ bị mòn cao (dental abrasion). Răng của bạn được bao bởi lớp men răng (được cho là cứng hơn cả xương), việc men răng bị mòn sẽ khiến răng mất đi lớp bảo vệ, từ đó vi khuẩn sẽ tấn công khiến răng bị sâu và ra đi vĩnh viễn.\nNếu hơi thở bạn có mùi, có thể một vài chiếc răng đang bị sâu hoặc có quá nhiều mảng bám trên răng. Lúc này, bạn cần xem lại cách chải răng của mình, có thể cân nhắc đổi kem đánh răng và bàn chải tốt hơn hoặc sử dụng thêm nước súc miệng. Nếu vấn đề của bạn vẫn không hết sau vài tuần thì nên đến nha sỹ khám.\nNên mua bàn chải đánh răng có đầu nhỏ, mềm, điều quan trọng là bàn chải có thể chải được tất cả mặt răng, giúp bạn loại bỏ thức ăn thừa.\nChuyển sang dùng chỉ nha khoa thay vì dùng tăm. Đầu tăm rất nhọn và cứng nên chúng sẽ làm mòn răng, làm tăng khoảng cách giữa hai răng, từ đó, khiến vụn thức ăn dễ bị tích tụ hơn, dẫn tới sâu răng và viêm lợi. Chỉ nha khoa mềm và có thể len vào giữa hai răng và không làm mòn răng.\nMỗi năm nên đi kiểm tra răng tối thiểu hai lần.\n","date":"2021-12-11T23:44:50+07:00","image":"https://japananh.github.io/blog/p/ve-sinh-rang-mieng/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/ve-sinh-rang-mieng/","title":"Vệ sinh răng miệng"},{"content":"In this post, I\u0026rsquo;ll analyze an interview question. The purpose of these questions is to test candidates\u0026rsquo; technical knowledge, coding ability, problem-solving skills, and creativity. If you can\u0026rsquo;t find a complete solution, it might be ok.\nYou can find all code samples here.\nProblem I was given an array of strings and a word. I need to create a function to test whether that word is in the array or not.\n1 2 3 4 // input: [\u0026#34;car\u0026#34;, \u0026#34;cat\u0026#34;, \u0026#34;bar\u0026#34;] isInDict(\u0026#34;car\u0026#34;) // true isInDict(\u0026#34;cat\u0026#34;) // true isInDict(\u0026#34;at\u0026#34;) // false Version 1 Array.includes in isInDict() has a time complexity is O(n).\n1 2 3 4 5 6 7 8 9 class Dictionary { constructor(words) { this.dict = words } isInDict(word) { return this.dict.includes(word) // O(n) } } 1 2 3 4 const dict = new Dictionary([\u0026#39;car\u0026#39;, \u0026#39;bar\u0026#39;, \u0026#39;cat\u0026#39;, \u0026#39;bat\u0026#39;]) console.log(dict.isInDict(\u0026#39;cat\u0026#39;)) // true console.log(dict.isInDict(\u0026#39;car\u0026#39;)) // true console.log(dict.isInDict(\u0026#39;ba\u0026#39;)) // false Version 2 I can improve the time complexity from O(n) to a constant time O(1) by using Set.has().\n1 2 3 4 5 6 7 8 9 class Dictionary2 { constructor(wordArr) { this.dict = new Set(wordArr) } isInDict(word) { return this.dict.has(word) // O(1) } } 1 2 3 4 const dict = new Dictionary([\u0026#39;car\u0026#39;, \u0026#39;bar\u0026#39;, \u0026#39;cat\u0026#39;, \u0026#39;bat\u0026#39;]) console.log(dict.isInDict(\u0026#39;cat\u0026#39;)) // true console.log(dict.isInDict(\u0026#39;car\u0026#39;)) // true console.log(dict.isInDict(\u0026#39;ba\u0026#39;)) // false Version 3 My code will fail if I pass a regex into the isInDict function.\n1 2 3 4 const dict = new Dictionary([\u0026#39;car\u0026#39;, \u0026#39;bar\u0026#39;, \u0026#39;cat\u0026#39;, \u0026#39;bat\u0026#39;]) console.log(dict.isInDict(\u0026#39;cat\u0026#39;)) // true console.log(dict.isInDict(\u0026#39;ca*\u0026#39;)) // false -\u0026gt; incorrect console.log(dict.isInDict(\u0026#39;*at\u0026#39;)) // false -\u0026gt; incorrect To solve the problem, I create a new data structure. It might look like this.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Dictionary { dict: { car: true, \u0026#39;*ar\u0026#39;: true, \u0026#39;c*r\u0026#39;: true, \u0026#39;ca*\u0026#39;: true, bar: true, \u0026#39;b*r\u0026#39;: true, \u0026#39;ba*\u0026#39;: true, cat: true, \u0026#39;*at\u0026#39;: true, \u0026#39;c*t\u0026#39;: true, bat: true, \u0026#39;b*t\u0026#39;: true } } After refactoring the constructor(), the final code will look like this.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class Dictionary { constructor(words) { this.dict = words.reduce((acc, word) =\u0026gt; { acc[word] = true word.split(\u0026#39;\u0026#39;).forEach((letter, i) =\u0026gt; { const start = word.slice(0, i) const end = word.slice(i + 1) const partialWord = `${start}*${end}` acc[partialWord] = true }) return acc }, {}) } isInDict(word) { return !!this.dict[word] } } 1 2 3 4 const dict = new Dictionary([\u0026#39;car\u0026#39;, \u0026#39;bar\u0026#39;, \u0026#39;cat\u0026#39;, \u0026#39;bat\u0026#39;]) console.log(dict.isInDict(\u0026#39;cat\u0026#39;)) // true console.log(dict.isInDict(\u0026#39;ca*\u0026#39;)) // true console.log(dict.isInDict(\u0026#39;*at\u0026#39;)) // true ","date":"2021-12-09T01:28:50+07:00","image":"https://japananh.github.io/blog/p/how-to-solve-a-coding-interview-question/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/how-to-solve-a-coding-interview-question/","title":"How to solve a coding interview question?"},{"content":"in Part 1, we discussed the Extract function and how to apply it. Today, I\u0026rsquo;ll introduce you to the Extract variable.\nThis post was inspired by the book Refactoring, which was written by Martin Fowler and Kent Beck.\nExtract variable For example, you have these pieces of code like below.\n1 2 3 4 ... return order.quantity * order.itemPrice - math.max(0, order.quantity - 500) * order.itemPrice * 0.05 + math.min(order.quantity * order.itemPrice * 0.1, 100) That code can be broken into local variables as below.\n1 2 3 4 5 6 ... basePrice := order.quantity * order.item.Price quantityDiscount = math.max(0, order.quantity - 500) * order.itemPrice * 0.05 shipping := math.min(order.quantity * order.itemPrice * 0.1, 100) return basePrice - quantityDiscount - shipping Expressions can become very complex and hard to read. In such situations, local variables may help break the expression down into something more manageable. This allows us to better understand the purpose of what\u0026rsquo;s happening.\nBy extracting a variable, you add a name to the expression in your code. You have to ensure the expression you want to extract does not have side effects and your variable is immutable.\n","date":"2021-12-06T01:32:52+07:00","image":"https://japananh.github.io/blog/p/refactoring-part-2/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/refactoring-part-2/","title":"Refactoring - Part 2"},{"content":"This post was inspired by the book Refactoring, which was written by Martin Fowler and Kent Beck.\nExtract Function The term \u0026ldquo;function\u0026rdquo; can be interchanged with \u0026ldquo;method\u0026rdquo; in an object-oriented language. The idea behinds it is that you look at a fragment of code, understand what it is doing, then extract it into its own function named after its purpose. With this principle, you can develop a habit of writing very small functions.\nTake a look at the code below. We have a struct Rectangle and a method PrintInfo() to log the name and area of it.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package main import \u0026#34;fmt\u0026#34; type Rectangle struct { name string width int height int } func (s *Rectangle) PrintInfo() { fmt.Println(\u0026#34;name:\u0026#34; + s.name) area := s.height * s.width fmt.Println(\u0026#34;Area:\u0026#34; + fmt.Sprintf(\u0026#34;%d\u0026#34;, area)) } func main() { rect := Rectangle{\u0026#34;Rect 1\u0026#34;, 10, 5} rect.PrintInfo() // Name:Rect 1 // Area:50 } Applying the extract function rule here, we can extract calculation part area := s.height * s.width into a new method GetArea. Imagine you have a ton of calculations in PrintInfo(), the extract function will improve readability in your code.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 package main import \u0026#34;fmt\u0026#34; type Rectangle struct { name string width int height int } func (s *Rectangle) PrintInfo() { fmt.Println(\u0026#34;name:\u0026#34; + s.name) fmt.Println(\u0026#34;Area:\u0026#34; + fmt.Sprintf(\u0026#34;%d\u0026#34;, s.GetArea())) } func (s *Rectangle) GetArea() int { return s.height * s.width } func main() { rect := Rectangle{\u0026#34;Rect 1\u0026#34;, 10, 5} rect.PrintInfo() // Name:Rect 1 // Area:50 } ","date":"2021-12-06T01:07:27+07:00","image":"https://japananh.github.io/blog/p/refactoring-part-1/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/refactoring-part-1/","title":"Refactoring - Part 1"},{"content":"Ở Việt Nam nếu nhắc tới gia vị, phần lớn mọi người sẽ nghĩ ngay tới bột canh, mỳ chính, bột ngọt, ngũ vị hương, bột cà ri và đủ thứ bột đóng gói với thành phần đầy một đống công thức hóa học được bán trong siêu thị.\nThe China Study Năm 2017, tôi đọc cuốn sách tiếng anh đầu tiên có tên là The China Study của Tiến sỹ T. Colin Campbell và con trai mình là Thomas M. Campbell. Cuốn sách là tâm huyết một đời của hai người học giả này. Nội dung nói về những nghiên cứu dinh dưỡng ở Trung Quốc vào những năm 1940s.\nCuốn sách ấy không nói về gia vị và thảo nhưng nhờ nó mà tôi lại tìm được nhiều nguời khác truyền cảm hứng. Và câu chuyện học nấu ăn với gia vị và thảo mộc thay vì gia vị hóa học bắt đầu từ đó.\nTôi đọc bản tiếng anh, bạn nào muốn tìm bản tiếng việt có thể ngó ở link Tiki này nhé.\nGia vị và thảo mộc Tất cả những thứ gì tạo hương vị, màu sắc cho món ăn thì đều là gia vị và thảo mộc. Gia vị được lấy từ hạt, vỏ cây hoặc quả của thực vật, còn thảo mộc lấy từ lá của cây.\nSpices come from the seeds, bark, berry, or fruit of a plant and herbs come from the green leaves.\nVào năm 2017, gia vị và thảo mộc chủ yếu bán ở các siêu thị cho người nước ngoài tập trung ở khu vực phố cổ và hồ Tây, giờ thì bạn có thể mua nó ở các siêu thị lớn như BigC và Vinmart.\nHãng tôi hay mua là McCormick. Một phần vì chất lượng của gia vị và một phần bao bì sản phẩm. Họ sản xuất gia vị trong lọ thủy tinh, có nắp chắc chắn và sau khi dùng xong thì những chiếc lọ xinh xắn ấy có thể dùng để cắm hoa trang trí nhà cửa.\nNhững loại gia vị và thảo mộc tôi hay dùng cùng tác dụng của chúng Hầu hết các gia vị tôi kể dưới tôi đều cho chúng vào ướp với thịt, bỏ vào xào hoặc nướng. Thành phần của chúng đều chứa các chất oxi hóa, giúp giảm huyết áp, tăng khả năng miễn dịch cùng nhiều ích lợi khác nữa.\nTrên internet có rất nhiều tài liệu rác và thiếu dẫn chứng khoa học. Cho đến bây giờ, tôi chưa biết một trang tiếng việt nào nêu thông tin có kèm dẫn chứng. Vì thế, tôi chỉ bạn là đọc bằng tiếng anh. Nếu bạn biết trang tiếng việt về thảo mộc uy tín, xin hãy comment vào bài viết này.\nCách tôi đọc về tác dụng của một loại thảo mộc là search với từ khóa Tên gia vị/thảo mộc + research paper.\nClick vào phần Scholarly articles for \u0026hellip; thì bạn sẽ dẫn tới Google scholar để tìm đọc các nghiên cứu. Tại đây, bạn có thể kéo xuống đọc tiêu đề để xem nghiên cứu nào phù hợp với nhu cầu của bản thân. Happy reading!\nĐây là gia vị phổ biến ở Việt Nam, rất nhiều món ăn có dùng gừng. Từ ngày thêm gừng vào các món rau củ luộc, tay chân tôi không còn bị lạnh vào mùa đông nữa và thân nhiệt của tôi khá ổn định. Tôi luôn luôn thêm gừng vào bất kỳ món rau luộc nào, từ các loại rau cải, cho tới các loại củ quả như su su, cà rốt, bắp cải \u0026hellip;\nMột vài tác dụng nổi bật của cumin là giảm choresterol, giảm đái tháo đường, chứa các chất chống oxi hóa mạnh như flavonoids, viz., apigenin and luteolin.\nCumin trên thị trường có hai loại là đã nghiền thành bột và dạng dầu ép. Tôi ăn loại đã nghiền thành bột, bỏ vào ướp với các món thịt (gà, lợn, bò), sau đó, thì mang đi xào hoặc nướng.\nMột lưu ý nữa là nên dùng trung bình từ 300 - 600g cumin một ngày dưới dạng xay hoặc dạng dầu ép.\nHương thảo có cái tên quyến rũ rosemary, bắt nguồn từ tiếng Latin ros marinus, nghĩa là sương của biển. Gọi là hương thảo vì chúng rất thơm và có vị rất đặc biệt. Lá khô cho vào làm gia vị, dùng như thì là ai cập, còn lá tươi thì cho vào nước sôi để làm trà.\nCây rất dễ trồng, có thể sống trong chỗ bóng. Tôi đã trồng hương thảo bằng cách ngắt một đoạn hương thảo bé ở nhà một người bạn và ngâm phần cành vào cốc nước, chờ khoảng 1 tuần (hoặc lâu hơn) cho chúng lên nhiều rễ. Sau đó, cắm chúng xuống đất rồi tưới khi đất khô là chúng sẽ cao lớn nhanh.\nTôi hay dùng lá kinh giới khô để nướng khoai tây và mỳ ý. Thi thoảng nổi hứng lên tôi sẽ cho vào ướp với thịt.\nGần đây tôi mới biết kinh giới có hai loại là loại cay và không cay nên bạn cần chú ý hỏi người bán trước không thì mua lộn là cay lắm đó.\nTổng kết Ngoài các gia vị và thảo mộc kể trên thì còn rất nhiều loại nữa mà tôi nghĩ mình sẽ thử trong tương lai ví dụ xạ hương (thyme), húng tây (basil), nguyệt quế (bay leaf) \u0026hellip;\nĐiều mà tôi thích ở ẩm thực là bạn có thể phối gia vị và đồ ăn tùy ý dựa trên kiến thức khoa học và khả năng sáng tạo của bạn thân. Happy cooking!\nTài liệu tham khảo https://www.healthline.com/health/cumin-benefits ","date":"2021-12-05T22:50:44+07:00","image":"https://japananh.github.io/blog/p/gia-vi-va-thao-moc/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/gia-vi-va-thao-moc/","title":"Gia vị và thảo mộc (Spices and herbs)"},{"content":"Overview Go tools are the great features that exist alongside the language as part of the go command. Almost Go tools come together with Go installation, but there are some you might install depending on your needs.\nInstallation The easiest way to install a Go tool is to run go get -u golang.org/x/tools/.... Another way to do it is to git clone the repository to $GOPATH/src/golang.org/x/tools.\nThere are some helpful flags:\n-u forces the tool to sync with the latest version of the repo.\n-d if you just want to clone a repo to your GOPATH and skip the building and installation phase.\nTools go vet The vet command will check your code for common errors. Let\u0026rsquo;s look at the types of errors vet can catch:\nBad parameters in Printf-style function calls Method signature errors for common method definitions Bad struct tags Unkeyed composite literals 1 2 3 4 5 6 7 8 package main import \u0026#34;fmt\u0026#34; func main() { // Printf calls whose arguments do not align with the format string. fmt.Printf(\u0026#34;The quick brown fox jumped over lazy dogs\u0026#34;, 3.14) } 1 2 $ go vet main.go main.go:6: no formatting directive in Printf call go list It lists the packages named by the import paths, one per line.\ngo env It prints Go environment information.\n1 2 3 4 5 $ go env GO111MODULE=\u0026#34;\u0026#34; GOARCH=\u0026#34;amd64\u0026#34; GOBIN=\u0026#34;\u0026#34; ... If there are specific values that you\u0026rsquo;re interested in, you can pass them as arguments to go env.\n1 2 3 4 $ go env GOPATH GOOS GOARCH /home/nana/go linux amd64 go fmt Gofmt is a tool that automatically formats Go source code.\nTo format your code, you can use the gofmt tool directly:\n1 gofmt -w yourcode.go Or you can use the “go fmt” command:\n1 go fmt path/to/your/package It also supports rewrite rules that you can use to help refactor your code.\n1 2 3 4 5 6 var foo int func bar() { foo = 1 fmt.Println(\u0026#34;foo\u0026#34;) } 1 2 3 4 5 6 7 8 9 $ gofmt -d -w -r \u0026#39;foo -\u0026gt; Foo\u0026#39; . -var foo int +var Foo int func bar() { -\tfoo = 1 +\tFoo = 1 fmt.Println(\u0026#34;foo\u0026#34;) } ","date":"2021-12-02T23:47:01+07:00","image":"https://japananh.github.io/blog/p/go-tools-part-1/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/go-tools-part-1/","title":"Go Tools - Part 1"},{"content":"Imports The import statement tells the compiler where to look on disk to find the package you want to import.\n1 import \u0026#34;fmt\u0026#34; To import more than one package, you need to wrap the import statements in an import block.\n1 2 3 4 import ( \u0026#34;fmt\u0026#34; \u0026#34;strings\u0026#34; ) Packages are found on disk based on their relative path to the directories referenced by GOPATH. If the compiler cannot find the package you\u0026rsquo;ve referenced in your GOPATH, you\u0026rsquo;ll get an error when trying to run or build your program.\nThe Go tooling has built-in support for fetching source code from distributed version control systems (DVCS) such as sharing sites likes Github.\nFor example:\n1 import \u0026#34;github.com/dgrijalva/jwt-go\u0026#34; When an imported path contains a URL, the Go tooling can be used to fetch the package from the DVCS and place the code inside the GOPATH at the location that matches the URL.\nPackages with the same name can be imported by using named imports.\n1 2 3 4 5 6 7 8 9 10 11 package main import ( \u0026#34;fmt\u0026#34; myfmt \u0026#34;mylib/fmt\u0026#34; ) func main() { fmt.Println(\u0026#34;Standard library\u0026#34;) myfmt.Println(\u0026#34;My custom library\u0026#34;) } The Go compiler will fail the build and output an error whenever you import a package that you don\u0026rsquo;t use.\nGo doesn\u0026rsquo;t allow any unused variable. Any unused variable can be replaced with the _ (underscore character), known as the blank identifier. A blank import of a package is used when the imported package is not being used in the current program, but we need the init function in the Go source files belonging to that package can be called and initialization of variables in that package can be done properly.\nAs an example mysql package is used as blank import for its side-effect of registering the mysql driver as a database driver in the init() function of mysql package, without importing any other functions.\n1 _ \u0026#34;github.com/go-sql-driver/mysql\u0026#34; Init Each package has the ability to provide as many init() functions. They are automatically executed before the main() function in the man package is called.\ninit() function is similar to the main() function. It doesn\u0026rsquo;t take any argument nor return anything. Go can support multiple init() functions within one file. They are called in their respective order of declaration within the file.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package main import \u0026#34;fmt\u0026#34; func init() { fmt.Println(\u0026#34;init 1\u0026#34;) } func init() { fmt.Println(\u0026#34;init 2\u0026#34;) } func main() { fmt.Println(\u0026#34;main\u0026#34;) } 1 2 3 4 $ go run main.go init 1 init 2 main The init() functions are great for setting up packages, initializing variables, or performing any other bootstrapping you may need prior to the program running.\nAn example of this is database drivers. They register themselves with the SQL package when their init function is executed at startup because the SQL package can’t know about the drivers that exist when it’s compiled. Let’s look at an example of what an init function might do.\n1 2 3 4 5 6 7 8 9 package postgres import ( \u0026#34;database/sql\u0026#34; ) func init() { sql.Register(\u0026#34;postgres\u0026#34;, new(PostgresDriver)) } This code lives inside your pretend database driver for the PostgreSQL database. When a program imports this package, the init function will be called, causing the database driver to be registered with Go’s sql package as an available driver.\nNow we can tell the sql.Open method to use this driver.\n1 2 3 4 5 6 7 8 9 10 package main import ( \u0026#34;database/sql\u0026#34; _ \u0026#34;https://github.com/goinaction/code/chapter3/dbdriver/postgres\u0026#34; ) func main() { sql.Open(\u0026#34;postgres\u0026#34;, \u0026#34;mydb\u0026#34;) } References Go in action ","date":"2021-12-01T17:25:36+07:00","image":"https://japananh.github.io/blog/p/packages-in-go-part-2/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/packages-in-go-part-2/","title":"Packages in Go - Part 2"},{"content":"Packages All Go programs are organized into groups of files called packages, so that the code has the ability to be included in other projects as smaller reusable pieces.\nLet’s look at the packages that make up Go’s http functionality in the standard library which contains a series of related files with the .go extension.\n1 2 3 4 5 6 7 8 9 net/http/ cgi/ cookiejar/ testdata/ fcgi/ httptest/ httputil/ pprof/ testdata/ Every Go source file belongs to a package. The package declaration must be the first line of code in your Go source file. All the functions, types, and variables defined in your Go source file become part of the declared package.\n1 package \u0026lt;packagename\u0026gt; The convention for naming your package is to use the name of the directory containing it.\nWhen naming your packages and their directories, you should use short, concise, lowercase names, with no under_scores or mixedCaps. They are often simple nouns, such as:\ntime (provides functionality for measuring and displaying time) list (implements a doubly-linked list) http (provides HTTP client and server implementations) Package names may be abbreviated when the abbreviation is familiar to the programmer. Widely-used packages often have compressed names:\nstrconv (string conversion) syscall (system call) fmt (formatted I/O) Keep in mind that a unique name is not required because you import the package using its full path.\nmain package and main() function\nGo programs start running in the main package. It is a special package that is intended to be compiled into a binary executable.\nThe main() function is a special function that is the entry point of an executable program. Let’s see an example of an executable program in Go.\n1 2 3 4 5 6 7 8 9 10 11 // Package declaration package main // Importing packages import ( \u0026#34;fmt\u0026#34; ) func main() { fmt.Println(\u0026#34;Hello, world!\u0026#34;) } 1 go run main.go 1 2 ## Output Hello, world! ","date":"2021-11-30T23:35:24+07:00","image":"https://japananh.github.io/blog/p/packages-in-go-part-1/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/packages-in-go-part-1/","title":"Packages in Go - Part 1"},{"content":"Vậy là đã qua 11 tháng, năm 2021 sắp khép lại. Mỗi năm tôi đều ngó lại những thứ mình đọc để xem mình đã bơi tới đâu và có tiến bộ gì so với năm ngoái không.\nThay vì lan man từ chủ đề này sang chủ đề khác, không mục đích thì trong năm 2021, tôi tập trung vào 3 mảng chính gym, lập trình và văn học viễn tưởng (literary fiction).\nTính tới thời điểm hiện tại tôi đã đọc 21 cuốn sách, còn 6 cuốn đang đọc dở. Hi vọng năm nay tôi sẽ hoàn thành được reading challenge trên goodreads.\nCuốn sách hay nhất Một người bạn tặng tôi cuốn sách này vào năm ngoái. Tôi đã mở mục lục ra, lướt qua vài chương và cất tủ. Chả hiểu thế nào mà một ngày, tôi mở cuốn sách ấy ra, đọc ngấu nghiến và đầu như bừng tỉnh. Cách đây mấy hôm tôi có viết một bài về sự học, tôi nghĩ thầy Giản Tư Trung đã đúng khi nói rằng sách là 1 trong 5 con đường đi tới sự khai sáng.\nPeak là cuốn sách mang tính cách mạng về sự học. Tôi đã vui mừng biết bao khi áp dụng những quy tắc trong sách vào việc tập tạ và đạt được nhiều thành tích. Tăng mức tạ max (1RM) từ 20kg lên 120kg cho bài Hip Thrust. Cơ thể cân đối hơn, tăng 7kg, tăng size vòng 3 và vòng 1, giảm size vòng 2. Bên cạnh đó, việc đau mỏi cổ vai gáy cũng hoàn toàn biến mất khi lượng cơ của tôi phát triển. Giờ tôi có thể ngồi lâu hơn mà không hề thấy mỏi. Thật là một công đôi việc.\nCuốn sách dở nhất Rắc rối của tôi ở tháng 9 là mỡ bụng. Tôi đã tăng 7kg. Nhờ có tập luyện với tạ nặng, tất cả các phần trên cơ thể tôi đều giảm mỡ, tăng cơ, tôi thấy rõ điều này khi lên cân, tất nhiên, trừ cái bụng ra. Thật là quá thể đáng mà!\nBody recomposition là khái niệm chỉ cơ thể sẽ tăng cơ và giảm mỡ cùng một lúc. Phần lớn mọi người sẽ không đi theo hướng body recomposition và muốn giảm cân vì khi cân nặng giảm thì mỡ cơ thể có thể sẽ giảm theo. Tôi đã tăng tới lượng cân nặng mong muốn (58kg), một tỷ lệ body fat đẹp (22-23%). Không đời nào tôi lại giảm cân chỉ vì cái bụng.\nTôi đã chú ý ngay vào cái tiêu đề cuốn này trên một trang web liệt kê những cuốn sách hay nhất về tập luyện.\nNên tập cardio hay tập tạ trước? - \u0026ldquo;Which Comes First, Cardio or Weights?\u0026rdquo;\nĐọc review về cuốn này trên Goodreads cũng khá tốt nên tôi quyết định đọc thử. Không hài lòng tí nào. Nội dung sơ sài, rất ít tài liệu được trích dẫn. Nếu bạn là người hoàn toàn không biết gì. Tôi nghĩ là nó có lợi một chút cho bạn. Nhưng phần đông thì nội dung cuốn này như tổng hợp kiến thức trên mạng vậy.\nNote: Cardio là chỉ những bài tập làm tăng nhịp tim của người tập, trong đó có chạy bộ, đạp xe, nhảy dây \u0026hellip; Cuốn sách ám ảnh nhất Đây là cuốn sách mỗi tuần tôi chỉ mở ra đọc có đúng một ngày vì sự thay đổi cảm xúc của bản thân sau khi đọc nó. Tôi nhớ mình đã thấy rất quý Raxcolnicov khi anh một mực ngăn cản cuộc hôn nhân của em gái mình và tên hám danh Lujin. Anh đã đoán ra mưu đồ của tên xấu xa này thông qua những dòng thư mà mẹ anh viết. Tôi còn ngạc nhiên và phải dõi theo họ tới tận mấy hồi sau mới hiểu vấn đề.\nNhiều nhân vật khiến tôi phát bực. Tại sao Raxcolnicov lại bỏ việc, nằm ở nhà, mơ tưởng làm Napoleon trong khi mẹ và em gái còng lưng kiếm tiền nuôi anh? Tôi thấy anh có nhiều cơ hội để phát triển, người ta thấy anh thông minh, đề bạt anh. Tại sao anh ta lại đi tới nước ấy? Lại còn Xionia nữa. Bố cô và dì ghẻ đâu có coi cô như con người. Một người nát rượu, một kẻ ưa danh. Cô đâu phải hi sinh thân mình vì họ.\nRất nhiều dấu chấm hỏi và mẫu thuẫn xảy ra trong chuyện và trong cả đầu tôi. Những câu hỏi về giá trị sống và đạo đức cứ bay trong đầu. Liệu những thứ tôi được dạy có phải là đúng? Đâu mới là chân lý thực sự? Đọc tới đây thì hẳn là bạn sẽ hiểu là tại sao tôi chỉ dành nó đọc một ngày. Cảm xúc lên mạnh quá không hề tốt cho sức khỏe tinh thần.\nCuốn sách có nhân vật tôi yêu thích nhất Tôi thấy cuốn này trên giá sách của công ty và lấy ra đọc nhân ngày Black Friday. Cuốn sách này không hợp với ai yếu tim vì rất nhiều trẻ em bị giết một cách man rợ. Từ sau khi tranh luận với các luận điểm của Raxcolnicov trong Tội ác và trừng phạt thì tôi đâm ra không còn sợ khi đọc truyện kinh dị như trước nữa. Có lẽ phải cảm ơn Raxcolnicov vì sự cứng đầu của anh ta.\nTruyện xoanh quanh nữ phóng viên Camille Preaker đang trên đường tìm lời giải đáp cho cái chết bí ẩn của nhiều trẻ em tại quê nhà. Những đứa trẻ cư xử thật kỳ cục và mọi người không ai hợp tác để tìm ra hung thủ. Để rồi từng bức màn bí ẩn được vén ra. Thủ phạm chính là mẹ cô và cô em gái cùng mẹ khác cha Amma.\nAmma là cô bé mà tôi ấn tượng nhất. Ai mà chả có lần hờn dỗi bố mẹ mình khi nghĩ rằng bố mẹ đã yêu một ai đó hơn. Cô bé luôn muốn mình trở thành số một trong mắt các bậc phụ huynh. Con muốn cái bàn mới cơ và đập nát chiếc bàn cũ. Cô sẵn sàng giết bạn mình chỉ vì nghĩ rằng mẹ cô quý bé đó. Ôi, một đứa bé, bẻ hết răng, rồi siết cổ bạn mình.\nBạn có thấy góc tối của mình trong cô bé ấy không? Bạn có thấy tình thương của Camille làm cô bé cảm động và dần thay đổi thái độ không? Tội ác không phải là ngẫu nhiên, nó tích tụ tới một ngày bùng lên thành cơn bão. Hay Dostoevsky có viết rằng:\nNó bắt đầu với học thuyết xã hội chủ nghĩa. Bạn biết học thuyết của họ; tội phạm là sự phản kháng chống lại sự bất thường của tổ chức xã hội và không có gì hơn, và không có gì hơn; không có nguyên nhân nào khác được thừa nhận!\nCuốn sách đọc mãi không xong Tôi đã mua cuốn này vì danh tiếng của nó. Quả thực đây là cuốn sách rất \u0026ldquo;nặng\u0026rdquo; và rất \u0026ldquo;buồn ngủ\u0026rdquo;, theo cả nghĩa đen và nghĩa bóng. Sự lười biếng của bản thân khiến tôi cảm thấy đọc cuốn này còn vất vả hơn cả cuốn giáo trình Operating system năm ngoái. Những người bạn có hiểu biết đều đọc và giới thiệu khiến tôi cảm thấy mình phải có trách nhiệm tiêu hóa em ấy. Hi vọng sắp tới, tôi sẽ nghĩ ra trò để \u0026ldquo;yêu thương\u0026rdquo; em ấy hơn.\nTổng kết Một năm với thật nhiều cuốn sách. Nãy giờ tôi không nhắc tới một cuốn sách kỹ thuật nào ở trên, lý do là vì tôi chưa đọc xong chúng. Với những cuốn sách đậm đặc tri thức mà lại không gắn quá nhiều với cảm xúc, tôi thường thích đọc kiểu nhâm nhi, để từ từ áp dụng. Lại đành hi vọng năm sau xúc tiến được nhiều sách kỹ thuật hơn.\nNếu có cuốn sách nào hay muốn chia sẻ thì đừng ngần ngại comment chúng ở đây. Chúc các bạn đọc vui!\n","date":"2021-11-30T04:08:48+07:00","image":"https://japananh.github.io/blog/p/toi-doc-gi-trong-nam-2021/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/toi-doc-gi-trong-nam-2021/","title":"Tôi đọc gì trong năm 2021?"},{"content":"Mến chào các bạn,\nĐáng lẽ bài này sẽ được ra vào hôm chủ nhật 28/11/2021. Nhưng sau khi đau bụng vật vã vì thử món mới của mình thì não tôi đã rỗng như cái lọ thủy tinh, chỉ muốn ngủ.\nLàm sao phải chuyển nhà? Sau 2 tuần viết lách thì tôi đã nhận thấy sự cần thiết phải có một trang blog để nhận được sự bình luận, góp ý và tôi cũng muốn nhiều người đọc hơn. Tôi nghĩ tôi trưởng thành qua những lần vấp ngã. Làm sao người ta biết tới bạn khi bạn im lặng? Làm sao bạn biết mình sai ở đâu nếu người ta không thấy bạn hành động? Đấy là những câu mà tôi hay hỏi mình. Bên cạnh đó, tôi cũng mong muốn gặp được nhiều người có cùng quan điểm với mình, kết bạn và cùng nhau khai sáng.\nTôi được dạy từ bé rằng dĩ hòa vi quý nhưng phần lớn những vấn đề trong cuộc sống hàng ngày tôi gặp phải là do tôi thường im lặng, đè nén cảm xúc của chính mình. Từ đó, tôi học được rằng mình cần phải biết cách lên tiếng cho chính mình và cho cả những người xunh quanh. Đôi lúc, chúng ta cần sự tĩnh lặng, nhưng cũng có lúc im lặng chính là giết chết mình.\nĐể không bị rối khi google tìm những nền tảng cung cấp dịch vụ tạo blog cá nhân, tôi đã đề ra một vài tiêu chí cho riêng mình và những nền tảng nào không đáp ứng được sẽ bị gạt ra không thương tiếc, cho dù có lung linh cỡ nào.\nCác tiêu chí của tôi Dưới đây là các tiêu chí của tôi, sắp xếp theo thứ tự mức độ quan trọng giảm dần.\nHỗ trợ markdown, trải nghiệm gõ mượt mà như Notion Hỗ trợ custom domain Đồng bộ với Github repository Custom UI Ứng cử viên sáng giá Sau một giờ test với đủ các trang thì ứng cử viên sáng giá nhất là hashnode\nVà đây chính là em blog mới màu hồng với mã là #E045D1. Bạn sẽ thấy rất nhiều thứ có mã màu này ở trong các bản thiết kế dùng Figma của tôi.\nSeries 100 days of challenge sẽ nằm ở link này. Tôi hi vọng nhận được góp ý từ các bạn.\nHave fun and Welcome to my home!\n","date":"2021-11-30T00:49:38+07:00","image":"https://japananh.github.io/blog/p/cau-chuyen-chuyen-nha-happy-new-home/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/cau-chuyen-chuyen-nha-happy-new-home/","title":"Câu chuyện chuyển nhà - Happy New Home"},{"content":"Đây là những ý hay mà tôi ghi lại từ một show của kênh VIETSUCCESS với nhà hoạt động giáo dục Giản Tư Trung. Các bạn muốn nghe toàn bộ thì vào link này.\nCách mạng thực học Sự học bắt đầu bằng niềm tin về cuộc sống. Một trong những nhà khai sáng vĩ đại người Nhật Fukuzawa Yukichi có viết trong cuốn Khuyến học rằng\n\u0026ldquo;Trời không tạo ra người đứng trên người. Mọi người sinh ra đều bình đẳng về quyền lợi. Nếu có khác biệt là do học vấn.\u0026rdquo;\nCâu này mang trong mình hai đức tin quan trọng. Đức tin thứ nhất là mình có thể thay đổi được số phận. Nếu chúng ta tin vào điều này thì chúng ta sẽ có động cơ học để nâng cấp bản thân, trở thành con người tốt hơn. Đức tin thứ hai là khi bạn đã tin tưởng rằng mình có thể thay đổi bản thân thì cách bắt đầu là từ \u0026ldquo;thực học\u0026rdquo;.\nThực học là gì? Một mô hình của thực học là sự học hướng tới phát triển một con người tổng thể. Một con người tổng thế cần phát triển hài hòa về bốn khía cạnh là Thân - Tâm - Trí - Thần (Body - Heart - Mind - Spirit).\nThân (Body) là chỉ con người thể chất. Bạn có tập thể dục đều đặn không? Bạn có ăn uống đủ \u0026ldquo;chất\u0026rdquo; không? Bạn có ngủ đủ và ngủ ngon không?\nTâm (Heart) là chỉ sự yêu thương và được yêu thương (To love and to be love). Lòng trắc ẩn là thứ không phải tự nhiên sinh ra. Điều gì khiến một đứa nhỏ nhường bữa ăn sáng của mình cho một cụ gìa ăn xin mà nó gặp trên đường tới trường? Điều gì khiến người ta sẵn sàng cưu mang một con mèo hoang trên đường, giúp nó vượt qua cơn bạo bệnh dù không được một ai tán dương?\nTrí (Mind) là chỉ sự học kiến thức. Bạn có luôn nâng cấp bộ não của mình không? Bạn có đang học với niềm say mê hay học để trả bài, học để có một công việc? Bạn có dùng những kiến thức mình học vào cuộc sống không?\nThần (Spirit) là chỉ đời sống tinh thần của bản thân mình. Bạn có đang sống với đúng các giá trị của mình không? Bạn có phải đánh đổi con người của mình để đạt được sự thành công trong công việc không?\nHọc để làm gì? Học để lấy bằng (Learn to get degrees): Tôi học để lấy bằng, có một công việc, không quan tâm tôi đã học cái gì.\nHọc để trở thành chuyên gia (Learn to be professional): Tôi học để trở thành chuyên gia trong một lĩnh vực, tôi biết nhiều kiến thức trong lĩnh vực của tôi.\nHọc để giải quyết vấn đề (Learn to be a problem solver): Tôi học để giải quyết vấn đề. Giá trị con người ở chỗ, anh ta giải quyết được vấn đề. Tôi sẵn sàng học bất kỳ lĩnh vực gì để giải quyết vấn đề của tôi.\nTại sao chúng ta học làng nhàng? Thứ nhất, chúng ta được giáo dục bởi những người thầy làng nhàng\nCó 3 cấp độ của người thầy.\nCấp độ 1: Người thầy bình thường, truyền đạt lại những gì mình biết cho học trò. Cấp độ 2: Người thầy giỏi vừa truyền đạt những gì mình biết cho học trò và truyền cảm hứng cho học trò tự mình học hỏi. Cấp độ 3: Người thầy vĩ đại là người làm được công việc của người thầy giỏi trên một quy mô lớn hơn, thay vì chỉ vài học trò mà là cả một quốc gia, trên toàn thế giới. Thứ hai, chúng ta thiếu niềm tin.\nThứ ba, chúng ta không được học theo cách của riêng mình.\nNăm con đường đi đến sự khai sáng Con đường 1: Sách\nĐọc sách sáng thì mình sẽ sáng, nhưng không phải ai đọc sách cũng sáng.\nCon đường 2: Thầy\nĐể tìm được thầy tốt, bản thân phải có khả năng phân bình định.\nChân lý thuộc về người có hiểu biết.\nCon đường 3: Trải nghiệm\nChúng ta phải trả giá để học. Cái giá đó có thể là tiền bạc, mồ hôi, nước mắt \u0026hellip; Thất bại cũng là người thầy vĩ đại.\nCon đường 4: Nhân vật cổ kim đông tây\nChúng ta có thể học hỏi từ họ thông qua rất nhiều tài liệu, sách báo, nghiên cứu khoa học mà không cần phải gặp họ.\nCon đường 5: Internet\nMuốn biết mình là ai, hãy nhìn vào những trang websites mình vào hàng ngày.\n","date":"2021-11-30T00:48:05+07:00","image":"https://japananh.github.io/blog/p/ban-ve-su-hoc/cover_hud69847427cf8d814ee68447dcdd8d8d0_110810_120x120_fill_q75_box_smart1.jpg","permalink":"https://japananh.github.io/blog/p/ban-ve-su-hoc/","title":"Bàn về sự học"}]