Thứ Năm, 24 tháng 5, 2018

Tậu con RTL8812AU 802.11a/b/g/n/ac WLAN Adapter và cài đặt driver cho nó - Nhật ký Linux


Cài đặt driver.

cd 
git clone https://github.com/gordboy/rtl8812au.
cd rtl8812au
make
sudo make install
sudo reboot reboot
Lưu ý:
Vào file Makefile xóa bỏ :
ifeq ($(GCC_VER_49),1)                                                                         
     EXTRA_CFLAGS += -Wno-date-time  # Fix compile error && warning on gcc 4.9 and later    endif 
giử lại lệnh EXTRA_CFLAGS += -Wno-date-time.
Nhớ cài đặt linux-headers.

Kết quả:

Tốc độ được cải thiện rất nhiều. 
Khả năng quét và kết nối cũng cải thiện rõ rệch.

Link:

https://wiki.gentoo.org/wiki/AC1200_Wireless_Adapters
https://www.archlinux.org/packages/?name=linux-lts
https://www.archlinux.org/packages/core/x86_64/linux-lts-headers/


Thứ Tư, 23 tháng 5, 2018

Cài đặt fcitx - Nhật ký Linux

Fcitx là một phần mềm gõ tiếng việt khá ngon trên Linux.

Cài đặt trên Arch:
                         yaourt -S fcitx-im fcitx-configtool fcitx-unikey 
Vào terminal gõ fcitx
Tùy chỉnh môi trường, thêm :
          export XMODIFIERS="@im=fcitx"                   
     export QT_IM_MODULE=fcitx                                      
     export GTK_IM_MODULE=fcitx                   
     export XIM=fcitx
vào file ~/.xprofile, tạo nếu chưa có.
Logout, Login và hoàn thành việc cài đặt bằng fcitx-configtool.                                                                                                      

Thứ Sáu, 5 tháng 1, 2018

ANX01 - CodeChef

Hàm f(N) được định nghĩa như sau:
  • Gọi S là tổng số chữ số của N.
  • Nếu số chữ số của S là một thì F(N) = S.
  • Nếu số chữ số của S khác một thì F(A) = F(S) 
Tính F(A^N) với A, N ≤ 10^18.

Hàm F(N) có thể tính nhanh như sau: 
  • F(N) = 9, nếu N chia hết cho 9.
  • F(N) = N mod 9, trong trường hợp ngược lại.
Sau bao nhiêu năm cũng hiểu được tại sao có được tính chất này. Giờ ta xét N = 1998.
Ta có:
       N = 1999 = 1000 * 1 + 100 * 9 + 10 * 9 + 8 = (999 + 1) * 1 + (99 + 1) * 9 + (9 + 1) * 9 + 8
          = 999 * 1 + 99 * 9 + 9 * 9 + (1 + 9 + 9 + 8)
Cứ thế tiếp tục phân tích tương tự với tổng trong dấu ngoặc ta được giá trị hàm f(N). 
Để đơn giản ta quy ước F(N) = 0 trong trường hợp 9 | N.
Ta có:
      f(ab) = (a * b) % 9 = ((a % 9) * (b % 9)) % 9 = (f(a) * f(b)) % 9.
Từ đó suy ra f(A ^ N) = A ^ N mod 9. 
Dùng lũy thừa nhanh ta có thể qua được hết các subtask.