# Tw93 blog posts

> 83 English posts by Tw93, newest first. Append `.md` to a post URL, or follow the markdown link, for the full text.

- Full text of every post, one JSON object per line: https://tw93.fun/api/en/posts.jsonl
- Metadata of every post: https://tw93.fun/api/posts.json
- Chinese posts: https://tw93.fun/posts.md

- [How to Build a Slow Product in the Fast AI Era](https://tw93.fun/en/2026-10-26/mole-product.html) - 2026-10-26 - markdown: https://tw93.fun/en/2026-10-26/mole-product.md
  It has been a little over two months since I wrote the previous post, “From Mole CLI to Mole for Mac: What I Learned”. In that time Mole went from 1.13 all the way to 1.18, added AI tool cleanup and System Data cleanup, the Windows version shipped on the evening of October 14, and the GitHub repository quietly passed 72.9K stars.
- [You Don't Know Client Development: Stack, Native, and Leverage in the AI Era](https://tw93.fun/en/2026-10-22/desktop.html) - 2026-10-22 - markdown: https://tw93.fun/en/2026-10-22/desktop.md
  Quite a few folks have been curious how I build Windows software on a Mac, and what stack Windows apps are usually built with these days. As it happens, I have been doing similar work recently, so here are some casual thoughts on choosing technology across multiple clients.
- [From Mole CLI to Mole for Mac: What I Learned](https://tw93.fun/en/2026-08-16/mole-mac.html) - 2026-08-16 - markdown: https://tw93.fun/en/2026-08-16/mole-mac.md
  Lately I've piled up a lot of thoughts on indie development and wanted to pull them together, so this is the story of taking Mole from an open source CLI to a paid Mac app. What I was thinking at the time, and which parts actually turned out to matter.
- [You Don't Know Embodied AI: From a Tiny Robot Dog to Optimus](https://tw93.fun/en/2026-06-07/robot.html) - 2026-06-07 - markdown: https://tw93.fun/en/2026-06-07/robot.md
  In April I assembled a small robot dog. I posted a few clips on X while I was building it, so some of you probably saw the parts, the frame, and the final moment when it could hear a command, walk a couple of steps, and say a few lines back.
- [You Didn't Know GEO: AI Visibility Principles, Practices, and Trade-offs](https://tw93.fun/en/2026-05-01/ai-visibility.html) - 2026-05-01 - markdown: https://tw93.fun/en/2026-05-01/ai-visibility.md
  A few friends pinged me recently saying my open source tools were showing up when they asked AI questions. I hadn't done anything deliberate, so I figured: why not spend an hour structuring things properly? After doing it, I fired off a quick tweet, but the notes were messy. People seemed genuinely interested, so I decided to write it up as a proper article for reference.
- [You Don't Know AI Coding: A Non-Engineer's Guide to Getting Started, Scenarios, and Practice](https://tw93.fun/en/2026-04-26/ai-coding.html) - 2026-04-26 - markdown: https://tw93.fun/en/2026-04-26/ai-coding.md
  Last month I ran an internal session walking product and business folks through how to get started with AI Coding. That deck eventually grew into this post. A lot of people get stuck at the very first step, the command line. Staring at a terminal that's just characters on a screen, they assume it's a programmer-only tool and they'll never figure it out. The bar is lower than it looks. If you can use a chatbot like ChatGPT, you can get going on Claude Code with a bit of time. The rest is just slowly getting comfortable handing the execution over to it.
- [How I Turn Learning Into a Workflow in the AI Era](https://tw93.fun/en/2026-04-06/learn.html) - 2026-04-06 - markdown: https://tw93.fun/en/2026-04-06/learn.md
  Before AI, my way of learning was much more old school. I would read books, go through the blogs of well-known people in a field, both in China and outside China, and keep taking notes along the way. It was slow, but there was real joy in it. I still remember learning WebGL like that. Understanding it took me almost half a year of spare time, and I loved every bit of it.
- [You Don't Know LLM Training: Principles, Pipelines, and New Practices](https://tw93.fun/en/2026-04-03/llm.html) - 2026-04-03 - markdown: https://tw93.fun/en/2026-04-03/llm.md
  After writing "The Claude Code You Don't Know" and "The AI Agents You Don't Know," I wanted to tackle a third installment. This time I pushed myself to work through how large model training actually works, and tried to write something that a non-specialist reader could follow.
- [The Death of the Manual Programmer](https://tw93.fun/en/2026-03-30/kill.html) - 2026-03-30 - markdown: https://tw93.fun/en/2026-03-30/kill.md
  My title reworks the name of a song by Omnipotent Youth Society that I loved twelve years ago. The song is about something different, but that feeling of watching a familiar world slowly get replaced does feel similar.
- [You Don't Know AI Agents: Principles, Architecture, and Engineering Practices](https://tw93.fun/en/2026-03-21/agent.html) - 2026-03-21 - markdown: https://tw93.fun/en/2026-03-21/agent.md
  After studying Claude Code's architecture, I realized I still didn't understand agents well enough. Our team had already deployed agents in several projects, but I hadn't put that experience together. I went back through the literature, open-source implementations, and my own code to work through control flow, context engineering, tool design, memory, evaluation, and security.
- [You Don't Know Claude Code: Architecture, Governance, and Engineering Practices](https://tw93.fun/en/2026-03-12/claude.html) - 2026-03-12 - markdown: https://tw93.fun/en/2026-03-12/claude.md
  I'm sharing what I've learned from six months of using Claude Code across two accounts. It covers context management, Skills, Hooks, Subagents, prompt caching, and CLAUDE.md design, with a focus on making collaboration more reliable and easier to control and check.
- [Installing OpenClaw Isn't the Same as Using It](https://tw93.fun/en/2026-03-07/openclaw.html) - 2026-03-07 - markdown: https://tw93.fun/en/2026-03-07/openclaw.md
  Watching people flock to Tencent Tower to get OpenClaw installed today gave me a lot to think about. Many big tech companies are aggressively pushing non-technical frontline employees to install this AI tool, and I've even seen people online offering home installation for 500 RMB. Everyone's desperately searching for uses for it, demanding results, and trying to prove this thing is too important to miss. The whole thing feels like people living in different technological worlds, folded into the same place.
- [Bitcoin's Fall: Cathedral vs Casino](https://tw93.fun/en/2026-02-01/money.html) - 2026-02-01 - markdown: https://tw93.fun/en/2026-02-01/money.md
  When Bitcoin falls, it becomes easier to distinguish between the casino and the cathedral. As Bitcoin dropped from its $120k peak to around $70k, panic swept through the market once again. During previous major stock market crashes. Price volatility is the casino's noise, while what truly determines long-term returns are those cathedrals that require a century of devotion yet continuously create structural value.
- [Best Purchases from 243 Engineers in the Past Year](https://tw93.fun/en/2026-01-24/good.html) - 2026-01-24 - markdown: https://tw93.fun/en/2026-01-24/good.md
  Last week, while shopping for New Year's Eve gifts for my team, I casually asked on X what the most satisfying purchase people made in the past year was. I received 243 responses, discovering countless great products ranging from essential tech to practical everyday items.
- [Next-Gen Engineers: Breakthrough and Growth](https://tw93.fun/en/2025-12-22/engineer.html) - 2025-12-22 - markdown: https://tw93.fun/en/2025-12-22/engineer.md
  Recently, I shared "Breakthrough and Development of the Next Generation of Engineers - Practical Transformation from Position to Capability" at AICon in Beijing. I have converted the PPT into images and posted them here, looking forward to exchanging ideas with you.
- [The Impact of AI Coding on Programmers](https://tw93.fun/en/2025-08-17/ai-coding.html) - 2025-08-17 - markdown: https://tw93.fun/en/2025-08-17/ai-coding.md
  After using Claude Code for less than a month and spending $326 (actually $20 for Pro + $50 for top-up), the Cursor I had been using for a few months has become obsolete. Using AI well can easily help you reach the level of a senior engineer. As an engineer, I feel both amazed and concerned.
- [How Engineers Can Invest Better](https://tw93.fun/en/2025-07-17/money.html) - 2025-07-17 - markdown: https://tw93.fun/en/2025-07-17/money.md
  A simple sharing within the team, I took some time on the weekend to sort it out and talk about how engineers can invest better. Since buying US stocks is very risky, I don't recommend that you follow it. You need to have your own judgment. Just treat it as me talking nonsense and take a casual look.
- [Experience of Switching from iPhone to Android](https://tw93.fun/en/2025-07-09/android.html) - 2025-07-09 - markdown: https://tw93.fun/en/2025-07-09/android.md
  For a user who has been using an iPhone for more than ten years, I switched to Android for about a month. I chose an OPPO device. The migration cost was much smaller than I imagined, and who would have thought that Android would become my main phone. I want to chat with everyone about the changes in my thoughts during this process.
- ["Don't Trust Your Gut" - Book Notes](https://tw93.fun/en/2024-10-13/intuition.html) - 2024-10-13 - markdown: https://tw93.fun/en/2024-10-13/intuition.md
  I recently finished reading "Don't Trust Your Gut: Use Data to Get the Life You Want." It's a relatively simple and easy read—you can finish it in an afternoon. It covers topics you might encounter in life, such as love and marriage, parenting, wealth, entrepreneurship, luck, appearance, happiness, and pain.
- [Talking about Future Technology Trends](https://tw93.fun/en/2024-09-09/future.html) - 2024-09-09 - markdown: https://tw93.fun/en/2024-09-09/future.md
  This is a recent sharing within the team, based on my own understanding of AI, investment, and next-generation technologies, combined with reports, materials, papers, financial reports, etc. from the internet. If you don't understand some terms, you can ask GPT. I hope you enjoy it, but please don't invest based on this without understanding the market, as the risks are very high.
- [Stepping Inside - Book Notes](https://tw93.fun/en/2024-06-30/china.html) - 2024-06-30 - markdown: https://tw93.fun/en/2024-06-30/china.md
  I recently finished reading "Stepping Inside - The Chinese Government and Economic Development". I had a quick read last year, and recently, while it was raining continuously in Hangzhou, I stayed at home listening to the rain and reading, which was very pleasant. It's a good book that's worth reading twice. I spent some time transcribing some good points for future reference.
- [I Actually Went Back to Wired Headphones](https://tw93.fun/en/2024-05-08/sony.html) - 2024-05-08 - markdown: https://tw93.fun/en/2024-05-08/sony.md
  A man's happiness can be simple. I actually went back to wired headphones. I spent some time on weekends trying out a lot of good headphones offline, and surprisingly ended up buying these Sony MV1 open-back monitor headphones. They don't have noise cancellation and are wired, but I love them. I want to share my selection process with you all.
- [Elon Musk - Book Notes](https://tw93.fun/en/2024-04-14/musk.html) - 2024-04-14 - markdown: https://tw93.fun/en/2024-04-14/musk.md
  I recently finished reading "Elon Musk" during my morning reading time. I highly recommend it to fellow engineers. Although Musk sometimes acts strangely on X, the book reveals him as a true engineer, a genius skilled at combining technology, business, and cost control, but also a person with many flaws. I'm jotting down some notes for my own reference. After reading this book, as a Tesla shareholder, I am willing to continue holding.
- [My Minimalist Living Experience](https://tw93.fun/en/2024-03-03/simple.html) - 2024-03-03 - markdown: https://tw93.fun/en/2024-03-03/simple.md
  Just want to casually talk about minimalism with everyone. I quite like this lifestyle, but that doesn't mean everyone needs to be a minimalist. Some people enjoy collecting things, some love shopping and buying lots of stuff. I think any lifestyle that makes you comfortable is good. But if you also like a simple way of living, or maybe you're a bit of a perfectionist, then these little tips might suit you.
- [My Favorite Tools and Gadgets](https://tw93.fun/en/2024-02-09/tools.html) - 2024-02-09 - markdown: https://tw93.fun/en/2024-02-09/tools.md
  Recently, taking advantage of the holiday downtime, I organized some of the best Mac software, websites, and lifestyle products I've used over the year. Following the principles of simplicity, usability, and aesthetics, I hope this can offer some guidance when you face similar choices.
- [My Open Source Growth Journey](https://tw93.fun/en/2024-01-13/open.html) - 2024-01-13 - markdown: https://tw93.fun/en/2024-01-13/open.md
  A sharing at Microsoft Shanghai Github Universe 2023, mainly about the interesting things I've done in open source for 9 years since university, and the experience of how to build a good open source product. I hope it can provide some input to friends who love open source. The on-site sharing video is at the end of the article, and interested friends can watch it.
- [I'm Actually 30 Years Old](https://tw93.fun/en/2023-12-30/30.html) - 2023-12-30 - markdown: https://tw93.fun/en/2023-12-30/30.md
  After tonight, I'll actually be 30 years old. I've shamelessly felt like I was only 24, and before that, even more shamelessly thought I was 18. I can't believe how fast time flies. Age feels like a wheel rolling down a mountain, gaining speed as time stretches on. Although my experiences are becoming richer, the perceived length of a year is significantly shorter than when I was a child, and I still feel some regret and melancholy.
- [Disliking the Drama in the Frontend Community](https://tw93.fun/en/2023-12-23/fe.html) - 2023-12-23 - markdown: https://tw93.fun/en/2023-12-23/fe.md
  Personally, I really dislike the "drama" atmosphere in the frontend community. Recently, the "Twelve Zodiac Animals of Frontend" even appeared on Twitter. For a moment, I couldn't tell if it was self-deprecation or entertainment.
- [Travelogue of Tokyo & Osaka, Japan](https://tw93.fun/en/2023-12-17/jp.html) - 2023-12-17 - markdown: https://tw93.fun/en/2023-12-17/jp.md
  I went to Japan for 5 days at the end of November, my second trip to Japan. I want to use this article to record what I saw, heard, and discussed with local friends that differed from my preconceived notions, or rather, my unique feelings. Any deviations in my understanding are welcome to be pointed out, and I hope to provide some input for friends planning to visit later.
- [My Entry-Level Coffee Machine Practice](https://tw93.fun/en/2023-11-20/coffee.html) - 2023-11-20 - markdown: https://tw93.fun/en/2023-11-20/coffee.md
  How to achieve daily delicious coffee freedom for less than a thousand yuan? I want to share my experience in purchasing, using, and selecting accessories for my coffee machine through this short article. It's one of the most meaningful items I've bought recently.
- [My Entry-Level Cycling Practice](https://tw93.fun/en/2023-10-26/dahang.html) - 2023-10-26 - markdown: https://tw93.fun/en/2023-10-26/dahang.md
  I bought a Dahon P8 and really love it. I want to organize a best practice guide for beginner cyclists, hoping to provide some reference for those who want to start cycling. Haha, if you want to copy my homework, feel free to do so.
- [Next-Gen Frontend: Dilemma and Breakthrough](https://tw93.fun/en/2023-10-25/new-fe.html) - 2023-10-25 - markdown: https://tw93.fun/en/2023-10-25/new-fe.md
  A sharing at the Chongqing Front-End Conference, targeting a new generation of front-end developers who emerged after React/Vue. With the era of reinventing the wheel over and the highly competitive domestic front-end environment, the growth path for front-end engineers is much more difficult than before. In these dilemmas, I share how to break through with a new approach, using front-end technology to truly solve business problems, enhance product engineer capabilities, and grow in the least competitive way.
- [My Entry-Level Home Theater Practice](https://tw93.fun/en/2023-09-29/tv.html) - 2023-09-29 - markdown: https://tw93.fun/en/2023-09-29/tv.md
  Sharing the process of building a home audio-visual system consisting of Apple TV + Sony + Soundbar + Rear Surround Speakers. Many friends wanted a detailed tutorial, so I casually wrote one for everyone's reference. Welcome to discuss.
- [The Right Mindset for Open Source](https://tw93.fun/en/2023-09-18/open.html) - 2023-09-18 - markdown: https://tw93.fun/en/2023-09-18/open.md
  Recently, several developers I admire have been affected by open source work, and the domestic open source environment is not very good. I want to talk about what kind of mindset developers and users should have towards open source so that we can continue to happily write code we like. There might be some misunderstandings on my part, and I welcome everyone to point them out.
- [My 2023 Browser Tinkering Journey](https://tw93.fun/en/2023-08-20/edge.html) - 2023-08-20 - markdown: https://tw93.fun/en/2023-08-20/edge.md
  The browser is likely the most frequently used application on many people's computers. For those of us with a penchant for optimization, we often tinker with our work tools until they're in a state of peak usability. Last year, I wrote about my journey tinkering with Mac software. After a year of iterations and changes, I plan to continue writing this year, starting with "My 2023 Browser Tinkering Journey," especially since a friend recently asked me which browser I use.
- [Pake: Turn Any Web Page into a Lightweight Desktop App](https://tw93.fun/en/2023-08-03/pake.html) - 2023-08-03 - markdown: https://tw93.fun/en/2023-08-03/pake.md
  A topic from last Thursday's cross-platform technical sharing event at Juejin. I shared some thoughts and experiences from the open-sourcing process of Pake, and also discussed some of my ideas about front-end, Rust, open source, and technology productization. Interested friends are welcome to communicate, and please point out any unclear parts.
- [Hong Kong: Not What I Expected](https://tw93.fun/en/2023-07-02/hongkong.html) - 2023-07-02 - markdown: https://tw93.fun/en/2023-07-02/hongkong.md
  My first trip to Hong Kong was not about ticking off tourist spots but rather observing the culture and environment, leading to discoveries quite different from what I had imagined. Here's a casual chat about those observations.
- [My SMILE Eye Surgery Experience](https://tw93.fun/en/2023-05-17/eyes.html) - 2023-05-17 - markdown: https://tw93.fun/en/2023-05-17/eyes.md
  I had a SMILE myopia surgery in mid-May. I'm recording my feelings on the day of the surgery and after the surgery here, hoping to provide some reference for curious friends.
- [Improvements to the Legendary Fastest Terminal](https://tw93.fun/en/2023-02-06/alacritty.html) - 2023-02-06 - markdown: https://tw93.fun/en/2023-02-06/alacritty.md
  It's been a while since I tinkered with command-line terminal tools on my computer. After using iTerm2 for many years, due to being part of the aesthetics crowd, I started using Hyper last year, paired with Oh My Zsh, and it's been pretty smooth, except for the somewhat slow cold start. I've also tried others like Warp, Wez's, Kitty, etc., but none felt quite right.
- [Building Good Low-Code Products](https://tw93.fun/en/2023-01-02/low-code.html) - 2023-01-02 - markdown: https://tw93.fun/en/2023-01-02/low-code.md
  When it comes to low-code, there are those who love it passionately and those who are decidedly less enthusiastic. There are also those who "pretend" to like it and others who like it without really understanding why. Currently, I find myself somewhat fond of low-code, but only within specific domains where it can significantly speed up the development process compared to traditional coding by skilled engineers. Lately, I've been contemplating the next steps for team efficiency and decided to explore the open-source low-code products in the industry, which might offer some insights.
- [How Engineers Can Do Things Clearly](https://tw93.fun/en/2022-12-09/talk.html) - 2022-12-09 - markdown: https://tw93.fun/en/2022-12-09/talk.md
  A recent sharing with the team on how engineers can do things clearly.
- [How Ordinary People Can Avoid Being Replaced by OpenAI?](https://tw93.fun/en/2022-12-04/openai.html) - 2022-12-04 - markdown: https://tw93.fun/en/2022-12-04/openai.md
  Today I tried some features of OpenAI and recorded the usage scenarios by topic. I found many areas where it is stronger than ordinary people. So how can we avoid being replaced by it in terms of cognition and ability?
- [Building a Minimalist Twitter with Pake](https://tw93.fun/en/2022-11-05/pake.html) - 2022-11-05 - markdown: https://tw93.fun/en/2022-11-05/pake.md
  A simple tool for packaging web pages into lightweight Mac apps using Rust, built on Tauri. Currently supports WeChat Reading, Twitter, Yuque, RunCode, Witeboard, Flomo, Vercel, and more.
- [Trendy Weekly 100th Issue, Made a Website](https://tw93.fun/en/2022-10-22/weekly.html) - 2022-10-22 - markdown: https://tw93.fun/en/2022-10-22/weekly.md
  Before, Trendy Weekly was put on Github, which was not very easy to use. Taking advantage of the National Day holiday, I learned Astro and designed and developed a website for Trendy Weekly myself. It finally feels more comfortable. Sharing it with everyone.
- [MiaoYan: A Native Markdown Editor for macOS](https://tw93.fun/en/2022-09-09/miaoyan.html) - 2022-09-09 - markdown: https://tw93.fun/en/2022-09-09/miaoyan.md
  This article mainly introduces the feature list of MiaoYan, why it is more suitable for engineers, and some personal thoughts on the product itself.
- [How to be a Product Engineer?](https://tw93.fun/en/2022-07-29/pd-code.html) - 2022-07-29 - markdown: https://tw93.fun/en/2022-07-29/pd-code.md
  A recent sharing with the team, from the perspective of a front-end engineer, how to become a product development engineer.
- [How to Celebrate Your Code's Birthday](https://tw93.fun/en/2022-07-09/code.html) - 2022-07-09 - markdown: https://tw93.fun/en/2022-07-09/code.md
  Recently XRender turned 3 years old. I had played with gource and ffmpeg before, thinking I could use these two libraries to play the journey of her open source as a story.
- [How to Survive and Thrive in a Tough Environment](https://tw93.fun/en/2022-07-01/gou.html) - 2022-07-01 - markdown: https://tw93.fun/en/2022-07-01/gou.md
  Probably a sharing to the team in April this year, archived in the blog. Let's talk about how a domestic development engineer can survive and become stronger when the environment is bad.
- [My Mac Software Setup in 2022](https://tw93.fun/en/2022-06-25/mac.html) - 2022-06-25 - markdown: https://tw93.fun/en/2022-06-25/mac.md
  Why do poor students have so much stationery? You'll understand after reading this. A quick share for the team bi-weekly meeting on June 16, 2022.
- [Introduction to MiaoYan Markdown Editor](https://tw93.fun/en/2022-06-13/a-good-markdown.html) - 2022-06-13 - markdown: https://tw93.fun/en/2022-06-13/a-good-markdown.md
  Recently I refined a macOS Markdown note application I made two years ago and released it for everyone to try.
- [You Are Still Using WebStorm?](https://tw93.fun/en/2021-07-09/webstorm.html) - 2021-07-09 - markdown: https://tw93.fun/en/2021-07-09/webstorm.md
  What makes WebStorm worth using over VS Code in 2021? I spent an afternoon writing this comprehensive guide covering how to obtain a genuine license, how to optimize WebStorm for blazing speed on macOS, and where its IDE features truly shine.
- [Why Were APPs Two Years Ago So Easy to Use?](https://tw93.fun/en/2021-06-09/app.html) - 2021-06-09 - markdown: https://tw93.fun/en/2021-06-09/app.md
  On the second day of the Apple WWDC 2021 conference in early June 2021, the iOS 15 developer beta was released. As a software early adopter with OCD, I couldn't help but update it immediately.
- [Github Can Be Played Like This?](https://tw93.fun/en/2020-07-17/markdown.html) - 2020-07-17 - markdown: https://tw93.fun/en/2020-07-17/markdown.md
  Make your Github profile page a blog homepage, and automatically update information display every day.
- [My 2020 🔥 Software Sharing](https://tw93.fun/en/2020-05-27/good-app.html) - 2020-05-27 - markdown: https://tw93.fun/en/2020-05-27/good-app.md
  Sharing some commonly used Mac software with internal colleagues.
- [Operation Backend Interaction Design Sharing](https://tw93.fun/en/2020-03-18/how-to-do-design.html) - 2020-03-18 - markdown: https://tw93.fun/en/2020-03-18/how-to-do-design.md
  Thoughts on Mid-backend Interaction Design Shared with Internal Colleagues
- [Product and Open Source Sharing](https://tw93.fun/en/2019-11-25/product-and-github.html) - 2019-11-25 - markdown: https://tw93.fun/en/2019-11-25/product-and-github.md
  A sharing about how to make small technical products and what mindset to have toward open source.
- [CreateJS Beginner's Guide](https://tw93.fun/en/2018-07-28/createjs.html) - 2018-07-28 - markdown: https://tw93.fun/en/2018-07-28/createjs.md
  Recently I've been exploring front-end interactive game tech, and built a small game with CreateJS. This post serves as a personal reference and a quick-start guide for anyone looking to build mini web games with CreateJS.
- [Reading Notes on "Hackers and Painters"](https://tw93.fun/en/2018-07-08/hacker.html) - 2018-07-08 - markdown: https://tw93.fun/en/2018-07-08/hacker.md
  Recently I am reading the book "Hackers and Painters", which mainly introduces the hobbies and motivations of hackers, i.e., excellent programmers, discusses hacker growth, hacker's contribution to the world, programming languages and hacker working methods, and other topics for everyone interested in the computer age. This article is used to record some notes and thoughts during reading.
- [Weex Ui Half-Year Open Source Road](https://tw93.fun/en/2018-03-31/weex-ui-report.html) - 2018-03-31 - markdown: https://tw93.fun/en/2018-03-31/weex-ui-report.md
  Weex Ui was open sourced on September 30 last year. It has been exactly half a year since today. This article intends to share the Weex Ui half-year open source road from 5 parts: origin, positioning, status quo, development, and outlook.
- [JS in iOS](https://tw93.fun/en/2018-03-17/js-in-ios.html) - 2018-03-17 - markdown: https://tw93.fun/en/2018-03-17/js-in-ios.md
  A deep dive into how JavaScript interacts with iOS across four areas: why frontend tech alone isn't enough on mobile, JavaScriptCore communication mechanisms, Objective-C Runtime internals, and how to patch native iOS logic dynamically from JS. Written to help frontend and mobile engineers bridge the gap.
- [What Mentality Should Be Used to Treat Open Source?](https://tw93.fun/en/2018-02-11/open-source.html) - 2018-02-11 - markdown: https://tw93.fun/en/2018-02-11/open-source.md
  A Q&A record on Zhihu, `What mentality should be used to treat open source?`
- [iOS Primer for Frontend Engineers (Part 1)](https://tw93.fun/en/2018-02-08/ios-1.html) - 2018-02-08 - markdown: https://tw93.fun/en/2018-02-08/ios-1.md
  Around Double 11 last year, I began diving into iOS to diagnose several Weex performance bottlenecks, and recently started contributing to iOS feature development. Taking this opportunity to document fundamental iOS concepts for my own reference, and to help fellow frontend engineers make sense of native iOS code and core mobile architecture.
- [Web Computer Graphics (Part 1)](https://tw93.fun/en/2017-04-21/web-and-cg.html) - 2017-04-21 - markdown: https://tw93.fun/en/2017-04-21/web-and-cg.md
  Web front-end technologies related to graphics are roughly CSS3 animation transformation, SVG, Canvas, WebGL. However, front-end engineers mostly only stay at the upper-level API operation aspect. They may not know much about the principles of graphics, such as GPU, three-dimensional space, lighting, texture, hierarchical models. After studying the content related to SVG, I have some interest in some underlying technologies. Plus this piece belongs to a blank area, so I spent a few days learning graphics basically and recorded it here ...
- [SVG New Driver's Guide](https://tw93.fun/en/2017-01-26/SVG.html) - 2017-01-26 - markdown: https://tw93.fun/en/2017-01-26/SVG.md
  SVG related features are much stronger than imagined. This article first introduces the relevant definitions, advantages and disadvantages and Demo of SVG. Next, it will introduce its relevant syntax and animation. Finally, tell everyone how to use and optimize SVG. Ensure that everyone can drive on the road within an hour. Too late to explain, get on the bus quickly ...
- [Hello Weex](https://tw93.fun/en/2017-01-06/Hello-Weex.html) - 2017-01-06 - markdown: https://tw93.fun/en/2017-01-06/Hello-Weex.md
  This week I gave an internal sharing on "Hello Weex" to my department colleagues, and adapted it into an article for anyone following Weex development. It covers Modules vs. Components, Weex Architecture, and best practices.
- [Generators and Channels in JavaScript](https://tw93.fun/en/2016-09-20/generators-and-channels-in-javascript.html) - 2016-09-20 - markdown: https://tw93.fun/en/2016-09-20/generators-and-channels-in-javascript.md
  The following article is an introduction to Generator and Channel. If you have learned about Promise, Generator, Coroutine and Channel, you can skip directly to the Using Generators and Channels with React part. Although these cases may not be very suitable for real project environments, it can be seen as a starting point, try to practice possible places through this method ...
- [React Native Animation Research](https://tw93.fun/en/2016-06-05/thinking-about-react-native-animated.html) - 2016-06-05 - markdown: https://tw93.fun/en/2016-06-05/thinking-about-react-native-animated.md
  The title of this special article is "ReactNative Animation Research". Since it is called research, we strive to clarify the content related to RN animation at once, researching in the way of posing questions - proving questions - solving questions ...
- [My Understanding of Flexbox Layout Mode](https://tw93.fun/en/2015-10-17/the-thinking-about-flexbox.html) - 2015-10-17 - markdown: https://tw93.fun/en/2015-10-17/the-thinking-about-flexbox.md
  Flexbox, a CSS3 layout mode, also known as the flexible box model, is used to provide maximum flexibility for the box model ...
- [Brief Talk on Object-Oriented JavaScript](https://tw93.fun/en/2015-06-09/Talking-about-JavaScript-design-patterns1.html) - 2015-06-09 - markdown: https://tw93.fun/en/2015-06-09/Talking-about-JavaScript-design-patterns1.md
  Recently I read "Pro JavaScript Design Patterns" by Ross Harmes and Dustin Diaz twice and took extensive notes. The book is ideal for developers looking to deepen their grasp of JavaScript fundamentals and object-oriented paradigms, explaining when to reach for specific design patterns and how to implement them cleanly. Below is a summary of my notes.
- [Can We Do Better Than The Click?](https://tw93.fun/en/2015-03-30/Browser-input-Events.html) - 2015-03-30 - markdown: https://tw93.fun/en/2015-03-30/Browser-input-Events.md
  Responding to user input is the core of our interface development. To build responsive Web products, the key is to understand how touch, mouse, pointer, keyboard operations and browsers work. You may have experienced a 300 ms delay in mobile browsers or discomfort caused by scrolling through touch. In this article, we will introduce event cascading and use this knowledge to implement a demo of a tap click event, which supports many input methods without violating the proxy browser rules like Opera Mini ...
- [Reading Notes on "Pro Node.js"](https://tw93.fun/en/2015-03-01/shen-ru-qian-chu-nodejs-reading-mind-map.html) - 2015-03-01 - markdown: https://tw93.fun/en/2015-03-01/shen-ru-qian-chu-nodejs-reading-mind-map.md
  Today I finally finished reading "Pro Node.js" (深入浅出 Node.js) by Pu Ling. Rather than a surface-level introductory text on framework APIs, it dissects Node's internal architecture from the ground up. Highly recommended for developers who already have some Node background. Reading it sparks countless "aha!" moments about how runtime internals really work. Below are my notes and mind maps from my second read-through.
- [Using React to Improve Angular's Rendering Performance](https://tw93.fun/en/2015-02-23/angular-react.html) - 2015-02-23 - markdown: https://tw93.fun/en/2015-02-23/angular-react.md
  Have you ever encountered performance problems when using Angular? Using React can make pages render faster. Below, through several cases, compare the performance differences between using React to render Angular and directly using Angular to render ...
- [Front-end Development Workflow Tool Yeoman](https://tw93.fun/en/2015-02-21/yeoman-grunt-bower-3.html) - 2015-02-21 - markdown: https://tw93.fun/en/2015-02-21/yeoman-grunt-bower-3.md
  In the previous article, we introduced Grunt, which can help us automatically manage and run various JavaScript tasks. In the article before that, we introduced the front-end package manager Bower. In this article, we come to introduce Yeoman, a magical scaffold. Yeoman is developed by the Google team and a team of external contributors. Its goal is to create an easy-to-use workflow for developers through the packaging of Grunt (a command line tool for development task automation) and Bower (a package manager for front-end resources such as HTML, CSS, JavaScript, and images). Below I will briefly introduce this magical tool to everyone ...
- [Front-end Development Workflow Tool Grunt](https://tw93.fun/en/2015-02-18/yeoman-grunt-bower-2.html) - 2015-02-18 - markdown: https://tw93.fun/en/2015-02-18/yeoman-grunt-bower-2.md
  In the previous article, we introduced the front-end package manager Bower. This time, we come to understand the front-end application development workflow tool Grunt. In the process of JavaScript development, we often encounter some repetitive tasks, such as checking if syntax is correct, compressing code, and merging files. In the past, we would choose different tools to complete different tasks, but this felt both complex and time-consuming. But now with Grunt, Grunt was invented precisely to solve these problems. It can help us automatically manage and run various JavaScript tasks, simplifying our workflow ...
- [Front-end Development Workflow Tools Cmder and Bower](https://tw93.fun/en/2015-02-17/yeoman-grunt-bower-1.html) - 2015-02-17 - markdown: https://tw93.fun/en/2015-02-17/yeoman-grunt-bower-1.md
  Front-end development is indeed not the same as before. If we say that our past front-end development was in the "slash-and-burn" era, then current front-end development has undoubtedly entered the era of "factory production". In recent years, with the emergence of Node.js, many excellent front-end development management tools have appeared, which greatly facilitates our front-end development. Indeed Node.js is the best gift from God to our front-end development engineers. In the following articles, I will introduce some excellent tools needed in the front-end development process: Cmder, Bower, Grunt, Yeoman ...
- [Performance Optimization in JavaScript Programming Practices](https://tw93.fun/en/2015-02-16/High-Performance-JavaScript-7.html) - 2015-02-16 - markdown: https://tw93.fun/en/2015-02-16/High-Performance-JavaScript-7.md
  Every programming language has its "pain points," and over time, its existing inefficient patterns also continue to develop. JavaScript presents some unique performance challenges, which are related to the way your code is organized. As web applications become more advanced and contain more and more JavaScript code, various patterns and anti-patterns gradually appear. To write more efficient code, please keep these programming practices in mind ...
- [Ajax Performance Optimization](https://tw93.fun/en/2015-02-14/High-Performance-JavaScript-6.html) - 2015-02-14 - markdown: https://tw93.fun/en/2015-02-14/High-Performance-JavaScript-6.md
  Ajax is the foundation of high-performance JavaScript. It can make page loads faster by delaying the download of larger resource files. It passes data between the client and the server asynchronously, thereby avoiding batch downloading of page resources. it can even get resources for the entire page with just one HTTP request. Choosing appropriate transmission methods and most effective data formats can significantly improve the interaction experience between users and websites ...
- [High Performance JavaScript - Rapidly Responding User Interface](https://tw93.fun/en/2015-02-11/High-Performance-JavaScript-5.html) - 2015-02-11 - markdown: https://tw93.fun/en/2015-02-11/High-Performance-JavaScript-5.md
  There is a saying that makes sense: "If JavaScript runs for whole seconds, then it is very likely that you have done something wrong...", if the interface responds to user input within 100 milliseconds, users will think they are "directly manipulating objects in the interface". More than 100 milliseconds means users feel they have lost contact with the interface. JavaScript and user interface updates run in the same process, so only one thing can be handled at a time. This means that when JavaScript code is running, the user interface cannot respond to input, and vice versa. Efficiently managing the UI thread is to ensure that JavaScript cannot run for too long, lest it affect the user experience. Managing the running time of JavaScript is very important for the performance of Web applications ...
- [Algorithm and Flow Control Performance Optimization of JavaScript](https://tw93.fun/en/2015-02-07/High-Performance-JavaScript-4.html) - 2015-02-07 - markdown: https://tw93.fun/en/2015-02-07/High-Performance-JavaScript-4.md
  Like other programming languages, code writing and algorithms will affect the running time of JavaScript. Unlike other languages, JavaScript has limited available resources, so optimization techniques are more important. this study note mainly optimizes JavaScript performance from three aspects of JavaScript loops, conditional statements, and recursion ...
- [DOM Programming Performance Optimization of JavaScript](https://tw93.fun/en/2015-02-06/High-Performance-JavaScript-3.html) - 2015-02-06 - markdown: https://tw93.fun/en/2015-02-06/High-Performance-JavaScript-3.md
  DOM is an abbreviation for Document Object Model. It is a language-independent application program interface for users to manipulate XML and HTML documents. In browsers, it mainly deals with HTML documents. In web applications, XML documents also often need to be retrieved. DOM API is used to access data in documents. John Hevatin once gave a pertinent metaphor in a speech, imagining DOM and JavaScript as islands respectively, they are directly connected by a toll bridge. Every time ECMAScript accesses DOM, it has to pass through this bridge and pay a "bridge fee". The more bridges passed, the more fees paid. Therefore, if you want to reduce costs, you have to cross the bridge less. Here we come to learn how to optimize this problem ...
- [Data Access Performance Optimization of JavaScript](https://tw93.fun/en/2015-02-05/High-Performance-JavaScript-2.html) - 2015-02-05 - markdown: https://tw93.fun/en/2015-02-05/High-Performance-JavaScript-2.md
  There are four basic data storage locations in JavaScript: literals, variables, array elements, and object members. Like other languages, the storage location of data will greatly affect its reading speed ...
- [Comparison of Vue, Angular, Avalon Frameworks](https://tw93.fun/en/2015-02-04/vue-angular-avalon-1.html) - 2015-02-04 - markdown: https://tw93.fun/en/2015-02-04/vue-angular-avalon-1.md
  Front-end development is no longer the front-end development of a few years ago. It has entered the industrial era from the agricultural era. In recent years, many excellent MVVM frameworks in JavaScript have appeared. Today I compare the advantages and disadvantages of frameworks like Vue, Angular, Avalon ...
- [JavaScript Loading Performance](https://tw93.fun/en/2015-02-03/High-Performance-JavaScript-1.html) - 2015-02-03 - markdown: https://tw93.fun/en/2015-02-03/High-Performance-JavaScript-1.md
  Managing JavaScript code in browsers is a tricky problem because code execution blocks other browser processes, such as user interface painting. Every time a script tag is encountered, the page must stop and wait for the code to download (if it is an external file) and execute, and then continue to process other parts. Despite this, there are still some ways to reduce the impact of JavaScript on performance ...
