From 0b3d4be72dd78df89bc5fa93c3c7e3420271abfc Mon Sep 17 00:00:00 2001 From: eltrac Date: Mon, 23 Mar 2026 15:59:48 +0800 Subject: refactor: rename /en/posts -> /en/article --- content/en/article/effort-to-be-understood.md | 22 ++++++ content/en/article/english-centric-icons.md | 80 +++++++++++++++++++ .../article/how-i-simplify-my-reading-workflow.md | 30 ++++++++ content/en/article/i-am-sick-of-pkm.md | 42 ++++++++++ content/en/article/i-now-use-migadu.md | 38 +++++++++ content/en/article/java-dev-with-true-idea.md | 68 ++++++++++++++++ content/en/article/my-best-laptop-ever.md | 69 +++++++++++++++++ .../en/article/take-ugly-notes-do-pretty-work.md | 90 ++++++++++++++++++++++ content/en/article/talking-to-myself.md | 31 ++++++++ content/en/article/the-art-of-adequate-friction.md | 55 +++++++++++++ content/en/posts/effort-to-be-understood.md | 22 ------ content/en/posts/english-centric-icons.md | 80 ------------------- .../en/posts/how-i-simplify-my-reading-workflow.md | 30 -------- content/en/posts/i-am-sick-of-pkm.md | 42 ---------- content/en/posts/i-now-use-migadu.md | 38 --------- content/en/posts/java-dev-with-true-idea.md | 68 ---------------- content/en/posts/my-best-laptop-ever.md | 69 ----------------- content/en/posts/take-ugly-notes-do-pretty-work.md | 90 ---------------------- content/en/posts/talking-to-myself.md | 31 -------- content/en/posts/the-art-of-adequate-friction.md | 55 ------------- 20 files changed, 525 insertions(+), 525 deletions(-) create mode 100644 content/en/article/effort-to-be-understood.md create mode 100644 content/en/article/english-centric-icons.md create mode 100644 content/en/article/how-i-simplify-my-reading-workflow.md create mode 100644 content/en/article/i-am-sick-of-pkm.md create mode 100644 content/en/article/i-now-use-migadu.md create mode 100644 content/en/article/java-dev-with-true-idea.md create mode 100644 content/en/article/my-best-laptop-ever.md create mode 100644 content/en/article/take-ugly-notes-do-pretty-work.md create mode 100644 content/en/article/talking-to-myself.md create mode 100644 content/en/article/the-art-of-adequate-friction.md delete mode 100644 content/en/posts/effort-to-be-understood.md delete mode 100644 content/en/posts/english-centric-icons.md delete mode 100644 content/en/posts/how-i-simplify-my-reading-workflow.md delete mode 100644 content/en/posts/i-am-sick-of-pkm.md delete mode 100644 content/en/posts/i-now-use-migadu.md delete mode 100644 content/en/posts/java-dev-with-true-idea.md delete mode 100644 content/en/posts/my-best-laptop-ever.md delete mode 100644 content/en/posts/take-ugly-notes-do-pretty-work.md delete mode 100644 content/en/posts/talking-to-myself.md delete mode 100644 content/en/posts/the-art-of-adequate-friction.md (limited to 'content') diff --git a/content/en/article/effort-to-be-understood.md b/content/en/article/effort-to-be-understood.md new file mode 100644 index 00000000..68af3826 --- /dev/null +++ b/content/en/article/effort-to-be-understood.md @@ -0,0 +1,22 @@ ++++ +title = "Make Some Effort to Be Understood, Please" +date = 2025-12-20 17:33:00 +draft = false ++++ +So, my roommate just threw a litany of facts about psychoanalysis and Buddhism on me, like all kinds of name-dropping and inconsistent statements. I wasn't paying much attention because I was just taking a short break from my work, and honestly, I don't give a damn. + +I felt the urge to write something about this random experience immediately afterward. I think the reason is that — he made me feel bad about myself, like I was a muggle who cannot appreciate the beauty of philosophy, which I do read a lot about. + +Why do I feel that? I think it's because I don't feel seen. It feels like he's only talking to me when he needs an ear, who is human but always accepting, and doesn't talk back when there's a disagreement or merely a confusion. I had this impression because: + +* I expressed my unfamiliarity with the topic he's proposing, yet he kept dropping names (like those words you can't even find on the [Buddhism](https://en.wikipedia.org/wiki/Buddhism) Wikipedia page, something you have to dig deep to find out), without explaining anything. +* He was talking about how Buddhism and psychoanalysis are connected, saying one thing from Buddhism is actually another thing from psychoanalysis, neither of which is explained! It's like saying "Hey, this multi-dimensional proton is actually that photon-quantum-ish quantifier from the famous Plato theory!" — just shut up. ==Why do you even utter a word when you know people won't understand, or why do you have to be so egotistic thinking everyone in the world cares about the same thing you do?== +* He's not backing down, so I decided to take a little bit of my time exchanging ideas. He says a university is studying the relationship between Buddhism and psychoanalysis. I say, "Well, it sounds like they're trying too hard to make a connection here, which is what many Chinese academics do, especially in humanities." — because it's exactly what it sounds like. He didn't explain anything, so it's impossible to connect the dots! I expect to hear some convincing ideas, but I did not get what I want. He said, in response, "Well, they **are** connected. **I** think it's meaningful work." — Still, he did not care to explain his words. + +Upon hearing his passive-aggressive response, I stopped talking and went back to my room. I don't like the energy there. As far as I'm concerned, keeping this conversation will do no good. (which is not actually a conversation, because you see, a conversation involves two individuals respecting each other, not just one person dumping unclear claims.) I've tried to exchange some ideas before, but his mind is not to be changed. He never stood corrected. And I'm not even trying to change his mind here. I just wanted to understand his opinion (or the opinions he read from someone else). Apparently, that was too much to ask for. + +Why do you engage in or even start a conversation, when you make no effort to be understood? It is as simple as defining some terms, clarifying some confusion, and making a goddamn point. + +By the way, this is exactly what people do on most of the Internet. They expect people to understand when they're only typing a few words or making a 2-minute video about their opinion (or is it really an opinion?). And when people don't understand (and they're supposed to not understand), they get mad, and yet another meaningless time-consuming Internet argument begins. + +Just stop. Please make some effort to be understood in the first place. Define the context. Explain the reasons. Answer questions without mistaking them as trolls. Learn to speak some meaningful words. If you find that's too hard to do in speech, then write. Start a blog. I'm sure there will be your audience on the Indie Web. Just don't pick me as your unwilling one. diff --git a/content/en/article/english-centric-icons.md b/content/en/article/english-centric-icons.md new file mode 100644 index 00000000..70e8c9ef --- /dev/null +++ b/content/en/article/english-centric-icons.md @@ -0,0 +1,80 @@ ++++ +title = "English-Centric Icons" +date = 2025-09-18 22:52:00 +draft = false +toc = true ++++ +As a bilingual and someone who works on a computer for like 8 hours a day, I've made some observations on various icon designs. One specific type of icon I noticed recently caught my attention and made me wonder: Is this good design or not? + +## Pun intended? + +Discord, the group chat app, has some features that divide users into different small chat groups, which are called servers, channels, and threads. Basically, you create or join a server about a specific topic or belonging to a certain organization, and this server consists of various channels for different communication purposes. Under a channel, you can start a thread if you find yourself constantly talking about the same stuff, which acts as a "sub-channel". + +The channel icon is pretty simple. It's a hashtag. Generally, `#` means nothing so we can assign different meaning to it in different contexts. I don't remember what the old thread icon looked like, but in a previous update, Discord changed the thread icon to an actual "thread" 🧵. + +![](https://r2.eltr.ac/uPic/2025/09/PixPin_2025-09-18_11-13-45.png "Icon on the top-left is for channel, the first one on the right is for thread.") + +This makes sense for English speakers. Thread can mean both things, a series of connected posts/chats or a long thin string you knit with. But for those who speak a different language, this can be very confusing. + +My interface language is Chinese. The Chinese translation of "thread" is 子区, which simply means sub-channel. In Chinese, threads and sub-channels are completely unrelated. I also took a quick peek at the French version. Thread is called "fils" in French, meaning "son", considering channels are parents of threads in a sense. + +I believe many other languages have different names for threads, most likely not related to actual threads. + +This is not the only case. In IntelliJ IDEA, a well-known Integrated Development Environment for Java, some icons are also pretty English-centric. + +The icon for external libraries looks like a bar chart, but it was meant to be three books of different sizes, meaning "library". In Chinese, a library in software context is called 库, meaning a warehouse, a storage unit, or a garage. It has nothing to do with books or actual libraries. + +{{< gallery >}} +![](https://r2.eltr.ac/uPic/2025/09/idea-external-library.png) +![](https://r2.eltr.ac/uPic/2025/09/PixPin_2025-09-18_11-12-26.png) +{{}} + +In Java, we call a well-encapsulated class a Bean, most likely referred to coffee beans since java is actually a kind of coffee. As you can see, the icon for Beans is actual coffee beans. Though we don't really have a translated name for Beans in Chinese,[^1] many programmers who are not familiar with the language don't think about real beans when they use the term, so it's hard to connect the dots. + +Threads, libraries, and beans have multiple interpretations, referring to an abstract concept in computer world and an actual object existing in real world. While it seems like smart design to use physical objects to represent abstract concepts, this may not always resonate across languages. + +## Language-independent icons + +Let's take a look at another interesting example. + +Like thread, "pin" means both things, an action to attach an item to a fixed position, and a pointy device used for fastening objects together. So, is the icon 📌 (push-pin) a bad choice? Actually, no. You see, the reason why people made that metaphor is because pinning an item on graphic interface resembles pinning a piece of paper on a board in real life. We've all used or seen a push-pin before, so it makes sense even without languages. However, when we are knitting with threads, it looked nothing like a conversation! + +When it comes to icon design, it's important to think about what images pop into people's mind when they see the icon, not the name they call it. + +While it's hard to come up with a solid design for some actions or concepts that does not exist physically, it's no excuse to create a confusing icon. An icon is a form of information. We all prefer no information at all than one we don't understand or demands too much unnecessary effort to make sense of.[^2] + +## See the system of icons itself as a language + +Icons are just like words, conveying a certain meaning. Good icons should be simple and straightforward, which we read like children's books, no efforts required. For example, if you want an icon for "read", just draw an open book; if you are looking for "help", a question mark would be better than a raised hand. + +If we see systems of icons as languages, we can solve certain problems with linguistics methods. When we talk about languages, we might use the term "context". Words mean differently when context changes, and so do icons. A magnifying glass can mean "zoom in" when you're dealing with pictures, but it can mean "search" if you're working with a content management system. Context is the model we adopt to solve ambiguity. + +The tricky part is: how do we design an icon for abstract concepts? There's nothing in real life we can pick from. + +If we learn from languages, we can see that people create new names for these concepts, typically with metaphor, association, and combination. + +- **Metaphor:** The word "tree", in computer science, refers to a data structure type that represents a hierarchical tree structure with a set of connected nodes. We call it "tree" because it looks like an upside-down tree. +- **Association:** The word "bookmark" means something you put between pages as a reminder of your reading progress. You can also say that you "marked" a page. The piece of paper or metal used for that is associated with a mark because of its purpose. So we call that piece by the name of "mark". +- **Combination:** The word "offspring" means "descendants", which consists of "off" and "spring", meaning "people who spring off someone". We combined two words and created a new one. + +We can do all of that with icons. + +Let's take a look at GitHub's menu bar for example. + +![image.png](https://r2.eltr.ac/picgo2025/20250918174240.png) + +Start from the right. The first icon is for "notifications", or "inbox" more accurately. The whole concept of "inbox" comes from real inbox trays in the office, where people put in files they need to process later. We **associate** the interface where we receive messages with a physical container, just like a real inbox tray. It's pretty intuitive that GitHub picked a inbox tray icon for notifications. If you want to find works that needs to be done, you go for the inbox tray. + +The second one is for "Pull Requests". If you understand how Git and GitHub works, you know "Pull Request" is how developers propose changes to an open-source codebase, which works by requesting to merge one updated branch to the main branch. The icon represents "merge". The left side of the icon represents the branch accepting the merge, the right represents the branch to be merged, and the arrow represents the action of merging. The icon was created by **combining** meaningful dots, lines and arrows together. + +As for **metaphor**, the pin icon I mentioned before is a good example. + +## Conclusion + +Designers should look beyond the English language. After all, the rest of the world doesn't compare a series of conversation to a knitting thread! + +Though icons should be independent from languages, they themselves form a system resembling human languages. If we see icons as words with confined meanings, we might be able to create better designed icons. + +[^1]: We just use the English name "Bean". It's a loanword, I guess. + +[^2]: Unless you're playing a puzzle game, I guess diff --git a/content/en/article/how-i-simplify-my-reading-workflow.md b/content/en/article/how-i-simplify-my-reading-workflow.md new file mode 100644 index 00000000..396ecfd5 --- /dev/null +++ b/content/en/article/how-i-simplify-my-reading-workflow.md @@ -0,0 +1,30 @@ ++++ +title = "How I Simplify My Reading Workflow" +date = 2025-01-30 23:31:00 +draft = false +toc = false ++++ +I subscribe to quite a number of RSS feeds and newsletters. Every day I get a lot of fresh new articles sent to my inbox. Plus, I enjoy browsing the web and save intersting articles while wandering around. It's a real hassle to manage all the content from different sources. + + + +I used to use [Cubox](https://cubox.cc) to solve this chaos. By gathering all content in one place, I get simpler reading experience. But this was not perfect. First of all, the subscription was not cheap. Besides, though it can receive newsletters, giving me a cleaner email inbox, it's not an RSS reader. I had to use Inoreader alongside it to receive RSS updates. + +Cubox did made me linger for a long time because of its categorization system, cross-platform apps and plugins, AI summary and other smooth features. + +It was when I realized such features did not help boost productivity nor enhance my reading that I finally switched to a much simpler tool, Reading List on Safari. + +My requirements are simple. The only thing I need is a place for temporary storage of articles I want to read. After months of using Apple's Reading List, here are some principles that I grow to appreciate and follow while managing my reading workflow. + +1. **Unread articles go in and read articles go out.** It's a simple in-and-out rule. It's easy to understand why unread things stay, but why not keep those valuable content that are read? Well, in my opinion, **if you really learned something from a post, you can always take notes**. Useful content stays in your notes (or digital gardens), not reading list. And if you haven't learned anything, it's not worth keeping anyway. +2. **Categorization and archive are unnecessary.** My reading list is ineed just a list. Since read articles do not stay, it's certainly pointless categorizing unread things. +3. **Delete articles that stay for too long.** If you haven't read something that you saved a week ago, chances are, you won't read it! Don't fool yourself into thinking you'll get to it when you're less busy. If you're truly interested, you'll read it no matter what! **Keeping articles that you want to read but never feel like reading will cause constant stress**, making you miserable about the whole reading thing. It's better just get it over with and delete them! +4. **Always read it before saving it in your reading list.** You don't need to finish the whole page, just read the beginning. You have the time! If it bores you, close the tab! If it fascinates you, finish it! If you don't have the time, that's when reading list comes to play. +5. **Clear RSS and newsletter updates at one single glance.** If you get new updates on your feed, you have three options: a. Read it; b. Skip it; c. Save it. Never leave things unread on your watch. It's the same as Rule 3. If you don't read it now, you're less likely to read it afterwards. Don't kid yourself into thinking you'll read it later. If it doesn't interest you, skip it! Do not fear losing anything, because you won't! It's just an ordinary post. +6. **Check for updates and browse websites at fixed hours.** Do not check your feeds 100 times a day. You always have better things to do. The updates won't go anywhere and it won't kill you reading them a little bit later. You can check your feeds during lunch break and at the end of the day, and then clear them at one glance like I mentioned in Rule 5. +7. **Try the one-in-one-out technique.** When organizing household objects, some suggest keeping the items at a reasonable amount. When you have enough stuffs, throw one out before you get something new, keeping only your favorite ones. Do the same with your reading list. **Read from your list before you save something new**. +8. **It's just a post.** Reading essays from blogs and newsletters is helpful, but not as helpful as reading a good book. Books are confined wisdom while web posts are mostly opinions. Spend more time on reading an actual book. Don't spend to much time and energy on the Internet. + +The whole philosophy lies on simplicity, because the whole "reading from the web" thing is not as important as I used to think. And it's certainly not worth spending money just on a reading tool. + +Use your time wisely. You can learn a lot from great people's blogs, but that's just one small part of reading. Being a good reader is not just cosuming content. It means you should think about what it is to be a good reader, someone who choose the right thing to read at the right time, in the right way, and at the right cost. diff --git a/content/en/article/i-am-sick-of-pkm.md b/content/en/article/i-am-sick-of-pkm.md new file mode 100644 index 00000000..7b307107 --- /dev/null +++ b/content/en/article/i-am-sick-of-pkm.md @@ -0,0 +1,42 @@ ++++ +title = "I Am Sick of PKM" +date = 2025-02-27 11:31:13 +draft = false ++++ +Do you seriously have this crazy amount of knowledge that requires a complex system to manage? + + + +For those who are not familiar with the term, PKM stands for Personal Knowledge Management, which usually involves exploring novel note-taking apps and constructing pretty-looking workflows. + +I started from Notion. Unsatisfied with its loading speed and the fact that I don't actually own my data (which means I must log into a Notion account instead of having it privately saved on my machine), I switched to Obsidian, which was quite a journey. I constantly found myself restructuring my note vault and spending too much time on techniques and plugins, so I downloaded Logseq, the app I’m currently using. + +Now that I've proved myself as a (former) PKMer to you, let’s dive into the real issue at hand: What's the problem with PKM? + +--- + +Modern technology makes it all too easy to fall into obsessions. With its sleek user interface, polished fonts, and seamless integration of multimedia, even the smallest imperfection in your note-taking app can feel like a glaring flaw. + +Like an ink stain, a poorly laid-out document becomes a distraction, only different, because an ink stain cannot be erased, but you can always make your page look nicer, and thus countless efforts have been made to eliminate unimportant distracting details. Because you realized there is always going to be a better way to do this, you began to pursue a better method rather than a deeper understanding of the knowledge itself. + +The harsh reality suddenly becomes unbearable to you. After you've experienced true perfection, it has been unacceptable to you that things are done in an ungraceful maanner, though it might cost less and produce more. + +I'm not saying productivity tools actually lower your productivity. The problem is not about tools but the people using it, and the way people use it. + +A blank note page on your screen awaiting to be filled with words by your keyboard, to some people, is much nicer than a piece of paper. You can edit it freely, not worrying about running out of ink or ruining one page with a typo or grammatical error. Without a doubt, this technology can help boost productivity if you're already familiar with typing and has a lot of writing work to do. + +When I was in high school, I drew all kinds of patterns on my notebook, as decoration or as marks that indicate something to help me organize my notes. I have a tableful of highlighter of different colors also. I constantly found myself not keeping up with the pace of the lecture. The teacher was going too fast and I was still fumbling with my pens and stickers (yeah I have stickers, too). I could borrow someone else's notebook to finish what I've left behind, but I would still be spending way too much time on note-taking rather than actually learning. + +In that sense, being equipped with various tools might not always help us get our work done. Especially when your tool choices evolve into a complicated system or a workflow, it's hard to get out of that system (not because it's difficult, but because you don't want to). You know the system might slow you down sometimes but you don't want to abondon it. It's like parting with something you've grown attached to. + +The core issue here is worth pointing out: ==The reason why in some cases (not all), a well-designed workflow might lead to productivity decline is that we're focusing way too much on method but not the goals we wish to accomplish==, which means you could have spent your precious time on getting things done instead of figuring out how to get things doen more elegantly. + +Sometimes, all you need is "quick and dirty". + +The concept of PKM is based on methods. People study PKM to learn better methods to take notes and make the most of what they learn. That's the philosophy of PKM. It's good and I think more people should be learning it. However, it's not an endless journey. + +If you are dedicated to becoming a life-long learner, you probably don't need to be learning PKM for a lifetime. Just like learning how to ride a bicycle, once you know how to balance and get started, you don't need to enhance your biking skills by making changes to the way you ride. You do that every day by actually riding it to get somewhere. + +PKM is a way for you to get started, and then, off you go. Do the things you need to do and create values as you should. Stop the madness of perfectionism about tool choices and pay less attention to insignificant flaws of your system as long as it works. + +May you have a productive day. \ No newline at end of file diff --git a/content/en/article/i-now-use-migadu.md b/content/en/article/i-now-use-migadu.md new file mode 100644 index 00000000..adce51e8 --- /dev/null +++ b/content/en/article/i-now-use-migadu.md @@ -0,0 +1,38 @@ ++++ +title = "I now use Migadu for my emails." +date = 2026-01-02 12:13:24 +draft = false ++++ +I like emails. They're quiet and you don't have to rush. And they're decentralized. You get to choose who stores your data. If you're on WeChat, Line, or whatever IM apps you're using, you're forced to stay there because that's where all your contacts are. Emails are portable. Save your mails as `.eml` files and store anywhere. Keep your address, if you own your domain name, and migrate to wherever you want, preferably someplace you trust, and people can still mail you with the same address. + +I was using Tencent Exmail for a long time. It's an evil service provided by an evil big corporate if you don't know, as evil as Google. It's hard to get a custom domain email address in China. People rely on emails less and there are fewer options. Some people use Cloudflare or similar services to create an alias for their email, but that's still your data in a BigCo's data center. What you get is merely a cool address. + +Not really paranoid about privacy but I do feel more comfortable if my mails don't go through people I don't trust. So I started looking for new emails services. + +I searched and asked ChatGPT, ruled out some hard "No"s, and got 3 options: + +- PurelyMail +- MXRoute +- Migadu + +They're all small services. Best of all, they're cheap, like insanely cheap. Migadu's micro plan costs $19.9 annually. PurelyMail costs $10. MXRoute was defintely the cheapest, $15 for 2 years! But that offer is only available when they're doing a promotion. + +They all offer unlimited domains and unlimited addresses. Only Migadu comes with a few constraints, 200 emails in per day and 20 out per day, and also you only get 5GB storage (But they're all soft limits. There is tolerance). + +Eventually I chose Migadu, for two major reasons: + +1. PurelyMail and MXRoute are both run by one man. They're not a corporate. It's good but I keep worrying what happens if their owner gets hit by bus some day... Sorry, it's not a nice thought. Another downside is that you don't get much support from your service provider. It could be really frustrating if something unexpected happens. You're on your own. +2. Migadu is a small company located in Switzerland, where EU laws ensure the best privacy. Privacy was the whole point I'm migrating my email service after all. It's a reasonable choice. + +Migadu is surprisingly honest about their service. They have a [Pro/Cons](https://www.migadu.com/procon/) page (where pro is actually absent) listing all the reasons why you probably don't want to use Miagdu. For example, they're made for human emails only, meaning they don't send bulk transactional emails. They are honest about their pricing not being the cheapest, their spam filters not being perfect, their server not being in Switzerland but in France... And they offer fully-functional trials, so you know exactly what you're paying for. + +I love how opinionated they are. They do things their way and they are honest about it. They don't dazzle customers with fancy words. They don't even use Web Analytics or track their users in any way! + +The setup was smooth. DNS configuration can be intimidating even if you have experience, because configuring email systems is way more complicated, with multiple TXT, CNAME, SRV records. Merely 2 MX records with not work. They have clear documentation on setting up your DNS. All you have to do is read, understand, and copy. Within 10 minutes, I can receive and send emails using Migadu with no problems. + +I posted on Fediverse and asked people to send anything to me for testing. And I ended up receiving some really interesting mails. If you'd like, mail me at `hi@guhub.cn`[^1] and send whatever you want! I'd be happy to make some new friends here. + +So, I now use Migadu for my emails. And I hope you also enjoy your email service :3 + + +[^1]: Update 2026-1-13: I changed my domain, please reach me via `hi@eltr.ac` diff --git a/content/en/article/java-dev-with-true-idea.md b/content/en/article/java-dev-with-true-idea.md new file mode 100644 index 00000000..1d24dd36 --- /dev/null +++ b/content/en/article/java-dev-with-true-idea.md @@ -0,0 +1,68 @@ ++++ +title = "Java Development with True IDEA" +date = 2025-10-20 16:16:00 +draft = false +toc = true ++++ +Let's be totally honest. **IntelliJ IDEA is bloated, slow, and buggy.** It's not the worst tool but certainly doesn't provide a comfortable dev experience, especially when it's so damn expensive. Not to mention, it eats up precious storage space on my MacBook (that one's probably on Apple though). + +## Stop taking things for granted (and making newcomers do the same) + +The one thing I don't understand is that people urge Java beginners to download this software filled with magic buttons when they don't understand how everything works. Personally, I never fully understand the magic behind "Run/Debug" button — It does too many things! Depending on the project type and configuration, it can compile and run a single java file, or it can build, deploy, and start a local server. + +When I started out learning Spring, people just told me to configure this and configure that, simply asking me to follow a set of instructions that seemed to come out of nowhere, with no further explanation. (I seriously doubt they understand it themselves) And then, I was told to hit the "Run" button. And boom. There's your project up and running. Start Developing! + +Software like IDEA makes development far more complicated than it needs to be, with too many layers of interfaces. It's probably a fair trade-off for large teams, but certainly not for everyone. And there are better solutions. I can put up with photo and video editing apps like PhotoShop having complex UIs — there's no other way to do it. But for software development? Why would I need all those sections and subsections and sub-subsections in the setting panel, when a bunch of configuration files can do the work just fine? + +With the IDE interface being bloated, learning Java development becomes two things: The basic language knowledge (the syntax, common libraries and best practices) and **HOW TO GET THIS GODDAMN THING TO F\*CKING WORK**. + +I don't see C programmers losing their minds because their editors break. In fact, let's appreciate the beauty of C development. You got a simple editor, a trusty compiler, and... nothing else.[^1] Your compiler tells you what goes wrong, and you fix it. That's it! JavaScript development also requires only an editor and a set of CLI tools (build tools and package managers) to work. There might be tools like ESLint and husky that add to the workflow, but they're introduced by choice. We know what we're doing and we know **why** we need them. + +An integrated development environment robs you of free choices and deliberate thinking, making you depend on defaults and automation you don't fully understand. It's got everything they think you need, covering it up with magic, and you just stop thinking and take them for granted along the way. + +That's stupid. Let's just stop. Even if you do use an IDE, that should be the result of your own judgment. And trust me. You'll probably find that you don't need one. + +## The beauty of command-line interface + +Almost every common task can be done with the right CLI tool. For instance, I never really used the database panel in IDEA. I just enter `mysql` or `mariadb` in my terminal and type `SELECT * FROM ...`. SQL command not only works, but also is clear. You won't get lost with interface navigation when you're just typing text commands. + +It's true that CLIs are harder to learn. Beginners might take a while to understand what each command does and to remember their names. But **the clarity is precious**. You don't just hit "Run" and expect magic to happen. You type `mvn spring-boot:run` and realize you're starting a Spring Boot application with a Maven plugin. The server setup and annoying configurations are already simplified by Spring Boot, so a line of command can do the work. And if something goes wrong, you know what happened exactly. You don't have to navigate through tabs just to find where the error log is! + +The fact that I have to click through multiple menus to find what I need is insane! Everything should be at most one-click away and I should be able to navigate only using my keyboard! Mouse is the slowest input device if you're not gaming. + +For IDEs based on graphic interfaces, if you want to create a Spring Boot project, you need to click a "New Project" button. And then select "Spring Boot" in the left panel. And then click the inputs appeared on the right panel to edit names and stuff. And click "OK". And scan a list of dependencies where you probably don't recognize most of the items, and then select the dependencies you think you need. And hit "Continue". Finally, after seconds (which can be really long depending on your machine) of loading, you're in a whole new interface with panels and sidebars and split-views! + +For command-line interfaces, you copy-paste and edit this command in your shell: + +```shell +curl https://start.spring.io/starter.zip \ + -d dependencies=web \ + -d language=java \ + -d name=demo \ + -d packageName=com.example.demo \ + -d type=maven-project \ + -o demo.zip +``` + +Unzip it, open it with any editor you'd like (which is usually way faster than IDEs), and voilà — You got yourself a Spring Boot project ready to go. If you create new projects very often, you can create snippets, templates, scripts, or aliases in any way you want, simplifying this action to a single line of command. + +One of the things I hate about IDEA is the "Maven" button. It only appears in `pom.xml` tab and sometimes disappears for no reason, making a simple dependency update unnecessarily confusing. I'll have to navigate to a drop-down menu to sync my Maven dependencies. That's stupid. Just type `mvn clean install` and hit enter. + +If you want to push to the extremes, use Vim or Helix, an editor running in your terminal. Then all of your development can be done in one place, a place faster and more flexible than any IDE. + +## The True IDEA + +- **Instant.** After getting rid of the bloat, your project opens instantly. Goodbye to being stuck in the loading screen! +- **Deliberate.** Every action you take is clear and judicious, for now you know exactly what every command does. No magic. Pure tech. +- **Elegant.** No over-categorization of tabs, sections, trees, or the things I don't even bother to name. In your sight is only the things you truly need, hand-picked by yourself. +- **Attentive.** Focus on coding rather than learn how to make sense of such unnecessarily complicated software. + +Plus, there's more. + +- **Universal.** You now possess the tools to develop in any language with any tech stack. Who needs a 5-gigabyte software that mainly targets 2 languages? +- **Production-like.** If you build using command-line, you can switch to a Linux server smoothly, where every action is done using commands. +- **Flexible.** Tear down any part of your workflow and replace it if you don't see fit. You have full control over your development environment. + +My current setup is Zed + Ghostty for Java and JavaScript development. I also poke around with Go, Lua, Python, and other tech with that. With the right CLI and editor extension installed, there is zero friction. + +[^1]: There are massive IDEs built for C, like CLion, also a JetBrains product. Honestly, I don't really see many people using it. Maybe I'm biased. Correct me if I'm wrong. diff --git a/content/en/article/my-best-laptop-ever.md b/content/en/article/my-best-laptop-ever.md new file mode 100644 index 00000000..df3bf587 --- /dev/null +++ b/content/en/article/my-best-laptop-ever.md @@ -0,0 +1,69 @@ ++++ +title = "My Best Laptop Ever" +date = 2025-01-25 12:57:00 +draft = false +toc = true ++++ +In November 2024, I purchased my first MacBook, and it changed everything. + + + +## My previous laptops + +Though I do love large screens and PC, laptop is the kind of device that I buy most frequently. They are highly portable. It's a pleasure to just carry them around, place it on top of your lap or any table top, and just browsing or type random stuff :3 + +Before, I've only used Windows. Don't get me wrong. Windows is just fine. Most softwares support Windows and not to mention it's the best OS to play PC games on. + +I've lost count of my old laptop. Most of them are from my father, who also loved purchasing new products. His old ones just end up with me. + +I guess my first laptop is a really heavy, dumb, thick, ugly thing that has Windows XP installed. I had my fun playing games on it when I was around 13 years old, and the rest of memories with it are just a blur. + +When I was in high school, I have a Dell Inspiron 13. It's slightly over-priced and the performance was not so good, but good enough for me to complete a lot of open-source projects with it. I also played Minecraft and Don't Starve Together on that laptop. + +When I went to college, that Inspiron is more of a toy. I installed Manjaro (a linux distro based on Arch) on it, then got bored and tried Deepin OS. Now it's collecting dust in the bottom of my drawer. + +As a gift, my father bought me an Omen 9, a Windows gaming laptop. Powerful enough to run any game, this laptop also help me with tons of school projects. This blog was orignally built on that laptop. + +## My first MacBook + +I have an iPad and an iPhone. I wear Apple Watch every day. I guess one of the many sins of Apple is that it makes you crave for the whole package once you tried one of their product. Anyway, I bought a second-hand MacBook Air (M1) after I had been wanting a MacBook for so long. + +I spent 425 dollars on it. A fair deal, I think, since it's a used product from 2021, and it only has 8GB RAM + 256GB disk. + +Many might find 256GB really small. It's even smaller than my iPhone! I've been thinking about getting a portable hard drive at first, but, after nearly 2 months, I realize that 256GB is enough for me. + +Shocking, huh? + +The thing is, I'm just an ordinary programmer. I don't edit videos and photographs. Code just doesn't take up too much space! Plus, I store all of my projects on GitHub, which can be safely deleted from my device since they're backed up by GitHub. + +And I have a 200GB plan for iCloud. Documents, slides, e-books, photographs go up there and can be downloaded whenever I need. + +I don't play video games on Mac. Let's just be honest, when it comes to PC games, Windows always wins. Moreover, MacBook Air doesn't really have that performance. + +For entertainment like videos and TV, most of people like me perfer streaming than downloading like a caveman. Therefore, games and videos don't affect my laptop's local storage. + +All of these make my laptop a place for processing temporary files. New stuff in and old stuff out, either archived on cloud or deleted permanently. 256GB is really sufficient if you are someone like me. + +## Why is this the best laptop + +This MacBook is the first computer that I paid myself. And this 425-dollar purchase not only covered most of my usage scenarios, but also lead me into the wonderful new world of MacOS. + +Well, of course, gaming isn't the scenario it has covered. It's a good thing, however. Separating work and entertainment can be a huge productivity boost. If you only play video games on Switch and the other computer, you just don't get distracted or confused that easily working on the work-specific one. + +Though this is an old MacBook, it has apple silicon. M1 might not be powerful enough, but the performance is just lovely. + +For starters, with apple silicon, you can open almost any application instantly and all interations are just smooth. + +The battery runs longer than Intel MacBook as well. If you use Safari instead of Chrome, the battery can last for a day without charging. If you're developing, writing code nonstop for the whole morning or afternoon won't be a problem. + +Plus, I can't stress this enough. It's really really really really really cheap! The RAM and storage are enough, the performance is badass, it's perfect for everyday use, it's so thin and lightweight, it fits into my bag without me feeling anything in there... It's only 425 dollars! + +I really doubt it if one can get a Windows laptop like this with such a low price. + +## In the end + +I bought this in China. I'm not sure if you can get such product in the second-hand markets in your region. + +Second-hand laptops are not like refurbished ones sold on official stores. The warranty is usually expired. So, there's a risk if the laptop needs repair some day. + +If you're looking to try MacOS, second-hand MacBooks might be a good choice. diff --git a/content/en/article/take-ugly-notes-do-pretty-work.md b/content/en/article/take-ugly-notes-do-pretty-work.md new file mode 100644 index 00000000..c4940600 --- /dev/null +++ b/content/en/article/take-ugly-notes-do-pretty-work.md @@ -0,0 +1,90 @@ ++++ +title = "Take Ugly Notes and Do Pretty Work" +date = 2025-05-09 16:59:00 +draft = false +toc = true ++++ +## Note is a four-letter word + +I used to be obsessed with taking pretty notes. Here's my old Obsidian vault. And I haven't opened it for almost a year. + +![](https://r2.eltr.ac/uPic/IMG_3586-2.JPG) + +The link graph is pretty, the whiteboard seems brilliant, and god, I even color-coded all my folders? And they got icons? They're so pretty that I don't even feel like I should put my dirty hands on it. + +And I surely did not. + +These well-organized brilliant-looking notes never actually helped me learn anything. Well, maybe a little, but all the good learning happened while I'm doing actual work, not taking pretty notes. + +I'm sure I'm not alone here. Lots of us get lost in the sea of knowledge, trying to build a better boat or a ship when we don't even have to be on the water. But how did we get here? + +## The source of all evils: *Schools* + +In school, apart from test results, teachers evaluate students' academic performance merely by looking at their notes, *at least here in China*. I remember in my middle school and high school, if a kid's book is almost illegible because they have written useless words all over the page, they are considered as a diligent child. Otherwise, they're lazy, rebellious, and mischievous. + +And guess what, we all try to write as much crap as possible. But we never even think to review it. + +The teachers just love comparing students. If a student's notebook is clean and untouched, they're bad and should be given a lecture. When the lecture is done, the teacher finds another one and says: *Oh, yours is all filled with ink? How dare you be proud of yourself? Look at that guy. He's got pretty highlights and beautiful callipgraphy. Try to be more organized, you disgusting.* + +Then the teacher turns around, looking at that guy he just gave compliments to. *And don't feel so good about yourself already. Look at your book. It's too tidy! It's obvious that you never opened it! Spend less time trying to be pretty, you sissy!* + +Just like that, **taking notes becomes a game, which confusingly has no rules but is somehow very important to your performance.** + +However, taking notes is not always like this. I believe written languages are created for humans' desire to remember things and master skills. We invented speaking to communicate and writing to log things. When goals are clear, we know what to write and what not to write. Nobody has ever struggled to find the perfect note-taking method. + +Schools messed us up with meaningless chicken fights and made us all believed that note-taking is a really big deal, but it's not. It's not only schools, maybe also workplaces with stupid rules that forces you to write reports and summaries and stuff. And they blame you for not doing any good work. + +I think we all need to stop for a second to think about why we take notes. + +## Artist's Sketchbook + +I watched a YouTube video on writing mini essays to build a systematic framework of knowledge. The YouTuber describes it as the best note-taking method and learning method of all time. And one comment reads: + +> Oh, this is just like a sketchbook for an artist. + +Inspiring! A notebook is just like a sketchbook. You sketch to capture new ideas, but the real paintings happen on a canvas. We don't expect our sketch to be perfect, but we do know that we need to put extra effort to the real work. + +Sketch is fun, I believe. Yet if an artist spends too much time sketching, there is less time for them to do real work, which requires an insane amount of time and energy. + +Let's say there's an artist named Peter (I don't know why it's the first name that popped into my mind). Peter is learning to paint, and he thought he needed some time to practice and prepare for the real work, where all the magic happens. + +Sure, that seems fair. + +Peter carries his sketchbook everywhere, so he can sketch whenever he wants, and however long he wants. Peter's done some good sketching. He successfully captured all his clever ideas and feels good about showing others his sketches. And people liked it, telling Peter that he's really done some good work. + +But did he really? + +If we open Peter's sketchbook, we'll find that there's nothing but pencil-drawn lines, and some shades maybe, I'm no artist. Well, you definitely cannot put those in a gallery or an art show. + +In fact, **Peter is an artist who has done no work of art**. He only sketches, and maybe even writes essays on art and loves making smart comments on other artists' work. + +But the thing is that Peter has become so obsessed with sketches. He completely forgot that he needs to paint. + +And so did we, fellow note-takers. We can't just be note-taking. We need to actually create something. + +## Why we procrastinate real work by taking notes and sketching + +It's complicated how the human brain works. + +Maybe it's fear. Though we do wish to be the person we want to be, it's frightening to actually do that, because you might fail, and who are you if you fail to be you? The existential crisis deep in your subconscious mind stops you from the devastating possibility. + +Meanwhile, preparing for your work is a legitimate thing to do. It makes you feel like you're pursuing your dreams and goals, but that feeling is simply a mirage. The fact is that, after all this time you've spent on your pretty note vault, you've done no work to show off. + +## Take ugly notes + +Let's wrap this up. + +We're taught in schools that note-taking is significant and should be paid much attention to. When we need to do real work, we find ourselves at loss and overwhelmed, so we went back to do so-called significant and attention-worthy things, note-taking. However, we're just postponing the reality that we eventually need to face, that we have done no work related to our identity. + +It's worse than bad work. But it doesn't feel that way, because getting nothing done never leads to the horrifying possibility that your work means nothing to your audience and people say you should quit. It feels better to have no work to show, because people will say you are still learning when they see your pretty notes, and they might even compliment your novel ideas. + +The fact is that no successful people need to show off their notes or feel like they need to tell people how hard they've worked for what they have today. They feel satisfied just by showing off their work. + +You don't need to prove it to people by taking pretty notes when you already have excellent work that enhances your identity. + +My point is: Take ugly notes. Waste no time on preparation. Start doing real work immediately after you've been prepared. Your preparation doesn't need to look nice. They just need to be helpful. I believe ugly notes that is only comprehensible to yourself are the most time-efficient and meaningful. + +It doesn't mean that the uglier your notes look, the prettier your work will be. It means that ugly notes are sufficient for creating pretty work. Doing more than ugly only consumes your energy and feeds your ego when you obviously have no good reasons for that. + +If you've done work and it looks *shitty*. It's not because you haven't done enough preparation. It just means you need to work on your skills. You do that by taking ugly notes on what you did right and what you did wrong, and then try to do pretty work and avoid failure again. To this point, that failure is not really a failure. + diff --git a/content/en/article/talking-to-myself.md b/content/en/article/talking-to-myself.md new file mode 100644 index 00000000..c5065908 --- /dev/null +++ b/content/en/article/talking-to-myself.md @@ -0,0 +1,31 @@ ++++ +title = "I like talking to myself (with Git and GitHub)" +date = 2025-12-16 20:31:00 +draft = false +toc = true ++++ +I am an introvert. I like talking to myself. I talk to myself in spoken language when I get comfortable in a place where nobody's around. Recently, I find myself talking to myself in written words with Git and GitHub, which could actually be helpful in an engineering perspective, not just emotionally. + +It's established that following a commit message specification, like [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), is necessary for collaboration. Clear commit messages help collaborators understand the changes you've made, and how those changes can affect them. But... What if you're doing something solo? For instance, you're working on a side project that you know is going to be small, and you don't expect anyone to help you expand it. Toy code does not need that specification, right? + +Well, nope, at least not for me. + +Writing commit messages is not a responsibility thrust upon you. It's a delight. More precisely, any documentation should be fun for developers. You don't do it for the sake of users or other developers. You do it because it feels right. + +I like having my thoughts straightened by writing. Language is a structural presentation of human ideas, which start out chaotic with countless loose ends, but then slowly fit into place when you're trying to articulate them. The ancient Greek word "λόγος" can both mean logic and words. It's inspiring if you think about it: any logical flaw is easy to identify when you're putting things into words. Either spoken or written, you're making things clear, and clear is good. + +We want our work to be clearly described so others can understand, but we also do that to make ourselves understand, in the present and after weeks or months. + +When I'm working on a side project, I keep a decent git history, with atomic commits, straightforward messages, and a lot of branches. I also create Pull Requests rather than direct `git merge` or `git rebase`, even though the code is reviewed by me and only me. I write issues that nobody reads, just to keep track of a bug I was trying to fix. I comment my PRs and issues with fact checks and progress updates. I add notes about installing dependencies and starting a dev server in `README.md`, stored in a private repository. Basically, I report to myself. + +How is doing extra work a delight? + +1. I use words and logic to keep a clear head. +2. I like things well organized. +3. I feel safe when there's no line of code I don't understand. +4. It feels like I'm presenting my work to the world officially. +5. The future me will be happy when he's trying to get my ancient code working. + +Rob Pike says "Documentation is for users". I'd like to say it's also for the writers themselves. It's an intellectual leisure, a workout for the mind, and an honestly earned break from all the hard work of coding. + +While LLMs are spitting out craps faster than ever, we engineers should really focus more on documentation. Vibe coding is fast but meaningful words written by humans are more powerful. Documentation is for communication. That communication really is the core of software engineering, including communicating with yourself. diff --git a/content/en/article/the-art-of-adequate-friction.md b/content/en/article/the-art-of-adequate-friction.md new file mode 100644 index 00000000..cd6c227b --- /dev/null +++ b/content/en/article/the-art-of-adequate-friction.md @@ -0,0 +1,55 @@ ++++ +title = "The Art of Adequate Friction" +date = 2025-03-29 11:54:02 +draft = false +toc = true ++++ +Recently, I've been making changes to my daily workflow and introducing pens and paper to manage my schedules. + +It does feel stupid at first. I miss the convenience of having an input where I get to just type things into anywhere. But, surprisingly, I found myself doing a lot more without a friendly interface, thanks to the inconvenience of writing stuff down on paper. + + + +## The Pros and Cons of App Solutions + +Despite my preference for books and pens, applications do outweigh paper in many aspects, which are reasons why I was stuck with calendar apps and note-taking apps like Notion, Obsidian and Logseq for quite a long time. + +1. Pen might be mightier but keyboards are **faster**. Typing something into your device is definitely quicker and more convinient. (Plus, you get to enjoy the soothing keyboard sound XD) +2. You can easily **automate** stuff on a device. +3. App solutions are way more **portable**. If you already got your smartphone with you, carrying an extra notebook can be a real nuisance. + +For instance, if you need to keep track of every dollar you've spent, an app or an Excel sheet is way more convenient than hand-writing every entry on a notebook. Some apps have gone so far that you don't even have to type the numbers yourself. + +But speed, automation and portability comes with a price that many have overlooked, **the cost of your attention**. + +1. **You may lose track of what you have done when an action happens too fast.** + If speed is what you pursue and you grow accustomed to get things done as quickly as possible, it might become more difficult for you to get into the Flow and enjoy deep work. +2. **Information may lose meanings if it's processed automatically.** + I used to keep track of my expenses in an Excel sheet, recording how much I spent and what I spent it on. The software automatically calculated the total and average, helping me see how I was doing with my monthly budget. But over time, I stopped paying attention to the results—I would just input the numbers without even looking at them. When I don’t have to do the math myself, I tend to get lazy and unaware of the situation. +3. **One device with multiple purposes confuses your brain.** + When you need to check your schedule or to-do list in one of your apps, you might get lost in your home screen and get interrupted by a push notification, because there are simply too much information presented to you at the same time. + +## What Inconvenience Means + +Digital notes, sheets and calendars are, without doubt, the most convenient way to manage knowledge, schedules and tasks. However, the right amount of inconvenience can be a real game changer. + +Inconvenience means that you have to do a lot of work by yourself. The benifits of that are: + +1. You are highly aware of what you're doing in the moment. +2. You’ll have a clearer memory of what you’ve done and what you plan to do, because you’ve written it by hand. +3. [Certain psychology studies](https://cpb-us-w2.wpmucdn.com/sites.udel.edu/dist/6/132/files/2010/11/Psychological-Science-2014-Mueller-0956797614524581-1u0h0yu.pdf) have shown that longhand note-taking improves understanding and retention of concepts, as it forces you to process and reframe information. + +Technology frees human beings from doing dirty work, but sometimes it’s precisely the dirty work that’s at the heart of meaningful progress. + +## Choosing Inconvenience for the Right Scenario + +Paper and pens do have their limitations: They're just not fast enough. + +Imagine your friend invites you to hang out just as you’re about to leave, standing on the street. It’s definitely not the best time to pull out a notebook, but if you don’t jot it down, you might forget the appointment. + +This kind of inconvenience sucks. Having to pull out a notebook and flip through pages to find the right one? No, thanks. It certainly does not help me understand the appointment better. + +The key is to use tools for what they're best at. Pens and paper excel at raising self-awareness and forcing you to engage with the information more deeply, while digital devices are perfect for quickly capturing information and keeping it easily accessible, right in your pocket. + +All in all, use pens for planning and taking notes, but rely on devices for quickly capturing information and managing your inbox. + diff --git a/content/en/posts/effort-to-be-understood.md b/content/en/posts/effort-to-be-understood.md deleted file mode 100644 index 68af3826..00000000 --- a/content/en/posts/effort-to-be-understood.md +++ /dev/null @@ -1,22 +0,0 @@ -+++ -title = "Make Some Effort to Be Understood, Please" -date = 2025-12-20 17:33:00 -draft = false -+++ -So, my roommate just threw a litany of facts about psychoanalysis and Buddhism on me, like all kinds of name-dropping and inconsistent statements. I wasn't paying much attention because I was just taking a short break from my work, and honestly, I don't give a damn. - -I felt the urge to write something about this random experience immediately afterward. I think the reason is that — he made me feel bad about myself, like I was a muggle who cannot appreciate the beauty of philosophy, which I do read a lot about. - -Why do I feel that? I think it's because I don't feel seen. It feels like he's only talking to me when he needs an ear, who is human but always accepting, and doesn't talk back when there's a disagreement or merely a confusion. I had this impression because: - -* I expressed my unfamiliarity with the topic he's proposing, yet he kept dropping names (like those words you can't even find on the [Buddhism](https://en.wikipedia.org/wiki/Buddhism) Wikipedia page, something you have to dig deep to find out), without explaining anything. -* He was talking about how Buddhism and psychoanalysis are connected, saying one thing from Buddhism is actually another thing from psychoanalysis, neither of which is explained! It's like saying "Hey, this multi-dimensional proton is actually that photon-quantum-ish quantifier from the famous Plato theory!" — just shut up. ==Why do you even utter a word when you know people won't understand, or why do you have to be so egotistic thinking everyone in the world cares about the same thing you do?== -* He's not backing down, so I decided to take a little bit of my time exchanging ideas. He says a university is studying the relationship between Buddhism and psychoanalysis. I say, "Well, it sounds like they're trying too hard to make a connection here, which is what many Chinese academics do, especially in humanities." — because it's exactly what it sounds like. He didn't explain anything, so it's impossible to connect the dots! I expect to hear some convincing ideas, but I did not get what I want. He said, in response, "Well, they **are** connected. **I** think it's meaningful work." — Still, he did not care to explain his words. - -Upon hearing his passive-aggressive response, I stopped talking and went back to my room. I don't like the energy there. As far as I'm concerned, keeping this conversation will do no good. (which is not actually a conversation, because you see, a conversation involves two individuals respecting each other, not just one person dumping unclear claims.) I've tried to exchange some ideas before, but his mind is not to be changed. He never stood corrected. And I'm not even trying to change his mind here. I just wanted to understand his opinion (or the opinions he read from someone else). Apparently, that was too much to ask for. - -Why do you engage in or even start a conversation, when you make no effort to be understood? It is as simple as defining some terms, clarifying some confusion, and making a goddamn point. - -By the way, this is exactly what people do on most of the Internet. They expect people to understand when they're only typing a few words or making a 2-minute video about their opinion (or is it really an opinion?). And when people don't understand (and they're supposed to not understand), they get mad, and yet another meaningless time-consuming Internet argument begins. - -Just stop. Please make some effort to be understood in the first place. Define the context. Explain the reasons. Answer questions without mistaking them as trolls. Learn to speak some meaningful words. If you find that's too hard to do in speech, then write. Start a blog. I'm sure there will be your audience on the Indie Web. Just don't pick me as your unwilling one. diff --git a/content/en/posts/english-centric-icons.md b/content/en/posts/english-centric-icons.md deleted file mode 100644 index 70e8c9ef..00000000 --- a/content/en/posts/english-centric-icons.md +++ /dev/null @@ -1,80 +0,0 @@ -+++ -title = "English-Centric Icons" -date = 2025-09-18 22:52:00 -draft = false -toc = true -+++ -As a bilingual and someone who works on a computer for like 8 hours a day, I've made some observations on various icon designs. One specific type of icon I noticed recently caught my attention and made me wonder: Is this good design or not? - -## Pun intended? - -Discord, the group chat app, has some features that divide users into different small chat groups, which are called servers, channels, and threads. Basically, you create or join a server about a specific topic or belonging to a certain organization, and this server consists of various channels for different communication purposes. Under a channel, you can start a thread if you find yourself constantly talking about the same stuff, which acts as a "sub-channel". - -The channel icon is pretty simple. It's a hashtag. Generally, `#` means nothing so we can assign different meaning to it in different contexts. I don't remember what the old thread icon looked like, but in a previous update, Discord changed the thread icon to an actual "thread" 🧵. - -![](https://r2.eltr.ac/uPic/2025/09/PixPin_2025-09-18_11-13-45.png "Icon on the top-left is for channel, the first one on the right is for thread.") - -This makes sense for English speakers. Thread can mean both things, a series of connected posts/chats or a long thin string you knit with. But for those who speak a different language, this can be very confusing. - -My interface language is Chinese. The Chinese translation of "thread" is 子区, which simply means sub-channel. In Chinese, threads and sub-channels are completely unrelated. I also took a quick peek at the French version. Thread is called "fils" in French, meaning "son", considering channels are parents of threads in a sense. - -I believe many other languages have different names for threads, most likely not related to actual threads. - -This is not the only case. In IntelliJ IDEA, a well-known Integrated Development Environment for Java, some icons are also pretty English-centric. - -The icon for external libraries looks like a bar chart, but it was meant to be three books of different sizes, meaning "library". In Chinese, a library in software context is called 库, meaning a warehouse, a storage unit, or a garage. It has nothing to do with books or actual libraries. - -{{< gallery >}} -![](https://r2.eltr.ac/uPic/2025/09/idea-external-library.png) -![](https://r2.eltr.ac/uPic/2025/09/PixPin_2025-09-18_11-12-26.png) -{{}} - -In Java, we call a well-encapsulated class a Bean, most likely referred to coffee beans since java is actually a kind of coffee. As you can see, the icon for Beans is actual coffee beans. Though we don't really have a translated name for Beans in Chinese,[^1] many programmers who are not familiar with the language don't think about real beans when they use the term, so it's hard to connect the dots. - -Threads, libraries, and beans have multiple interpretations, referring to an abstract concept in computer world and an actual object existing in real world. While it seems like smart design to use physical objects to represent abstract concepts, this may not always resonate across languages. - -## Language-independent icons - -Let's take a look at another interesting example. - -Like thread, "pin" means both things, an action to attach an item to a fixed position, and a pointy device used for fastening objects together. So, is the icon 📌 (push-pin) a bad choice? Actually, no. You see, the reason why people made that metaphor is because pinning an item on graphic interface resembles pinning a piece of paper on a board in real life. We've all used or seen a push-pin before, so it makes sense even without languages. However, when we are knitting with threads, it looked nothing like a conversation! - -When it comes to icon design, it's important to think about what images pop into people's mind when they see the icon, not the name they call it. - -While it's hard to come up with a solid design for some actions or concepts that does not exist physically, it's no excuse to create a confusing icon. An icon is a form of information. We all prefer no information at all than one we don't understand or demands too much unnecessary effort to make sense of.[^2] - -## See the system of icons itself as a language - -Icons are just like words, conveying a certain meaning. Good icons should be simple and straightforward, which we read like children's books, no efforts required. For example, if you want an icon for "read", just draw an open book; if you are looking for "help", a question mark would be better than a raised hand. - -If we see systems of icons as languages, we can solve certain problems with linguistics methods. When we talk about languages, we might use the term "context". Words mean differently when context changes, and so do icons. A magnifying glass can mean "zoom in" when you're dealing with pictures, but it can mean "search" if you're working with a content management system. Context is the model we adopt to solve ambiguity. - -The tricky part is: how do we design an icon for abstract concepts? There's nothing in real life we can pick from. - -If we learn from languages, we can see that people create new names for these concepts, typically with metaphor, association, and combination. - -- **Metaphor:** The word "tree", in computer science, refers to a data structure type that represents a hierarchical tree structure with a set of connected nodes. We call it "tree" because it looks like an upside-down tree. -- **Association:** The word "bookmark" means something you put between pages as a reminder of your reading progress. You can also say that you "marked" a page. The piece of paper or metal used for that is associated with a mark because of its purpose. So we call that piece by the name of "mark". -- **Combination:** The word "offspring" means "descendants", which consists of "off" and "spring", meaning "people who spring off someone". We combined two words and created a new one. - -We can do all of that with icons. - -Let's take a look at GitHub's menu bar for example. - -![image.png](https://r2.eltr.ac/picgo2025/20250918174240.png) - -Start from the right. The first icon is for "notifications", or "inbox" more accurately. The whole concept of "inbox" comes from real inbox trays in the office, where people put in files they need to process later. We **associate** the interface where we receive messages with a physical container, just like a real inbox tray. It's pretty intuitive that GitHub picked a inbox tray icon for notifications. If you want to find works that needs to be done, you go for the inbox tray. - -The second one is for "Pull Requests". If you understand how Git and GitHub works, you know "Pull Request" is how developers propose changes to an open-source codebase, which works by requesting to merge one updated branch to the main branch. The icon represents "merge". The left side of the icon represents the branch accepting the merge, the right represents the branch to be merged, and the arrow represents the action of merging. The icon was created by **combining** meaningful dots, lines and arrows together. - -As for **metaphor**, the pin icon I mentioned before is a good example. - -## Conclusion - -Designers should look beyond the English language. After all, the rest of the world doesn't compare a series of conversation to a knitting thread! - -Though icons should be independent from languages, they themselves form a system resembling human languages. If we see icons as words with confined meanings, we might be able to create better designed icons. - -[^1]: We just use the English name "Bean". It's a loanword, I guess. - -[^2]: Unless you're playing a puzzle game, I guess diff --git a/content/en/posts/how-i-simplify-my-reading-workflow.md b/content/en/posts/how-i-simplify-my-reading-workflow.md deleted file mode 100644 index 396ecfd5..00000000 --- a/content/en/posts/how-i-simplify-my-reading-workflow.md +++ /dev/null @@ -1,30 +0,0 @@ -+++ -title = "How I Simplify My Reading Workflow" -date = 2025-01-30 23:31:00 -draft = false -toc = false -+++ -I subscribe to quite a number of RSS feeds and newsletters. Every day I get a lot of fresh new articles sent to my inbox. Plus, I enjoy browsing the web and save intersting articles while wandering around. It's a real hassle to manage all the content from different sources. - - - -I used to use [Cubox](https://cubox.cc) to solve this chaos. By gathering all content in one place, I get simpler reading experience. But this was not perfect. First of all, the subscription was not cheap. Besides, though it can receive newsletters, giving me a cleaner email inbox, it's not an RSS reader. I had to use Inoreader alongside it to receive RSS updates. - -Cubox did made me linger for a long time because of its categorization system, cross-platform apps and plugins, AI summary and other smooth features. - -It was when I realized such features did not help boost productivity nor enhance my reading that I finally switched to a much simpler tool, Reading List on Safari. - -My requirements are simple. The only thing I need is a place for temporary storage of articles I want to read. After months of using Apple's Reading List, here are some principles that I grow to appreciate and follow while managing my reading workflow. - -1. **Unread articles go in and read articles go out.** It's a simple in-and-out rule. It's easy to understand why unread things stay, but why not keep those valuable content that are read? Well, in my opinion, **if you really learned something from a post, you can always take notes**. Useful content stays in your notes (or digital gardens), not reading list. And if you haven't learned anything, it's not worth keeping anyway. -2. **Categorization and archive are unnecessary.** My reading list is ineed just a list. Since read articles do not stay, it's certainly pointless categorizing unread things. -3. **Delete articles that stay for too long.** If you haven't read something that you saved a week ago, chances are, you won't read it! Don't fool yourself into thinking you'll get to it when you're less busy. If you're truly interested, you'll read it no matter what! **Keeping articles that you want to read but never feel like reading will cause constant stress**, making you miserable about the whole reading thing. It's better just get it over with and delete them! -4. **Always read it before saving it in your reading list.** You don't need to finish the whole page, just read the beginning. You have the time! If it bores you, close the tab! If it fascinates you, finish it! If you don't have the time, that's when reading list comes to play. -5. **Clear RSS and newsletter updates at one single glance.** If you get new updates on your feed, you have three options: a. Read it; b. Skip it; c. Save it. Never leave things unread on your watch. It's the same as Rule 3. If you don't read it now, you're less likely to read it afterwards. Don't kid yourself into thinking you'll read it later. If it doesn't interest you, skip it! Do not fear losing anything, because you won't! It's just an ordinary post. -6. **Check for updates and browse websites at fixed hours.** Do not check your feeds 100 times a day. You always have better things to do. The updates won't go anywhere and it won't kill you reading them a little bit later. You can check your feeds during lunch break and at the end of the day, and then clear them at one glance like I mentioned in Rule 5. -7. **Try the one-in-one-out technique.** When organizing household objects, some suggest keeping the items at a reasonable amount. When you have enough stuffs, throw one out before you get something new, keeping only your favorite ones. Do the same with your reading list. **Read from your list before you save something new**. -8. **It's just a post.** Reading essays from blogs and newsletters is helpful, but not as helpful as reading a good book. Books are confined wisdom while web posts are mostly opinions. Spend more time on reading an actual book. Don't spend to much time and energy on the Internet. - -The whole philosophy lies on simplicity, because the whole "reading from the web" thing is not as important as I used to think. And it's certainly not worth spending money just on a reading tool. - -Use your time wisely. You can learn a lot from great people's blogs, but that's just one small part of reading. Being a good reader is not just cosuming content. It means you should think about what it is to be a good reader, someone who choose the right thing to read at the right time, in the right way, and at the right cost. diff --git a/content/en/posts/i-am-sick-of-pkm.md b/content/en/posts/i-am-sick-of-pkm.md deleted file mode 100644 index 7b307107..00000000 --- a/content/en/posts/i-am-sick-of-pkm.md +++ /dev/null @@ -1,42 +0,0 @@ -+++ -title = "I Am Sick of PKM" -date = 2025-02-27 11:31:13 -draft = false -+++ -Do you seriously have this crazy amount of knowledge that requires a complex system to manage? - - - -For those who are not familiar with the term, PKM stands for Personal Knowledge Management, which usually involves exploring novel note-taking apps and constructing pretty-looking workflows. - -I started from Notion. Unsatisfied with its loading speed and the fact that I don't actually own my data (which means I must log into a Notion account instead of having it privately saved on my machine), I switched to Obsidian, which was quite a journey. I constantly found myself restructuring my note vault and spending too much time on techniques and plugins, so I downloaded Logseq, the app I’m currently using. - -Now that I've proved myself as a (former) PKMer to you, let’s dive into the real issue at hand: What's the problem with PKM? - ---- - -Modern technology makes it all too easy to fall into obsessions. With its sleek user interface, polished fonts, and seamless integration of multimedia, even the smallest imperfection in your note-taking app can feel like a glaring flaw. - -Like an ink stain, a poorly laid-out document becomes a distraction, only different, because an ink stain cannot be erased, but you can always make your page look nicer, and thus countless efforts have been made to eliminate unimportant distracting details. Because you realized there is always going to be a better way to do this, you began to pursue a better method rather than a deeper understanding of the knowledge itself. - -The harsh reality suddenly becomes unbearable to you. After you've experienced true perfection, it has been unacceptable to you that things are done in an ungraceful maanner, though it might cost less and produce more. - -I'm not saying productivity tools actually lower your productivity. The problem is not about tools but the people using it, and the way people use it. - -A blank note page on your screen awaiting to be filled with words by your keyboard, to some people, is much nicer than a piece of paper. You can edit it freely, not worrying about running out of ink or ruining one page with a typo or grammatical error. Without a doubt, this technology can help boost productivity if you're already familiar with typing and has a lot of writing work to do. - -When I was in high school, I drew all kinds of patterns on my notebook, as decoration or as marks that indicate something to help me organize my notes. I have a tableful of highlighter of different colors also. I constantly found myself not keeping up with the pace of the lecture. The teacher was going too fast and I was still fumbling with my pens and stickers (yeah I have stickers, too). I could borrow someone else's notebook to finish what I've left behind, but I would still be spending way too much time on note-taking rather than actually learning. - -In that sense, being equipped with various tools might not always help us get our work done. Especially when your tool choices evolve into a complicated system or a workflow, it's hard to get out of that system (not because it's difficult, but because you don't want to). You know the system might slow you down sometimes but you don't want to abondon it. It's like parting with something you've grown attached to. - -The core issue here is worth pointing out: ==The reason why in some cases (not all), a well-designed workflow might lead to productivity decline is that we're focusing way too much on method but not the goals we wish to accomplish==, which means you could have spent your precious time on getting things done instead of figuring out how to get things doen more elegantly. - -Sometimes, all you need is "quick and dirty". - -The concept of PKM is based on methods. People study PKM to learn better methods to take notes and make the most of what they learn. That's the philosophy of PKM. It's good and I think more people should be learning it. However, it's not an endless journey. - -If you are dedicated to becoming a life-long learner, you probably don't need to be learning PKM for a lifetime. Just like learning how to ride a bicycle, once you know how to balance and get started, you don't need to enhance your biking skills by making changes to the way you ride. You do that every day by actually riding it to get somewhere. - -PKM is a way for you to get started, and then, off you go. Do the things you need to do and create values as you should. Stop the madness of perfectionism about tool choices and pay less attention to insignificant flaws of your system as long as it works. - -May you have a productive day. \ No newline at end of file diff --git a/content/en/posts/i-now-use-migadu.md b/content/en/posts/i-now-use-migadu.md deleted file mode 100644 index adce51e8..00000000 --- a/content/en/posts/i-now-use-migadu.md +++ /dev/null @@ -1,38 +0,0 @@ -+++ -title = "I now use Migadu for my emails." -date = 2026-01-02 12:13:24 -draft = false -+++ -I like emails. They're quiet and you don't have to rush. And they're decentralized. You get to choose who stores your data. If you're on WeChat, Line, or whatever IM apps you're using, you're forced to stay there because that's where all your contacts are. Emails are portable. Save your mails as `.eml` files and store anywhere. Keep your address, if you own your domain name, and migrate to wherever you want, preferably someplace you trust, and people can still mail you with the same address. - -I was using Tencent Exmail for a long time. It's an evil service provided by an evil big corporate if you don't know, as evil as Google. It's hard to get a custom domain email address in China. People rely on emails less and there are fewer options. Some people use Cloudflare or similar services to create an alias for their email, but that's still your data in a BigCo's data center. What you get is merely a cool address. - -Not really paranoid about privacy but I do feel more comfortable if my mails don't go through people I don't trust. So I started looking for new emails services. - -I searched and asked ChatGPT, ruled out some hard "No"s, and got 3 options: - -- PurelyMail -- MXRoute -- Migadu - -They're all small services. Best of all, they're cheap, like insanely cheap. Migadu's micro plan costs $19.9 annually. PurelyMail costs $10. MXRoute was defintely the cheapest, $15 for 2 years! But that offer is only available when they're doing a promotion. - -They all offer unlimited domains and unlimited addresses. Only Migadu comes with a few constraints, 200 emails in per day and 20 out per day, and also you only get 5GB storage (But they're all soft limits. There is tolerance). - -Eventually I chose Migadu, for two major reasons: - -1. PurelyMail and MXRoute are both run by one man. They're not a corporate. It's good but I keep worrying what happens if their owner gets hit by bus some day... Sorry, it's not a nice thought. Another downside is that you don't get much support from your service provider. It could be really frustrating if something unexpected happens. You're on your own. -2. Migadu is a small company located in Switzerland, where EU laws ensure the best privacy. Privacy was the whole point I'm migrating my email service after all. It's a reasonable choice. - -Migadu is surprisingly honest about their service. They have a [Pro/Cons](https://www.migadu.com/procon/) page (where pro is actually absent) listing all the reasons why you probably don't want to use Miagdu. For example, they're made for human emails only, meaning they don't send bulk transactional emails. They are honest about their pricing not being the cheapest, their spam filters not being perfect, their server not being in Switzerland but in France... And they offer fully-functional trials, so you know exactly what you're paying for. - -I love how opinionated they are. They do things their way and they are honest about it. They don't dazzle customers with fancy words. They don't even use Web Analytics or track their users in any way! - -The setup was smooth. DNS configuration can be intimidating even if you have experience, because configuring email systems is way more complicated, with multiple TXT, CNAME, SRV records. Merely 2 MX records with not work. They have clear documentation on setting up your DNS. All you have to do is read, understand, and copy. Within 10 minutes, I can receive and send emails using Migadu with no problems. - -I posted on Fediverse and asked people to send anything to me for testing. And I ended up receiving some really interesting mails. If you'd like, mail me at `hi@guhub.cn`[^1] and send whatever you want! I'd be happy to make some new friends here. - -So, I now use Migadu for my emails. And I hope you also enjoy your email service :3 - - -[^1]: Update 2026-1-13: I changed my domain, please reach me via `hi@eltr.ac` diff --git a/content/en/posts/java-dev-with-true-idea.md b/content/en/posts/java-dev-with-true-idea.md deleted file mode 100644 index 1d24dd36..00000000 --- a/content/en/posts/java-dev-with-true-idea.md +++ /dev/null @@ -1,68 +0,0 @@ -+++ -title = "Java Development with True IDEA" -date = 2025-10-20 16:16:00 -draft = false -toc = true -+++ -Let's be totally honest. **IntelliJ IDEA is bloated, slow, and buggy.** It's not the worst tool but certainly doesn't provide a comfortable dev experience, especially when it's so damn expensive. Not to mention, it eats up precious storage space on my MacBook (that one's probably on Apple though). - -## Stop taking things for granted (and making newcomers do the same) - -The one thing I don't understand is that people urge Java beginners to download this software filled with magic buttons when they don't understand how everything works. Personally, I never fully understand the magic behind "Run/Debug" button — It does too many things! Depending on the project type and configuration, it can compile and run a single java file, or it can build, deploy, and start a local server. - -When I started out learning Spring, people just told me to configure this and configure that, simply asking me to follow a set of instructions that seemed to come out of nowhere, with no further explanation. (I seriously doubt they understand it themselves) And then, I was told to hit the "Run" button. And boom. There's your project up and running. Start Developing! - -Software like IDEA makes development far more complicated than it needs to be, with too many layers of interfaces. It's probably a fair trade-off for large teams, but certainly not for everyone. And there are better solutions. I can put up with photo and video editing apps like PhotoShop having complex UIs — there's no other way to do it. But for software development? Why would I need all those sections and subsections and sub-subsections in the setting panel, when a bunch of configuration files can do the work just fine? - -With the IDE interface being bloated, learning Java development becomes two things: The basic language knowledge (the syntax, common libraries and best practices) and **HOW TO GET THIS GODDAMN THING TO F\*CKING WORK**. - -I don't see C programmers losing their minds because their editors break. In fact, let's appreciate the beauty of C development. You got a simple editor, a trusty compiler, and... nothing else.[^1] Your compiler tells you what goes wrong, and you fix it. That's it! JavaScript development also requires only an editor and a set of CLI tools (build tools and package managers) to work. There might be tools like ESLint and husky that add to the workflow, but they're introduced by choice. We know what we're doing and we know **why** we need them. - -An integrated development environment robs you of free choices and deliberate thinking, making you depend on defaults and automation you don't fully understand. It's got everything they think you need, covering it up with magic, and you just stop thinking and take them for granted along the way. - -That's stupid. Let's just stop. Even if you do use an IDE, that should be the result of your own judgment. And trust me. You'll probably find that you don't need one. - -## The beauty of command-line interface - -Almost every common task can be done with the right CLI tool. For instance, I never really used the database panel in IDEA. I just enter `mysql` or `mariadb` in my terminal and type `SELECT * FROM ...`. SQL command not only works, but also is clear. You won't get lost with interface navigation when you're just typing text commands. - -It's true that CLIs are harder to learn. Beginners might take a while to understand what each command does and to remember their names. But **the clarity is precious**. You don't just hit "Run" and expect magic to happen. You type `mvn spring-boot:run` and realize you're starting a Spring Boot application with a Maven plugin. The server setup and annoying configurations are already simplified by Spring Boot, so a line of command can do the work. And if something goes wrong, you know what happened exactly. You don't have to navigate through tabs just to find where the error log is! - -The fact that I have to click through multiple menus to find what I need is insane! Everything should be at most one-click away and I should be able to navigate only using my keyboard! Mouse is the slowest input device if you're not gaming. - -For IDEs based on graphic interfaces, if you want to create a Spring Boot project, you need to click a "New Project" button. And then select "Spring Boot" in the left panel. And then click the inputs appeared on the right panel to edit names and stuff. And click "OK". And scan a list of dependencies where you probably don't recognize most of the items, and then select the dependencies you think you need. And hit "Continue". Finally, after seconds (which can be really long depending on your machine) of loading, you're in a whole new interface with panels and sidebars and split-views! - -For command-line interfaces, you copy-paste and edit this command in your shell: - -```shell -curl https://start.spring.io/starter.zip \ - -d dependencies=web \ - -d language=java \ - -d name=demo \ - -d packageName=com.example.demo \ - -d type=maven-project \ - -o demo.zip -``` - -Unzip it, open it with any editor you'd like (which is usually way faster than IDEs), and voilà — You got yourself a Spring Boot project ready to go. If you create new projects very often, you can create snippets, templates, scripts, or aliases in any way you want, simplifying this action to a single line of command. - -One of the things I hate about IDEA is the "Maven" button. It only appears in `pom.xml` tab and sometimes disappears for no reason, making a simple dependency update unnecessarily confusing. I'll have to navigate to a drop-down menu to sync my Maven dependencies. That's stupid. Just type `mvn clean install` and hit enter. - -If you want to push to the extremes, use Vim or Helix, an editor running in your terminal. Then all of your development can be done in one place, a place faster and more flexible than any IDE. - -## The True IDEA - -- **Instant.** After getting rid of the bloat, your project opens instantly. Goodbye to being stuck in the loading screen! -- **Deliberate.** Every action you take is clear and judicious, for now you know exactly what every command does. No magic. Pure tech. -- **Elegant.** No over-categorization of tabs, sections, trees, or the things I don't even bother to name. In your sight is only the things you truly need, hand-picked by yourself. -- **Attentive.** Focus on coding rather than learn how to make sense of such unnecessarily complicated software. - -Plus, there's more. - -- **Universal.** You now possess the tools to develop in any language with any tech stack. Who needs a 5-gigabyte software that mainly targets 2 languages? -- **Production-like.** If you build using command-line, you can switch to a Linux server smoothly, where every action is done using commands. -- **Flexible.** Tear down any part of your workflow and replace it if you don't see fit. You have full control over your development environment. - -My current setup is Zed + Ghostty for Java and JavaScript development. I also poke around with Go, Lua, Python, and other tech with that. With the right CLI and editor extension installed, there is zero friction. - -[^1]: There are massive IDEs built for C, like CLion, also a JetBrains product. Honestly, I don't really see many people using it. Maybe I'm biased. Correct me if I'm wrong. diff --git a/content/en/posts/my-best-laptop-ever.md b/content/en/posts/my-best-laptop-ever.md deleted file mode 100644 index df3bf587..00000000 --- a/content/en/posts/my-best-laptop-ever.md +++ /dev/null @@ -1,69 +0,0 @@ -+++ -title = "My Best Laptop Ever" -date = 2025-01-25 12:57:00 -draft = false -toc = true -+++ -In November 2024, I purchased my first MacBook, and it changed everything. - - - -## My previous laptops - -Though I do love large screens and PC, laptop is the kind of device that I buy most frequently. They are highly portable. It's a pleasure to just carry them around, place it on top of your lap or any table top, and just browsing or type random stuff :3 - -Before, I've only used Windows. Don't get me wrong. Windows is just fine. Most softwares support Windows and not to mention it's the best OS to play PC games on. - -I've lost count of my old laptop. Most of them are from my father, who also loved purchasing new products. His old ones just end up with me. - -I guess my first laptop is a really heavy, dumb, thick, ugly thing that has Windows XP installed. I had my fun playing games on it when I was around 13 years old, and the rest of memories with it are just a blur. - -When I was in high school, I have a Dell Inspiron 13. It's slightly over-priced and the performance was not so good, but good enough for me to complete a lot of open-source projects with it. I also played Minecraft and Don't Starve Together on that laptop. - -When I went to college, that Inspiron is more of a toy. I installed Manjaro (a linux distro based on Arch) on it, then got bored and tried Deepin OS. Now it's collecting dust in the bottom of my drawer. - -As a gift, my father bought me an Omen 9, a Windows gaming laptop. Powerful enough to run any game, this laptop also help me with tons of school projects. This blog was orignally built on that laptop. - -## My first MacBook - -I have an iPad and an iPhone. I wear Apple Watch every day. I guess one of the many sins of Apple is that it makes you crave for the whole package once you tried one of their product. Anyway, I bought a second-hand MacBook Air (M1) after I had been wanting a MacBook for so long. - -I spent 425 dollars on it. A fair deal, I think, since it's a used product from 2021, and it only has 8GB RAM + 256GB disk. - -Many might find 256GB really small. It's even smaller than my iPhone! I've been thinking about getting a portable hard drive at first, but, after nearly 2 months, I realize that 256GB is enough for me. - -Shocking, huh? - -The thing is, I'm just an ordinary programmer. I don't edit videos and photographs. Code just doesn't take up too much space! Plus, I store all of my projects on GitHub, which can be safely deleted from my device since they're backed up by GitHub. - -And I have a 200GB plan for iCloud. Documents, slides, e-books, photographs go up there and can be downloaded whenever I need. - -I don't play video games on Mac. Let's just be honest, when it comes to PC games, Windows always wins. Moreover, MacBook Air doesn't really have that performance. - -For entertainment like videos and TV, most of people like me perfer streaming than downloading like a caveman. Therefore, games and videos don't affect my laptop's local storage. - -All of these make my laptop a place for processing temporary files. New stuff in and old stuff out, either archived on cloud or deleted permanently. 256GB is really sufficient if you are someone like me. - -## Why is this the best laptop - -This MacBook is the first computer that I paid myself. And this 425-dollar purchase not only covered most of my usage scenarios, but also lead me into the wonderful new world of MacOS. - -Well, of course, gaming isn't the scenario it has covered. It's a good thing, however. Separating work and entertainment can be a huge productivity boost. If you only play video games on Switch and the other computer, you just don't get distracted or confused that easily working on the work-specific one. - -Though this is an old MacBook, it has apple silicon. M1 might not be powerful enough, but the performance is just lovely. - -For starters, with apple silicon, you can open almost any application instantly and all interations are just smooth. - -The battery runs longer than Intel MacBook as well. If you use Safari instead of Chrome, the battery can last for a day without charging. If you're developing, writing code nonstop for the whole morning or afternoon won't be a problem. - -Plus, I can't stress this enough. It's really really really really really cheap! The RAM and storage are enough, the performance is badass, it's perfect for everyday use, it's so thin and lightweight, it fits into my bag without me feeling anything in there... It's only 425 dollars! - -I really doubt it if one can get a Windows laptop like this with such a low price. - -## In the end - -I bought this in China. I'm not sure if you can get such product in the second-hand markets in your region. - -Second-hand laptops are not like refurbished ones sold on official stores. The warranty is usually expired. So, there's a risk if the laptop needs repair some day. - -If you're looking to try MacOS, second-hand MacBooks might be a good choice. diff --git a/content/en/posts/take-ugly-notes-do-pretty-work.md b/content/en/posts/take-ugly-notes-do-pretty-work.md deleted file mode 100644 index c4940600..00000000 --- a/content/en/posts/take-ugly-notes-do-pretty-work.md +++ /dev/null @@ -1,90 +0,0 @@ -+++ -title = "Take Ugly Notes and Do Pretty Work" -date = 2025-05-09 16:59:00 -draft = false -toc = true -+++ -## Note is a four-letter word - -I used to be obsessed with taking pretty notes. Here's my old Obsidian vault. And I haven't opened it for almost a year. - -![](https://r2.eltr.ac/uPic/IMG_3586-2.JPG) - -The link graph is pretty, the whiteboard seems brilliant, and god, I even color-coded all my folders? And they got icons? They're so pretty that I don't even feel like I should put my dirty hands on it. - -And I surely did not. - -These well-organized brilliant-looking notes never actually helped me learn anything. Well, maybe a little, but all the good learning happened while I'm doing actual work, not taking pretty notes. - -I'm sure I'm not alone here. Lots of us get lost in the sea of knowledge, trying to build a better boat or a ship when we don't even have to be on the water. But how did we get here? - -## The source of all evils: *Schools* - -In school, apart from test results, teachers evaluate students' academic performance merely by looking at their notes, *at least here in China*. I remember in my middle school and high school, if a kid's book is almost illegible because they have written useless words all over the page, they are considered as a diligent child. Otherwise, they're lazy, rebellious, and mischievous. - -And guess what, we all try to write as much crap as possible. But we never even think to review it. - -The teachers just love comparing students. If a student's notebook is clean and untouched, they're bad and should be given a lecture. When the lecture is done, the teacher finds another one and says: *Oh, yours is all filled with ink? How dare you be proud of yourself? Look at that guy. He's got pretty highlights and beautiful callipgraphy. Try to be more organized, you disgusting.* - -Then the teacher turns around, looking at that guy he just gave compliments to. *And don't feel so good about yourself already. Look at your book. It's too tidy! It's obvious that you never opened it! Spend less time trying to be pretty, you sissy!* - -Just like that, **taking notes becomes a game, which confusingly has no rules but is somehow very important to your performance.** - -However, taking notes is not always like this. I believe written languages are created for humans' desire to remember things and master skills. We invented speaking to communicate and writing to log things. When goals are clear, we know what to write and what not to write. Nobody has ever struggled to find the perfect note-taking method. - -Schools messed us up with meaningless chicken fights and made us all believed that note-taking is a really big deal, but it's not. It's not only schools, maybe also workplaces with stupid rules that forces you to write reports and summaries and stuff. And they blame you for not doing any good work. - -I think we all need to stop for a second to think about why we take notes. - -## Artist's Sketchbook - -I watched a YouTube video on writing mini essays to build a systematic framework of knowledge. The YouTuber describes it as the best note-taking method and learning method of all time. And one comment reads: - -> Oh, this is just like a sketchbook for an artist. - -Inspiring! A notebook is just like a sketchbook. You sketch to capture new ideas, but the real paintings happen on a canvas. We don't expect our sketch to be perfect, but we do know that we need to put extra effort to the real work. - -Sketch is fun, I believe. Yet if an artist spends too much time sketching, there is less time for them to do real work, which requires an insane amount of time and energy. - -Let's say there's an artist named Peter (I don't know why it's the first name that popped into my mind). Peter is learning to paint, and he thought he needed some time to practice and prepare for the real work, where all the magic happens. - -Sure, that seems fair. - -Peter carries his sketchbook everywhere, so he can sketch whenever he wants, and however long he wants. Peter's done some good sketching. He successfully captured all his clever ideas and feels good about showing others his sketches. And people liked it, telling Peter that he's really done some good work. - -But did he really? - -If we open Peter's sketchbook, we'll find that there's nothing but pencil-drawn lines, and some shades maybe, I'm no artist. Well, you definitely cannot put those in a gallery or an art show. - -In fact, **Peter is an artist who has done no work of art**. He only sketches, and maybe even writes essays on art and loves making smart comments on other artists' work. - -But the thing is that Peter has become so obsessed with sketches. He completely forgot that he needs to paint. - -And so did we, fellow note-takers. We can't just be note-taking. We need to actually create something. - -## Why we procrastinate real work by taking notes and sketching - -It's complicated how the human brain works. - -Maybe it's fear. Though we do wish to be the person we want to be, it's frightening to actually do that, because you might fail, and who are you if you fail to be you? The existential crisis deep in your subconscious mind stops you from the devastating possibility. - -Meanwhile, preparing for your work is a legitimate thing to do. It makes you feel like you're pursuing your dreams and goals, but that feeling is simply a mirage. The fact is that, after all this time you've spent on your pretty note vault, you've done no work to show off. - -## Take ugly notes - -Let's wrap this up. - -We're taught in schools that note-taking is significant and should be paid much attention to. When we need to do real work, we find ourselves at loss and overwhelmed, so we went back to do so-called significant and attention-worthy things, note-taking. However, we're just postponing the reality that we eventually need to face, that we have done no work related to our identity. - -It's worse than bad work. But it doesn't feel that way, because getting nothing done never leads to the horrifying possibility that your work means nothing to your audience and people say you should quit. It feels better to have no work to show, because people will say you are still learning when they see your pretty notes, and they might even compliment your novel ideas. - -The fact is that no successful people need to show off their notes or feel like they need to tell people how hard they've worked for what they have today. They feel satisfied just by showing off their work. - -You don't need to prove it to people by taking pretty notes when you already have excellent work that enhances your identity. - -My point is: Take ugly notes. Waste no time on preparation. Start doing real work immediately after you've been prepared. Your preparation doesn't need to look nice. They just need to be helpful. I believe ugly notes that is only comprehensible to yourself are the most time-efficient and meaningful. - -It doesn't mean that the uglier your notes look, the prettier your work will be. It means that ugly notes are sufficient for creating pretty work. Doing more than ugly only consumes your energy and feeds your ego when you obviously have no good reasons for that. - -If you've done work and it looks *shitty*. It's not because you haven't done enough preparation. It just means you need to work on your skills. You do that by taking ugly notes on what you did right and what you did wrong, and then try to do pretty work and avoid failure again. To this point, that failure is not really a failure. - diff --git a/content/en/posts/talking-to-myself.md b/content/en/posts/talking-to-myself.md deleted file mode 100644 index c5065908..00000000 --- a/content/en/posts/talking-to-myself.md +++ /dev/null @@ -1,31 +0,0 @@ -+++ -title = "I like talking to myself (with Git and GitHub)" -date = 2025-12-16 20:31:00 -draft = false -toc = true -+++ -I am an introvert. I like talking to myself. I talk to myself in spoken language when I get comfortable in a place where nobody's around. Recently, I find myself talking to myself in written words with Git and GitHub, which could actually be helpful in an engineering perspective, not just emotionally. - -It's established that following a commit message specification, like [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), is necessary for collaboration. Clear commit messages help collaborators understand the changes you've made, and how those changes can affect them. But... What if you're doing something solo? For instance, you're working on a side project that you know is going to be small, and you don't expect anyone to help you expand it. Toy code does not need that specification, right? - -Well, nope, at least not for me. - -Writing commit messages is not a responsibility thrust upon you. It's a delight. More precisely, any documentation should be fun for developers. You don't do it for the sake of users or other developers. You do it because it feels right. - -I like having my thoughts straightened by writing. Language is a structural presentation of human ideas, which start out chaotic with countless loose ends, but then slowly fit into place when you're trying to articulate them. The ancient Greek word "λόγος" can both mean logic and words. It's inspiring if you think about it: any logical flaw is easy to identify when you're putting things into words. Either spoken or written, you're making things clear, and clear is good. - -We want our work to be clearly described so others can understand, but we also do that to make ourselves understand, in the present and after weeks or months. - -When I'm working on a side project, I keep a decent git history, with atomic commits, straightforward messages, and a lot of branches. I also create Pull Requests rather than direct `git merge` or `git rebase`, even though the code is reviewed by me and only me. I write issues that nobody reads, just to keep track of a bug I was trying to fix. I comment my PRs and issues with fact checks and progress updates. I add notes about installing dependencies and starting a dev server in `README.md`, stored in a private repository. Basically, I report to myself. - -How is doing extra work a delight? - -1. I use words and logic to keep a clear head. -2. I like things well organized. -3. I feel safe when there's no line of code I don't understand. -4. It feels like I'm presenting my work to the world officially. -5. The future me will be happy when he's trying to get my ancient code working. - -Rob Pike says "Documentation is for users". I'd like to say it's also for the writers themselves. It's an intellectual leisure, a workout for the mind, and an honestly earned break from all the hard work of coding. - -While LLMs are spitting out craps faster than ever, we engineers should really focus more on documentation. Vibe coding is fast but meaningful words written by humans are more powerful. Documentation is for communication. That communication really is the core of software engineering, including communicating with yourself. diff --git a/content/en/posts/the-art-of-adequate-friction.md b/content/en/posts/the-art-of-adequate-friction.md deleted file mode 100644 index cd6c227b..00000000 --- a/content/en/posts/the-art-of-adequate-friction.md +++ /dev/null @@ -1,55 +0,0 @@ -+++ -title = "The Art of Adequate Friction" -date = 2025-03-29 11:54:02 -draft = false -toc = true -+++ -Recently, I've been making changes to my daily workflow and introducing pens and paper to manage my schedules. - -It does feel stupid at first. I miss the convenience of having an input where I get to just type things into anywhere. But, surprisingly, I found myself doing a lot more without a friendly interface, thanks to the inconvenience of writing stuff down on paper. - - - -## The Pros and Cons of App Solutions - -Despite my preference for books and pens, applications do outweigh paper in many aspects, which are reasons why I was stuck with calendar apps and note-taking apps like Notion, Obsidian and Logseq for quite a long time. - -1. Pen might be mightier but keyboards are **faster**. Typing something into your device is definitely quicker and more convinient. (Plus, you get to enjoy the soothing keyboard sound XD) -2. You can easily **automate** stuff on a device. -3. App solutions are way more **portable**. If you already got your smartphone with you, carrying an extra notebook can be a real nuisance. - -For instance, if you need to keep track of every dollar you've spent, an app or an Excel sheet is way more convenient than hand-writing every entry on a notebook. Some apps have gone so far that you don't even have to type the numbers yourself. - -But speed, automation and portability comes with a price that many have overlooked, **the cost of your attention**. - -1. **You may lose track of what you have done when an action happens too fast.** - If speed is what you pursue and you grow accustomed to get things done as quickly as possible, it might become more difficult for you to get into the Flow and enjoy deep work. -2. **Information may lose meanings if it's processed automatically.** - I used to keep track of my expenses in an Excel sheet, recording how much I spent and what I spent it on. The software automatically calculated the total and average, helping me see how I was doing with my monthly budget. But over time, I stopped paying attention to the results—I would just input the numbers without even looking at them. When I don’t have to do the math myself, I tend to get lazy and unaware of the situation. -3. **One device with multiple purposes confuses your brain.** - When you need to check your schedule or to-do list in one of your apps, you might get lost in your home screen and get interrupted by a push notification, because there are simply too much information presented to you at the same time. - -## What Inconvenience Means - -Digital notes, sheets and calendars are, without doubt, the most convenient way to manage knowledge, schedules and tasks. However, the right amount of inconvenience can be a real game changer. - -Inconvenience means that you have to do a lot of work by yourself. The benifits of that are: - -1. You are highly aware of what you're doing in the moment. -2. You’ll have a clearer memory of what you’ve done and what you plan to do, because you’ve written it by hand. -3. [Certain psychology studies](https://cpb-us-w2.wpmucdn.com/sites.udel.edu/dist/6/132/files/2010/11/Psychological-Science-2014-Mueller-0956797614524581-1u0h0yu.pdf) have shown that longhand note-taking improves understanding and retention of concepts, as it forces you to process and reframe information. - -Technology frees human beings from doing dirty work, but sometimes it’s precisely the dirty work that’s at the heart of meaningful progress. - -## Choosing Inconvenience for the Right Scenario - -Paper and pens do have their limitations: They're just not fast enough. - -Imagine your friend invites you to hang out just as you’re about to leave, standing on the street. It’s definitely not the best time to pull out a notebook, but if you don’t jot it down, you might forget the appointment. - -This kind of inconvenience sucks. Having to pull out a notebook and flip through pages to find the right one? No, thanks. It certainly does not help me understand the appointment better. - -The key is to use tools for what they're best at. Pens and paper excel at raising self-awareness and forcing you to engage with the information more deeply, while digital devices are perfect for quickly capturing information and keeping it easily accessible, right in your pocket. - -All in all, use pens for planning and taking notes, but rely on devices for quickly capturing information and managing your inbox. - -- cgit v1.2.3