Firebase message push on android with the system tray

Firebase is the most widely used message push tool on Android. If the Android app on the background, both received and processed messages are processed by the system. So this article will introduce and provide a demo project for quick testing FCM.

Read More

My Samsung S20 Flashing Record in 2020

In September of this year, the new version of Samsung’s system One UI 3.0 opened the developer beta entrance, and the first batch was only open to the United States and South Korea. My Samsung S20 was purchased in mainland China, and it is also equipped with the local Samsung system. Like most regions, I use the latest One UI 2.5 version.

Read More

Config ESLint and Prettier in WebStorm

WebStorm comes with the function of Reformat Code , but it conflicts with the rules of ESLint and Prettier, so you must configure ESLint in WebStorm to use its code hint and Prettier to use its format function.

These two tools have been integrated in newer versions of WebStorm, but are not enabled by default.

Read More

Record of 2020 JetBrains Question Round 1

In the v2ex forum, I saw someone mention that JetBrains launched a challenge on Twitter and I’m very interested in it.

The following content records the problem-solving process in the past few days. There are three rounds. The difficulty is not high and it is very interesting.

Read More

Code Implementation of Levenshtein Distance

In the previous article, I mentioned that when doing fuzzy matching, Levenshtein distance was selected as the reference value. At the time, I directly used the Python library to implement it, which did not run fast in actual use.

In recent days, I have stayed at home and took the time to write several implementations of Levenshtein Distance in Kotlin.

Read More

Writing an Alfred Workflow About VPN Connection

Part of the team’s services is deployed on the internal network. Usually, when we are remotely processing some work, we need to connect to the VPN.
Although Cisco’s AnyConnect client tool can be used, it cannot save passwords for automatic login, so the OpenConnect becomes a good choice, which is an open-source command-line tool.
This article is based on the macOS platform, using Alfred’s Workflow feature to improve the portability of OpenConnect connections.

Read More

A Practice of Screen Adaptation

Android’s screen fragmentation problem has a long history. Generally, we use the same physical size on different devices. Such a solution does not completely restore the design draft, and the situation of individual adaptation will appear more frequently as the size of the project increases.

Read More

The First Experience of App Bundle

The [“Wake Up Screen”] written in spare time has been iterated over a dozen versions. As a lightweight application, the size is maintained at around 13MB because of the different architectures of the library. I tried the App Bundle this weekend and successfully reduced the app size by about 50%.

Read More

A Record of Problems with a Cross-platform Architecture Migration

Recently, we have made some cross-platform migration attempts, from pure RN architecture applications to general cross-platform applications. The migration process involves cross-platform technologies such as React Native and Flutter, and also encountered many problems. This article briefly records some of them and hoping to bring a little help to the reader.

Read More

Configuring V2ray on a Mac

Since simple-obfs is no longer maintained, I have been planning to upgrade the services I use, and recently I started to disconnect from the process of searching for information, so I decided to find time to study it. Here is the quick process of service upgrade and the trampling records.

Read More

Use IFTTT's Webhook to Implement Message Reminders

After writing the automatic check-in script, I also hope to receive the push message after each script run. I tried to send emails with 163 mailboxes, but it always triggered the anti-spam mechanism to be blocked, whether it was to change keywords or set recipients. So, look for it, use IFTTT to do the push.

Read More

Install Zsh on the Raspberry Pi

The previous article said that the Raspberry Pi, which has been idle for more than a year, has been built to build a running environment, so how can we face such an ugly Bash, of course, it must be replaced by zsh.

Read More

How to Use Printer by Android Programmable

We usually connect the printer to Windows using USB and Wifi, but for some models, the system also needs to install the printer driver. Calling the printer on Android is slightly different.

Before Android 4.4, a third-party solution was needed to implement the printing function, or a protocol for communicating with the printer was implemented. After 4.4, Android introduced the Print class as a printing tool class, such as PrintHelper for printing. Bitmap, PrintPdfDocument to print the document.

Read More

Using Unisound Realization Android Voice Broadcast

It is relatively easy to implement voice broadcast on Android. The first reaction is to use the TTS that comes with the system. However, the support for Chinese is not good. Secondly, it is inconvenient to customize the voice effect. Third-party voice broadcast solutions are a natural choice.

There are many third-party voice broadcast programs, such as Xunfei, Baidu, and Unisound. This article uses offline broadcast programs. Xunfei’s offline charges are not low. Baidu is the default network, so only Unisound is optional.

Unisound’s vision into the public should be at the launch of the Smartisan. Like every open platform, you must first register as a developer.

Read More

Get the Current Public IP Address

I saw someone sharing an open source Py library to get the current IP on v2ex, Which remind me that the proxy crawler I wrote before was verified by Taobao’s API. There are concurrency restrictions, and maybe I can change it to a better way.

Read More

Install LEMP and WordPress on Ubuntu 16.04

Yesterday, there was a need to deploy WordPress on Ubuntu server, I haven’t touched WordPress for more than two years, so I have to check the information and read how to install it. Most of the tutorials use LNMP, and most of them use PHP5.6, after all, WordPress is also a few years, here to record the installation process, to facilitate the next query.

Read More