Monitor Connected Devices to an ASUS Router Using Raspberry Pi

Title should have explained it all. A simple Python script to monitor if a certain device has connected to the router via Wi-Fi, and send notifications accordingly. You can use this script for whatever purpose you want1I used it to monitor whether my parent has left home when I am “seemingly asleep”. , though probably you might not be able to find one like most of others.

To use this script, you need SSH access to the router, something in your LAN that is always running (in my case, a Raspberry Pi), and the list of MAC addresses to monitor. In this example, I am using an Asus RT-AC1200GU as the router. Other brand or make might need a different command.

NLP を使わず簡単に中国語と日本語を仕分ける方法

このブログの他の記事と同じ、この記事も自分のオープンソースプロジェクトを作るときに発見したものである。音楽ライブラリーのタイトル、歌詞などのデータに読みがなをつけたいときに、中国語と日本語のテキストを区別する方法が欲しかった。ボクの音楽ライブラリーに中国語、日本語とアルファベット系の言語しかなかった。アルファベット系の言語は大した処理をいらす、簡単にソートすることができるだが、中国語と日本語はそんなに簡単ではなかった、特に漢字に対する処理の仕方が違う。

一种简单粗暴无需 NLP 的区分中文和日文文本的方法

和博客里其他大多数的文章一样,这篇文章也是来自我平时开发个人项目时候的发现。在处理我的音乐库、歌词和其他数据的标音时,我需要一种简单的方式来区分中文文本和日文文本。因为我的曲库里面基本上只有中文、日文和其他拉丁字母构成的语种。而那些拉丁语种不需要太多复杂的处理就能够直接自然的排序,而中文和日文就没有这么简单,尤其是两种语言在对汉字的处理上有着截然不同的方法的时候。

Read and Write Tags of Music Files with FFmpeg

In both my previous and recent projects, I have been working with tags (metadata) of music files. One of the reason being I am rather particular about having a nicely organised library with all tag data aligned to the same format. Until recently while I was seeking for a solution to read and write tags of (potentially) all music formats1I only have MP3, FLAC, AIFF and M4A in my library, so that’s kinda all for me., and I encountered FFmpeg, the Swiss Army Knife of media processing.

FFmpeg has always been my go-to solution for processing media programmatically or in batch, and I have recently found the way to write into the tags of music files using it. The way of doing so might be a little verbose as everything have to fit into the command line interface with other components.

Translate Text in Sphinx Templates and Configurations

Weeks ago when I was playing around with the docs of EFB and the Crowdin translation widget, I realized that the default theme for Sphinx — Alabaster isn’t really doing well in term of translation. It seems like the author isn’t really confident on that (or simply didn’t care since 4 years ago).

As the theme itself is open source, and Sphinx is flexible enough, couldn’t we just translate it ourselves? It turns out that things are not that complicated.

How to Write Integration Tests for a Telegram Bot

This is my 6th article on Telegram, the IM platform of my preference. In this article I’m going to introduce about how I wrote the integration tests for my EFB Telegram Master channel — a Telegram interface for EFB, using a userbot-like strategy.

To get started, you need to have a bot ready to be tested, and a Telegram client app key that is registered with your account. While alternative tools are available, we will be using Telethon and PyTest in this article.

Telegram Chat Backgrounds/Patterns Extracted

Here is a collection of all extracted chat background/patterns came with Telegram in their original resolution, extracted from Telegram for Android 5.14.0. In Telegram, they are also sometimes called Wallpapers.

This consists of 39 photographs that are there since no long after first Telegram release, 7 patterns in PNG added sometime after that, and 33 patterns in SVG (vector) added recently in 2019. All patterns are monochrome — black drawings and transparent background.

Awesome Command Line Tools

This is a list of awesome command line tools collected by SelfhostedServer. They have provided a detailed article for each of the tools in their paid membership subscriptions. The list below is based on the list of article titles from SelfhostedServer which are freely available, and attached with a short description from each project.

If you are interested in reading more about these tools, I’d recommend you to subscribe to the articles on SelfhostedServer (in Chinese).