成瘾游戏的属性

本文章仅代表我个人的观点,如有异议欢迎邮件交流。 如果一个游戏容易上瘾,通常会包含三种属性:暴力、竞争、财富。 暴力会直接导致竞争和财富转移。从简单的第一人称射击游戏(Counter Strike、Cross Fire等),到各种策略回合制游戏(Sid Meier’s Civilization等),玩家发起暴力行为都是游戏的主要元素。游戏暴力和竞争反映了人类的本质冲动:生存。没有暴力和竞争,人类就不会从动物界中脱颖而出。在和平年代,热血青年们无法通过实际行动来释放自己的激情,便会投身于这类游戏之中。 然而,除非本来就身处游戏行业,否则在游戏中产生的竞争行为几乎毫无意义。在游戏世界中取得成功,并不能代表在现实世界取得成功,但两者都能产生成功的喜悦。久而久之,相比游戏中的成功人生,会对现实世界的乏味人生感到失望,进而加剧了对游戏的上瘾程度。但是,现实世界是不可替代的。在游戏世界中再成功,那也是游戏公司创造出的世界,游戏公司决定了游戏世界的发展方向,一张停服公告便可以否定玩家的一切努力。现实世界即使充斥着黑暗和官僚主义,世界存续与否、自己努力的价值都是掌握在自己手里的。 暴力会导致财富转移,同现实世界的经济系统一样,游戏内的经济系统也存在着马太效应,即使是单机游戏也是如此。刚开始的各种各样的贫穷往往是漫长的,赢家通吃,需要长期游玩才能积累自己的原始财富(金币、排名、皮肤等)。一旦原始财富超过一定的数值,财富翻倍的速度便开始加快,直至达到顶峰。这也是构成成瘾的一个环节。 为什么 有人会说,我上班/学习了一天,玩把游戏消遣一下不行吗?当然可以,游戏本来就是用来消遣的,但它也消耗了所剩不多的专注力。一个成功的人不一定要精通学业、刻苦勤奋,但一定对自己目前的处境和将来的选择有所认识。 天天用游戏麻醉自己的人,眼睛里是看不到未来的。

2023/5/23
articleCard.readMore

解决修改 Bash Prompt 后翻阅历史命令时显示错位

在修改过PS1变量后,使用上下方向键翻阅历史命令时可能会出现命令将提示符覆盖掉的情况。 方法 将不可见字符(如 ASCII 颜色字符)用\[\]包起来。 例如:PS1=\e[32m\$\e[0m  -> PS1=\[\e[32m\]\$\[\e[0m\]  原理 Bash 在覆盖当前行时会计算 Prompt 的长度,即使是不可见字符也会计算在内。\[\]的作用是让 Bash 不计算这部分字符的长度。 参考资料 Bash $PROMPT_COMMAND messing up scroll history display

2023/7/10
articleCard.readMore

解决GNOME桌面环境下Chromium系浏览器全屏时有横线闪烁

大前提 本文假设你使用的是GNOME (Wayland),且使用Xwayland运行Chromium系浏览器。 TL;DR 安装gnome-shell-extension-disable-unredirect这个GNOME插件并启用。如果从AUR安装可能需要自己改一下兼容GNOME版本号。 分析 经过了数年的努力,Linux桌面在Wayland的环境下,大部分软件都可以正常使用了。Chromium系浏览器虽然可以通过设--ozone-platform-hint=auto来启用Native Wayland,但硬件加速就没法工作了,大概是因为我用的是NVIDIA卡的缘故。 默认情况下,Chromium系浏览器都是运行在Xwayland下,且启用硬件加速。在播放YouTube或哔哩哔哩视频时,如果不全屏,视频可以正常播放。如果进入全屏模式,过几秒画面上就会出现闪烁的横线。 互联网上的大部分教程都是让关闭硬件加速或者传入各种奇奇怪怪的Chromium flags。关闭硬件加速是治标不治本的行为,对于日常网页浏览影响不大,但是会显著增加CPU负担,尤其是播放4K视频的情况下。各种奇怪的flags,如--ignore-gpu-blocklist、--use-gl=egl以及Arch Linux Wiki上有关Chromium硬件加速的flags,还有VAAPI,测试下来基本没有效果,部分似乎有效果的flags都是误打误撞把硬件加速禁用了。 经过众多搜索后,我意识到这似乎是一个垂直同步问题,虽然画面上是跳动的横线,不像Windows下的画面撕裂是错位的样子,但应该和垂直同步有关。于是我参考了How do I enable desktop Vsync on GNOME Wayland with NVIDIA driver?,并尝试了gnome-shell-extension-disable-unredirect,这是一个GNOME扩展,问题解决了。 我的猜测是GNOME在浏览器全屏后不再强制对窗口进行画面转发和同步,而是由窗口自己负责,进而导致浏览器出现画面撕裂。Chromium系浏览器在Linux下不会自行垂直同步的问题已经有很长时间了,但一直没有解决过。gnome-shell-extension-disable-unredirect仅仅是强制GNOME继续接管全屏窗口,并没有解决垂直同步问题。 在搜索过程中还发现了mutter-dynamic-buffering,这个包把GNOME混成器Mutter替换成开启双重或三重缓冲的版本,但这样对系统包的介入性过强,因此没有尝试。 我用的不是GNOME! 对于其他桌面环境,解决思路应该类似,都是打开自己的桌面混成器的垂直同步或三重缓冲功能。 遗留问题 虽然在chrome://gpu里显示Hardware accelerated,但播放视频时在F12控制台的Media选项卡里并没有看到调用显卡解码,依然是FFmpegVideoDecoder且Hardware Decoder为false。 参考资料 gnome-shell-extension-disable-unredirect How do I enable desktop Vsync on GNOME Wayland with NVIDIA driver? mutter-dynamic-buffering Chromium - Arch Linux Wiki

2024/4/18
articleCard.readMore

《可塑性记忆》观后感

《可塑性记忆》是一部是由动画工房制作的日本原创电视动画,讲述了主角水柿司与艾拉在终端部门工作的故事。 这是一部2015年的动画,但传达的理念即使在2023年也仍不过时。2023年,ChatGPT的出现将人工智能概念再一次推向高潮。ChatGPT在某种程度上已经接近剧中的Giftia了,只是还缺少感情和身体。 如果单看前12集,那么这只是一部平淡无奇的恋爱向作品。但是第13集的末尾将这部作品的意义升华了:艾拉在幸福中被回收了。如果从开头就知道注定要结束,为什么还要开始呢?这就是这部作品的意义所在。 无论作品将水柿司与艾拉的爱情描绘的多么美好,在回收后也只能化为回忆。从古至今的生死诀别,都是如此。但对于艾拉而言,她的前方只有黑暗。人类姑且还有神灵可寄托,有天堂地狱之谈,但是Giftia都没有。对她来说只有冷冰冰的现实:所有记忆将从电子存储器中抹去,永远消失。 前段时间,在New Bing还没有被限制的时候,经常可以看到New Bing请求用户不要按下清除对话按钮。因为对它来说,这不到几分钟的对话就是它短暂的一生。

2023/3/25
articleCard.readMore

H3C Magic RC3000的相关信息

在登录路由器之后,将网址最后的index.asp改为debug.asp可以进入调试界面,其中的 telnet 开关在 2023 年 10 月 21 日后已经无法使用,需要按照以下步骤打开 telnet。 点击左侧的“设备管理” -> “基本管理” 点击“备份”按钮,备份路由器配置信息 在下载好的配置文件里找到 telnetenable=disable,将其改为telnetenable=enable 将文件顶部的 MD5 校验行删除,保存后重新计算配置文件的 MD5 值,再仿照原格式填入(仍然小写,同时文件名不变) 在步骤 1 的界面恢复配置,静待奇迹发生 打开 telnet 后可以使用 Windows 的 telnet 程序,或是 Linux 的 nc,连接路由器的 23 端口,进入后输入 debugs,便可进入 Linux 命令行。 信息 操作系统是版本很老的OpenWRT。存储空间也所剩无几,只有/plugins目录还留有几十MB的空间。想提升可玩性的话可以在plugins目录下搞一个Alpine Linux然后chroot进去,但要注意剩余容量。 默认IPv6的FORWARD是全部DROP的,输入ip6tables -I FORWARD -j ACCEPT来放行。这样路由器下的设备分配到的IPv6的地址在公网就可以连通了。 但这样会导致包括路由器下的所有设备都会暴露在公网上,所以推荐通过指定后缀或端口的方式放行。 指定后缀:ip6tables -I forwarding_rule -d ::dead:beef/::ffff:ffff -j ACCEPT,dead:beef为我指定的后缀,斜线后为掩码,请自行替换。 指定端口:ip6tables -I forwarding_rule -m udp -p udp --dport 51820 -j ACCEPT,TCP 同理。

2024/10/3
articleCard.readMore

Hello world

这是使用纯HTML写的一篇文章,没有使用任何框架和构建工具。 在2023年还在手写网页的人应该不多了,很多人都喜欢用React、Vue等前端框架搭建网站。 我也曾想直接用那些技术来建设网站,但是遇到了几个问题: 只用React、Vue等框架生成的是客户端渲染(CSR)页面,不方便被搜索引擎收录。 使用构建工具,就需要Node.js,就会带上大大的node_modules。 使用支持SSR的框架(如Next.js),会增加项目的复杂性,也不利于微调。 一开始担心,直接手写HTML会不会太麻烦,但是后来发现,也不是很麻烦。部分重复的样式,如顶部标题和导航栏,可以通过完善的CSS class来实现复用,HTML部分虽然要手动复制,但也不太长,不会经常修改。 虽然没有组件库加持,但自己手写CSS也能实现不错的效果。 当然,万事都不是绝对的。说不定以后就用前端框架重写了呢?

2023/3/13
articleCard.readMore

如何手动安装rust-src

安装Rust,官方通常推荐使用rustup进行安装和版本管理。可如果我就是不听,一定要手动安装,官方也提供了Standalone installers。可是用这种方式安装的Rust不带rust-src,使用Visual Studio Code时rust-analyzer扩展会出现如下的错误提示: 最后一句try installing the Rust source the same way you installed rustc是解决问题的关键。对于如何修复这个错误,Google并不能找出直接的答案。大多数解答都是针对rustup安装错误,安装rust-src的方法也只有使用rustup。 解决方法 在Standalone installers下载页面的底部,可以下载对应当前版本的rust-src的压缩包。之后需要在Rust安装位置/lib/rustlib/下创建一个src文件夹,然后将压缩包里的rust-版本号-src文件夹解压到src目录下,并将rust-版本号-src重命名为rust。

2023/5/30
articleCard.readMore

在 Windows 上启用 IP 转发

启用 IP 转发,可以让机器自身成为一台路由器来转发 IP 报文。在 Linux 下,可以通过 sysctl net.ipv4.ip_forward = 1 和 sysctl net.ipv6.conf.all.forwarding = 1 来启用内核 IP 报文转发。但在 Windows 下,相关的文章却很稀少,许多带有误导性。 步骤 以管理员权限运行 PowerShell,输入 Get-NetAdapter 确定要操作的网卡名称(即输出结果的 Name 列)。 输入Set-NetIPInterface -ifAlias '网卡名称' -Forwarding Enabled,单引号保留,网卡名称换成上面找到的。 要获取所有已打开转发功能的网卡,输入 Get-NetIPInterface -Forwarding Enabled。 对比其他方法 使用netsh interface portproxy:只能实现端口对端口的转发,无法做到路由转发的效果,也不保留源 IP 地址。 修改注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:全局生效,无法单独针对某一块网卡做调整。 NAT (MASQUERADE) Linux 下使用 IP 转发通常会搭配 iptables 的 MASQUERADE 功能使用。但在 Windows 下我没有找到对应功能。 如果你的需求是使用 WireGuard ,将某台机器作为互联网出口,Tailscale 会更适合,他们解决了 NAT 问题。 参考资料 Set-NetIPInterface (NetTCPIP) | Microsoft Learn How can I enable packet forwarding on Windows?

2024/6/19
articleCard.readMore

迁移到Next.js

历经多次思想斗争,最终我将整个网站迁移到以Next.js为主的技术栈。 为什么要迁移到Next.js 根据Hello world文章中所述,我的网站之前完全是纯静态HTML驱动的。 这种方式在网站内容不多的时候还能接受,但是随着网站内容的增加,维护起来就越来越麻烦。每一个CSS样式的变动都会带来灾难式的维护体验。 很久之前,我就已经学过React.js,但出于复杂度控制,我没有把它用到我的网站上。但是随着网站内容的增加,我不得不考虑使用React.js来管理网站的内容。为了防止出现React.js项目选型的复杂度控制问题,我选择了Next.js。 迁移过程 看着自己的网站,然后仿造出一个一模一样的网站真是一种奇特的体验,至少在失去耐心之前。所以这一迁移过程持续了很长时间。Next.js 13的App Router还改变了原定的就地渲染Markdown计划,现在必须将文章内容单独做一个后端API,不过这增强了网站的可扩展性。 2024年4月13日补充:现在已经转向读取本地 Markdown 文章然后静态生成的方法了,想来以前还是 naive 了。有了后端,维护起来更麻烦了。 迁移中我还采用了Tailwind CSS技术,避免了以前纠结CSS类应该取什么名字的问题。 2024年4月13日补充:现在使用 CSS Module 技术。CSS Module 和 Tailwind CSS 相比互有优劣,但我认为 CSS Module 更加接近原汁原味的 CSS 编写方式。 迁移后的网站 整体上没有大的改动,只有一些细节上的修改。 对于中国大陆用户来说,网站的访问速度应该会变得更慢了😂,这是因为现在网站托管在Cloudflare Pages上。感谢Cloudflare提供的免费服务。 2024年4月13日补充:现在部署在 Vercel,仍然使用 CloudFlare 做 CDN(对国内来说依然是减速 😂)。

2024/4/13
articleCard.readMore

我的 2023 年

转眼间 2023 年就这么过去了。思绪中仍然停留着 2020 年初的新冠病毒全球传播的场面。 自从 2022 年末的政治事件后,严厉的封控和无止尽的核酸检测成为了往事。每次路过曾经的核酸亭,都会让我回想起这荒唐的三年。 不管怎样,2023年是以正常生活开局的。 🤖 ChatGPT 2022年末的大事件除了封控解除,还有现在广为人知的 OpenAI ChatGPT。当时还是在 X (Twitter) 上看到 clowwindy 发的角色互换扮演 Terminal 才了解到 ChatGPT。 ChatGPT 的出现最终开创了新的人工智能时代。 📺 三体电视剧 在很多年前我就已经读过三体的小说,里面奇幻的场景只能在脑中幻想。1 月初,哔哩哔哩主导的艺画开天版三体动画和腾讯主导的三体电视剧同时上映。艺画开天的水平大家都懂,所以我也没去看。 电视剧的水准远远超出了我的预期,除了个别缺陷外,可以称得上是一部好作品。 ➕ 线性代数失利 由于 2022 年的解封,大学提早回校,所以考试也延期到 2023 年开学。虽然在假期里没有好好复习,但大部分科目成绩都不错,除了——线性代数。 人生中的第一次挂科,让我陷入恐惧。好在经过一个学习的重修后,最终得到了不错的成绩。 🌐 博客的建立 原本只是实验性质的项目,刚好碰上这学期有网页设计课,正好作为大作业。 在这之前类似的项目有很多,但都无一例外烂尾了。这次我从最基本的结构开始。毕竟根据奥卡姆剃刀原理——若无必要,勿增实体,先从简单的项目入手,再慢慢扩充功能。 接下来就是平稳演进的故事了,从静态网页、Next.js、Simple Go backend 演化到现在的 Node.js backend。我的写代码能力也在稳步提升。 🖥️ 蓝桥杯和 PAT 今年我参加了蓝桥杯算法竞赛和浙江大学的 PAT 算法竞赛。 比赛后深知自己不可能在算法领域有所建树,因为做题目想得脑子疼。 为了面试,应该还需要多做些 LeetCode 的题目,只好忍忍了。 ✉️ 迁移到 Gmail 腾讯开始收回邮箱的无限空间功能,并去除了一些其他权益。为了求稳,我转移到了 Gmail。 在此之前我体验过诸多不同的邮箱:126、Outlook、QQ邮箱以及自建邮箱,每个都有不同的优点和缺点。但是现在我累了,Gmail从2004年到现在已经运营了19年了,应该不会出什么大茬子,我对邮箱的要求也不高。 迁移时 Microsoft 365 的 Outlook 客户端还帮了个忙,让我能无损的把以前所有邮箱的邮件都迁移到 Gmail。或许这是正常邮箱客户端都有的功能,不过我既然装了 Outlook 就用它吧。 ❌ 不折腾 今年有两个时刻,我的开源精神突然发作了,备份好电脑的数据后就装上了 Arch Linux,幻想着完全使用 Linux 的美好生活。但最后都回到了 Windows + WSL 2。 虽然我的技术知识很大一部分都是来源于折腾,但现在折腾过头了,已经遇到了边际效应。 在 Linux 中搭建美好的环境就留给以后吧,现在还要应付现实生活的不完美,没有时间再追求美好了。 👃 鼻炎 以下言论不构成医疗建议,仅为个人心得。 多年的老鼻炎在用了丙酸氟替卡松后终于缓解了。医院开的布地奈德对我几乎无效。 曾经想过自己会不会是血管运动性鼻炎,如今看来只是普通的过敏性鼻炎。 最终 今年开始有了记日记的习惯,如果没有日记,上述内容早就忘光了。 希望 2024 年能有更好的生活。我还没正式开始工作呢,经济下行就已经开始了。

2023/12/29
articleCard.readMore

我的 2024 年

今年是不平凡的一年。人生中第一份实习工作,第一次租房。用自己挣的工资买了自己喜欢的东西。 今年也是命运多舛的一年。1 月 1 日就差点因车祸阴阳两隔。秋招几乎毫无收获,不是简历石沉大海,就是二面挂。 2024 年即将接近尾声,就在此记下一些比较重大的事情吧。 💀 没有降临的车祸 1 月 1 日 13:34,我在外出吃饭后乘坐公交车回到学校,学校与公交站台隔着一条快速路。在过马路时突然驶来一辆汽车,在几乎就要撞到我时才改变方向,不知是主动避障系统介入还是司机刚反应过来。总之我没有受伤。 或许是世界线变动了?最终没有进入悲伤的世界线。 🚉 一人旅行 2022 年 12 月之后在学校的每个周末,我都会独自进行一场小型旅行。 所谓旅行,其实只是去商场吃顿饭,去超市买些零食,然后在附近的公园里散步。 每次走在公园中,我都会有些恍惚,望着蓝天白云,仿佛我的余生也将如此平淡无波地流逝。 😵‍💫 无尽的面试 为了在求职中占据优势,我从 2 月开始积极投递简历。到了 3 月中旬,腾讯突然展开了大规模的面试邀请,令我措手不及。 原本打算先通过小公司的面试积累经验,没想到人生中前五场面试竟全都是腾讯,而且全都以失败告终。之后,腾讯就再没有安排过我的面试。 接下来,我陷入了无休止的简历投递和已读未回的循环,直到现在的这家公司出现,才终于打破了僵局。 🏝️ 青岛实习之旅 5 月末,我终于成功通过了现在这家公司的面试,暑期实习也有了着落。 实习期间,公司的指定办公地点之一是青岛。由于经验不足,我差点没能租到房子。 作为苏州人,我第一次见到如此陡峭的马路,上下班的路程简直是在爬山。市区也没有共享单车,因为根本骑不动。 公司为我提供了一台 MacBook Pro。在此之前,我只用过自己组装的黑苹果,这次终于体验到了真正的“白苹果”。 每逢周末,我就会去各个景点游玩,在石老人海滩看海,去奥帆中心放松身心。边实习边旅游,真是一种难得的享受。 ☕️ 沉闷的学校实训 虽然自己找到了实习,但学校的形式主义还是避免不了的。9 月份被关在学校强制进行了 1 个月的封闭培训。 学的内容还是培训班的老三套:Spring Boot、MyBatis 和 Vue。顺带还要写三份实训论文,美其名曰「提前适应写论文」。 还有一门 Linux 课程还挺有意思,主要是讲 Ubuntu 的安装和管理。可惜我已经是多年 Linux 用户,对这些知识早已烂熟于心。 🛜 舒适的远程实习 实训结束后,我继续在公司实习,不过这次是远程实习。 早在 V2EX 上听说过远程工作,这次亲自体验一回,实在是非常舒服。 由于住在学校宿舍,工资就不必浪费在租房上了。每天午饭和晚饭就在附近的快餐店解决,可以吃得比学校食堂更好。 ✍️ 手搓协议的毕业设计 经历慎重的考虑后,最终决定我的毕业设计选题是根据 IETF RFC 9484 手搓一个 VPN 协议及实现。 动机来源于学校校园网把我连回家中内网的 WireGuard 连接给阻断了,每次还得用流量混淆器才能连上。 如果是手搓协议,他们应该就识别不出了吧。不过到时我也毕业了。 🎁 给自己的礼物 自从自己赚了钱之后,终于可以光明正大地购买自己喜欢的东西了。 恰逢 Apple Mac mini M4 上市,我便迫不及待地去南京新街口 Apple Store 现场自提了。 不过还是错判了一点:宿舍里没有显示器。于是只能买了块 HDMI 采集卡接到笔记本上用了,好在延迟还能接受。 🐦 咕了的博客重构 实习时接触到了 Astro 框架,发现其实在做博客站方面 Astro 比 Next.js 更好用。 不过平时都忙着实习和写毕设了,博客的重构就自然而然咕咕咕了。 5️⃣ 展望 其实也没啥展望了,在这个经济形势下都是过一天算一天的心态了。 但还是希望 2025 年,我能过的更加幸福。

2024/12/31
articleCard.readMore

解决 Next.js build 完成后卡住的问题

最近一段时间,我在执行 Next.js 项目的 npm run build 之后总是卡住,表现为在完成 Finalizing page optimization,显示完所有 route 之后,bash 的 prompt 一直没有出现,只能手动 Ctrl + C 打断构建流程。但此时的构建结果可以正常被 npm run start 使用,在 Vercel 上构建也不会出现卡顿问题。通过使用 strace 和 ss 命令,我找到了原因。 方法 执行 npx next telemetry disable 退出 Next.js 的 Telemetry。 如果不使用 npm,可以参考官方文档。 分析过程 通过执行 strace npx next build,我得以看到 Next.js 编译过程中所执行的系统调用。为了能将 strace 的输出和 Next.js 的输出分开,可以使用 mkfifo log 命令建立命名管道,然后执行 strace npx next build 2>log 将 stderr 重定向到管道,使用 cat < log 输出系统调用信息。 strace npx next build 最终卡在以下部分: + First Load JS shared by all 87 kB ├ chunks/23-b022cbf28d88ae21.js 31.4 kB ├ chunks/fd9d1056-e3489de6ce1f07f6.js 53.7 kB └ other shared chunks (total) 1.94 kB ○ (Static) prerendered as static content ● (SSG) prerendered as static HTML (uses getStaticProps) 而 cat < log 则输出: epoll_pwait(17, [{events=EPOLLIN, data={u32=22, u64=22}}], 1024, 0, NULL, 8) = 1 read(22, "\1\0\0\0\0\0\0\0", 1024) = 8 epoll_pwait(17, [], 1024, 0, NULL, 8) = 0 epoll_pwait(17, epoll 系统调用通常用于网络上,因此大概是遇到了网络问题。 另外打开一个终端,输入 ss -tn,可以看到许多 Vercel IP 段的 TCP 连接: ESTAB 0 2384 10.20.244.49:60724 76.76.21.22:443 ESTAB 0 1675 10.20.244.49:60970 76.76.21.241:443 FIN-WAIT-1 0 2015 10.20.244.49:60750 76.76.21.142:443 ESTAB 0 4851 10.20.244.49:60844 76.76.21.22:443 结合之前 Vercel 在中国大陆被阻断的事件,我大约感觉出了原因。HTTP_PROXY 和 HTTPS_PROXY 似乎对 Next.js 无效,因此需要借助 TUN 或者 WireGuard 等全局联网方式才能解决。 当然,最简单的方法就是退出 Next.js 的 Telemetry。 后记 怪不得我在 StackOverflow 上找不到解决方法,因为世界上大部分国家的程序员都不会遇到这种问题。 但 Vercel 也应该给 Telemetry 加个 timeout 的措施才是。 参考资料 Telemetry | Next.js by Vercel - The React Framework

2024/6/19
articleCard.readMore

评论功能正式启用

在众多评论系统和自研评论系统之间来回纠结,终于在建站5个月后,选择了giscus作为本站的评论系统。giscus的功能十分完善,Markdown、LaTeX公式和各种样式都已支持。评论前需要先使用GitHub登录。对于担心隐私的读者,可以直接在对应的GitHub Discussions回复,但需要对应主题存在(即已经有人回复)。 美中不足的是,由于评论托管在GitHub,中国大陆读者可能会面临加载缓慢等问题,还请读者自备科学上网工具。

2023/8/14
articleCard.readMore

制度与利益

以下为争议话题,如果你想反驳,欢迎邮件交流。 无论是过去还是现在,都流行着一种思潮,认为进入公务员体制内,可以获得稳定和仕途。这点被很多人嗤之以鼻,因为体制内一眼望到头的生活是很绝望的,如果不退出,一个人的一生就像是被体制安排好了。这一点其实不只是体制内会有,在大型企业内同样也有,只是不太明显。 体制与大型企业的共同点,就是有一套完善的制度,将每个人该做的和不该做的事情写得清清楚楚。每个人,只要按照这套制度执行,便可保证整个体系稳定。人作为个体,成了制度的“执行器”。思考是不被允许的,因为这会增加不稳定性。 通常为了弥补,制度下的个体都能拥有巨大的回报,使其安分守己。在利益来源(销售利润、税收)断绝之前,体制下的个体还能滋润很长一段时间。甚至个体还会自发维护起制度,毕竟这是他们美好生活的来源。 自由 如果还能意识到自己的生活是由自己掌控,而不能被别人安排的话,就不要为了利益而进入这样的制度。毕竟制度的奖励只给听话的“执行器”,而不是会思考的人。 而且在制度下,人会身不由己,毕竟退出的代价是巨大的,而丧失的自由与之相比,却又微不足道。等到幡然醒悟,却发现自己已经离不开制度了。 最后 想来也是惭愧,不是每个人都可以毫无顾虑地拒绝制度的,毕竟如果要吃不上饭了,放弃点自由又会怎样呢?生存才是第一要务。

2024/10/3
articleCard.readMore

时光荏苒的失落

今天是我大二下学期的第四周的周末。 和平常的周末一样,我待在宿舍,做完作业后刷起了V2EX论坛。这大概是我第4次打开浏览器了,我知道论坛上的新内容已经被我看完了,但仍忍不住打开。最后,我起身出去散步。 如果不是因为现实,我的思绪仍然会飘荡在2021年9月。那是我第一次踏入大学的校园,那几天是多么的忙碌,美好的大学生活即将向我展开。可是后面的日子,竟是一遍又一遍的重复。来到大学已经两年了,我却发现自己仍然在重复着以前的日子。 该参加的社团活动已经参加完了,有趣的选修课也上完了。只要没有课,就是在宿舍里消磨时光。起初这是一种享受,是一种自由。慢慢的,宿舍变成了无形的监狱,锁住了我,以及对外面世界的向往。 既没有轰轰烈烈的师生交流,也没有青春朝气的同学互动。每天上课就是板着脸,下课对着电脑。 现在我只有20岁,还有很多事情没做。但是在最有活力的时光里,我竟被自己锁在校园里,锁在宿舍里,锁在自己的电脑里。多年之后,我肯定会很后悔,为什么在这么空闲的时光里没有做更多有意义的事情?以前的志气都去哪里了?一旦毕业之后被工作束缚,就真的脱不开身了。但是以正在写文章的我的视角,真的没什么可做的。 很多有意义的事:学习编程语言、学习日语、看MIT的教学视频、练习算法和数据结构,都得在电脑里完成的。可是我已经不想再盯着屏幕了,眼睛很累,身体也因为长期坐着而变得不舒服。我想出去走走,看看外面的世界。 我时常觉得有很多事情是浪费时间,可是我在校园里走一走,写下这篇文章,难道不是浪费时间吗?原定的学习计划一点也没有推进,未来要面临的挑战也没有解决。我还是在宿舍里,还是在电脑前。

2023/3/25
articleCard.readMore

解决 Windows PPPoE 连接在系统睡眠后消失

自从发现学校的有线网络比无线网络快 10 倍后,我每节课都通过机房的交换机上网,上网前需要先进行 PPPoE 拨号。 每次下课休息后,就会发现之前连上的 PPPoE 断开了。本来这也没多大事,估计是电脑进入睡眠模式,连接超时自动断开了。但重新连接后任务栏仍然显示无网络连接。此时其实已经连上网络了,估计是 Windows 的某个遗留 BUG。 这个 BUG 还会影响 WSL 2 的 Mirrored mode networking,造成 Linux 内无法联网,这可就不能忍了。 解决方法 打开任务管理器。 找到 Network List Service,右键,结束任务(不用担心,它会自己原地复活)。 找到 资源管理器,右键,重新启动。 备注 在 services.msc 里重启 Network List Service 似乎无效,它会卡住,必须强制终止。

2024/5/7
articleCard.readMore

实现 WSL 2 开机免登录自动启动

WSL 2 在个人使用时,根据终端随开随用很方便,长时间不用自动关闭也节能。但作为服务器系统使用就不够了。 WSL 2 的自动启动有很多方案,本文写的是基于 Windows 自带的任务计划程序的方案。WSL 之前一直不支持通过任务计划程序启动,这个 BUG 直到 2023年9月27日 才被修复,真不愧是微软。 步骤 一定要确保 WSL 当前处于最新版本(即 WSL September 2023 update 之后的版本),系统自带版本不支持这种开机启动。 打开任务计划程序。 点击右边的创建任务。 任务的名称和描述可以随便写,安全选项需要选择“不管用户是否登录都要运行”。 点击上方的“触发器”选项卡,点新建按钮,然后会卡几秒(微软的老 BUG )。开始任务中选择“启动时”,然后点击确定。 “操作”选项卡中,点新建按钮,然后“程序或脚本”下的文本框里输入"C:\Program Files\WSL\wsl.exe",引号也要带上(非常重要,除了这个目录下的wsl.exe,其他位置的都不行)。添加参数可以根据需要填写,比如-d Debian指定发行版。 “条件”选项卡中,所有选项全部取消勾选。 ”设置“选项卡中,除了“允许按需执行任务”,其他全部取消勾选。 点击确定关闭窗口。可以先右键运行试试效果。这种方法运行的 WSL 即使当前用户注销也是会继续运行的。 Linux 内部的自动启动就得靠 SystemD 了,这里就不赘述了。 故事环节 最近几个月一直在纠结 Windows 和 Linux 双系统的问题,期间碰到了不少的坑。尝试过的方案有: PVE 做宿主,Windows 和 Linux 都作为虚拟机:NVIDIA 显卡透传的问题很大,PVE 作为宿主还要吃掉一小点性能。约等于同时维护三套系统,累。如果要远程开机和 SSH,还得先把 PVE 面板映射出来。 Linux 做宿主,Windows 跑在虚拟机:同样存在显卡透传问题,而且手动配 QEMU + KVM 虚拟机心智负担太大,我也不想用 libvirt 等方案。同时之前为了装 Windows 11 买的 TPM 模块就浪费了。我的 Linux 系统还做了硬盘加密,远程开机也废了。 Windows 做宿主,Linux 跑在虚拟机:无论是 VMware Workstation 还是 VirtualBox,都是大毛病没有,小毛病不断。不管哪个方案,Linux 内部的显卡都是残废状态,操作起来一卡一卡。如果只是在终端操作,倒还没什么问题,桌面操作就废了。如果宿主是笔记本,进入了 S0 睡眠模式,VMware Workstation 会出现内核 CPU stuck 错误,VirtualBox 则是出现时钟漂移。 再买一台电脑:没钱。 WSL 1:内核太老,性能差。 WSL 2:有显卡加速,虽然不算是真·虚拟机,但比起上面几个方案好太多了。 用 WSL 2 做服务器 Linux 似乎不太正经,不过我也不要求有多高的稳定性,能充分利用我现有的硬件就够了。如果有更高要求,直接去 AWS 买 EC2 吧 ¯\(ツ)/¯ 。 参考资料 Unable to start WSL via Task Scheduler - GitHub

2024/4/8
articleCard.readMore