Skip to main content

26 posts tagged with "vietnamese"

View All Tags

· 12 min read
Doko

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).

· 9 min read
Doko

Gần đây khi làm việc với Aegisub và các công cụ karaoke, tôi nhận thấy việc tạo ra các hiệu ứng phức tạp liên quan đến hình học không đơn giản.

Ví dụ nếu muốn tạo hiệu ứng vỡ chữ sang các mảnh tam giác, ta cần đến thuật toán Jarviss hoặc Graham và Delauney. Trong đó:

  • Jarviss hoặc Graham: Dùng để tìm ra convex hull - bao lồi - là hình bao ngoài chứa tất cả các điểm đầu vào.
  • Delauney: Thuật toán chia convex hull thành các mảnh tam giác sao cho không có tam giác nào chồng lên nhau.

· 3 min read

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.

· 4 min read
Doko

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.

· One min read
Doko
  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.

· 3 min read
Doko

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);
}

· 6 min read
Doko

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.

· 3 min read
Doko

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.

· 9 min read
Doko

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: