明琪琪可爱用什么?
本页面参考自Wiwi/use,列举自己当前爱用什么东西。
我的软件使用原则是,在可行的情况下,优先使用自由软件和开放格式,对于无法主要使用自由软件的项目,也会尽力寻找替代方案。
写在前面
本页面参考自Wiwi/use,列举自己当前爱用什么东西。
电脑软件
我的软件使用原则是,在可行的情况下,优先使用自由软件和开放格式,对于无法主要使用自由软件的项目,也会尽力寻找替代方案。
操作系统
现在我基本都在用 GNU/Linux ,不像大多数人所认为的那样,Linux其实比想象中的要好用,只需要学习基本的终端用法,会重装操作系统就能用起来。
遇到问题的话可以看ArchLinux Wiki,虽然是Arch Linux的Wiki,但这玩意已经算是Linux的百科全书了。
关于生态问题,其实现在大部分市面上绝大多数的功能在Linux上都有自由软件替代品,因此没必要纠结于能不能在Linux上跑Adobe之类的Windows商业软件,而且个人看来这些玩意本来就不怎么好用,又特别占空间。当然部分windows才有的游戏,目前已经有很好的兼容层 Wine 可以运行了。
或者直接用Steam游戏,Steam自带的Pronton已经能让80%的Windows游戏在Linux上优雅地运行了。
不习惯Linux的新手建议选择主流发行版,像Linux Mint、Manjaro、Ubuntu这类会更有信心。
GNU/Guix - 目前正在用的主力GNU/Linux发行版,像Nix那样可以用一个配置文件声明式构建操作系统,但是Guix可复现性和声明性更强,而且GNU的向下兼容也是出了名的好,很少需要担心GNU项目会引入大量破坏性更新。当然,强烈不建议新手使用这个发行版。
Gentoo - 用过几个月,有类似Arch Linux的滚动更新特性的发行版,所有软件包都在本机上编译,更新策略比较保守所以破坏性更新少。
Arch Linux - 旧爱,一个滚动式更新发行版,同样不推荐新手使用。
网页浏览器
网页浏览器倒是没什么特别挑剔的,一直都在用的Firefox系浏览器,现在只是换成了更注重隐私的LibreWolf。
当然,基于理查德斯托曼所写的JavaScript 的陷阱,我觉得之后也有比较考虑换成更方便审查JavaScript脚本的浏览器。
LibreWolf 注重隐私的Firefox分支版本,仅移除了Firefox的监控和遥测特性,是兼顾隐私和网页兼容性的选择。
桌面环境
目前用的桌面环境,是自己搭配和定制的一套桌面环境系统,以前是用的基于X的Xfce,现在换成了基于Wayland的桌面环境。
以前还是用的传统的鼠标叠瓦式桌面,现在特别喜欢滚动式和平铺式的桌面,因为能更鼓励你专注于当前工作流,习惯了基于键盘操作的工作流后,切换窗口也非常方便快捷,更容易进入心流状态。
终端工具
Foot - 目前用的终端模拟器。
Fish - 强烈推荐,即装即用,补全超舒服的终端交互语言。
FFmpeg - 偶尔用用,万能的音视频媒体转换器。
Ripgrep - 高性能的全文搜索,我一般配合Emacs的插件,非常方便搜索。
Aider - 基于终端的AI结对编程工具,主要配合Emacs使用。
NNW - 个人开发的基于标签的终端笔记管理软件,只有很基本的输入输出功能,主要配合Emacs前端管理笔记,做成终端程序是为了方便兼容多前端。
isync/mbsync - 电子邮箱同步工具,将远端电子邮箱自动同步到本地的小工具。
mu - 电子邮箱索引工具,配合mu4e可以很方便地用Emacs收发电子邮件。
sdcv - 纯终端词典查询工具,一般配合emacs快速查词,因为我希望尽可能查询外语词典来学习外语,尽可能减少对翻译的依赖。
git - 众所周知的软件版本管理工具,程序必需品!
Gnupg - 简称GPG,是GNU的加密、签名、验证、认证、和密钥管理分发工具,既于生成并分发自己的密钥,方便他人验证软件和git提交者的身份,也可以用公钥加密文件给你发私密信息,还可以用于ssh的密钥验证。
OpenSSH - 不多说了,维护服务器都会用。
rsync - 用于将文件传到服务器上的首选工具。
GNU/Emacs相关
目前为止,可以说我的绝大多数文本工作流都在GNU/Emacs上,Emacs毫无疑问是目前最灵活的编辑器,任何关于文本的工作只需要Emacs就能高效取代。
顺带一提,因为Emacs一切皆缓冲区的灵活性,使得它不仅是一个文本编辑器,更像是一个万能的Linux控制前端,几乎绝大多数依靠管道传递的Linux终端程序,都能在Emacs这个前端做更好用和快捷的包装。
如果想学习如何使用Emacs,可以看国内Emacs社区的教程《21天学会Emacs》。
Emacs-Pgtk - 世界上最好用的文本编辑器兼程序开发环境!Pgtk是纯GTK版本的Emacs,没有引入对X的依赖,在Wayland环境下兼容性更好。
OrgMode - 常用的标记语言兼文本编辑模式,可以说我的文本和笔记工作流最关键的一部分全靠它。
Projectile - 方便的Emacs项目管理器,取代默认的项目管理器。 +其实我基本也就用它的快速打开项目的功能。+
Ellama - Emacs超好用的AI前端,可以灵活定制各种AI。
nnw4e - 个人开发的nnw兼容Emacs的工具
mu4e - Emacs的电子邮件收发前端。
dirvish - 好用的Emacs文件管理工具。
geiser - Emacs做Scheme开发基本只能用它做IDE了,Lisp语言必须运行Repl才能实时获取补全和调试运行,一般用来写Guile程序。
sly - Slime的一个分支,CommonLisp的IDE工具,用来写Trial游戏和CommonLisp程序的。
Racket Mode - Racket编程首选,虽然Racket我目前也就用来写写幻灯片。
Rustic - 集成了多个工具的Rust IDE。
Ement - Emacs的Matrix前端,虽然有很多bug,使用体验很差,不过勉强是可以用的。只是不能看到图片,得换客户端看。
Elfeed - Emacs的RSS阅读器,配合elfeed-protocol插件可以做miniflux的客户端。
视频媒体
通讯软件
这里只列出前面Emacs没提到的通讯工具。
Fluffychat - 安卓端体验最好的Matrix客户端,适配多平台,不过同样笨重,而且Wayland上兼容有问题。
Element - Matrix官方推荐客户端,但是这是Electron程序,问题太多了,还是考虑迁移到Ement比较好。
办公软件
LibreOffice - 虽然Emacs的OrgMode已经能胜任绝大多数工作了,但因为跑团一般用xls车角色卡的缘故,所以才装了这个。
密码管理器
KeepassXC - 离线使用,利用Syncthing来同步密码库到不同设备上。
图片制作
Krita - 最好用的绘画自由软件,我的所有插画作品都是用它完成。
GIMP - GNU项目的图片编辑器,现在基本没怎么用。
Inkscape - 矢量图编辑器,我一般用于制作logo和人造语言的字体。
Pixelorama - 基于Godot开发,自由像素画软件的常用选择。
Aseprite - 专有像素画软件,曾经是自由软件,后来商业化之后分支出了自由分支LibreSprite。
字体制作
Fontforge - 字体制作工具,但因为在Wayland上兼容非常差,差到几乎没法用,所以我一般只用来做导出器,将Inkscape制作的SVG格式字体导出为其它格式的字体。
图片整理
digikam - 能将标签写入图片元数据,并基于标签分类的的图片管理工具,说实话我一直都觉得这玩意远程访问就不太好用了,主要是我目前的图片库都搬到了NAS上,而因为远程访问总是要等很久的加载,效率也很低。但是又找不到更好的基于web方便NAS前端管理的替代品。
电子书
Calibre - 几乎是Linux电子书管理器的唯一选择了,虽然远程目录同样很难用,但也只能用着。
音乐制作
LMMS - Linux上最容易上手的数字音乐工作站(DAW)
Reaper - 以前用过,不过后来没用了。
编程语言
目前编程语言我主要用Lisp系编程语言,Lisp系编程语言都是非常灵活,代码即数据,且具有强函数式特性的编程语言。
Guile - GNU首选系统脚本语言,目前的主力编程语言,大部分软件都会优先用Guile编程。
Common Lisp - 次主力编程语言,目前为止最灵活的Lisp语言,一般用来做游戏开发。
Racket - 图形和元语言方面功能最强的Scheme编程语言。
S7 Scheme - 以前用来做游戏内嵌脚本语言的语言,不过后来干脆考虑Guile和Common Lisp的方案了。
Clojure/ClojureScript - 暂时没学过,Java和JavaScript的Lisp替代品。
Fennel - 暂时没学过,Lua的Lisp替代品。
Chicken Scheme - 暂时没学过,可以编译成C语言的Scheme。
Emacs Lisp - 写Emacs配置和插件必学的DSL(领域专用语言)。
Rust - 以前为了做Lisp解释器学的编程语言,是我会的唯一一门比较熟练的静态语言。
Gdscript - 以前用Godot做游戏的时候学的编程语言。
Shell - 服务器运维基本必学。
Python - 以前常用的脚本语言,现在很少用了,脚本语言优先考虑Guile。
Lua - 以前玩MC写OpenComputer的脚本的时候用过。
C - 其实不是特别擅长,但之前写NekoLisp项目的时候学过一点点C的语法。
Java - 以前做Minecraft的Mod的时候学的,会一点点Java的开发语法。
Html/CSS - 仅做网页的时候会用到。
游戏开发
目前我的游戏开发主要用CommonLisp和Trial引擎开发,不过我这里也会推荐一些我用过和考虑过的游戏引擎。
Trial - 当前的首选模块化游戏引擎,基于CommonLisp这门非常灵活的Lisp语言。
Bevy - 之前尝试过,一个用Rust写的纯ECS架构的模块化游戏引擎,是值得期待的新兴引擎。
Chickadee - 基于Guile开发的游戏引擎,还处于非常早期的阶段,但因为其使用的协议是GPLv3协议的缘故,比较劝退商业用途的游戏开发者。
Godot Engine - 对标Unity的选择,大多数游戏开发者的常用选择,是自由游戏引擎里面最保守的选择。
Tiled - 目前的主力关卡编辑器,是关卡编辑器兼容性最广的选择。
LDTK - 死亡细胞系列工作室开发的关卡编辑器,有很多强力的特性和功能,是关卡编辑器现代化的选择。
Tilesetter - 瓦片图块生成器,用于降低绘制图块的工作量。
网站制作
防火墙
nftables - 新式防火墙底层,规则写法非常透明和人类化。
系统监控
AI
ollama - 在本地执行大语言模型。
Stable Diffusion - 以前会玩一下的AI绘图工作站,现在基本不用了。
游戏
Retro Arch - 全能游戏模拟器,可以下载很多老游戏的模拟器核心。
Wine - Windows兼容层,一般用来玩Windows平台特有的游戏。
Nwjs - RPG Maker MV/MZ系列游戏的打包器,其实MV/MZ系列的游戏本质上就是JavaScript程序,所以只需要NWJS的linux版替换掉原来的windows版就能玩了。
Steam/Proton - 最常用来玩游戏的平台,兼容windows游戏有时也会用到Steam的Proton。
服务器软件
本条目负责介绍个人的服务器类软件,包括部署在云端和NAS上的服务软件。
文件管理
FileBrowser - 简单的NAS文件管理后端,方便通过web管理NAS。
联邦宇宙
联邦宇宙相关的内容都部署在个人的VPS上。
Misskey - 目前正在用的超酷的Fediverse服务端,Fediverse服务端里面的集大成者,但是非常臃肿。
Tuwunel - 用Rust写的Matrix服务端,Conduit的分支,非常轻量级,适合小型Matrix服务器。
Synapse - Matrix官方的参考服务端实现,之前用的Matrix服务端,非常臃肿。
Docker Mailserver - Docker的电子邮箱服务器集成,用于域名邮箱的建设。
专辑管理
Navidrome - 部署在NAS上的私人音乐专辑管理系统,可以直接web播放音乐也可以用subsonic客户端播放音乐。
图书管理
Calibre Web - 将你的Calibre书库部署在Web端,并提供OPDS服务方便客户端下载书目。
RSS订阅
MiniFlux - RSS订阅代理,支持自动爬取网站原文等功能。
路由器
OpenWrt - 开放的路由器系统。
硬件信息
台式机
显卡:NVIDIA GeForce RTX 3090
CPU:AMD Ryzen 5 2600X
数位板
Wacom Intuos S
订阅服务
Claude.ai - 编程能力最强的高端大模型。
Venice.ai - 注重隐私的大模型提供商,有部署无审查的Dolphin模型venice-uncensored。
Linode - 按量计费的月租KVM主机。
Proton Mail - 电子邮箱的备用选择。
手机
操作系统
LineageOS - 剔除掉谷歌服务的纯净安卓操作系统。
应用商店
F-Droid - 自由软件的应用商店。
APP
Fcitx5 - 安卓版的Fcitx。
Shelter - 应用程序的运行环境隔离。
Flux News - Miniflux的客户端。
Fluffychat - 安卓最好用的Matrix客户端。
OpenCamera - 自由的照相机软件。
Koreader - Kindle风格的电子书阅读器。
LocalSend - 局域网文件传输工具。
Orgro - 安卓端的Org文件编辑器。
Aria For Misskey - Misskey的一个安卓客户端。
语言
自然语言
中文 - 我的母语。
英语 - 上学时期英语很差,没考过级,不过编程学着学着不知不觉就熟练了。
日语 - 依然在初学阶段。
人工语言
道本语 - 会一点皮毛。
香格里拉文 - 自创语言,还在创作中。
古代语言
文言文 - 略有了解。
古埃及文 - 以前学过一点点基础。