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

推荐订阅源

V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Latest news
Latest news
T
The Exploit Database - CXSecurity.com
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
L
Lohrmann on Cybersecurity
aimingoo的专栏
aimingoo的专栏
B
Blog
T
Threat Research - Cisco Blogs
罗磊的独立博客
Application and Cybersecurity Blog
Application and Cybersecurity Blog
P
Proofpoint News Feed
P
Palo Alto Networks Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
宝玉的分享
宝玉的分享
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
T
Tor Project blog
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
Recorded Future
Recorded Future
D
DataBreaches.Net
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
B
Blog RSS Feed
Scott Helme
Scott Helme
P
Proofpoint News Feed
V
Vulnerabilities – Threatpost
A
Arctic Wolf
Help Net Security
Help Net Security
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Vercel News
Vercel News
AWS News Blog
AWS News Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Schneier on Security
Hacker News: Ask HN
Hacker News: Ask HN
N
Netflix TechBlog - Medium
L
LangChain Blog
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
M
MIT News - Artificial intelligence
N
News and Events Feed by Topic
Webroot Blog
Webroot Blog
W
WeLiveSecurity

Neovim - Tag - This Cute World

暂无文章

Why do I explore these niche technologies?
Ryan Yin · 2023-08-01 · via Neovim - Tag - 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