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.