关于我
嗨,我是 Marc-Alexis。嗯,我 23 岁,呃……这是我的个人网站。下面有一些图标什么的,你可以点图标看看关于我的各种信息。
在 EFREI Paris 读工程师课程,嵌入式系统硕士一年级,主修机器人与无人机,还在吉隆坡的 Asia Pacific University 交换了一个学期。
写代码之前:在石化行业连续干了六季,在 M.T.S. Pau 当管道与焊接助理。高风险的环境、严谨、作息——很锻炼人。
从 2024 年底开始我就在不停上线:Vue 3、Nuxt、Three.js、Tone.js,用 Docker 和 Traefik 在 Ubuntu VPS 上自托管 Directus。前端精致,基础设施自己掌控。
我推荐的书
我的笔记里引用得最多的十一本书。打开一本:它的作者在第一页等你。
心流 — 米哈里·契克森米哈赖
一位心理学家描述“心流”,一种完全沉浸在某项活动中的状态,并展示如何在工作、休闲和人际关系中引发它。
我记住的 — 最美好的时刻不是被动的,而是主动的。
事实 — 汉斯·罗斯林、欧拉·罗斯林、安娜·罗斯林·罗朗德
作者们指出,我们对世界现状的判断总是系统性地出错,并描述了十种扭曲我们解读数字的本能。
我记住的 — 世界并不是一分为二的。
How to Live — Derek Sivers
二十七个章节,各自对“该怎样生活”给出一个不同的、常常彼此矛盾的答案。最后一个结论把它们串起来。
我记住的 — 什么都试试,同时做好什么都不成的准备。
艺术的慰藉 — 阿兰·德波顿、约翰·阿姆斯特朗
作者们提议把知名艺术作品当作日常生活的工具来看,并把它们和爱情、工作、自然、金钱或政治联系起来。
我记住的 — 艺术是个人成长的工具。
点子都是偷来的 — 奥斯汀·克莱恩
一本短书,出自一场面向学生的演讲,讲了关于创造力的十条原则。核心观点:一切创作都建立在别人的影响之上。
我记住的 — 绝对原创的包袱。
成瘾 — 安娜·伦布克
一位精神科医生借助神经科学和病人的案例解释:追逐唾手可得的快乐如何导致成瘾,又该如何找回平衡。
我记住的 — 痛苦与快乐的天平。
必然 — 凯文·凯利
作者描述了他认为将在三十年内改变日常生活的十二种科技趋势,其中包括共享、过滤,以及以使用代替拥有。
我记住的 — 科技有其必然的趋势。
A Theory of Everything — 肯·威尔伯
肯·威尔伯介绍他的“整合”理论,试图把身体、心智、灵魂和灵性维度联系起来,并将其应用于商业、政治、医学和教育。
我记住的 — 为什么不同意识层次之间的争论总会失败。
Anything You Want — Derek Sivers
Derek Sivers 从创办、发展和出售 CD Baby 的经历中总结出四十条经验,主张企业应以顾客而非利润为中心。
我记住的 — 做生意不是为了钱。
Race et histoire — 克洛德·列维-斯特劳斯
1952 年为联合国教科文组织写的一篇文章。列维-斯特劳斯在文中拒绝在文化之间分出高下,并指出进步来自文化之间的交流。
我记住的 — 所有文化都在变,只是方向不同。
Die With Zero — Bill Perkins
作者主张趁活着把钱花在体验上,而不是一直攒到死,并给出一套按年龄规划这些支出的方法。
我记住的 — 钱是用来换取体验的。
NFC 芯片
我皮下有一块芯片。一枚 flexNT:一种柔软的生物聚合物 NFC 标签,塞在左手手背上、小指下方。无源,没有电池——只有进入读卡器的磁场才会醒来。就是左边这块。
- 类型
- NFC / RFID
- 频率
- 13.56 MHz
- 芯片
- NTAG216 — 924 字节
- 尺寸
- 9 × 22 × 0.4 mm
- 封装
- 柔性生物聚合物,USP Class VI
- 供电
- 无源,零电池
我用它做什么
- 碰一下就解锁手机
- 贴一下手就分享我的电子名片
- 打开一个网址——比如这个网站
- 存一个小秘密
- 在聚会上让人有点不自在
手机一靠近,它就会回应。它能做的就这么多,而这已经太多了。
为什么要这么干?
因为我能。因为把身体的一部分变成遥控器,正是那种又没用又美妙、很像我的事。
这也是一个小小的宣言:身体是游乐场,不是一成不变的东西。加上我的 Obsidian 第二大脑和几处自己选的疤痕,这套组合构成了一种身份——有点另类,有点科技,有点原始。
手术
每个人都会问的问题
疼吗?
狠狠扎一下,两秒钟。比纹身短,也极客得多。
能用 GPS 追踪你吗?
不能。它是无源的,没有电池,距离只有几厘米。没有 GPS,也不会主动发信号。冷静一下。
那做核磁共振呢?
柔性生物聚合物标签一般没问题,但我每次都会提前告诉技师。小心驶得万年船。
能取出来吗?
能,开个小口子就行。不过说实话,我为什么要取。
这是比尔·盖茨的 5G 芯片吗?
没错。他每天早上发短信问候我。(并没有。)
这合法吗?
在法国,有医疗监督就合法。荷兰的规定最完善——工作室必须持证——,瑞典人均数量世界第一,美国则各州不同。
嗑了 LSD 跑半马
2023 年 4 月 23 日,我跑了 Semi-Marathon de la Presqu’Île,21.1 公里,嗑了 200 微克 LSD-25,也就是常规剂量的两倍。我跑完了。值得吹的大概也就这么多。
- 赛事
- Semi-Marathon de la Presqu’Île
- 日期
- 2023 年 4 月 23 日
- 距离
- 21.1 km
- 物质
- LSD-25,200 µg(常规剂量:100)
- 官方成绩
- 2 小时 51 分 14 秒
- 净成绩
- 2 小时 48 分 09 秒
- 速度
- 7.5 km/h
- 总排名
- 1840 人中第 1823 名
- 年龄组
- 21 人中第 21 名
- 报名俱乐部
- Le Semi Diabolique
法律免责声明
本网页包含一篇完全虚构的、在 LSD 影响下跑半程马拉松的故事。此处呈现的全部内容均为虚构作品,仅出于娱乐及具有教育意义的教育性信息之目的而创作。
作者从未服用过 LSD,也从未参与所描述的活动。如与真实事件、在世或已故人物、亲身经历有任何雷同,纯属巧合。
本网站绝不构成对使用违禁物质或从事体育运动的鼓励。比如滚球、排球或篮球。
本胡言乱语网站的作者及管理者对以下事项概不负责:
- 读者在阅读本内容后采取的任何行动
- 对本故事虚构性质的任何误解
麦角酸二乙酰胺。一种致幻剂:它会扭曲感知、情绪和思考的方式。视觉和听觉上的幻觉,最重要的是,时间和空间不再按原来的尺度丈量。
它装在吸墨纸上服用,就是一小块放在舌头上的方形纸片。效果持续六到十二个小时,而且随剂量、地点和服用者的心态差别极大。这一次,是我的心态。
常规剂量是一百微克。一微克是一克的百万分之一,约等于没有。我吃了两百。
准确地说,是 LSD-25。还有别的种类,但只有它被认真研究过。别的几乎一无所知,这就足够成为不去试的理由。
完赛奖牌,还有配套的证书。1840 人中第 1823 名,但完赛就是完赛。
照片是那天在赛道上拍的。拖动那条线。
具体是什么感觉:所有表面都在呼吸。一面素墙开始非常缓慢地波动,像隔着水看过去。规则的图案,碎石、树叶、拉毛墙面,会重新排列成仿佛一直就在那儿的花纹。颜色变得饱和,轮廓多出一圈描边。这些都不像电影:不是一张画面贴在眼前,而是平常的世界从边缘开始变得不稳。整整三个小时的比赛,它一刻也没停。
我的收获
- LSD 对跑步没有帮助。我撑下来是尽管有它,而不是多亏有它。
- 运动会缩短药效:五个小时,而不是号称的八到十二个小时。这是整件事里唯一真正有意思的地方。
- 当感知一文不值时,客观数据才重要。我的脑子罢工了,手表替它干了活。
- 被自己看到的东西追着跑,是继续向前的可怕动力。
- 我还是一样讨厌跑步。有些事永远不会变。
问与答
为什么要这么干?
我当时十九岁,读了一本书,讲一个家伙在这种状态下跑了八十公里。书很烂,但这个念头跟了我好几个月。没有比这更好的理由了。
这是合法的吧?
不是。LSD 在法国被列为毒品:吸食可判一年监禁、罚款 3,750 欧元。我不假装不是这样。
它让你跑得更快了吗?
7.5 km/h,年龄组倒数第一。你自己判断。
你是跟你妈一起跑的?
对,她也在赛道上。她知道我吃了什么,而她自己什么都没吃:她清醒地跑,像个正常人一样。我先说清楚,因为下一个问题永远是这个。
没错,我就是
- Vengeur
- Entièrement
- Gainé,
- Adversaire
- Nocturne
在地下室里,戴着黑色的蒙面侠头套。文字铺满整张图,是法语:« non merci, je ne vais pas prendre de côtes de porc, je vous remercie cependant pour votre offre. »,意思是:不用了,谢谢,我不吃猪排,不过还是感谢您的好意。
问题
不,我最大的幸福不是家人,也不是女朋友,而是这两盒。香草豆奶™和巧克力豆奶™。
你蛋白质从哪儿来?
扁豆、鹰嘴豆、豆腐、面筋、谷物。我想到它的次数,不比你想到你的蛋白质更多。美国营养与饮食学会说,纯素饮食适合人生各个阶段,包括顶级运动员。不过谢谢你替我操心。
你不会营养不良吗?
不会。每周一片 B12。B12 是细菌造的,不是动物。牛排里有 B12,是因为牛吃了补充剂,或者吃了细菌。
植物也会痛吧?
不会,你个蠢货。植物没有伤害感受器,也没有神经系统。初一生物课的内容。(傻逼)
狮子也吃肉啊。
你是狮子吗傻逼?你的狮子™有傻逼专用的 iPhone 17 Pro Max 吗?
好吧,但这是自然规律。
狮子还杀对手的幼崽呢,可奇怪的是只有说到吃肉才能拿它当例子,因为我杀了竞争对手的孩子你们就开始哭唧唧,说我杀了你们的娃。到头来总得想清楚吧,妈的。
我可做不到,我太爱奶酪/肉/〈插入一样我不吃但你很喜欢的东西〉了。
ok。不过我好像没问你,你自己小心点。
你年薪多少?
好家伙,这跟纯素已经八竿子打不着了!不过我理解,这个问题本身是正当的,只是场合不对。
人类进化来就是杂食的。
人类进化是描述性的(发生了什么),不是规范性的(应该怎样)。进化也给了我们农业、烹饪和超市。照进化论的逻辑,我们应该吃生肉才对。
你是模范吗?
作为一个人?是的,绝对是,我是每个人的榜样。不过说到纯素,不是:确实,我坦白,有时我会买满是牛奶的 Kinder Country。但它实在太好吃了,他妈的,到最后我就是抵挡不住资本主义塞壬的歌声。有时候我还拿刀杀牛,也是为了好玩。
我在 Kyber 的实习
Kyber
Kyber 做的是远程实时操控机器的基础设施:机器人、无人机、车辆、远程桌面。我从 2026 年 9 月起在这里做工程师实习。
- 它是什么
- 一套实时控制机器的基础设施
- 一条链路上
- 视频、音频、控制指令和遥测,同一个时钟
- 延迟
- 端到端 8 到 10 ms(官方数据)
- 传输
- QUIC 和 HTTP/3,端到端加密
- 代码
- 开源 SDK,AGPL v3 许可
- 平台
- Windows、Linux、macOS、Android、iOS、XR 头显
- 团队
- 做出 VLC 的那群人
为什么是 8 ms
据 Kyber 说,手眼协调的节奏在 30 到 50 ms 之间。低于这个值,机器人就不是在动作之后响应,而是在动作之中响应。200 ms,你在看;8 ms,你在操控。
不是 WebRTC
WebRTC 是为人与人之间的视频通话做的,那里 100 到 200 ms 的延迟就够了。用来操控机器就太多了:Kyber 有自己的协议,并且明说了这一点。
VLC
创始团队做出了装在数十亿台设备上的 VLC,也为 FFmpeg 做过贡献,而互联网上大部分视频都是 FFmpeg 编码的。二十年的视频经验,如今转向机器。
岗位
嵌入式开发实习生。不是六个月只做一个课题:有演示,有好几条线同时推进,得随时应变。
- 岗位
- 嵌入式开发,实习生
- 起始
- 2026 年 9 月,为期六个月
- 学业
- EFREI Paris 嵌入式系统硕士一年级
- 语言
- Rust、C 和 C++
- 系统
- ESP-IDF,用 Yocto 构建的嵌入式 Linux
- 机器人
- ROS 2、dora-rs、MAVLink
- 工作台
- KiCad、电烙铁、万用表、实验室电源
从底层学起
我在这里从底层学电子:原理图、电路板、会发烫的东西。
第一天
先来个小课题:比较 ROS 2 和 dora-rs 这两种让机器人程序互相通信的方式,再检查 dora-rs 所有依赖的许可证。一周搞定。
测量延迟
主线任务:做一台测量显示延迟的测试台,也就是从按下按键到画面变化的时间。一个贴在屏幕上的光传感器,一台负责计时的平板。
- 板子
- M5Stack Tab5,基于 ESP32-P4
- 固件
- Rust,跑在 ESP-IDF 上
- 界面
- Slint,也是 Rust
- 传感器
- 一个光电二极管,由模数转换器读取
- 测什么
- 从按键到画面、帧率、音画差
可靠优先于精细
一开始定下的规则:不要任何会坏的复杂东西,哪怕误差在 2 ms 左右。这条规则否掉了一个可调比较器,以及往真键盘里焊一根线的主意。
50 Hz
一个 50 Hz 的干扰让每次测量都有偏差。软件滤波只是绕开了它;真正的原因是一个紧贴着传感器导线的插线板。拿走之后,干扰降到了十分之一。
焊点
为了光电二极管的一个焊点,在装配上浪费了一个半小时。从那以后:一开始就逐根线排查,先测量再怀疑元件。
A/B
在怪罪新版固件之前,先做 A/B 测试:同一套装置,两个版本,间隔五分钟。结果跟它没关系。
真实信号
合成测试代替不了真实数据:真测试台的记录变成了测试用例。
机器人
一只要让它走起来的机器狗,通过 Kyber 用手柄操控。还有团队的机器人项目,从稍远处看。
- 机器人
- Mini Pupper 2,Mangdang 的开源四足机器人
- 里面
- 一块 Raspberry Pi CM4,加一块管舵机的 ESP32-S3
- 系统
- 用 Yocto 构建的 Linux 镜像
- 操控
- 手柄,通过 Kyber
- 协议
- MAVLink、UDP
移植
狗的软件是为 Ubuntu 写的。我的任务:把它移植到 Yocto 镜像上,连同摄像头、屏幕、舵机板、步态和手柄。
看实际在跑的东西
舵机板一直没反应:官方软件用旧名字打开串口,而狗出厂自带的系统跑的是一个修过的版本。教训:要看实际在跑的东西,不能只看仓库。
稍远一点
一艘船上的 NMEA 2000 总线,一块小 Linux 板上的 GMSL2 摄像头:为别人负责的项目做调研。
电路板
电路板:画、审、点亮。
- 软件
- KiCad:原理图、布线、ERC 和 DRC
- 规格
- Raspberry Pi HAT
- 单片机
- SAMD21、RP2354A、ESP32-P4
- 固件
- PlatformIO,还有 Rust
- 工作台
- 实验室电源、万用表
库存
纸面上最好的稳压器,贴片厂一颗库存都没有。教训:能不能买到,和数据手册一样有决定权。
审板
从零开始审别人的板子。一个不能再犯的错:断言线宽之前,先把走线和铜区都查一遍。
点亮
一块全新的 SAMD21 板子自己什么也不会做:要有测试固件、从电脑上做的试验,还有烧录的步骤。
我的 Linux 环境
NixOS
我的两台电脑都写在同一个 git 仓库里,从内核到光标颜色。没有任何东西是因为“以前就有”才留下的。
- 发行版
- NixOS,其余全交给 home-manager
- 方式
- 一个 flake,两台机器
- 台式机
- dieu — i5-6400,Radeon RX 580
- 笔记本
- ThinkPad P14s — Ryzen AI 7 PRO 350
- 非自由软件
- 逐个包放行,从不整批接受
文档
每一页文档都列出它描述的文件。修改配置却不更新对应页面的提交会被拒绝,文档网站在每次提交后自动重新发布。
桌面
Hyprland 排列窗口,一根手写的状态栏只报告出问题的地方,一切都是黑底橙色。
- 合成器
- Hyprland,用 Lua 配置
- 一份配置
- 两台机器共用:它会读机器名
- 状态栏
- Quickshell,QML 写的
- 主题
- “braise”(炭火)— #0e0e0f 上的 #ff6b1a
- 形状
- 超椭圆,而不是圆角
- 字体
- Figtree,和自己编译的 Iosevka
状态栏
它一口气替换了三个程序:状态栏、启动器和通知。它的规则:有问题就显示;没问题,就什么都不显示。
壁纸
一个由发光点组成的矩阵,用 shader 做动画。在它之前:霓虹隧道、一张照片、彩带天空和海平线。全被否了。
零快捷键
一份只存了一半的配置被原样加载了。Hyprland 在零个键盘快捷键的状态下运行,一句报错都没有。
终端
一个 kitty 窗口,一个 tmux 会话。平铺是 Hyprland 的事,不是终端的事。
- 终端模拟器
- kitty
- 复用器
- tmux
- Shell
- zsh(vi 模式),starship
- 编辑器
- Neovim,用 nixvim 写在 Nix 里
- 工具
- fzf、zoxide、eza、bat、fd、ripgrep
- 还有
- yazi、lazygit、btop
13.5
终端的字号不是口味问题:它是算出来的,好让它在屏幕 4/3 缩放下正好落在整数像素上。
Neovim
整份配置都用 Nix 写成,大约 1,400 行,快捷键以空格键开头。
Willy Wonka
我的键盘切成了两半,无线,还用一位巧克力商的名字命名。
- 型号
- Corne Choc Pro,Keebart 出品
- 连接
- 蓝牙,一只手一半
- 屏幕
- 每一半各一块 nice!view
- 固件
- ZMK,自己编译
- 布局
- QWERTY,修饰键放在手指下
- 层
- 六层
屏幕
每一层都有自己的动画:《查理和巧克力工厂》(2005)里的真实道具在 3D 旋转。金奖券、棒棒糖、旺卡巧克力棒、Smilex 牙膏。
名字
2026 年 10 月 4 日之前,它叫 Cyril Hanouna。
听写
有一层放了两个键:一个录我的声音,另一个粘贴转写好的文字。
我的工具
两个我给自己写的工具,住在终端里:我的任务和我的日历。
- Stylite
- 任务 — 服务器和 CLI 用 Go,TUI 用 Rust,网页用 Svelte
- Comput
- 日历 — CLI 用 Python,TUI 用 Rust(ratatui)
- 在哪儿
- 在我的服务器上;两台电脑直接跟它通信
- 日历
- 自托管,CalDAV:iPhone 也能读
Stylite
自制的任务管理器。收件箱、今天、即将到来、已完成的记录;项目、分区、截止日期。这个网站的所有任务都住在里面。
Comput
日历:月、周、日和日程视图,每个约会按时间和时长放在对的位置,重叠就并排,还有一条当前时间线。它取代了 khal 和 vdirsyncer。
TUI
终端里的文字界面,只用键盘:j 和 k 移动,? 看所有按键,逗号打开所有命令。不用等:第一屏来自缓存,同步在后台进行。
设置
主题、布局和按键都写在我的 NixOS 配置里,安装时校验:一个键被占用两次,失败的是安装,不是启动。两者都用炭火主题。
安全网
Comput 的每条命令也能用 JSON 回答,每次写入都能撤销:u 原样撤回上一步。期间在手机上改过的约会不会被覆盖,而是被拒绝。
怪癖
没什么用的东西,或者说几乎没用。
反可颂
趁我电脑没锁,想替我宣布“今天我请大家吃可颂”?消息会被替换,摄像头会给你拍照,屏幕锁定在“你没有可颂吃”。它也认得“crwassan”和“tnassiorc”。
顶盖
ThinkPad 标志上的红点用摩斯电码循环拼出“marc-alexis”。这里那台也一样,看看它。没什么用,故意的。
juice
一个管电源和休眠的自制工具。它根据我所在的地方切换设置,并关掉处理器的睿频,让风扇安静下来。
项目
我在终端里设置我的牙刷。其他的也差不多是这个路数。
nothing-toolbox
一个命令行工具,在 Linux 上控制我的耳机 Nothing Headphone (1):降噪、均衡器、编解码器、电量,还有它的方向传感器。不用手机,不用 App,不用账号。
- 语言
- Rust,MIT 许可
- 连接
- 经典蓝牙,RFCOMM 通道 15
- 帧
- 帧头 0x55,CRC-16/MODBUS
- 测试机型
- Nothing Headphone (1),型号 B170
- 始于
- 2026 年 10 月
只有一个通道
耳机一次只接受一个连接:第二个会被拒绝。所以由一个守护进程占住通道,再通过本地 socket 为其他命令服务。单独切换降噪大约要 0.3 秒,通过守护进程只要 50 ms。
点点头
耳机以四元数发送自己的朝向,每秒十次左右。nothing headtrack --viz 用它在终端里画出一副 PS2 风格的低多边形 3D 耳机;nothing gestures 把点头变成播放/暂停,摇头变成下一首。
均衡器
nothing eq edit 在终端里画出曲线,边调频段边发给耳机。总增益的算法和官方 App 完全一样。
协议
协议写在仓库里,每条事实都标明状态:在耳机上看到的、从 App 里读到的,还是推断的。从 AAC 切到 LDAC 会让耳机重启,大约 7 秒后回来。
laifen-toolbox
同样的思路,用在我的牙刷 Laifen Wave 上:四种模式及其设置、刷牙时长、30 秒提醒、电量,以及终端里的牙刷 3D 视图。不用手机,不用 App,不用账号。
- 语言
- Rust,MIT 许可
- 连接
- 低功耗蓝牙,经由 BlueZ
- D-Bus
- 手写通信,不用库
- 帧
- 帧头 0xAA,XOR 校验
- 测试机型
- Laifen Wave,型号 LFTB01-P
它会睡着
每条命令之后牙刷都会重新睡着,通常要二十秒左右才重新出现;有一次是两分钟。所以 laifen shell 会在一次连接里连续发好几条命令。
谨慎
这个协议能把牙刷恢复出厂设置,甚至重写固件。laifen 只放行那些在真牙刷上试过、读回过、再恢复原状的命令;其他的根本没写进去。
3D 视图
laifen tui 画出一把 PS2 风格的抛光钢低多边形牙刷,放在镜面地板上。刷牙时,刷头按模式的幅度和速度摆动,并放慢了让你看得见。
kishot
它把一块 KiCad 电路板变成可以直接发出去的图:六个 3D 视角,逐层的铜,每张都有一个说明这是什么板子的标题栏。一条命令,没有界面,每次都是同一张图。
- 语言
- Python 3.9+,单文件,零依赖
- 它驱动
- kicad-cli 和 ImageMagick
- KiCad
- 9 和 10 版
- 许可
- MIT
改了什么
kishot --diff 把电路板和 git 里的旧版本对比:删掉的铜标红,新增的标绿,每处改动都画圈,好让短走线也看得见,还会生成一张从旧到新淡入淡出的 GIF。
下单之前
按需提供:一份可视化的物料清单、用 KiCad 以外的工具重画的 Gerber、厂家实际印出来的丝印,以及 1:1 比例的 PDF,可以把真元件放在纸上比一比。
Pull request
一个 GitHub Action 会在 pull request 下评论差异图,并在每次 push 后更新评论。每次大约两分半,主要花在下载 KiCad 上。
转一圈
kishot -s spin 让电路板以每秒 20 帧原地旋转,做成像 PS2 游戏那样的像素化 GIF。
Bouillon
一个图片档案库,大部分来自 Are.na。每张图都由 Claude Haiku 打上标签,再生成一个用于语义搜索的向量:可以按词找到它,也可以按相近的意思找到它。
- 服务器
- FastAPI、SQLite 和 sqlite-vec
- 搜索
- 按关键词、按语义,或两者结合
- 终端
- 一个 Rust 客户端
- Mac
- 一个 Swift 原生应用
按需启动
服务器只在用的时候才运行:一道门在第一个请求到来时启动它,十五分钟没人访问就关掉。那个 2 GB 的进程只在有用时才跑。
在终端里
Rust 客户端直接在终端里显示图片:在 kitty 里是真图片,别处用半格字符。有一种模式一次刷一张 Are.na 的图;留下,或者跳过。
在 Mac 上
为了原生应用,CLIP 模型被转成了 Core ML:图片端与原模型的余弦相似度为 0.9997。在 M4 上,5,880 张缩略图 177 秒跑完。
juice
一个管笔记本电源和休眠的自制工具。一个二进制,三个角色:终端里的仪表盘、干活的守护进程,以及给状态栏和桌面用的命令。
- 语言
- Rust:ratatui、wayland-client
- 情境
- 网络、插电还是电池
- 空闲检测
- Wayland 协议 ext-idle-notify-v1
- 始于
- 2026 年 10 月
预设
一串预设,各有各的条件;第一个满足的生效。文件一改就重新读取,什么都不用重装。为了不让 Wi-Fi 断一秒就改设置,只有连续两次检测都不满足,才会往列表下面走。
风扇
切到平衡配置后,风扇从每分钟 5,290 转降到 4,460 转,处理器从 80 °C 降到 67 °C。关掉睿频后上限是 2 GHz 而不是 5.09:重活明显慢了很多,这就是代价。
热更新
空闲计时器走的是 Wayland 协议:改延时不用重启任何东西。
这个网站
你正在读的这个网站:我的作品集,在 PlayStation 2 的主界面里重演。黑色背景、青色玻璃塔、黄色标签、存储卡。
- 界面
- Vue 3、Vite 和 Pinia
- 3D
- Three.js:场景、物件、那颗头
- 样式
- 手写 CSS,不用框架
- 声音
- 真 PS2 的采样
- 水族箱
- 一个 Rust 写的写入服务
- 始于
- 2026 年 7 月
塔
真主机为每个游戏画一座玻璃塔,高度由玩过的时间决定。这里是主页每扇门一座,高度取决于后面有多少可读的内容。
物件
这一页和各个专页上的 3D 物件都是用代码写的,共用同一个场景,在页面之间借来借去:一个浏览器只能撑住十五个左右的 WebGL 上下文。
纯文本
整个网站也有纯文本版,有法语、英语、日语、西班牙语和中文,给读屏软件用。
秘密
十六个彩蛋,等你去找。顶栏的计数器会告诉你还剩几个,但从不告诉你去哪儿找。
联系
最简单的就是发邮件。没有表单,中间也没有机器人:它直接进我的邮箱,由我亲自打开。
- 邮件 : contact@marc-alexis.com — 一个问题、一个项目、一个古怪的点子:都从这里来。
- GitHub : github.com/marc-alexis-com — 我公开项目的代码。
- 简历 : cv-marc-alexis-manso-peters.pdf — 一页,PDF。
系统
塔
PlayStation 2 的主界面会为存储卡上的每个存档画一座玻璃塔。这里,菜单的每一项一座:发光的那座,就是你鼠标正停着的。
方块
漂着的紫色方块是存储卡上的空闲块。还有剩,所以这个网站还没做完。它永远也做不完。
真正的网站
marc-alexis.com 真实存在,三种语言,带一整套操作系统和可收集的小人偶。这个只是又多一张存储卡。
3D 模型
箱子、沉船、小船、六角恐龙和锤子来自 Sketchfab,采用知识共享许可:Blender3D 的 “Minecraft Chest”、Pabooklas 的 “Fishing boat”、vovash 的 “Minecraft boat”、Marina Vildanova 的 “Minecraft Axolotl”、Pedro Perim 的 “Toy Hammer”。为了放进这里,它们从 41 MB 压到了 344 KB。螃蟹是 Ferris:角色出自 Karen Rustad Tölva,3D 模型出自 RayMarch,属于公有领域。箱子的两个音效来自 Minecraft。
头
“关于我”里的头基于 FLAME 2023 Open,这是 Max Planck Institute for Intelligent Systems 的一个头部模型(T. Li、T. Bolkart、M. J. Black、H. Li 和 J. Romero,SIGGRAPH Asia 2017),采用 CC-BY-4.0 许可。它按 Marc-Alexis 的四张照片调整,再减到 1,342 个三角形。
标志
在 Linux 那页,NixOS 的雪花是按 Tim Cuthbertson 为 NixOS 项目设计的标志(CC BY 4.0)重新做成立体的,Neovim 的标志则按 Jason Long 的设计(CC BY 3.0)。
封面
“我推荐的书”里的封面归各自的出版社和插画师所有。它们以小图展示,只为推荐这些书,别无他用。
肖像
打开的书页上的作者照片来自 Wikimedia Commons,经过裁剪和缩小:Mihály Csíkszentmihályi,摄影 Ehirsh(公有领域);Hans Rosling,摄影 Gapminder Foundation(CC BY 3.0);Derek Sivers,本人拍摄(CC BY-SA 4.0);Alain de Botton,摄影 Fronteiras do Pensamento(CC BY-SA 2.0);Austin Kleon,摄影 Larry D. Moore(CC BY 4.0);Anna Lembke,摄影 EthicsinSociety(CC BY 3.0);Kevin Kelly,摄影 Cmichel67(CC BY-SA 4.0);Ken Wilber,摄影 Kanzeon Zen Center(CC BY 2.0);Claude Lévi-Strauss,摄影 Bert Verhoeff,为 Nationaal Archief 拍摄(CC0);Bill Perkins,摄影 World Poker Tour(CC BY 3.0)。CC BY-SA 照片的裁剪版沿用同一许可。
项目的标志
“项目”页上的技术标志来自 Simple Icons(CC0)。每个标志仍是其所有者的商标,引用只为说明是哪个工具;Rust 的标志采用 CC BY-SA 4.0(Rust Foundation),KiCad 的采用 GPL 3.0 或更高版本,Wayland 的采用 MIT 许可。kishot 展示图里的电路板是 Lord’s Boards 的 RoyalBlue54L Feather,采用 CERN-OHL-P v2 许可。