最近真是互联网基础设施不稳啊。之前提到《转述互联网存档网站InternetArchive的近期故障》,而昨天我要查资料的时候,甚至遇到了 Wikipedia 宕机的情况!(虽然我经历的大概只有10分钟左右。)页面上用显示当前数据库不可访问云云……
那我要随手查资料,怎么办呢?
最近真是互联网基础设施不稳啊。之前提到《转述互联网存档网站InternetArchive的近期故障》,而昨天我要查资料的时候,甚至遇到了 Wikipedia 宕机的情况!(虽然我经历的大概只有10分钟左右。)页面上用显示当前数据库不可访问云云……
那我要随手查资料,怎么办呢?
前一阵在ダイソー看到一幅设计很诱人的(透明的!)耳机 SKELETON True Wireless Earphone ,属于真无线耳机,也就是左右耳机分离,都是靠蓝牙连接播音设备的。
买的主要原因就是因为透明——一透明,就感觉能看清其原理构造(其实看了也不懂),有一种小小的理性兴奋。
不过最近拆开了听了以后,感觉挺失望的,听了各种音频内容,声音表现里总觉得明显缺少了一部分。更有甚至,就连耳机配对成功时的播报语音「 CONNECTED 」听上去感觉都是有断裂音。连接好像也不太稳定。佩戴起来嘛也就那样。
所以,总的来说,这真的就是一个只有设计还挺吸引人的透明耳机。实在表扬不起来。
顺便一说,这款耳机的透明部分还是偏灰的,后来好像看到店里还出了一款全部是透明外壳的耳机。
最近买了台二手的 Chromebox ,就是有 ChromeOS 系统的迷你主机。为什么要买它呢?因为多年前买的 Chromebook 的板载 4GB 内存用起来实在捉襟见肘。干脆买了个二手的,但是有 16GB 内存的(!)盒子,来体验一下。
刚上手就要初始设置嘛。因为是二手的,虽说上一家说帮我做好了初始化设置(清空),但我总是有些不太放心,比较排斥直接在已有的系统上输入账号密码这件事。好在,ChromeOS 现在在初始化的时候有个选项,如果旁边有 Android 手机的话,可以用该手机直接传输用户信息,而无需输入 Google 的账号密码(直接同步过去了),甚至也包括了两步验证这一步。
前不久不是买了台 BOOX Go 10.3 嘛,一转眼用了两个多月了,有些了经验和感受。而它的边框好像是金属的(至少摸上去材质挺硬,也凉凉的),由此有一个好处和一个坏处。
好处就是……防摔啊!我至少磕碰过一次,掉落在塑胶的地板上毫发无损。
ダイソー( Daiso 、 大创)在众多廉价耳机的产品线中,出了一款造型很有特色的拉链耳机,型号是 3175 。其售价仅为 220 日元(含消费税价),在日本百元商店内一众低则 110 日元,高(内置 DAC 品种)则 550 日元的有线耳机中,这款算是比较便宜的。本来我以为它就是看个造型设计玩玩,但没想到……嗯,真是没想到。
如果让我用一句话来说明的话,就是:从音质上来说,我竟然听不出这款耳机的短处,然而其设计最大的败笔,就在于其拉链线缆。
纯粹的购物报道——略带一些感叹。对,那个著名的日本百元商店—— DAISO (ダイソー、大创),居然出了 iPad 用的兼容笔!
虽说功能不同于 Apple 公司自家的苹果,而是属于那种第三方代用品,因此不支持压感,但是,它很便宜啊!哪怕是相比于亚马逊日本的同类产品(通常需要 1500 日元到 2000 日元左右),它的价格就很 DAISO 了!只要 1100 日元(含税)。这个价格虽说已是 DAISO 标准价格( 110 日元含税)的 10 倍了,但是没想到这么一家在闹市区有连锁实体店的品牌百元店,售出的价格居然能比没有实体店的网店中的同类产品要便宜一截。
近年来 DAISO 也出了不少电子产品,从鼠标、键盘,到层出不穷的耳机、移动电源还有蓝牙音箱,不过能直接出 iPad 的代用笔,也算是又多了个梗又更进一步了!
至于这支笔的功能,我想应该就和其他同类第三方 iPad 笔一样吧。但是它是 DAISO 自有品牌商品啊!这才是看点。
顺便一说,我有原厂笔的,不过近几年也没怎么用……
最近似乎是负责技术的大脑皮层区域比较活跃(?),尝试各种电脑方面的功能和程序。或许是因为发现通过询问 ChatGPT ,多多少少能解决一些问题吧(尽管生成式 AI 仍会出现幻觉回答)。
今天尝试在 MacOS 上开设一个 WebDAV服务器,并从 QNAP NAS 的系统中的备份、同步功能模块 HBS 3 来进行连接。
在 MacOS 侧,我没有用命令行,而是用的是从 Mac APP Store 上下载的一款名为 WebDAVNav Server 的 APP 来进行简单的图形化管理。于是这就遇到了一个小问题。
我通过该款 APP 在 MacOS 中启用 WebDAV 服务后,从局域网内其他主机的操作系统,例如一台 Windows 电脑中访问 MacOS 上的 WebDAV ,是可以正常连接的,说明 MacOS 作为 WebDAV 服务器端这一侧配置已成功。
然而,在同一局域网下,一台 QNAP NAS 中 HBS 3 文件备份同步中心里配置连接 WebDAV 时,却一直出现「身份验证错误。无法连接到云服务。」这样的报错。
大约 2 年前起,某次 MacOS 大版本更新后,好像是实装了文字识别 OCR 功能,但是对于汉字、日文,特别是竖排的文章,在「预览」里直接选中图片中的文字并拷贝后,总会变成每个字符之间出现空格间隔的情况。
于是我使用 MacOS 的脚本编辑器,在 ChatGPT 的协助下,创建了一项「服务」并登记到系统的右键菜单。这样一来,就可以一下子把选中的文本里的所有空格都去掉了。
第一步是选择
「工作流程收到当前」选择「文本」
「位于」选择「任何应用程序」
第二步是拖拽一个「运行 AppleScript」操作到第一步的下方其中代码是:
继续阅读
近来阅读电子书。电子书的一个好处是数据可以云下载、云携带、云阅读……然而,一个可预见的致命问题是:对于一些私有文件格式的,或干脆不是以文件方式提供的电子书来说,一旦提供方(公司)停止了服务,那么之前所购买的电子书很可能在短时间内就化为乌有——或者说,即便文件在,也可能因为电子书的软件不再提供新版本,或硬件无法维修或新购,而变成了逐渐无法打开阅读的电子数据。
在面临这样的灾难之前,有个办法是:截图。据我了解,好像在我所在的地区,在个人(不传播给他人)使用这一前提下,著作权物也是可以由用户自行复制的。因此,网上不少视频也会教人怎么用 iPad 查看电子书,并且用截图保存的方式,把电子书的图像保存下来,以便今后长期阅读。
然而……网上介绍的都是动手操作的技巧,顶多是在此之上增加一些小技巧,例如用 Apple Pencil 从 iPad 边角划入屏幕就可以截屏之类的技巧。换言之,每一次的截图、翻页都是要人工干预的。之前一阵子,我也尝试过这么做,比如拿一个蓝牙鼠标和 iPad 配对,然后每点一次截图,再点一次翻页……虽然书是能安心地保存成今后长期可读格式,但手动操作总显得有点麻烦——要人执行啊!
有没有更好的方法呢?那就是买一台具身智能机器人啊!让机器人帮你来按截图键!多棒!看他们金属的拟态肤质手指触摸最新 iPad Super Pro Ultra XXX 的金属按键……嗯,具身智能机器人这个话题似乎还早了 10 到 15年的时间……其实有个更廉价的方案,就是找一个可以模拟鼠标或键盘的东西,来进行循环模拟操作(我知道有类似可编程鼠标、可编程键盘的),而这一次,我找到了树莓派的小卡板 Raspberry Pi Pico W 。
那么下一个问题来了:虽然我有长年使用树莓派的经验,但是,我一直只是把它当作一个 Linux 电脑来用的,要怎么使用这个 Pico 呢?怎么把它变成一个键盘,然后反复对 iPad 操作截图和翻页呢?
这好办,都 2024 年了,来问问生成式 AI ( ChatGPT )吧!经过一番探讨,我们商量出了(其实是我指示 ChatGPT 给出了)以下的代码:
import time
import random
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
# 初始化键盘
keyboard = Keyboard(usb_hid.devices)
# 定义截图和翻页函数
def take_screenshot():
# 模拟 Command + Shift + 3 截图快捷键
keyboard.press(Keycode.COMMAND, Keycode.SHIFT, Keycode.THREE)
time.sleep(0.1) # 按住键一小段时间
keyboard.release_all()
def turn_page():
# 模拟左箭头按键翻页
keyboard.press(Keycode.LEFT_ARROW)
time.sleep(0.1) # 按住键一小段时间
keyboard.release_all()
# 主程序
def main():
# 添加启动延迟,确保Pico W被正确识别
time.sleep(5) # 延迟5秒,让iPad充分识别Pico W
while True:
# 截图
take_screenshot()
time.sleep(3) # 等待3秒保存图片
# 翻页
turn_page()
# 随机等待4到6秒之间的时间
wait_time = random.uniform(1, 3)
time.sleep(wait_time)
# 启动主程序
main()
当然,在此之前,还要下载一个似乎是用于将 Pico 模拟成 HID 设备(鼠标、键盘等)的库所需的文件。 ChatGPT 如此说明:
确保 adafruit_hid 库可用:
前往 Adafruit_CircuitPython_HID 下载该库的 .mpy 文件。 将 adafruit_hid 文件夹复制到 Pico W 的 lib 文件夹中。
而在执行这个代码前,还要进行对 Pico 的 Python 运行环境的初始化操作,对此, ChatGPT 如此说明:
下载并将 CircuitPython 固件
(引用略)
放入 Raspberry Pi Pico W 是为了让设备支持使用 Python 语言进行编程。这一步将 Pico W 的系统替换为 CircuitPython 固件,使其在连接到电脑后能够像 USB 闪存驱动器一样显示。操作步骤很简单:按住 Pico W 的 BOOTSEL 按钮,将它连接到电脑,然后将下载的
.uf2
文件拖放到显示出来的 Pico 闪存驱动器上,等它自动重启后就完成了。这之后,你可以直接用 Python 编写和运行代码,适合初学者入门。
关于这一部分,各位可以自己找找看网上的 Pico 教程,或是问问 AI ,相信应该不难弄明白。
至于说这段代码的实现原理?不知道,反正即便是在没有 ChatGPT 的时代,我也差不多就是这样看着 API 说明文档以及网上教程来边试错边操作的。这一次总之就是用 python 程序控制 Pico 成为一个 HID键盘,循环输出键盘按键(截图组合快捷键、翻页用箭头方向按键)。
而通过简单观察代码可知:
# 模拟左箭头按键翻页
keyboard.press(Keycode.LEFT_ARROW)
这一行代码是控制翻页的,这里是用向左方向键来进行翻页。如果你的电子书是按别的方向键翻页的话,则请按需调整:
# 左方向键
keyboard.press(Keycode.LEFT_ARROW)
# 右方向键
keyboard.press(Keycode.RIGHT_ARROW)
# 上方向键
keyboard.press(Keycode.UP_ARROW)
# 下方向键
keyboard.press(Keycode.DOWN_ARROW)
你看,虽然具身人工智能机器人还没有来到我们身边,但是通过树莓派小小的硬件,以及通过与 ChatGPT 的问答进行简单学习,我已经实现了简化操作!整理和写这篇博客的时候,我的 iPad 连上 Pico W ,已经差不多截图了 3 本电子书了~
正如各位所知, ChatGPT 新推出了一个擅长于推理思考的新模型 o1 。它确实会在回复之前思考若干秒,然后再给出答案。不过,对于一般的对话、提问回答,它通常思考数秒或十几秒,我怀疑它是不是在忽悠我——只是为了好玩而显示出思考链条。
于是我想了个办法,让另一款 AI —— Claude 帮我生成一个字母代替加密方案,然后尝试让 ChatGPT o1 解密。这下可真不错, Claude 连续思考了超过 100 秒。至于结果嘛……还是先来看我下面复现测试过程吧。
我指示 Claude :
你帮我出一道题,我想考一考别的AI,就用随机代替密码吧。请你吧26个英文字母(明文),随机映射给另一个字母(密文),不要重复。
Claude 回答:
好的,我来为您创建一个简单的替换密码表,将26个英文字母随机映射到另一组字母上。这样的密码可以用来测试其他AI的解密能力。