My Spiritual Homeland

By Wang Xiaobo When I was thirteen, I often stole books from my father’s bookcase to read. At that time, the political atmosphere was tense, and he had locked away all the books that were unsuitable to be left out in the open. In that bookcase were Ovid’s Metamorphoses, Shakespeare’s plays translated by Zhu Shenghao, and even The Decameron. The case was locked, but my elder brother knew how to pick the lock. He also had a way of persuading me to take the risks: You’re young and slight. I don’t think Dad will have the heart to spank you. But in reality, when it came to spanking me, my father didn’t seem particularly gentlemanly, and my hands and feet weren’t agile enough, always giving him the opportunity. In short, we both read the stolen books, but I was the only one who got spanked. That’s how I got to read some books. Though it was unfair, I don’t regret it. ...

2022-09-01 Â· 5 min Â· 1012 words Â· Jeapo

Again

Title: “The Hidden Beauty of the Ordinary: A Reflection on Life’s Simple Moments” In the hustle and bustle of modern life, we often overlook the subtle beauty embedded in everyday routines. The warmth of morning sunlight filtering through the curtains, the rhythmic sound of raindrops against the window, or even the quiet hum of a coffee machine—these seemingly mundane moments carry a quiet poetry. This photograph captures one such instance: an unassuming scene that invites us to pause and appreciate the ordinary. The play of light and shadow, the textures, and the simplicity of the composition remind us that beauty doesn’t always demand grandeur. Sometimes, it’s found in the stillness, in the unnoticed corners of our daily lives. ...

1 min Â· 162 words Â· Jeapo

Pulling the Nipple Away from the Mouth

By Zhu Che I live on the top floor of Building 27. The sun scorches the reinforced concrete rooftop, and the heat lingers until four or five in the morning. As a result, my bed is nothing like those in Guiyang—during the summer, it’s essentially a full-coverage electric blanket. It’s unbearably hot, I fall asleep late, and dawn comes early. The construction workers start their noisy labor early too, so I inevitably wake up early, my pillow drenched in sweat. I’d love to go back to sleep, but the moment I pick up my phone and open Bilibili, I give up on the idea—though I’m still exhausted. So I drag myself out of bed, turn off my phone, sit naked in front of my computer, and start pondering: What do we actually gain from spending so much time on video platforms? ...

2022-08-20 Â· 5 min Â· 1024 words Â· Jeapo

August 19, 2022

Insights There are still unfinished tasks from before that need to be completed, and today I can finally purchase the sensor. Attempting anything new requires a certain level of capability. Otherwise, you will inevitably encounter many unfamiliar challenges along the way. Most people haven’t faced these issues before, so if you try to solve them but lack the necessary skills, you’ll end up wasting a significant amount of time. Therefore, no matter what you’re doing, the most important thing is to complete the task at hand using existing methods first. Only when you have spare time should you explore new approaches. This way, you won’t find yourself running out of time with unfinished work. ...

3 min Â· 596 words Â· Jeapo

ESP32 MicroPython: Non-blocking Delays and Multithreading | Multitasking

![nonblock and multithreading]1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 import machine import time red = machine.Pin(27, machine.Pin.OUT) grn = machine.Pin(26, machine.Pin.OUT) blu = machine.Pin(25, machine.Pin.OUT) mode = machine.Pin(33, machine.Pin.IN, machine.Pin.PULL_UP) left = machine.Pin(32, machine.Pin.IN, machine.Pin.PULL_UP) rght = machine.Pin(35, machine.Pin.IN) entr = machine.Pin(34, machine.Pin.IN) r_start = time.ticks_ms() g_start = time.ticks_ms() b_start = time.ticks_ms() k_start = time.ticks_ms() r_interval = 300 g_interval = 500 b_interval = 700 k_interval = 200 state = 0 EDIT_RESOLUTION = 10 reset = 0 print('**************************') print(' DEFAULT Interval Values ') print('--------------------------') print('Red interval:', r_interval, 'ms') print('Grn interval:', g_interval, 'ms') print('Blu interval:', b_interval, 'ms') print('**************************') while True: if time.ticks_ms() - r_start >= r_interval: red.value( not red.value() ) r_start = time.ticks_ms() if time.ticks_ms() - g_start >= g_interval: grn.value( not grn.value() ) g_start = time.ticks_ms() if time.ticks_ms() - b_start >= b_interval: blu.value( not blu.value() ) b_start = time.ticks_ms() if time.ticks_ms() - k_start >= k_interval: k_start = time.ticks_ms() if mode.value()==0: if state==0: # idle mode state = 1 print() print('*************') print('Red edit mode') print('-------------') elif state==1: # red edit mode state = 2 print() print('*************') print('Grn edit mode') print('-------------') elif state==2: # grn edit mode state = 3 print() print('*************') print('Blu edit mode') print('-------------') elif state==3: # blu edit mode state = 0 print() print('*************') print('Idle mode') print('-------------') if left.value()==0: if state==1: # red edit mode if r_interval - EDIT_RESOLUTION > 0: r_interval -= EDIT_RESOLUTION print('Red interval:', r_interval, 'ms') elif state==2: # grn edit mode if g_interval - EDIT_RESOLUTION > 0: g_interval -= EDIT_RESOLUTION print('Grn interval:', g_interval, 'ms') elif state==3: # blu edit mode if b_interval - EDIT_RESOLUTION > 0: b_interval -= EDIT_RESOLUTION print('Blu interval:', b_interval, 'ms') if rght.value()==0: if state==1: # red edit mode r_interval += EDIT_RESOLUTION print('Red interval:', r_interval, 'ms') elif state==2: # grn edit mode g_interval += EDIT_RESOLUTION print('Grn interval:', g_interval, 'ms') elif state==3: # blu edit mode b_interval += EDIT_RESOLUTION print('Blu interval:', b_interval, 'ms') if entr.value()==0: r_interval = 300 g_interval = 500 b_interval = 700 print() print('**************************') print('Values RESETTED to DEFAULT') print('--------------------------') print('Red interval:', r_interval, 'ms') print('Grn interval:', g_interval, 'ms') print('Blu interval:', b_interval, 'ms') print('**************************') https://1.bp.blogspot.com/-rYdcCBcd2K0/X26oBPSJclI/AAAAAAAACDc/jXve0NeUYHcXtYScTmdbod5hMptYgfJnwCLcBGAsYHQ/w640-h322/MP_009_Time.png ↩︎ ...

2022-03-07 Â· 3 min Â· 442 words Â· Jeapo

Welcome to Typecho

If you are seeing this post, it means your blog has been successfully installed.

2020-11-18 Â· 1 min Â· 14 words Â· Jeapo

About

About the Website No grand introductions here, just bits and pieces Article List Click the title to view the list of articles User Registration If any friends wish to register, click the title to sign up. Welcome to share your thoughts and experiences. About Myself Verbally, my logic struggles to keep up with my thoughts. I prefer practical work over idle speculation and value genuine experiences over empty actions. I enjoy tinkering with new computer-related technologies, both hardware and software. Over the past three years, I’ve built an integrated system—from sensors to microcontrollers to servers—as part of my thesis. I dislike competing for superficial recognition but still want to prove myself. I’ve participated in two mathematical modeling competitions, never achieving the top rank, but the results weren’t bad either. ...

2020-11-18 Â· 3 min Â· 606 words Â· Jeapo