得益于自己懒+这个月确实事情有点多,感觉自己的博客已经摸鱼很久没更新了。这个月初我自己过生日,在生日当天的话仍然是表演了一下例行节目,发了一个微信朋友圈和QQ说说,祝大家高考顺利,给各位高考生上个buff。
平常写的代码绝大多数都是Python、Kotlin、Java、Typescript之类的,也经常用Markdown写写文档。最近我还打算折腾折腾Rust。
这几天里,我在开始尝试用Zed来写这些代码。
我又在群里跟别人吵架了,这次吵架的话题如标题所述。而正是因为这篇post来自于吵架,所以内容显然是松散的(好像我之前写的所有内容都是松散的
正如我在「写在2026年刚开始的时候」里写的那样,「AI的发展真快啊,确实是超出了我的想象了」。AI越来越强了,它能够替我们完成许多许多繁琐的工作了。与此同时,对我自己来说,我自己越来越觉得自己是一个废物了。
或许「学习」这件事在AI盛行的当下,变得越来越没有意义了?「传统教学」这件事在AI盛行的当下是不是已经变成了一个彻头彻尾的笑话呢?
今天在群里在群里跟网友吹比,吹着吹着突然发现一个问题。现在AI技术日新月异,我们似乎一直没有关注过上下文这一块的问题。
时光荏苒,岁月如梭,转眼间2025年就结束了。
每年我都会写一些有的没的的东西。按理说应该是在年初写,但是因为自己摸鱼,一直没有下笔来写这篇文章。
适用于《Python程序设计》课程。
起因是发现 Wakeup 课程表更新后被塞入了一大堆冗余功能(搜题、提示登录等),本来想去官方反馈一下好歹给一个关闭的选项,结果到了 QQ 频道发现此 App 已经被售出并商业化,只能自己设法回退版本。
谷歌搜索之后,得到了如下解决方法,在此记录一下,方便以后使用。
首先,下载 ipatool:
brew install ipatool
然后,执行登录:
ipatool auth login -e <your_apple_id_email>
随后输入提示和 2FA 码,完成登录:
9:52PM INF email=<your_apple_id_email> name="Your Name" success=true
使用 search 命令搜索你想要降级的 App:
ipatool search <app_name>
此例中,搜索:
ipatool search Wakeup --format json
得到如下 JSON 结果:
{
"level": "info",
"count": 5,
"apps": [
{
"id": 1553402284,
"bundleID": "com.wakeup.schedule",
"name": "WakeUp课程表-超级好用的课程表",
"version": "6.0.80",
"price": 0
},
// ...
],
"time": "2025-11-28T22:21:57+08:00"
}
很明显,第一个是我们要的,记录下来他的 bundleID,也即 com.wakeup.schedule。
使用 list-versions 命令列出该 App 的所有版本
ipatool list-versions -b com.wakeup.schedule --format json
得到结果如下:
{
"level": "info",
"externalVersionIdentifiers": [
"840461360",
"842067932",
"842408761",
"842433648",
"842569452",
"842608243",
// ...
],
"bundleID": "com.wakeup.schedule",
"success": true,
"time": "2025-11-28T22:21:43+08:00"
}
你可以直接使用 jq 来对结果进行排序:
ipatool list-versions -b com.wakeup.schedule --format json | jq '.externalVersionIdentifi
ers | sort_by(tonumber) | reverse'
得到结果如下:
[
"879551069",
"879389049",
"878503093",
"878288344",
"878285945",
"877806886",
"877585055",
"877474991",
"877453456",
"876777068",
// ...
]
当前的最新版本是 6.0.40,最后一个无广告、冗余功能版本是 6.0.32。然而并不是往回数 8 个版本就是 6.0.32,我们可以通过 get-version-metadata 命令来获取实际版本:
ipatool get-version-metadata -b com.wakeup.schedule --external-version-id 877585055
得到结果:
10:36PM INF displayVersion=6.0.32 externalVersionID=877585055 releaseDate=2021-03-14T08:00:00Z success=true
可以看到,877585055 对应的版本才是 6.0.32。
找到这个 externalVersionId 之后,我们可以使用 download 命令下载该版本:
ipatool download -b com.wakeup.schedule --external-version-id 877585055
然后我们就能得到对应的 ipa 安装包文件 com.wakeup.schedule_1553402284_6.0.32.ipa。
首先,下载 Apple Configurator,安装后打开。
使用数据线连接到你的 iPhone,完成授权后直接将上一步下载得到的 IPA 文件直接拖入到你的 iPhone 中,即可完成安装。
此时,会提示你「已存在名为“WakeUp课程表”的 App」,选择「替换」即可。
由于身处医学部,修读信双的我一节线下课都去不了,所有信双课程都必须自学,所以在过往的三年里,为了监督自己学习,我为大部分课程都同步撰写了笔记,在此过程中,AI 使我受益匪浅,它不仅能够帮我答疑解惑,详细地讲解 Slides 中没写明白的地方,还能帮我省去许多苦力活,敲出许多近乎完美的 LaTeX 代码,形成高质量、通俗易懂的笔记,成为了我信双学习生涯不可或缺的助力。
在过往的学期内,很多的笔记都是我对着 PPT 硬问 AI 然后结合录播自行增改所撰写,但随着 Gemini 的横空出世,我总结出了一套很棒的 Pipeline,感觉很适合信科课程的学习,在此分享给大家,希望能对大家有所帮助。
gemini-2.5-pro 模型生成 Markdown 笔记(方式见后),建议不要全文送入,尽管上下文可以 Cover,但有可能对于重点和细节的关注有所下降,我一般就是一节课(约 50 min)一次输入。关于 AI 的使用:
尽管使用了 AI,但如果用心整理笔记,仍会花费接近甚至超过课程的原始时间(对我而言,基本上是原始时间的 1.5x),不过的确能在此过程中充分理解课程内容。
希望对大家有所帮助。
{TEXT}
根据以上转录稿(请注意,其中可能存在大量的识别错误,你可能需要自行猜测并修正之)以及所给 PPT 内容,撰写详细清楚的笔记,要求使用 markdown。 风格类似
```md
## 线性模型
线性模型:线性模型就是要学习特征 $X$ 的一种线性组合来进行预测,进行运算 $y = wX + b$,其中 $w$ 是 $X$ 的权重,$b$ 是偏置,$y$ 是预测值。
我们希望通过学习得到最优的 $w$ 和 $b$,使得预测值 $y$ 与真实值(ground truth) $y_{GT}$ 的误差最小。
其中,$X$ 具有 $n$ 个特征,$X = (x_1, x_2, ..., x_n)$,其每个分量都代表一个特征,$y = w_1x_1 + w_2x_2 + ... + w_nx_n + b$,是 $X$ 各个特征的线性组合。
**线性回归**:给定数据 $D = \{(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)\}$, 用一个线性模型估计最接近真实 $y$ 的连续标量: $f(x_i)=w^T \cdot x_i + b$, 也就是要 $f(x_i) \approx y_i$
其中,$(w, b)$ 是要学习的模型参数。
也就是要:
$$
f^{*} = \arg \min_f \mathbb{E} [ ( f ( X )-Y )^{2} ]
$$
由于我们不能无限地获得数据,所以我们只能通过有限的数据来估计这个期望,也就是:
$$
f^{*}= \arg \min_f \frac{1}{N} \sum_{i=1}^{N} ( f ( x_i )-y_i )^{2}
$$
这也被称为 Empirical mean(经验均值)。
其中,$n$ 是数据的数量,$x_i$ 是第 $i$ 个数据的全部特征,$y_i$ 是第 $i$ 个数据的真实值,$f(x_i)$ 是第 $i$ 个数据的预测值。
```
如你所见,我希望笔记可读性很强,详细介绍所有出现的公式、符号定义,深入讲解讲稿中的核心 insight 与重要知识点,同时兼顾思维的连贯性,我希望你尽量少运用加粗语法与列表语法,并尽量使用中文标点符号,除非必要情况。
请直接输出 md 格式内容,无需外包代码块。
最近领了不少 Claude Code 镜像站的免费额度,但是各大镜像站的稳定性一般,有时候某个源用着用着就挂了,需要快速切换到其他可用的源;有时候想根据不同项目的需求选择性价比最高的源。每次手动修改环境变量或配置文件既麻烦又容易出错,特别是当手头有多个免费额度需要管理时,于是写了个简单的切换脚本来解决这个问题。
**林恩:**书接上文,在《简单说说:你的电脑是如何访问网页的?》中我们聊到了IP技术,同时我们知道了在计算机世界中,设备之间需要通过IP地址来找到彼此,才能进行数据交换和通讯。没有IP地址,就像没有电话号码,通讯就无法实现。
p核心:预设计并计算轨迹,随后只是重放轨迹,实际上是不断 “重放”
问题:
如果想要足够通用,则需要像人,才能实现 “通用机器人”(Task generalists),能够形成 perception-action loop(感知 - 动作循环)。
实际上是形成了一个神经网络:
神经网络:
思维活动:
人脑:
观点:没有具身智能,就没有 AGI。
具身智能最大的问题:缺少真实数据,不能满足 Scaling Law 所需的数据量。
和智能驾驶不一样,在真实世界中快速采集到所需数据是几乎不可能的。
神经网络还有一个问题,就是泛化性,因为在真实世界中数据的分布可能会与训练集的分布不一致。
可能的解决方法:合成数据。
优点:
树的定义及其相关性质、使用方法与运算过程,二叉树的构造、遍历方式。
数据结构的基本概念、数据的存储结构和逻辑结构、集合、线性结构、树形结构、图型结构的构成方式、顺序存储和链式存储的区别与联系、线性表的使用方法与运算过程、栈和队列使用方法与运算过程。
算法的基本概念、基本特性、算法复杂度的计里方法、描述算法的三种工具(流程图、N-S盒图、过程设计语言)、穷举法、递归法、排序算法的算法思想。
程序设计语言的演变过程、C 语言的特点、C语言基础、结构化程序设计的基本结构。
MOV(放入)、ADD(累加)、HLT(结束)等分析问题 -> 抽象数学模型 -> 确定实现算法 -> 编写程序 -> 调试运行程序 -> 结果输出
结构化程序设计方法引入了工程思想和结构化思想,使大型软件的开发和编程都得到了极大改善。
结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用语句。
[!important] 三种基本结构
顺序结构,选择结构,循环结构
结构化程序设计方法是程序设计的先进方法和工具。采用结构化程序设计方法编写程序可使程序结构良好、易读、易理解、易维护。1966年,玻姆(Boehm)和贾可皮尼(Jacopini)证明了程序设计语言仅使用顺序、选择和循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
计算机软硬件系统的组成部分、硬件系统包括运算器、存储器、控制器、输入输出设备的具体概念和用途、软件系统包含系统软件和应用软件的概念和用途。
控制器是整个计算机系统的计算中心。
程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、时序控制电路和微操作控制电路等组成。
运算器和控制器合称为中央处理器,是计算机的核心部件。
CPU 的基本功能:程序设计、操作控制、时间控制、数据处理
管理、运行、控制和维护计算机系统资源的程序集合。
主要功能:
操作系统是软件的核心,管理整个系统资源的作用。
分为软件包和用户程序。
数据的表示方法、数字进位制以及各位制之间的转换,原码、反码、补码的表示方法。
数据的定义:数据是指所有能输入到计算机并被计算机程序处理的符号的总称,是用于输入电子计算机进行处理,具有一定意义的数字、字母、符号和模拟量等的统称。
二进制:只用0和1两个符号,一般以**八位(1字节)**出现。
十进制:0~9。
八进制:0~7,人为规定以0开头的数字为八进制。
十六进制:0~9,A、B、C、D、E、F,人为规定以0x开头。
示例:将十进制数13转换为二进制
1 | 13 ÷ 2 = 6 余 1 |
从下往上读取余数,得到二进制数1101。
因此,十进制数13的二进制表示为1101。
[!Warning]
注意需要补全至八位:00001101
对于十进制小数转换为二进制数,我们主要关注小数部分的转换。方法如下:
示例:将十进制小数0.625转换为二进制
1 | 0.625 × 2 = 1.25 取整数部分1 |
因此,十进制小数0.625的二进制表示为0.101。
注意:某些十进制小数在二进制中可能是无限循环小数,这种情况下需要根据实际需求截断精度。
二进制转换为十进制
最高位为符号位。(0=正数,1=负数)
原来的数值称为机器数的真值。
1 | +3[原] = 00000011 |
机器数本身。
对于正数:反码与原码相同。
对于负数:反码保持原码符号位不变,其他各位取反数。
1 | +3 = 00000011[原码] = 00000011[反码] |
正数:原码。
负数:反码+1。
1 | +3[补] = 00000011[原] = 00000011[反] = 00000011[补] |
https://higoge.github.io/2015/07/02/basic03/
特点:
| 字符/编码 | 十进制 | 二进制 | 备注 |
| a | 97 | 110 0001 | b编码为98 |
| A | 65 | 100 0001 | B编码为66 |
| 0 | 48 | 011 0000 | 1编码为49 |
| SPACE(空格) | 32 | 010 0000 |
Bit,比特,也叫二进制位,是信息的最小单位。一个比特可以理解为一个开关量,0就是关,1就是开。
Byte,字节,由8个Bit组成。它通常用作计算机信息计量单位。字节在一些规范中称作Octet。
Bit简写为b,Byte简写为B。
TeamSpeak3汉化包.ts3_translate[!IMPORTANT]
请务必设置昵称,这是你在服务器内显示的名称。
[!Warning]
TeamSpeak 5 必须登入MyTeamSpeak账户才可以继续使用。
如若无法登入成功,请使用特殊的网络环境。
[!tip]
TeamSpeak 5 操作几乎与KOOK等一致。
[!NOTE]
TS的降噪功能较为基础,你可以参考下文设置更加优秀的降噪效果。
需要使用NVIDIA显卡 或 AMD核显/显卡。
该功能需要NVIDIA显卡,具体参考下方硬件支持声明。
RTX Voice硬件支持声明:
如需体验 RTX Voice,您必须配备 NVIDIA GTX 或 RTX 显卡、将驱动升级至 410.18 或更高版本并使用 Windows 10。
NVIDIA Broadcast硬件支持声明:
信息 平台 Windows 10(64 位) 版本 1.4.0.39
系统要求 GPU NVIDIA GeForce RTX 2060、Quadro RTX 3000、TITAN RTX 或性能更强的 GPU RAM 8GB RAM 或更高 CPU 推荐:英特尔酷睿 i5 8600、AMD Ryzen R5 2600 或性能更强的处理器 驱动 NVIDIA Studio 驱动 526.98 / Game Ready 驱动 526.47 / NVIDIA RTX Enterprise 驱动 526.67,或更高版本驱动 互联网 在安装过程中需要连接到互联网
以下软件适用于GTX显卡(10系或更低),如若你使用的是RTX显卡(20系或更高),请参考下文。
内容摘自英伟达官网。
RTX Voice 会在您的系统中创建一个虚拟设备,我们希望在您的语音聊天应用中使用该虚拟设备来消除聊天中的背景噪音,以免对 YouTube 视频、Spotify 音乐或游戏音频这类的一般 Windows 音频源进行误消噪。
设置方法:
我们建议您为麦克风启用 RTX Voice,并只在必要时为扬声器启用该插件。虽然扬声器的音质基本没变,但在某些情况下可能会略有差异。此外,该解决方案需要占用系统资源,因此如果不需要的话,建议避免使用。
4. 根据以下说明配置您的语音聊天应用。应用有时会使用类似 NVIDIA Broadcast 中的效果,如去噪。两次应用效果往往会造成效果无法正确呈现。我们建议在您的应用和驱动中禁用此类效果。
安装:
设置:
a. 打开 NVIDIA Broadcast 应用。
b. 导航至每个设备并选择顶部的输入设备。
c. 选择您要应用的效果。
i. 如果您愿意,可以组合使用多种效果。
ii. 我们建议您仅启用所需效果,以避免占用不必要的 GPU 资源。
d. 如果需要,您可以使用下方的滑块调整效果强度或设置。
此处仅开启麦克风降噪即可。
[!CAUTION]
该功能需要AMD核显/AMD显卡,具体参考下方硬件支持声明。
[!Note]
官方硬件支持说明:
硬件
- 支持搭载集成显卡的 AMD 锐龙 6000 系列和更晚推出的处理器。
- 支持 AMD Radeon RX 6000 系列和更晚推出的台式机显卡。
- 需要安装 AMD Software: Adrenalin Edition 22.7.1 或更高版本。
- AMD 噪声抑制功能可能无法安装在配备基于 Realtek ACP 的 ANR 的系统上。
OS 支持
- Microsoft® Windows® 10
- Microsoft® Windows® 11
AMD 降噪请在 AMD驱动软件 中进行设置。
在“设置”的“音频和视频”选项卡中启用 AMD 噪音抑制功能。同时支持输入与输出设备,带来更优质的音频体验。
选择输入、输出或二者以启用 AMD 噪音抑制功能,并可通过选择 CPU 或 GPU 处理噪音抑制来进一步定制您的专属体验。
打开游戏或应用,选择“AMD 播放音频设备”进行输入/输出。
学校提供了免费的校园网络,但是其速度不佳(20Mbps),在使用人数过多的时候会降到2Mbps,且对视频、游戏等支持欠佳。
本文探讨了一些技术方案以改善极其糟糕的上网体验。
本设计想法来自微信群,有同学发了一张伪造的校长获奖图片,于是我也想自己试一试,表彰一下我同学在过去几年内在鸽子学领域里所做出的卓越贡献。
首先,分析一下由插画家设计的原图:
我们发现,伪造一张类似图片的最大难度在于人物图像处理,其包括了外围的黑色简笔画和内部金色的人像阴影。
思路有了,接下来就是制作了,本来已经用同学的照片做了一张了,但是出于版权考量(鸽王本人不太愿意直接用他的肖像公开在网络上),我们使用来自 pexel 网站的免费可商用人物肖像做示例。
Source: https://www.pexels.com/zh-cn/photo/220453/
简单抠个图:
ok,接下来进行风格化处理。我们打开 Snap Art,开始挑选适合的绘画风格,这一步时我们发现 SnapArt 不支持 PNG 格式图片,故而重新先用 Photoshop 将其转化为白底 JPG 图片后导入,这个过程我一共做了三张图片,分别为黑色基础照片、灰色阴影照片、衣物描边照片。
从左至右依次为:衣物描边照片、黑色基础照片、灰色阴影照片
如此一通操作,简单的模仿便完成了,由于原图模特同时具有大胡子 + 眼镜,所以这种非绘画形式的图片处理就会显的有些拙劣。当然你也可以选择用 SnapArt 处理完简笔后再用 Procreate 自己填充金色阴影,不过由于我是个手残,于是只能选择相信机器处理 2333。
做完这些后,我们再新建一个画布,调整大小、填充背景纸张纹路,仿制原图色块和文字(字体为大名鼎鼎的 Avenir,需调整字间距进拟合),期间需要使用色彩选择工具去除仿制图片的纯白色以凸显底部纸张纹路,最终,我们便能得到我们想要的效果:
最近新一代猿神发售了,不知道各位攻略进度如何了?
什么?你还没买?!
那快来看看这篇文章 ——《如何利用倒余额"折上折"购买Steam游戏》
连着好几天零点抢入校预约,经历了好几次 1 分钟秒没,气急败坏的我决心彻底自动化这个过程...
于是,就有了这个仓库
https://github.com/zhuozhiyongde/PKU-Auto-Reservation
前言 今天打算把我的 256G SD卡 换到一张 521G 的 SD卡。在拷贝了文件过去之后发现开机进 HEKATE 无法开机进入虚拟系统,显示如下错误: 因为太久没有动过破解了,所以完事了之后才想起来 emuMMC 是有个单独的分区的。 于是本次教程直接过一遍我个人感觉比较方便的 SD 卡迁移流程
前言 如果你去 Apple Store 看过 M 系的 iMac 的话,你会发现它们的系统强调色是经过定制的,与机身颜色相符。这些颜色比起 macOS 自带的那个几个要显得更加低调,不扎眼。我个人非常喜欢,想要在自己的 Mac 使用。发现这些颜色在 macOS 中都是有的,只不过被禁用了而已。如果你
前言 macOS用着很不错,这台2009年的Mac Pro跑的甚至比我的2017 iMac还快。配置如下: X5690 *2 32GB DDR3 ECC RX580 8G Sandisk SSD 但,我有个基于Unity的神秘街机游戏想要跑在上面,得益于以上的配置我认为这台Mac Pro可以轻松的在
2025年5月18日,这天我于纽约理工学院以研究生的学位毕业。 五年是过的如此之快,在最后一个学期同时上四节研究生课,还在作为教授助理工作,IT工作,以及社团团长,让我忙的团团转。 但毕业之后,感觉突然一切都结束了,有种莫名的空虚感,以及这种突然闲下来的手足无措。 最终四门课的最终判定都是A,学期G
问题 Debian开机不进入GUI界面而是进入BusyBox命令行页面,页面如下: Gave up waiting for root file system device. Common problems: - Boot args (cat /proc/cmdline) - Check root
前言 无论什么时候在Linux上面装中文输入法是真的头痛,所以这次写一个教程教如何在Debian Linux中安装基于Fcitx5的Rime输入法。 正文 删除已经安装的版本 如果你之前已经安装过了ibus或者fcitx,可以用以下指令先删掉: sudo apt purge fcitx* sudo
前言 Debian 12目前带的是Gnome 43.9,对比Fedora和Ubuntu的45、47版本来说已经比较过时了。近期切换到Debian时候发现了这个问题并找到了方法切换到Unstable分支上来获取最新版的Gnome 47。经过测试后相对稳定流畅。 正文 以Root登录 如果你没有将自己设
前言 事情是这样的。我这两天尝试从Windows 11 23H2更新至24H2,安装助手却报错提醒这台电脑无法升级到此版本的Windows。你的电脑上有一个驱动程序或者尚未准备好用于此版本的Windows。Windows 更新将在问题解决后自动为你提供此版本的 Windows。 最主要是这一步不会告
前言 前几天从工位拿到了个淘汰的Mac Pro。机箱是真的好看,内部做工精致整洁,可玩性非常强,于是不想放弃这个机会,打算对这台Mac Pro进行一次全方面的升级。 目前这台机子的配置是两块4核的Intel Xeon 5520作为CPU,两根1GB的DDR3 ECC SDRAM内存条,一张苹果于20
复习册:Azure 云服务 1. Azure 服务性能优化 问题描述:Tradewind Traders 的电子商务网站在某些时段响应速度很慢。 解决方案:使用负载均衡,它能够分散网络流量,确保没有服务器过载,从而提升应用响应速度。这虽然需要增加成本以运行多实例,但能有效改善性能。 相关概念:负载均
虽然很闲得慌,但是如果OEM信息意外丢失的话,这里就只会显示System Product Name,看起来很膈应人。或者如果你想自定义这里改成你想要的文字,也可以遵循本文章教程。 很简单,首先使用Windows+R快捷键打开运行。在新弹出的窗口输入"regedit"打开注册表编辑器。 点击确定,然后
时隔上次发这个标题的博文过去了两年多,いぬすく社团更新了《妹!せいかつ~ファンタジー~ 》的DLC内容!其中一个和公会成员一起去温泉旅行的休息BGM再一次抓住了我的耳朵。由于这次的作曲风格依然很像是まんぼう二等兵的作曲风格,因此这一次很容易就可以找到乐曲的名字,おきらくシュガー!就和作者说的那样:
前言 终于从本科毕业了。虽然还有一年的研究生,但是这四年过的真的很快。讲真,这次的毕业设计我不是非常满意,但也拿到了还算不错的成绩。于是就用这个文章来聊聊我的毕设经历。 美国的毕设(Senior Design Project)是啥样的? 我对中国的毕设了解不多(因为没在中国上过大学)。但是根据朋友描