Skip to main content

25 posts tagged with "vietnamese"

View All Tags

Hướng dẫn rip đĩa CD sang FLAC bằng Exact Audio Copy

· 12 min read
Doko
Writer

Bài viết này sẽ hướng dẫn cách rip (sao chép và nén) đĩa nhạc sang định dạng WAV và chuyển đổi tiếp sang dạng nhỏ hơn (nhưng vẫn đảm bảo không mất dữ liệu - hay còn gọi là lossess): FLAC. Ngoài ra còn có thêm file log và cue sheet (dùng để định danh các track nhạc trong đĩa).

Chuyển Unicode thành UTF8 char

· 3 min read
Doko
Writer

Chuyển Unicode thành ký tự UTF-8.

Trước tiên hãy xem bảng sau, bên trái là khoảng các kí tự unicode, bên phải là dạng nhị phân sau khi convert:

U-00000000 – U-0000007F: 	0xxxxxxx
U-00000080 – U-000007FF: 110xxxxx 10xxxxxx
U-00000800 – U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
U-00010000 – U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U-00200000 – U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U-04000000 – U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

Và dĩ nhiên là tất cả tính toán đều phải đưa về dạng nhị phân. Các chữ cái x đều phải được điền bằng giá trị tương ứng.

Con ếch có thể nói được rồi

· 4 min read
Doko
Administrator

Ngày xửa ngày xưa, sâu thẳm trong một khu rừng già. Có một con Ếch to trong một cái ao nhỏ. Ếch này là ếch cái. Mỗi ngày của nó đều là một ngày yên bình, chỉ có ăn, bơi và ngủ. Từ sáng đến tối, nó đều làm điều mà các con ếch khác đều làm, chỉ có điều là nó chơi nhiều hơn, ăn nhiều hơn, nhảy xa hơn. Nó thông minh hơn và kêu to hơn nữa.

Mọi người trong khu rừng đều có thể nghe thấy tiếng ộp oạp của nó, và điều đó khiến họ vui. Do khu rừng rất dễ đi lạc, nên nhờ tiếng của con ếch mà họ có thể tìm được đường quay lại cái ao đó khá dễ dàng. Cũng có thể điều đó sẽ không còn đúng nữa nếu con ếch tiếp tục oàm oạp vào ban đêm, nhưng nó cũng đã quá lười và mệt mỏi khi màn đêm buông xuống mất rồi.

Một ngày nọ, có một người lần đầu tiên đặt chân tới khu rừng. Một cô gái trẻ trong chiếc áo choàng lộng lẫy. Cô đi nhanh qua khu rừng, như thể đang chạy trốn điều gì đó, và không hề ngoảnh đầu lại. Rất nhiều con mắt đổ dồn về phía nàng Công chúa, nhưng không ai dám ngỏ lời giúp đỡ, mặc cho gã Thợ Săn Điên đang truy đuổi nàng.

"Đây không phải phận sự của chúng ta", chúng nghĩ, "ta nên ngó lơ đi thì hơn". Trong khi tên Thợ Săn Điên, một kẻ không màng gì khác ngoài việc săn lùng con mồi để lãnh thưởng và kiếm tìm danh vọng, vẫn không chịu dừng bước. Không gì có thể thoát được đôi mắt sắc bén của hắn.

Nàng công chúa đi một mình, không ai giúp, cho đến khi lạc trong khu rừng sâu. Kiệt sức, nàng cố tiến lên phía trước mà không biết mình đang đi đâu. Tên Thợ Săn Điên đang đến gần. Nàng công chúa tiếp tục đi cho đến khi có tiếng kêu ộp oạp phát ra từ hướng bên trái, to và rõ đến độ nàng có thể định vị được ngay nơi phát ra. Vài phút sau, nàng đã đến cái ao nhỏ nơi có con Ếch Lớn. Con ếch nhìn công chúa với nụ cười trìu mến.

"Hãy giúp tôi", nàng nói. "Tôi cần một nơi để nghỉ và ẩn náu".

"Ộp oạp" - con ếch trả lời.

"Xin đừng kêu nữa. Thợ Săn Điên đang truy đuổi tôi".

"ỘP OẠP" - con ếch đáp lại, to đến mức công chúa phải lấy tay che tai.

Và rồi con ếch nhảy loạn xạ đủ hướng. "Bạn đang làm gì vậy?" - công chúa hỏi, "Đừng kêu nữa nếu không hắn sẽ tìm ra đấy!".

Nhưng con ếch vẫn vừa kêu vừa nhảy liên hồi xung quanh công chúa. Lên lên xuống xuống. Trái trái phải phải.

"Ộp oạp"

"Ộp oạp"

Cho tới khi nàng công chúa chợt hiểu ra ý đồ của con ếch. Thận trọng từng bước, nàng leo lên lưng con thú to lớn. Và rồi chỉ một bước nhảy, con ếch đã ra khỏi cái ao. Con ếch nhảy rất nhanh và xa, đến cả gã thợ săn cũng không thể tìm thấy công chúa nữa. Chỉ với vài bước nhảy, công chúa đã thoát khỏi tầm mắt của tên thợ săn, sau đó mất hút hoàn toàn. Nàng công chúa nhắm mắt lại, phó mặc cho con ếch đưa mình đến bất kì nơi đâu mà nó muốn.

Chưa đầy một giờ sau, con Ếch Lớn đã đến được bên kia khu rừng già, gần bờ một cái hồ rất sâu. Nó đáp xuống tại đây, ngay trước một căn nhà gỗ bị bỏ hoang.

"Cảm ơn", công chúa nói, và thơm nhẹ lên mép con ếch. "Tôi chỉ mong bạn có thể nói được, để tôi có thể hiểu bạn sớm hơn".

Vừa dứt lời thì điều kì diệu xảy ra, con Ếch bắt đầu biết nói. Câu đầu tiên là:

"Gã Thợ Săn Điên luôn bám theo tôi. Giờ cô đã an toàn, và tôi đã trả đũa xong. Cô có thể ở lại đây, nơi này đã bị bỏ hoang lâu rồi, sẽ không ai tìm cô ở đây đâu.".

Sau khi dứt câu, không một lần ngoái đầu lại, con ếch nhảy tõm xuống ao.

Và đó là cách mà con ếch đã cứu nàng công chúa, và có khả năng cất lên tiếng nói.

Thêm font cho Linux

· One min read
Doko
Writer
  1. Mở console.
  2. cd vào folder $HOME.
  3. Copy các file font vào đây.
info

Có thể dùng script sau để tách font từ mkv, cần cài đặt thêm mkvmerge:

  1. Update font cache:
fc-cache -fv
  1. Xong.

Rusty Diary (02)

· 3 min read
Doko
Writer

Sau một thời gian làm việc với Rust theo dạng qua loa chơi chơi thì mình sẽ ghi chú lại những thứ mình nhớ được. Bao gồm từ cơ bản đến khó hơn một chút.

Rusty diary, part 2

Immutable

Mặc định biến trong rust là immutable, trừ khi dùng mut, nên nếu:

fn main() {
let x = 5;
println!("The value of x is: {}", x);
x = 6;
println!("The value of x is: {}", x);
}

Utawarerumono Timeline

· 6 min read
Doko
Writer

Thuyết tiến hóa

Trong quá trình khám phá và nghiên cứu về lịch sử phát triển của loài người về mặt sinh học. Người ta cho rằng con người được tiến hóa từ loài vượn cổ cách đây nhiều triệu năm theo thuyết tiến hóa của Darwin. Tuy nhiên ngày càng có nhiều bằng chứng cho thấy con người và loài tinh tinh hiện đại đều có chung tổ tiên, tức là đã có một bước nhảy nào đó trong chuỗi tiến hóa của nhân loại, mà ngay cả các nhà khoa học vô thần cũng phải thừa nhận. Loài này chưa được tìm thấy, hay còn gọi là Missing Link trong chuỗi, nhưng dự đoán đã có sự phân hóa từ khoảng 6 đến 11 triệu năm trước.

Đó cũng chính là nguồn cảm hứng cho cả series Utawarerumono, series Visual Novel pha yếu tố nhập vai chiến thuật (Tactical RPG) từ Leaf, một nhánh con từ công ty mẹ là Aquaplus, một hãng làm VN nổi tiếng của Nhật Bản.

Tổng quan

Utawarerumono hiện bao gồm 3 game chính:

  • Utawarerumono: Prelude to the Fallen
  • Utawarerumono: Mask of Deception
  • Utawarerumono: Mask of Truth

Trong đó game đầu tiên đã phát hành trên PC từ 2002, chưa từng có bản dịch tiếng Anh chính thức nào nhưng có bản dịch do fan làm. Đến năm 2006 thì được port lên Playstation 2, có thêm lồng tiếng, đổi gameplay và bỏ các cảnh người lớn trong game, và đến năm 2006 thì được port lên PSP.

Đến năm 2015 và 2016, 2 phần tiếp theo (Mask of Deception và Mask of Truth) được phát hành tại Nhật và 1 năm sau đó nữa thì được phát hành tại thị trường phương Tây, có tiếng Anh.

Năm 2018, bản remake của game đầu tiên được phát hành và đến tháng 1 năm 2021 thì cả 3 game đã được release lên Steam, đánh dấu sự trở lại thị trường PC sau gần 20 năm.

Bối cảnh

Đây là một series VN thể loại fantasy, lấy cảm hứng từ văn hóa Nhật Bản và người Ainu. Tiếng Ainu khác với tiếng Nhật và không có bộ chữ chính thống (cũng giống như ngôn ngữ của đồng bào thiểu số Việt Nam), nên phần tên người cũng được dịch hơi khác so với cách romaji thông thường.

Đoạn sau đây trở đi là spoiler, nên dừng đọc nếu không muốn bị spoil hết nội dung.

Rusty Diary (01)

· 3 min read
Doko
Writer

Sau một thời gian làm việc với Rust theo dạng qua loa chơi chơi thì mình sẽ ghi chú lại những thứ mình nhớ được. Bao gồm từ cơ bản đến khó hơn một chút.

Sau một thời gian làm việc với Rust theo dạng qua loa chơi chơi thì mình sẽ ghi chú lại những thứ mình nhớ được. Bao gồm từ cơ bản đến khó hơn một chút.

Flutter Architecture với Provider và Provider Architecture MVVM (phần 1)

· 9 min read
Doko
Writer

flutter

Để khỏi mất thời gian giới thiệu. Chúng ta có luôn 2 từ khoá, cũng là 2 thư viện được sử dụng để thiết kế khung code cho Flutter. Do Flutter là UI framework dạng widget/component tương tự với React, ta cũng có thể dùng Redux nhưng khối lượng code sẽ dày lên không cần thiết. Và qua một thời gian nghiên cứu, thì Provider architecture có vẻ phù hợp hơn cả:

Tại thời điểm viết bài, 2 lib cần thiết có version tương ứng là:

provider: 4.0.2
provider_architecture: 1.0.5

Chúng ta sẽ xây dựng một app đơn giản: 2 màn hình:

Đổi git remote origin

· 3 min read
Doko
Writer

git

Mặc định khi clone một project từ git (github, gitlab,…), trong thư mục của project sẽ có một thư mục con tên .git. Trong đó có một số file và thư mục có dạng: