I woke up before 6 a.m. today. Though I couldn’t fall back asleep, I didn’t get up right away. Instead, I stayed in bed scrolling through my phone and came across a thought-provoking comment on Zhihu about “removing primary school-level education from kindergarten.” One part of the comment really struck me:
“Hiring graduates from prestigious universities like 985 and 211 schools doesn’t even require offering a high salary or using manipulative motivation tactics; just pile the work on them. The dedication to progress, sense of responsibility, and meritocratic values instilled by the education system will naturally push them to invest time and get things done—working overtime if necessary. They can’t help themselves.”
This sentiment captured exactly how I’ve been feeling lately. Last night, after playing badminton, I gave a colleague a ride on my e-bike, and he remarked, “I’m barely into my job here, and I’ve already seen such intense overtime.” I couldn’t help but wonder: if I don’t throw myself completely into this, how should I approach situations like this?
After I got up, Hamer also got up on her own, washed up, and got dressed. She was moving slowly, but today I didn’t urge her on. When we were leaving, she insisted on bringing an umbrella. We searched for a while but couldn’t find the one she wanted. I handed her an umbrella that she had decorated herself before, but she didn’t want to risk getting it wet. In the end, we decided not to use an umbrella and rode the e-bike through the drizzle.
The light rain continued throughout the day, and when I got home in the evening, it was still falling, which disrupted our plans to play badminton. Hamei was a little disappointed, so instead, I played with her at home for a while. Looking over her school log, I noticed she didn’t have too many tasks. But when it came time to review math, she was visibly reluctant and seemed irritable, though I couldn’t figure out exactly why.
As it was almost time to go shopping, I told her to get changed. Unexpectedly, she kept changing her clothes several times until she was satisfied. Then, while looking for her socks, she couldn’t find the pair she’d just taken off, which made her frustrated. Watching her impatiently search from the doorway, I asked, “Is there another way? Maybe you could check one item at a time, or put on a different pair, or even go without socks?” But she stubbornly insisted on finding the exact pair she’d taken off and wouldn’t look on her own; she grew increasingly upset and started crying.
I didn’t help her and stood by, feeling a bit annoyed myself. Then she got angry at me, picked up her grandma’s phone, and called Xiaoyan to complain, telling her she didn’t want to go to Hema with me. Xiaoyan patiently comforted her and suggested she could walk there by herself with an umbrella. Hamer immediately brightened up at this idea. After finding her socks with grandma’s help, she picked up the umbrella and dashed out the door without a backward glance.
On the way, she walked along the sidewalk while I rode my e-bike in the adjacent bike lane. At one point, she even jogged alongside me with a slight look of determination on her face. Watching her run like that made me feel a mix of amusement and relief. When we arrived at Hema, her mood had mostly settled. Though she still mentioned being “mad” at me, it was clear she was feeling much better.
Back at home, Xiaoyan and I ate dinner while Hamer practiced her eye exercises, and then she reviewed her math lessons.
The workload today was relatively light; most of it involved following up on recent changes to the RT module and compiling a list of technical points worth studying in depth. I spent quite a bit of the afternoon troubleshooting an issue with S123 authentication. I couldn’t make any headway until a colleague informed me that the version I was using didn’t yet include the necessary hotfix.
In the evening, I didn’t do anything particularly noteworthy. I applied for an Apple account for Hamer, removed a few categories from my blog only to realize that some articles were no longer visible as a result, and followed up on some questions regarding domain migration. There wasn’t much that felt especially fulfilling, and by the time it reached past eleven, I ended the day feeling a bit unsatisfied.
In the morning, Hamer was moving a bit slowly. When I saw that it was already close to 7:40 and she was still leisurely getting dressed, I started feeling a bit frustrated and couldn’t help but raise my voice, reminding her, “What about your jacket? Your water bottle? Your hat?” In my impatience, I didn’t properly respond when, on her way down the stairs, she said, “I’m still afraid of language class.” I knew she felt nervous about it, but in my rush, I brushed off her feelings, and that left me feeling a bit guilty throughout the morning.
After playing badminton this evening, I bought her a small chocolate as a token of apology, though I didn’t say anything about my intention. Before bed, I talked with Hamer about her fear of language class. Our conversation seemed to bring her some comfort. I shared with her my impression of the language teacher from the last parent-teacher meeting, telling her I found the teacher quite strict—even I felt she was hard to deal with, so it’s only natural for kids to feel intimidated. I also mentioned that last month, when we visited Ms. Yang, her language teacher made a point of complimenting her performance, letting her know that the teacher values and acknowledges her. Hamer, too, shared a moment when the teacher seemed warm—she’d gone up to the teacher with a piece of paper, and the teacher, smiling, asked her, “Got it now?” Hamer had smiled shyly back. This small interaction seemed to ease her a lot. We also chatted briefly about her P.E. teacher, and she laughed, saying he’s quite funny, always jokingly calling her by her full name, “Yi·Duan’er.”
When I woke up this morning, I remembered her mention of language class and realized she’d been learning initials and finals in pinyin lately. So I found some resources on Spotify for her and played them as she got ready. I hoped the audio would help her feel a bit more familiar with the material. For breakfast, we tried a new type of mini corn we’d bought. Though small, the kernels were plump and tasted great. I also took a cup of coffee to work in the new mug Xiaoyan had bought.
At work, I continued focusing on the development of the “G” feature. I spent a good part of the morning debugging an issue with chart display, eventually discovering that the Y-axis scale’s reserved space was causing gaps. After lunch, I didn’t take a break and used the time to fully resolve the issue. Then, I organized the state display for locations, constantly refining it to consider every possible scenario. Before I knew it, the entire afternoon had flown by, and I was actually a bit rushed to make it to badminton.
When I got home that evening, Xiaoyan and Hamer were doing an exercise routine together. After dinner, I helped Hamer with her homework, which wasn’t as heavy as the previous days. Once she finished washing up, she didn’t rush to bed. Instead, she quietly sat and focused on coloring her My Melody picture. We gently reminded her, “Try to go to bed earlier, or you won’t be able to get up tomorrow.” She replied casually, “Then I just won’t get up.” Xiaoyan and I couldn’t help but laugh, deciding not to push her any further and let her go at her own pace. Maybe sometimes it’s okay to let her make her own decisions—she’s right, after all. If she can’t get up, then she can’t get up.
Today is Dad’s birthday. The family prepared a table full of delicious dishes, and my uncle, grandmother, and sister all came over. They had dinner together, with a birthday cake to celebrate. It was lively and warm.
This Monday was busy as usual, but it felt productive and reassuring, like everything was back on track. While going through this week’s tasks in the morning, I realized there were fewer urgent things to handle, which was a relief. I could tackle things one by one at a steady pace. My primary focus during the day was still on developing the GNSS functionality, and today I concentrated on the Geodatabase data processing section. I resolved an issue where altitude was missing during playback, added several customizable fields for users, and also addressed conflicts with other features. One small issue after another was sorted out, and productivity was good.
In the morning, Hamer seemed a bit sleepy, and I was too—it was a tiring day yesterday, plus she stayed up late finishing homework. We didn’t take the e-bike today; as we were about to leave, I realized I had forgotten both my phone and wallet, so we ended up walking to school together.
On my way to work, Xiaoyan sneakily slipped an orange into my hat. I didn’t realize until I was in the elevator at the office, feeling something pressing against my head—only then did I discover her little “prank.” Such a mischievous one! Shortly after, the Starbucks coffee cup she secretly bought for me a few days ago was delivered. It feels nice to hold, and the size is perfect. Recently, Xiaoyan has bought me quite a few things—just this morning, I received a pair of jeans she bought last night. A few days ago, she got me a sweatshirt, sweater, and down jacket, practically setting me up for the whole winter. My attitude toward her shopping for me has also changed; now, I’m happy to wear whatever she picks out, which is a shift from my earlier resistance. Xiaoyan was a bit surprised by this, as I used to feel it wasn’t necessary to spend so much on clothes and preferred to choose my own.
Today, I left work on time and went home with Xiaoyan. Hamer got a head start on her homework today, so by the time we got back to help her, there were only a few parts she found challenging. We went through her tasks one by one based on her log, finishing up around 9:30 p.m. Toward the end, I suggested using a Pomodoro timer to help her manage her time, so she could have breaks between tasks. During each break, she and Xiaoyan would do some exercise together—she’s taken quite a liking to this recently, finding it both fun and relaxing.
This morning, the alarm went off around 7, and I was still feeling quite groggy. For a moment, I even considered telling Hamer that maybe we shouldn’t go to Fragrant Hills today. But before long, I got up and went to check on her room. She was already awake and even laughed, saying, “I saw you were still asleep, so I didn’t wake you.” After we washed up, we bundled up in warm clothes and headed out.
We grabbed breakfast at 7-11, where Hamer tried a rice ball and thought it was particularly tasty. She took a few bites of the chocolate donut she’d picked but soon focused on the rice ball instead. The sky was overcast, with heavy smog, and as we ate, it even started drizzling.
We took the subway to Fragrant Hills, and when we transferred to the Xijiao Transit Line, we discovered it was a unique two-car tram, which was pretty interesting. Once we arrived at Fragrant Hills, the first thing we saw was a lively shopping street. Hamer immediately had her eye on Mixue Bingcheng and candied hawthorn skewers, so we agreed to pick some up after our hike. Even before entering the park, we could already see some red leaves, but once inside, we realized the foliage wasn’t as widespread as we’d imagined—patches of yellow smoke trees, ginkgo, and maples dotted the path here and there.
We entered from the east gate and took the central route up the mountain. Although Hamer got a bit tired, she never once said she didn’t want to climb or asked me to carry her. At first, we took breaks fairly often, rehydrating and snacking each time. Gradually, the weather cleared, the sun came out, and the air warmed up quite a bit. At one point, we came across a small side path and, seeing others on it, decided to explore it like an adventure.
The path started as grass but soon turned into a steep, slippery mix of dirt and rocks. Hamer climbed carefully but determinedly, and as I watched her from behind, I felt a swell of pride. About halfway up, we looked back and realized this path was both long and steep—we had unknowingly taken Fragrant Hills’ hardest trail on the north side.
At last, we reached the summit and rested for a good while. Hamer happily played on the steps, using them like a slide over and over. She had an ice cream too. Earlier, she’d worried that if she had ice cream, she might have to skip the candied hawthorn skewers, and she even offered to give them up. I laughed and said, “You climbed all the way up here; of course, you deserve a reward! Let’s both enjoy them!” She happily dug into her ice cream, her face lit up with a look of pure contentment.
The descent was much easier, but we made it more interesting by picking two side trails as our “bonus challenge.” Both were rough, and we ended up covered in mud, but it added to the fun. Back at the base, we kept our promise—enjoyed candied hawthorn skewers and Mixue Bingcheng drinks—and then took the subway home.
The whole way back, Hamer was eager to get home to play with her aunt. After confirming that her aunt was at home, she showered quickly and dashed off to find her. That evening, after they returned for dinner, I asked her aunt to join us for Hamer’s homework session, which lasted from 7:30 to a little past 9.
This morning, Hamer got up relatively early. I called her once, and she didn’t linger in bed—she got up promptly.
During the day, I continued focusing on GNSS development, mainly working on implementing the new UI design, organizing the logic, and fixing various bugs. The deeper I got, the more I realized how many details needed careful handling. My colleague finished the workspace section today, and another colleague completed the elevation change chart. Practically everyone on the team has been involved in some aspect of this big feature, which makes me both grateful and a bit humbled by the collaborative effort.
In the evening, on the way to go shopping with Hamer, we talked about her day at school. She mentioned that her Chinese teacher had given her a “Good Job Ticket” as a reward. I asked her, “Did you feel sleepy in class today?” She shook her head, saying she didn’t. Then I asked, “So do you think it was worth it to stay up so late working hard on your homework last night?” She looked puzzled and asked, “What does ‘worth it’ mean?” Not sure how to explain it simply, I rephrased, “If you could choose again, would you still stay up late working hard on your homework?” Without a moment’s hesitation, she replied, “Of course! I want to get my homework done.” Her resolute tone filled me with admiration.
We met up with Xiaoyan at Hema, and after finishing our shopping, Xiaoyan took Hamer home while I went back to the office to put in a bit more work. I needed to merge a pending PR and wanted to address some unit conversion and I18N issues on the dashboard. I stayed until about 10 PM before heading home.
When I arrived home, Hamer was already asleep. Xiaoyan told me that earlier, Hamer had said to her, “Our Moral and Society teacher said elementary school students should get 10 hours of sleep every day.” So by 9 PM, Hamer had stopped everything she was doing, including the workbook she was so diligently working on yesterday, went to wash up, and went to bed. Xiaoyan relayed this with a bit of humor, amused by how closely Hamer follows her teacher’s advice and this display of “self-discipline.” Later in the evening, I asked Xiaoyan if she was feeling down, as she’d seemed a bit distracted while shopping, almost lost in thought. She told me she wasn’t exactly unhappy, just a bit disheartened because work hadn’t been going smoothly. She felt that her overseas project wasn’t being given enough attention within the company, and that was starting to make her feel somewhat unappreciated.
There was something I forgot to record yesterday, mainly a conversation Hamer and I had about how to interact with friends and how to view appearance (ideas of beauty and ugliness). These are concepts she’ll need time to understand gradually, and they’re topics I want to keep discussing with her to help her grow and better understand these things.
This morning, I woke up at 4:30 AM, my mind filled with thoughts about GPS devices, and I just couldn’t get back to sleep. So, I opened Taobao and started browsing for devices, spending almost an hour researching how to properly install a GPS module that could be connected directly via USB. After getting out of bed, an email in my inbox titled “GPS Data Formats: An Introduction to NMEA Format” caught my attention. I then checked out a project called GPS.Net on GitHub, finding detailed implementations on device connectivity, which I plan to dive into more deeply another day.
Hamer was a bit reluctant to get up this morning and arrived at school slightly later than usual. Last night, she stayed up a bit late enthusiastically practicing with her workbook, so she seemed a bit tired in the morning.
My day wasn’t particularly eventful. I spent most of the morning in meetings, and the afternoon was dedicated to handling a few relatively straightforward tasks. Around noon, I had an early lunch and took a short nap. Although my body felt somewhat refreshed upon waking, I still didn’t feel fully rested, as if my body was signaling a need for more sleep.
After playing badminton in the evening, I returned home and had dinner. Around 8 PM, Hamer and I sat down together to do her homework. She had an especially heavy workload today, including pages from 5·3 Daily Practice. The teacher had asked them to bring it to school tomorrow, suggesting they complete a full 33 pages. Since she had only done a few pages before, tonight’s task was a daunting one. Yet, I was impressed by her determination—she was eager to finish it all. From 8 PM, she kept at it until now, which is already 11:56 PM, with 10 pages left to go. Both Xiaoyan and I tried to persuade her to go to bed, but she stubbornly insisted on continuing. Her dedication is both heartwarming and admirable.
While helping Hamer with her homework, I also learned something new: holistic reading syllables. These are syllables that maintain the same pronunciation even when a vowel or a consonant is added. There are 16 such syllables: zhi, chi, shi, ri, zi, ci, si, yi, wu, yu, ye, yue, yuan, yin, yun, and ying.
It’s already 10:45 p.m., and Hamer is still working on her homework even though we asked her to sleep.
This morning, I woke up when Xiaoyan took Hamer out for breakfast, but my head still felt heavy, so I continued to rest until noon. It seems Xiaoyan was right about working in the morning instead of overtime—it really was better to get some more sleep last night.
Xiaoyan and Hamer didn’t have a smooth morning. Coupled with the heavy smog today, Xiaoyan wasn’t in the best mood. They left a bit late, and with the overwhelming number of food delivery orders today, their originally planned breakfast at the fast-food place got delayed until lunchtime.
After having dumplings for lunch, I took Hamer to her dance class. While waiting for her, I nearly finished reading Raising Girls. After the dance class, I decided to take Hamer for a walk in Ditan Park, thinking we might catch some red autumn leaves. When we arrived at the park entrance, there was quite a line, and once inside, we discovered there was a market going on. Like us, many others were there to enjoy the autumn scenery. There weren’t many red leaves in the park, but two paths lined with golden ginkgo trees were attracting a lot of visitors. People kept stopping to take photos. As we strolled along, Hamer suddenly spotted an inflatable castle and excitedly dragged me over, begging to play. I agreed, and she was thrilled at first, but after less than half an hour, she got bored and came running back to tell me she didn’t want to play anymore. Afterward, I took her to the fitness equipment area, where her favorite item, the horizontal bar, was located. She tried several times and eventually got so tired her arms were out of strength. Yet, as we were about to leave, she still seemed reluctant to go.
In the evening, after dinner, Hamer rested for a bit before pulling me along to help her with her Chinese homework, specifically the 5·3 Daily Practice book. Even though she looked a bit sleepy, she remained enthusiastic and tackled each problem with great focus. Her serious attitude truly impressed me.
Xiaoyan watched a TV series for the whole day. I joined her in the evening, and we didn’t go to bed until we finished Season 1 late at night.
After the run, Hamer was very tired, but after showering, she was still working on her homework before bed.
Today was a beautiful day with bright sunshine. We slept in and relaxed at home until we finished lunch, then got ready to head to Olympic Park for our first parent-child run—the 2024 Beijing Marathon parent-child event. Before leaving, we had a bit of a disagreement about what to wear. Xiaoyan thought it would be very cold, while Hamer and I preferred not to wear too many layers, worrying that we wouldn’t be comfortable while running. In the end, we agreed to wear our favorite outfits and bring an extra warm layer. Once we stepped outside and saw the bright sun, we realized we didn’t need to dress so warmly after all.
The race started at 3:30, with check-in at 2:30. We arrived at the venue around 2:05. After some waiting, bag storage, and check-in, both Hamer and I were excited as we entered the starting area, while Xiaoyan seemed indifferent. However, when everyone started cheering and preparing to run, Xiaoyan got into the spirit too. Initially, our pace was slow, but I encouraged both girls to pick it up a bit. This speed was a bit fast for them, and Hamer started feeling a bit uneasy in her stomach, so we began to alternate between walking and running. After a kilometer, we resumed running again. Hamer mostly kept her own pace, while Xiaoyan gradually began to tire, her cheeks turning red as she also switched between running and walking. As we neared the finish line, the atmosphere became lively, with everyone excitedly holding hands as they sprinted toward the finish. When we collected our finish packages, Hamer was especially thrilled to receive her medal. She gleefully posed for pictures with her medal and certificate, her face beaming with pride. We then had her medal engraved, participated in various activities offered by the organizers, and finished the day with a sumptuous dinner.
Before the run, I thought that 3 kilometers would be easy for them, but once we started running, I realized it wasn’t that simple. I thought that in the future, we could practice running together every week, aiming to make this activity a family tradition, much like our Wednesday shopping trips. After discussing it, everyone agreed, although there were some concerns about the cold weather in winter.
After the run, we were all quite tired and caught a little nap on the way home. Once we got back, I took a shower, and Hamer immediately started on her math homework with Xiaoyan helping her out. Feeling quite fatigued, I decided to go to bed early so I could wake up refreshed the next day. They both went to sleep before 9 p.m. as well.
Our first family run.
This morning, Hamer woke up early and ran into our bed, telling me she wanted me to buy her something, though she couldn’t quite articulate what it was. She only mentioned that “it’s blue.” I had a hunch—it might be the exercise book “5·3 Daily Practice” that her teacher had mentioned.
Since she woke up early, Hamer managed to get herself ready almost entirely on her own. Just before we left, we realized she had forgotten to put on her school uniform. After a quick change, we finally headed out for school.
During the day, I was deeply immersed in work. I completed the design of another table in the morning and then started optimizing the control panel’s interface and functionality based on the new design. The entire day flew by in what felt like the blink of an eye.
In the evening, after submitting a pull request, I rushed to Olympic Park to pick up the gear for tomorrow’s parent-child run. I initially planned to take Hamer along and meet up with Xiaoyan afterward. I called Hamer to see if she wanted to join me, but she was happily playing at home with a classmate. After some hesitation, she decided to stay and continue playing.
Riding my electric scooter quickly to the park, I noticed the weather was cold and gloomy. I thought it was probably better that Hamer didn’t come—she might have caught a chill. After picking up the gear, the staff informed me that due to severe smog, the run was postponed to Sunday afternoon. I felt relieved, as it gave us more time, though it did mean we’d have to cancel our planned trip to the Fragrant Hill Park.
Just as I was about to head back, Hamer called, crying over the phone. Through her sobs, she told me she regretted not coming with me to pick up the gear. After a few questions, I learned that she had had a fight with her classmate, who then went home. On top of that, she had been feeling a bit regretful about not joining me, and now everything came crashing down on her. On the call, she cried and expressed her remorse and frustration.
I felt a pang of guilt but saw this as a teaching moment. I gently explained to her that once we make a choice, we have to deal with the consequences. I told her to think things through more carefully next time and not just focus on the immediate situation. I even used a metaphor: once you choose a path at a fork in the road, you miss out on the other. But Hamer quickly countered, “But we can always turn back, can’t we?” I was momentarily speechless—she had a point.
We talked for about twenty minutes, during which her sobbing gradually subsided, and she started to calm down. But her last words hit me deeply: “Can’t you just come back and comfort me?” She was right—she was hurting, and instead of comforting her, I had focused on pointing out her choices. I felt a wave of guilt.
When I got home, I apologized to Hamer and gave her a big hug. We tried on the running gear together and even put up some glow-in-the-dark stickers. After dinner, Xiaoyan suggested I finish my remaining work on Saturday, but I couldn’t shake off the unfinished tasks. I decided to head back to the office later in the evening to wrap things up so I could fully relax tomorrow.
When I got back to the office, I found two colleagues also working late. After chatting for a bit, I discovered that one of them had already taken care of the tasks I was planning to do. We then collaborated on refining some details and recorded a demo video. By the time we wrapped up, it was 1:30 a.m.
Last night, I was hoping to wake up a bit earlier today to catch up on my journal. Didn’t expect to wake up this early, though—4:30 a.m.! I stayed in bed until 5:40 before finally getting up. Even while lying there, my mind was still spinning with work-related thoughts, making it hard to truly relax.
During the day, I kept my head down, working non-stop. In the morning, I quickly synced with a colleague on the device connectivity issues; there are still some unresolved challenges, so I decided to bring a laptop and device next time to troubleshoot thoroughly.
Today’s focus was table design, mainly organizing existing fields from Pro. The trickiest part was defining the CodedValueDomain
, as I kept confusing field types with Code/Value. After many attempts, I finally sorted it out and got it done just before heading home around 9 p.m.—felt like a weight lifted off my shoulders.
At lunch, I had intended to go early, grab a meal, and take a short nap afterward. But things kept dragging on, so in the end, I missed out on the break. In the afternoon, the office had a little birthday celebration, and the game was to guess the number of candies in a bag. I got lucky and guessed correctly—16 candies—winning a little My Little Pony candy. I thought I’d bring it home for Hamer; she’d probably love it.
When I got home in the evening, I brought the candy and a nightlight projector as a small surprise for her. But when I arrived, I found that she and her grandmother were already asleep. When Xiaoyan got home, she noticed that Hamer had gone to bed on the top bunk. We’d agreed that from Halloween onward, she’d try sleeping up there by herself, and she actually remembered and followed through without a word. Watching her sleep soundly filled me with pride and contentment.
Haha, none of us managed to get up on time this morning. When the alarm went off a second time, I realized it was probably getting late. I quickly checked the clock—it was already 7:20! I hurriedly scooped up Hamer, took her to wash up, and, still half-asleep, she finished up in the bathroom and brushed her teeth. Xiaoyan and I took turns helping her get ready. We arrived at school right at 7:45, cutting it close but not too late.
I didn’t have time to make breakfast this morning, so I grabbed some chicken breast, but eating it plain was a bit hard to stomach—felt pretty gross, to be honest.
The main task today was figuring out how to optimize the interface for device connections, and I ran into several challenges. The most frustrating issue was dealing with the ContentTemplate and DataTemplate in the dropdown box. Not being familiar with this part, it took me a while to figure out how to make the selected item display the same as the dropdown list. Before understanding it, nothing worked no matter how I tried, and the more I debugged, the more annoyed I became. Although it’s only Tuesday, I already feel like I’m running out of time, with so many details still waiting to be handled.
In the evening, I played a round of badminton—it’s the one time I can really let loose and relax these days. I had a great time, played several casual matches with colleagues, and by the end, my racket strings even snapped. After playing, I debated whether to go back to the office to tweak the interface a bit more, but thankfully, I resisted and decided to head home early.
After dinner, it was another busy time for each of us. Hamer was working on her math homework, while Xiaoyan was organizing the schedule for client visits to her company next month. Once Hamer finished her math, I helped her start learning to use Keynote. I guided her step-by-step, teaching her to recreate the picture on her labor history I’d done for her before, and with a bit of effort, she completed it successfully. Right before bedtime, Hamer suddenly remembered she hadn’t finished writing her journal, so she quickly reviewed and memorized what she needed, then went to bed peacefully.
In the morning, Hamer was reluctant to get out of bed; she had only realized last night right before sleeping that she still had homework to finish, so she stayed up late to catch up. After breakfast, I headed out with Xiaoyan. Just after I dropped her off at the subway station and reached the turnstile at my office building, Xiaoyan called—she had left her laptop at home. I had no choice but to turn around, go back, and deliver it to her.
Today’s main focus at work was optimizing device connectivity, covering everything from functionality to the interface, with a lot of detailed adjustments involved. On the functionality side, there was the challenge of recording the last-used device, which proved to be a bit complicated. The primary issue was that while we were saving information like the device’s name, we also needed to retrieve real information about the device based on its name. This resulted in a mismatch between the initialized device from the saved data and the reloaded device list in the system, causing the display to appear blank. I spent quite some time trying to keep the popup window open continuously, but in the end, I needed a colleague’s help to resolve it. Afterward, I tested the real-time changes in device status, working through the issues until about 10 p.m.
During the lunch break, I spent half an hour playing frisbee. Today, I tried throwing left-handed backhand, which went pretty smoothly. Most of the throws were mid- to long-range, and I broke a sweat—felt in pretty good shape. I got back to work at the office and didn’t grab lunch until 2 p.m., when I bought a Subway sandwich. Dinner was a quick bite with some basketball colleagues near the office, about a 40-minute meal before heading back to tackle more device optimization work.
One regret today was missing out on shopping with Xiaoyan and Hamer. Xiaoyan later told me that Hamer picked out everything in pink, giving a nice sense of style and coordination. When I got home, Hamer was about to go to bed, so I sat down to chat with her briefly. Afterward, I updated my Spotify account, did a quick wash-up, and went to bed.
This morning, Hamer woke up early all on her own, got washed, dressed, packed her school bag, and finally came to hurry me up to take her to school. I still felt like I hadn’t rested enough, but seeing her all ready, I pulled myself together and got up. She managed to wake up so early thanks to going to bed early last night. When we got to school, the gates hadn’t opened yet, so we waited in line for a while.
Once at the office, I dove straight into implementing the right-click menu and properties panel—so many little details to tackle. Before I knew it, it was 12:30, and I’d only just finished putting together the basic framework. I grabbed a pasta snack from Lawson downstairs, eating quickly while standing, which oddly left me with a sense of “melancholy.” Part of it was the rush, and part of it was the feeling that eating had become just another task. After lunch, I headed to Hamer’s school for the parent-teacher meeting, having taken the afternoon off for it.
The meeting stirred up complex emotions—both disappointment and unease. It started with the language teacher, who assertively directed the kids to get ready and launched into a series of class demonstrations. I didn’t like this approach; it felt pointless. No wonder Hamer said she was afraid of this teacher—the teacher indeed came off as very forceful, and the kids seemed cautious and tense around her. I couldn’t help but wonder: What are the kids actually gaining from these demonstrations? Why is this staged show necessary for parents? What I really wanted to see was natural interaction between the teachers and the students, not something that felt like a task to check off a list. If this sort of performance is typical in the classroom, I’d feel genuinely uneasy. As a parent, I already keep an eye on Hamer’s learning progress, often helping with her assignments, so I have a fair sense of her growth. I don’t need this kind of “report” to feel reassured. By contrast, I appreciated the second half of the meeting, where teachers shared small milestones in the students’ learning journey and their hopes for the future. That part felt valuable, much more useful to me.
After the meeting, I took Hamer to the hospital to check out her persistent cough. She’s been coughing all week, with no sign of improvement. It was close to 4 p.m., and the pediatric waiting area was still packed. We were number 89 and had to wait nearly an hour. The doctor, young and very thorough, diagnosed it as a regular cold, prescribed some medicine, and reminded us to keep her warm. Afterward, as is tradition after a doctor’s visit, we went to Xibu Mahua for noodles. Coincidentally, our table number was also 89. Hamer and I enjoyed the meal immensely.
In the evening, the whole family went to the National Stadium to watch a basketball game—Beikong’s home game against Zhejiang. It was our first time watching the CBA. Xiaoyan and I were quite into it, while Hamer seemed unimpressed and eventually fell asleep. Beikong won in the end, and as the crowd began to leave, we suddenly heard a loud popping noise. We thought someone might be setting off fireworks to celebrate. But then we remembered that fireworks are banned in Beijing, and we realized people were stomping on their inflatable cheering sticks, making sounds that resembled firecrackers. We joined in and stomped on our sticks too; it was surprisingly fun.
We didn’t get home until late at night, and everyone was exhausted. After a quick wash, we all headed to bed, ending the day on a satisfying note.
I couldn’t get up early this morning, but I hurried to finish yesterday’s diary. Then, I got ready for the day with Hamer, washing up and preparing for school. After dropping her off, I went back home to make breakfast. Today, I deliberately used a tray to arrange everything nicely. Xiaoyan even smiled and took a picture with her phone, saying the plating “had a vibe.”
During the day, I was completely immersed in work, thinking about how much I could push the features forward before the Feature Freeze. Most of my time was spent optimizing device connectivity, followed by dealing with layer structure, saving issues, and tweaking the right-click menu and properties panel. The work pressure was quite high, but the progress was decent. In the evening, I discussed things with a colleague, and we decided to separate the device positioning structure. This way, the user experience would be smoother. My colleague was very helpful and assisted in implementing part of the features.
I also started coughing today—there’s a colleague who’s been coughing for a while now. The two of us were coughing back and forth in the office, which gave everyone a good laugh as they teased us for our “synchronized coughing.”
I got home around 10 p.m., just in time to meet Xiaoyan on her way back, so I picked her up. Hamer had already gone to bed with her grandma, and the house felt especially quiet. Before bed, Xiaoyan suddenly started thinking about buying new clothes for me. She complained that my old clothes were too ugly and that I kept wearing the same few outfits, which she “couldn’t stand anymore.” She was really serious about it, occasionally measuring my waist and arm length. Her attention to detail left me feeling a bit helpless, but also quite touched. I couldn’t help but laugh, thinking that if it were up to me, I would have long given up out of laziness—no way would I have her level of patience.
Today, I finally merged the first Pull Request for the GNSS feature. Although it’s the first PR for such a large feature, looking back, something feels a bit off—it took until now to get just one PR merged. There were several major issues: first, some technical challenges remained unresolved; second, the feature design was never fully nailed down; and third, I didn’t break down the tasks well enough. I’ll need to properly reflect on these lessons later.
I woke up at 6:30 this morning feeling refreshed, thanks to a good night’s sleep. When it was time to wake up Hamer, I quietly told her, “You have 23 minutes before it’s time to leave.” She let out a big sigh of relief, thinking at first that we were running out of time. Lately, I’ve been consciously reminding her of how much time is left instead of just rushing her, and it seems to be less stressful for both of us. Xiaoyan helped Hamer with her hair and getting dressed. When she saw Hamer slowly putting on her socks, even though it was a bit frustrating, she patiently waited. Later, she couldn’t help but comment to me, “She’s so slow!” We both laughed. After dropping Hamer off at school, Xiaoyan and I had breakfast together. That time has become a peaceful moment for just the two of us—no rush, just sitting down, eating slowly, and chatting, which felt really relaxing.
The workday was busy as usual, and I dove headfirst into developing new features. Most of my Pomodoro sessions were around 40 minutes, though one stretched beyond 50 minutes, and another even exceeded an hour. It’s clear that sometimes I get too absorbed and lose track of the Pomodoro rhythm. Still, the highlight of the day was merging the new feature’s PR, which brought a huge sense of relief. My colleagues helped a lot—some worked on positioning displays, others on layer loading. We collaborated closely, especially on the satellite info display. By the afternoon, one of my colleagues had already implemented an initial UI according to the design, which was impressively efficient. I felt really grateful for their hard work. While I was still working, Hamer called to ask when we’d go to Hema. It turns out today was our regular shopping day. Although I sometimes forget, Hamer always remembers, which is impressive. These little family routines feel so heartwarming. Xiaoyan took Hamer to shop first, and I hurried over to meet them. After we finished, they headed home, and I went back to the office to handle some other feature bugs. This time, I didn’t stay too late—just over an hour—because I knew that if I stayed longer, it could throw off my balance and reduce my productivity.
In the evening, Hamer cried three times. The first was because she was having trouble memorizing the combinations of 7, 8, and 9. The second time was when she couldn’t find the rock sugar she needed for her experiment. The third was when she was told that the socks she had asked her mom to buy had been returned. About the rock sugar, Xiaoyan found out she actually wanted dry ice for a smoke experiment. As for the socks, Xiaoyan told her to promise she’d organize her socks better in the future. Hamer didn’t quite grasp the concept of making a promise and seriously said “Si” with a very earnest expression, which made Xiaoyan laugh out loud.
I wasn’t feeling my best today, mostly annoyed at myself for being so unproductive.
I pretty much slept all morning and didn’t really get up until noon. Last night, Hamer was tossing and turning, clearly uncomfortable, moving around a lot, sometimes even crying. I asked her what was wrong, but she couldn’t really explain—I think she didn’t even know herself. She woke up early this morning with a nosebleed. I helped her stop the bleeding and comforted her for a bit, then turned on Starfall for her to watch. But her nose still felt stuffy, and when she tried to clear it, the bleeding started again. After that, Xiaoyan took over caring for her, and I went back to sleep, all the way until eleven.
Xiaoyan took Hamer out for breakfast and even took her to get a facial around noon. And me? I just stayed in bed, scrolling on my phone, feeling all sluggish. Finally, past noon, I got myself up, ate the breakfast they brought back for me, and then sat down to watch some Korean drama.
Thankfully, something in the afternoon helped me get a bit of my rhythm back. The water heater installer came over, which sort of rescued my otherwise wasted Sunday. We checked the setup at home, drilled a hole through the glass for the vent pipe, removed the old one, and put in the new one. The whole thing took a little over two hours. The guy worked really efficiently and paid a lot of attention to detail. I was quite happy with the job he did. After that, I tidied up the kitchen and balcony while watching COU ultimate frisbee matches. The Bologna team was seriously impressive. I found myself getting caught up in the game—it felt like just the mental break I needed.
Xiaoyan got home early in the afternoon and ended up dozing off on the couch while watching TV. Hamer went to the amusement park with her friends and didn’t come back until evening.
By nighttime, we just kept it simple—dinner, freshen up, and then off to bed. Almost all the appliances at home have been replaced now, and using them today felt really nice. It was one of the few bright spots of the day.
Working overtime on Friday night and Saturday completely threw off my routine, and honestly, it just wasn’t worth it. The worst part is that the overtime didn’t even yield good results; it just wore me down. On top of that, not sleeping well these past couple of days made it even harder to get up this morning. I was just in such a lazy and tired mood—it was a pretty rough day, all in all.
Today, I woke up early—before 5 a.m.—feeling really good. I managed to complete four solid Pomodoro sessions in the morning, catching up on all the journal entries I’d been putting off these past few days. It felt like a weight had been lifted off my shoulders.
It was raining in the morning, and I hurriedly took Hamer to school before heading straight to the office. My goal for today was to finalize the layer design we discussed yesterday and figure out how to implement it. I spent the entire morning sorting out my thoughts, and by lunchtime, I had a clear plan. After lunch, I discussed it with a colleague, and we finalized the approach. In the afternoon, I continued improving functionality based on the new layer structure and even went through the whole process with PE using the device, identifying issues that still needed to be addressed.
I went for lunch early and returned to work right after, feeling great and full of energy. It was at this point that I suddenly received an email related to my level at work, which made me quite excited.
In the evening, I played badminton, and it was so much fun. I played with several different colleagues, and it felt both relaxing and enjoyable. Unfortunately, I didn’t get to play with Hamer tonight. When I got home, I dealt with the social security receipt from her school, which required a lot of photocopies. After school, Hamer went out with her grandmother, but there was a bit of a scare when her grandmother lost track of her and called Xiaoyan and me in a panic. It turned out Hamer had wandered into a mall by herself—thankfully, it was just a false alarm.
Tonight, I planned to go to bed early, getting into bed by 9:30. I felt a bit regretful, though, as Xiaoyan seemed to be in a bad mood today. I wanted to talk to her before sleeping, but I was already dozing off and didn’t bring it up.