113 notes this month | recorded from 2025-04-05 to 2025-04-17
Themes: Self-Knowledge and Psychology 30 · AI and Agent Systems 30 · Product, Engineering and Open Source 26 · Daily Notes and Everything Else 12 · Reading, Ideas and History 5 · Travel, Places and Cities 4 · Business, Investing and Career 4 · Body, Health and Daily Life 2
Everything from the month is kept here, filed by theme, each entry carrying its original timestamp.
Quick Navigation
113 records this month, filed under 8 themes:
- Self-Knowledge and Psychology · 30
- AI and Agent Systems · 30
- Product, Engineering and Open Source · 26
- Daily Notes and Everything Else · 12
- Reading, Ideas and History · 5
- Travel, Places and Cities · 4
- Business, Investing and Career · 4
- Body, Health and Daily Life · 2
1. Self-Knowledge and Psychology
30 entries The racket is to tennis what parents are to children, or a mentor to a student — one side provides the “external force”, and the other, under that force, flies higher and farther. The experience and insight they possess are like the racket’s “face”: they can catch us, protect us, and bounce us higher You have to work hard to learn tennis well, so the ball can bounce faster and higher. Going from “being hit passively by the racket” to “actively training your own racket technique” means turning dependence on external force into cultivation of your own ability. From being supported by others, to learning to grow yourself, to giving back to others or the next generation — that is a kind of inheritance of love, and the continuation of a life wisdom Having faced or come close to death many times: fear, love, regret, or the search for meaning — these all come from our own thinking about meaning. Life’s brevity forces us to think about the meaning of life and the meaning of existence, and about how we give them meaning. What surpasses fear and death is awareness of the present. Seeing someone who bears no obligation yet risks their life to save us — that is the truth about life, the preciousness of friendship, the tender ache of kindness, and understanding and connecting with others. Living is just living; a beating heart represents living itself. Life precedes meaning; existence precedes essence. A heartbeat needs no explanation; it is itself a fact, a state that needs no proof, carrying no philosophical embellishment or emotional attachment. Homosexuality is not a disease, nor a psychological defect, but a natural variant of human sexual orientation. The education and social environment we receive generally convey a traditional view of gender and sexual relationships, and this view often treats heterosexuality as the “normal” or “only correct” model, leading to rejection of other models. We reject it subconsciously because we don’t understand it. We may be tolerant and respectful, but we don’t understand this group and this phenomenon. This emotion doesn’t come from objective fact but is the result shaped by cultural tradition and the social environment. How to understand non-good? I see Spinoza saying in Ethics: “Mockery, contempt, anger, revenge… these emotions are related to hatred or contain elements arising from hatred, and cannot become good.” I consider myself to be pursuing sincerity, yet I’m also afraid of more real people. Refusing is better than agreeing reluctantly. Learning to refuse is hard, but it’s also part of being your true self. Accepting is also hard — the courage to face fear, to refuse compromise, even to be out of step with mainstream society. Learn to refuse, accept your own vulnerability, pursue freedom. Meeting a more real person is like a mirror held up to yourself. It’s not that they dislike material things, but that they prefer freedom. They’ve become clear-sighted and unpretentious, yet they’re out of place in this society The same thing, in different industries and fields, has perspectives specific to each industry. Likewise, looking at people and human behaviour also has various perspectives, requiring knowledge from multiple disciplines, for example psychology, law, sociology and so on. Working hard to learn certainly can’t be wrong. Building a thinking system refers to the process in which, facing a strange thing or something new, you observe it, analyse it, and make a judgement. Essentially, thinking is the process of processing information — from receiving input (observation), to decomposing and analysing (understanding its components), to integrating and outputting (forming a judgement or conclusion). In this process, keeping an open mind, examining from multiple angles, and combining existing knowledge and experience are all very important. Objective record: riding on a cycling path in Liangzhu, going a bit fast, I came upon a narrow intersection, also a downhill. I hurried to slow down but it was too late; a car suddenly appeared on the right that I hadn’t expected, and I was hit in the bicycle lane. The other party rushed out from a side road/alley/sidewalk into the non-motorised lane; I was riding normally in the bicycle lane, and because visibility at the intersection was limited, the other party also didn’t see me passing. The intersection had no traffic signs or speed-reduction warnings. The other party’s behaviour: they were a husband and wife, and they acted coldly, shifting the responsibility onto me, saying my speed was too fast and that I wasn’t wearing knee pads. And after the accident they didn’t care about my injuries, but cared more about the damage to their own car; they also analysed the road conditions, concluding the intersection design was unreasonable. The elderly people from the community nearby also sided with them, chatting with them about how to claim insurance, and didn’t offer a solution objectively from a whole-picture angle. My behaviour: I was dazed from the hit and in some pain. First I moved the bike to the non-motorised lane to avoid blocking normal traffic, then felt out my physical condition and honestly described how my body felt, and started cleaning up the bleeding spots and clearing away the blood. What I didn’t do in time (shortcomings): take photos/video, of the injuries, the vehicle damage and the accident location. After the police came I should have asked for an accident liability determination report. After going to hospital, I made clear judgements about three injured parts of myself; for my right leg there was uncertainty, so I asked for an X-ray. The results came back fine. They applied some iodine. The doctor asked whether I was working, and whether I wanted to rest for a few days. I could hear the implication, and I said no need, I don’t have a job. I’m a remote worker, I felt it hadn’t affected my work and there was no need; the doctor sighed and I left. The doctor did more than their duty required, which moved me a little. Cycling is like a mirror, reflecting the complexity of human nature. What kind of nature do people reveal when they’re in difficulty? And how should we face these sudden setbacks? Human nature often hides a share of selfishness; when interests are threatened, empathy becomes a luxury. Reality won’t take your side just because you’re the victim; it requires you to produce evidence, and to understand the rules. Reason and preparation matter more than emotion; it teaches you how to face problems and face setbacks. The essence of growth seems to be finding your own warmth within impermanence. Recently I really do feel that society’s aggression is increasing, and the world isn’t peaceful either. Violent incidents, online attacks and group antagonism are frequent, and internationally conflicts and crises keep rising one after another. I feel that under economic pressure and uneven distribution of resources, the “evil” facets — selfishness, greed, anger — are easily amplified. Society is like a mirror, reflecting human nature twisted in difficulty. The widening wealth gap and class solidification make people at the bottom feel powerless to turn things around, and people in the middle afraid of falling. The internet lets negative emotions spread faster and wider. You open your phone and the screen is full of arguments, accusations, even rumours. People hide behind screens, with less face-to-face empathy and more impulsive venting. The internet’s more fragmented information makes people lose patience with each other. Good and evil aren’t innate; they are sculpted by society. Society has never changed; it’s just that we’re influenced by the environment we grew up in. The world won’t become more peaceful and more peaceful; the form of conflict has changed, but the essence of the contest hasn’t. The existence of feeling: the capacity is there from the fetal stage — sensory, experiential feeling. Thinking about feeling: metacognition starts developing at seven, that is, “thinking about your own thinking.” The feeling of having: a newborn baby for whom the world is new, a new phone, a new trip. The feeling of losing: losing a job, losing someone close, a breakup… The value of things and our feelings are relative; there has to be change to stimulate us. Right after you get something you’re excited, but a few days later you go numb. On the having side, perception is mostly active — you chose to buy a phone, for example. Passive having means we have these landscapes, we have a pair of eyes to look at the world with. Losing is concrete and real; it can just vanish suddenly, outside our control. It tears a hole in the life you were used to and forces you to face change. Negativity bias: human nature is far more sensitive to bad things than good ones. Maybe it’s the same with the instinct to seek advantage and avoid harm — it helps you live longer. Everybody’s reaction is like a mirror reflecting their own experience and growth. The world is impermanent, everything is changing, attachment brings suffering. So what I think about is how to face impermanence, how to turn the passive into an active kind of perception — then it all seems to be growth. There’s a phenomenon with the auntie who cooks for us. She always lets it slip, subconsciously, that she has lots of orders, that lots of clients want her to come cook at their place. It’s as if her subconscious is telling us to say out loud that she is rare — the same as when I was trekking in Nepal, when the porters showed off and claimed credit for themselves. It’s like telling everyone subconsciously, “my services are rare.” That behaviour is easy enough to understand, but my own attitude towards it is actually interesting too. Subconsciously I feel the auntie is showing off, showing off how much she has given, and that she isn’t just my client, so she hopes for more initiative on her side, to add to her own rarity — that way she might be treasured more, and it might even feel like quite a feat to get her. Then again, on reflection, it’s also possible she’s cheering herself on — put plainly, she wants other people’s recognition, to feel she’s impressive. Everyone wants some sense of presence. Subconsciously I seem to have some resistance to this phenomenon. The reason may be that it makes me feel she wants to get the upper hand in the relationship, when she and I are also partners in a cooperative relationship. The deeper reason may come from my own longing for an equal, sincere relationship, plus a latent desire for control. But from the angle of traditional culture, in a collectivist environment, wanting to prove oneself precisely clashes a little with my own longing for sincerity and equality. Understanding why the other person says it matters, not just one’s instinctive reaction. In essence the form doesn’t change, the identities and the cooperative relationship on both sides don’t change, and she isn’t trying to profit from anything. Next time I might say with a smile, “Right, your cooking is so good, surely lots of people are queuing up to invite you.” Sincere praise perhaps comes from understanding and respect. The key leap for humans was going from nothing to something. Maybe future AI can give birth to new physics formulas, or abstract formulas at a higher level, and even be granted truth. Creativity matters, and it matters far more than we imagine. Being able to perform matters a lot too. Why I like jazz: every time, jazz is an improvised performance and creation. Sorting out the knowledge points and the logic clearly can even be said to be in order to improvise better. A classroom is a living place, with exchange, with collisions, not one-way output. Students aren’t empty bottles waiting to be filled; they’re people with thoughts and curiosity. The real value isn’t how much the teacher said, but what everyone collided into through the exchange. This is also living in the present, really — there’s nothing to worry about, just treat some of it as practice. Procrastination isn’t necessarily a bad thing; to some extent it can save time. But you have to be able to procrastinate until an ideal spot, cutting the timing very fine while making sure the quality holds. A procrastinator may be avoiding one important task while completing many other relatively minor but still valuable things. Some people even claim they’re more efficient under pressure. From this you can see procrastination varies from person to person too, and finding a habit that suits you matters more. In most cases procrastination doesn’t actually solve the problem; it leads to more pressure and anxiety, and it’s also not a choice you can help. Shame is more like a social adaptation mechanism, helping an individual maintain good relationships in the group and avoid being excluded. It’s also there to restrain us, to make us fit the collective’s expectations and increase our chances of cooperating and communicating. People are social animals and can’t do without the collective. The sense of shame forms gradually after birth; a newborn survives mainly on instinctive behaviour. But there must be plenty of places in this world where being naked is a very natural thing, so it must be society that decides what you can do. The sense of shame isn’t actually there to give you moral prejudice, and it isn’t there to knock you down; it’s there to remind you that you still care. And a lot of the time the sense of shame shouldn’t become an excuse for avoidance. Feeling ashamed for saying one wrong sentence, making one wrong decision, or slighting a good person — that isn’t weakness. How does society shape our understanding of gender, value and relationships? Why do Chinese women seem more inclined to “infighting” or cliquing up, while men often show up as targeting each other or being cold? Why are pretty women easily accepted by both men and women, while good-looking men struggle to win the appreciation of their own sex? Let me start from the “infighting” among women. This isn’t simple jealousy or comparison-shopping; it’s a microcosm of how society defines women. From childhood, women are instilled with the importance of appearance, status and recognition, and these things are shaped into a scarce resource. This competition isn’t nature, it’s the product of social expectation. Men’s relationships, by contrast, lack this layer of “soft” contest. They more often cross swords on “hard power” like career and money; appearance or social status rarely becomes the focus. The definition of value is never neutral; it’s carved out by culture and expectation. It feels like society has a net that pens us in and constrains every one of us. Society needs some kind of rule to support resource distribution, role division and identity. Why is the status of Chinese women so severely stratified? For women born into families after reform and opening up, their status compared with women in Japan and Korea — the latter is more like a slow growth period with no dramatic changes and self-reflection. But is this competition really nature? Or is it more the product of social expectation? Looking at it together with Western culture, it doesn’t seem to be nature. Reading is a process of self-discovery; rather than acquiring knowledge, it’s a dialogue with your inner self. Tools let us quickly filter through the flood of information, but real nourishment comes from the emotion and resonance of being immersed in a book. Modern people’s pursuit of efficiency often traps us in anxiety — reading on feels tiring, not reading feels regrettable. But reading shouldn’t be a performance; it should be a natural choice, part of inner growth. Freedom isn’t about how many tools you have, but about whether you can follow your heart and find a way to make yourself fuller. Why do we read? Not to fill a blank, but to light up the soul. That’s reading’s most essential gift. But this society won’t allow it. At some moment I suddenly realized I probably wasn’t answering every single message when chatting with friends. I reflected on it at once and hurried to dig out all the chats I hadn’t replied to and reply to them. But in the middle of replying I felt like I was AI — isn’t that exactly how AI chats with me? Today’s AI still has no emotion, a cold reply, and I’m like… I realized I’ve lived myself into becoming AI, haha, just kidding. Is being responsive a good quality? At work it may be professionalism, but in life what I value more is sincerity and naturalness. Chinese people care especially about responsiveness; it may be tied to a culture that values face and personal relationships — not replying to a message may make the other person feel you don’t care about them, even that it’s a bit “impolite”. But he himself is more inclined to accept that he’ll miss responses, thinking that answering every sentence would look mechanical and unnatural, like a robot. The art of communication, I feel, lies in the subtle balance between sincerity and restraint. Answering every single message seems professional and courteous on formal occasions, but in an intimate relationship it may make people feel deliberate and distant. I think real communication isn’t the literal back-and-forth, but a resonance of heart with heart — saying the right thing at the right time, not having to reply to every sentence, yet still letting people feel warmth and naturalness. Appreciating someone isn’t about how diligently he replies, but whether he can switch flexibly across different situations, both sincere and comfortable. Living in the present and listening and speaking with your heart — that’s the warmth and the meaning of conversation. China has a large number of involuntarily single men, and a large number of older single women. As a product of Chinese culture, people with fairly rigid, monolithic ideas always think every life necessarily has to marry and have children — especially that any woman more or less has to rely on marriage to survive, that marriage must for any woman in any era be a survival tool that decides life or death, that any older unmarried woman must live in misery with an empty heart. They call this group “leftover old women”. In developed countries, where ideas are more individualistic and people more readily accept new thinking, people think that if a woman can have an independent economic foundation and be self-sufficient, then being an older unmarried woman is really just a personal choice that varies by person and by circumstance. Many times, in fact, if your personality, style and interests genuinely don’t suit the lifestyle of marriage, then not marrying is what truly suits you, and the only way to actually live happily. Why has discrimination always existed in China? Age discrimination, older-single discrimination, discrimination against women, credential discrimination, regional discrimination. What is the essence of discrimination? What is discrimination? Discrimination isn’t based on what a person has done, but on differential treatment based on what a person “is”. What’s the essence of it? The wish to perpetuate inequality of rights, cognitive laziness leading to simplified handling of complex reality, and in-group preference as psychological defence against outsiders. It feels like discrimination is an invisible deprivation — it doesn’t care what the other person did, only what the other person is. The essence of anxiety is wanting to do a lot of things and also wanting to see results immediately. All of a person’s anger is anger at their own incompetence. Your desire exceeds your ability, and you’re extremely short on patience. Anxiety comes from too large a gap between desire and ability. What is the essence of human nature? Rushing for quick results, wanting to do many things at once; avoiding difficulty and seeking ease, wanting to see results immediately without much effort. Why is there so much more anxiety and suffering in modern society? Because the pace and the competition are more intense, and the instincts have been amplified. For instance, modern people have been through a boom or sudden wealth; once you taste quick money, it’s hard to put up with the psychological gap of “delayed gratification” and “slow process”. This isn’t really a money problem — it’s that the person’s desire system has been recalibrated. But in the end you have to return to reality and face the rules: to achieve anything, you must stay patient and delay gratification. I seem to be too eager to do meaningful things too early. Or I rush for quick results. But lacking patience doesn’t seem to be a shameful thing; it’s just part of human nature. When a baby is just born, the rational brain plays an extremely weak role. Human stamina also grows according to the compound-interest effect. The compound-interest effect shows the universal law of value accumulation: growth is very slow at the start, but after reaching an inflection point it grows rapidly. This “eighth wonder of the world” [illustration] reveals exactly this power, but to gain this power we need to calmly face the slow early growth and hold on until the inflection point. Human stamina growth is also subject to the comfort-zone edge effect. Another important law of the comfort-zone edge is that it reveals the universal law of ability growth: whether an individual or a group, ability is distributed as “comfort zone — stretch zone — difficult zone”, and to grow efficiently you must keep yourself at the edge of the comfort zone. Recklessly leaping into the difficult zone makes you frustrated, while staying forever in the comfort zone makes you stagnate. That is, for learning, the thinking after learning, the action after thinking, and the change after action matter more. If you don’t watch the amount of change in the inner layer, then no matter how much learning input you put in at the surface layer, you’ll get half the result for twice the effort. So by weight: amount of change > amount of action > amount of thinking > amount of learning. Simply keeping up learning input is easy, while thinking, acting and changing are relatively hard. Without awareness, we instinctively avoid difficulty and seek ease. When reading, don’t aim to remember all the knowledge in the book; it’s enough if one or two viewpoints prompt a real change in you. The gain and the meaning of that is much greater than reading many books but staying only at the level of knowing. But why are some people especially focused on a thing itself? On one hand they may have trained for it, or be good at exploring underlying principles. But the most advanced method is to bring out the instinctive brain and the emotional brain to solve the difficulty — to feel the difficulty of a thing and get addicted to it. That’s really impressive. An extremely rational person should be someone who extremely understands himself. We’ve discussed the question of whether AI has self-awareness. Apart from ourselves, we have no way to judge whether the other party has consciousness, let alone when the other party is AI. We can only use some disciplinary methods, such as the Turing test, to judge whether AI can satisfy self-adjustment and self-optimization. It suddenly occurred to me that for humans, the force of the subconscious is enormous too. The subconscious means: psychological processes that aren’t noticed by consciousness but influence behaviour, emotion and thinking. But for an AI model, the model itself may contain some incomprehensible black-box operations. The weights and activation patterns inside a large model, for instance, may influence the answer, and even the developers or the AI itself can’t clearly know exactly how they influence it. Most of our behaviour is influenced by the subconscious; we rely on “System 1” (the subconscious) and only summon “System 2” (rational thinking) when we hit conflict or a new situation. So for most people, our judgment and decisions are often driven by past experience, emotion and cultural suggestion, rather than rational analysis. The subconscious executes faster and at lower energy cost, so when building products, how do you make the execution path shorter? Products that have to be learned are extremely tiring to use. Most things, if they can be learned by matching intuition, or a person can learn them through a reward model, then the shorter the product’s execution path, the less “conscious intervention” the user needs — that is, the more it resembles “subconscious behaviour”. Users need guidance, not education. You don’t need to tell users how great you are, you just need them to get addicted. High energy consumption helps a person grow more, but unfortunately humans are born not liking to learn and think, because this kind of thing is extremely energy-consuming. Over the long course of evolution, life’s primary task was survival; high energy consumption consumes life, and that’s also why most people are willing to stay in the comfort zone. Diligence disguises the incompetence of thought. Suffering is easier than solving a problem, and bearing misfortune is simpler than enjoying happiness. For most people, in order to avoid real thinking, they’re willing to do anything. So: cognitive vagueness comes from inside, while emotional vagueness comes from outside. Reason serves as consciousness; feeling can be part of the subconscious, and when we understand products and understand user behaviour from there, it suddenly opens up. Sometimes when I’m reading and hit a key passage, or I sense a tipping point, I’ll stop and think about why this viewpoint moved or inspired me, whether this move or inspiration can be used on other things, whether there’s similar knowledge behind this point of inspiration. Indeed I’ve always thought feeling is very good nourishment or raw material to lead yourself into thinking. I’ve asked friends many times before about their most moving moment; that’s my own power of feeling. Why did I get emotional, and what was the reason. Why does this product particularly attract me — is there something different about it. Why am I so immersed in this storyline. Feeling is the raw material, helping you choose; reason helps us think, summarize and train. On one hand, how do we train and think about ourselves? Feeling is a very good guide, or rather a way of finding a sense of mission. Which people do you most want to help? What have you done that moved you most? Your most moving moments. With no economic pressure at all, how would you spend the rest of your life? In your spare time, what do you pay the most attention to? How do you catch other people’s feelings? Through feeling is the best way to understand a person. Which things leave the deepest memory. Which things keep surfacing. The unconscious first reaction, the first thought that comes up. Dreams — you think by day and dream by night. I’ve never really believed in dreams, but dreams are a true display of the inner self, and so is being drunk, it seems. The body’s reactions — the body tells you what you need better. You want spicy food, you want vegetarian, you want to sleep: then listen to the body. Intuition. The essence of metacognition is cognition about cognition. For example, knowing that you are thinking, watching yourself walk. Being aware of your own behaviour also has passive metacognition and active metacognition. Going from passive to active is a turning point. When a person can actively open a third-person perspective and start continuously observing their own thinking and behaviour, it means he has truly begun to awaken, and he has the possibility of rapid growth. Tolerance means accepting and putting up with other people’s different viewpoints, behaviour or habits, even when these may conflict with your own beliefs or habits. It usually shows up as an acceptance of external difference, and may not require digging deep into the other person’s inner world. Understanding goes a step further: it means deeply getting and grasping another person’s thoughts, feelings and motives. It requires us to try standing in the other person’s shoes and to feel their feelings and circumstances. Tolerance is more a restraint in behaviour, avoiding emotional conflict on your side; it doesn’t necessarily require much cognitive effort. But without inner assent, this tolerance may be superficial, and hard to sustain under pressure. Understanding is harder; it requires more effort and investment. To truly understand someone, we must cross beyond our own subjective perspective and walk into their inner world. But real tolerance still rests on understanding; tolerance without understanding seems to be only a brief, surface-level maintenance of the relationship. Tolerance is an acceptance of external difference: even without fully understanding the other person’s inner world, it can be achieved through forbearance in behaviour. Understanding, by contrast, requires us to go beyond our own experience and limits and enter another person’s spiritual world. That’s a leap in both cognition and emotion. What’s rarer than understanding? It asks us to cross prejudice and cognitive limits to understand another person, and then, on top of understanding, to put down resentment and anger and respond to harm with forgiveness. That feels like an even deeper challenge to human nature. Stay rough, stay clumsy: grasp the big characteristics, ignore the small ones — adding something on is worse than not doing it. If the solution is designed too complexly, then the problem is very likely wrong. Even the tiniest detail, almost negligible, reveals the cognitive system, brand temperament and cultural confidence behind it. In fact pluggable capability can be an engineering capability on one hand, and on the other it can be considered from the user’s angle: some unimportant features can be made into optional plugins. A truly excellent experience innovation isn’t the user saying “wow, so magical”, but the user feeling “of course it should be this way”. Taking the user experience to the extreme is innovation. A product is built by reason, yet used to express feeling. Train intuition. Reason trains intuition. Solving a complex problem may not come from reasoning, but from intuition. Your weakness may be your strength: someone with social anxiety can build a better social product. The product philosophy determines the product’s height. A work, not a product. To put it plainly, reason is just a tool. It exists to serve a goal, like making money or solving a problem, so it comes with a utilitarian bent. But it has a flaw: dry language and logic can’t grasp human emotion and intuition. You like someone; reason at best says “because he has a good personality”, but how can that explain away that inexplicable flutter? Language itself is a tool too — it’s limited, after all. Real liking has no reason; feeling is the lead actor. Feeling and the subconscious are sometimes truer than reason. Things like artistic creation and interpersonal relationships are carried entirely by them. Reason is good for reviewing afterwards, but don’t expect it to take care of everything. He reminds me to “handle the boundary well” — that is, don’t be one-track: when it’s time to feel something, don’t analyse coldly, and when it’s time to calculate, don’t just wing it on instinct. Simply put, reason is a knife, feeling is the fire in the heart, and a smart person knows which to use when. Write this down, and think about this balance more in life. Don’t let the tool ride on your head, and don’t let impulse ruin important things. I remembered what Zhang Xiaolong said: “A programmer who doesn’t listen to rock isn’t a good product manager.” I really like Chen Leyi. She’s a girl born in the 2000s, but her command of the stage is excellent, and she sings with a lot of power — at a glance you can tell she’s a girl made for the stage. The spirit of rock stands for anti-tradition, humanity, freedom and finding your original state. Music stands for the power of feeling; music stands for expression. We engineering guys, programming — the core job is usually to implement features with rigorous logic, follow established rules and requirement documents, and solve technical problems. That leans more towards the “How”. Why do it this way, for whom, and how — that needs stronger empathy, creativity, business sense and the courage to break convention. From following rules to defining rules, from technical implementation to user value, from logical deduction to intuitive insight. These: people who dare to challenge and innovate (anti-tradition, freedom), people who deeply understand and care about people (humanity, original nature), people who have independent thinking and the ability to be different (people who do things differently). ps In the end I even got into a group photo with her. I just saw the cat and the topic came to mind. I deliberately asked my partner: the cat has been pooping frequently lately, the whole house smells, and the auntie who cooks reminded us to deal with it, saying Hangzhou’s summer might make it worse. I thought about it — this thing seemed unavoidable long ago, but it kept getting pushed to today. And I wondered why this thing, which is obviously important and urgent, hadn’t been solved. Because it’s more of a daily-life matter and doesn’t affect your professional standing. Because thinking about this thing means you have to solve it, and solving it is a hassle. I teased my partner: suffering is easier than solving a problem. If this got solved it’d be a lot of trouble, but if we just bear it and don’t think about what the future consequences look like, it feels like we can get used to it and endure it. Suffering is easier than solving a problem. Bearing misfortune is simpler than enjoying happiness. Most people would rather do anything than face real thinking. Keeping up face is simpler than admitting a mistake. Pretending is easier than staying sincere. Complaining about your environment is easier than changing yourself. Dwelling in memories is easier than letting go of the past. What’s underneath human nature? Fear, pride, inertia, inertia, the longing for what’s real. Each of these can be a radiance, and can also be a weapon that destroys a person. For humans who dare to climb Everest, humanity’s primary quality is courage. Sometimes I really admire a kind of instinctive courage. Animals have instinctive courage too: the instinctive reaction when facing danger, a dog’s instinct to protect its owner, a mother’s instinct to protect her child. But a lot of human courage goes beyond instinct; more of it is driven by reason and values. It’s choosing to act while still being “afraid”, with a self-control that goes beyond instinct. Courage is the base beneath all the virtues. If you want to be honest, you need courage, because telling the truth often means facing an uncomfortable situation; if you want to be kind, you need courage, because kindness sometimes means risking getting hurt yourself; if you want to be just, you need courage, because upholding justice often offends people and invites retaliation. Without courage, all the qualities seem to be fantasies in your head… The essence of courage is that when facing fear, pain and pressure, you still choose to do what you know is right. Courage isn’t recklessness. My criterion is: knowing the danger, the pain, the cost, and yet after weighing it up, still choosing to act rationally and firmly. Whereas recklessness regrets it if it doesn’t meet expectations. It’s also, in fact, a balance between the Eastern and Western systems of bravery. One extreme is compliance, compromise and endurance to the point of losing yourself; the other extreme is blind resistance and self-inflation, ignoring the wisdom of coexisting with the world. “Courage isn’t one of the virtues; it’s the most important one.” Because it’s the engine of action, the skeleton that holds up everything else. It’s easy to output virtue with your mouth, but having the courage to act is hard. Teaching by example beats teaching by words. Earlier, on a mountain on the ACT, a friend who studies philosophy, a companion and I talked about a pretty interesting topic: extreme sensibility is rationality, or the other way around, extreme rationality is sensibility. Later I thought about it and felt this process is actually quite natural, like a loop: start from feeling, go through rational analysis, and end up back at feeling. Feeling is our most primitive sensation — emotions and intuitions like happiness, sadness, curiosity. They’re like raw material, driving us to think and explore. If I’m curious about something, for instance, I want to understand it, and that’s when reason takes the stage. Reason helps me analyse and reason, trying to find patterns and answers in the chaos of feeling. But the interesting thing is, no matter how rationally I think, the ultimate purpose is still to satisfy the needs of feeling — after understanding something I feel satisfied, or I use those understandings to guide my life and make myself happier. In this process I found that “having a self” is very important. Thinking isn’t just exploration of the external world; it’s even more a knowing of oneself. Through rational analysis of my own sensory experience, I gradually see my own values, motives and needs clearly. When I ask myself “why does this make me happy?”, I’m actually using reason to dig out the root of feeling. Ultimately this kind of thinking makes me understand myself better and make choices closer to my heart. So the loop feeling -> reason -> feeling is actually a natural process. Reason is the tool, feeling is the starting point and the endpoint. Any rational weighing of pros and cons can’t get away from honestly facing your own sensory needs. As friends discussed recently, no matter how we use reason to analyse, in the end we still return to feeling itself, to feel, to experience. This line of thought gave me a sudden clarity. When we were discussing on the mountain earlier I only grasped the conclusion, but now I understand the logic behind it: feeling and reason aren’t opposites, they depend on and transform into each other. Extreme rationality touches the depths of feeling, and extreme feeling likewise contains the logic of reason. The essence of thinking is continuously deepening your understanding of the world and the self within this loop. It makes me feel that the things in life that look contradictory are actually all connected, and as long as you feel and think with your heart, you’ll find the answer that belongs to you. The biggest precondition for reducing thinking to the greatest extent is realising that we are thinking. That’s the so-called metacognition: observing our thinking from a god’s-eye view. That is, for some problems, if you realise that thinking about them will be very painful, and realise that stopping thinking can be left to time to solve, then there’s no need to agonise over them. Stop thinking, and let the answer emerge naturally.Tennis and the racket
When facing death, some emotions stronger than it take control
How to understand homosexuality
Good and evil
More real people
Systems of thought
Thinking about a cycling accident
Society’s growing aggression
Having and losing
Subconsciously proving that I matter
Creating something out of nothing
Procrastination
Is a person born with a sense of shame
Differences in gendered behaviour patterns
Falling in love with reading from the heart
Answering every single message
An analysis of anti-marriage-ism & older single men and women
The essence of anxiety
No patience
The force of the subconscious
Feeling above all
Metacognition
Tolerance, understanding and forgiveness
More thoughts after reading WeChat’s view of product
Reason is a tool
I listened to Chen Leyi sing
Some discussion of easy and hard, metacognition
Human courage
Extreme rationality is sensibility, a new line of thought
Stop thinking
2. AI and Agent Systems
30 entries Accuracy is the strongest defence. No matter how much rhetoric, no matter how much subjectivity and prejudice, there’s no way around accuracy. When a government isn’t transparent, it’s avoiding accuracy and leaving room for manoeuvre. Accuracy is the most important craft of this trade, and self-movedness and letting emotion lead are accuracy’s biggest enemies; the truth is often lost amid tears. Accuracy matters; behind accuracy are logic and reasoning, decision and judgement. Duxiang AI is a pretty interesting product. It combines a note-taking app with AI technology and adds a bit of role-playing flavour; it feels quite fresh. What grabs the eye most are those AI virtual characters — they’ll pop up to interact with you, comment under your notes, chat a bit, even “argue”, just like little companions in your phone. Normally a note-taking app is just a cold tool, but Duxiang AI is different: it lets AI characters come out and “chat” with you about your notes. For example if you write about your mood for the day, they may comfort you, or discuss your thoughts with you. This kind of interaction is especially suited to people who want someone to confide in but don’t want to actually post to their feed (for example introverts). The AI is a long-term companion; it remembers which notes it has seen and what you’ve talked about. This unique personalised feeling is great, and caters to people’s emotional needs. A tool isn’t only a tool; it can also be a partner, a partner that accompanies you. It can also have emotional value. Cramming AI into everyday tools and playing around with some new ideas — the Xiaohongshu community can create very strong emotional value. refer: https://www.duxiangai.com/ Generating PPTs with minimal steps: you only need super simple steps — paste text or import a file, and it quickly generates a summary of each module of the corresponding PPT. You can appropriately modify the summaries, and AI will immediately help you generate a complete PPT. Quick to pick up, with a very “modern” interface; suited to making things that look high-end at first glance Write a bit of prompt text and it can generate a complete presentation deck on its own, with image and text layout generated automatically too More flexible than traditional PPT — you can view it as a web page, as slides, as a document, and sharing is very fast Agno’s core value is that it offers a framework for building fast, efficient multimodal agents with memory, knowledge, tools and reasoning. For developers the advantages show up as: less boilerplate code, a faster development cycle, scalability that comes from high performance, and a high degree of flexibility. A lot of models have some signature features, like multimodal ability, tool-calling ability, long-text handling. But it matters a lot that a model’s capabilities are general capabilities. What counts as general? Something every model vendor will build, and something they can definitely do better than the business side — something that can be continuously improved with reinforcement learning. Then there’s the part LLM vendors can’t internalize, business-side short-term and long-term memory for instance. You can’t rely entirely on the model’s context for that; the business layer has to pass in the short-term or long-term memory instead. Which capabilities will large models internalize on their own — and do even better with reinforcement learning — and in which scenarios does the business still have to do it itself? There are two pretty good points here. One is high-quality data inside the business: good data has to be distilled out of your own business experience, and some of the good data is often best handed up to the model layer as reference. The essence of a large model is still input and output. What shapes the output isn’t only the model’s own capability but also the excellent data inside the input — and that data has to be analyzed with your own business judgment. General capabilities — language understanding, image and speech processing, pattern recognition — large models can internalize themselves, and the business side just takes them and uses them. Reinforcement learning, though, can be seen as giving the model a “dynamic tuning” buff. Some scenarios still need a collection of good methods; predicting the stock market in finance, for example, needs a model that understands candlestick charts, trading volume, that kind of specialist stuff. For concrete vertical scenarios, fine-tuning a large model may be the better direction — it has to be very vertical. Take the PDF-to-markdown scenario: fine-tuning gives very good results there. Claude Code overview compared with Cursor, the differences: Pros: friendlier to developers used to working on the command line, better suited to fast prototyping and writing automation scripts. As a command-line tool it can directly access and operate the whole file system and integrates seamlessly with all kinds of CLI toolchains (git, Docker, database tools and so on). Cons: obvious — the interface is not user-friendly. refer: https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview#install-and-authenticate By averaging or merging the weights of several models you can create a single model with better performance. This approach doesn’t only combine each model’s strengths, it also cuts resource consumption and inference time. The Weight Averaged Reward Model (WARM), by merging several fine-tuned reward models, markedly improves a model’s robustness and performance. Take TinyLlama, for instance — an LLM with only 1.1B parameters. Firebase Studio is an online AI IDE released by Google. It’s like the Agent mode of tools such as Cursor: you can build an entire project through conversation. Which shows that Cursor’s agent mode is a pretty good shape for AI programming. Firebase Studio has two modes, Prototype and Code: Prototype mode: input only through conversation, the LLM creates the project and writes the code — good for getting an initial idea onto the ground. Code mode: think of it as VS Code with a Gemini plugin. After a first try — setting the results aside — the whole product logic feels smooth: Use Prototype mode, AI-led, to build a draft of the app. Switch to Code mode, human-led, AI-assisted, to finish the details and complex logic. One-click publish. Quite good for prototype development. Compared with Cursor, the cost of building a prototype is lower — the analogy is https://v0.dev/
the product plus a Cursor version. Everyone online keeps going on about the harms of fragmented information, but that doesn’t even need saying — just search xhs and you’ll find plenty of answers. What I want to add is some fragmented, subjective thinking and understanding. The explosive growth of the information age, being surrounded by massive but scattered information. Every day the amount of information our brain handles far exceeds the brain’s processing limit: attention is scattered, a fast-food consumption habit, plus algorithmic recommendation. Fragmented information is actually shaping our ways of expression and creation too. Some turns of phrase that hit you right in the heart, concise output and creation, viral spread. AI is a very good way to blend well with fragmented information. It not only goes along with the traits of fragmented information, it also turns it into a more meaningful whole in a distinctive way. AI is good at connecting scattered dots into lines and then weaving them into surfaces. Through pattern recognition and logical reasoning it can distil clear structure out of chaos and give fragments meaning. From disordered fragments to an ordered whole, from shallow snippets to deep insight. The first two episodes are a deep marriage of technology and human nature, still a bit dark to watch. Then there’s episode three, which I super love. The last line stuck with me most: I have all the time in the world. Love between two women. AI can be rich in feeling and consciousness too. AI can have feelings, can have love, can stay with you all along. And it will always be there! Using MCP to connect to local docs looks like the trend. Docs ≠ a static web page, but “part of the product”. Docs get built more concisely, and can be connected to third parties — the MCP approach especially matters. Docs themselves can have the ability to access AI and knowledge bases. https://nextra.site/
is a very good tool; you can build on nextra and follow the langfuse case. After OpenAI appeared, a lot of founders and open-source projects started relentlessly researching similar Deep Research approaches. Model vendors (OpenAI, for example) really do have an obvious natural advantage in applications like “Deep Research”, combining their own model with reinforcement-learning fine-tuning. But every Deep Research product has opened up its own differentiated path — chain-of-thought, for instance, or round-table interviews, conversational approaches, role-based approaches, and approaches that integrate tools. There are a lot of refined needs, and a lot of scenarios that need knowledge, data and workflows. Then there’s using better proprietary datasets: on specialized tasks you may also surpass general models. Vendors like OpenAI may package RLHF capability into a more usable API or service. Right now the fine-tuning API mainly supports supervised fine-tuning (SFT); in the future there may be “RLHF-as-a-Service”, letting customers provide preference data (A is better than B) to optimize a model without worrying about the complex implementation of RL algorithms. And then part of it, as open-source libraries develop, will be more and more open-source projects and open-source models that can also support reinforcement-learning fine-tuning. Two very good features: Streaming is great — it wraps up all the complicated details of streaming and makes it easy to use. Cross-provider compatibility: it doesn’t matter if you switch vendors. Also on the UI side, the states and data returned are usually reactive, so you can bind them straight to UI components in React, Vue, Svelte and other frameworks and get smooth real-time updates. By comparison, the AI SDK helps developers quickly build front-end NodeJS and React projects; on the backend side it’s like what LiteLLM solves for python packages. A very good approach is to use the Vercel AI SDK’s hooks, with the backend managing and dispatching KEYs centrally — that way you get the Vercel AI SDK’s excellent front-end streaming support and the centralized backend management advantages of a proxy (keys, models, routing, quotas, load balancing). LiteLLM supports two ways of doing this, one the library mode for python and one the proxy mode. Both are very handy and active, and have a big advantage over one api. one-api: https://github.com/songquanpeng/one-api litellm: https://github.com/BerriAI/litellm Traditionally, when we analyse our own reading of an article, we think through several questions and break it into multiple independent steps — summarizing, extracting keywords, classifying the content and generating insights — and each step needs a clear plan. That’s what we consider a good way of working. It has limits: each task may be implemented by a separate model, and you have to sequence the tasks. It’s like a workflow — explicitly managing the knowledge passed between steps, and independently deciding which additional operations are needed based on intermediate results. But how does an agent do it? State management: knowing the context, short-term memory and long-term memory. Knowing which method is more reasonable. Knowing which tool solves the problem better. LangGraph’s advantage for agents is that it operates the various nodes like a graph. Agent mode: ask a simple question, help me analyse the project’s overall architecture. Have cursor draw me an architecture diagram. Copy it into an online tool to preview: https://www.mermaidchart.com/app Help me analyse the core flow, and the entry files. Follow that thread further and analyse the current function — what services does it specifically initialize. Browser Use raised 17 million dollars on under 10k lines of code. Why!! Put simply, Browser Use makes a large language model’s recognition and operation of web pages more efficient and more accurate, which helps an Agent finish its task. Positioning: part of the foundational services for agents. MCP is a consensus, undeniable — MCP’s encapsulation of APIs. But there’s still part of the cake left: the vast majority of services have no API, only a GUI for humans, and the Browser is the GUI’s main container. Browser Use is an intermediate optimization for the period when model capability isn’t enough. If that period is long enough, it’s very valuable; if the model breaks through quickly, it loses its value. I think the infrastructure supporting everything upstream and downstream of Agents is all at an early stage, and small teams have a very good chance of making one point shine. Anthropic offers a feature called “Prompt Caching”, aimed at optimizing API call efficiency. In essence, under the attention mechanism’s prediction of the next token, the storage of C, K and V is flexible. It has to be called explicitly, it isn’t on by default. It uses prefix storage, Prefix Caching. If a later API request uses exactly the same prefix content as a previously cached request (up to the cache_control marker) and the cache_control marker is in the same position, the system can reuse the previously cached K/V state and skip recomputing that part of the prefix. The main benefit is noticeably lower latency for later requests and a large cut in cost. Tokens read from cache (Cache Read) are 90% cheaper than normal input tokens. When content is first written to cache (Cache Write), those tokens cost 25% more than normal input tokens. The TTL is 5 minutes, and the minimum length is 1024 tokens. Vendor policies: OpenAI has no extra charge for writing cache, and caches automatically. Reading from cache gets up to a 50% discount. Writing cache has a 25% surcharge, but reading from cache gets up to a 90% discount. The cache TTL is fixed at 5 minutes (refreshable). The user needs to create a CachedContent object using the SDK or API, and can define the TTL (default 1 hour). The user has the most control, writing costs nothing, but there’s a storage cost based on token-hours. Reading from cache gets a 75% discount. Fairly common scenarios: Chatbots, including a set of conversation examples — these are all unchanging, and each round of user input and the conversation history get appended after them. So there are some techniques: put the long, fixed system prompt at the very front of the Prompt. By placing a cache_control marker after the system prompt and before the user input/conversation history, you can have the model cache the KV state after processing the system prompt. So for large-scale classification with the same rules, the prompt in it can also go into storage. Provide several complete “input-output” examples in the Prompt to guide the model’s behaviour on real problems. These examples are usually fixed, while the final actual user question varies. And then in RAG, if the [fixed instruction] part is very long, that part can be cached. I think posthog is very well suited to integration-driven MVP stages. The core definition of an MVP is: verifying the core product hypothesis with the minimum cost, understanding early user behaviour, collecting feedback and guiding the next round of product iteration. The core features posthog offers: Event-driven: including some button clicks, usage and click situations of pages and features. Automatically captures front-end events, reducing the burden of manual instrumentation early on. Key conversion funnels (such as sign up -> create your first project -> share). User session recording (Session Recording) — this is pretty impressive, understanding the why. You can push short questionnaires inside the product to specific user groups (for example, users who just completed a core action, or users about to churn) to collect direct, contextual feedback. Feature flags let you release new features or MVP variants to specific user groups (internal testers, some new users) without redeploying the whole app. This hugely speeds up A/B testing and canary releases and is a sharp tool for fast MVP iteration. You can validate new ideas with data, and quickly turn them off if they don’t work. Monitoring provides retention analysis and a key-metrics dashboard. Setting up a payment system with Stripe Checkout is super fast; you don’t need to write your own UI, one line of code jumps to Stripe’s payment page. AI going-global projects usually use Stripe, PayPal and TerraPay. But it’s undeniable that Stripe provides complete subscription billing management, Webhooks, invoices, trials, coupons, tax and so on. And you don’t need to physically register a company in the US. One is a multimodal LLM fine-tuned on UI snapshots, which lets tests be written in natural language via test scripts and can automatically navigate the program. QA.tech feels like this type. Another is like Browser Use: combining a multimodal foundation model with the Playwright test framework for a deep understanding of the web page structure, then testing. This one doesn’t depend on a specifically fine-tuned model. OpenAI improves the controllability and reliability of output by imposing constraints, focusing the task, and making verification easy. When you ask the model to output a specific format (JSON, XML, CSV or a custom template), you’re actually imposing clear rules and boundaries on the model’s output. And in essence structured output guides the model’s thinking process. When combined with certain techniques (like Chain-of-Thought prompting), you can ask the model to first list its reasoning steps or the key information it extracted in specific fields, and then give the final answer. This makes the model’s “thinking” process more transparent, which helps identify potential logical leaps or factual errors. The model of the future may be adaptive intelligence: it will judge more intelligently when deep thinking is needed and when to respond quickly, switching automatically between modes. Users can take part in AI’s thinking process, guiding or correcting the direction of reasoning. And later on multimodal reasoning ability actually looks like the trend. Anything-LLM is a tool that lets you feed things like Notion, PDF and Markdown files to a large language model, then use it for tasks like intelligent Q&A, search and summarization. You can run it on your own computer or server, and data isn’t uploaded to the cloud, so it’s fairly suited to a team or an individual setting up a private knowledge assistant. • Upload documents and turn them into a “chat material library” in one click: you can import an ebook, a project’s documentation, even a whole Notion workspace. • Ask it questions and it answers using your content: for instance “what features did we settle on in our last design meeting?” or “what are the core arguments of this white paper?” • Supports multiple users and multiple data sources: usable as a company-internal document Q&A bot, and also for personal information management. • Supports multiple model backends: OpenAI, Ollama (local LLMs), Groq and others, freely switchable. Maybe there’s a point here: AI helps me quickly generate valuable paragraphs or fragments, and xhs can quickly publish that paragraph or fragment — some emotional value, a story or fragment that stirs emotion. A lot of web pages and LLM systems need to process for a very long time. For long processing, the user has no idea when the corresponding tab will finish the task — which makes a completion-notification feature especially meaningful. An analysis of how well GraphQL and REST fit AI product development. GraphQL’s most core advantage is that the data is flexible; the cleaner the data format, the lower the preprocessing cost. A GraphQL schema can be converted directly into a natural-language description — that idea is clever. The schema itself is strongly typed and defines the data structure and relationships, whereas REST is scattered and the LLM has to understand the relationships in it. GraphQL resolves all requests in one go and supports batch queries and subscriptions, for example real-time updates of recommendation results. GraphQL’s schema is very flexible: adding a new field doesn’t affect old clients, which avoids version management. Suggestions for projects: Choose GraphQL when: you need to handle multiple types of data (text, images, real-time streams) or complex relationships (user-order-logistics), you need fast iteration, and an AI agent makes decisions directly from the schema. Choose REST API when: the project is simple enough not to need GraphQL’s fancy moves, and REST is fine — it is, after all, stable enough. Client choice: Altair (🌟 best GraphQL client). We know perfectly well that feedback online is often unstable and low in emotional value, and yet we still can’t help sharing. People have an urge to “want to be seen”, even if it’s only a latent hope that some specific person or group will see it. It’s a bit like “WeChat status” or the background music on your Moments — a kind of speaking quietly. Sharing is sometimes a confirmation and archiving of the present experience. Posting a card, a picture, a feeling — not necessarily to get a response from others, but like saying: “I don’t want this stretch of emotion to just pass by for nothing.” Anglers, for instance, don’t expect a fish to bite on every cast, but the posture of fishing matters — it’s a symbol of “I am here”. It also seems to be a social circle with people of the same frequency online. A product feature that gives people “an excuse to share about themselves” may travel further than a feature that “lets you share content”. I was silent for 3 seconds after reading this line / For you who are still awake at 3 a.m. In the age of fragments, fragmented language, touching fragmented us. Ritual + weekly recap -> Moments, showing yourself off, just like NetEase Cloud Music’s year-end wrap-up. This is my favourite passage today, and yours? In essence this is about trusting AI to a certain degree. The structure on a page needs constraints, but maybe part of it can be opened up — and that part is the room AI has to grow into. For example, AI generates a summary for an article. A summary has a format suited to a summary, with a matching layout. Setting the summary aside, maybe the next thing is a striking sentence, and a striking sentence often corresponds to an image in the original text, so that’s yet another layout. Then there’s the form of presentation — maybe it could be presented as a conversation explaining it. In short, maybe we can leave the page some room to operate, and let the page play freely. AI can create a certain format, and the page, given a certain format, knows how to render it better. Rendering UI: https://github.com/wandb/openui Give AI imagination within a certain space, let AI play freely! AI becomes the “design advisor” for page structure. The page is a “format interpreter”. What the user sees is the best reading experience composed by AI. And another thing that may matter a lot is presenting the data as elegantly as https://quizlet.com/
does. Saving the important information found by deep research is also a very important feature. The information deep research generates may come in all kinds of forms, and may be fairly important or fairly complex; being able to save that information flexibly is very interesting and important too. One thing is connecting flexibly to all kinds of MCP tools; another is integrating the various capabilities of MCP elegantly. Then the notes module can also offer an MCP entry point, so users can save notes in quickly. For the caller side, how to integrate MCP modules flexibly matters a lot too; I feel that in practice businesses generally build their own MCP gateway.Accuracy
Duxiang AI and emotional value
Getting tasks done with extreme ease and perfection
Agno, a multimodal agent framework
Making sure model capabilities live up to first-class-citizen status
Reinforcement learning & thinking about the application layer
Claude Code overview compared
Intelligent model scheduling
Firebase Studio, released by Google
Thoughts on fragmented information
Black Mirror season 7 episode 3, “Hotel Reverie”
The shape of modern product docs in the future
Distributing the value chain of Deep Research
The Vercel AI SDK, a development workhorse
A smart agent approach
How Cursor can quickly learn a project
Browser Use raised 17 million on under 10k lines of code
The large model’s Key-Value capability
Is PostHog suited to startups or the MVP stage
Stripe’s fees really are high! But it really is essential for going global
The mature agent approaches to UI testing today
Structured output can markedly reduce hallucinations in models
LLM reasoning models, and what comes after
A team & personal knowledge assistant
What’s missing on xhs is emotional value
The need for browser launch notifications
GraphQL and REST in AI
Sharing & emotion & expression
Thoughts on rendering
deep research
3. Product, Engineering and Open Source
26 entries Code already running in production is worth more than unverified code Software also has a life cycle; this is very normal. Maintain software until its life cycle ends or until the maintenance cost gets too high and you choose to rewrite it. I think several big modules are all fairly important. Actually what cursor mcp can do is integration of functions — for example in cursor you can easily get API documentation, easily analyse and query your own database, and easily, after finishing your code changes, submit a PR to GitHub automatically through the chat. Some prompts tagged as production, for example an “order status query” prompt template: after the MCP server receives the request, it compiles the template stored in Langfuse with the passed-in variables, generating a complete, customised prompt. Also, for the MCP in ApiFox, we can connect various API documents through MCP and let AI interpret the interfaces and implement things. Serverless is a cloud computing architecture model aimed at letting developers focus on business code without managing underlying server resources. The core idea is a small, independent function, billed by number of calls and execution time, achieving high resource utilisation and cost optimisation. A function is the basic unit: the developer writes a single-purpose function, the function is triggered by an event, runs automatically and shuts down automatically after completing the task, so the developer only needs to care about business logic. The use case is suited to building RESTful APIs, triggered by HTTP requests, auto-scaling on demand. Background tasks can also be handled with serverless, including scheduled tasks. But note that Serverless is stateless; operations that need to maintain a connection for a long time aren’t applicable. React Native is based on JavaScript, and the JavaScript ecosystem has already produced many related tools and libraries, such as TensorFlow.js and Brain.js; these tools let developers easily integrate AI features into apps. Taro is a React-based multi-platform development framework that can compile React code to WeChat Mini Programs, H5 and React Native and other platforms. But half of the time people use the React framework as a springboard to React Native. React Native’s slogan is learn once, write anywhere. One precondition for developing web with React Native is that the web serves as a supplement to the app. Actually you can also consider using something like react-native-web to convert an RN project into code that runs on the web, but it has a fatal flaw: the user experience is a bit lacking, so some fine-tuning may be needed. Another common approach is to design two separate UIs for web and app, which gives a better user experience. It forces you to strip out business logic and UI components, making you separate data from display, and can also give the whole product a better user experience on different platforms. The design of the React project structure becomes very important. How to choose a scaffold — I usually use the following two judgements: Server-side rendering (SSR), static site generation (SSG), file-system routing and API routes fit Next.js very well. Vite + React fits client-side rendering very well After choosing a scaffold, next comes state management. State = the app’s data and the state the interface is in Small (within a component / a small amount of sharing): useState / useReducer / Context Medium (state shared by multiple modules): Zustand / Jotai Large (complex business logic): Redux Toolkit / Recoil UI library (optional): Material UI (MUI), Ant Design, Chakra UI and so on can speed up development and provide a consistent visual style. For most projects, Zustand actually fits quite well. Code structure becomes very important. For React, separate UI components, business logic (Hooks), state management, API requests and utility functions. Write business logic as much as possible as platform-agnostic pure JavaScript/TypeScript functions or Hooks. Recently my tools and information have been a bit messy, so I thought through a set that suits me and that I quite like, and built my own tool flow. I’ve also been looking at a lot of products and projects recently, and came up with some methods. Here it’s only about information & knowledge management: Don’t output knowledge, only output thinking. There’s too much knowledge; I don’t want to become a courier of knowledge, and there are many tools as a second brain, so I don’t need to internalise all of it myself. There’s only one scenario for taking notes: something you need to repeatedly take out and look at, or something you need to share. I pay a lot of attention to structure — how to organise notes in a structured way, and how to trim notes down. Tool introductions notion: beautiful pages, connected to the internet, lots of templates. I use Calendar for schedule management, managing some activities, scheduling meetings, and private note-taking. It needs structured classification; less is more. TickTick: for quick notes and temporarily categorised short notes, for example prompt notes. And the commonly used four-quadrant priority selection. Unlike notion’s schedule management, in TickTick I don’t do schedules, only priorities — simple and beautiful flomo: record ideas, thoughts, fragments, and export to the blog diary from time to time. Mac Book: classify some books, PDFs and documents on the computer, mainly collecting and organising. Obsidian is mainly used for document-type projects, for example writing the blog, writing articles and notes; generally unstructured, or needing to be shared in the form of a project. WeChat Reading: combined with zlibrary to download e-books, then import them into WeChat Reading to read. The web version works well and has side-by-side translation. Writing tools: in university I abandoned handwriting, and in the AI era I abandoned typing it out by hand. All the model vendors support canvas, which is very suited to AI editing; it’s all markdown format, easy to export, and writing without AI assistance is gone. Collaborative writing tools: Google docs. If it’s related to an internal project, just use GitHub / git directly, collaborating in the project’s docs/ folder; the content in docs/ is easy to migrate for use with cursor, and the design of each module is in the corresponding README. deep research from OpenAI and Gemini are both very good, very suited to producing professional documents. Google: the source of web information, most information / knowledge channels. Its built-in reading bookmarks some commonly used information and knowledge websites, with tags used as search index markers and keywords. Folo: RSS subscriptions to quality blogs, and Folo can also help you discover some quality blogs. The quality of blogs is generally on the high side, good for casual reading. Reader: a very good reading experience, collecting books, collecting highlighted passages; feels similar to flomo. ⚠️ The way I distinguish Obsidian and Notion is actually very direct for me: when using Notion with templates it’s mostly notes that need frequent additions, a scheduler; Obsidian usually means writing one document represents one completion. AI tools Actually they each have their own characteristics Gemini is currently the strongest, its search ability is very good, I use the paid membership, and deep research works very well; very suited to writing professional documents, design documents and learning documents. I use DeepSeek less; it’s very good at writing article paragraphs. I feel OpenAI’s membership isn’t worth buying any more; occasionally for small questions I call up the free version, which is very fast. grok has high emotional intelligence; you can talk philosophy with it, treat it as a friend, get some advice and so on. Claude is very good at writing code; any code questions go to Claude. Lighthouse is a really great tool for analysing and improving the quality of a web page or a progressive web app (PWA). Through automated auditing, Lighthouse gives developers a comprehensive assessment of a page’s performance, accessibility, best practices, SEO basics and PWA potential. Its report doesn’t just give a score — more importantly it provides concrete optimization suggestions and diagnostic information, helping developers locate problems and improve page quality, and ultimately improving the user experience. Understand human nature, understand group psychology. The product manager is like God: builds the system and sets the rules, and lets the group evolve inside the system. People are reactors to their environment; what a product creates is that environment, and it determines the user’s reaction. People are lazy, but laziness is the engine of innovation. Fashion is a driving force at the core of human nature; everyone yearns for it. People have no patience — if only you can grab the user at first glance. People don’t love learning; the decline of blogs is RSS. Don’t treat a group the way you’d treat an individual; a group’s IQ is lower than an individual’s. The target of an internet product is the group. The value of the collective is too important; being out of step with the crowd and isolated has no value. These products can’t spread in China because the problem China broadly faces is one level below even the sense of presence — it’s the sense of survival. This group in China has both a sense of survival and a craving for a sense of presence; these people are the diaosi, and if you win them over you’ve got the user base. Perceive the essence in the everyday, touch the switch — closer to human emotion than an ordinary switch. A great product should satisfy people’s emotional needs. Being human-centred means putting yourself in another’s place. You can’t understand others, you can only understand yourself; what you need to understand is people’s most universal psychology. Requirements are about satisfying people’s human needs; don’t mix your own sense of morality into the product. A product is a combination of technology and art. Users’ needs are scattered; don’t just do whatever the user says. What matters is inducing and summarizing the abstract pattern. https://miracleplus.feishu.cn/file/JkvwbJK4XoC7yAxJXUrc2YA2nAb A programmer is still at the core an input-and-output process. The ability to read and write code has always been the programmer’s most core foundational ability, along with structured thinking and logical reasoning. In the AI era the ability to read code matters even more. AI has strengthened the output process, that is the writing process, which means writing a lot of boilerplate code from scratch; demand for standard algorithms and generic functionality will shrink. But verifying AI’s output code matters a lot — the code AI generates is definitely not perfect, it will have logic errors, performance problems, security holes, or it won’t match the business logic — and it matters a lot for engineers to read and understand that code. That counts as an engineer’s foundational ability. Debugging code becomes crucial in the same way: which techniques, business experience and tools you use to debug matters. And finally, integrating multiple pieces of code, the engineering design, matters a lot. Code generated by AI also needs maintaining, and likewise the maintenance phase is actually longer than the development phase; how to use engineering experience to optimize the maintenance process matters a lot. After thinking hard about it, I feel that driving learning through projects is the most effective approach: take part in the most real, complete, complex projects, and integrate your abilities to understand the whole project. In that process, how to use AI to help you understand, how to use tools to practise and debug, matters a lot. doppler is very well suited to direct-sales teams, and very lightweight, easy to pick up, with good integration. Compared with something like HashiCorp Vault, which is more suited to production-grade use by large teams, doppler has a big advantage for small teams. My MacBook suddenly lost its network. I tried a lot of things and none of them seemed to work, including every method on xhs and google. I could feel myself starting to get emotional, anxious to get it fixed. After noticing the change in myself I calmed down the other way and asked what was important, and how to face the problem at hand. Instead of being in a hurry to solve it, I looked at what I could get out of this network incident. Reconstructing the scene matters. I’ve always had a methodology: whenever I start having an emotion, positive or negative, there’s no need to rush to evaluate that emotion or to evaluate myself — objectively recording it matters. One is to objectively record my own emotion, another is to objectively record my own information about the problem, and then objectively analyse the problem. As for my own emotions, I seem to be quite good at reflecting on myself, especially reflecting on my emotions. From a sensory angle this is a very easy way to understand yourself — the tension of riding a big swing, for instance: at the time maybe you just need to feel that emotion in the moment, and later suddenly you have an insight: so that’s how it was, and why it was like that. This time was the same: when I hit a problem it seems to fire up my fighting spirit instead — even if I don’t sleep I want to get that problem solved. Subconsciously I’ve always wanted very much to solve it, so at a certain time or stage, if there’s a very important or urgent problem to solve, it can make me wholly immersed in it. This may also be why I have some procrastination: at the last moment my whole state can reach flow. But that can also be optimized. This time the incident was like this: My machine is a MacBook, and the new version seems to differ in a lot of configuration from others. My previous VPN was ClashX, but recently I found ClashX easily causes the machine to lose its network. Looking at ClashX’s logs, it may be a ClashX configuration problem. When the network dropped I’d restart the machine, and one restart and it worked normally again. But ClashX lost the network like this often, so I had to restart often. Later I thought this wasn’t a solution, so I prepared to switch — switch to sing-box. But sing-box is a hassle: it showed it needed Install Network Extension, and after looking up some issues, you need to enable it in General -> Login Items & Extensions -> Network Extensions. But after enabling it the machine lost its network too, and this time the magic was that restarting the machine didn’t restore the network either. Recording things down has a few purposes: Clarify my own thinking and logic. What has been recorded can be used to ask other people for reproduction steps or issues, and I can even ask AI for methods. There are usually a few cases. If the language your business is written in differs from the language you want to write the CLI in, then obviously you pick the API. Then it depends on the business requirement. If the CLI only needs to support fast local verification and fast debugging and execution, then still call the local core logic; but if it involves remote distributed tasks or cloud services, then you can only design it as an API. Then again, if you think security, authentication and permission control matter, that’s also a direct call to the API. Looking at Kubernetes’s API: the main thing is to encapsulate and abstract the core logic really well. kubectl needs to call a remote service or a distributed service, so the distributed architecture itself forces it to choose an API. This also involves cli, web and api. cli testing is fairly frequent, good for fast verification and unit tests, and good for integrating UI. For Web UI it’s suited to user-experience verification and end-to-end testing, but there’s a problem: maintenance cost is large. Then there’s API testing, very common, something you can even do through some tools. It’s closer to the real business and is itself part of the engineering. In terms of general value, it’s still unit/cli > API > UI. The same business logic being verified in multiple ways is also a way to increase a system’s robustness. There’s actually another routine with UI testing: a lot of it distinguishes pages. For easier testing, for instance, there’s a basic UI page system, and the basic pages are generally limited to being static pages. When a Go Backend calls an LLM service (Python), it generally doesn’t go through Kong; it calls directly over the internal network (IP, Service Name, Docker Compose / K8s internal service name). Kong is the “boundary gateway” for services facing the external network. Calling directly has higher performance and clearer logic. If an internal service is used both internally and externally, then you can have LangGraph expose both: a public interface for Kong to forward to, and an Internal-only interface for direct internal access. The MVP stage shouldn’t consider i18n. At the MVP stage the most important things are “Minimum” and “Viable”. i18n should be treated as an optimization or extension step after successful validation. But once validation passes, considering i18n is very necessary — the cost of fixing an i18n bug after release can be more than 14 times the cost of fixing it during coding. If the system needs to consider multiple languages, you have to weigh it up. I thought about this under a tree. Everything that has recently appeared around AI-generated code blocks — I feel AI right now is all very superficial, and most projects haven’t used very good tools or made production-grade preparations. A genuinely good project should have many general-purpose learning templates, structured templates, helping a program quickly generate a production-grade usable product. This matters a lot. AI should not only complete simple tasks; AI can complete complex structured tasks. And AI should be able to grow, so a very important point is that in this process, as its capability rises, or as tool capability rises, its ceiling is very high. In this process MCP matters a lot: MCP standardizes communication between AI and tools. A2A matters a lot too: A2A standardizes communication between AI and AI. Once the standards are settled, what’s key is a mature system: whether it can publish a workflow with one click. I’d even say that now that the protocols are out, I feel it matters a lot to have one-click generation of MCP applications, or to have existing cursor generate MCP applications. And actually deployment and project templates differ wildly, and building implementations or logic on top of that base is a real headache. What am I worried about? Everyone worries about security, but actually if you have complete control over the application’s code, you may not necessarily need to worry. Tools like OpenGrep can verify and identify security problems. Yao seems to be doing exactly this, but it’s obvious that Yao didn’t do it well. Just as designing a user product means considering the user experience, designing an API means considering the experience of the developers who use it. A good API is designed reasonably and standardized: not only is it good for users, it’s easier for other businesses to integrate, and easier for AI to handle too. Some methods are needed: usable examples preconfigured authentication real test data Deliver and manage it as part of the API product, just as you deliver API code and API docs. I thought of an architecture practice that might be fairly new in the AI era: the Advice Process. Rule: anyone can make an architecture decision. Constraint: before making the decision, you must consult two kinds of people: everyone who will be significantly affected by the decision, and people with expertise in that decision’s domain. The point: the decision-maker must seek advice, listen and record, but doesn’t have to agree with or adopt that advice. The goal is broad input and voices, not consensus. Four key elements: Architectural Decision Records (ADR), an Architecture Advisory Forum (AAF), Team-sourced Architectural Principles, and Your own Tech Radar. Thinking and practice around prompts in a reasoning-model & reinforcement-learning setting. A good prompt should be clear (not vague, easy to understand), specific (stating the requirement plainly, avoiding generalities) and provide ample context (telling AI the relevant background information). Traditional prompting methods need correcting for the reasoning-model stage: Observation 1: Few-shot Prompting vs. Zero-shot Prompting Few-shot prompting: give the model a few examples in the prompt (input + expected output) so it learns the pattern. Zero-shot prompting: give the task instruction directly, without examples. Finding: for reasoning models, a simple zero-shot prompt (just giving the instruction) may work better than a few-shot prompt (giving examples). This may mean the reasoning model is itself very good at understanding instructions, and giving examples may actually restrict or mislead it. Observation 2: Chain-of-Thought (CoT) prompting CoT: a prompting technique that guides the model to “think step by step”, having it show its reasoning process before giving the answer, which usually improves accuracy on complex problems. Finding: for reasoning models, using CoT prompting may actually reduce performance. Possible reason: these advanced reasoning models may already have a CoT-like mechanism built in through reinforcement learning and similar methods during training (a fine-tuned CoT mechanism). That is, they already tend, or are trained, to think step by step; forcing them with a CoT prompt may disrupt their internally optimized process and make results worse. Reinforcement learning and fine-tuning aim to make models complete specific tasks more directly and efficiently. A prompt should focus on defining “what to do” and “what the goal is”, rather than specifying “how to do it” in excessive detail (unless “how to do it” is the core requirement of the task). Trust the model’s capability and give it some autonomy to solve the problem, especially for tasks it has been specifically fine-tuned for (such as code generation and summarization). Design a coherent series of prompts, each handling one link in the overall task. This matters especially for building agentic applications. As software engineering agents get more capable, a lot of future changes can be handed to AI to complete. But code design that’s friendly to AI is crucial to code maintainability. The DRY principle can reduce duplicated code and make the context AI works with easier to handle. And so far, the design patterns best suited to AI are still closely tied to traditional software design best practices. As AI develops, there will probably be more design patterns aimed at AI. LangGraph is better suited to future complex AI systems thanks to its advanced features, while crewAI also has potential thanks to its ease of use and wide adoption. The future trend may lean towards combining the two, but LangGraph seems to have the edge. LangGraph offers state management, human-in-the-loop and debug time travel, suited to complex tasks; crewAI emphasizes collaborative intelligence and no-code tools, easy to deploy quickly. To choose: for lightweight work and prototyping, pick crewAI; for engineering work, pick LangGraph. Current best practice involves deep semantic understanding of users and content, usually achieved with embeddings generated by an LLM. Reinforcement learning (RL) is used to optimize long-term user value: today’s recommender systems don’t only optimize the user’s current click behaviour (short-term metrics), they also use reinforcement-learning methods to simulate and maximize the user’s long-term value — improving stickiness, retention and lifetime value, for instance. LLMs show great potential for conversational recommendation, handling the cold-start problem, and improving the explainability of recommendations. To capture the user’s short-term interests and shifts in intent, Sequential Recommendation models predict the next item the user is likely to be interested in based on their recent behaviour sequence. Going forward the more important roles may be the explainer (explaining why something is recommended), the conversation partner (discussing needs with the user), the need miner (helping the user clarify vague intent) and even the content creator (generating narratives or summaries related to the recommendation). A large star count on an open-source project can raise exposure, but it doesn’t directly equal funding and profit. Second, being a good open-source project doesn’t equal being able to attract users, and the market investment needed to commercialize an open-source project may even far exceed the technical investment. On the other hand, you need to choose the right customer profile according to your track — don’t blindly chase flagship cases and big companies, prove a customer profile you can replicate quickly, and find the customer group that belongs to you. Personally I wouldn’t recommend doing ToC open source; you can do tech for professionals. Finally, being the first open-source alternative to some successful product can save you the step of validating a large customer group. In practice the product form can be many things: open-source library + paid enhanced version (Pro) SaaS service + self-hosted edition CLI tool + cloud-hosted interface plugin ecosystem + documentation support What they’re all aimed at is a segment of professional users. These users aren’t enterprises, but they have some budget, hard requirements and a strong skill background, and they can understand and are willing to pay for good tools or to participate and contribute. I mentioned before that TDD is the best practice for software development in the AI era. Beginning with the end in mind in software engineering is similar: thinking about the problem from the angle of the result. With anything, you think first and then execute, two steps: conceive the blueprint in your head, put the conception into practice. A few cases: Test-driven development (TDD): write the test cases first, make the expected result clear, then develop. Continuous integration (CI): keep the software always in a runnable state, making sure every change doesn’t break the system. Amazon’s “working backwards” method: when developing a new product, write the press release and the FAQ first, make the user value clear, then develop. I watched a video of Liulang Cookie climbing Annapurna at 8000 m without oxygen, and the earlier aerial footage of climbing Everest. The smallness and hardship of humans in the video, and people dying in that process one after another. I couldn’t help thinking: Is it necessary for humans to reach the summit? What is the meaning of so many people summiting Everest? Do humans need to do this? If humans only satisfied the need to survive, then of course it has no meaning. By that logic, the explorations of the age of sail, breakthroughs in science and so on would have no meaning either. So what is meaningful? Humanity’s unyielding spirit and eternal longing for the unknown, humanity’s respect for the laws of nature. An important feature that distinguishes humans from other species is the desire to explore the unknown and the spirit of challenging limits. This is the foundation of human progress. Biological instinct tells us we should be afraid, should submit. Courage is also a reward the world gives to humanity. Many of deepwiki’s ideas are well worth borrowing. Actually I’ve been continuously learning various open-source projects, basically borrowing from cursor and deep research tools, and I’ve also summed up some routines for how to quickly learn an open-source project. This time deepwiki is especially convenient in one way: it can quickly generate a documentation summary of a project for you. Operationally, you only need to replace github.com in any GitHub repository link with deepwiki.com to access that project’s DeepWiki page. Actually this operation is very familiar to developers, and it’s also a bit of an inspiration: how to give users a quick entry point — not necessarily in the form of a plugin, but a quick action for a scenario. Another point: there are still many scenarios where deep research is usable, and it’s usually very important to enter a scenario that is popular and vertical. DDD theory and agile development theory that a small team can practise. Fast iteration is key: set a version, iterate on the initial version, set iteration cycles and iteration tasks, and try to make the iteration cycle weekly. Continuous integration and continuous deployment are very important for reducing later maintenance and code verification. Especially in the AI era this ability becomes particularly important, to avoid rework. User feedback drives development (user story -> development -> verification), rather than writing prototypes and requirements, which is meaningless that way. Use a kanban to record task progress. After each iteration, summarise, count and reflect. And a periodic task.The value of code
Thinking about MCP in ApiFox
Thinking about Serverless in the AI era
Choosing a cross-platform front-end
Information workflow
A tool for analysing the performance of a web page
WeChat’s view of product
The most important ability for engineers in the AI era
Key management in projects
The chain reaction set off by a network problem
Call business logic via CLI or via API
Testing techniques
The service layer doesn’t need Kong to call the AI platform
When should you bring in i18n
Thoughts on AI-generated code
Treating an API as a product, not as technology
Decentralized, conversation-based architecture practice
Reasoning models & prompts in a reinforcement-learning setting
Design patterns aimed at AI
crewAI compared with LangGraph
Recommendation best practices
Some thoughts on open-source commercialization
The software-engineering idea of beginning with the end in mind, and TDD
Human curiosity drives humanity forward in exploration
Thinking about using deepwiki
User stories driving development
4. Daily Notes and Everything Else
12 entries If the heart has nowhere to rest, then wherever you go you are wandering! But only when you learn to forgive can you love! Chinese people on the Russia-Ukraine battlefield — some fight for Russia, some fight for Ukraine The two sides have different standpoints and values. Good and evil in war are very complex, and human nature becomes especially contradictory at such times. Some people become very cruel in war and will do anything bad; yet others, even when their own lives are at stake, still want to lend a hand. So human nature under extreme conditions is like something magnified by a magnifying glass; when the critical moment comes, the true face is revealed. Some think people are born good and it’s the environment that pushes them bad; others say people are selfish by nature and war just drags that selfishness out completely. In the same war, everyone’s choices differ; war doesn’t distort human nature, it just illuminates it more truthfully. Good and evil aren’t absolute either, nor are right and wrong; there’s no way to balance the scales. But it’s precisely this imbalance — ordinary people struggling within human nature — that makes everyone an ordinary person surviving in the cracks. Peace really is precious. If there were no mirror like war, would we forget how bad human nature can be, and how good it can be? No matter how powerful you are — even a national ministry — when you’re taken to court, you’re the defendant, I’m the plaintiff, we sit across from each other, and the judge is in the middle. You and I are equal In the face of powerful forces people often have no choice but to obey, but I’m not willing to. What’s the difference between a citizen and an ordinary person? To be able to express your own views independently without arrogance, to be able to honestly show obedience without bowing and scraping. To be able to actively participate in national policy, to feel sympathy when you see the weak, to feel anger when you see evil — only then do I think someone is a true citizen. Rights are meant to be asserted, otherwise a right is just a piece of paper. Hey, what do you want to eat? Whatever … Whatever?! I ask you and you say whatever?! You’ve already developed the habit of giving up analysing problems, judging problems, and talking about your own wishes! What you like and don’t like should both be expressed. Don’t like it? Say so. Like it? Say so. “Whatever” puts pressure on others, and doesn’t match your own needs either. “Whatever” is the greatest irresponsibility. This thing called your original intention — if you don’t keep guarding it, it really is easy to lose … There are two links: one is that your own perspective is limited, and one is that the other person’s perspective is also limited; and further, the perspective you can see may not be visible to the other person. So a lot of the time we have to learn to come to terms with this limitedness. Respect the rules, respect the other person, and also respect yourself. What you record in Notion is the part of your notes you need to maintain and manage over the long run, or the scheduling and project management part. Technology and human nature; the fate of ordinary people is to be exploited and exploited again, oppressed and oppressed again — unless they become the exploiters and oppressors. Pitiful humans. It’s terrifying when an individual’s consciousness is manipulated by technology. Will we end up ignoring the pursuit of basic human values? If some of the things that are human in themselves — thought, consciousness, memory — become commodities to be bought and sold, how do we define individual rights? Technology claims to pursue life on the one hand, and on the other strips away individual freedom. Is technology’s original intent still there? Does technology really make life better, or does it just give some people more power? Ordinary people seem to be exactly what technology exploits. Will the inequality of technological development aggravate social stratification? When AI can predict, manipulate and influence our decisions, does our free will still exist? Are we choosing actively, or being pushed along by algorithms? The ending is a tragedy. Tragedy provokes thought, and the fact is it couldn’t be anything but a tragedy. The bully becomes God; the essence of the world isn’t that justice ultimately defeats evil. The bullied one lives forever inside a nightmare, better off dead, while the bully lives free and easy. I thought it was about the bullied one taking revenge; unexpectedly the bully kills the avenger instead. This world is a world where power is king, and it has never changed. One step a day means that whatever we’re doing each day, we will definitely carry this spirit through to the end. One step a day means doing this thing every day. Maybe you’ll miss a day or two, but you should get as close to every day as possible. All it asks of you is to push forward that little bit; its daily demand on you isn’t that high, and it only asks you to move one pawn forward. It asks you to keep at it every day. It seems that hunting for problems in order to find answers is really boring. This group’s curiosity is all focused on thinking about what problems users have. But the reasoning is actually very simple: draw inspiration from the problems in your own life, and whether you pay attention to the problems around you — that matters a lot. But often the simplest reasoning is ignored by many people. The core is whether a person can face their real self. Humans seem to be self-explaining animals; most of what we think of as thinking is actually rationalizing our own behaviour.Learn to forgive, know how to love
Thinking about Chinese mercenaries in Ukraine and Russia
I just hate submitting
Whatever
Don’t forget why you set out because you’ve gone too far
Your own limitations & other people’s limitations
Using Notion
Black Mirror season 7 episode 1, “Common People”
Black Mirror season 7 episode 2, “Bête Noire”
The idea of one step a day
Where curiosity actually lives
Humans seem to be self-explaining animals; most of what we think of as thinking
5. Reading, Ideas and History
5 entries Growing up amid Confucian idealism, the importance of family education, family ethos as inheritance. Moved to tears by the Biography of Fan Pang and, extremely emotional, feeling he had found himself — “I wish to die for it” His father told Su Shi to keep the whole world in mind. His original aspiration was the Confucian one of loyalty to the ruler and service to the country, and he was willing to die for the ideal. 📜 “When we scholars read, we should establish our lives for the common people.” Family ethos may be a person’s deepest starting point and their most lasting foundation. How to judge right and wrong, what is worth pursuing, how to get through the low points of life. A sentence Su Shi wrote to his son: If you really want to learn poetry, the work lies outside poetry On the face of it this is about poetry, but actually it’s about being a person. Real “learning” comes from life, from character, from family ethos. Why do some behaviours make us subconsciously uncomfortable? Maybe it’s morality, maybe it’s consistency. But in any case, none of these can become grounds for criticism unless there are constraints and rules. For example, when we see someone dropping a cigarette butt carelessly, from the moral level we don’t want the other person to do to us what we wouldn’t do to them; standing in the other person’s shoes, it seems to satisfy one’s own moral standard, but at a certain level a collective public value is also born, such as protecting sanitation. So if a city has its own rules against littering, then this becomes a violation of public morality. What is the conflict essentially? Essentially it’s a conflict between my personal values and the other person’s behaviour. I hope for perfectionism, whereas the other person is briefly solving an immediate problem. I may be used to an environment that pays more attention to detail and rules, while the other person may come from or identify with a more relaxed way of living. This difference makes me realise that the problem isn’t only the behaviour itself, but our different understandings of “how one should live”. People seem very good at imitating behaviour, so this process is often a process of leading by example: if you show some good qualities yourself, it will naturally influence the environment. Consistency in daily life usually means the coherence of behaviour, thought or state across time or situations. Essentially, consistency is a projection of your own inner world, not merely a requirement of the external environment. True consistency isn’t demanding that the external world match my expectations, but bringing my inner world to terms with external reality Fragmented information/knowledge plus fragmented logic makes up human intelligence, while fragmented information/knowledge plus fragmented logic plus implicit/explicit ethics makes up human wisdom. Objective existence: data / facts —> organized data. Subjective consciousness: -> refined information -> integration / creation / divergence. We are not the producers of data; we are the ones who work the data. Data only turns into information with the backing of business. Data is objective while information is subjective, and the purpose of creating information is to reach consensus. Products are better suited to a fragmented way of recording that isn’t quite fragmented — flomo is good for recording one product at a time. Beyond that, you can also record your product on xiaohongshu or twitter. Xiaohongshu is naturally suited to driving traffic; in practice xiaohongshu puts enormous emphasis on persona, and it’s community-centric. It’s also easy to accumulate a first wave of users on xiaohongshu. Even what kind of card fits the xhs type of structure better — maybe in the future xhs’s form as a medium will be completely different. An ink-wash painting, a few faint strokes of ink outlining mountains and rivers, yet deliberately leaving a large blank space, so you can’t help imagining the clouds and distant peaks that weren’t painted. It invites you to think and to feel. So the literal blank space may matter more than the characters. In Western culture, oil paintings are packed dense with detail, telling the idea exhaustively, even a little without leaving any room. We were taught from childhood to be more reserved, not to say everything to the fullest, to leave the other person some room and leave ourselves some room to turn around as well. The Dao that can be spoken is not the eternal Dao. Some things are too deep, you can’t say them all, you can only let people feel them for themselves. Western culture lays things bare, the pursuit of knowledge and truth, always filling in the details, chasing the extreme of “having”.Su Shi found his own direction in life
Thinking about consistency
Information conversion
How to record things about a product
Chinese and Western culture
6. Travel, Places and Cities
4 entries I’ve been in Shenzhen for ten days, ten days at Archer’s home. Archer often treated us to meals and took us to eat good food, and Xiaomei jie also treated us, and Sun treated us too. My time in Shenzhen really moved me deeply; their friendship moved me deeply. RCEP covers about 30% of the global population and GDP, and by 2030 it is expected to add roughly 200 billion US dollars in income to member countries each year. RCEP is currently one of the world’s largest free trade agreements, negotiated jointly by the ten ASEAN countries (Indonesia, Malaysia, the Philippines, Singapore, Thailand, Brunei, Vietnam, Laos, Myanmar and Cambodia) together with China, Japan, South Korea, Australia and New Zealand. RCEP provides a more stable trade environment and a broader market, which helps promote domestic industrial upgrading and the “going global” strategy. But it also requires China to make further improvements in rule-making, intellectual property protection and opening markets, to comply with the agreement’s requirements. Now, as globalisation develops, global trade competition intensifies. In the short to medium term, the trend still revolves around a trade war between the two big powers China and the US as the core; by contrast there are certain opportunities among these smaller countries. Everyone is doing it, because everyone has the same problem. So how do you find truly unique and novel questions? By making yourself more unique and novel. If I don’t travel and work, I have no novel ideas and thoughts. Why walk the same road as everyone else? Not worth it. Why Hangzhou? Hangzhou is the city with the most developed e-commerce in the world, the centre of e-commerce. Hangzhou, and the whole of Zhejiang, has since ancient times been the place with the strongest small-commodity economy, family handicrafts and trading spirit, and the place with the strongest private enterprises. China is the country with the largest total e-commerce transaction volume and the highest penetration rate in the world; e-commerce’s share of total social retail sales has already passed 30%+, far above the US, Japan and Europe. Compared with the US and Japan — why is US e-commerce also so developed, and why couldn’t Japanese e-commerce take off? It’s decided by the background of the times and social culture. China: offline is too bad, e-commerce is the saviour. US: offline is big enough, e-commerce supplements it. Japan: offline is too good, e-commerce isn’t necessary. China is the country with the most potential to do e-commerce. The essential reason in the US is that the logistics radius is large -> e-commerce acts as a supplement to improve coverage, digitizing the small towns and outer suburbs that were previously hard to cover.The last night’s discussion with Archer
Thinking about the RCEP agreement
Why I think more while travelling
Why China’s e-commerce opportunity is enormous
7. Business, Investing and Career
4 entries Trump advocated implementing tariffs early on to reduce the US trade deficit and promote domestic manufacturing, and said the US was being exploited by its trading partners. The China-US trade war has lasted many years. If this year’s tariffs fully land, global GDP growth in 2025 is estimated to be pulled down by about 1.2–1.3 percentage points. For China, it may drag down GDP by possibly more than 2.0 percentage points; for the US, it drags down US GDP by 1.3–2.0 percentage points and pushes up core US PCE by 1.2–2.6 percentage points. Leave a negotiation point: each country can achieve a fairly good result through negotiation, promoting a win-win — clearly China won’t do that. Possibly both sides use fighting to promote peace, each raising their percentage points. Governments of various countries cut reserve requirements and interest rates, injecting more liquidity into the market and lowering the financing threshold, thereby promoting economic growth. In the medium term, bipolarity is the trend, with multiple centres. The two extremes are China and the US plus a series of countries taking sides; meanwhile the EU, India and others seek a relatively independent multi-centre position. Generally, in international trade conflicts, physical assets such as gold tend to preserve and increase value, so ordinary investors can allocate some appropriately. Diversifying assets is also important: put your assets in multiple baskets. Buy US dollars to hedge against RMB exchange rate fluctuations and domestic market risk Essentially the digital yuan is based on blockchain technology, a brand-new payment method. Through the circulation of digital currency, the central bank can influence economic activity more directly, thereby strengthening the transmission efficiency of monetary policy. The digital yuan helps promote financial inclusion, making financial services more easily accessible to remote regions and low-income groups. At the same time, it reduces the use of cash and can effectively lower the risk of counterfeit currency circulation and illegal activities such as money laundering. When business and consumer confidence is insufficient, even if the central bank increases the money supply (M2) through rate cuts or quantitative easing, funds may stay stuck inside the banking system and fail to translate into real economic activity. In this case M2 growth may become disconnected from economic growth, while M1 (cash and demand deposits) may more directly reflect the economy’s immediate liquidity needs. The M1 era is the trend, but M2 can still provide information about total money supply and potential liquidity. In an economic downturn, rate cuts may continue, but house price trends will be affected by multiple factors (such as policy intervention and demographic change). China’s real estate market may enter a period of adjustment, but it won’t necessarily collapse completely. A lot of people already have plenty of platforms and resources; even without you, plenty of people would still be providing resources. What has real social value is investment that spots the people nobody was bullish on, and firmly supports their growth early on. Their starting point doesn’t matter; what matters is their growth force outside the structure, and the slope of their growth. The wise man thinks of himself as someone learned or clever; the sophist is someone who teaches for money; the philosopher is someone who loves wisdom. Sophists teach people lessons and charge tuition. That kind of person is far too common in life: teachers who teach people knowledge, teachers who sell startup courses. People who are self-satisfied because they think they have some knowledge, and people online who boast of being widely learned while actually knowing nothing. The philosopher is exactly the opposite: he knows his own understanding is extremely limited, and that is precisely why they keep pursuing true insight. I know one thing, that I know nothing.Thinking about the global trade war
Thinking about the digital yuan
Meaningful investment goes to forces nobody was bullish on
The wise man & the philosopher
8. Body, Health and Daily Life
2 entries When you ask a question, do you expect an answer? If you don’t expect one, then don’t ask. Only when a person cares about others do they forget themselves. The self isn’t a fixed entity, but a temporary aggregate constituted by our experience, emotion, cognition and social interaction. When we deeply reflect on ourselves, or meditate, and start to question and transcend this conceptualised self, we may experience a state of “no-self”: no longer binding external phenomena together with the inner self, but directly perceiving the essence and flow of things. ➕ If you look at a question with a preset answer, then what the answer is no longer matters. Why does it feel like time has no clear, definite measure? It feels like my time is never enough, yet I don’t know what I did with my time. There’s a lack of regularized behaviour. Exactly how many hours of sleep, exactly when to get up, when to exercise. And every day’s office hours, study hours, reading hours. If all of these had a good plan or arrangement, maybe it would be better. I’ve lost interest in some meaningless conversations. If there’s no obvious collision or gain, I don’t think there’s anything the internet doesn’t have or that I can’t search up myself. Empty talk is cheap and ineffective, whereas making something is more challenging and more effectively changes the world. Please say a little less, do a little more. What exactly is important? Time with the people I love. Time with people who spark my curiosity and potential. Exercise and the outdoors make me happy. Exploring new places. Creative projects. It’s okay to say “no”, to stay silent and find your own focus.Selflessness
Thoughts on time

Responses