Due to being busy in the past two months, I have been procrastinating on the summary for May until now, so I might as well combine the summaries for May and June.
After reviewing my previous summaries, I noticed a trend of including a lot of data just for the sake of it. After consulting ChatGPT, I plan to follow its suggestions for writing.
1. Goals and Objectives#
- Vocabulary ✅
- Checked in for 30 days in May
- Checked in for 29 days in June
- Reading ✅ (Met the total duration requirement)
- Checked in for 24 days in May, with a total duration of 749 minutes
- Checked in for 12 days in June, with a total duration of 360 minutes
- English reading ❌
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░ 83%
- Checked in for 22 days in May
- Checked in for 22 days in June
- Fitness ❌
▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░ 66%
- Checked in for 22 days in May
- Checked in for 13 days in June
2. Accomplishments#
Successfully obtained a driver's license#
Practicing driving and taking the exam almost occupied all of my weekends for the past two months. Physical exhaustion was just one aspect, the anxiety before the exam was the most torturous. This feeling was even scarier than final exams and job interviews.
For many years, my habit has always been to rely on extensive practice and accumulation to cope with exams. Getting a driver's license completely broke this pattern. The number of practice sessions was strictly limited by the driving school, so the anxiety caused by insufficient practice kept amplifying.
However, the result was good. After the second stage of the exam, I passed both the third and fourth stages on the first try. Now I have been a driver for almost 10 days.
Developed the habit of taking notes in English#
To increase the usage of English, I started taking notes in English these past two months. Now, except for work-related content, I basically switch to English.
My first reaction when taking notes now is to use command + space
to wake up Raycast, then use a translation plugin to translate Chinese into English, and then copy it into the note-taking software.
After a while, my typing speed for English words has noticeably improved, and when searching for information, I instinctively use English keywords.
Completed the development of the excalidraw-plugin dashboard feature#
The original intention of developing the excalidraw-plugin was to integrate some of the experiences of excalidraw+ into Logseq. The first version completed the basic whiteboard editing and preview. As one of the core features of excalidraw+, the plugin must be included.
The 1.3.0 version, which includes the dashboard feature, has been successfully released.
Implemented near real-time updates for Logseq Plugin using API Server#
When developing the excalidraw-plugin, modifying the code required a full rebuild and reload for testing, which was very inefficient.
After experimenting, I used an API Server to proxy the global logseq object, which achieved near real-time updates. The principle is to proxy the methods of the original logseq SDK and forward them to the API Server.
The implementation method is in the proxyLogseq file. It is currently not very complete, and some APIs may not be supported. In the future, I will extract a npm component and make it available for everyone to use.
Completed the minimalist project refactoring within the team#
Minimalist is a front-end and back-end project for managing physical machine test servers. It used to be two separate repositories, with the front-end using antd-pro and the back-end using NestJS. It has been running for almost a year with no major issues, but for the front-end team, which has relatively simple back-end development work, using NestJS is a bit heavy, and the learning curve for other team members is also high.
This time, I refactored it using NextJS, integrating the front-end and back-end into one project. It has the following advantages:
- The front-end and back-end logic are in one repository, and the type definitions for the interfaces can be completely reused.
- It simplifies the back-end development work, and new team members can quickly get started with modifications after familiarizing themselves with the file structure.
At the same time, taking advantage of this refactoring opportunity, I also modified the file structure of minimalist. Managing physical machine test servers is just a small part of this project. The purpose of minimalist is to provide a one-stop solution for internal tool development within the team. Domain names, databases, testing, and deployment processes are not a concern, and ideas can be quickly validated directly within minimalist.
Successfully launched a system that has been in development for six months#
After six months of development, the new system was successfully launched at the end of June. Based on the current feedback, there are fewer online bugs in the front-end, and the delivery quality has met expectations.
3. Challenges and Obstacles#
Transformation of workflow#
::: warning Challenge
During this period, I was quite busy, and my original plans were constantly interrupted by unexpected events. After a few days, I stopped making plans altogether.
:::
::: tip Resolution
The first thing I do when I arrive at the office every morning is to determine the day's plan ==(timed)==.
When encountering events that interrupt the plan, evaluate them and determine whether to include them in the plan.
Stick to using the Pomodoro Technique.
:::
Low quality of reviews and logs#
::: warning Challenge
Reviews and logs cannot be recorded in a timely manner, and most of them are added retrospectively.
:::
::: tip Resolution
Review each day at 19:30 on workdays, and conduct weekly and monthly reviews on the last day of each week and month.
:::
::: warning Challenge
The quality of reviews and logs is low, and most of them are just a pile of data.
:::
::: tip Resolution
Record logs in real-time and jot down thoughts as they come.
Use a new template for reviews.
:::
::: warning Challenge
Reviewing takes a lot of time, starting from one hour, and there is a lot of repetitive work related to data.
:::
::: tip Resolution
Currently, there is no good solution. I need to write some automated tools to work with Logseq Templates.
:::
Low quality of code reviews#
::: warning Challenge
When I was modifying code written by other colleagues, I found that even for code that had been reviewed, there were still many issues that were not discovered at the time. Generally, these issues can only be discovered by combining them with the business logic.
:::
::: tip Resolution
When conducting code reviews, try to download the code and actually run it.
:::
4. Learning and Growth#
Yield, not yield#
The driving principle taught to me by my driving instructor during the third stage of the exam was to always stay in my own lane while driving. In case of an emergency, the first reaction should be to slow down and not change lanes at will, as changing lanes may invade other lanes and easily cause accidents. In such cases, the main responsibility for accidents lies with us.
Workflow support in Warp workflow#
Users can create their own workflows for commonly used commands and support accepting parameters, making it convenient to quickly execute more complex commands.
Modifying the prompt in Warp#
warp does not support multi-line prompts, but you can switch in the right-click menu on the prompt.
5. Goals for next month#
- Continue reading English novels for a month
- Achieve two perfect weeks
- Release the first version of the team's front-end handbook