Gần đây mình phát hiện có một loại phế phẩm từ côn trùng có khả năng thu hút chim yến rất tốt.
Đây là hình ảnh của phế phẩm đấy.
Gần đây mình phát hiện có một loại phế phẩm từ côn trùng có khả năng thu hút chim yến rất tốt.
Đây là hình ảnh của phế phẩm đấy.
Tốc độ mạng nội bộ không cao. Chọn server ở Singapore nhưng khi download các gói Debian từ http://mirrors.service.networklayer.com/ thì tốc độ chỉ ~200 kB/s. Nếu chọn repo http://mirror.0x.sg thì tốc độ lên tới 3MB/s.
Khách đi chơi Vũng Tàu khi về lại TpHCM thường ghé qua chợ Bà Rịa mua hải sản khô. Tuy nhiên, do trưng bày ngoài trời, đón nắng nhiều nên mực ở đây thường quá khô.
Có một địa điểm bán mực khô khá ngon, nhưng nằm ẩn đến nỗi người ở gần cũng không biết, đó là ở siêu thị Mắm Trí Hải, ở tòa nhà Trung tâm Thương mại Bà Rịa (2 tầng) cạnh chợ. Tòa nhà này vốn bán đồ may mặc nên việc mua được hải sản ở đây là điều rất bất ngờ. Thậm chí nếu bạn vào đây hỏi người bán ở đây rằng chỗ nào bán mực, họ cũng sẽ chỉ ngay bạn sang khu chợ Bà Rịa!
Thế nên, thay vì hỏi đường, hãy cứ vào tòa nhà bằng cửa trước, leo thang bộ lên tầng 2. Siêu thị Trí Hải nằm ở góc phía trước, vào đó mà lựa.
Download image here: https://rcn-ee.com/rootfs/
Example file to download: https://rcn-ee.com/rootfs/2018-02-09/flasher/BBB-eMMC-flasher-debian-9.3-console-armhf-2018-02-09-2gb.img.xz. We should get Debian one, over Ubuntu.
If the file name starts with BBB-eMMC-flasher
, this image will automatically run the flasher tool when the BeagleBone boots from Micro SD card, we don't need to press the button near to the Micro SD slot to activate the flasher tool.
We should use bmap-tool, instead of dd
, because the later is very slow.
Bảo tàng là một nơi mà mình luôn tìm đến khi đi du lịch ở một nước nào đó. Ở Malaysia, khá may là Bảo tàng Quốc gia (Muzium Negara) được đặt ở ngay gần bến xe trung tâm, tiện đường tìm đến (vì ai đến Kuala Lumpur mà chả phải đi qua KL Sentral).
Tuy nhiên, khu vực xung quanh Muzium Negara lại là "khu rừng mini" (Lake Garden) với nhiều con dốc, nên đường sá lại toàn đường cao tốc vòng vèo, không có đường phố thẳng băng. Người mới đến đây không rành đường phải đón taxi sẽ phải đi vòng một đoạn dài để đến được Bảo tàng, dù khoảng cách chim bay rất ngắn. Vì vậy mình sẽ hướng dẫn một lối đi bộ tắt đến Bảo tàng, bằng hình ảnh lượm trên mạng (vì tiếc là hồi còn sống ở KL, mình không chụp hình).
Để tiện hướng dẫn, hãy bắt đầu bằng việc đứng giữa sảnh của nhà ga. Sau đó, hãy tìm lối thang bộ đi lên "KTM Intercity"
Recently, I stumbled upon an annoying issue with Python's asyncio
module, that is asyncio.wait
terminating your program with "success" status when error occurs.
Normally, when exception occurs, and you don't want to recover from it (with try... except
), your program will exit as failure (non-zero exit code). However, if you have this code:
asyncio.wait(futures)
BeagleBone Black khi bán ra thường được cài sẵn Debian 7 (Wheezy). Đây là phiên bản quá cũ (phát hành 2013) nên các phần mềm đi theo nó thường không đáp ứng đủ nhu cầu. Ví dụ tại AgriConnect, tôi viết phần mềm để chạy trên BeagleBone, dùng ngôn ngữ Python, cần những feature của Python 3.5 trở lên. Thế nhưng trong repository của Debian 7 chỉ có Python 3.2. Việc cài Python từ source code thì hơi bất tiện vì quá trình biên dịch khá nặng trong khi sức mạnh CPU của BeagleBone thì có hạn. Bởi vậy, tốt hơn thì nên nâng cấp Debian để sử dụng phần mềm, thư viện mới hơn từ repo của nó. Ví dụ, Debian 8 (Jessie) thì có Python 3.4, Debian 9 (Stretch) thì có Python 3.5.
Để nâng cấp Debian thì tôi thường lấy image từ https://rcn-ee.com/rootfs/. Để ghi image ra thẻ nhớ thì tôi không dùng dd
, mà dùng bmaptool
để cho tốc độc cao hơn và biết quá trình ghi tới đâu.
Khi nâng cấp Debian thì có một điều cần lưu ý là nên nâng cấp từng bước, từ 7 lên 8, 8 lên 9, chứ không nên nhảy cóc từ 7 lên 9. Lí do là bị vướng bootloader và tính năng bật tắt cape của BeagleBone.
Hiện nay, trên https://rcn-ee.com/rootfs/ không còn image Debian 8 nữa. Tôi đã kịp giữ lại một bản sao ở đây: http://quan.hoabinh.vn/Downloads/BeagleBone/Debian-2016-04/.
I'm building IoT gateway based on BeagleBone Black at the startup AgriConnect, with Python as the primary programming language.
When the application grows complex, the board shows to be weak. We cannot find stronger board than BeagleBone, so the only option is to try to make our app run lighter. We try to adopt latest Python version, now is 3.6, to take advantage of optimization work in them. The latest Debian image for BeagleBone is stretch (Debian 9), which doesn't include Python 3.6 in its repository.
There are some backport packages of Python 3.6 for Debian 9, but only for amd64 arch. Fortunately they provide a build script. I can use it to build for armhf arch, which is in BeagleBone boards.
How to build for armhf? The board is weak, we should not run the build process directly on BeagleBone. It can take some days!
Hôm nay là một ngày sau ngày tôi trở về từ chuyến đi tình nguyện bảo tồn rùa biển. Phải dành hai giấc ngủ để hồi phục sức lực, để có thể ngồi đây và ghi lại những kỉ niệm. Công việc trước mặt đầy bề bộn, vì một tuần vắng mặt, và còn một chapter truyện tranh One Piece mới ra chưa kịp đọc, nhưng tôi cứ để đó. Tranh thủ ngồi viết lại những dòng này, khi cảm xúc vẫn còn lâng lâng, kẻo sau này nó tan biến mất thì không còn gì để viết nữa.
Tôi biết đến chương trình tình nguyện bảo tồn rùa biển này một cách tình cờ. Cần giải thích thêm đây là chương trình khác với chương trình tại Côn Đảo. Chương trình tại Côn Đảo do IUCN, "Liên minh Bảo tồn Thiên nhiên Quốc tế", tổ chức và tôi đã nghe đến từ trước, dù không có điều kiện tham gia. Còn chương trình tôi vừa đi tại Vườn Quốc gia Núi Chúa, Ninh Thuận thì do nhóm Gia đình em yêu thiên nhiên Việt Nam tổ chức. Là một người yêu động vật (hơn cả người, trừ con gái) nên tôi tham gia nhóm Sinh vật rừng Việt Nam với tư cách "lót dép ngồi hóng". Năm ngoái tôi bắt gặp một bài đăng trong nhóm về việc mở lớp đào tạo kĩ năng đi rừng. Bài này lại được đăng chéo từ nhóm Tình nguyện viên cứu hộ rùa biển qua, vì lớp học này là gom "kĩ năng sống trong rừng" với "kĩ năng nhận dạng và cứu hộ rùa biển" vào một buổi. Mặc dù liếc thấy chữ "cứu hộ rùa biển" nhưng tôi không để tâm lắm, vì tôi nghĩ phần cứu hộ rùa biển này là dành cho người đã là thành viên từ trước, không phải tay ngang như tôi. Tôi đến lớp với mục đích ban đầu là để học kĩ năng đi rừng. Đó là một buổi học thú vị. Tôi lắng nghe một cách say mê về những mẹo đốt củi, mẹo chọn đất dựng lều, mẹo lội suối đá, về sự hữu dụng của những thứ nghe như không liên quan như bao cao su, băng vệ sinh trong việc đi rừng, về những loại cây độc, ăn được, nhưng chỉ được một lần, và những loại rắn độc, có loài thích giấu mình dưới đống lá khô, để khi mình lỡ đạp chân lên thì "bặp bặp", xong đời. Rồi tôi lại nghe say mê với những kiến thức về cuộc đời của rùa biển, về tập tính "mẹ thích thì mẹ đẻ, không đẻ năm nay thì để năm sau" của các mẹ rùa biển, về việc phải làm trẻ thơ suốt 35 năm mới được yêu, về cuộc đời mà phần lớn thời gian là "biến mất" khỏi sự theo dõi của con người. Đây là lần đầu tiên tôi thấy anh Phùng Mỹ Trung, người mà tôi đã để ý đến tên từ 12 năm trước (2015). Hồi đó, những năm đầu vào đại học, tôi có tham gia viết bài cho một số tờ báo về công nghệ, tin học. Một trong những tờ mà tôi cộng tác là tờ Khoa học & Ứng dụng (KH&UD) của Sở KHCN Đồng Nai. Là một tạp chí nhỏ, tỉnh lẻ nên nhuận bút không cao và họ thường gửi báo mới về cho tôi. Trong một số, tôi bắt gặp bài giới thiệu về phần mềm "Sinh vật rừng" của Phùng Mỹ Trung. Nội dung phần mềm nghe đã hấp dẫn mà thông tin tác giả cũng thú vị, vì nghề nghiệp của tác giả vừa là "công nghệ thông tin", lại có "kiểm lâm" rồi "hải quan" nữa. Kiểm lâm mà biết làm phần mềm, coi bộ "hàng hiếm" à. Phần mềm phát hành dưới dạng đĩa CD mà tôi lại không thấy CD bán ở các cửa hàng vi tính nên không mua được. Hồi đó tôi hơi ngu và nhát nên không nghĩ đến chuyện nhờ báo KH&UD Đồng Nai mua giùm. Sau này, nhờ search tên phần mềm mà tôi lần ra website vncreatures.net, phiên bản online của phần mềm CD kể trên. Sau vài năm nữa thì tôi lần ra nhóm Facebook "Sinh vật rừng Việt Nam" và dẫn dắt tôi đến với chương trình bảo tồn rùa biển này.
Dông dài tí, giờ quay lại với chuyện rùa biển. Sau lớp học hôm ấy thì tôi quyết định tham gia nhóm cứu hộ rùa biển luôn, vì trong lớp học, "bác Trung" có bảo là vẫn còn đang tuyển người. Sau buổi học lý thuyết thì tới một ngày học thực hành về kĩ năng đi rừng đêm tại Thác Mai, Đồng Nai. Đó là lần đầu tiên tôi được đụng đến lều dã ngoại và lần mò cách dựng lều. 9 giờ tối chúng tôi được lùa vào rừng, chia nhóm để mò đường về trại. Dẫn đầu nhóm là Tân, một chuyên gia phượt, đã quen với việc đi rừng nên chúng tôi hoàn tất hành trình khá nhanh. Tôi không được thoả mãn cho lắm. Không có tiết mục một nhóm bị lạc và nhóm kia đi tìm. Nhưng tôi vẫn còn nhớ cái cảm giác hoang mang khi tất cả đèn pin được tắt, nhìn xung quanh chỉ một màn tối om. Cái cảm giác chơ vơ không biết mình ở đâu, không biết xung quanh mình có gì, và những con ma trong tưởng tượng có thể ào ra hù mình bất kì lúc nào. Trong ngày học thực hành hôm ấy, chúng tôi được giảng lại về rùa biển. Lần này thì không được say mê cho lắm vì tôi đã nghe rồi. Chúng tôi đã có một đêm ngủ lều trên những tảng đá ven bờ suối, quây quần bên đống lửa đêm, nghe tiếng đàn ca, nghe tiếng nước chảy róc rách qua kẽ đá, nhìn trời đầy sao, nghe sương lạnh thấm qua lớp áo, rồi ngắm mặt trời lên, nhìn những làn khói nước buổi sáng lan tràn, phủ mờ mặt suối. Và rồi chúng tôi chia tay nhau, trở về để chờ đợi trong mòn mỏi và hào hứng chuyến đi thực tế ra VQG Núi Chúa để gặp các bạn rùa.
Một tháng, hai tháng trôi qua... Được sáu tháng thì tới lượt tôi lên đường, vì tôi được xếp vào nhóm 9 (đi vào tuần 9 của chương trình). Trước ngày đi một tháng thì tôi đã nôn nao tới mức thu gom các bạn cùng nhóm, lập một Facebook group để thảo luận việc chuẩn bị. Nhưng việc thảo luận chẳng tới đâu vì các bạn trong nhóm rất im hơi lặng tiếng, và nhân sự thay đổi xoành xoạch. Chuyến đi sẽ kéo dài 1 tuần, nên có những bạn bị vướng kì thi, hoặc không xin nghỉ phép công ty được, phải chuyển nhóm lên xuống, tới lui. Đối với tôi thì dễ, mặc dù đầu tắt mặt tối nhưng lịch làm việc của tôi co giãn được, do hiện giờ tôi không chịu sự quản lý của một công ty nào cả. Cần nghỉ thì chỉ việc báo trước. Và rồi một tuần trước khi đi, chúng tôi hẹn gặp nhau offline. Nhóm có tám người nhưng cuộc gặp mặt chỉ có ba! Hẹn nhau lúc 8h30 nhưng do ước lượng thời gian di chuyển sai nên tôi đến sớm 30'. Đây là lần hiếm hoi ước lượng sai mà tôi lại đến sớm, chứ thông thường từ Thủ Đức vào trung tâm thành phố, tôi toàn đi lâu hơn dự tính, thành thử đến trễ. Tại đây tôi gặp hai người đầu tiên của nhóm: Kim Ngân và anh Tiến. Anh Tiến là người sẽ rơi vào tình huống éo le sau này, vì ban tổ chức ghi nhầm tên anh thành Tiên, thiếu mất dấu sắc. Kết quả là giấy chứng nhận VQG cấp ghi sai tên anh. Nhận giấy chứng nhận ghi tên một người không phải là mình, chắc cảm giác không được thoải mái cho lắm. Cảm giác của tôi lần đầu gặp Kim Ngân là cô ấy hơi trẻ (vì nhỏ con) và... giống con trai! Lần đầu gặp mặt, tôi là một kẻ xa lạ nên Ngân ngại ngùng, ít nói. Trái ngược với sự rụt rè của Ngân, anh Tiến lại tỏ ra là một người hay nói, dễ bắt chuyện. Anh Tiến trông cũng khá trẻ so với tuổi. Đến hôm đó tôi mới biết là có hai bạn trong nhóm rút lui khỏi chương trình, thông qua nguồn tin rò rỉ từ bạn bè. Cả BTC lẫn hai bạn rút lui đều không thông báo cho nhóm. Có vẻ việc giao tiếp, liên lạc giữa BTC và TNV không được tốt. Thiếu người, giao tiếp chưa tốt nên việc phân công chuẩn bị đồ đạc cũng chưa rõ ràng. Tôi cũng hơi lo không đủ người để chia nhau canh bãi rùa. Mấy hôm sau thì tôi nhận được tin nhắn của Khuê, một TNV nhóm 7, báo rằng em sẽ tham gia nhóm tôi. Khuê và Long, một trong hai trưởng nhóm, là hai người mà tôi đã gặp trong lần đi Thác Mai.
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.
I filed a bug report to Gitg developers, but it seems that it is Ubuntu theme problem, so no fix for Gitg is given.