惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
C
CXSECURITY Database RSS Feed - CXSecurity.com
Project Zero
Project Zero
O
OpenAI News
C
Cisco Blogs
Microsoft Azure Blog
Microsoft Azure Blog
Security Latest
Security Latest
T
Tor Project blog
S
SegmentFault 最新的问题
P
Privacy & Cybersecurity Law Blog
博客园 - 【当耐特】
V
Vulnerabilities – Threatpost
W
WeLiveSecurity
小众软件
小众软件
博客园 - 聂微东
Y
Y Combinator Blog
Spread Privacy
Spread Privacy
人人都是产品经理
人人都是产品经理
Know Your Adversary
Know Your Adversary
Scott Helme
Scott Helme
B
Blog RSS Feed
N
News | PayPal Newsroom
J
Java Code Geeks
T
The Blog of Author Tim Ferriss
TaoSecurity Blog
TaoSecurity Blog
D
Docker
阮一峰的网络日志
阮一峰的网络日志
NISL@THU
NISL@THU
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
L
LINUX DO - 最新话题
MongoDB | Blog
MongoDB | Blog
Recorded Future
Recorded Future
Webroot Blog
Webroot Blog
L
Lohrmann on Cybersecurity
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
Cloudbric
Cloudbric
罗磊的独立博客
宝玉的分享
宝玉的分享
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
News and Events Feed by Topic
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
L
LINUX DO - 热门话题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

Life - Category - This Cute World

KubeCon China 2025 Experience Summary of My 2021 The End of Another Semester
Why do I explore these niche technologies?
Ryan Yin · 2023-08-01 · via Life - Category - This Cute World

I have dabbled with many niche technologies, and this year, the main ones I explored are NixOS, window manager i3/hyprland, and Neovim. NixOS, in particular, took me to a whole new level - I even created an open-source bilingual booknixos-and-flakes-book to help beginners get started. Additionally, I worked on several NixOS-related open-source projects like nix-darwin-kickstarter and ryan4yin/nix-config, which all received positive feedback.

Based on my experiences with these niche technologies and the frequent questions I receive (e.g., why did I choose NixOS / Neovim /Flypy Chinese Input Method? What are their advantages? Can they really improve productivity?), I would like to briefly share my thoughts on them.

“Niche” refers to being different from the mainstream. Niche technologies are those with a relatively smaller user base within their respective domains.

According to this definition, I can list some niche technologies I have encountered in different fields:

DomainNiche TechnologiesMainstream Technologies
Text EditorsNeovim, EmacsVSCode, Pycharm, IDEA
Keyboard LayoutDvorakQWERTY
Linux DistrosNixOS, Gentoo, Arch LinuxUbuntu, Fedora
Window Managersi3, hyprlandKDE, GNOME

Most people tend to choose mainstream technologies in these fields due to their lower learning curve and ease of use. I was once part of the majority, but I gradually discovered the advantages of niche technologies, which led me to try and eventually transition to them.

Niche technologies obviously have some advantages to attract a portion of users and make them choose these technologies over mainstream ones.

Based on my personal experience with these niche technologies, they share some notable common characteristics.

Firstly, they have a common downside: higher learning curve and more time required to get familiar with them during the initial stages.

This filters out the majority of users, and only those who enjoy tinkering and embracing challenges will be willing to explore these niche technologies.

For instance, with the Dvorak keyboard layout, the learning curve is steep, requiring a significant amount of time to memorize the key arrangement and practice, leading to a challenging input experience in the early stages. To achieve the typing speed you had with the QWERTY keyboard layout, you might need to practice Dvorak for at least an hour a day consistently for a month.

Now, let’s discuss their common advantages:

  1. High customizability: Users can freely customize various functions according to their needs.
  2. Strong sense of control and excellent user experience: The high level of customization gives users a sense of complete control while using these technologies, resulting in an excellent user experience.
  3. High user retention and active communities: Users continuously explore, learn, and customize these technologies, creating a strong sense of belonging within the communities.

Due to these reasons, once users successfully familiarize themselves with a niche technology (e.g., dvorak keyboard layout, Neovim/Emacs editors), it becomes challenging for them to revert to the previous mainstream solutions. They will find the previous solutions less convenient and enjoyable.

I have explored various niche technologies, and curiosity is the primary reason. However, what makes me stick with them is their excellent user experience.

For instance, with Neovim editor and Hyprland window manager, once configured, they are aesthetically pleasing! Moreover, Neovim is exceptionally fast, even too fast! This speed may not impress those VSCode / IDEA users who haven’t experienced Neovim before, but once you get used to it, you’ll find the speed truly impressive, just like the character Tu Hengyu exclaims in the The Wandering Earth 2 (550W is too fast! This speed is too fast!).

Additionally, after mastering these technologies, I find them enjoyable to use. The keyboard-driven interaction provides a sense of control and smoothness(elegant, so elegant!).

My NixOS + Hyprland Desktop

My Neovim Editor

Similarly, my love for NixOS is based on similar reasons. NixOS with its declarative, reproducible (consistent runtime environment), OS as Code features aligns perfectly with what an Site Reliablility Engineer like me desires. I couldn’t wait to use it and even wanted to improve it promptly to make it suitable for more scenarios.

A few days ago, I saw a comment from a foreign netizen on 4chan (although the language was a bit extreme, I still somewhat agreed…): Completely and utterly unacceptable. Imagine having a tool that can’t even properly undo an operation and then relying on it to manage an operating system. apt, pip, pm, rpm, pacman, whatever are all a mad fucking joke.

Many people claim that niche tools like Neovim editor, i3 window manager, can boost productivity, but I believe it is a misconception. In fact, many of these tools or technologies can be time-consuming distractions, driven by one’s interests to continuously explore their boundaries and adjust configurations to better suit individual needs. During the initial phase, the time invested in these endeavors often outweighs the saved time from increased productivity.

So, ultimately, trying to use these technologies to significantly boost productivity is not realistic. They can improve your efficiency, but to a limited extent, unless your typing speed is the limiting factor in your productivity, emmm…

Or some may argue that once you become completely proficient, vim/emacs makes it easier to enter a state of flow? That is also difficult to say.

If we look at it from a purely pragmatic perspective, there may not be many benefits; it’s like playing games, just spending leisure time.

Why do you always delve into these things that are useless for the business? (teasing tone)

However, compared to doing something boring for leisure, there are some useful takeaways. For instance, when I encounter a bug in AstroNvim , I provide a PR to the upstream repository. When I find that NixOS documentation is inadequate, I write my own documentation and share it. If I notice that NixOS lacks support for a SBC I have, I might try to port it. And if I find that a certain tool lacks a feature I want, I might just write one myself.

The experiences gained, open-source projects created, PRs left in upstream repositories, and the appreciation received in the community all feel valuable. It may not necessarily have business value, but it’s fun, and you get to make friends, help others, and leave your mark in the open-source community - isn’t that interesting?

Linus, when he first created Linux, did itjust for fun.

You can’t connect the dots looking forward; you can only connect them looking backward. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.

Stay Hungry. Stay Foolish.

——You’ve got to find what you love, by Steve Jobs, CEO of Apple Computer