Welcome to Maeiee's Digital Garden! This site is my knowledge base, recording my personal insights.
Let me introduce myself. I'm Maeiee (previously known as Maxiee), and I am a programmer and a lifelong learner. For more details, see "《Maeiee的自我介绍》". I am active on Sina Weibo @Maeiee and welcome interaction~
How to browse this site? This site is a Digital Garden, like a big book, divided into many small books. The homepage is the directory of this big book, going deeper and deeper. Additionally, there are a lot of scattered pages. The 🌐 button on the pages, consider it an adventure to see what treasures you can find!
If you like this site, feel free to visit regularly. All pages on this site are continuously updated, and I believe there will be new gains each time. Also, feel free to follow my Weibo, and thank you for your support.
That's enough of an introduction, let's start the main content.
"《The Road to Growth》" is my daily record book. Through this article, you can understand my technical growth journey.
1 Crafting My Personal Systems
I focus on building my own systems that help me learn and work better. This includes using well-known software, tweaking open-source tools, and creating my own tools. I also share my methods and philosophies behind these tools.
1.1 Note Taking with Obsidian
As an avid note-taker, Obsidian serves as my primary tool for managing knowledge. It allows me to navigate the vast ocean of information, which is a source of great joy for me. This website is also created using the obsidian-digital-garden plugin, completing a full cycle from input to creation in my workflow.
1.2 Surfing on the Internet
1.2.1 qutebrowser
In an era of information overload, mastering information is crucial, and web browsers play a key role in this. Qutebrowser, developed in Python, has been a focal point of my in-depth research, enabling me to master the art of browser customization. This exploration has been incredibly engaging, leading to a series of developments:
- 《浏览器功能定制1:将网页内容保存为 Markdown》
- 《浏览器功能定制2:显示网页正文的阅读模式》
- 《浏览器功能定制3:使用 mitmproxy 增强浏览器的拦截能力》
- 《浏览器功能定制4:qutebrowser userscipts机制及自带readability》
- 《浏览器功能定制5:搜索引擎命令》
- 《Exploring Qutebrowser 6:send weibo with commands》
- 《Exploring Qutebrowser 7:Introducing Flutter Web in Qutebrowser》
1.3 Managing Personal Data on a NAS
1.3.1 HomeHub
In my quest to build effective personal systems, I've developed some key solutions focusing on advanced data management and home data simplification:
- 《Multi-Device Data Management:Secure Storage with MinIO and MongoDB on NAS》
- 《HomeHub SDK:Simplifying Home Data Management》
1.4 Ray-sreies Softwares
I've created a series of 'Ray-named' software applications, each tailored to enhance different parts of my personal system. These apps are cross-platformed, based on the HomeHub SDK.
These software programs are too specialized and cannot be open-sourced or sold as commercial products in the short term. Therefore, I will mainly share the thinking behind each tool. In the future, I hope to be able to sell them as commercial products once they are internally validated.
1.4.1 RayInfo
RayInfo is an information software based on HomeHub, for which a set of fixed protocols has been designed. Based on these protocols, it supports interfacing with various backend systems. For example, I have modified qutebrowser to make it an automated information collector. The backend is solely responsible for data collection, while RayInfo handles the unified browsing of information.
- RayInfo: RayInfo automates information collection from the internet and simplifies reading across devices with its custom algorithms and cross-platform frontend.
《Emacs》:坦白来说,我日常没有使用它(又一次失败了)。但我是 Emacs 脑残粉,等不忙了还会捡起来。它是一个与文本相关的应用平台,而文本是信息的实质承载形式。更不用说 Lisp 语言、Org Mode,计算机前辈思想哲学的宝藏。我使用 Doom Emacs,《Maeiee的Doom Emacs CheatSheet》记录了我的常用技巧。
《Maeiee的Workflow》记录了我在信息时代下的挣扎,纠结与思考。经过长年累月,积累下来的工作流。(有待于梳理,乱七八糟记了一堆,还没挣扎明白)
我是一名程序员,业务时间也自己写点软件。半途而废的就不提了,还在维持的列举如下:
《EmoTrack》:这是我目前正在开发中的一款开源 App,个人管理类,用于情绪管理。
应对信息过载
信息很重要。信息太多,造成信息过载。怎么办?
数码硬件
操作系统
编程
编程是我的本职工作,我热爱计算机技术。在这一章节中,我将介绍自己在这一领域的心得与收获。
编程语言
首先介绍我所掌握的编程语言。点击编程语言的名称,可进入相应的具体笔记。
《Python》:我首推编程语言。
- 太重要,万能编程语言
- AI 研究首选编程语言
- 我业余时间用的最多的语言
Dart
最初接触 Dart 语言主要因为它是 Flutter 开发所使用的语言。深入接触之后我开始喜欢这门语言,易用且强大,生态丰富。《Dart》 记录了我对这门语言的学习心得,更多围绕 Dart 的底层实现细节。
Racket
我对 Lisp 语言有很大的兴趣,Racket 是一个入门友好的方言。对于 Racket,我当作一门纯粹的编程语言进行学习,希望自己未来能熟练地用 Racket 刷 LeetCode。
编程框架
作为一个移动端开发工程师,我接触最多的是 GUI 框架,因此先从这类框架开始介绍。
《Flutter》
- 我目前从事 Flutter 开发工作
- 非常适合企业降本增效
- 开发跨端应用时,非常方便
- 如果我要开发一个GUI应用,我首先看 Flutter 是否满足
Qt/PySide/PyQt
都有 Flutter 了为啥还要提 Qt?在我看来,尽管 Qt 各种落后,但有一点,在桌面平台下,对浏览器的封装上面,是无敌的存在。
尽管受到移动 APP 的蚕食,浏览器依然是信息时代的重要承载,如果你能对浏览器编程,你就能对信息编程,这对个人来说,意义相当重大。
《qutebrowser》是一个键盘驱动的、Vim 风格的开源浏览器,使用 PySide/PyQt 开发而成,它既有学习使用的价值,也有二次开发的价值。
面试题
在工作经常需要面试他人,我积累了一个题库。
AI、机器学习、深度学习话题
2023 年堪称 AI 年,ChatGPT 的惊艳问世,引发了学术及工业界的极大兴趣。经过学习,我越发意识到 AI 是未来的必然趋势,因此也开始自学该领域。
《Maeiee的LLM笔记》:我被大语言模型深深吸引住了。但是这个领域很庞大、复杂,我以这篇笔记作为纲要,助我在遨游的过程中,不至于迷失方向。
操作系统
我从 2016 年开始,全职从事 Android 开发工作。令我感到羞愧的是,我对 Android 系统本身所知甚少。Android 系统是时代的产物,还是很有趣味的。这篇笔记中记录了我对该系统内部的研究。
个人管理
我对个人管理、项目管理等领域很感兴趣。很大一部分原因是我的学习方法,杂且散,注意力涣散。需要有工具记录进度,不然我就像掰棒子的黑匣子那样,顾此失彼。
我希望能开发一套个人管理系统,多年来尝努力了几次都以失败告终。都达不到我的高标准。我仍然没有放弃,我准备以更加持久的思考与耐心,来开发。关于这一主题,参见《RayPlan》
在自己的系统开发出来之前,我决定选择一款商业产品先满足日常需要。目前,我使用《ClickUp》进行个人管理,该工具提供免费计划,有一部分限制,不过足够个人使用。
另外,我也对 Emacs 的 Org Mode 感兴趣,由于它的学习曲线比较陡峭,所以我也不会投入日常使用,而是作为另一个版本的 RayPlan 进行开发。
资源收藏
互联网上有很多高价值的信息。我将看到的好内容进行收集、梳理,总结在《互联网资源收集》一文当中。
值得一提的是,网络上的优秀资源是无穷无尽的,要防止仓鼠综合征,收藏了多少仅是一个无关紧要的过程,学会了多少才是核心。认清这一点,能够减少很多无效努力,与焦虑。
深度学习
自学深度学习中。
兴趣主题
如果你想更加深入了解我的心路历程,《000.wiki/日记》记录了我在不同时间点的思考。我也提倡大家养成记日记的好习惯,让自己在岁月中留下痕迹。
工作感悟
工作与生活
-
Maeiee的2023:我 2023 年工作生活的碎碎念
-
Maeiee的工作感悟:从工作中获得的感悟
-
Maeiee的生活感悟:从生活中获得的感悟
-
Maeiee 的好物推荐:我的成功购物经验
-
Maeiee 的购物翻车:我的失败购物经验
-
2023-10-22:《原来我已经在“创业”了》
不成熟的《草稿》