Weekly Technical Report for Early January 2023

As we enter 2023, the year ahead is expected to be challenging. One major task is migrating all services from physical servers to the cloud. In parallel, several new team members need to be onboarded quickly and brought up to a level where they can independently handle production issues and optimize services. This will allow me to gradually transfer routine work and focus on more long-term and critical goals. At a personal level, I also feel that I have reached a stage where my technical growth will significantly influence my direction over the next 7–8 years. ...

January 20, 2023

Technical Review for the Fourth Week of December 2022

This week I contracted COVID-19 and stayed at home for nine days. Despite being unwell, the most critical task was assessing the impact of launching a high-traffic mini program on the core services I was responsible for. This mini program aligned closely with user demand at the time, and a significant traffic surge was expected. Previously, I had already evaluated and scaled the system for a major feature launch. However, after sending notifications to hundreds of millions of users, the system experienced a large number of timeouts. ...

January 19, 2023

Technical Review for the Third Week of December 2022

This week, my main focus was optimizing a Java service that had long been experiencing abnormal CPU behavior. At first glance, the issue appeared to be that CPU usage could not scale up under load. A natural starting point was to check whether the service was constrained by an insufficient number of worker threads. However, further observation revealed a different pattern: CPU usage could increase, but once it did, the system quickly ran into severe timeout issues. ...

January 19, 2023

Weekly Technical Report for the Second Week of December 2022

This week’s work focused on reviewing the systems I am responsible for and identifying potential risks, particularly in preparation for cloud migration. Several key issues were identified, mainly around: how to safely migrate existing data to the cloud how to transform the current single-region deployment into a multi-region architecture how to resolve inconsistencies between on-premise and cloud data Another important finding was that some services still rely on on-premise databases, which should eventually be phased out. However, these are legacy systems, and making direct changes carries risk. Before taking action, it is necessary to thoroughly analyze: ...

December 14, 2022

Weekly Technical Report for the first week of December 2022

This week’s work, to summarize, is mainly to put a core service on the cloud, and then constantly switch the nodes under the cloud into traffic forwarding nodes. The first step in the cloud is to deploy the service node in the cloud environment: migrate the configuration files, environment, and then compile the image for the cloud environment according to the stable version of the code, and then let the service run up in the cloud environment. ...

December 9, 2022

Weekly Technical Report for the Fourth Week of November 2022

This week, my main task was optimizing a Java service that exhibited abnormal timeout behavior. Even under low production traffic, the service experienced batch timeouts. At the same time, CPU usage remained consistently low and never increased under load. This strongly suggested that the system was not CPU-bound, but rather blocked on some operations. Most services I have worked on, including this one, are IO-intensive. They rely heavily on RPC calls, where worker threads often block while waiting for responses. To mitigate this, such systems typically use a large number of worker threads to ensure that new requests can still be processed even when many threads are blocked. ...

November 28, 2022

Technical Review for the Third Week of November 2022

This is the first of my technical reviews, mainly intended as a reflection on my experiences so far and as a starting point for future summaries. I have been working at the company for nearly six months, and recently transitioned from client-side development to backend development. This shift aligns with my long-term thinking, as backend work tends to expose more complex system-level problems and offers broader technical exploration. That said, I do not believe there is an inherent hierarchy between client-side and backend development. My earlier open-source project, GpgFrontend, is a client-side application where I dealt with complex issues such as cross-platform compilation, compatibility, and stability. These problems are by no means simpler. The perceived difference often comes from mindset rather than the nature of the work itself. ...

November 21, 2022

Fix grub2 boot UEFI after Ubuntu dual system reinstallation of Windows

If you have installed Ubuntu and Windows and then reinstalled Windows. Then the Grub boot entry will most likely be overwritten by Windows Boot Manager and you won’t be able to enter Ubuntu at that time. But don’t panic, follow the steps below to fix grub2 boot without installing additional software. Creating a USB boot disk for Ubuntu In order to repair the boot entries, we need to use the software tools provided with the Ubuntu system. Although we can’t get into the original Ubuntu system for now, we can use the image written on the Ubuntu USB stick to get a working basic Ubuntu environment. Download the image file from the Ubuntu website. ...

November 26, 2021

Implementation of a Hybrid Simulated Annealing Algorithm for Solving the Three-Dimensional Boxing Problem MATLAB

As I need to solve a three-dimensional packing problem in mathematical modeling, I have selected the paper “Hybrid Simulated Annealing Algorithm for Solving Three-Dimensional Packing Problems” published by Prof. Zhang Defu et al. in the Journal of Computing as the theoretical basis of the problem after searching. The abstract of the paper is as follows: A hybrid simulated annealing algorithm for efficiently solving the Three Dimensional Container Loading Problem 3D-CLP is proposed . The Three Dimensional Container Loading Problem (3D-CLP) requires loading a subset of a given set of boxes into a container such that the total volume of the loaded boxes is maximized. The hybrid simulated annealing algorithm presented in this paper is based on three important algorithms: (1) the composite block generation algorithm, which differs from the traditional algorithms in that the composite block proposed in this paper does not contain only a single type of crates, but can contain any type of crates under certain constraints. (2) Basic heuristic algorithm, which is based on block loading and can generate a placement scheme according to a specified loading sequence. (3) Simulated annealing algorithm, based on composite block generation and basic heuristic algorithm, encodes the loading sequence as a feasible placement scheme, and searches the encoding space using simulated annealing algorithm to find the approximate optimal solution of the problem. The algorithm is tested using 1,500 weakly and strongly heterogeneous data for the packing problem. Experimental results show that the fill rate of the hybrid simulated annealing algorithm exceeds that of the best known algorithms. ...

September 30, 2021

TransRepair: Automatic Testing and Improvement of Machine Translation

Recently, I read a research paper called TransRepair: Automatic Testing and Improvement of Machine Translation. The paper describes a methodology called TransRepair for automated testing of machine translation models under the software testing domain. Below, I will summarize the paper in several ways and discuss the key points. Introduction to TransRepair TransRepair is a method for automatically detecting and fixing conformance problems in machine translation software. It provides both black-box and gray-box approaches to address machine translation software conformance issues.The main steps of TransRepair include generating test cases, creating test guidelines, and automating the repair process. The method provides clear, rigorous and detailed algorithms for test case generation and uses four methods for quantifying sentence differences for comparison. In addition, TransRepair utilizes the principle of structural consistency as an assertion and provides a comprehensive experimental design and diverse results. ...

September 30, 2021