<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>小帕的小窝</title><description>小帕和他朋友们的博客</description><link>https://passthem.top/</link><language>zh-hans</language><item><title>Misskey 与 Cloudflare - 为什么 Bubble Game 的排行榜更新不及时</title><link>https://passthem.top//blogs/49</link><guid isPermaLink="true">https://passthem.top//blogs/49</guid><description>一篇由 Passthem 写的博客</description><pubDate>Tue, 31 Mar 2026 07:55:40 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;自从前几天 &lt;a href=&quot;https://otomad.site&quot;&gt;Otomad Site&lt;/a&gt; 网站开业，群友们就开始高强度水贴，其中也有一些群友开始玩起了网站的 &lt;a href=&quot;https://otomad.site/bubble-game&quot;&gt;Bubble Game&lt;/a&gt;，也有一些朋友开始了疯狂的逆向和发包工作。&lt;/p&gt;&lt;p&gt;在玩的过程中，有人注意到了一个奇怪的问题：&lt;strong&gt;排行榜没有实时刷新&lt;/strong&gt;。当完成一次能刷新排行榜的游戏以后，排行榜并没有及时刷新，而在等了几个小时以后，排行榜才更新。因此，好奇的我开始研究这是什么问题。&lt;/p&gt;&lt;h2&gt;从源代码出发&lt;/h2&gt;&lt;p&gt;Otomad Site 是基于 &lt;a href=&quot;https://github.com/misskey-dev/misskey/&quot;&gt;MissKey&lt;/a&gt; 部署的，而且我们也能在里面找到 Bubble Game 的 &lt;a href=&quot;https://github.com/misskey-dev/misskey/blob/develop/packages/backend/src/server/api/endpoints/bubble-game/&quot;&gt;源代码&lt;/a&gt;。这里主要是后端的源代码，前端和游戏引擎也在这个仓库，但是和这次的探讨无关。&lt;/p&gt;&lt;p&gt;这里后端没有对游戏结果做任何校验，暂且按下不表，但是我们可以在源代码看到它的缓存逻辑。在 &lt;a href=&quot;https://github.com/misskey-dev/misskey/blob/develop/packages/backend/src/server/api/endpoints/bubble-game/ranking.ts&quot;&gt;ranking.ts&lt;/a&gt;，声明了缓存：&lt;/p&gt;&lt;pre data-language=&quot;typescript&quot;&gt;export const meta = {
    allowGet: true,
    cacheSec: 60,

    // --snip--
} as const;
&lt;/pre&gt;&lt;p&gt;而这个 &lt;code&gt;cacheSec&lt;/code&gt; 会在&lt;a href=&quot;https://github.com/misskey-dev/misskey/blob/develop/packages/backend/src/server/api/ApiCallService.ts#L179&quot;&gt;对应的文件&lt;/a&gt;，设置为 &lt;code&gt;Cache-Control&lt;/code&gt; 头的 &lt;code&gt;max-age&lt;/code&gt;：&lt;/p&gt;&lt;pre data-language=&quot;typescript&quot;&gt;this.call(endpoint, user, app, body, null, request).then((res) =&amp;gt; {
    if (request.method === &apos;GET&apos; &amp;amp;&amp;amp; endpoint.meta.cacheSec &amp;amp;&amp;amp; !token &amp;amp;&amp;amp; !user) {
        reply.header(&apos;Cache-Control&apos;, `public, max-age=${endpoint.meta.cacheSec}`);
    }
    this.send(reply, res);
}).catch((err: ApiError) =&amp;gt; {
    this.#sendApiError(reply, err);
});
&lt;/pre&gt;&lt;p&gt;这里的头会提醒浏览器，让浏览器对这个 API 进行缓存，以减小服务器侧的负担。&lt;/p&gt;&lt;p&gt;然而，当我们实际发包时，却发现这个头被改了：&lt;/p&gt;&lt;pre data-language=&quot;fish&quot;&gt;❯ curl &amp;quot;https://otomad.site/api/bubble-game/ranking?gameMode=normal&amp;quot; -v &amp;amp;| grep cache-control -C 3
&amp;lt; server: cloudflare
&amp;lt; strict-transport-security: max-age=15552000; preload
&amp;lt; access-control-allow-origin: *
&amp;lt; cache-control: public, max-age=14400
&amp;lt; x-cache: EXPIRED
&amp;lt; accept-ranges: bytes
&amp;lt; age: 53
&lt;/pre&gt;&lt;p&gt;这可以解释为什么它要等几个小时（也就是 4 个小时）才会更新排行榜：因为浏览器知道要缓存 14400 秒，在这段时间内，它就不会再重新请求新的排行榜。&lt;/p&gt;&lt;p&gt;但是，为什么这个头会被改掉呢？我把视角转到了 Cloudflare。&lt;/p&gt;&lt;h2&gt;Cloudflare 的文档&lt;/h2&gt;&lt;p&gt;不难注意到，Otomad Site 是用 Cloudflare 做的全球加速 CDN 的。我怀疑这很可能是 Cloudflare 改的值。最终，我在 &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/edge-browser-cache-ttl/#browser-cache-ttl&quot;&gt;Cloudflare 文档&lt;/a&gt;中找到了对应的部分：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;The Browser Cache TTL sets the expiration for resources cached in a visitor’s browser. By default, Cloudflare honors the cache expiration set in your Expires and Cache-Control headers but overrides those headers if:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The value of the Expires or Cache-Control header from the origin web server is less than the Browser Cache TTL Cloudflare setting.&lt;/li&gt;&lt;li&gt;The origin web server does not send a Cache-Control or an Expires header.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Unless specifically set in a cache rule, Cloudflare does not override or insert Cache-Control headers if you set Browser Cache TTL to Respect Existing Headers.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;也就是说，Cloudflare 会自动添加 Browser Cache TTL 为一个固定的值。在原文下面有表格，这个值被设定为了 4 小时。要更改这一选项，我们要在 Cloudflare 上更改相关设置。&lt;/p&gt;&lt;h2&gt;总结&lt;/h2&gt;&lt;p&gt;Cloudflare 干的。以后要多读文档啊！&lt;/p&gt;&lt;/article&gt;</content:encoded><author>Passthem</author><enclosure url="https://legacy.passthem.top/api/v1/static/ce08ced6c8cd3d7f88eea75c295fe835.png" length="0" type="image/jpeg"/></item><item><title>从零开始部署 Minecraft 速通活动复盘</title><link>https://passthem.top//blogs/48</link><guid isPermaLink="true">https://passthem.top//blogs/48</guid><description>一篇由 Passthem 写的博客</description><pubDate>Mon, 30 Mar 2026 09:57:26 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;前段时间突然沉迷于看 Minecraft 速通，像是 &lt;a href=&quot;https://www.youtube.com/@Baablu/&quot;&gt;Baablu&lt;/a&gt; 这样的 Up 主，召集了一群人一起玩奇怪规则的 Minecraft 速通。视频挺有意思，看他们相爱相杀也非常下饭。于是突然突发奇想，要是可以召集朋友一起玩就好了。&lt;/p&gt;&lt;p&gt;所以，脑袋一热，就花了半周时间，从整理技术栈到最终启动服务器，一起完成了一次有模有样的速通。&lt;/p&gt;&lt;h2&gt;配置客户端整合包&lt;/h2&gt;&lt;p&gt;第一件事，是要给朋友们配置一个可以用的 Minecraft 整合包。&lt;/p&gt;&lt;p&gt;这个整合包要足够原版、能够在未来多个服务器使用，而且对小白和有一定技术的人都要比较友好。技术的功能包括放大画面、Tweakeroo Freecam 还有连点器之类的各种功能，足够大家做很多事情，也可以在有必要的时候启用这些功能，降低速通的难度。&lt;/p&gt;&lt;p&gt;而且，这个整合包要兼容多个启动器（总不能让大家每用一个整合包，就要装一个启动器，配置一次登录，太麻烦了）。于是，我选择了最近比较统一规范的 Modrinth 的 &lt;code&gt;.mrpack&lt;/code&gt; 格式的整合包。&lt;/p&gt;&lt;p&gt;于是我开始阅读这个整合包的文件规范。在阅读 &lt;a href=&quot;https://support.modrinth.com/en/articles/8802250-modpacks-on-modrinth&quot;&gt;相关文档&lt;/a&gt; 时，发现了文中提到，现在已经有很多模组的包管理器了，其中不乏有只用 cli 就可以做到的模组管理。于是，我相中了 &lt;a href=&quot;https://github.com/packwiz/packwiz&quot;&gt;packwiz&lt;/a&gt; 方案。&lt;/p&gt;&lt;p&gt;&lt;code&gt;packwiz&lt;/code&gt; 是用 Golang 写的 cli。正巧，我本地刚好有 Golang 环境，于是可以直接安装：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;go install github.com/packwiz/packwiz@latest
&lt;/pre&gt;&lt;p&gt;同时，在自己的代码库建立了一个&lt;a href=&quot;https://gitea.service.jazzwhom.top/Passthem/pt-minecraft-modpack&quot;&gt;仓库&lt;/a&gt;，专门用来存放模组文件配置。&lt;/p&gt;&lt;p&gt;&lt;code&gt;packwiz&lt;/code&gt; 包管理器的使用非常简单。首先，我创建了一个新的客户端包，在这里进行了基础的初始化：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;mkdir client
cd client
packwiz init
&lt;/pre&gt;&lt;p&gt;然后就可以添加模组：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;packwiz add https://modrinth.com/mod/simple-voice-chat
&lt;/pre&gt;&lt;p&gt;这里的 &lt;code&gt;client&lt;/code&gt; 目录里的其他文件，将会直接打包到整合包里，因此就可以直接在里面导入模组设置。在我的整合包，我就配置了 &lt;a href=&quot;https://modrinth.com/mod/flashback&quot;&gt;Flashback&lt;/a&gt; 模组的配置。&lt;/p&gt;&lt;p&gt;只不过，刚开始发的 &lt;code&gt;v1.0.0&lt;/code&gt; 版本，默认开启了 Flashback 模组的录像。但一个自动录像、保存时会未响应的模组，如果默认启用，一定会产生疑惑，因此我在发现这个问题后，在 &lt;code&gt;v1.0.1&lt;/code&gt; 关闭了自动录像的设置项。不得不说，这样管理模组包还是非常方便的。&lt;/p&gt;&lt;p&gt;最后，使用 &lt;code&gt;packwiz&lt;/code&gt; cli 导出整合包文件。&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;packwiz modrinth export
&lt;/pre&gt;&lt;p&gt;然后使用 &lt;a href=&quot;https://gitea.com/gitea/tea&quot;&gt;tea&lt;/a&gt; cli 上传 release 到代码库了。&lt;/p&gt;&lt;h2&gt;服务端整合包&lt;/h2&gt;&lt;p&gt;&lt;code&gt;packwiz&lt;/code&gt; 也可以用来管理服务端整合包。&lt;/p&gt;&lt;p&gt;Minecraft 服务器部署很火热的 &lt;a href=&quot;https://github.com/itzg/docker-minecraft-server&quot;&gt;Docker 容器&lt;/a&gt; 自带对 &lt;code&gt;packwiz&lt;/code&gt; 整合包的支持。只要把 &lt;code&gt;packwiz&lt;/code&gt; 整合包的 &lt;code&gt;pack.toml&lt;/code&gt; 文件和其他文件暴露出来，就可以了，像是可以直接从 Git 的 raw 文件获取并下载整个整合包需要的文件：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;docker run --pull=always \
    -e TYPE=FABRIC \
    -e &amp;quot;PACKWIZ_URL=https://gitea.service.jazzwhom.top/Passthem/pt-minecraft-modpack/raw/branch/main/server-01-random-block/pack.toml&amp;quot; \
    -e &amp;quot;EULA=TRUE&amp;quot; \
    -e &amp;quot;VERSION=1.21.10&amp;quot; \
    -p 25565:25565 \
    itzg/minecraft-server
&lt;/pre&gt;&lt;p&gt;但是，我的最终构建目标，是部署到一个公益服务器上。&lt;/p&gt;&lt;h2&gt;部署到简幻欢&lt;/h2&gt;&lt;p&gt;根据他们官方所称，&lt;a href=&quot;https://simpfun.cn/&quot;&gt;简幻欢&lt;/a&gt;是一个从 2018 年开始运营的公益服务器项目，支持很多人开 Minecraft 服务器。最初我是从 &lt;a href=&quot;https://www.youtube.com/@%E3%83%AB%E3%83%BC%E3%82%B9%E6%AF%9B&quot;&gt;ルース毛&lt;/a&gt; 那边的服务器听说的这个云平台，经过试用以后，发现非常非常好用。如果你们想用的话，用 &lt;a href=&quot;https://simpfun.cn/auth?type=register&amp;amp;code=306886096&quot;&gt;带有邀请码的链接&lt;/a&gt; 能让我获得更多积分。&lt;/p&gt;&lt;p&gt;为了让速通过程尽量不要卡顿，选用的服务器方案是 &lt;code&gt;基础镜像 - 自定义 - Java&lt;/code&gt;，服务器方案选择了 100 积分/天的 &lt;code&gt;B+.I.XL.L&lt;/code&gt; 方案，有 &lt;code&gt;6C24G&lt;/code&gt;，带宽由平台支撑，总流量有 10G。最终实测下来，发现我们十二个人玩，非常非常够用。&lt;/p&gt;&lt;p&gt;这个公益服是一个面板服，你肯定不能 &lt;code&gt;ssh&lt;/code&gt; 上去搞东西，而只能上传文件和运行 &lt;code&gt;.sh&lt;/code&gt; 脚本。这个平台估计也是用 &lt;code&gt;Docker&lt;/code&gt; 之类的容器方案，里面似乎是有完整的 curl 等的工具可以用的。因此，我就让 AI 写了一套部署脚本出来。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://cdn.passthem.top/sharex/2026/03/dkq4JqtnVJ.png&quot; alt=&quot;由 Pi Agent 发布的 PR&quot;&gt;&lt;/p&gt;&lt;p&gt;具体的流程是，我下载 &lt;code&gt;panel-start.sh&lt;/code&gt; 脚本，上传到文件列表里面，然后配置 &lt;code&gt;start.sh&lt;/code&gt; 指向这个脚本：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;#!/bin/bash

# --snip--
bash panel-start.sh
&lt;/pre&gt;&lt;p&gt;试了几轮，终于和 AI 配合部署好了。中间我也才发现，它只支持 &lt;code&gt;sh&lt;/code&gt; 而不支持 &lt;code&gt;bash&lt;/code&gt;，所以只能让 AI 当场改脚本重新部署。总之，就这样把服务端部署好了。&lt;/p&gt;&lt;h2&gt;运维与正式游戏&lt;/h2&gt;&lt;p&gt;在准备好了很多文件后，我在活动开始的两天前发了群公告通知，邀请大家一起来玩：&lt;/p&gt;&lt;pre&gt;这周六晚八点（2026/3/28 20:00, UTC+8）开一把 Minecraft 多人通关。

服务器 IP: [隐去]
游戏版本: 1.21.10
至少需要安装 Simple Voice Chat 模组
晚上八点准时重置存档开始游戏

我有组一个简易的整合包，如果需要可以查阅：

[隐去]
&lt;/pre&gt;&lt;p&gt;但是，我没有强调具体时间，或者说，我没有提醒大家，让大家及时安排时间，导致有些朋友错过了活动，有点可惜。确实没有强调 Minecraft 速通的即时性，导致有些朋友晚来了。幸好这次的主题是随机方块，要起号非常快，所以就没那么痛苦了。&lt;/p&gt;&lt;p&gt;只不过，在游玩的过程中，我没有注意看流量消耗。于是，在很多很多人的情况下，10G 的流量消耗非常快，在游玩的中间出现了两次中断，都是因为流量耗尽了。&lt;/p&gt;&lt;p&gt;最终，总共两个多小时的速通，再花了 200 积分买了 20G 流量才成功撑下来。&lt;/p&gt;&lt;h2&gt;总共的积分消耗&lt;/h2&gt;&lt;p&gt;租用的这个服务器，租用第一天直接会消耗 100 积分，也就是一天的当量。&lt;/p&gt;&lt;p&gt;然后，我需要打开一个 Simple Voice Chat 端口，它也会消耗 100 积分。&lt;/p&gt;&lt;p&gt;中间，我又花了 200 积分兑换了额外的 20G 流量，才最终搞定两个多小时的速通。&lt;/p&gt;&lt;p&gt;而这个平台，免费签到的上限是 400 积分，也就是说这次的积分使用非常紧张，要是玩久一点，我就要&lt;strong&gt;开始&lt;/strong&gt;花钱买流量了。&lt;/p&gt;&lt;p&gt;但是，反正没有花钱，还是很值的嘛！&lt;/p&gt;&lt;/article&gt;</content:encoded><author>Passthem</author><enclosure url="https://legacy.passthem.top/api/v1/static/6e947561fa7d7ca56ae2ad00b634dbf3.png" length="0" type="image/jpeg"/></item><item><title>博客系统更新中！</title><link>https://passthem.top//blogs/47</link><guid isPermaLink="true">https://passthem.top//blogs/47</guid><description>一篇由 Passthem 写的博客</description><pubDate>Fri, 27 Mar 2026 09:25:31 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;在接下来的一段时间，博客将会全面切换到 &lt;a href=&quot;https://markdoc.dev/&quot;&gt;Markdoc&lt;/a&gt; 语法，旧文章很可能不再可用。我会试着手动修复一些以前的文章的内容。&lt;/p&gt;&lt;/article&gt;</content:encoded><author>Passthem</author></item><item><title>兄弟们谁知道这里什么时候开评论区</title><link>https://passthem.top//blogs/46</link><guid isPermaLink="true">https://passthem.top//blogs/46</guid><description>一篇由 肠粉 写的博客</description><pubDate>Tue, 30 Dec 2025 12:07:04 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;RT，今天突然想起来这里，但还是没有看到评论区添加&lt;/p&gt;&lt;p&gt;3&lt;/p&gt;&lt;p&gt;3&lt;/p&gt;&lt;p&gt;3&lt;/p&gt;&lt;p&gt;3&lt;/p&gt;&lt;p&gt;3&lt;/p&gt;&lt;p&gt;3&lt;/p&gt;&lt;p&gt;没人？&lt;/p&gt;&lt;p&gt;单机博客？&lt;/p&gt;&lt;p&gt;3&lt;/p&gt;&lt;p&gt;3&lt;/p&gt;&lt;/article&gt;</content:encoded><author>肠粉</author></item><item><title>Misra-Gries Edge Coloring（边着色问题）</title><link>https://passthem.top//blogs/45</link><guid isPermaLink="true">https://passthem.top//blogs/45</guid><description>一篇由 超几何冰精 写的博客</description><pubDate>Thu, 20 Nov 2025 03:50:48 GMT</pubDate><content:encoded>&lt;article&gt;&lt;h2&gt;问题描述&lt;/h2&gt;&lt;p&gt;给出一个一般图，现在将它的每条边染色，使得任意两条相邻（有公共顶点）的边颜色不同。​请给出一种染色方案，使得用到的颜色数量不超过&lt;code&gt;Δ(G)+1&lt;/code&gt;。&lt;/p&gt;&lt;h2&gt;解决方案&lt;/h2&gt;&lt;p&gt;试想，现在我们碰到了一条新的边&lt;code&gt;(u, v)&lt;/code&gt;，它还没被染色。我们想把它染成一个&lt;code&gt;v&lt;/code&gt;没有见过的颜色A。不幸的是：&lt;code&gt;u&lt;/code&gt;见过这个颜色了——&lt;code&gt;(u, v_0)&lt;/code&gt;被染成颜色A了。。。 &lt;code&gt;u&lt;/code&gt;对&lt;code&gt;v&lt;/code&gt;说：要不我们俩先染成颜色A吧，我让&lt;code&gt;v_0&lt;/code&gt;换个颜色染。&lt;code&gt;v&lt;/code&gt;说：好呀！ 那现在&lt;code&gt;(u, v_0)&lt;/code&gt;想被染成&lt;code&gt;v_0&lt;/code&gt;没有见过的颜色B。不幸的是：&lt;code&gt;u&lt;/code&gt;见过颜色B了——&lt;code&gt;(u, v_1)&lt;/code&gt;是颜色B。&lt;code&gt;u&lt;/code&gt;如法炮制，先跟&lt;code&gt;v_0&lt;/code&gt;染着颜色B，再跟&lt;code&gt;v_1&lt;/code&gt;另请高明。 如此转转不已，总能找到一个&lt;code&gt;v_l&lt;/code&gt;，要么新的颜色&lt;code&gt;u&lt;/code&gt;和&lt;code&gt;v_l&lt;/code&gt;都没见过，要么它见过某颜色，但是邻居在之前的人们里，这样这个过程不得不停下来了。 如果是前者，那非常好：每对顶点的颜色挪一下，最终让&lt;code&gt;(u, v_l)&lt;/code&gt;涂上新的没见过的颜色就行啦！ 如果是后者：我们还有一个办法：找到在之前人们里的那个邻居，让他和&lt;code&gt;u&lt;/code&gt;连接的颜色&lt;code&gt;d&lt;/code&gt;先变成全新的没见过的颜色&lt;code&gt;c&lt;/code&gt;，再找到一个能接受颜色&lt;code&gt;d&lt;/code&gt;的顶点&lt;code&gt;v_w&lt;/code&gt;，在前面仍然挪一下，最后给&lt;code&gt;(u, v_w)&lt;/code&gt;涂上颜色&lt;code&gt;d&lt;/code&gt;。 于是，我们的思路就有了！&lt;/p&gt;&lt;h2&gt;困难之处&lt;/h2&gt;&lt;p&gt;我们称一个可以挪动的序列为一个扇，我们想要找到极大的扇来挪动。但是，找极大扇的过程在朴素想法下是&lt;code&gt;O(n^2)&lt;/code&gt;的！于是我们需要精巧的数据结构构造： 考虑用数组存储每个顶点没见过的颜色，每次取数组头的颜色作为下一个人尝试的新颜色。毕竟我们不需要考虑颜色的顺序，这个取颜色的过程可以是&lt;code&gt;O(1)&lt;/code&gt;的。 我们还可以记录每个点由某个颜色连接到的顶点，这样无论是考察一个点是否用过某个颜色还是寻找新顶点都可以在&lt;code&gt;O(1)&lt;/code&gt;的时间下完成！ 遍历边涂色，每个边最坏要把所有点加进扇，所以最终复杂度是&lt;code&gt;O(mn)&lt;/code&gt;的。&lt;/p&gt;&lt;h2&gt;代码示例&lt;/h2&gt;&lt;p&gt;这是我写的垃圾代码，仅供参考。。。&lt;/p&gt;&lt;pre data-language=&quot;cpp&quot;&gt;#include &amp;lt;algorithm&amp;gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;unordered_map&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;numeric&amp;gt;

using std::hash;
using std::iota;
using std::make_pair;
using std::max;
using std::pair;
using std::swap;
using std::unordered_map;
using std::vector;

struct PairHash
{
    size_t operator()(const pair&amp;lt;int, int&amp;gt; &amp;amp;p) const noexcept
    {
        return hash&amp;lt;int&amp;gt;()(p.first) ^ (hash&amp;lt;int&amp;gt;()(p.second) &amp;lt;&amp;lt; 1);
    }
};

void popHead(vector&amp;lt;int&amp;gt; &amp;amp;vec)
{
    if (vec.empty())
    {
        return;
    }
    vec[0] = vec.back();
    vec.pop_back();
    return;
}

void removeValue(vector&amp;lt;int&amp;gt; &amp;amp;vec, int x)
{
    for (int i = 0; i &amp;lt; vec.size(); ++i)
    {
        if (vec[i] == x)
        {
            vec[i] = vec.back();
            vec.pop_back();
            return;
        }
    }
    return;
}

void modifyValue(vector&amp;lt;int&amp;gt; &amp;amp;vec, int x, int y)
{
    for (int i = 0; i &amp;lt; vec.size(); ++i)
    {
        if (vec[i] == x)
        {
            vec[i] = y;
            return;
        }
    }
    return;
}

class Graph
{
public:
    int size, maxDegree;

    struct Edge
    {
        int from, to;
    };

    vector&amp;lt;Edge&amp;gt; E;
    vector&amp;lt;int&amp;gt; degree;
    unordered_map&amp;lt;pair&amp;lt;int, int&amp;gt;, int, PairHash&amp;gt; G;
    vector&amp;lt;vector&amp;lt;int&amp;gt;&amp;gt; adj;

    explicit Graph(int x)
    {
        size = x;
        maxDegree = 0;
        degree.resize(x, 0);
        adj.resize(x);
    }

    void addEdge(int u, int v)
    {
        G[{u, v}] = E.size();
        adj[u].push_back(E.size());
        adj[v].push_back(E.size());
        E.push_back({u, v});
        ++degree[u];
        ++degree[v];
        maxDegree = max({maxDegree, degree[u], degree[v]});
        return;
    }

    vector&amp;lt;int&amp;gt; edgeColoring()
    {
        vector&amp;lt;vector&amp;lt;int&amp;gt;&amp;gt; edgeColor(size, vector&amp;lt;int&amp;gt;(maxDegree + 1, -1));
        vector&amp;lt;int&amp;gt; color(E.size(), -1);
        vector&amp;lt;vector&amp;lt;int&amp;gt;&amp;gt; freeColor(size, vector&amp;lt;int&amp;gt;(maxDegree + 1));

        for (int i = 0; i &amp;lt; size; ++i)
        {
            iota(freeColor[i].begin(), freeColor[i].end(), 0);
        }

        auto getEdge = [&amp;amp;](int u, int v)
        {
            if (G.count({u, v}))
            {
                return G[{u, v}];
            }
            else
            {
                return G[{v, u}];
            }
        };

        auto findFan = [&amp;amp;](int u, int v)
        {
            vector&amp;lt;int&amp;gt; fan;
            vector&amp;lt;int&amp;gt; used(size, 0);
            fan.push_back(v);
            used[v] = 1;
            int c, w;
            while (1)
            {
                c = freeColor[fan.back()][0];
                if (edgeColor[u][c] == -1)
                {
                    break;
                }
                w = edgeColor[u][c];
                if (used[w])
                {
                    break;
                }
                fan.push_back(w);
                used[w] = 1;
            }
            return fan;
        };

        auto rotateFan = [&amp;amp;](const vector&amp;lt;int&amp;gt; &amp;amp;fan, int u)
        {
            if (fan.size() &amp;lt;= 1)
            {
                return;
            }

            for (int i = 0; i &amp;lt; fan.size() - 1; ++i)
            {
                popHead(freeColor[fan[i]]);
                if (color[getEdge(u, fan[i])] != -1)
                {
                    freeColor[fan[i]].push_back(color[getEdge(u, fan[i])]);
                    edgeColor[fan[i]][color[getEdge(u, fan[i])]] = -1;
                }
                color[getEdge(u, fan[i])] = color[getEdge(u, fan[i + 1])];
                edgeColor[u][color[getEdge(u, fan[i])]] = fan[i];
                edgeColor[fan[i]][color[getEdge(u, fan[i])]] = u;
            }
            int fanLast = fan[fan.size() - 1];
            freeColor[fanLast].push_back(color[getEdge(u, fanLast)]);
            edgeColor[fanLast][color[getEdge(u, fanLast)]] = -1;
            color[getEdge(u, fanLast)] = -1;
            return;
        };

        auto flipPath = [&amp;amp;](int u, int c, int d)
        {
            modifyValue(freeColor[u], c, d);
            while (1)
            {
                swap(edgeColor[u][c], edgeColor[u][d]);
                if (edgeColor[u][c] == -1)
                {
                    break;
                }
                color[getEdge(u, edgeColor[u][c])] = c;
                u = edgeColor[u][c];
                swap(c, d);
            }
            modifyValue(freeColor[u], d, c);
            return;
        };

        for (auto e : E)
        {
            int u = e.from, v = e.to;
            vector&amp;lt;int&amp;gt; fan = findFan(u, v);
            int d = freeColor[fan[fan.size() - 1]][0];
            if (edgeColor[u][d] == -1)
            {
                rotateFan(fan, u);
                color[getEdge(u, fan[fan.size() - 1])] = d;
                popHead(freeColor[fan[fan.size() - 1]]);
                edgeColor[u][d] = fan[fan.size() - 1];
                edgeColor[fan[fan.size() - 1]][d] = u;
                removeValue(freeColor[u], d);
            }
            else
            {
                int c = freeColor[u][0], w = 0;
                flipPath(u, c, d);
                for (int i = 0; i &amp;lt; fan.size(); ++i)
                {
                    if (edgeColor[fan[i]][d] == -1)
                    {
                        w = i;
                        break;
                    }
                }
                vector&amp;lt;int&amp;gt; subFan(fan.begin(), fan.begin() + w + 1);
                rotateFan(subFan, u);
                color[getEdge(u, fan[w])] = d;
                removeValue(freeColor[fan[w]], d);
                removeValue(freeColor[u], d);
                edgeColor[u][d] = fan[w];
                edgeColor[fan[w]][d] = u;
            }
        }

        return color;
    }
};

void read(int &amp;amp;x)
{
    x = 0;
    char ch = getchar();
    while (ch &amp;lt; 48 || ch &amp;gt; 57)
    {
        ch = getchar();
    }
    while (ch &amp;gt;= 48 &amp;amp;&amp;amp; ch &amp;lt;= 57)
    {
        x = (x &amp;lt;&amp;lt; 3) + (x &amp;lt;&amp;lt; 1) + (ch ^ 48);
        ch = getchar();
    }
    return;
}

int main()
{
    int T, n, m, u, v;
    read(T);
    for (int t = 0; t &amp;lt; T; ++t)
    {
        read(n);
        read(m);
        Graph g(n);
        for (int j = 0; j &amp;lt; m; ++j)
        {
            read(u);
            read(v);
            g.addEdge(u - 1, v - 1);
        }
        vector&amp;lt;int&amp;gt; ans = g.edgeColoring();
        for (int j = 0; j &amp;lt; m; ++j)
        {
            printf(&amp;quot;%d &amp;quot;, ans[j] + 1);
        }
        printf(&amp;quot;\n&amp;quot;);
    }
    return 0;
}
&lt;/pre&gt;&lt;h2&gt;实际测试&lt;/h2&gt;&lt;p&gt;由于常数过大，上述示例代码有时跑得比&lt;code&gt;O(mn^2)&lt;/code&gt;的算法还慢。。。&lt;/p&gt;&lt;/article&gt;</content:encoded><author>超几何冰精</author></item><item><title>[日记] 广州行记</title><link>https://passthem.top//blogs/40</link><guid isPermaLink="true">https://passthem.top//blogs/40</guid><description>一篇由 モノクロ子 写的博客</description><pubDate>Thu, 14 Aug 2025 15:35:09 GMT</pubDate><content:encoded>&lt;article&gt;&lt;h2&gt;8 月 14 日 准备 #00&lt;/h2&gt;&lt;p&gt;由于心里怀着不安，早晨七点就起床了。上午试着做了名片，没做成，报废率 100% 。右手因为长久握刀，十分酸痛，大拇指与食指都很麻，每次触碰都像电视雪花屏一般在脑海里。 离开前，中午最后吃了一次 KFC。 A0088 号，虽然我并不迷信，但希望这两个 8 能祝我旅途顺利。离开 KFC ，来到超市。与我小时记忆中的大不同，这里貌似变小了许多，货架少了许多，人少了许多，灯光暗了许多。……也许是因为我长大了。找到花露水和伞，就这般支出了 66 元，离开了。 回到家前，在公交站台，拍下了列车时刻表。归家后觉得疲惫，休整了两个小时，顺带办好了地铁二维码。于是又站到窗台前的切割板前，做名片。与之前做的4个加起来，一共10张，也许足够了。给我群内的在广州的人都写了一张。只可惜设计的塔罗牌样式名片没能来得及做出，家里的打印机会偏色。但仅有白底黑字也是一种独特吧。 该睡了，23 时 42 分落笔。&lt;/p&gt;&lt;h2&gt;8 月 15 日 跋涉 #01&lt;/h2&gt;&lt;p&gt;凌晨三点突然下起暴雨，打雷把我吵醒了，只得随便吃点零食又回到床上。不一会就六点半了，我的闹钟压根没用上，但是必须现在就拿上行李前往公交车站。 我记得公交车没这么小的，可它确实这么小。七点整准时出发，向邯郸东方向开去。公交车的感觉还是很不好，我真的希望公交车哪天能坐着不晕车。 抵达邯郸东站，进去了。我貌似来过这里，但真的来过吗？这里只有很多人。泡一桶方便面，吃完，就该上车了。 G335 只是一味地向南方驶去，以 300 km / h 的速度疾驰。抵达广东前，路上除了村、田、林、楼，几乎没有别的景色，但那云比以往飞得快得多。唉！只是云有什么好看的呢？不到一小时便觉得有些无聊了。因为定票晚，所以还得坐一等座，实际上这个宽间距与小桌板反而拉开了很大距离，不是很喜欢。 中午得吃饭呀！车上其实有套餐，我没见过，就吃了一份，但贵，这一份就要70左右了，味道也一般。下午又是村、田、林、楼，只是楼要高很多。 抵达广东内地后，云突然变黑了。低压压的、雾蒙蒙的、卷成一团的，都有。看来南方天气并不理想。车窗上还有水滴划过，我有些惊恐，但是就要到了。 抵达广州南站，我的花露水落车上了。但不要紧的，商店总会有卖。站口很多拦人说打车的，我记得这是坑外地人的伎俩。走着去民宿不是办法，于是看了别人怎么坐地铁。 地铁对我来说极度新奇，几分钟就能到下一站的交通工具曾经只存在于小学的我写的“科幻”作文里，还是作业要求写的。地铁能让我忘记时间，虽说从广州南到万胜围要一个多小时，但总觉得是一瞬间的功夫。 抵达万胜围，和 ReKarv 会合。于是把我带到了超几何冰精那桌旁。雷云也在，我没见过这么多人，还是现实中见，完全无法控制表情……紧张到甚至听不清到底别人在说什么，也不敢正着看人脸。 吃完饭了， ReKarv 说带我去见小帕……我其实有很奇怪的感觉在心里，不敢走。人真的很多，我难以想象这全是音 Mader。我太害怕了，几乎没记着什么事…… 十点要回去的时候，下雨了，很大的雨。但只持续了一会，到民宿又停了。 明天的事情，我怎么会知晓呢？ 该睡了，1 时 21 分落笔。&lt;/p&gt;&lt;h2&gt;8 月 16 日 刹那 #02&lt;/h2&gt;&lt;p&gt;早晨一起来，吃烧麦，然后就坐地铁朝着万胜围去了。前往他们的民宿，看了一上午雷云展示的 Mac 工作流以及点播音 Mad ，顺带又见了几个人。 中午吃过饭直接前往岭南音乐馆。 我只能用做梦来形容音 Live。看完了还很意犹未尽，可记不住一点了。 聪明的，你告诉我，为什么转眼间便要离开了？ 心中悲伤，睡不着，无法回忆起具体的事。1时35分落笔。&lt;/p&gt;&lt;h2&gt;8 月 14 日 追忆 #03&lt;/h2&gt;&lt;p&gt;在超市买过伞，到家打开，发现有线头。没有过多在意，收进书包里了。整理过的东西大概是鞋、水手服、平板、雨伞、送给 Karv 的东西。这样收拾完，就休息了。 10 月 5 日晚 11 时补充追忆。&lt;/p&gt;&lt;h2&gt;8 月 15 日 追忆 #04&lt;/h2&gt;&lt;p&gt;这一天只能说错过了许多。小糖没见到，晚上没玩尽兴。但是是第一步，也不用太挑剔吧……起码，家长现在更信任这边了，下次也不用解释太多了。 到了民宿才发现，原来伞不止有线头，伞骨也是坏的……再加上花露水落车上了，所以，我去超市其实是白忙活了。 晚上，见到泡壳，泡壳一上来就捏着我的脸问我：“你是谁？”“我是谁？”，实在是太害怕了，什么话也说不出，不受控制的在笑，直接蹲在角落。小帕给了我四张名片，但是好像一开始没认出我。 签名实在是没签好。 其实仔细一想，果然我还是不知道怎么说话合适的。也并没有和大家熟悉，所以……存在感实在是很低。 10 月 5 日晚 11 时补充追忆。&lt;/p&gt;&lt;h2&gt;8 月 16 日 追忆 #05&lt;/h2&gt;&lt;p&gt;点播音 Mad 的时候其实还聊了很多话，比如说下午的作品。我们看了很多作品，包括伪猪神素材，聊到高等精神病，我说：“Live 上会不会真有这些？” 答案是：“说不好。” 但是结果大家都知道，都有。 牛肉丸好吃。 到了会场大门，杨柯和我握握手，在签名板上签名。门口的音 Mader 比 15 日晚上的还要多得多。会场的音响很垃圾，所有曲子都变成了 Hardcore，但是我还是坐在第一排当气氛组。Live 很开心啊！一开始和 ReKarv、小帕在一起，后来他们受不了低频，去后面了，我又和西瓜在一起看。 度过了一个下午，结束了。但是还要回万胜围，见小茶。 火锅好吃。 于是就分别了……下次相见是什么时候？大概至少也要三年了。 10 月 5 日晚 11 时补充追忆。&lt;/p&gt;&lt;h2&gt;8 月 17 日 追忆 #06&lt;/h2&gt;&lt;p&gt;还有最后一上午时间，去民宿再见见大家吧。 我已经记不清房门号了，但是还记得干了什么。先去见雷云他们，打块，又从雷云那拿了枣，今天刚吃完，好吃。再去见小帕他们，小帕还没起。泡壳又过来捏着我的脸……然后到了 3307。只有这一个房间的门牌号记得很清楚。一进门就是两个裸 男。看小槽画画，拿杨柯的签绘，给 ReKarv 东西，打块，和小蒜合影。于是大家都吃饭去了，我也该走了。 明年还有活动吗？ 10 月 5 日晚 11 时补充追忆。&lt;/p&gt;&lt;h1&gt;广州行记 完&lt;/h1&gt;&lt;h1&gt;&amp;amp;&amp;amp;またの御アクセスをお待ちしております。&amp;amp;&amp;amp;&lt;/h1&gt;&lt;/article&gt;</content:encoded><author>モノクロ子</author><enclosure url="https://legacy.passthem.top/api/v1/static/302afd460259a2e7f77f60e52d2e0ad8.jpg" length="0" type="image/jpeg"/></item><item><title>Linux 二三事 - 解决 XWayland 应用剪切板在 Hyprland 无法粘贴到 Wayland 应用的问题</title><link>https://passthem.top//blogs/39</link><guid isPermaLink="true">https://passthem.top//blogs/39</guid><description>一篇由 Passthem 写的博客</description><pubDate>Fri, 13 Jun 2025 14:24:50 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;X11 协议的程序有很复杂的剪切板逻辑，而要兼容 Wayland 下的剪切板，则难上加难。最近开始使用 Hyprland 事，剪切板无法使用。因此在这里需要寻找一个兼容的方式。&lt;/p&gt;&lt;p&gt;通过简单的网络搜索，找到了一个需要弄一个守护程序的解法：使用 clipnofity^1 来监听 x11 下的复制事件，然后用 xclip^2 处理剪切板。&lt;/p&gt;&lt;hr&gt;&lt;h2&gt;依赖安装&lt;/h2&gt;&lt;p&gt;遗憾的是，Fedora 包管理器并没有直接配布 clipnotify，我们要从源码自己编译。因此，我们安装一些依赖：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo dnf in libX11-devel libXfixes-devel
&lt;/pre&gt;&lt;p&gt;这个 libXfixes 找了我好久。。接着编译安装。&lt;/p&gt;&lt;p&gt;从 Github 下载代码并编译：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;git clone https://github.com/cdown/clipnotify.git
cd clipnotify
make
&lt;/pre&gt;&lt;p&gt;安装到我的 &lt;code&gt;bin&lt;/code&gt; 文件夹中：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo install -o root -g root -m 0755 ./clipnotify /usr/local/bin/clipnotify
&lt;/pre&gt;&lt;p&gt;这个操作会把 &lt;code&gt;./clipnotify&lt;/code&gt; 复制到 &lt;code&gt;/usr/local/bin/clipnotify&lt;/code&gt; 中，并且设置基本的文件归属、文件权限等属性。&lt;/p&gt;&lt;p&gt;另一个依赖，&lt;code&gt;xclip&lt;/code&gt; 可以直接从包管理器安装：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo dnf in xclip
&lt;/pre&gt;&lt;h2&gt;下载别人的代码并修改&lt;/h2&gt;&lt;p&gt;这里我们不重复造轮子，而是用别人的轮子：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;git clone https://github.com/arabianq/wl-x11-clipsync.git
&lt;/pre&gt;&lt;p&gt;进去改几行代码，为了让 QQ 的图片工作起来更正常：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;# L61: 将图片和 HTML 的匹配替换
    if &apos;text/uri-list&apos; in targets:
        return &apos;text/uri-list&apos;
    for t in targets:
        if t.startswith(&apos;image/&apos;):
            return t
    if &apos;text/html&apos; in targets:
        return &apos;text/html&apos;
# L138: 将图片和 HTML 的匹配替换
    for t in targets:
        if t.startswith(&apos;image/&apos;):
            return t
    if &apos;text/html&apos; in targets:
        return &apos;text/html&apos;
&lt;/pre&gt;&lt;h2&gt;立即启动并开机自启动&lt;/h2&gt;&lt;p&gt;先立即启动：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;❯ nohup python clipsync.py &amp;gt; /dev/null &amp;amp;
[1] 645842
nohup: 忽略输入并将标准错误重定向到标准输出
&lt;/pre&gt;&lt;p&gt;然后，设置 Hyprland 的开机自启动：&lt;/p&gt;&lt;pre data-language=&quot;conf&quot;&gt;exec-once = python /home/passthem/GitClone/wl-x11-clipsync/clipsync.py
&lt;/pre&gt;&lt;hr&gt;&lt;pre data-language=&quot;footnote&quot;&gt;[1] clipnotify: https://github.com/cdown/clipnotify
[2] xclip: https://github.com/astrand/xclip
&lt;/pre&gt;&lt;/article&gt;</content:encoded><author>Passthem</author><enclosure url="https://legacy.passthem.top/api/v1/static/c32bc5392cdfecf920a0d01fbbb96eaa.png" length="0" type="image/jpeg"/></item><item><title>绕越 - 夏末</title><link>https://passthem.top//blogs/38</link><guid isPermaLink="true">https://passthem.top//blogs/38</guid><description>一篇由 汀 写的博客</description><pubDate>Sun, 08 Jun 2025 13:55:47 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;夏天的影子一晃就消失掉了。我想这也没什么，毕竟整个夏天都在下雨，我和那帮小雀子伙伴们也没弄得几天欢脱。母亲把我扣在家里，不让我出去。偶尔地邻树的小雀，名叫生生的，躲着从树叶上掉下来的雨珠，飞到我家窝里找我玩。偶然时就会有这样的对话： “水杨（这是我的名字）！你妈葛家不啊？” “喂，小生！不在家啊，麻溜地，过来……” 在窝里自然也没得什么玩。雀子们有一种赌博的游戏，大致的玩法是：把一些从采石场找来的石头，用细树枝刻上或是画上一点纹理，当作游戏的工具。纹理样式大概是不同的颜色，简而言之就是：红色最大，灰色和黄色次之；中间还有各种颜色，不过我记不得或者说是记不清。最小的颜色是白的。也因为这个，大伯他们赌博的时候我也几乎听不懂。生生就经常数落我；我家里有这种赌具，那是我父亲还在世时留下的。父亲走了以后，母亲不会赌博，也就经常不管这一套赌具。 “老水。你说：你比我大出两个月来，怎么来说你也应该比我懂得多呢。我都会玩这种东西，怎么反倒你比我大这么多，就不会了？” “我家里也不赌这一律......” “嘿！我&amp;amp;&amp;amp;操&amp;amp;&amp;amp;。你妈就不赌个三两块钱吗？照理来说上一辈雀子不都会赌两下子吗。你家这怎么一回事？” 我涨红了脸。半天我才憋出一句： “......我爹那是例外。我妈不赌，我也不赌，况且我讨厌赌博这东西——” “哎哟我——你那哪是讨厌赌博。你就是纯记性不好！我问你，那会玩的都会背的口诀：红云当空飘，辉煌（灰与黄的谐音，故作“辉煌”。后来我去老雀子们那里考证，他们也记成这）照林梢......接着呢？” 这货把我会的都说了。再往下我就不知道。 “说到底——你就是玩不明白。得了，雨也停了。咱俩出去抓蜘蛛去得了。” 八月末，天气还是有点热。出了窝，外面是又潮湿又闷的一种热，除了夏季的雨后我从来没感受过。生生蹦了出去，敞开胸膛飞了一段，最后落在一根树枝上。我随着它飞。刚下完雨，我们也不知道会不会有蜘蛛可以抓，不过大半不会有。生生携着我在林子里飞了一圈，不见得有；他又逆回来飞一圈，也不见得有。我实在飞累的一头，大叫一声道： “得了。我&amp;amp;&amp;amp;操&amp;amp;&amp;amp;。你这么飞得累死我。” “你说不会玩石头我就只能带你出来。要不咱俩做个啥？无聊也是无聊着的。 “老水。你说你这，一脑袋不行的，二体力不行的。你这以后能干个啥......我听我爹说，你上周搭窝五个塌了仨。你以后媳妇儿的，这你&amp;amp;&amp;amp;妈&amp;amp;&amp;amp;咋办呢。 “亏我还把你当老哥看。啥也不会么，你这，叫人骂窝囊啊。 “你爹还没了，这还不能啃老。你说你妈，能干个啥？出去悄儿咪地卖偷来的502胶水，以为这就能——” “我&amp;amp;&amp;amp;操&amp;amp;&amp;amp;你&amp;amp;&amp;amp;妈&amp;amp;&amp;amp;&amp;amp;&amp;amp;逼&amp;amp;&amp;amp;。你给我他&amp;amp;&amp;amp;妈&amp;amp;&amp;amp;闭嘴。” 我骂出来这话的时候完全没走脑子了。事实上我也觉得他前面这一番话也没走脑子，我实在忍不住他骂我爹妈。我骂完以后完全地眼睛一黑，后面发生什么了也不知道。就像人俗话里那种“起猛了”，我的脑袋一下气血上不来，也许就晕过去了。这也太夸张，但也无法。父亲的死实际上我并没什么感觉，因为我那时还小，实际上不会有什么记忆。我甚至也已经有点忘了父亲长什么样子。我们雀子不像人们那般长枪短炮，想要留存住雀子的模样只能去找林子南边的竹爷。竹爷是个专给人画画的，我不知道他多少岁了，大概是九岁多一点。总之他算一只长寿雀子。父亲当年嫌他要价十二只虫子，没画；我也就不记得是什么样子了。晕过去之后我也没幻觉到什么，醒来只发现在自家窝的床上了。 “......又跑出去。......是是是，水杨这孩子......好了好了、哎、好嘞，拜拜。” 母亲在门口发出这样的句子。我觉得应该是在送生生他妈走。妈还没发觉到我醒了。我抬起翅膀摸摸腿，凑近脑袋一闻：一股金属和碘的混合味道传来。这味道让我确实不好受。生生就是这样一个后辈，完全不对我尊重——或者我也不该这么觉得，因为有的时候我对长辈也不够恭敬——，不把我当哥看。他嘴上的谈资大概只是他爹教他的什么东西，我觉得这都很江湖气，不愿听这些；又是他妈给他送的什么东西，我觉得都太虚无缥缈，也不愿意听。所以这一番下来只能聊我了。我又是个贫苦人家的贫苦孩子，他只能嘲笑我了。久而久之其实我也对他有些反感，可是又能说些什么呢。我不好拒绝或者反驳人家，刚刚的一句骂话是我实在无奈的一举。这时候妈进来了： “你这孩子。又和生出门去不告诉我。你这腿，怎么办得好呢？你在家静养两天，腿能走了再说。 “唉——你说你，这腿一坏还不能出门搭窝了。浪费这两天干点啥不好，能搭多少个窝啊？全他&amp;amp;&amp;amp;妈&amp;amp;&amp;amp;浪费了......” 我实在有些无言了。 腿一坏，我觉得这就是一个和生生彻底决裂的标志了，于是我有理由不找他。我已经把这几日的串词想好：他胆敢这两天我养病来看我，我就说腿折掉了，不好见；倘若是四天或者六天以后来看我，我就说还不能走路；如果一周以后才来，大概是他真的怕了，这时候就不吓他。总之，我是有心和生生决裂了。不过如果以生生一以贯之的性格，大概他连愧疚也不会愧疚。想到这里又顿感串词也没什么用。 这两天，母亲很少出门了。我觉得是她太过分对我矫情。但是她真一出门，我真一站起来，发现还是摔在地上了。所幸没再折一次腿或者是把另一条也折了。母亲总不能不管我们两个人的吃食，她找吃食也是一大难题，也要花上很久，所以我就又狼狈地爬起来，这次不敢站了；两只翅膀把在床沿上，努力把自己向上拖拽，试图从地上爬回床上。努力了一两次以后，我就又假装什么都没发生地跑回床上了，然后两膀一撑，把踹到脚底的被子拽上来，盖好被子，这样就万无一失了。母亲也没看出来我在家摔了一跤，这就好。我这两日吃的全是像人们吃的那种米，黄的或者白的。很甜，要比苦嗖嗖的虫子好吃。也不知道母亲哪里弄来又哪里煮熟的，我想可能是附近有什么好心人在喂我们雀子。我好地很快，夏天过去地也很快。 我养好那一天正好是九月份。虽然我也只活了一年半，也大抵知道一些事情：比如这之后就不会有人类小孩来森林大山里玩了；每年六月份会有很多人来山里走一走；等等等等。前面说过我脑子不好用，所以也只能记得这些。山里难得的清静，十分舒适，代价是夏天的离去。其实也不能算真的离去了，只是养病的两天没有下雨，我就觉得怎么怎么样其实也不好。夏天在这样一个尴尬的时节离去了，我很伤心。我又要投身到搭窝的事业里了。什么时候我也能搭出头。&lt;/p&gt;&lt;/article&gt;</content:encoded><author>汀</author></item><item><title>绕越 - 引子、林间</title><link>https://passthem.top//blogs/36</link><guid isPermaLink="true">https://passthem.top//blogs/36</guid><description>一篇由 汀 写的博客</description><pubDate>Fri, 06 Jun 2025 08:21:37 GMT</pubDate><content:encoded>&lt;article&gt;&lt;pre data-language=&quot;javascript&quot;&gt;前言：
本文（绕越 - 引子、林间）是盐酸在二〇二三年创作的未完成文章的引子。文章标题来源于万能青年旅店同名曲目。
&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;引子&lt;/strong&gt; 从东北平原迈向了华北平原，从松花江流淌进了渤海，从大兴安岭延伸进了太行山。在山海关口前，是否也曾想：河北与黑龙江相类似吗？河北如母亲般剜痛地包裹着京津，将一切奉献给孩子们，然后自己同蜡烛一样融化，在安静的夜晚痛声哭泣；黑龙江在冰封的土地下沉睡，此时是燃烧殆尽的木炭——或许只能被称作是一摊灰，一摊草木花结成的灰，他的热气在上个世纪就燃烧殆尽，成为一湾正幻灭的塘。无论如何，踱步进入河北界，离了这生活了十四五年的东北，也有一丝乡愁，或在河北也慢慢溶解开，制成饱和水溶液。 河北和黑龙江的孩子，大抵也是相类似的。这群茂腾腾的孩子，生来就是天真无邪的。向年长迈进，这才通人的升学狗洞就狭窄起来，对人施加的向下压力——或许是书本、父母老师的哀怨谩骂——开始愈来愈大，愈来愈大，这就是累赘了。河北的高中学生为了考出河北，努力了；黑龙江的高中学生为了逃离东北，坚毅了，但是济于事么？在恶性的循环中，在过去四十五年的历史中，这群可爱孩子开始变成没有一丝爱与情的人做的考试机器，丢掉了孩童之气，丢掉了一份纯真的心。于是在教学楼下，在江桥栏外，一具具触目惊心与绝望的尸骨被风干，被溶解燃烧，被研磨捣碎，被冷冻与烤炽热了。 雷声滚滚下来，雨水与冰雹浸泡砸顷。灰哑的蒸腾雾弥漫了尽，世界在无声顷刻中倒塌，乌托邦的代替品从此而来。嘶哑的吼叫袭卷，山野里充斥着被咬碎的断鸟残肢。在这一时刻似乎血液也不再流动，耳畔是母亲哭干泪水后无声的震响，眼前是充斥着废墟的一湾死去的塘。 吞服青绿色药丸，两粒、三粒、七八粒；昏暗的房间中正没有一点希望。西北角点着一盏台灯，桌上的电子式钟表常亮，发出白色的清光。他看看那外面的熥一遍了的掉漆劣质楼、无顶体育馆，看看那远方的包庇了的哑光铁路局、血光身份证。安静的吉他声在空气中盘旋着、绕着，清幽地穿进脑海。白纸黑字大洋流，麻绳矮凳吊死鬼。毡帽裘衣大革袍，粗嗓豪壮老彪汉。他的呼吸开始急促，身体开始蜷缩、舒展、暴开、四分五裂，于是这意识呢？意识在雷声与未知中消散了、破绽了、飞远走了…… 这就是合眼了，颓然无法呼吸，然后致死休克了。他的皮肤上是过敏以致的红疹，遍布了、发臭了，这是新世纪的尸斑、&amp;amp;&amp;amp;改&amp;amp;&amp;amp;&amp;amp;&amp;amp;革&amp;amp;&amp;amp;&amp;amp;&amp;amp;开&amp;amp;&amp;amp;&amp;amp;&amp;amp;放&amp;amp;&amp;amp;的碑。他——我，就这样死去了。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;林间&lt;/strong&gt; 上升的意识，正是迷茫了，缩成一团肉球。我在肉球中，这里太黑、太软糯，不知道自己会去向哪里。然后眼前变亮、变亮，吱吱地，呖呖地。我的身体变轻了、变小了。再睁眼，身旁乌黑毛羽的母亲抚着我的头。果真过去的一切是泡影罢？我不知道。大兴安岭上空遮蔽着一层乌云，打鼓般的雷劈在大地上，群蚁的雨水降下来，即使我处在树梢间，密麻的树叶子间也止有空隙，雨点子顺着叶片下来，滴到我的身上、滴到母亲的身上，浸泡湿了苔藓附着的窝。 这只雌雀子，是我的母亲了。她不知怎的，下卵只下出我一个，只培出我一个。我明白这事不会有的，但是这事就发生在了我身上，倒不如信其有不信其无。我们是一类鸟，活在这广阔的林林间，自然也只是大自然一点不起眼的产物。大地母亲从丰饶的河水里面泼洒一点水露，幻化成了我们的肉身，我们如此诞生。就像是任何杜撰出来的神话一样，我们存在在这渺远广阔的山林里面，也许不被人注意到也好，也许没人注意到才好。山林像是一部明传奇，有害虫、有饮水；有青山白云、有呼玛河的湿风；有笛声小号的冲力、有大雨惊雷的淖气；有白茫茫，重重的群峰雾气、有红羡羡，汹汹的花草火光。萨克斯爆破大庆石油田，电吉他烘炙鹤岗房地产；鸭绿江传来鼓点震震，水中的炸弹点火，发出几几轰鸣；乌苏里漂着船支舟舶，现在大抵也没有了，都沉没或沉默到河床上。 我喑哑了。这是夏季，热热的风拂面，吹着雨滴打在小脸儿上；红润的面颊颓下去了。 滂沱间，我的眼睛也颓下去。雨在这一区里大底不会停，也许永远也不会停。刚过去的从乌黑发白的云朵，领着无数朵这样的同类又朝这里袭来。我盯着母亲，母亲看着雨，雨观察着山脉。母亲叹息一声，用两翼的羽毛拂过我的身体，对我说一句： “孩子——走么？” “走，走哪？” 母亲又叹息一声。半晌后，说： “我也不知道。或许是南方，总要比这北方的森林强呢。 “这一带的，人类越来越多。听隔壁林子你那三叔说，是半光山的一隅有人采出了金子。人顺着国道乡道就都过来了，在那搭了几顶帐篷，于是就挖。 “那金子早被日本人挖得快光了！”母亲突然以一种气愤的语调支起来，“哪还有个块呢？我看这半光山，再挖就成全光山了......” 我不能说话。我也说不出来什么。 母亲毕竟是个年纪大的雀子，从叔父辈雀子那里传下来的事，我兴许知道几件她曾经跟我讲过的。什么日本人什么金子，我自然也没法多理解。但我隐隐约约地感觉是，母亲已经厌倦了这里贫穷而又拮据的生活。 “......我说也是呃——金子，有个&amp;amp;&amp;amp;鸡巴&amp;amp;&amp;amp;用？还不如从地里刨个虫子，能吃一顿好。这帮人想的什么呢？金子那么硬，又嚼不动咽不下。 “你大舅就是吃了一块金子死了。我们小时候那会，飞到加格达奇去找吃的。那有座北山，老漂亮了——你大舅在人家火车站门口，叨了一块人家女旅客丢了的断了的金项链一颗珠，当场就死了......真是，真&amp;amp;&amp;amp;鸡巴&amp;amp;&amp;amp;晦气，这金子......” 我亦不能说话。她这几句话下来太跳跃，从南方的水乡又跳到日本，又跳回到北方的加格达奇，听得我发愣。 我之前听母亲说，我原本是有父亲的。父亲在我五个月大的时候和三叔出门给我采虫吃，那时正好是春天，一帮持着长枪短炮的人从一块废铁里——听母亲说，那叫“汽车”——钻出来，到处对着我们这群。父亲顶害怕，他也不甚知道这是什么东西。住在隔了六棵树上的大伯见得多，说这叫“相机”，我也不能理解这是什么东西。父亲以为是那种以前人拿的猎枪，就跟三叔乱飞。飞到一处山上，以为安全了，这时候真有了拿猎枪的过来，一梭子把父亲打下来了。三叔看着父亲的血肉从脑袋里从身体里流出来，那是顶恐怖的。三叔不敢飞，怕也把他打下来。他只能婆娑地往树枝里蹦。等猎人走了，父亲也被带走了。我依稀记得母亲知道这消息后，痛苦地创在了树干上，晕了大半天。二叔和四叔到处给母亲找草药，终于给母亲救醒。三叔自然是不去的，他也差点因为血肉模糊的父亲尸体而晕过去。于是我就只能跟着母亲生存。直到我大了一点后，母亲才跟我说这些事实。我记得她和我说的时候，她的眼泪横流，我心惊肉跳。那一晚我们谁也没睡好觉。 这样的日子不知道过了多久。有一天母亲教我飞行。我很怕我会摔下去。我就只能硬着头皮飞，飞来飞去也超不过十米远。母亲头疼，甚至直接对着我喊：“你&amp;amp;&amp;amp;他妈&amp;amp;&amp;amp;有什么用！长了张嘴就会吃虫，你是&amp;amp;&amp;amp;傻逼&amp;amp;&amp;amp;吗？今天飞不满十米，你就别&amp;amp;&amp;amp;鸡巴&amp;amp;&amp;amp;给我吃饭了！”她愤然飞去了。那一天我只飞了九米，没吃虫。 母亲是这样一个凶狠的角色。至少在我眼里看来是这样的。她要总对我说，“你只管努力学搭窝就好......我保证你的吃虫和饮水问题，别的不用你操心......我还以后指望着你呢。”实际上，也许她自己也不知道自己能活到什么时候，不知道自己什么时候被猎人活捉了去，不知道什么时候被奋起的虫群打败；这都不知道，我也不知道。日子就是这样苟活的。搭窝是一门学问，既要找合适的松软的泥土，又要找根茎茂密的枝丫；或者是人们不要的干草，到焚烧厂能找到，或者是秋天焚的秸秆儿，细条的也能用。再就是蜘蛛网，这东西黏得慌，也适合当窝的托。这些个混到泥土里才能搭个窝。好一点的窝带紧口儿，坏一点的就是个敞篷，兴许是能住的，不过也比不上有盖儿的冬暖夏凉。这是雀子要学的一大要紧，也有专门的雀子群体来考我们这些事。搭不成窝的，如果人哪天传过来一条黑色的悬空长线，兴许站在上面也是休息；不过从玩得好的那群小雀嘴里，听到一点更骇人听闻的，就是有几只在上面的雀子变成黑的了，比我们的身体羽毛还要黑。风一吹，这雀子就随着风飘没了。我自然是害怕这一事，就有一天问妈： “妈！——雀子站在黑线上，真的会死了的么？” “你又是哪个听来的？成天净扯犊子。有那闲工夫你还不如多搭几个窝！” 她不回答我。如果她不回答我，那就是有这一桩事；反之如果极力问我“谁说的”亦或是“哪有啊”诸如此类的话，那就是没有。我是熟悉她的。总之是，母亲总是告诉我要好好学搭窝。她爱拿父亲的二哥举例子。 “你那叔子，成年以前就不好好学搭窝。现在好了，整天一事无成，又是倒卖蜘蛛网又是整烤虫子。鸟老了有啥用？也没个媳妇儿，不会搭窝，前前后后谈了三四个，也没个儿子女儿的。” 好像如果我不学搭窝，结局就是这样。 林间的生活就是这样乏味而又枯燥。我几次三番想走出林子，至少去呼玛看看；我倒不渴求那什么加格达奇还是半光山，见识一点才有好。我有时羡慕那些体型比我们大还更帅气的大雁，他们能随便去南方过冬，我们只能在这森林里待着。谁让我们是留鸟呢......这一桩事。&lt;/p&gt;&lt;/article&gt;</content:encoded><author>汀</author></item><item><title>[随笔集]  白草地 • 黑森林</title><link>https://passthem.top//blogs/31</link><guid isPermaLink="true">https://passthem.top//blogs/31</guid><description>一篇由 モノクロ子 写的博客</description><pubDate>Fri, 23 May 2025 11:09:29 GMT</pubDate><content:encoded>&lt;article&gt;&lt;h3&gt;这是我没有主题的随笔集，还请当成闲聊吧。&lt;/h3&gt;&lt;hr&gt;&lt;h1&gt;第零章 - 小城 • 夏夜雨中&lt;/h1&gt;&lt;hr&gt;&lt;p&gt;说起喜欢的天气，我大概会不假思索地回答是雨天。晴天太过耀眼、阴天太过消沉、雪天略显寂静。虽我也喜欢雪，但雨滴打在一切事物上的节拍最适合在&lt;strong&gt;我的房间&lt;/strong&gt;里，与我喜欢的歌一同聆听了。 虽然我听歌几乎是单曲循环或单专辑循环，但那些被我反复聆听的歌在我心中就是“经典”一样的东西了。我很喜欢在这种事上不断反复，所以有些几年前收藏的歌我到现在仍然在听，但这种反复给我带来了一些怀旧感。我时常在雨天听着歌，回忆着过去，做错的事也好、重要的事也罢，都是我怀旧的对象。 我会回忆过去带给我许多的人，我会回忆曾经我拍过的街边的照片，我会回忆以前在我生命轨迹上创造了折痕的关键点。选择做音 MAD ，选择做全所为模仿，加入 PT 的小群，全都是这些关键点才把我画到了如今这个地方…… 可，最重要的是，那些重要的朋友一直给我的关照、勇气。没有我的那些朋友，我根本走不到今天。 除此之外，还有以前吃过的早餐，逛过的超市，以及路边的一个个招牌，虽然几乎与我无关，但“旺铺转让”时，我却总是不由自主地怀念着什么。其实就连写这段文章也是不由自主地想写就写下来的。当然，怀念也改变不了现在，只是对过去刻舟求剑罢了。 我不止怀念，我还会盼望，盼望未来，盼望未来的转机，盼望我也能有那么一束照进房间里的光。这个群算是这束光吗？语言能传达的还是太少了……当然我还是很开心能到这来，毕竟这里也给我很大的影响了。可美好的未来终究还是个幻想而已……一切都是未知的，怎么可能必定是好的呢？ 我不知道未来的我会是什么样子。如果未来的我看见了这段字，请你帮我接着在这里回忆下去、写下去吧。 2025 年 5 月 23 日&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;第一章 - 乡村 • 麦田漫步&lt;/h1&gt;&lt;hr&gt;&lt;p&gt;归路上方的天空虽然并无晚霞，但我仍唱起了无名之星堕入星空之时所回响的鲸之歌谣。或许哪天我也会堕入星空，成为一颗琉璃色的石头吧？到那时，会有人记起这一天的下午吗？ 他发送了位置共享邀请，他正在几百米外，于是我踏着沙土，奔跑着，奔跑着。我不擅长运动，于是在他面前的路口停下，调整着呼吸，调整着心情，调整着表情。我反复左右望着，突然瞥见一抹红色躺在黑底上，那是音 MAD 活动：华的 T 恤。顾不上我因风凌乱的头发，追过去，却发现他躲在面包车后，尴尬地笑着，我突然也忍不住笑出了声，却没敢看他的正脸。 “你笑什么啊？” “因为你也在笑，所以……” “‘尴尬地笑，就这样’” 我趁机把提前写好的俳句塞给了他，那张纸在裤子里，经过一路奔波，上方早已布满皱纹。&lt;/p&gt;&lt;pre&gt;           ﹁
   路  此  淀
   边  般  粉
   烤  记  味
   肠  忆  道
   摊  难  淡
       得
       换
   ﹂
モ
ノ
ク
ロ
子
&lt;/pre&gt;&lt;p&gt;他匆匆把那张纸塞到裤兜里。 “所以，去哪？” “不知道。” 他一身黑，黑色的帽子，黑色的 T 恤，黑色的裤子，黑色的鞋。其他的色彩只有脖子上的 Pop 子和 Pipi 美的周边和白色的耳机。而我是黑白色的，如前所述，上白下黑。我 T 恤上的 Logo 就像全所为的头像。 他先转身，向他来时的反方向走去，而我跟着他。可走着走着，我就走到了他前边，变成了他跟着我。一路上实在没什么可写，太枯燥，也太乏味了。我们只是一直向前走，偶尔说两句话。那天是个阴天，就算天上也是一片白，如果是新生儿说不定会感到新颖，但我们都快从初中毕业了。 “咱总不能真去打舞萌吧？” “你这离城里太远，咱俩走路得走俩小时。” “诶，你知道那个什么， C ……‘ City Walk ’吧？咱这是V……‘ Village Walk ’。” “应该是‘ Country Walk ’。” “什么 Country 啊……” “ Country 有乡下的意思，你记好了。” 虽说是乡下，路也很破，但仍然车来车往，路上全是人。路边清一色的红砖墙，铁栅栏。墙上有很多广告，也是乡下的独特风景了。栅栏里的景色则没那么美，而与刻板印象相同了：脏，臭。每每路过，我都要加速跑上一阵。可我没有回头，我不知道他是怎么应对的。 “这地真破啊……” “之前，群里那个北林问我为什么从石家庄去峰峰，这下你可知道了。城市总比村里好啊。” “我又不是没去过村里。” 我几乎忘了这一路是怎么走来的。我只记得群里突然有人想看照片，于是我就快步跑到前面向身后拍了一张。我不知道他是怎么看我的，现在想来也感觉幼稚，跟小孩一样。不过这一路我收集，摄了些带要素的路边小物，但除了我，在月亮出来又落下一次后，还有谁会记得呢？ 我在麦田前停了下来，他也在麦田前停了下来。我望着那麦田，他也望着那麦田。他拍了几张照，我也拍了一张。我不知为什么我突然停步，兴许是走累了。 山重水复疑无路，柳暗花明又一村。我们走着走着，就走到了另一个村子。于是在那个村子，我们在墙边拍了两张合照，并且终于……又遇到了麦田，但这次没有路了，路旁也没有人了。于是他停下步伐，从我一路上竟始终没注意到的书包里掏出了些什么。 四张孤独摇滚的周边、一个书签、一个蝴蝶结？还有半包薯片？ “这几个你回去再看，记得看背面。” “背面不会有什么鬼图吧？” “不会，不会。” “这蝴蝶结是啥啊……哪来的？” “不该问的，别问。知道太多了不好。” “那这薯片是？” “我觉得挺好吃的，我没吃完，给你吧。” “我不要，我还不饿，你吃吧。” “这还能走吗？” “唉，我得回去了。” 我们决定返航。&lt;/p&gt;&lt;h4&gt;&amp;amp;&amp;amp;旅を続けよう。&amp;amp;&amp;amp;&lt;/h4&gt;&lt;h4&gt;&amp;amp;&amp;amp;歌を唄おう。&amp;amp;&amp;amp;&lt;/h4&gt;&lt;h4&gt;&amp;amp;&amp;amp;いつか忘れられるとしても。&amp;amp;&amp;amp;&lt;/h4&gt;&lt;h4&gt;&amp;amp;&amp;amp;波を紡ごう。&amp;amp;&amp;amp;&lt;/h4&gt;&lt;h4&gt;&amp;amp;&amp;amp;涙と共に、&amp;amp;&amp;amp;&lt;/h4&gt;&lt;h4&gt;&amp;amp;&amp;amp;茜落ちる窓に手を振ったの。&amp;amp;&amp;amp;&lt;/h4&gt;&lt;h4&gt;&amp;amp;&amp;amp;……&amp;amp;&amp;amp;&lt;/h4&gt;&lt;h4&gt;&amp;amp;&amp;amp;いつか見た色を貽す為。&amp;amp;&amp;amp;&lt;/h4&gt;&lt;p&gt;2025 年 6 月 9 日&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;第二章 - 红白 • 雨曝之下&lt;/h1&gt;&lt;hr&gt;&lt;p&gt;意外的，我没什么想说的。我完全感觉不到中考结束的氛围，意外平静。只是感觉有什么被我忘记了一样，永远留在了考试前。也许是因为再也没有什么事情需要我必须做的了。考前本想学习很多，但是今天没有兴致，毕竟还接了稿子要做。那么就怀旧一下吧……我总是这种人，没变过。 坐在考场上，感觉只是在小测而已，而没有什么值得注意的。考试的时候甚至完全感觉不到自己的身体。语文的默写考的几乎都没背，但其他的完全没有难度；理综除了【拓展】的题以外完全是送分；数学难度最高，但也是大部分的基础题；文综我没法评价，但说是开卷，却没有什么能从书上找到的答案；英语作为最后一个考的，答完题的时候心里必然有些哀愁。 除此之外呢？完全没有值得注意的。总觉得，很多想说的都说过了。我很讨厌我的初中生活，却忘记了为什么讨厌了。 2025 年 6 月 23 日&lt;/p&gt;&lt;p&gt;2025 年 10 月 6 日&lt;/p&gt;&lt;/article&gt;</content:encoded><author>モノクロ子</author></item><item><title>写点情感和学术的东西</title><link>https://passthem.top//blogs/30</link><guid isPermaLink="true">https://passthem.top//blogs/30</guid><description>一篇由 超几何冰精 写的博客</description><pubDate>Wed, 21 May 2025 18:54:47 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;&lt;em&gt;文章内含有粗口注意&lt;/em&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;妈的，怎么天天作业要写到半夜，烦死了 反正这里也不会有人看的吧哦呵呵呵呵呵呵&lt;/p&gt;&lt;hr&gt;&lt;p&gt;**“找零问题”（Change-Making Problem）**是一个经典的问题：给定一个货币系统（即硬币种类），我们要用最少的硬币拼出某个金额。&lt;/p&gt;&lt;p&gt;今天做的是Canonical Coin System的课题。。。即对于任意找零金额&amp;amp;&amp;amp;（PT，怎么不能渲染行内LaTeX）&amp;amp;&amp;amp;贪心算法得到的结果等于最优解（最少硬币数）。&lt;/p&gt;&lt;p&gt;乱搞一下显然可以看出正常获得最优解的方案：&lt;/p&gt;&lt;p&gt;&lt;code&gt;dp[x] = min(dp[x], dp[x - c[i]] + 1)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;其中&lt;code&gt;dp[x]&lt;/code&gt;初始化为&lt;code&gt;inf&lt;/code&gt;。当然&lt;code&gt;dp[0] = 0&lt;/code&gt;才对。&lt;/p&gt;&lt;p&gt;而贪心方案是先狂选最贵的硬币然后慢慢往下。&lt;/p&gt;&lt;p&gt;那么，什么时候能贪心呢。。。&lt;/p&gt;&lt;p&gt;不知道为什么，有人定义了一个叫tight的性质。如果比硬币最大面额小的面额的贪心解和最优解是一样的那么这个系统就是tight的。&lt;/p&gt;&lt;p&gt;累了懒得搞了先写到这里下次再写&lt;/p&gt;&lt;hr&gt;&lt;p&gt;蔼石真好啊，祝他们幸福&lt;/p&gt;&lt;hr&gt;&lt;p&gt;真讨厌怎么还有实验验收&lt;/p&gt;&lt;hr&gt;&lt;p&gt;$$ \textit{我不想 \tiny 在这里 \normalsize 赶DDL啊啊啊} $$&lt;/p&gt;&lt;/article&gt;</content:encoded><author>超几何冰精</author></item><item><title>俄罗斯方块入门指北</title><link>https://passthem.top//blogs/29</link><guid isPermaLink="true">https://passthem.top//blogs/29</guid><description>一篇由 0jacky0 写的博客</description><pubDate>Thu, 15 May 2025 18:39:23 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;近期，大家好像都非常喜欢玩俄罗斯方块！ 似乎在这里我是俄罗斯方块玩的最久的那个！ 所以，我会在这里放一些东西来辅助大家提升俄罗斯方块的能力！&lt;/p&gt;&lt;hr&gt;&lt;h3&gt;前言&lt;/h3&gt;&lt;hr&gt;&lt;h3&gt;教学部分&lt;/h3&gt;&lt;h1&gt;tbd&lt;/h1&gt;&lt;hr&gt;&lt;h3&gt;资料&lt;/h3&gt;&lt;p&gt;俄罗斯方块堆叠教学 https://www.bilibili.com/video/BV1D94y197Hj 俄罗斯方块基础堆叠题库 http://47.92.33.38/tpo/comc?id=2 俄罗斯方块基础题 https://teatube.cn/ttt/ 俄罗斯方块中文维基百科 http://tetriswiki.cn/p/首页&lt;/p&gt;&lt;/article&gt;</content:encoded><author>0jacky0</author><enclosure url="https://legacy.passthem.top/api/v1/static/1a0e62bfb923a3a2c8a5482654f2f1ce.gif" length="0" type="image/jpeg"/></item><item><title>在 Wayland 下玩 Minecraft 用中文输入法</title><link>https://passthem.top//blogs/28</link><guid isPermaLink="true">https://passthem.top//blogs/28</guid><description>一篇由 Passthem 写的博客</description><pubDate>Thu, 08 May 2025 17:22:30 GMT</pubDate><content:encoded>&lt;article&gt;&lt;ul&gt;&lt;li&gt;安装 https://modrinth.com/mod/fcitx5-enhancer 模组&lt;/li&gt;&lt;li&gt;配置 fcitx 环境变量：&lt;code&gt;XMODIFIERS=@im=fcitx&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/article&gt;</content:encoded><author>Passthem</author></item><item><title>对「看法」的一些回复</title><link>https://passthem.top//blogs/25</link><guid isPermaLink="true">https://passthem.top//blogs/25</guid><description>一篇由 Passthem 写的博客</description><pubDate>Mon, 07 Apr 2025 15:54:23 GMT</pubDate><content:encoded>&lt;article&gt;&lt;h2&gt;关于平台取消二级分区的动机&lt;/h2&gt;&lt;p&gt;我确实在行文的时候&lt;strong&gt;有意回避&lt;/strong&gt;了这个话题，因为我一直认为，「平台是逐利的」这一个观点，已经毋庸置疑到不需要再重复阐释。我将我的讨论和其他人对于同样话题的讨论作区别，正是在于我并没有关注，也&lt;strong&gt;并不在意&lt;/strong&gt;平台在战略上怎么对待音 MAD 社群。我回避话题，最大的目的是，我并不希望讨论区里仅仅只是在骂平台，宣泄情绪，这和我希望达成的效果相反：我希望大家能够去思考应对方式，而不是逃避或者宣泄情绪。&lt;/p&gt;&lt;p&gt;至于打散音 MAD 这个形式，对平台来说是不是一件好事，我个人不敢下定论，因为音 MAD 这个名号本身，也是一个互联网的 Tag，它作为定位观众群体的标签本身，也是可以起到提高用户黏性的作用。我相信在 B 站只看音 MAD，却不会被其他&lt;strong&gt;任何&lt;/strong&gt;视频分心的人，是很少很少的，我自己都经常被各种视频分心，但为了看音 MAD，我不得不留着 B 站。不过你的思考也很有道理，所以我会说，我暂时没法下定论，它在平台的决策者看来，究竟是正面的，还是负面的。&lt;/p&gt;&lt;h2&gt;音 MAD 作者的流派&lt;/h2&gt;&lt;p&gt;这点是确实的，流派分立这件事情早在二级分区消失之前，就存在了。但我个人认为这并不是一件坏事。&lt;/p&gt;&lt;p&gt;音 MAD 的概念本身其实太大，而且太沉重，并不是&lt;strong&gt;每一个&lt;/strong&gt;音 MADer 都有时间而且有&lt;strong&gt;意愿&lt;/strong&gt;去接触&lt;strong&gt;所有的&lt;/strong&gt;音 MAD 流派的。就按照我目前的分类标准，音 MAD 分为日式的 Rap 调以及疾走两大方向，YTPMV 又有传统的和音 EDM 的区分。这些分类并非严谨或充分，只是一个例子，但我作为一个作者，确实希望传达这样的观点：&lt;strong&gt;没有人&lt;/strong&gt;能真正学会&lt;strong&gt;所有的&lt;/strong&gt;音 MAD，它真的太包容万象了。至于素材，它就更为广泛。&lt;/p&gt;&lt;p&gt;流派的形成并不是大家不努力，而是客观上没办法统一。反观相对统一的韩国社群，他们的问题就在于所有人都在做合作单品，在比拼视觉技术，未来的方向也是炫技方向的新媒体制作行业而已，在艺术性上就略微弱一些。所以，有流派反而是中上游音 MADer 的常态，而且是中国（以及日本）值得骄傲的特色。&lt;/p&gt;&lt;p&gt;我相信国内的音 MAD 的问题，并不是原子化，而是新人在入坑时，走的路线太过于同质化：所有人都在一窝蜂做电棍 YTPMV 或者萌二 YTPMV，真正会在艺术性上入坑音 MAD 的人少，而且求而不得。&lt;/p&gt;&lt;h2&gt;音 MAD 作者的原子化&lt;/h2&gt;&lt;p&gt;既然流派是分立的，那么很容易会给人一种所有人都在原子化的错觉，毕竟我承认，我们很容易想到，不同作者的作品调性迥异，怎么可能走到一块！事实上，不论是比较中心化的活动（例如音 MAD 华），还是单纯的在音 MAD 这个概念上的认同（例如认识同校的音 MAD 作者，或者用同样的素材的作者互相接触），都会促使作者走到一块。我不清楚你是否了解，做电棍的&lt;em&gt;海绵宝宝宇月儿&lt;/em&gt;和做炫技向的&lt;em&gt;榆木华&lt;/em&gt;两人关系很好；在音 MAD 华的会场内外，也有很多各种不同风格的作者举杯同庆。&lt;/p&gt;&lt;p&gt;真正阻碍交流的，其实是不承认自己做音 MAD、不主要宣传自己是音 MAD、没有社交爱好者去打通脉络，或者单纯只是音 MAD 出现时段的不巧合。我相信现在的新生代音 MAD 创作者，很少会熟悉下残、李子 alt 这样的作者，而马里 k、电波风这样的上古作者，更是没机会熟悉（我也不熟悉）。或者，像是扶栏这样的作者，专注于俺鱼p的创作，自然和所谓「主流音 MAD 社群」的交流少很多。&lt;/p&gt;&lt;p&gt;至于「我们能否承受平台的压迫」，这点我希望可以放心。至少对我这一代的作者（例如十、露米娅、鸽子、木华等等我熟悉的朋友），面对的第一大难题，其实是心态和时间，还没到大战平台的地步，也不会想着大战平台。&lt;/p&gt;&lt;h2&gt;音 MAD 和「形式主义」&lt;/h2&gt;&lt;p&gt;在这里其实最值得讨论的，其实还是创作者和观众的关系吧。我希望可以注意这一件事情：创作者和观众的割裂的矛盾，其实是天然的。&lt;/p&gt;&lt;p&gt;音 MAD 创作在很多时候，是音 MAD 创作者的习性，一个音 MAD 作品在呈现到观众面前之前，它一定先是作者自己的宝贝，这就是一个作品的作者气息，也是前面所说的流派，或者所谓的原子化。社会话题、宏大叙事、以人民为中心，这些目标是优秀的&lt;strong&gt;文艺宣传作品&lt;/strong&gt;和&lt;strong&gt;社会艺术作品&lt;/strong&gt;所应该有的，但是对作者来说，这往往不是&lt;strong&gt;唯一&lt;/strong&gt;，也不是&lt;strong&gt;最适合作者自己&lt;/strong&gt;的选择。简单来说，它不是，也&lt;strong&gt;不应该是&lt;/strong&gt;评价好作品的&lt;strong&gt;唯一&lt;/strong&gt;标准，一个作品是什么样，是作者&lt;strong&gt;自己&lt;/strong&gt;决定的。&lt;/p&gt;&lt;p&gt;作者们想呐喊，想倾泻出自己满腹的情绪，想将自己上学上班的不满、人生的体悟，或者生活的确幸展现给更多人看。但并非所有人各个都是社会观察家，都是睁眼闭眼民族大义、社会民生的圣人。&lt;em&gt;或许&lt;/em&gt;有的作者，只是在人生漫漫中长途跋涉，累了，稍作休息，他们并不关心巴西的热带雨林有哪个回形针在抹黑，也不想花心思去思考哪块石头会砸谁的脚。他们只想着暂时停下脚步，去拍摄能暂时慰藉心情的花草，或者和三五同伴一起奏乐享乐，在苦短人生中收获又一个难忘今宵。&lt;/p&gt;&lt;p&gt;我并没有批驳大家所说，或者所希望看到的「社会派」音 MAD 本身，我只是希望，它不应该是一个「最终的方向」。音 MAD 本来就应该是百花齐放的，它作为一种艺术形式，本身和内容就不是强相关的。它也是一个很包容的形式，不同的作者在形式或内容上的不同方面的不同程度的努力，就是音 MAD 和其他艺术形式发展的常态，也是音 MAD 百花齐放的体现，每个人的生活和故事都是丰富多彩的。&lt;/p&gt;&lt;p&gt;关于这个话题，或许太容易引发争论，能聊的也太多了！不如这么说：目前的音 MAD 已有的作者，要改变方向，有点困难，而且没必要。而且，并非所有音 MADer 都懂艺术，或者都懂表达，大家也是从草台班子起来的，我希望大家都可以以比较宽容的视角互相帮助。&lt;/p&gt;&lt;p&gt;我是一个读书少的人，我只了解过「实践是检验真理的唯一标准」。如果你希望让音 MAD 更加强大，不妨亲自下水试一试，做一些你想要的音 MAD 形式。它作为一种艺术表达的形式，有很高的上限，只要不是故意做得烂，大家都会以包容的心态欣赏！&lt;/p&gt;&lt;p&gt;感谢你的阅读！我的语言可能比较偏激，望谅解！&lt;/p&gt;&lt;/article&gt;</content:encoded><author>Passthem</author></item><item><title>AE内置效果・我的学习笔记</title><link>https://passthem.top//blogs/23</link><guid isPermaLink="true">https://passthem.top//blogs/23</guid><description>一篇由 肠粉 写的博客</description><pubDate>Tue, 25 Mar 2025 03:53:21 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;这是我跟随 BV1e34y1X7Vj 的系列教学，所作的笔记。跟随我的学习进度不断更新。谨作个人的记录和分享。 - 想了一下，还是直接把谷歌表格放出来好了，博客这里要是更新下去恐怕就太多了 - 谷歌共享文档处：https://docs.google.com/document/d/1h5RPGrjyCU4tj_7B1g4c3HGBlDwRlP417clUF7vB0sY/edit?usp=sharing -&lt;/p&gt;&lt;/article&gt;</content:encoded><author>肠粉</author></item><item><title>【AE分享】Passthem曾使用的聚焦效果（周边模糊）</title><link>https://passthem.top//blogs/17</link><guid isPermaLink="true">https://passthem.top//blogs/17</guid><description>一篇由 肠粉 写的博客</description><pubDate>Mon, 24 Mar 2025 09:28:21 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;来源于 passthem 的方法：&lt;/p&gt;&lt;p&gt;依次建立【调整图层】和【纯色图层】，对纯色图层施加【梯度渐变】（要改为径向渐变），随后施加【曲线】，使得渐变到自己想要的程度为止。&lt;/p&gt;&lt;p&gt;随后，隐藏【纯色图层】，并对【调整图层】添加【复合模糊】，修改模糊图层指向为【纯色图层】，旁边还有个选项，改成【效果和蒙版】。如果出现边缘空白的情况，可再进一步添加【CC Composite】，并将其选项 Transfer Mode 改为 behind ，记得要取消 RGB only 哦。&lt;/p&gt;&lt;/article&gt;</content:encoded><author>肠粉</author><enclosure url="https://legacy.passthem.top/api/v1/static/847147517b8c34b5754f9e5e73d13910.png" length="0" type="image/jpeg"/></item><item><title>关于同人的小访谈</title><link>https://passthem.top//blogs/16</link><guid isPermaLink="true">https://passthem.top//blogs/16</guid><description>一篇由 蔼石 写的博客</description><pubDate>Mon, 24 Mar 2025 01:00:34 GMT</pubDate><content:encoded>&lt;article&gt;&lt;h2&gt;采访时间：2025/3/20&lt;/h2&gt;&lt;h3&gt;主题：关于同人的访谈&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;首先非常感谢你可以接受我的访谈邀请，我是中大社会学的学生，现在在写毕业论文。这个访谈主要是关于同人文化的一些问题，主要是想了解你的感受和经历，所以你畅所欲言，答案不被限制。所有涉及到的个人信息都会被严格保密。如果有你不希望我写在论文里，但是你仍然想向我分享的内容，你也可以提前说明，我会充分尊重你的意愿。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;没问題。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;接下来想问一些你的个人信息，就是你现在的常住地主要是在哪里？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我在中山大学珠海校区算常住地吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;算的，你现在主要是在珠海那边读大学？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;对。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;好。你现在比较热衷的作品，就是 IP 有哪一些？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我现在主要做东方 project 制品，还有写同人文。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以就是在东方这个 IP 里面，你既是一个读者，也是一个创作者对吗？&lt;/li&gt;&lt;li&gt;那这边如何称呼你？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;叫我蔼石就可以。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那接下来想问你一些关于你在同人文化里面的一些实践的问题，你第一次接触到同人文化到现在有几年了？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;很早之前，就是我上小学低年级的时候，当时从家里找到一本百度贴吧柯南吧的同人文集，是以出版物形式做出来的，所以我一开始认为这是一个官方出版物，不过后来我读了读，发现不对，到最后还有致谢，才明白这本书是同人作品，从这开始我才知道有这种同人文这种东西，还可以做出版物。后来接触同人，也就是自己开始创作就比较晚了。我上高中之&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以就是你接触到同人文化其实还是比较早，大概十多年前这样子。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;对是这样。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以你第一次接触到那个同人本的时候，大概是在哪里接触到，为什么会突然发现有一本这样的东西？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;就是我的妈妈是在学校，他们有学生捐的这种书，有老师就会选一些放在图书角，然后就肯定有那种不合适的，我家里人反而就给我拿回来了，通过这种渠道拿到我的手里了。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以就是一个可能比较巧妙的方式，你就接触到了这个同人本。那你第一次接触到这种同人文化的时候，你的感受是怎么样的？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;巧合吧，我觉得还挺惊喜的，就是这种创作的自由还能获得承认，我当时还觉得这种东西能做成出版物相当地厉害，头一次接触到非官方的东西能获得观众的承认这种感觉后，我才开始去写一些东西，然后去试着做一些制品。&lt;/li&gt;&lt;/ul&gt;&lt;h6&gt;（试着配图的时候搜索发现，很可能是盗版出版社为了引流牟利才选择同人文以官方形式命名，原作基本难以找到了）&lt;/h6&gt;&lt;ul&gt;&lt;li&gt;所以就是你觉得他们可以创作出来，并且可以变成出版物，你觉得非常厉害，然后第一次接触到的时候也是感觉非常的震惊，对吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;是这样。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那在你进入同人圈子这个过程中，有没有一些关键的事件或者人物对你产生过重要的影响？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;关键的事件的确有，因为我参加的第一个同人展就是东方的 only 展，很快觉得如果只作为一个观众来看的话，参加一次就觉得有些无聊了，但是如果是自己做东西自己去推销，自己去和别人去介绍我做的这些东西，用了什么样的努力，会觉得更有存在的价值吧。&lt;/li&gt;&lt;li&gt;就这种卖出去的东西是我自己的心血，我自己一点一点设计，然后我最后也是手工做出来，然后再卖给他，他也非常喜欢，这个时候我会觉得很有存在感，大概是这么一个心路历程。&lt;/li&gt;&lt;li&gt;一开始可能会觉得和大家一起玩的时候，没有那么地能体现出我的能力。当时看到那些摊主能卖他们做的东西的时候，我就觉得很羡慕。然后我一开始想创作的话，也需要一个渠道，因为画师还有类似于技术的问题都不是我一开始能掌握的。我可以问我一些朋友这些东西能不能做，然后我有约稿的画师，是我的高中同学，然后我就可以一点一点去尝试去完成。&lt;/li&gt;&lt;li&gt;因为我一开始是不会做设计也不会约稿的，我就是靠着类似于我认识了会做这个东西的人，比如会做 NFC 卡的这个人，他不会画画，他也不知道从哪里可以约稿，然后我正好认识一个画师，然后我就开始在双方之间斡旋，我就约稿，然后谈价钱，然后再制作这个。我们是在 NFC 卡上面贴 LED ，用手机的 NFC 给这个卡供电，然后上面的 LED 就可以发光，但是这些 LED 的位置是需要画师去设计的，设计好之后贴到上面才可以量产，然后来卖，中间的交流都基本上需要我来给双方提建议，包括后面定价做宣传海报，这些都是我自己一个人做的。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那你是什么时候参加的东方 only ？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;第一次参加是 2023 年的 10 月份国庆，因为我在上大学之前家里人基本上不会让我出门，当时我只能在家里写同人文。后面因为考上大学了。我老家是在哈尔滨，我考到广东之后基本上就管不到我了，我就想去哪里就去哪里了。&lt;/li&gt;&lt;li&gt;这个其实我还可以说一下，就是我第一次参加同人展，是以顾客形式出现的，从这以后我就想去当一个创作者，所以我想看一下真正的摊主是什么样的。我就找了一下同学校的有一位东方社团的主催，我去找他，他当时说缺一个坐摊的人，我就在校级东方群联系他问说我能不能去坐摊。&lt;/li&gt;&lt;li&gt;当时那个展子是在深圳的一个高校的东方的展会，叫 THUP，我当时就去问他这个能不能去，他说可以，然后我们两个就一起去出了一下展，当时我帮他去做推销。我当时最清晰的感受就是，那些创作者们可能做出来的东西会很……怎么说，就是感觉做出来的很好，但是他们不一定有这种去把自己的产品的优势介绍给别人的这种能力，不是所有的这种创作者都能向顾客准确地表达出他们产品的优势。当时他卖得非常好，因为那个展可能也就一百多人，但是销售额很好看，所以他也很高兴，后来也主动邀请我去帮他坐摊，我当时就觉得我是有这种天赋的，我可以很准确地跟这个顾客表达出我想表达的东西，所以我自己去做东西的话也能成功，我就找到了两个朋友类似于给他们牵线搭桥，自己开了一个社团。&lt;/li&gt;&lt;li&gt;第二次参展差不多是 23 年 11 月，然后到后来 24 年 1 月份我说我们搞一个社团吧，然后到了 24 年的 3 月份就广州的 THO，当时是我们第一次出摊，我们把东西做了出来。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以就是在你不断地去接触同人文化，或者说同人展这样的过程中，你自己也会产生自己也很适合做这样的东西，并且也热爱去做这样的东西的想法，所以慢慢地就去组织了一些社团或者一些社群，去进行更加广泛的活动对吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;是这样。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;方便问一下，你现在是哪个专业的？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我是学微电子的。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那你作为一个像你刚刚说的这样的一个同人的读者和创作者，你现在典型的日常活动有哪些？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;自己同人创作？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;都可以，作为读者和创作者的典型，一场活动也可以。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我平常会参加一些同人文比赛，这个就要比我做开始做同人、搞社团、开始做同人制品还要早了。我差不多 22 年的时候就开始写东方的同人文了，当时上高中由于疫情的原因一直在家里闲着没事就开始写一些同人文，然后参加文赛的话，因为东方同人文赛是相对来说非常成熟的，大概开了已经十多年的那种，每年两次的那种文赛，所以大家参加的话，可能一次能收到一百多篇，竞争相当地激烈。&lt;/li&gt;&lt;/ul&gt;&lt;h6&gt;（比较出名的文赛有战闻录，乡里奇谈这一类，上刊物的文赛也有《乡音》，在此不另附带图片，在b站都可以搜得到）&lt;/h6&gt;&lt;ul&gt;&lt;li&gt;也有那种类似于杂志类型的征稿，你可以把杂谈或四格漫画投在上面，我会试着写一些同人文去投。一般都是先投文赛，后面再试着去投一些刊物，因为在文赛拿奖之后，投刊物就会更容易上刊一些。然后同人刊物的话，我自己也会买一些。一些同人作者会把自己写出来的文章印出来，然后在展会上发给其他的同人爱好者。我自己没有做过这种事，但是我会很乐意去帮别人卖他们做出来的同人志，类似于我不收他们的寄售费用，直接放到我的摊位上帮忙推销，然后我甚至还可能会搭一些赠品进去这样，因为我很喜欢他们做的这种形式，为了让他们多做一点，我自己亏一些钱无所谓。&lt;/li&gt;&lt;li&gt;然后同人创作的话，我自己的寝室里有一个小流水线，我现在就在做这个同人制品，我在给你打电话的同时我也在做。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你们一整个宿舍都在做相关的？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;并不是我自己一个人，我自己能完成从设计到包装的全过程，我基本上什么都能干，这个宣传的 QQ 群是我来运营，然后海报是我来做，然后这个产品是需要加工的，我自己还要加工给它包装好，这些都是我自己来做。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你对于同人文化有非常深的参与的程度，就是大概是从大学的时候开始的。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;对，的确是。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那就是从一个刚进入这个圈子的一个参与者，到现在变成一个参与程度非常深，然后同时运营着交到了非常多的朋友的社群，这样的一个经验。你是有一个怎样的心态的转变，还有你是怎么做到这件事情的？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我总结出来的大概就是只有那种未知的事情，才是真正能体会到喜悦的吧。如果你在一开始准备进行创作的时候，你就知道自己会获得成功了，做出来的产品将会是什么样的，等到做好的时候反而不会带给你那种特别大的喜悦。只有比如说你一出摊，你预期的销售额比如说就 500 块钱，最后卖了1000，产品全部卖光了，顾客会夸你的东西物美价廉，觉得这个东西很好玩，发出惊叹的时候，那种喜悦是会逐渐改变你的。一开始你会觉得做这个东西很累，第一次准备出展产品当时是是技术员通宵去贴的。有的时候第二天就有展会，然后前一天晚上可能还很多产品都没有准备好，所以我就要连夜包装，第二天又背着老沉的箱子去走很远的路，但是一旦把东西放下，开始贩卖的时候，大家去夸说这个东西设计的好精巧，然后很喜欢这样的东西。包括这个跟人互动，有的时候还有人会说“老师能不能跟你集个邮”，这种跟人互动的那种喜悦，是一开始你去做它的时候完全无法预料到的，你会觉得自己完全地参与到了这个活动当中，成为了大家的焦点，这个时候你就会觉得做这个东西完全地值得了，什么赚什么钱之类的都根本没那么重要。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以就是这个过程，还有那些可能比较正向的一些结果会比较吸引你去进行下一次的贩卖或者组织，然后你从中会获得那种存在感，或者说成就感，会和经济利益相比起来让你更加开心。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;对。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你刚刚也有提到，就是你会去参加一些东方的同人作品的比赛，它是谁组织的？是爱好者组织还是说是什么？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;因为东方的官方在日本，他们可能自己会有一些征集的活动，一般会征集绘画类的，这种基本上跟国内完全没有关系。国内的东方圈子基本上是完全去中心化的，就是有人组织，参加的人多了口碑就会越来越好，类似于这样的正反馈。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;就是爱好者自己组织的一个比赛，到现在就变成约定俗成的一个比赛了。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;对，爱好者自行组织的，也有金主提供奖金。&lt;/li&gt;&lt;/ul&gt;&lt;h6&gt;（值得一提的是这个奖金是相当丰厚的，而且有很多举办文赛的官方其实并不会制作制品回本）&lt;/h6&gt;&lt;ul&gt;&lt;li&gt;那你觉得东方这个 IP 吸引你去进行同人创作，还有进行一些同人活动的点是在哪里？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;首先，其实一开始最吸引我的是同人文，因为一个去中心化的 IP 不会有人去指责你的创作，无非是一个比谁声音大的竞赛。因为在正常的一些比如说像是二游的 IP 里面的话，官方对这个人物的设定会非常详尽，所以经常会有人说你的这个设定是 OOC 的，不应该这样写。但是，对于东方的角色，ZUN 给的留白会很足，所以说你把它放在任何的设定里面，去进行你的思想实验，给一些原作里根本不会出现的假设，也不会有人觉得你是在故意哗众取宠。你去拉 CP 把两个人挂在一块，也不会说有些人会去指责你，说你毁坏了原作的什么设计，因为原作里并没有那么详细的设定。而且在东方的同人创作里特别强调同人精神，就是说你做这些制品是获得官方允许的，所以说你也不会在商业化上有什么顾虑，为什么你做出来卖钱，也没有人会去出警说你的这个制品怎么怎么样，我做起来就会很安心，觉得我并不会被人指责说影响了我跟人互动带来的快乐，也不会有类似于官方突然改设定了然后导致我的产品不好卖了这样的情况。我可以说去中心化能带来一种安全感吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;去中心化这个可以理解为，官方会对同人的干预会比较少，而且它的留白也会比较多，大概是这个意思吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;而且人物丰富也是其中一点，就是你至少有人可以写。东方的人物特别多，多到你每天选一个来创作一个新的东西，你都不会觉得厌倦，这也是其中一点吧，你不仅可以去了解他，更重要的是你每一个人都可以对他进行创作，做他的制品，差不多是这个感觉。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以就是说东方的官方对同人是非常鼓励、非常支持的对吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;是这样。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;像国内的一些 IP，可能会说同人是侵犯了他们的权益，然后可能东方不会有这样的事情，对吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;东方会有专门的规定，现在 B 站上就有上海爱丽丝幻乐团的东方同人创作规约，里面基本上就是把所有的同人权利都交给同人作者。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;它就是一个对同人非常开放的 IP，它也非常欢迎你们去进行二次的创作。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;对。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你刚刚有介绍你作为读者和创作者的一些典型的日常活动，那这些活动在你的日常生活中对你来说是意味着一些什么？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那算是精神慰藉吧，就觉得做这些事情会觉得自己有存在的意义，没有那么大的压力。相比做和学一些感觉自己用不太上的东西来说，我利用自己的专业知识，我做的东西跟我的专业也有些相关，所以我会觉得做这些东西既能提升我的专业水平，又能给我带来一些收益，还能收获在社群里的声望，何乐而不为，差不多就是这种感觉，越做越高兴。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那你在进行同人创作的时候，有没有一些心路历程，或者说一些灵感来源之类的东西？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;心路历程的话也遭受过挫折吧，类似于写同人文的时候会被人指责，甚至都不是被人指责，而是压根就没有人看，这个才是最令人伤心的。写出来的文章，它现在几乎没有反响，几乎没有人会说你写的怎么样，比起别人批评你这里写的不好那里写的不好，没有人看、没有人关心，才是最令人难过的。不过，为了解决被冷落的这个点，那只能是打铁还需自身硬，想一想办法。给自己的一个结论是：&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;不能抱怨，不能只在自己受欢迎的时候才感谢大环境，这个环境是只能由你去适应和改变的，只有你自己去踏出那一步，去对运动的社会进行运动的反应，才能产生更多的互动，才能收获，也就是你想达到的那些东西。&lt;/h3&gt;&lt;p&gt;与其说期望于干什么事这个社群都能对你做出积极的反应，不如思考一下为什么不会产生积极的反应，试图去了解社群才能去发现这个社群需要做出什么改变，他们需要什么。我就是从一开始了解这个社群，到后面我试图去改变这个社群，我的态度也就发生改变了。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;所以你会比较重视的是社群给你的反馈，然后你会觉得不是说自己是在自娱自乐，而是说可以根据一些读者的反馈，或者说流量和热量的一些反馈，你会去做出反应，就是去改变什么之类的。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;明白这个意思。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你觉得就是创作对你来说有什么特别的意义吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我会在创作中加入一些自己的感受，因为不结合现实生活的创作它会比较的虚无。无论是你加入现实的事例也好，或者你把现实的体会利用另一种方式去把它说出来。我会比较喜欢用一些类似于现代的手法去影射现实，你用东方去影射现实，不会有人说你套皮，这种也是东方的优势。纯粹去创作一些 CP 上发糖的文章我是不太喜欢的，确实可以这样写，但是这样写不会让我有类似于收获别人的认同感的那么大的感受。&lt;/li&gt;&lt;li&gt;总之我不擅长，但是有其他人写的话我还很乐意去看。不过对于我自己的创作意义而言的话，我是想借此来找到这个社群的共性，就是在这个社群里这些人爱看的作品的主旨是什么，这就代表了这些人真正缺乏的或者想要的东西是什么，这也算是我的一种社会实践。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那你觉得以目前的接触来看，东方的整个同人社群，或者说爱好者的社群，它的氛围，或者说它的精神内核是怎么样的？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;精神内核的话，我其实还是会感觉到他们会比较的可能也是社群的一种共性吧，就是他们会有时候会比较排外一些，比如说你在这个群里提到了其他 IP 的东西，他们可能会说不要提这些，会比较反对。但是，有一些 IP 有特别豁免权，就是比如说他们现在在看的少女乐队，少女乐队番本身在东方群可能会显得比较无关内容一点，但是他们会很爱去讨论，每周四可能都会去说一说关于剧情的感受。还有东方众对于日本的官方周边的态度，因为日谷会稍微卖得贵一些，所以就会更倾向于去买“盗版”的制品。对于一个同人为重的 IP 来说著作权问题一直是有的，但是“既然官方已经赚够钱了那么盗版就盗版吧，反正就算是买正版也是收两遍税”，他们会有这种态度，这是会被一些同人作者诟病的，因为他们做的同人刊物如果被盗版的话会带来大量的经济损失。也有我曾经遇到过的同人作者跟我提这件事，甚至会有作者害怕自己的那种类似于有声书的作品内容泄露，所以给读者去拆封试阅，都会有这种事情发生。这种群体性的著作权的疏忽也算是一个共性的问题。&lt;/li&gt;&lt;/ul&gt;&lt;h6&gt;（说的其实就是关于fumo的版权问题，这件事还是比较有争议的，不过我自己没那么多钱，也肯定要选便宜的买）&lt;/h6&gt;&lt;ul&gt;&lt;li&gt;但是他们对于那种比如说拼多多拿那种倒印的柄图去复制的做法也是深恶痛绝的，&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;他们会更倾向于支持同人作者的著作权，而不是官方作者的著作权。&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;比如说 ZUN 本人做的一些游戏之类的，你想免费玩的话资源很好找，但是你你想找到同人游戏的免费资源那就很难找了，他们会试图去保护这个同人作者的著作权，而不去保护官方作者的著作权，这是一个很有意思的现象，包括一些类似于对于官方团队的成员的不满，这个也是非常明显的。我能经常看到有人去指责官方的某些成员不负责任，比如说 ZUN 本人来中国或者韩国的游玩的过程中，因为他周围的人的道德水平问题，制造了很多的不愉快，有时也会有这种事情。因为官方本身和同人是互相违背的，但是这个官方又和同人处于一种非常暖昧的关系，所以会有很有意思的一些在其他 IP 上看不到的这种互动出现。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那你刚刚有说到，可能在大家对于官方的著作权相比起同人著作权没有在维护上面那么上心，或者说甚至可能会觉得有点无所谓，你个人会觉得这背后会有一些原因吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;因为基本上大家的共识是日本人很有钱，官方已经赚够钱了，比如大家都知道 ZUN 已经在东京的核心地块买了房子，基本上是财富自由了。就没有类似于再支持他、给他“捐钱”的欲望，他们会更倾向于多把钱留给这些国内的同人作者，他们买同人刊物会很慷慨，而且买官方的基本上就为了收藏，他们可能买完游戏碟从来都不会拆开，反而去玩盗版，包括音乐碟也是去听那种线上网络版本的内容，而不去把碟子拆开，就摆在那里。官方作品能给他们带来像“东方厨赎罪券”一样的感觉，但是基本上不会成为他们的购买方向，这和其他的 IP 是有很大不一样的。我认识一个玩啤酒烧烤，就是那个世界计划的一个女生，她会跟我说，她不会倾向于买同人谷，因为同人不保值。但是在东方这边，闲鱼上面挂的官方谷确实会很多，但是同人谷也有很多，甚至卖一些同人音乐专辑，因为在日本有很多同人音乐社团，他们的专辑炒的比原作还要贵，因为原作可能还会去生产一些，但是同人的社团有一些已经结束活动了，那些专辑就不会再有复制品了，那些同人碟子可能要炒到 500 块 1000 块，那个时候就有人非常显示他们“对著作权的重视”。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以我可以理解为就是因为东方对同人这样的存在是非常开放、非常支持的，所以同人作品也是非常高质、非常丰富的，然后社群里面的一些人也比较尊重同人作者，为了未来能够看到更多这样的高质内容，才会特别地去维护同人作者的利益对吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;就是这样。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那方便问一下，就是你现在在东方同人这一个范畴里面，具体做了一些什么样的成就，或者说已经在运营一些什么样的社群？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我可以把社团群的群号发给你（795355401），或者把海报发给你，或者我现在可以给你录一个视频，我现在正在做这个产品的演示视频。我在 B 站上有一个号，我里面发了一些我前期做的产品的演示，这个也可以发给你看一下，现在就可以发，需要吗？ ![[31]]&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;不急，你可以访谈之后给我也没有关系。主要就是想知道，比如你现在有组织或者运营一些社群，这些社群是否已经具有了一些商业规模？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;这个的确有，我跟我室友也会打趣开玩笑说我做的东西不赚钱，但是我肯定会保证我的成本全都能拿得回来，我甚至可以去有余力做一些无盈利的产品。比如那个高校的贴吧头像，有的时候会换成东方的，就是画上东方的角色，类似于这种，我会帮他们做一些无盈利的产品，我们中大的我也做了一个，如果有机会的话我甚至可以送你一份。&lt;/li&gt;&lt;li&gt;我会更乐意做这种无盈利的产品，因为这样的话还能帮助到各大高校的东方群，他们一般会有一些群内活动，如果他们做的制品只是一些便宜的那种小铁片之类的东西，我会觉得，既然我有这个能力，我为什么不去帮他们做一些更好玩而且价格也差不多的东西？我就试着去压了一下我自己产品的成本，和大家一起合力，比如说我做的量多，它肯定就更便宜，然后我就试着把成本压到了一块五，然后我就可以以两块钱向一些高校提供那种很好玩的那个 NFC 卡片，这样的话也没有比吧唧贵太多，然后他们群活也可以发发，发起来很好玩。我会试图去帮助那些曾经对我有帮助的人，因为我自己的发展历程也有很多高校的东方社群的负责人来帮忙。 ![[32]]&lt;/li&gt;&lt;li&gt;我们中大也有叫 NOT-SYSU 幻想乡的一个群，群里的很多人帮了我很多忙，我就为了感谢他们吧，就是各个高校的东方社群大家联合在一块可以互相帮忙，包括做一些很有意思的小饰品之类的，我帮他们以成本价做定制，我不收他们的定制费，只要他们带着图来，我就可以给他们做好，差不多是这样，我会做一些这样的事情。 ![[35]]&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以就是你自己这里变成了类似手工作坊这样的一个地方，可以让你更方便去做一些制品，组织一些社群之间的交流，然后去送一些制品，做一些交换制品之类的活动？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;对。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那想问一下，在你进入到东方的同人圈子之前，你是不是就已经有类似这样的社群，还是说是你在进入东方同人圈子之后？可能到现在你有非常多的这样的社群，或者说联络人之类的，有产生一个这样的变化吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我的确是进入东方之后才会有这样的转变的，因为我当时是类似于干一行爱一行这种感觉。我既然要做，我就在这个领域一定要做出名堂来，我一定要让人大家都认识我是做什么的。我可能会去考虑改选一个其他的我很喜欢的 IP，但是现在还没有存在这样的让我创作起来很舒服，而且还能给我很多积极的回馈的另一个 IP。我基本上已经是在搞一辈子东方这种感觉了，已经在这样做准备了。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;比如说大家的反馈，或者说一些交流，可能会让你更想留在这个 IP。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;是这样。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你接触到同人文化也非常久了，大概有十多年了。在你看来，这十年期间中国的同人文化有没有发生一些变化，有的话主要是哪些方面有发生变化？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;这个变化我觉得是非常明显的，因为我之前就和人探讨过这个问题。我特别提过二游，我为什么不去参加二游的 IP，我就是觉得二游在近些年来在慢慢变得集权化集中化。比如说我就以米哈游为例吧，我并不反感它，但是我会觉得它走的路线和我的想法背道而驰。他们会有官方去努力地扶持一些同人，类似于 MMD 也就是角色小剧场或者角色跳舞，包括去画那种手书同人剧情的同人，这种他们是扶持的，但是他们对于那种做立牌吧唧钥匙扣同人书这种制品反倒是不那么上心的，因为对于他们来说这种制品和他们官方的制品是冲突的，是互相争夺这个市场的，但是手书或者原创曲这种东西是可以作为一个广告在整个平台上邀请新的爱好者的，可能某一个小剧场就会让人觉得对某个角色感兴趣，然后去玩他们的游戏，能带来经济上的正向收益。&lt;/li&gt;&lt;li&gt;比如说十年前。我们拿 2015 年这个时候举例，当时中国国内的同人创作基本上都是做日本 IP 的，因为日本 IP 在国内不会那么商业化，他们做基本上纯粹是爱好，那个时候和这个时候的观点变化是相当明显的。当时的人对于官方剧情的讨论不会带有那么激烈的主观意愿：“我不喜欢这段剧情我就要强迫官方改”，因为国内的二游有一些玩家会觉得自己是消费者，他们会觉得自己有权利督促这个厂商做他们更喜欢的东西，所以才会有这个原神内鬼吧，说米哈游出男角色就是在把男玩家的钱转移支付给了女玩家。我就相当讨厌一个社群内部出现分化的这种现象。&lt;/li&gt;&lt;li&gt;这种问题并不出在厂商上，就是在于一些二游 IP 的这些人吧，他们对官方的态度转变了，他们把自己从爱好者的方向转移到消费者的方向上了，所以他们甚至还会去攻击那些同人创作者。以前他们对同人创作者的态度就相当于说是，你又不收钱又给我们做饭吃，那你肯定是很好的人，但他们现在就会说，我也给原 IP 消费了，我现在是消费者，所以我可以命令你给我做我爱吃的菜。这样的话，因为每个人的爱好又各有所不一样，所以有一些二创作者就会因此只做官方想让他做的那些“主流”作品。甚至因为有一些这种作者，他不喜欢做“主流”的作品，然后这些二创作者莫名其妙地遭受到攻击，我觉得这种变化确实是非常的不理想的。一开始大家对同人二创是那种态度，我不喜欢我就不去看你做的好不好吃，我大不了换一家。但是现在这种宽容消失了，反而是相当于搂着这一家我喜欢的 IP，然后互相地攻击，比如说我是男玩家，我讨厌乙女游戏，我就去攻击乙女的玩家，反正乙女的玩家都是女玩家，她们又不会影响到我喜欢的游戏的流水，他们会这样去想，然后去互相地攻击。我有个朋友，他有一个很喜欢的二创作者，但是那个二创作者因为被人带节奏恶心到他了就停止创作了，我这个朋友就自己在长吁短叹：这个对我打击太大了，我都不敢参与这个 IP 创作了。我当时就吓到了，这有什么问题，反倒还要自己来承担责任，这简直太可怕了，怎么会发生这种事情。&lt;/li&gt;&lt;li&gt;我作为一个爱好者，创作就是我想做的事情。按理说，我觉得在十多年前这个常识就是不爱看就走，这是同人很常见的一件事。包括我画一些那种 CP 向的作品的时候，比如说我提哪个 CP，然后这个人觉得应该跟另一个人组，那他不看这个作品就是了，甚至他们可以在自己的扩列表上大大方方标明说我不喜欢看哪个 CP 的，你不要加我好友。但是现在反而会出现人多就是正义的这么一种观点，来攻击那些并没有那么多人来看的那种作品。有些创作者其实一开始并不是为了钱或者收益来做东西的，但是他们可能想接点单子，我去小做一下这个 IP 的作品，然后这个时候还会被一些创作者视为通敌叛变。比如说你做了其他的 IP，然后本家的人就会说，你怎么能做这个 IP 的作品，这是在十年前完全不会发生的事情。比如说一个搬运工，他本来搬东方的视频，然后他搬了个舰 C 的视频，搬了个原神的视频，肯定不会有人去攻击搬运工，至少在十年前是这样的，但是现在就不好说了。我曾经有一个喜欢的乐队，他们是唱东方同人曲的，但是他们也有很多人很排外，就出现过这种情况。他们平时的直播大概就二三十个人看，因为在 B 站直播的话他们并不是那么火，但是有一次他们接了一个原神的单子，他们发原神的那个单曲就被骂了几千多楼。简直太可怕了，我就觉得怎么会变成这样子。从国内的二游崛起开始，社群的这么多人的涌入开始，社群的这个混乱化就是不可避免的。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以就是你觉得比较主要的变化就是社群氛围会有改变，就是大家原来是一个爱好者，只会去关注自己喜欢的东西然后去做自己喜欢的东西，然后变成一个消费者，所以他们就会对于同人创作者有要求，可能还会上升到一些吵架或者之类的比较恶劣的一些行为。&lt;/li&gt;&lt;li&gt;刚刚也有说到，有一些游戏厂商，他们会去主动去扶持一些同人作者，或者说同人的一些作品。但是他们会觉得同人制品和官方周边是有竞争的，所以可能对于同人制品的一些贩卖会不太支持，甚至是不太允许。你个人会觉得同人制品和官方周边是有冲突的吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我之前提到过，我的一个喜欢啤酒烧烤的好朋友，他买啤酒烧烤周边都是优先买官谷的，我的确爱这个人物，但是我只会买特别优秀的官谷或者是特别优秀的同人谷，一般的官谷我不会去买，就会有很明显的这种区分度。反而在东方又恰恰相反，不管是我特别喜欢的官谷或者是一个普通的同人谷，我都会买，因为在很多东方众的眼里，官方是非常有钱的，而同人反而是缺钱的，因为搞同人的确就是这种想法。但是在一些盈利的 IP 上面，他们会有一种我觉得非常坏的毛病，比流水，就是我的这个游戏重不重要，就看流水高不高，你看这个月充的钱我们有没有登顶榜一，我们就是尊贵的游戏，有这种区分度，这是非常常见的一种现象。我现在就可以在贴吧搜流水这两个字，肯定会有很多游戏在攀比这个，但是为什么提到流水这一点？就是官方出周边也是同样的道理，他们出周边肯定是因为这个角色受欢迎，但是同人出周边一般是他们更喜欢做这个角色。我甚至跟一个做盈利向同人社团的人非常熟，他卖一套类似于很精品的周边，他是做 1999（重返未来：1999）的，他会做一套很精品的 1999 谷子，然后这个卖的价格……我说这个东西怎么还能卖得出去，这个太贵了，一张图做七八种，然后卖一套卖大概一百两百，我会觉得这也太贵了，但是真的有人会去买，还卖得很好。我会觉得难道他跟官方没有起冲突吗？然后我还特意去问了一下，他跟官方是类似于有关系的，他们能认识到官方的一些画师，然后开那个 1999 only，这个人是 1999 only 的一个主催，就基本上是个很核心的人物了，我去问他就是 1999 对这个官方制品同人制品的态度，他们会觉得 1999 only 是非常好的，因为 1999 only 能带来更多的用户粘性，用户会觉得我待在这个 IP 里我是有归属感的，我出 cos 我个人集邮，这是有归属感的，然后做制品也是有归属感的，就是做制品既然没有到可以和官方分庭抗礼的程度，他们就会允许它存在，而不会类似于像是那种花钱去购买，比如我记得 MMD 是一秒要二三十、三四十，这都是很低的价格了，按秒卖或者按分钟卖的那种 MMD 是不一样的，他们不会去掏钱去支持同人作者做周边，但是他们也不会说我不让你做，基本上没有哪个作者哪个 IP 会做这种自断后路的蠢事。&lt;/li&gt;&lt;/ul&gt;&lt;h6&gt;（致敬传奇牢竹水，同人尸体这一块，好牌打的稀烂）&lt;/h6&gt;&lt;ul&gt;&lt;li&gt;其他现有的国内的同人社团，我没有见到哪个能与官方分庭抗礼到影响到官谷的营收了，因为在官方看来，我觉得就是买同人谷的人一定是非常喜欢这个 IP 的，这个和东方差别是很大的。比如说我举个例子，一个人如果去参加 IP 的 only 展，那他肯定对这个 IP 是很有粘性的，在 IP only 展上卖的一些周边本来也不是官谷的一部分。有些寄希望于买官谷来保值的人，他就更不会在同人展上寄希望于我囤一些同人谷能炒到什么高价，但是官谷能炒到高价的那就比比皆是，看咸鱼一个吧唧能炒到好几万，这也太可怕了，有点理财产品一样的感觉，就是官谷会把自己的定位定得就和同人谷不一样。当然这个在东方也有，但是很不明显，就是也有那种特别魔怔的，我会用魔怔来形容，因为溢价实在是太高了，那种人可能在大家认为并不值这个价格的时候拿很高的价钱买谷子，那就只是理财了，就不能说彰显某个人对什么的热爱。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那你现在觉得现在同人作品的形式包括哪些？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;要我说的话，可以分为三种，第一种是做出制品的图，然后做成物理介质的。然后你问的是同人制品包括哪几种，也就是媒介，那就多了，它们会依附于各种各样的媒介，价格也会不太一样，比如说有免费发到视频平台上的，也可能有付费发到视频平台上的，然后还有音乐这种形式。东方的同人音乐也是其他 IP 完全比不上的一个点吧，因为它特别多，由此产生的音乐社团也很多，这个是其他 IP 几乎没有的，然后还有其他类型的制品，有一个视频就是专门讲东方的同人作者都有哪几种的，东方还有一个东西是其他 IP 没有的，就是可以做付费的同人游戏，付费和不付费的质量差距是相当之大的，付费的同人游戏它可以做自己相关的周边，质量也是免费的同人游戏所达不到的。所以我之前说的可以跟官方分庭抗礼的同人社团在东方是的确存在的，这样的社团甚至就在国内，我和他们的主推关系也还不错，我好几次出摊都在他们旁边，他们做的同人游戏的销量比官方的原作卖的还好，而且还很出名，叫东方夜雀食堂，你搜一下还是很好搜到的，而且它的销量非常好。东方的同人有相当蓬勃的发展，所以还可以举到相当多的例子。&lt;/li&gt;&lt;li&gt;音乐的话各种类型的基本上都有，然后视频也是从 MMD 然后到安科这种靠骰子决定剧情内容的，包括展现原作剧情的类似于表演性质的那种 MMD，还有跳舞，还有唱歌，然后还有同人小剧场，还有那种专门做的类似于手书之类的都有。制品之类的就最经典的什么吧唧钥匙扣之类的，那肯定都有很多人在做，画师也很爱画，包括还有一些我自己做的这个 NFC 卡，比较特殊的一种，我可以说现在还没有其他的 IP 有这种制品，因为我自己就只做东方，然后我有信心只有我一个人会量产这种东西，所以我自己做的这个 NFC 卡也是只有东方会有。&lt;/li&gt;&lt;li&gt;还有比如说画集啊，刊物啊，这个刊物其实是有点踩在法律的这种红线上的，在东方同人圈内有些人说你不把刊物印到大概 300 本以上就不违法，但是这个东西其实是没有什么明文规定的，因为就在几个月前刚出现一件事，东方有个做通贩的人被查了，说他私藏了大量的同人刊物，但是他印量确实是大得有点夸张了，所以被罚了很多钱，然后又被没收了很多书。但是，你如果做少量印刷不带版号的这种同人刊物的话，我记得最近广州 CP 也有这种事，就是你拿出来就会被收，拿出来就要被罚，这个确实是因为政策问题会有影响，同人刊物就不太细讲了。画集的话要求就松得多，因为我看到过卖那种全年龄向的画集的，他们会翻译一些日本作者的画集。因为东方还有一种很特殊的现象，就是因为日文的画集在国内是不好卖的，所以那些作者会跟汉化组合作，在国内印一些汉化版的四格漫画，那种小薄册子，那种就以画集的形式来卖，好像也不会触犯那种印刷物的红线，也可以给作者和汉化组都带来收益，这个在东方也是很特殊的一种情况。&lt;/li&gt;&lt;li&gt;东方还有一个很有特点的就是游车映写，把东方角色和当地的一些风景名胜放在一起，这个好像我看也上新闻了，新闻上面就说他们会把这个地铁的风景名胜和东方角色相结合约那种很贵的稿子，然后做成画集来卖。&lt;/li&gt;&lt;li&gt;还有专辑，也就是同人专辑。因为同人专辑做出来是需要审核，要获取那种版号的，我曾经在 CPSP 上有非常深刻的印象，我当时到那个明日方舟的一个摊子上，我看到他那个同人 CD 做的非常好看，然后我就说里面刻的是什么歌，然后他跟我说不能刻，这里面什么都没有，这是空碟子，然后我就特别奇怪，怎么是一个空碟子，他说你可以自己刻自己的东西，我当时才反应过来，原来那些同人乐队确实是很厉害的，他们是有把自己的音乐提交审核然后拿到出版这种 CD 的许可的，这个也是很特殊的，因为日本的碟子直接拿过来卖是没问题的。但是，有一些国内的乐队，他们想出碟子，反而到日本去出，然后再拿回来，也是很有意思的，他们会找到那种出版公司去出这个。基本上只有东方的官方才不会管这种同人碟子的出现，因为日本的那种同人乐队，他们做的碟子已经是做了 20 多年了吧，东方的 IP 基本上从零几年就开始有同人音乐出现了，他们的这种系统性很成熟，你把音乐给他们就会找到公司帮你出，然后再拿回来就完全合法了，他们会有这样的一个流程。我最近接受到了一个邀请，想让我用在 PCB 上面焊那种存储颗粒，就是直接手工搓出一个 U 盘，然后里面存这个音乐，这也算是音乐的另一种存储方式，然后作为那种随印刷物的特典。我认识一个叫东方医学的社团，你也可以去采访一下，他是做那种医学类出版物的然后还能和东方有关系的这种，我不知道他的进度如何了，总之他那边如果做出出版物来的话，这就算是合法的出版物了。再之后我一时就想不起来什么让我印象深刻的创作类型了。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以我现在感觉东方这个 IP 它的同人的氛围，或者说它的整个产业是非常成熟的，而且其实比较可贵的就是官方它并不会去限制这样的发展。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;是这样。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你刚刚有提到很多关于日本那边的同人文化，你会了解日本的同人文化吗？如果说有的话，你觉得日本那边的同人文化和中国的同人文化具体有什么主要的差异吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;日本的交通依附于铁路会比较方便，而在国内的话，比如说出省，因为中国太大了，所以它的展会基本上是非常分区域化的，比如说我在东北出展的时候，和我在广东出展的时候，顾客喜欢的角色甚至都是不一样的，更不用说价位的区别了，当然经济发达地区他们的消费力会更强，这个就不用说了。但是如果是日本的话，我会觉得日本的那些同人创作者他们是更闲的，我会觉得他们有时间去做各种各样的东西，因为在国内的创作者基本上会遇到三道坎，第一个中考，第二个高考，第三个是考研，然后找个班上。而在日本，可能我觉得相对来说他们的生活压力或者说工作压力会小一些。我知道一个画师，不知道他是做什么的，每天在推特上面发四五张图全是认真画的，我就说你是做什么工作的。我会有这种感觉，他们会有更多的时间和精力来做这件事。&lt;/li&gt;&lt;li&gt;他们也有很多那种类似于文创的作品，但他们的同人文的这种积淀是完全不如国内的，他们的同人志基本上推出来很慢，而且又很不出名，但是在国内只要提到东方基本上就是同人文、音乐和 MMD 视频这三板斧，还有同人游戏，能一口气掏出来一大堆，但日本的话你说我如果想入东方，我应该看什么，那基本上就只会给你推荐 ZUN 的游戏了。日本的同人游戏社团更倾向于做那种小游戏和免费游戏，但是国内会有一些更成熟的产出，甚至组成工作室这种类型的，比如说东方冰之勇者记，他们做了一年多然后做出来，销量很好，然后可以接着做东方同人游戏来养活自己，这种社团在日本是没有的，我觉得是这样。有一些那种画师他会接各种各样的画，他有一个号专门画东方的画，孜孜不倦地画，然后说画画他们基本上是拿来当副业做，而且他们的价格也会更不美好一些，因为在日本的物价会很高。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那非常感谢，就是刚刚讲了那么多。接下来想问一些你跟其他爱好者或者一些读者或者创作者的一些互动，就是你跟其他的一些同人读者和创作者之间一般会有哪些日常的互动？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;最近刚发生一件令我非常高兴的一件事，就是我把我的这个文章拿去参加中大漫协的投稿，社刊刚做出来，等一会儿我可以给你拿我刚拿到的这个刊物。就是我的这个作品上刊了，过了几天，有一个读者特意过来找我，说我很喜欢你写的作品里面的哪个角色，专门过来感谢了我一顿，这个我觉得非常高兴，就是和做同人制品别人夸你做的品质是完全不一样的一种情绪，他会夸你对这个角色的了解，或者说你自己的描写细致，告诉你你写的主题是让他认同的这种，带来的感觉是不一样的。这是我觉得同人文创作，甚至跟其他同人作品创作都不一样的一种体会，你只要做一样，它就会给你带来未知的那种幸福感，给你一种未知的收获，这种未知是最迷人的，我会有这种体会。&lt;/li&gt;&lt;li&gt;然后因为我的社团肯定也不能是只靠我一个人去做，我当时和画师去联系，就是做了八个学校的东方的那种校徽，我跟每一个社会的人互动，我会给他们一种就是我很靠谱，我很负责任的感觉，就是我办事你放心，我做什么肯定都不会有什么差错，给自己给其他人那种令人安心的一个创作者的形象，我会觉得对我自己的这个身份很满意。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那你在线上会有一些互动吗？线上主要是通过哪些平台和软件去进行互动？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;因为在 B 站东方的推流不是那么好看，所以我们一般用 QQ 群。我基本上会在中大的东方群跟大家聊聊天，发发图片，还有跟画师互动也是基本上是在 QQ 群和 QQ 动态，包括约稿也基本上就是微信和 QQ，我基本上不在小红书和贴吧活动，因为我觉得再运营几个平台太累了，尤其是微博，基本上我更喜欢那种封闭一点的，都有一些熟人社会那种感觉。就是你跟一些很熟的人才更愿意去分享一些你最近的感知，一些三次元的事情比如说你今天看中大发生了什么事，你可能更愿意跟中大东方群、跟那种你更贴切的一些爱好者分享，甚至都不是跟漫协的人去分享，比如说今天我吃了什么之类的什么拍个菜给大家看这种，我会觉得在东方群内分享更安心一些。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那线下的话主要就是像你刚刚说的，去参加展会，还有一些线下刊物，然后有一些企划去进行互动对吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我们五月份准备在南校申请教室来办一个群活，这也算是我们线下的一种互动。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那在和不是同人读者和作者的群体，也就是外界，比如说家人同龄人，还有一些路人互动的时候，有没有遇到过一些让你印象深刻的事情？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我父亲会说我搞这个比较幼稚，这个很好笑，就是他看到我当时替别人卖同人刊物，他那个同人刊物外面画的人物，就灵梦魔理沙那种类似于游戏主角的画，他会觉得你卖的东西你做的东西怎么这么幼稚？我爸是那种最传统的觉得二次元是幼稚的这种态度，然后我妈会觉得我不懂，但是我大受震撼。我跟我妈说，比如说我去上海展我赚了两千多，然后我妈说你好厉害，你去了南方果然会赚钱，也是比较刻板印象。她会有那种就是我虽然不了解，但是你只要做的事情看起来很靠谱，那就接着做吧。他们甚至还会说，就你搞这个东西，你如果缺钱跟我们说，我的启动资金也是从这里来的。我的合伙人现在还在上高三，这个技术还是他去年高二的时候教给我的，他这个人也很厉害，我跟他说这个钱以后都是我自己出。我做出来的经济损失，比如我画板子的时候难免会出现一些疏漏，导致我这一批产品都不能用了，这种经济损失都是我自己承担的，然后如果说外界的话，包括我室友可能会好奇说你天天做这些东西你觉得累吗？我就跟他们说我做这个东西很开心，然后还有的话我甚至会给我父母把我做的这个中大的 NFC 卡给他们手机上别了一个，我跟他说你以后可以给你们的朋友看，说这是你家孩子做的，我会让他们觉得我做的东西是可以令他们自豪的，我在做有用的东西，即使他们可能并不那么认同，但我还是会传达给他们，说我做这种东西是完全强化我自己的能力的，我乐于其中，我觉得我在做有意义的事情。对其他同龄人的话，可能会说你要不要入坑东方，然后对年纪大一点的人的话，我会说这个东西确实能赚钱，你要不看看我是怎么赚钱的，就是按方抓药吧。因为对于不同的人都是具体情况具体分析的，他们大概会对哪些感兴趣，我就会去提这些一部分。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以面对家人不是特别理解的时候，你会用一种他们能够理解的方式去跟他们解释。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;对，因为这种感悟也算是我跟顾客打交道的时候，不同的顾客他会对我的产品有不同的兴趣点，渐渐地就总结出来了，哪些年龄段的人会更喜欢哪些东西。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那刚刚也有提到一些，就是你对同人文化商业化现象的一些了解。那总体上的来说，你会怎么去看待同人文化的商业化现象？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;东方圈内的商业化争议是特别大的，就像我之前说的那个“印了 300 本就是犯罪，299 本就不是”，同样也有一个争论是“印了 300 本就是商业化，299 本就不是”。还有些人会觉得就是你的产品卖的太贵了，能不能便宜一点，然后你这样是商业化也不够同人精神，这种问题在东方圈内确实是更明显的，因为在消费者看来，你东西卖东西要赚钱是理所应当的。不过对一些吃白饭吃习惯的人，看到你并不是那么好吃的东西卖了一个比正常吃饭还要贵的价，是不是有点奇怪了，他们就会提这样的一些意见。我觉得商业化是不可避免的，这是一种主流文化和非主流文化或者说亚文化相对来说的一些冲突吧，这种冲突是不可避免的，就是说你需要收益，你不可能免费地把产品送给这些爱好者，但是你也不能过于盯着利益不放，你做的制品就是为了赚钱，不是为了你对于这个产品的理解和喜爱，这样会逐渐偏离你的那些收获，因为钱是永远挣不够的，而且在东方这个 IP 挣钱，你为什么不去找更挣钱的那些 IP 去做？&lt;/li&gt;&lt;li&gt;在我看来，我会逐渐的把重心转向成同人，而不是更商业。当然生活中我也会有一些很想要的东西，因为我把钱都投在做同人上了，有的时候存款就不会那么好看，然后就不会去买那些消费的东西，这时候我会去想我当时怎么没有定个贵一点的价格，多赚点钱，当然这种念头基本上一瞬间也就过去了，我会觉得赚到了那些钱，把这个东西买下来了，给我的这种幸福感和意义也不会有做这些东西那么多，基本上我会觉得是你在做的时候找好自己的这个方向。如果你真的就想商业化，就想赚钱，没有人会阻止你，没有人能拦在你面前说不要这样做，说你再这样做就怎么影响你了，什么什么变化了，不会这样的，基本上就是只要搞之前认清楚你做这个东西到底为了什么，你想赚钱那就赚。&lt;/li&gt;&lt;li&gt;为什么同人不能是赚钱的？大概是几个月前，有个展会主办方说自己亏钱了，所以禁止摊位搞拼摊，你明白什么意思吗？就比如说两个社团的东西都不多，然后我们摊位只能申请一个，所以我们两个社团一起拼起来，那个主办方就说，我用了多少钱办展，我太有同人精神了，我都亏钱办了，那你也不许赚钱，这个就是有点太魔怔的同人精神了。同人精神不是人亏钱，同人精神是你创作的时候不以赚钱为目的而已，商业化的目的也不是说我就搞商业化，就是让所有人都给我爆米，你们高不高兴随便，不是这样的，而是能不能在同人和商业之间找到一个平衡点，众乐乐，我们卖的东西又好，大家都喜欢，我们又能让这个制作者不那么的利益亏损。&lt;/li&gt;&lt;li&gt;好多人办类似于 THO 的 only 展，都会带有一种向死而生的想法，我就要亏钱，我办这个展就是要亏几万，跟人吹牛的时候也是我亏了多少钱，所以我就爱这个同人。我觉得这个也太扭曲了，不是以亏钱为美吧，所以说我觉得这个也是需要改变的，虽然现在还是会有很多人说我办了个展，亏了多少钱，所以我很爱这个 IP 这种说法。这个我只能说，那你菜就多练，你办展难道只能亏钱吗？那这个展、这个 IP 早就已经毁灭了，你不能为了反对商业化而故意亏钱，也不能为了商业化而故意不让所有人对你的产品满意，因为同人就像是同人，是别人选择你的原因，而商业化是你存续的原因。我觉得这就是一种矛盾的两面性，你必须得在里面找到你自己的对立统一，你才能办好你的社团，才能做好你的制品。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;所以，你觉得比较理想的这种创作者的状态就是在赚钱和去交流，或者说去分享热爱这两个方向之间去做到一个平衡。然后你觉得不要以亏多少钱这样的数字去作为一个道德上面的制高点绑架其他人，或者说去占领一个制高点这样的行为，你会觉得这样比较扭曲，也不是特别的利于创作者去持续地做一些事情。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;会影响社群的生态。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那接下来想问一下，在你贩卖同人制品还有营销的过程中，有没有遇到过一些挑战或者机遇？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我自己曾经还特别担心我产品卖不出去怎么办，我会引用应该是马克思说的一句吧，&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;把商品转化成货币之前的这个惊鸿一跃，不可能是每一次都成功的。&lt;/h3&gt;&lt;h6&gt;马克思《资本论》第一卷第三章 货币或商品流通：“商品的第一形态变化或卖。商品价值从商品体跳到金体上，像我在别处说过的，是商品的惊险的跳跃。这个跳跃如果不成功，摔坏的不是商品，但一定是商品占有者。” https://www.marxists.org/chinese/marx-engels-2/44/009.htm）&lt;/h6&gt;&lt;p&gt;你不能指望做什么产品都赚钱，甚至你不能指望做什么产品都回本。遇到困难的话也是，比如说我做每一个制品的芯片，就是 NFC 卡的存储芯片，每一个都是我自己焊的。一开始我的工艺是我拿热风枪去一个个吹，我会觉得这个东西太累了，那个焊锡是有毒的，那个烟会熏得鼻子眼睛都很疼，我当时还买了防毒面具和护目镜，后来我改进了一下工艺，这也算是我克服了一下这个困难吧，就是我买了一个 99元 的烤炉，我把我的产品塞到里面恒温加热，然后就解决了这个加热的问题，这也算是我的工艺的一个提升，也可能算是机遇和挑战了。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;还有什么机遇挑战，比如有一些展你一开始向人推销的时候你是找不到重点的，你可能会担心我这样跟人介绍我的产品可能会有一些没有表达好，会导致顾客的流失。不过，我自己在搞同人之前就会经常锻炼我自己的表达能力，因为我觉得向别人清楚地表达自己的这种想法是非常重要的，这也可能是我坚持搞这些的原因，就是说你会有意识地在推销中强化自己的这种表达的能力，这算是给我带来的这种进步，就是我非常有勇气跟人表达我的观点，因为你不得不在推销的时候跟各种各样的人去表达你的产品哪里好，他们可能会做出那种你觉得非常恐怖的、好像被讨厌了这样的感觉，但是给你心性的锻炼是非常显著的，你会很快地觉得那就这样吧，不喜欢就算了吧，我自己不强买强卖，我也没逼他，就会有这种心态转变，这也算是我遇到的机遇和挑战。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;接下来想问关于性别的一些问题，就是你觉得性别对于你成为一个同人作者和读者有什么影响吗？或者说你有听说过什么类似的案例吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我觉得这个很明显，比如同人女这个词确实要比同人男更常见一些。我不知道为什么好像在刻板印象里就是女生的画师更多，她们做出摊就更少一点。不过在我的观察上，我确实不能说东方的爱好者性别比例是一比一，我可能说男生要多得多，不过这个 IP 可能就是如此，女性创作者会显得更少，但是反而比较集中，就是我认识到的女生可能不会画画，但是也会出 cos，总之她们倾注的热情是要比男性更多的，也有可能是虽然人少但是质量精的这种感觉。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;好的，就是你本身是作为一个男性的同人读者和作者，你个人会觉得同人女和同人男之间会有区别，前者的热情可能会更高，然后作品质量也会更好。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我觉得这个区别可能并不是这样说的，不是说女性作者更好，而是说我能接触到的男性特别多，反过来我接触到的女性就会在我的记忆里留下了更深刻的印象，两边都有很优秀的人吧，我不能说哪个更好，这样说就有点不太好了。比如说女生画的就是好看，没有这样，我认识的男画师画得也一样好，但是我遇到的女作者里创作者的占比更高。可以这样说，女性爱好者里创作者的占比是要比男性高得多的，或者这样说，就是她们会更愿意在自己的热爱的 IP 内投入更大的精力去创作，我觉得是可以这样说的。如果说例子的话，比如说 cos 也算是一种同人创作吧，女性会更愿意在 cos 上投更多的钱，但是东方有一个我觉得比其他 cos 圈更好的点，就是你出东方的 cos，你即使不化妆，不那么认真，也不会有人去批评你。出 cos 本身就是你乐于去做的，你只要不是拉住别人说我美不美，你想 cos 成你自己喜欢的角色没有人会出警你，但是在其他 IP 就不行，我曾经看到非常典型的有其他 IP 的人会批评这个现象，说什么东方的 coser 都不按规矩办事，这种太皇帝做派了，我觉得这个也抽象，你凭什么限制别人去做什么事情。东方这边和其他 IP 比起来可能男 coser 会更多，因为在东方圈内部对男 coser 化不化妆的这种要求或者说 cos 质量的要求会更低，你自己想披个假发穿个衣服出来可以，你不到处吓人不就没什么问题吗？但是在其他 IP 我可以明显地感受到是有村规的，你穿出来吓人会挨骂。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你刚刚也提到了你的感受的一些区别，那你个人感觉同人女和同人男会还有别的区别吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;同人女和同人男会经常转发一些对方的这种负面消息到动态里，然后我会觉得双方都会有一些问题吧，我觉得我自己看事情还是相对来说比较客观一些，因为我是一个会积极主动地了解相关东西的人，类似于在推销的时候我会理解对方去让对方相信我是对他考虑，我会认为你很适合我的产品，我才会去推销，所以我会试着去理解所有人，他们产生这种想法的原因是很合理的，但是他们产生这种想法的结果我就要另外再想。所以我觉得说同人女同人男有什么差别的话，我能看到很多同人创作者，他们并不是那么的完美，他们是有性格上的缺陷的，处理方式上也会有缺陷，而同人女的缺陷……可能这个我得很小心地说，比如说她们可能会更在意自己受到的关注度。我认识的同人女，她可能会喜欢说我要集赞，我要很多的赞，我要大家的评论，我要有很多大家的互动，可能赚多少钱反而不重要。我也认识一个非常魔怔，想赚钱的同人男。但是我觉得这都是海量个例，我不能说依靠我了解到的这些人，我就说同人女就是这样的、同人男就是这样的，有点太刻板了，我只能说我去介绍一些我看到的吧。我看到的同人女可能会更愿意跟人互动，不过同人男的话可能就不太愿意发动态。&lt;/li&gt;&lt;li&gt;同人男有两种，一种是技术宅，他们会做出很厉害的东西，但他们不太会愿意跟人说，我认识的那个跟我一起出摊的那位中大的老学长，他就是不苟言笑，不怎么表达他的产品，但他产品做出来非常好，我就很不忍心看他卖得不好。因为他不推销所以他的摊位前面门可罗雀，我就帮他去卖，以后你的东西寄给我帮你免费卖了，我都会这样说。有一些男性爱好者，他们自己的擅长的那些点就是，可能这也比较刻板吧，就是理科类型的产品，这种多半都是由那种同人男做出来的，因为同人女的话，她们可能更倾向于在世俗上面更容易接受她们去画画去唱歌，但男性的话，可能他们去唱歌画画出 cos，在东方这个女性角色为主的一个 IP 里就会显得很奇怪，他们就被迫去做一些比如网页或者说 3D 动作 MMD 视频，而出 cos 就只能跟那些搞笑 cos 坐一桌了。&lt;/li&gt;&lt;li&gt;同人女和同人男在东方的分工是会有一些的，有一些社会分工这种感觉，就是因为世俗或者说圈内的一些观点的影响，男性 coser 就没有女性 coser 那么地专业，那些摄影也会更愿意拍女 coser 一些，拍那些精心装扮的女 coser。确实也有那种很厉害的男性画手出画集，但是我觉得画师基本上两种性别都是存在的。但是比如说我做的这些小玩意，还有包括我的那个学长，他做的也是这种技术相关的东西。就基本上是同人男在做，但是画师还是要找女画师约稿的，所以我觉得东方圈内还没有那种特别大的什么男权女权的节奏，这也是我非常喜欢的一点，因为大家都心里有数，自己到底能干什么，不能干什么，很平等的一种感觉吧。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你刚刚有提到过，你觉得在东方这个 IP 里面，可能男女比例是男性的创作者和读者会比较多，那你觉得就是在整个同人文化当中，它的男女比例是怎么样的？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我自己觉得整个同人文化可能还是男性偏多一点，我会有这种刻板的印象。不过如果实际来看的话，我在网上看到的同人女，她的创作质量确实会更高。就是如果你在 B 站看手书，基本上是女性创作者的比较多，或者是小红书看到的那种手书之类的，可能女性创作者就更多一点，包括唱歌之类的唱见，包括 coser 都是女性创作者更多。但是到了东方，也不只是东方展吧，我去过很多常规展，我都感觉男性更多。可能是没有乙女类的摊位导致的，但是男性就是比女性多，不过也可能是我自己的观察有问题。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你觉得在同人文化里面男性会比较多，你觉得这样的比例是因为什么？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;可能是我自己的问题，我觉得是因为我比较关注这种中性和男性的 IP，我不会关注靠近女性的 IP，所以我不会知道在女性的这个 IP 圈内会有什么很厉害的人。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;在同人文化的内部有哪一些约定俗成的规则或者原则对你来说特别重要？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我想一想，要说东方的话，&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;我们有一个同人创作准则（https://www.bilibili.com/opus/400555526272745308）&lt;/h3&gt;&lt;p&gt;这个肯定是必须要遵守的。不过说句实话，我根本就不知道这个详细内容是什么，我只知道东方有一个同人创作准则，所以我做东西卖钱基本上没人会管我。还有什么准则，也没有特别多了。还有不能设计什么教派或者政治隐喻，我还记得这个。不过我记得最清楚的是不能提自己是原作，就是你不能做一个游戏，然后说自己是什么东方什么什么无敌版，你不能说你自己是什么原作的正版延续，这个确实是对于一些游戏创作者来说他们是需要知道的。包括不能放原作的 ED，就是 ZUN 本人说不想剧透，你可以打这个游戏的攻略，但是你游戏一旦放到结尾，你就要把这个游戏的结局剪掉，因为他不想让第一次游玩的人被剧透，差不多有这种要求。这种都是一些细节的要求，但是没有比如说不允许做什么角色的要求。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;在你这样的接触到他们文化的这一整段历史当中，有没有一些外部的因素有对你产生过重要的影响，比如说一些社会事件，一些人或者一些政策变化，还有市场等等。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我会特别记住我准备打算入坑东方那一天，因为当时有人跟我推荐说你看幻想万花镜，就是东方的一个同人动画，当时那天我正准备看，我的同学也给我发消息说俄乌战争开始了。我永远记住了那一天，正好是 2022 年的 1 月份吧，我记得 1 月 20 号还是 2 月 20 号，那天俄乌战争正好开始，所以我跟人聊天的时候总会说，我说俄乌战争开始多久了，我就入了东方多久，这个确实是有点奇怪的一个说法吧。再说的话，还有什么会对我创作有影响的话，可能是一些新闻时事事件。就比如说刚才我说过的之前有一个东方的做通贩的网店被查，这也使我会更谨慎地去做，我基本上不打算自己去做同人刊物了，就是因为这件事。可能别人做我还会能帮忙就帮忙，但是我自己就不打算再做这种刊物了，我会有这种想法。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那你有什么个人的因素会影响到你对同人文化的参与吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;个人因素的话，我想到的可能是类似于我是哪个角色厨，这个可能会有吧，不过我自己甚至都没有说特别喜欢的角色，可能是因为我自己还没做出制品来。我做制品基本上都是按照大家都喜欢什么、我会看哪个角色来比较，或者说我想到一个很好的点子，我可以去做这个制品，我才会去做。反倒是关于我自己的喜好我还没有做什么相关的制品出来。我自己的社团还没有做视频，我总会说我自己喜欢的角色我都还没做，然后别人就问我你到底喜欢哪个角色，我说我都喜欢，因为我入东方这么久了，我不可能说我因为单独喜欢一个角色我才会去决定开社团的。我本人的性格也会因为参与到同人制作中而有改变。我会说我因为我每个角色都喜欢，所以我才可以平等地去给大家做各种各样的这些角色的制品，然后我做宣传的时候才能做到平等的对待。我会觉得同人对我的影响大于我对同人的影响。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;刚刚有提到，就是会因为比如说某个角色，他可能比较缺少一些高质量的同人作品，或者说一些同人谷，然后你就会去做，就是说社群里面的一些意见或者一些反馈会影响到你参与同人文化。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;是这样，比如说有些人会跟我反映说，你做这个角色，他会很适合你的产品，我说那好，我下次就做，基本上会有这种影响。包括我自己会想到我的这个灵感会很适合哪个角色，而不会像一开始说的哪个角色火才做什么。这个可能会影响我的市场，但其次这个 IP 它是需要我来帮助它推广的，它不该是让更多人了解哪个角色，它是有它的这个可爱点、闪光点，我会带有这种责任感而去做。不过后来我基本上妥协了，因为总有人问我这个热门角色你怎么没做，我想买这个，然后我突然想到这个既然是众望所归喜欢的人多自有他的道理，那就还是做一些吧，我现在就在做一些。反而就是不那么去费力不讨好地做冷门角色，因为冷门角色对于那些画师来说他们也没那么熟悉，都不太好约稿，我有个画师就卡了几个月的稿，我跟他说那换个热门角色画，他说太好了，都会有这种反应。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;好的了解，你现在整体上觉得社会对于我们作者和读者的接纳度是怎么样的？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;同人制品在出版物上，在这种印刷品上面，现在还不是特别乐观，做印刷品基本上就是又不赚钱，又容易被管。又比如说挂一些同人吧唧、挂一些这种二次元的挂件之类的在包上，可能确实会受到一些奇怪的那种冷眼，但是我不会觉得这种问题特别严重，因为现在二次元的主流化、商业化让二次元的地位上升也是不可争议的事实。虽然我之前说我不喜欢人们因为变成消费者而吵起来，但是变成消费者也是地位的一种提升吧。就是说这些二次元爱好者，他的数量多起来了，他们才会去想拉帮结派。他们本来都是这种受到一些歧视的团体，但是这些团体强大起来之后，集体歧视他们的那种程度反而就变小了。我甚至觉得对于最近的漫展、展会我父母的态度也在变化，说这个东西确实以后是要成为主流的，他们会有这种感觉。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那你有了解到一些关于同人的政策或者社会舆论吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;比如说有一种叫音 MAD 的，它是类似于用重复的音频和视频拼接起来的一种做法，它的这个版权问题最近就有一些例子。比如说蔡徐坤的鬼畜被蔡徐坤用律师函告上法庭，但是最近也有一个做这种的作者，他的著作权受到了法律的保护，这算是我知道的，也就是说同人是受到法律保护的。音 MAD 的作者会因为这件事很高兴，因为自己的东西，比如说你用到的音源、你用到的这个画面，不会再受到原 IP 的限制了，你拥有你自己创作的版权这件事是挺重要的。就是最近的判决把这个版权判给了这个音 MAD 的作者，这个确实是对我来说也很惊讶的一件事情。至于其他的同人相关政策的话，我觉得好像最近也没有什么改变，包括这个出版物，就我关注的出版物 CD 方面基本上没有感觉到特别多的变化，反倒是在视频媒介上面我看到了这么一件事情。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;接下来问一个比较抽象的问题，你刚刚有提到过同人精神这个词，你是怎么理解同人精神的，你会怎么定义同人文化？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我周围有两类人，第一类人特别认这个同人精神，他们恨不得把自己做的东西每句话都加上这句，我是同人精神。但是还有人特别不喜欢同人精神，就是他看到有人在他面前提同人精神，他就要发火了，因为他觉得这个人是在找事，说他商业化。这两类人我都认识。&lt;/li&gt;&lt;li&gt;我对同人精神的理解，我刚才说过，就是类似于把它理解成一种服务于读者的这种态度，不是把它比喻成不要钱，这绝对不是同人精神。以人为本的这种感觉我觉得才是真正的同人精神，就是你不受到创作者的限制，你也不受到读者的限制，可能这样说有点奇怪，总之就是服务于读者不代表要受到读者的限制，这也是一种同人精神。你不能因为说因为 AB 两类客人都爱看你的作品，然后 A 类多你就去多做 A 类的，像我之前说的转移支付的这种感觉一样。既然你作为一个同人创作者来做，你就坚持你自己想表达的那些事情去吧，而不是说因为外界环境给你的，尤其是那种像是钱，包括那种类似于舆论上的干扰，让你影响了你的创作热情。或者说你创造的内容和方向，这一类都由你决定，你在其他人需要什么方向上的资源，比如说别人缺文案缺平面设计的时候，你不以盈利的目的去帮助，这也算是同人精神吧。在东方圈内这句话的火药味相当十足，所以说让我想的话，我能想到相当多的不同的论点，比如说你帮别人做平面设计，你收费，是不是没有同人精神？你给人画画，因为约稿会有很常见的两种说法，一种叫商稿，也不知道另一种叫什么比较好，反正就是商稿的价格会更高一些，那东方同人社团的稿子，你说他是商稿还是同人稿？很奇怪，不过东方圈内一般都按商稿来收钱，只要你拿去卖钱就算商稿。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;你对同人作者或者读者未来的发展状态有什么期望或者担忧吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;期望的话，我会觉得如果能回到那个人人都看到自己不喜欢的就远离的这种状态比较好，我会非常的厌恶会特别愿意去爱管闲事的这种人，我希望能少一些觉得自我意识过剩的这种人。我甚至还觉得有一个说法特别搞笑，有一些人他自己不在游戏里充钱，但是他说自己是潜在消费者，然后拿着这句话去攻击同人作者说，我是潜在消费者，你也要为我服务。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我准备的问题差不多都问完了，那你还有什么特别想要补充或者介绍的吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;基本上也就这些，这都说了快两个小时了，已经一个半小时了。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;然后非常感谢你今天抽空来给我做访谈，然后想问一下你对这个研究，还有你填写的问卷，还有刚刚访谈的一些问题，有什么意见吗？&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;基本上没有，我觉得这个问卷说得其实还挺好，比较贴切，还能引导说出来这么多。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;那就非常感谢今天的访谈，也非常欢迎你对你说过的内容进行修改和补充。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我稍后把我们的制品给你发过去一下，就是给你看一下大概什么效果，&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;可以的，然后就不打扰你休息了，拜拜！&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;我发一下视频链接，再见。 ![[36]]&lt;/li&gt;&lt;/ul&gt;&lt;/article&gt;</content:encoded><author>蔼石</author><enclosure url="https://legacy.passthem.top/api/v1/static/e18181aef168f85b8b855e36924496bd.png" length="0" type="image/jpeg"/></item><item><title>不要因为思考而停止创作</title><link>https://passthem.top//blogs/13</link><guid isPermaLink="true">https://passthem.top//blogs/13</guid><description>一篇由 蔼石 写的博客</description><pubDate>Sun, 16 Mar 2025 16:40:59 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;但是没做手机版本的网页适配码字真的很难受…… Well,actually…… ![[25]]&lt;/p&gt;&lt;h1&gt;不过这个预览也不算完全用不了&lt;/h1&gt;&lt;h2&gt;只是我看到字都叠在一起真的很搞笑&lt;/h2&gt;&lt;/article&gt;</content:encoded><author>蔼石</author><enclosure url="https://legacy.passthem.top/api/v1/static/6f167daed272e99465572208bdcff541.jpg" length="0" type="image/jpeg"/></item><item><title>想写些乱七八糟的东西</title><link>https://passthem.top//blogs/12</link><guid isPermaLink="true">https://passthem.top//blogs/12</guid><description>一篇由 铃鸣万魔殿 写的博客</description><pubDate>Sun, 09 Mar 2025 01:09:07 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;久本的虚拟化身“Paru”悬浮在宗教都市的圣殿中，脚下是由数以百万记的信徒吗们的祈祷所化作成的铁链。在这片虚无的大地中，一道裂痕撕开了穹顶，《激突！美食赛跑！》的音乐，轰鸣而至。&lt;/p&gt;&lt;p&gt;音乐变得越来越扭曲，所有令人熟悉的音效开始崩溃瓦解，久本雅美的面孔被扭曲的竖口竖眼逐渐覆盖。&lt;/p&gt;&lt;p&gt;“这就是你们畏惧的‘猎奇’吗？”柴田的声音从修罗界传来，“可不要忘了，这些因果都是你们自己种下的！”&lt;/p&gt;&lt;p&gt;久本的手指划过了虚空。在虚空中，出现了一道银色的萤幕，上面正播放着《我的美好人生 Part2》的原始VHS磁带。在画面中，她正在对着镜头高呼：“信仰真的太好了！”&lt;/p&gt;&lt;p&gt;而此刻，这些话语开始随着不知从何处传来的节奏重复。在虚幻的世界当中，从空气传来的各处奏响的声音开始恢复了秩序，演奏并交织在一起——在宗教都市祭，学会员们的话语成为了独属于宗教都市的华丽乐章的一部分，虚拟世界中的信浓町因此被完全异变化……&lt;/p&gt;&lt;p&gt;“是的……”她低声呢喃，“我的头早就爆炸了，在你们笑的那一刻（笑）”。&lt;/p&gt;&lt;/article&gt;</content:encoded><author>铃鸣万魔殿</author><enclosure url="https://legacy.passthem.top/api/v1/static/b8106c2239d0121b5647bfd15d46fa87.png" length="0" type="image/jpeg"/></item><item><title>为 SBAN 解读者 / 创作者准备的基础 Python 代码</title><link>https://passthem.top//blogs/11</link><guid isPermaLink="true">https://passthem.top//blogs/11</guid><description>一篇由 Passthem 写的博客</description><pubDate>Mon, 03 Mar 2025 11:42:23 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;全所为模仿作品中，多少会有密文的出现，为了能够更方便地创作或者解读，能够使用自动化工具提升效率是很重要的事情。我因此写下此文，给大家提供一些常见的 SBAN 密文 / 解读的思路。&lt;/p&gt;&lt;p&gt;这篇文章默认读者拥有基础的 Python 开发能力。如果你读不懂代码，大可以将代码直接复制，去请教当下的各种 AI 工具。&lt;/p&gt;&lt;h1&gt;教育枠. - 任意的进制转换&lt;/h1&gt;&lt;p&gt;在 Python 中储存效率最高的数字是 &lt;code&gt;int&lt;/code&gt;，我们肉眼所见的十进制，在计算机底层是二进制。因此，我们的进制转换围绕 &lt;code&gt;int&lt;/code&gt; 展开，包括从其他进制转换到 &lt;code&gt;int&lt;/code&gt; 和从 &lt;code&gt;int&lt;/code&gt; 输出各种进制的内容。&lt;/p&gt;&lt;h2&gt;从任意进制到 int&lt;/h2&gt;&lt;p&gt;一般来说，我们可以通过指定 &lt;code&gt;int&lt;/code&gt; 构造函数的 &lt;code&gt;base&lt;/code&gt; 属性来定义转换的进制：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;print(int(&amp;quot;123&amp;quot;, base=4))
# 结果：27
print(int(&amp;quot;123&amp;quot;, base=10))
# 结果：123
print(int(&amp;quot;Ff&amp;quot;, base=16))
# 结果：255，告诉我们这个函数是大小写无关的
&lt;/pre&gt;&lt;p&gt;但假如我们有，或者需要更一般的密码本，视作 N 进制，来将其他内容转换为数字，那么我们就需要自己构造函数来解决这样的问题：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;def code_to_int(raw: str, codec: str) -&amp;gt; int:
    result = 0
    for r in raw:
        result *= len(codec)
        result += codec.index(r)
    return result

if __name__ == &amp;quot;__main__&amp;quot;:
    print(code_to_int(&amp;quot;ababa&amp;quot;, &amp;quot;abcdefghij&amp;quot;))
&lt;/pre&gt;&lt;p&gt;这里相当于是说，&lt;code&gt;abcdefghij&lt;/code&gt; 是一个密码本，相当于是十进制的，因为密码本有十项，分别代表 &lt;code&gt;0-9&lt;/code&gt; 的数字。&lt;/p&gt;&lt;h2&gt;从 int 到任意进制&lt;/h2&gt;&lt;p&gt;在 Python 中，并没有给出一种方便快捷的方式来将数字转换成任意进制。对于一些常见的进制，Python 还是自带的：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;print(hex(100))
# 结果：0x64，是字符串类型的十六进制
print(oct(100))
# 结果：0o144，是字符串类型的八进制
print(bin(100))
# 结果：0b1100100，是字符串类型的二进制
&lt;/pre&gt;&lt;p&gt;因此，对于其他进制（说的就是你，七进制），或者自定义的密码本，我们就需要自己构造一个函数：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;def int_to_code(num: int, codec: str) -&amp;gt; str:
    result = &amp;quot;&amp;quot;
    while num:
        result = codec[num % len(codec)] + result
        num //= len(codec)
    return result

if __name__ == &amp;quot;__main__&amp;quot;:
    print(int_to_code(100, &amp;quot;0123456&amp;quot;))
    # 结果：202
&lt;/pre&gt;&lt;h1&gt;アブジェ枠. - 编码转换&lt;/h1&gt;&lt;p&gt;编码是全所为模仿偷懒中，最常用的方法。这中间就涉及到文本的编码。简单来说，编码是一套规则，用于定义计算机中的 0/1 串怎么对应到我们常见的文字。&lt;/p&gt;&lt;p&gt;不少朋友会想到 Unicode，因为 Unicode 被称为万国码，编码了计算机能显示的尽可能多种类的文字。但是，Unicode &lt;strong&gt;并不是&lt;/strong&gt;在实际中能够开箱即用的。简单来说，是因为 Unicode 对一个字的编码并不是等长的，所以你不知道相邻的字节中，哪些和哪些应该分成一个字。&lt;/p&gt;&lt;h2&gt;Unicode 的编码和解码&lt;/h2&gt;&lt;p&gt;如果你需要查看一个字的 Unicode 编码，或者从 Unicode 编码反推文字，你可以使用 Python 自带的 &lt;code&gt;chr&lt;/code&gt; 和 &lt;code&gt;ord&lt;/code&gt; 函数：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;print(ord(&amp;quot;你&amp;quot;))      # 20320
print(hex(ord(&amp;quot;你&amp;quot;))  # 0x4f60
print(chr(20320))                  # 你
print(chr(int(&amp;quot;4f60&amp;quot;, base=16)))   # 你
&lt;/pre&gt;&lt;p&gt;因此，如果你是解读者，假如对面使用 16 进制编码，而且你发现并不符合你见过的常见编码方案，你可以尝试使用手动分段的方式来编码 Unicode：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;def encode_unicode(raw: str) -&amp;gt; bytes:
    result = b&amp;quot;&amp;quot;
    for r in raw:
        result += ord(r).to_bytes(2)  # 代表两个字节宽度
    return result

encode_unicode(&amp;quot;你好，世界！&amp;quot;)
# b&apos;O`Y}\xff\x0cN\x16uL\xff\x01&apos;
# 这种一团乱麻的四不像。。。

def decode_unicode(raw: bytes) -&amp;gt; str:
    result = &amp;quot;&amp;quot;
    for i in range(0, len(raw), 2):
        # 代表截取两个字节
        result += chr(int.from_bytes(raw[i: i+2]))
    return result

decode_unicode(b&apos;O`Y}\xff\x0cN\x16uL\xff\x01&apos;)
# &apos;你好，世界！&apos;
&lt;/pre&gt;&lt;p&gt;相当于说，对于编码后的字节串，每两个字节固定编码一个字符。对于英语来说，如果也是每两个字节编码一个字符，会带来很大的浪费。&lt;/p&gt;&lt;p&gt;这里用到的 &lt;code&gt;int.from_bytes&lt;/code&gt; 和 &lt;code&gt;int.to_bytes&lt;/code&gt; 两个函数值得拿出来说说。这是最简单的将 &lt;code&gt;int&lt;/code&gt; 和 &lt;code&gt;bytes&lt;/code&gt; 互相转换的方法。它有一些其他值得关注的参数可以设置：&lt;/p&gt;&lt;h3&gt;signed&lt;/h3&gt;&lt;p&gt;&lt;code&gt;signed&lt;/code&gt; 意味着有符号的。如果将 &lt;code&gt;signed&lt;/code&gt; 设置为 &lt;code&gt;True&lt;/code&gt;，意味着编码出来的字节串代表有符号整数。&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;# 会报错的写法：
# print((-1).to_bytes(2))

# Traceback (most recent call last):
#   File &amp;quot;&amp;lt;python-input-36&amp;gt;&amp;quot;, line 1, in &amp;lt;module&amp;gt;
#     (-1).to_bytes(2)
#     ~~~~~~~~~~~~~^^^
# OverflowError: can&apos;t convert negative int to unsigned

# 一般的写法：
print((-1).to_bytes(2, signed=True))
# b&apos;\xff\xff&apos;
print((-1).to_bytes(8, signed=True))
# b&apos;\xff\xff\xff\xff\xff\xff\xff\xff&apos;
&lt;/pre&gt;&lt;p&gt;假如有出题者很坏，全部取了反码，那么这个在需要按位取反的时候，非常有用：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;# 假如已经解读出了字节串
# 19 77 6e 1b 47 72 19 67 50 18 44 66

raw = b&amp;quot;\x19\x77\x6e\x1b\x47\x72\x19\x67\x50\x18\x44\x66&amp;quot;
num = int.from_bytes(raw)
num = ~num
final = num.to_bytes(13, signed=True)   # 多出来一位，用于记录负数
final = final[1:]                       # 把它切掉就好

print(final)
# b&apos;\xe6\x88\x91\xe4\xb8\x8d\xe6\x98\xaf\xe7\xbb\x99&apos;
print(final.decode())
# 我不是给
&lt;/pre&gt;&lt;h2&gt;Bytes 和 str 的转换&lt;/h2&gt;&lt;p&gt;正如上面所见，有 &lt;code&gt;str.encode()&lt;/code&gt; 和 &lt;code&gt;bytes.decode()&lt;/code&gt; 两个方法存在，我们可以对字符串进行编码和解码：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;byte_raw = &amp;quot;東方紅魔郷&amp;quot;.encode(&amp;quot;shift-jis&amp;quot;)
wrong_encoding = byte_raw.decode(&amp;quot;gbk&amp;quot;)
print(wrong_encoding)
# 搶曽峠杺嫿
&lt;/pre&gt;&lt;p&gt;相当于说，&lt;code&gt;str&lt;/code&gt; 类型携带的是文本的信息（里面存着的是一个一个的 Unicode 编码之类的东西），而 &lt;code&gt;bytes&lt;/code&gt; 则携带的不是文本信息，而是纯粹的二进制流。使用错误的方式解码会带来乱码。&lt;/p&gt;&lt;p&gt;一般情况下，当在 Python 中遇到无法解码的情况，会报错，但是，我们可以强制它不报错，来看到损坏了的字符串：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;# 会报错的语句
# &amp;quot;東方紅魔郷&amp;quot;.encode().decode(&amp;quot;gbk&amp;quot;)

# Traceback (most recent call last):
#   File &amp;quot;&amp;lt;python-input-80&amp;gt;&amp;quot;, line 1, in &amp;lt;module&amp;gt;
#     &amp;quot;東方紅魔郷&amp;quot;.encode().decode(&amp;quot;gbk&amp;quot;)
#     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
# UnicodeDecodeError: &apos;gbk&apos; codec can&apos;t decode byte 0xb7 in position 14: incomplete multibyte sequence
# decoding with &apos;gbk&apos; codec failed

print(&amp;quot;東方紅魔郷&amp;quot;.encode().decode(&amp;quot;gbk&amp;quot;, &amp;quot;replace&amp;quot;))
# &apos;鏉辨柟绱呴瓟閮�&apos;
&lt;/pre&gt;&lt;p&gt;在这种情况下，出现的 &lt;code&gt;�&lt;/code&gt; 字符代表着这个字符的二进制信息已经丢失，就算重新编码，它会被替换成「错误字符」的编码，而不是原字符的编码。所以在这里，就没办法无损转化回原来的信息。&lt;/p&gt;&lt;h2&gt;常见的编码类型&lt;/h2&gt;&lt;p&gt;如果你的出题者比较良心，那么他们通常会使用常见的编码，下面是一些常见编码的列举和推断技巧：&lt;/p&gt;&lt;h3&gt;ASCII&lt;/h3&gt;&lt;p&gt;对于纯英文情景，ASCII 码的内容都落在 &lt;code&gt;20~7E&lt;/code&gt; 之间。&lt;/p&gt;&lt;pre&gt;51  75  65  72  79
Q   u   e   r   y
&lt;/pre&gt;&lt;h3&gt;UTF-8&lt;/h3&gt;&lt;p&gt;对于 UTF-8 编码的不论是中文还是日文，都基本是三个字节一个字，可以看得出来它有类似于三为周期的循环。而且每个循环看起来都是 E 开头的&lt;/p&gt;&lt;pre&gt;E5 BE 88    很      E3 82 B3    コ
E4 B9 85    久      E3 83 BC    ー
E4 BB A5    以      E3 83 89    ド
E5 89 8D    前      E3 81 A7    で
EF BC 8C    ，      E3 81 99    す
&lt;/pre&gt;&lt;h3&gt;GB2312 和 GBK&lt;/h3&gt;&lt;p&gt;这是中文电脑操作系统中常用的编码，特点是两个字节一个字符，支持中文。&lt;/p&gt;&lt;pre&gt;D6 D8   C7 EC   BB F0   B9 F8
重      庆      火      锅
&lt;/pre&gt;&lt;h3&gt;Big5&lt;/h3&gt;&lt;p&gt;这个编码主要支持繁体中文。如果有台湾的 Sban 模仿者，他们或许会使用这个编码来藏密文：&lt;/p&gt;&lt;pre&gt;A3 74   A3 75   A3 76   A3 77   AA 60   AD B5
ㄅ      ㄆ      ㄇ      ㄈ      注      音
&lt;/pre&gt;&lt;h3&gt;Shift-JIS&lt;/h3&gt;&lt;p&gt;日文区 Sban 常用编码。&lt;/p&gt;&lt;pre&gt;83 41   83 43   83 58   81 41   88 a4   82 b7
ア      イ      ス      、      愛      す
&lt;/pre&gt;&lt;h2&gt;拓展 - 编码推测&lt;/h2&gt;&lt;p&gt;要推测一段 bytes 的编码，一个叫 chardet 的外置库很有用。当然，记得先安装：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;pip install chardet
&lt;/pre&gt;&lt;p&gt;然后就可以尝试检测一段数据的编码。但是，正确率其实不高，不如我们自己一个一个编码尝试：&lt;/p&gt;&lt;pre data-language=&quot;python&quot;&gt;import chardet

print(chardet.detect(&amp;quot;你好，世界&amp;quot;.encode()))
# {&apos;encoding&apos;: &apos;utf-8&apos;, &apos;confidence&apos;: 0.99, &apos;language&apos;: &apos;&apos;}

print(chardet.detect(&amp;quot;你好，世界&amp;quot;.encode(&amp;quot;gbk&amp;quot;)))
# {&apos;encoding&apos;: &apos;TIS-620&apos;, &apos;confidence&apos;: 0.21589272722169808, &apos;language&apos;: &apos;Thai&apos;}

print(chardet.detect(&amp;quot;世界&amp;quot;.encode(&amp;quot;shift-jis&amp;quot;)))
# {&apos;encoding&apos;: None, &apos;confidence&apos;: 0.0, &apos;language&apos;: None}
&lt;/pre&gt;&lt;/article&gt;</content:encoded><author>Passthem</author><enclosure url="https://legacy.passthem.top/api/v1/static/2b329e6a5c130550c10c7a98f850575b.png" length="0" type="image/jpeg"/></item><item><title>Linux 二三事 - Fedora 环境下的 Nvidia 显卡、CUDA、Blender 和 DaVinci Resolve 环境搭建</title><link>https://passthem.top//blogs/9</link><guid isPermaLink="true">https://passthem.top//blogs/9</guid><description>一篇由 Passthem 写的博客</description><pubDate>Sun, 23 Feb 2025 09:25:16 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;Blender 和 DaVinci Resolve 是为数不多我可以在 Linux 环境下舒适使用的视觉软件，而在 Fedora 安装、配置它们需要查阅大量资料。这里我把查阅得到的方法都扔到这里，算是当个备忘。&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Nvidia 闭源显卡&lt;/h1&gt;&lt;p&gt;参考源：&lt;a href=&quot;https://www.reddit.com/r/Fedora/comments/18bj1kt/fedora_nvidia_secure_boot/&quot;&gt;Reddit 相关帖子&lt;/a&gt;&lt;/p&gt;&lt;p&gt;为了方便调试，可以在开机时显示调试信息：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo grubby --update-kernel=ALL --remove-args=&apos;quiet&apos; 
&lt;/pre&gt;&lt;p&gt;在开始安装之前，先在 BIOS 之类的设置中，打开安全启动模式。&lt;/p&gt;&lt;p&gt;所以，第一步要先添加自由和非自由的 rpmfusion 代码库，然后完全更新系统：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo dnf install \
    https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install \
    https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf upgrade --refresh 
&lt;/pre&gt;&lt;p&gt;然后重启电脑。下一步，安装签名用的包。由于安全启动模式要求所有内核模块必须签名，而独立下载的 Nvidia 驱动没有经过发行版的官方签名，所以需要用户自己签名：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo dnf install kmodtool akmods mokutil openssl
&lt;/pre&gt;&lt;p&gt;生成一个密钥，并导入密钥，中间会要求你设置一个密码，设置一个简单记忆的就好，不要太复杂了。&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo kmodgenca -a
sudo mokutil --import /etc/pki/akmods/certs/public_key.der 
&lt;/pre&gt;&lt;p&gt;然后重启电脑，这时候会弹出一个 MOK manager，这时候选择输入密码，然后输入你刚才设置的密码，这时候，你的系统就会信任这个新的密钥。然后电脑启动了，这时候安装 Nvidia 的闭源驱动即可。&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo dnf install gcc kernel-headers kernel-devel akmod-nvidia xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs xorg-x11-drv-nvidia-libs.i686
&lt;/pre&gt;&lt;p&gt;当安装完成时，可以通过下面的指令验证安装是否正常（验证驱动版本，确认模块已正确签名并加载）：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;modinfo -F version nvidia
&lt;/pre&gt;&lt;p&gt;如果显示错误，那就等一会，等模块构建完成。这时候再确保这些模块是否构建完成。两个指令分别是重新构建内核模块，以及重新生成 &lt;code&gt;initramfs&lt;/code&gt; 镜像和签名后的 &lt;code&gt;NVIDIA&lt;/code&gt; 模块，保证系统启动时能正确加载驱动。&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo akmods --force
sudo dracut --force
&lt;/pre&gt;&lt;p&gt;然后再次重启，就顺利完成了！&lt;/p&gt;&lt;h1&gt;CUDA 工具集&lt;/h1&gt;&lt;p&gt;参考源：&lt;a href=&quot;https://rpmfusion.org/Howto/CUDA&quot;&gt;rpmfusion.org&lt;/a&gt;&lt;/p&gt;&lt;p&gt;这个方法适用于我的 Fedora41 版本。&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo dnf config-manager addrepo --from-repofile=https://developer.download.nvidia.com/compute/cuda/repos/fedora41/$(uname -m)/cuda-fedora41.repo
sudo dnf clean all
sudo dnf module disable nvidia-driver
sudo dnf config-manager setopt cuda-fedora41-$(uname -m).exclude=nvidia-driver,nvidia-modprobe,nvidia-persistenced,nvidia-settings,nvidia-libXNVCtrl,nvidia-xconfig
sudo dnf -y install cuda-toolkit
&lt;/pre&gt;&lt;p&gt;安装完成后，Blender 就可以正常使用 Cycles + CUDA 渲染了。（记得重启电脑）&lt;/p&gt;&lt;h1&gt;Blender 笔刷修复&lt;/h1&gt;&lt;p&gt;在最近的 Blender 发行版（4.3），官方没有把资源文件打包到发行版的分发中，导致 &lt;code&gt;dnf install blender&lt;/code&gt; 安装的 Blender 没有笔刷。为了修复这个问题，我们需要自己安装本来应该得自带的笔刷文件。&lt;/p&gt;&lt;p&gt;首先，先下载&lt;a href=&quot;https://download.blender.org/release/Blender4.3/&quot;&gt;官方配布&lt;/a&gt;的 Blender 打包文件，这里我选择 4.3.2 版本的，下载 &lt;code&gt;blender-4.3.2-linux-x64.tar.xz&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;接着，配置 Blender 的资源文件地址。在官方配置的是 &lt;code&gt;~/Documents/Blender/Assets&lt;/code&gt; 这个位置：&lt;/p&gt;&lt;p&gt;![[15,这个是默认位置]]&lt;/p&gt;&lt;p&gt;然后，将解包文件中的 &lt;code&gt;./4.3/datafiles/assets/&lt;/code&gt; 里面的文件复制到这个文件夹里，重启 Blender 即可解决。&lt;/p&gt;&lt;h1&gt;DaVinci Resolve 安装&lt;/h1&gt;&lt;p&gt;参考源：&lt;a href=&quot;https://www.youtube.com/watch?v=HXykLpQ4dZE&quot;&gt;Youtube&lt;/a&gt;&lt;/p&gt;&lt;p&gt;从官方下载的 DaVinci Resolve 安装包，在安装有两个修复步骤。第一步是启动安装包。直接启动会显示 &lt;code&gt;zlib&lt;/code&gt; 包版本问题，但是实际上我们可以正常安装，只需要在启动时选择不检查包版本：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo SKIP_PACKAGE_CHECK=1 ./DaVinci_Resolve_19.1.3_Linux.run -i
&lt;/pre&gt;&lt;p&gt;安装完成后，我们要修补程序，删除掉（移动走）比较旧的 &lt;code&gt;.so&lt;/code&gt; 动态链接库。&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;cd /opt/resolve/libs
sudo mkdir libs_backup
sudo mv libgio* ./libs_backup
sudo mv libglib* ./libs_backup
sudo mv libgmodule* ./libs_backup
&lt;/pre&gt;&lt;p&gt;这样就能正常启动了。&lt;/p&gt;&lt;h1&gt;剩余的问题&lt;/h1&gt;&lt;p&gt;截至到今天，我还有一些没有解决的问题。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Blender 的 Cycles 在高 DPI 下显示模糊&lt;/li&gt;&lt;li&gt;自带的 Nautilus 很多时候没法拖拽到 Chromium 系应用（由于 Wayland 和 Xorg 不兼容导致）&lt;/li&gt;&lt;li&gt;Minecraft 没办法将指针锁定到中心（由于 Wayland 导致）&lt;/li&gt;&lt;li&gt;Blender 的自动平滑着色会提示 &lt;code&gt;No assets found at path &amp;quot;&amp;quot;&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;如果你知道解决方法，欢迎联系我以进一步补充这个博客。&lt;/p&gt;&lt;/article&gt;</content:encoded><author>Passthem</author><enclosure url="https://legacy.passthem.top/api/v1/static/968502671d210c415585410234b886fe.webp" length="0" type="image/jpeg"/></item><item><title>Linux 二三事 - 开机自启动的热点</title><link>https://passthem.top//blogs/8</link><guid isPermaLink="true">https://passthem.top//blogs/8</guid><description>一篇由 Passthem 写的博客</description><pubDate>Thu, 20 Feb 2025 13:11:05 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;虽然 Linux 有很高的可定制性，但是对我这样的小白来说，要实现一些听起来很容易的事情实际上没那么容易。我这次的需求就是，我希望能够开机自启动热点。&lt;/p&gt;&lt;p&gt;原因是这样的，我在家，我的电脑，或者我平时用手机，都是在房间里面。房间有一条网线牵引，而无线网络的信号很差。所以，我需要开热点，才能在我的房间以比较合理的速度上网。&lt;/p&gt;&lt;pre data-language=&quot;mermaid&quot;&gt;graph TD;
  A[家庭网络] --&amp;gt;|有线连接| B[我的电脑]
  B --&amp;gt;|无线连接| C[我的手机]
  B --&amp;gt;|无线连接| C[香橙派等设备]
&lt;/pre&gt;&lt;h2&gt;把热点开起来&lt;/h2&gt;&lt;p&gt;我不打算介绍图形界面的操作方法，因为「仅仅在图形界面操作」的话，确实不太能直接设置开机启动。所以，就要知道怎么用命令配置启动热点：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo nmcli dev wifi hotspot ifname wlo1 con-name Hotspot \
    ssid Aquarius password &amp;quot;xxxxxxxx&amp;quot;
&lt;/pre&gt;&lt;p&gt;我使用的是 &lt;code&gt;NetworkManager&lt;/code&gt; 来管理网络，如果你要自己复现，只用把 &lt;code&gt;ssid&lt;/code&gt; 后面的 &lt;code&gt;Aquarius&lt;/code&gt; 换成自己的热点名字，而 &lt;code&gt;password&lt;/code&gt; 换成热点的密码就好了。&lt;/p&gt;&lt;p&gt;这样只创建了一条「连接」的配置，没有启动它，所以还需要手动启动它：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo nmcli con up Hotspot
&lt;/pre&gt;&lt;h2&gt;让热点能用&lt;/h2&gt;&lt;p&gt;这样，理论上我们就能上网了，但对我的环境，我手机直接连接上去，会显示上不了网。实际上，中间有两个因素阻拦。一个是防火墙，一个是 IP 转发规则。&lt;/p&gt;&lt;p&gt;先说说 IP 转发。现在的状况是，手机连接上了热点，确实跟电脑连上了。但是电脑没有配置 IP 转发规则，也就是说，手机发了数据包，电脑不知道转发给谁。手机看发的数据包都没人回答，那肯定是连不上网了。&lt;/p&gt;&lt;p&gt;所以先配置转发规则：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;# 设置将热点的网段（10.42.0.0/24）使用 NAT 转发
# 转发的目标是有线网络连接设备 enp4s0
# MASQUERADE 可以通俗理解成「
#     你的电脑就像一个路由器一样，
#     或者说，像一个邮局一样，
#     负责揽收所有网络数据，从同一个地址寄送出去，
#     往上一级的网络收到返回值以后，寄回这个邮局，
#     然后邮局再把数据包交给你。
# 」
sudo iptables -t nat -A POSTROUTING -s 10.42.0.0/24 -o enp4s0 -j MASQUERADE

# wlo1 是我的无线网络的网络设备，而 enp4s0 正如上文所说，
# 是我的有线网络的网络设备。
# 这条规则允许从 wlo1 的网络数据传输到 enp4s0
sudo iptables -I FORWARD -i wlo1 -o enp4s0 -j ACCEPT

# 这条规则允许从 enp4s0 的回复用的网络数据回传到 wlo1
sudo iptables -I FORWARD -i enp4s0 -o wlo1 \
    -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
&lt;/pre&gt;&lt;p&gt;但除此之外，还有一个 &lt;code&gt;firewalld&lt;/code&gt; 的防火墙拦住了，所以无奈之下只能禁用它：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo systemctl stop firewalld.service      # 停止
sudo systemctl disable firewalld.service   # 取消开机启动
&lt;/pre&gt;&lt;p&gt;这样以后，我的手机就能上网了。&lt;/p&gt;&lt;h2&gt;让热点开机启动&lt;/h2&gt;&lt;p&gt;开机启动配置的是一个 &lt;code&gt;systemd&lt;/code&gt; 服务。先创建一个脚本，把前面的这些工作都写上来。这个脚本我存到了 &lt;code&gt;/usr/local/bin/my_start.sh&lt;/code&gt; 里面。&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;#!/bin/bash

iptables -t nat -A POSTROUTING -s 10.42.0.0/24 -o enp4s0 -j MASQUERADE
iptables -I FORWARD -i wlo1 -o enp4s0 -j ACCEPT
iptables -I FORWARD -i enp4s0 -o wlo1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

nmcli dev wifi hotspot ifname wlo1 con-name Hotspot ssid Aquarius password &amp;quot;xxxxxxxx&amp;quot;
nmcli con up Hotspot
&lt;/pre&gt;&lt;p&gt;然后写一个 &lt;code&gt;systemd&lt;/code&gt; 的配置文件，我写到了 &lt;code&gt;/etc/systemd/system/my_startup.service&lt;/code&gt; 里面，实际上，启动脚本应该要放到这个文件夹里面：&lt;/p&gt;&lt;pre&gt;[Unit]
Description=PT Startup Script
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
User=root
ExecStart=/usr/local/bin/my_startup.sh

[Install]
WantedBy=multi-user.target
&lt;/pre&gt;&lt;p&gt;其中我规定了 User 是 root，这个启动脚本应该由 root 来运行。毕竟前面我们手动执行的时候，都用了 &lt;code&gt;sudo&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;最后启用它就好了：&lt;/p&gt;&lt;pre data-language=&quot;bash&quot;&gt;sudo systemctl enable my_startup.service
sudo systemctl start my_startup.service
&lt;/pre&gt;&lt;p&gt;这样，热点就可以开机启动了。&lt;/p&gt;&lt;/article&gt;</content:encoded><author>Passthem</author><enclosure url="https://legacy.passthem.top/api/v1/static/e1d58fb7a787ed382bd3493e2a7b2dc6.webp" length="0" type="image/jpeg"/></item><item><title>帕斯镇 化学 必修一</title><link>https://passthem.top//blogs/5</link><guid isPermaLink="true">https://passthem.top//blogs/5</guid><description>一篇由 モノクロ子 写的博客</description><pubDate>Wed, 19 Feb 2025 06:47:05 GMT</pubDate><content:encoded>&lt;article&gt;&lt;h1&gt;第一单元 欢迎来到帕斯镇&lt;/h1&gt;&lt;hr&gt;&lt;h2&gt;课题 1 认识&lt;strong&gt;Passthem&lt;/strong&gt;镇长&lt;/h2&gt;&lt;p&gt;各位同学们好，欢迎来到&lt;strong&gt;帕斯镇&lt;/strong&gt;！相信你早在来到这里之前，就已经知道了&lt;strong&gt;Passthem&lt;/strong&gt;镇长吧！你是否也想和&lt;strong&gt;Passthem&lt;/strong&gt;打招呼呢？那么，跟着我一起学习&lt;strong&gt;化学&lt;/strong&gt;吧！&lt;/p&gt;&lt;h3&gt;一、制取&lt;strong&gt;Passthem&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;$$ 2Pt+2As+2S+2He+2Mn=2Passthem+N_2 $$&lt;/p&gt;&lt;p&gt;![[-1,图1-1 制取Passthem的化学反应方程式]] 从==&lt;strong&gt;图1-1&lt;/strong&gt;==中，我们可以看出：&lt;strong&gt;Passthem&lt;/strong&gt;可以由&lt;strong&gt;铂、砷、硫、氦、锰&lt;/strong&gt;制取，同时反应会产生氮气作为副产物。 那么，请同学们自己试一试吧。&lt;/p&gt;&lt;pre&gt;△[实验 1-1]
(1)、从试剂瓶中取出足量铂、砷、硫、氦、锰，迅速放入烧杯中，用玻璃板密封；
(2)、将烧杯置于阴凉、干燥处，静待十分钟；
(3)、观察到有细小的白色球体生成；
(4)、白色球体缓慢凝聚，观察到Passthem生成。
&lt;/pre&gt;&lt;p&gt;![[12,图1-2 Passthem]] &lt;em&gt;恭喜你！你拥有了一只镇长！&lt;/em&gt; 但是，你有没有好奇过，这个反应是如何进行的呢？让我们进入下一章节吧。&lt;/p&gt;&lt;h3&gt;二、字母配平&lt;/h3&gt;&lt;p&gt;制取Passthem的过程可以整理成如下的思维导图。&lt;/p&gt;&lt;pre data-language=&quot;mermaid&quot;&gt;graph LR
  A[*2Pt*+*2As*+*2S*+*2He*+*2Mn*] --&amp;gt;|提取字母| B[*2P*+*2A*+*4S*+*2T*+*2H*+*2E*+*2M*+*2N*] --&amp;gt;|字母配平| C[*2Passthem*+*N₂*]
&lt;/pre&gt;&lt;p&gt;![[-1,图1-3 制取Passthem的过程]] 观察图1-3，你注意到了什么？ 没错，反应物与生成物内的字母出现次数相等。 我们把&lt;strong&gt;使反应前后的元素符号内每个字母出现的次数相等的配平方式叫作字母配平&lt;/strong&gt;。&lt;/p&gt;&lt;pre&gt;△习题1-1
使用字母配平法，使以下化学反应式反应前后的元素符号内每个字母出现的次数相等。
(1). Co+Fe→Coffee
(2). Ba+Na→Banana
(3). K+As+Ga+U→Kagaku+S
(4). S+U+Be+Na→Subeana+N₂
(5). Ni+Co+Ds+O₂+U+Ga→NiconicoDouga+S
&lt;/pre&gt;&lt;h1&gt;&amp;amp;&amp;amp;またの御アクセスをお待ちしております。&amp;amp;&amp;amp;&lt;/h1&gt;&lt;hr&gt;&lt;h2&gt;&lt;code&gt;点击查看代码&lt;/code&gt;&lt;/h2&gt;&lt;pre&gt;# 第一单元 欢迎来到帕斯镇
---
## 课题 1 认识**Passthem**镇长
各位同学们好，欢迎来到**帕斯镇**！相信你早在来到这里之前，就已经知道了**Passthem**镇长吧！你是否也想和**Passthem**打招呼呢？那么，跟着我一起学习**化学**吧！
### 一、制取**Passthem**
$$
2Pt+2As+2S+2He+2Mn=2Passthem+N_2
$$

![[-1,图1-1 制取Passthem的化学反应方程式]]
从==**图1-1**==中，我们可以看出：**Passthem**可以由**铂、砷、硫、氦、锰**制取，同时反应会产生氮气作为副产物。
那么，请同学们自己试一试吧。

\```
△[实验 1-1]
(1)、从试剂瓶中取出足量铂、砷、硫、氦、锰，迅速放入烧杯中，用玻璃板密封；
(2)、将烧杯置于阴凉、干燥处，静待十分钟；
(3)、观察到有细小的白色球体生成；
(4)、白色球体缓慢凝聚，观察到Passthem生成。
\```

![[12,图1-2 Passthem]]
*恭喜你！你拥有了一只镇长！*
但是，你有没有好奇过，这个反应是如何进行的呢？让我们进入下一章节吧。

### 二、字母配平
制取Passthem的过程可以整理成如下的思维导图。
\```mermaid
graph LR
  A[*2Pt*+*2As*+*2S*+*2He*+*2Mn*] --&amp;gt;|提取字母| B[*2P*+*2A*+*4S*+*2T*+*2H*+*2E*+*2M*+*2N*] --&amp;gt;|字母配平| C[*2Passthem*+*N₂*]
\```
![[-1,图1-3 制取Passthem的过程]]
观察图1-3，你注意到了什么？
没错，反应物与生成物内的字母出现次数相等。
我们把**使反应前后的元素符号内每个字母出现的次数相等的配平方式叫作字母配平**。
\```
△习题1-1
使用字母配平法，使以下化学反应式反应前后的元素符号内每个字母出现的次数相等。
(1). Co+Fe→Coffee
(2). Ba+Na→Banana
(3). K+As+Ga+U→Kagaku+S
(4). S+U+Be+Na→Subeana+N₂
(5). Ni+Co+Ds+O₂+U+Ga→NiconicoDouga+S
\```

# &amp;amp;&amp;amp;またの御アクセスをお待ちしております。&amp;amp;&amp;amp;
&lt;/pre&gt;&lt;/article&gt;</content:encoded><author>モノクロ子</author><enclosure url="https://legacy.passthem.top/api/v1/static/5e997cee7b6bea4aaee9b1e1d6c77170.bmp" length="0" type="image/jpeg"/></item><item><title>大家好啊，我是</title><link>https://passthem.top//blogs/4</link><guid isPermaLink="true">https://passthem.top//blogs/4</guid><description>一篇由 超几何冰精 写的博客</description><pubDate>Mon, 17 Feb 2025 10:00:04 GMT</pubDate><content:encoded>&lt;article&gt;&lt;h1&gt;我&lt;/h1&gt;&lt;h2&gt;喜欢&lt;/h2&gt;&lt;h3&gt;Passthem&lt;/h3&gt;&lt;h4&gt;啊啊&lt;/h4&gt;&lt;h5&gt;字体&lt;/h5&gt;&lt;h6&gt;还能更小吗&lt;/h6&gt;&lt;p&gt;####### ←好像没有七级标题了！&lt;/p&gt;&lt;p&gt;$$&lt;/p&gt;&lt;p&gt;那么，来 \textit{测试} 一下 \textbf{ \LaTeX } 的功能吧！&lt;/p&gt;&lt;p&gt;$$&lt;/p&gt;&lt;p&gt;嗯嗯，不错，那就这样吧！拜拜！&lt;/p&gt;&lt;p&gt;附原代码：&lt;/p&gt;&lt;pre&gt;# 我

## 喜欢

### Passthem

#### 啊啊

##### 字体

###### 还能更小吗

####### ←好像没有七级标题了！

$$

那么，来 \textit{测试} 一下 \textbf{ \LaTeX } 的功能吧！

$$

嗯嗯，不错，那就这样吧！拜拜！
&lt;/pre&gt;&lt;/article&gt;</content:encoded><author>超几何冰精</author><enclosure url="https://legacy.passthem.top/api/v1/static/4ad88ed27d0f5ed74f519cb71d16ef1c.gif" length="0" type="image/jpeg"/></item><item><title>我的第一篇博客</title><link>https://passthem.top//blogs/1</link><guid isPermaLink="true">https://passthem.top//blogs/1</guid><description>一篇由 Passthem 写的博客</description><pubDate>Thu, 13 Feb 2025 18:19:41 GMT</pubDate><content:encoded>&lt;article&gt;&lt;p&gt;如果你读到了这篇博客，那么说明这个博客系统已经部署成功了。&lt;/p&gt;&lt;p&gt;正如你所见，现在的博客系统，包括博客文章的语法，渲染等等，都还没开始构建，现在它是一个彻彻底底的草台。因为现在还在构建的早期，所以如果有更新，我会直接把更新扔到这篇博客里的。&lt;/p&gt;&lt;p&gt;如果你有任何的建议，欢迎联系我，来让这个博客系统更友好，或者更有趣，谢谢你的阅读和参与！&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;2 月 14 日&lt;/h1&gt;&lt;p&gt;这个博客系统终于完成了最基础的雏形，接下来几天的任务，是对基础的 Markdown 语法的解析和转译工作。同样，我会继续在用户系统上下一点功夫的，请大家期待！&lt;/p&gt;&lt;p&gt;当然，现在有些字段，就连数据库里都还没有，例如一篇 Blog 的首图等等，这些字段我会相继添加。&lt;/p&gt;&lt;p&gt;总之，写了这么多天，终于有一些能够看到的成果了，有点小成就感。&lt;/p&gt;&lt;h1&gt;2 月 16 日&lt;/h1&gt;&lt;p&gt;正如你所见，我终于开始写这里的界面了。首先支持的就是文章的头图。除此之外，现在终于开始支持代码块了，就像这样：&lt;/p&gt;&lt;pre data-language=&quot;javascript&quot;&gt;console.log(&amp;quot;Hello, world!&amp;quot;)
&lt;/pre&gt;&lt;p&gt;写法是：&lt;/p&gt;&lt;pre data-language=&quot;plaintext&quot;&gt;```javascript
console.log(&amp;quot;Hello, world!&amp;quot;)
\```
&lt;/pre&gt;&lt;p&gt;跟原生的 Markdown 差不多，吧，大概，只不过这里就没有避免代码块在内部闭合的问题，所以我在匹配「代码块结尾」的时候，用的是「一整行有且仅有三个反撇号」。&lt;/p&gt;&lt;p&gt;另外，各种行内元素，我都还没有开始匹配，就像是&lt;em&gt;倾斜&lt;/em&gt;或者&lt;strong&gt;加粗&lt;/strong&gt;之类的。这个会在不久之后支持，不久之后你就看得到啦！&lt;/p&gt;&lt;h1&gt;2 月 17 日&lt;/h1&gt;&lt;h2&gt;转义符号支持&lt;/h2&gt;&lt;p&gt;加了一个行首的转义符号，用来处理一些特殊的情景。例如：&lt;/p&gt;&lt;pre&gt;\```plaintext
我需要有一行，这一行只有三个撇
\\```
\```
&lt;/pre&gt;&lt;p&gt;渲染的结果是：&lt;/p&gt;&lt;pre data-language=&quot;plaintext&quot;&gt;我需要有一行，这一行只有三个撇
\```
&lt;/pre&gt;&lt;h2&gt;插入图片支持&lt;/h2&gt;&lt;p&gt;我在后台写了这个上传图片的接口：&lt;/p&gt;&lt;p&gt;![[4,上传图片的接口]]&lt;/p&gt;&lt;p&gt;因此，只要指定图片 ID，就可以把在博客中插图了：&lt;/p&gt;&lt;pre data-language=&quot;plaintext&quot;&gt;![[4,上传图片的接口]]
&lt;/pre&gt;&lt;p&gt;如果不需要在下面标注，也是可以的：&lt;/p&gt;&lt;pre data-language=&quot;plaintext&quot;&gt;![[4]]
&lt;/pre&gt;&lt;p&gt;动图也可以哦：&lt;/p&gt;&lt;p&gt;![[6]]&lt;/p&gt;&lt;h2&gt;渲染失效警告&lt;/h2&gt;&lt;p&gt;当遇到语法错误时，渲染器会自动抛出，就像下面这样：&lt;/p&gt;&lt;p&gt;![[这个肯定不是图片的编号]]&lt;/p&gt;&lt;h2&gt;KaTeX 支持&lt;/h2&gt;&lt;p&gt;现在支持输入整行的数学公式了：&lt;/p&gt;&lt;pre data-language=&quot;markdown&quot;&gt;$$
\mathcal{L} = \int_0^{+\infty} \sum_{i=1}^{n} \left( \frac{-\beta_i E_i(t)}{k_B T} - \ln \left( \frac{\partial}{\partial t} \left[ \mathbf{X}(t) \mathbf{Y}^{-1} \right]_{i,i} \right) \right) \, dt
$$
&lt;/pre&gt;&lt;p&gt;（这个公式我不知道是什么意思，我让 AI 生成的，只为了测试性能）将会渲染成：&lt;/p&gt;&lt;p&gt;$$ \mathcal{L} = \int_0^{+\infty} \sum_{i=1}^{n} \left( \frac{-\beta_i E_i(t)}{k_B T} - \ln \left( \frac{\partial}{\partial t} \left[ \mathbf{X}(t) \mathbf{Y}^{-1} \right]_{i,i} \right) \right) , dt $$&lt;/p&gt;&lt;h1&gt;2 月 21 日&lt;/h1&gt;&lt;p&gt;久等了！今天的更新是：&lt;em&gt;倾斜&lt;/em&gt;，&lt;strong&gt;加粗&lt;/strong&gt;，==高亮==，&lt;code&gt;代码块&lt;/code&gt;和&amp;amp;&amp;amp;不准你看的东西！&amp;amp;&amp;amp;&lt;/p&gt;&lt;p&gt;语法如下：&lt;/p&gt;&lt;pre&gt;*倾斜*
**加粗**
==高亮==
`代码块`
&amp;amp;&amp;amp;黑幕&amp;amp;&amp;amp;
&lt;/pre&gt;&lt;h1&gt;2 月 22 日&lt;/h1&gt;&lt;p&gt;添加了对 Mermaid 的支持：&lt;/p&gt;&lt;pre data-language=&quot;mermaid&quot;&gt;graph LR
  A[那我问你] --&amp;gt;|你是男的| B[我头就尖怎么了]
  A --&amp;gt;|你是女的| B
  A --&amp;gt;|你是秃顶| B
  A --&amp;gt;|你有染发| B
&lt;/pre&gt;&lt;pre&gt;\```mermaid
graph LR
  A[那我问你] --&amp;gt;|你是男的| B[我头就尖怎么了]
  A --&amp;gt;|你是女的| B
  A --&amp;gt;|你是秃顶| B
  A --&amp;gt;|你有染发| B
\```
&lt;/pre&gt;&lt;h1&gt;3 月 24 日&lt;/h1&gt;&lt;p&gt;添加了排版上的一些优化，包括：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;中文Chinese和英语English的自动空格！（请不要依赖它，还是自己打空格比较好！）&lt;/li&gt;&lt;li&gt;对多行换行的支持。如果你打超过两行换行，可以创造空行。另外，含有且只含有空格的行也可以创造空行。&lt;/li&gt;&lt;li&gt;缩进，在行首打四个空格是一级缩进。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;例如这样。这是一段没有意义的文本，用来填充空间或测试排版效果。天空的蓝色与云朵的白色交织，形成一幅抽象的画卷。键盘上的字母随机排列，仿佛在诉说某种未知的语言。茶杯里的热气缓缓上升，消失在空气中，不留痕迹。数字与符号在屏幕上跳动，没有规律，也没有目的。风吹过树叶，发出沙沙的声响，却无人倾听。时间在这里静止，意义被暂时搁置。一切都在等待，等待真正的文字降临。&lt;/p&gt;&lt;p&gt;这是一段没有意义的文本，用来填充空间或测试排版效果。天空的蓝色与云朵的白色交织，形成一幅抽象的画卷。键盘上的字母随机排列，仿佛在诉说某种未知的语言。茶杯里的热气缓缓上升，消失在空气中，不留痕迹。数字与符号在屏幕上跳动，没有规律，也没有目的。风吹过树叶，发出沙沙的声响，却无人倾听。时间在这里静止，意义被暂时搁置。一切都在等待，等待真正的文字降临。&lt;/p&gt;&lt;p&gt;这是一段没有意义的文本，用来填充空间或测试排版效果。天空的蓝色与云朵的白色交织，形成一幅抽象的画卷。键盘上的字母随机排列，仿佛在诉说某种未知的语言。茶杯里的热气缓缓上升，消失在空气中，不留痕迹。数字与符号在屏幕上跳动，没有规律，也没有目的。风吹过树叶，发出沙沙的声响，却无人倾听。时间在这里静止，意义被暂时搁置。一切都在等待，等待真正的文字降临。&lt;/p&gt;&lt;p&gt;空行。&lt;/p&gt;&lt;p&gt;在等待什么吗？&lt;/p&gt;&lt;/article&gt;</content:encoded><author>Passthem</author><enclosure url="https://legacy.passthem.top/api/v1/static/7149006fb7011d1d9e7909c5ef62406b.png" length="0" type="image/jpeg"/></item></channel></rss>