Fix: Gitg doesn't use monospace font in Ubuntu

In my work, I always use Git as command line. But I often use a GUI program to have better view on version history. Gitg is my usual choice.

Since the inclusion of Gtk3-based Gitg in Ubuntu, some annoying bugs have started to appear. One is that Gitg's source view doesn't respect Monospace font setting of the desktop environment.

Imgur

I filed a bug report to Gitg developers, but it seems that it is Ubuntu theme problem, so no fix for Gitg is given.


Phần mềm nguồn mở và chủ nghĩa xã hội

Bài viết này Why We Chose Vue.js ví von tếu thật: Nếu như Backbone là vô chính phủ (không ai lãnh trách nhiệm), Angular là chế độ độc tài thì Vue.js là chủ nghĩa xã hội.

Nói tới sự tương quan giữa phần mềm và chính trị mới nhớ, phong cách của phần mềm nguồn mở giống như chủ nghĩa xã hội: làm theo năng lực, hưởng theo nhu cầu. Bạn viết phần mềm với một tâm thế không mong cầu lợi nhuận (mặc dù phần mềm nguồn mở vẫn trả lại lợi ích cho bạn một cách gián tiếp), bạn viết phần mềm rồi quăng mã nguồn ra cho cộng đồng, ai thích xài thì xài, ai thấy cần cải tiến thì cứ việc sửa trên mã nguồn đó rồi lại đóng góp trở lại cho cộng đồng. Mà khi bạn cho không phần mềm cho cộng đồng, không có nghĩa là bạn quăng ra cái đống bùi nhùi cẩu thả. Các dự án phần mềm nguồn mở đều đặt chất lượng và tính cộng tác lên hàng đầu, nên code phải viết cẩn thận sạch sẽ, test tiếc cẩn thận, tài liệu rõ ràng đầy đủ. Phần mềm nguồn mở không bị áp đặt về thời hạn hoàn thành nên không có lý do gì để rút ngắn công đoạn.

Phần mềm nguồn mở đã trở thành một dòng chảy, một xu thế không thể cưỡng lại. Những cái tên quen thuộc như Chromium (lõi của Chrome và Cốc Cốc), Firefox, Android, UniKey, Java, Python, NodeJS, MySQL... đều là phần mềm nguồn mở. Microsoft trước kia là "thế lực thù địch", từng cố gắng thuyết phục khách hàng tránh xa phần mềm nguồn mở bằng câu nói "Linux là cộng sản" (vâng, đây gọi là sự "tự do tư tưởng" của nền chính trị Mĩ, khi gắn vào đầu người dân một mặc định "cộng sản là thứ xấu xa"). Thế nhưng 2 - 3 năm gần đây Microsoft đã chuyển hướng về phía phần mềm nguồn mở một cách mạnh mẽ và đóng góp nhiều vào các dự án khác nhau.

Cũng giống như phong trào CNXH ngoài đời thực, khi một số quốc gia tự xưng CNXH lại có màu sắc "độc tài" trong đó, thì một số dự án phần mềm nguồn mở lớn cũng xoay quanh những "nhà độc tài", mà các lập trình viên trong đó gọi vui là "Benevolent Dictator For Life", như Linux, Python.

...

Chuột không dây mau hư, cứu làm sao

Sử dụng chuột không dây, chắc anh em sẽ "đau lòng" khi mới xài được mấy tháng mà chuột đã ngưng hoạt động, thay pin mới vào cũng không dậy được. Mà loại chuột này lại đắt tiền, vứt đi thì tiếc.

Tin vui cho anh em là đa số các trường hợp khi chuột không dây ngừng hoạt động, không phải là chuột đã hư, mà có vấn đề nơi ổ pin. Đa số chuột dùng pin tiểu, nặng nề nên lâu ngày làm lỏng lò xo nơi điện cực dương. Lò xo lỏng khiến độ tiếp xúc yếu, điện không từ pin vào chuột được.

Ổ pin

Cách khắc phục rất đơn giản, chỉ cần cầm đầu lò xo kéo ra cho lò xo giãn ra lại, khiến lò xo ép vào pin chặt hơn. Vậy là ta lại tung tăng cùng chuột đi khắp nơi rồi.


Creating PostgreSQL cluster in portable hard drive

I'm working as a part-time software developer for EasyUni. Its database is so huge that I cannot install on my laptop's internal HDD. I have to look for a way to install it in my portable HDD.

My solution is to create a second PostgreSQL cluster with data directory residing in my portable HDD. This cluster must not be started up automatically, because the portable HDD is not always attached. So my command to create this second cluster is:

sudo pg_createcluster 9.5 second -d /media/quan/Quan-Backup/Postgres/second --start-conf=manual
...

Bất cập của IoT

Trong phong trào Internet of Things, khi mà báo chí công nghệ suốt ngày tung hô về nó, mình lại đón nhận nó với sự dè dặt. Vì mình hiểu các tay nhà báo công nghệ đa số viết bằng tinh thần marketing, đa số bài báo gốc được viết ở Âu Mĩ, nơi điện hầu như không bao giờ cúp và Internet nhanh gần như mạng LAN, nơi hiếm khi phải gọi cho nhà mạng để thông báo sự cố rớt mạng.

Vì thế hệ thống giám sát & điều khiển cho nhà trồng tự động hóa của mình chạy trên mạng LAN là chính, chỉ sử dụng Internet khi các "bác nông dân" tụi mình muốn truy cập vào hệ thống từ nhà ở (không ở gần vườn).

Hệ thống đi vào hoạt động chưa được 1 tháng mà đã mấy lần nếm quả đắng với Internet khi mà buổi tối bỗng rớt mạng, từ nhà không thể truy cập vào để bật máy bơm lên được. Lúc này, mình mới nghĩ, may mà mình không đi theo trào lưu IoT, đưa bộ điều khiển trung tâm lên cloud, không thì mọi giao tiếp bị "đứt gánh" luôn. Những lúc rớt mạng thế này, nếu là ban ngày thì mình vẫn có thể xách máy chạy ra vườn để truy cập vào hệ thống qua mạng LAN.


Repository cho Ubuntu ARM gần Việt Nam

Mình có vài con máy tính mini như Raspberry Pi, BeagleBone Black/Green. Đã từng muốn thử cài Ubuntu lên BeagleBone, nhưng ngặt nỗi khi cài xong, muốn cài thêm phần mềm thì download lâu quá, do không tìm thấy repo nào gần Việt Nam. Thế là bỏ, quay về lại Debian.

Hiện giờ Raspberry Pi của mình đang chạy Arch Linux ARM. Một điều lạ là Arch Linux không phổ biến bằng Ubuntu nhưng bản Arch Linux ARM lại có mirror ở Đài Loan, gần Việt Nam (chung tuyến cáp quang biển AAG) nên download rất đã.

Hôm nay trong lúc đang chờ upgrade Arch, lại lần mò thử xem Ubuntu ARM có mirror nào mới chưa thì vui mừng phát hiện ra các mirror này:




Trang web chia sẻ file tốc độ cao tại Việt Nam

Khi chia sẻ file, người ta thường nghĩ tới các dịch vụ như mediafire.com, 4shared.com. Nhưng các trang này đều ở nước ngoài nên tốc độ upload, download không được nhanh, đối với người dùng không trả tiền. Sẽ tốt hơn nếu ta sử dụng các dịch vụ trong nước, để hưởng lợi thế về tốc độ mạng trong nước. Sau đây là danh sách các dịch vụ chia sẻ file trong nước (không bắt buộc trả phí):

  • Fshare: Dịch vụ của FPT. Nổi tiếng không phải bàn.
  • tenlua.vn: Cũng khá nổi tiếng. Tên dễ nhớ.
  • Secufiles: Không biết công ty nào đứng đằng sau. Có thể là sản phẩm của một cá nhân.
  • UpFile: Tên cũng dễ nhớ. Không có tài khoản trả phí.
  • chiase.io: Tên dễ nhớ. Đang trong giai đoạn thử nghiệm. Giao diện sạch sẽ, không có quảng cáo.

Ubuntu chạy sai giờ sau khi upgrade

Sau khi upgrade Ubuntu cho server, mình đã không để ý là đồng hồ trên nó bị chạy sai, cho mãi tới hôm nay vào kiểm tra mới thấy.

Lí do là các bản Ubuntu cũ, khoảng 15.04 trở về trước, sử dụng ntpdate/ntpd để cập nhật giờ với Internet, nhưng Ubuntu mới, từ 15.10, khi bắt đầu ứng dụng systemd vào quản lý quá trình khởi động thì làm cho ntpd không còn chạy chính xác nũa. Với hệ thống mới này thì nên dùng systemd-timesyncd để cập nhật đồng hồ với Internet. Lệnh do-release-upgrade dùng để nâng cấp Ubuntu không tự động chuyển đổi từ ntpd sang systemd-timesyncd cho ta, nên ta phải tự thay đổi cấu hình lấy.

Sau đây là cách làm:

B1. Sửa đổi /etc/systemd/timesyncd.conf. Ban đầu nó chỉ có: