普通视图

发现新文章,点击刷新页面。
今天 — 2025年2月28日Another Dayu

PIVOT Vol.13

作者 Dayu
2025年2月27日 22:16

本刊物不定期发布,推荐通过 RSS 订阅:https://anotherdayu.com/feed/

IMG_1488.jpg

「Dokploy」

Vercel 和 Netlify 的替代品,更简单的部署 Docker 应用。

|

「Edouard Klein / falsisign」

很多机构,特别是政府机构,不接受数字签名,而签名扫描的打印件可以。这个开源工具可以让 PDF 文件看起来像打印、签名然后重新扫描过一样。

|

「Shift-Z:键盘上的超级启动按键」

Shift-Z 这个启动键确实挺不错的,用了几天很舒服。

|

JoeanAmier/XHS-Downloader

可以从小红书上下载无水印的作品文件。

|

「Watch to 5K」

这是一个跑步教练软件,帮助用户培养运动习惯,直到能一次性不中断跑5km。

一般会计划每周跑3-4次,散步+跑步交替,一点点加量。2-3个月之后帮助训练者恢复成能单次跑5km的程度。之后还有10km的扩充计划,循序渐进,挺好的。。

| 「Does spatial distribution heterogeneity exist in video games: Evidence from Genshin Impact’s map」

这篇研究论文通过对《原神》游戏地图的空间分布异质性进行定量分析,探讨了虚拟世界中的空间特征。结果表明,虚拟游戏世界确实存在空间分布异质性,但其模式比现实世界更加简单和规整。

关联:PIVOT Vol.9 组会分享什么?一些有趣的科研论文

|

「The Pivot」

发现了一个公共卫生领域的播客也叫 PIVOT,缘分啊。

|

「Gender differences in the relationship between mental health and academic performance among undergraduate students at a medical school in Shanghai: a cross-sectional study」

医学教育学相关研究,探讨性别差异在心理健康与学业表现之间的关系。女大学生心理健康状况不良与学业成绩较差显著相关,SCL-90量表六个维度与学业成绩之间存在剂量依赖关系。相比之下,男性学生中未观察到类似结果。这表明性别在心理健康与学业表现的关系中起着重要作用,需进一步挖掘多维度心理健康对学生学业的影响。

|

「okooo5km/HiPixel」

macOS 原生应用程序,利用AI技术进行图像超分辨率处理。

|

「morriswmz/phd-game」

基于随机事件的文本类游戏引擎,模拟PhD学生的生活经历。

|

「Wittgenstein and Word2vec: Capturing Relational Meaning in Language and Thought」

这篇文章探讨了语言意义的本质,通过比较维特根斯坦的语言游戏理论、Word2vec 自然语言处理模型和细胞生物学中的概念映射,展示了概念间关系性意义的重要性。作者认为,通过在多维空间中测量概念之间的”距离”,我们可以更好地理解和表达意义,这种方法不仅适用于语言,还可能反映了人类思考的基本方式。

昨天 — 2025年2月27日Another Dayu

编程辅助工具 Roo Code

作者 Dayu
2025年2月27日 00:37

这两个月试了一些 AI 编程辅助工具,比如 Cursor、Windsurf、新版 Github Copilot、Cline 和 Roo Code等。

个人感受:

  • 注重效率:VScode + Roo Code + Claude 3.7 Sonnet 用起来比较舒服,但高频使用价格高。Reddit 里有朋友提到,Windsurf 这类订阅制的软件,为了节省 Token,做了一些优化,没有强制访问整库。Roo Code 和 Cline 则会强制访问,效果更好,但价格也昂贵一些。
  • 不喜欢折腾Windsurf 价格适中,性价比不错。Cursor 效果稍好,但也更贵。
  • 轻度使用CopilotGemini Code Assist 的免费版够用。

我平时仅会用代码完成数据分析项目,偶尔做个小插件。项目的代码量都不大,很少高频编程。

Roo Code 已经很够用。

小技巧

【1】Roo Code 是基于 VS Code 的插件,额外安装 Copilot 后,只需在 API Provider 中选择 VS Code LM API,即可在 Roo Code 中调用 Copilot。如果你拥有 GitHub Student Developer Pack,那么这一套设置将是免费的。

注意:Reddit 的一个帖子 提到这样有账号被关闭的风险。该账号最终恢复了,但风险仍旧存在。

【2】Code、Architect 和 Ask 三个模式可以选择不同的模型,Architect 我选择的是 Deepseek R1,其他两个是 Claude 3.7 Sonnet。

【3】关闭 Roo Code 的 MCP Servers 服务,能减少很多引导词,节省日常使用的 Token。

【4】在 OpenRouter 中开启「Compress prompts and message chains to the context size」,能节省 Token。

【5】Gemini 系列目前不算热门,但性价比不错,效果也挺好。

Source:

昨天以前Another Dayu

博客印象

作者 Dayu
2025年2月20日 22:22

看到 椒盐豆豉Allison 征集了博客印象,我也很想知道大家对这个博客的看法和感受。

问卷内容照搬了两位博主。如看不到内嵌问卷,可点击链接

问卷使用 CryptPad.fr 搭建,端到端加密,开源。免费版基本够用,国内用户也能访问,可嵌入网页。

官方提供的嵌入代码兼容性有一些问题,下面的代码是我稍作修改的,大家可以修改使用:

<div class="wp-cryptpad-form-wrapper" style="
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
">
    <div class="wp-cryptpad-form-container" style="
        position: relative;
        width: 100%;
        border-radius: 0.75rem;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    ">
        <iframe 
            src="https://cryptpad.fr/form/#/2/form/view/iUe1YFtzJUBhulf5cTMLQ8Yd-YCyWJq2y4wU8NR4I98/embed/" 
            style="
                display: block;
                width: 100%; 
                height: 800px; 
                border: none;
                margin: 0;
                padding: 0;
            "
            allowfullscreen
        ></iframe>
    </div>
</div>

Bearblog 风格点赞按钮

作者 Dayu
2025年2月8日 17:27

** 本文基于 第三夏尔Booooombenji 的 Hugo 插件代码,修改为 WordPress 插件:DayuGuo/bear-style-like-button

功能

在 WordPress 的文章类型页面下方添加两个按钮:「点赞」和「支持」。

  • 「点赞」:参考 Bearblog 点赞风格,以简洁版向上箭头为图标,配上一个轻柔的跳动动画。设置界面支持导出点赞数据。
  • 「支持」:可在 WordPress 插件设置中修改链接,跳转到特定页面。

效果见本文下方,大家可以试试。

安装

本插件可在 Github Releases 中 下载:DayuGuo/bear-style-like-button ,并在 WordPress 后台上传安装。

如有任何疑问可在评论区留言。

艺术书盲盒

作者 Dayu
2025年1月31日 11:29

去年,《假杂志》遭遇了一些变故,令人惋惜。

年末,暂时转成艺术书咖啡馆的形式营业,算是有了新的开始。

25 年初假杂志制作了一些艺术书盲盒,想着支持他们重启,便买了一份。

最近回上海,才腾出空拆开。198 RMB 的 2 号盲盒,内有四本书,一个布袋。如果按书的原价来算,还是挺划算的。

两本图为主,两本字为主,搭配合理。过年在家,一天读两本,挺惬意。

比较喜欢 Mitsuru Fujita 的《Watarasegawa – Time Goes By》和《天气之语》。

《Watarasegawa – Time Goes By》拍摄了很多沿途的山、田野、街道。配上黑白的风格,有一种忧伤悲凉的气息。后续看了介绍,发现取景地是一次矿难附近,环境和人类活动的残留物互相拉扯、战斗着。

《天气之语》是一本气候相关的科普散文集,学术性和诗意结合的很好,翻译质量挺好,读起来不晦涩,让我想起了《离线》系列。美中不足的是,其中两页的印刷质量有小瑕疵。

偶尔买一次盲盒挺好的,读一些关注领域之外的内容,享受一个不一样的下午。

祝好,

喝着热巧克力的 Dayu

IMG_2863.jpeg
IMG_2864.jpeg
IMG_2862.jpeg
IMG_2865.jpeg

近期测试的几个软件

作者 Dayu
2025年1月31日 00:15

近期收到或抽到了一些软件,都挺有趣,放在一起聊聊。

写完才发现 5 个项目的作者都是推友。

Juchats

推友 @Cydiar404 的项目 Juchats,快速访问多种大模型(如下图所示)。整体功能与 POE 类似,价格更便宜,界面更简洁,可以用支付宝直接付款。

目前已经稳定运行一年多,比较贴心的是有个 1.99 美元的日套餐,感兴趣的朋友可以测试一下。

CleanShot 2025-01-30 at 23.27.02@2x

Tooboo

YaoYao 跳绳软件作者 @haozes 的新产品 Tooboo,这次的定位是跑步和徒步旅行,软件风格特别舒服,和 Apple watch 适配的也很好。

支持与 Strava 同步,可以从两步路和 AllTrails 中导入路线。

竞品是 WorkOutDoors,支持得运动项目更全一些,但老项目界面稍微粗糙些。Tooboo 的优势则是设计和交互更现代,更新也更勤快,未来可能添加更多功能。国区买断价 48-68 块,很不错。

IMG_3025

Photoncam

推友 @JuniperPhoton 的作品,用起来很舒服的拍照软件,可以配置 LUT,自带的滤镜也挺不错,玩法多样。

我喜欢它的原因比较个人。平时手机拍照比较习惯用 1:1 的框,Apple camera 没有长期固定 1:1 的设置,拍照前总要多个步骤,这个软件则能固定 1:1。

正好换了 iPhone16,就把 Photoncam 锁在了相机键。想 4:3 的时候再启用 Apple camera。

注:经网友提醒,iPhone 原来可以固定设置,选项名:Preserve Settings。

最近简单修图和加边框也用的它,挺顺手,偶尔精修的时候才用 Darkroom(开的越来越少了)。

IMG_3023

Piecelet

推友 @vanillaCitron 的作品。

Piecelet 是 iOS 版的 NeoDB 浏览器,体验不错,这回在手机上添加书影音记录更方便了。

NeoDB 本就相对小众,愿意花心思为这个网站做软件,还是上架的 iOS 软件,不容易。

比较好奇 Piecelet 的含义。

IMG_3021

SteveFans

@st7evechou 的作品。

SteveFans 能以小组件的形式追踪社交软件的关注数等数据,包括 Youtube、Twitter、Bilibili、Telegram等。

这个软件感觉很适合做自媒体的朋友使用,在创业阶段有个方便浏览数据的小窗口,很方便。

IMG_3022

PIVOT Vol.12 新年快乐呀!

作者 Dayu
2025年1月29日 21:11

本刊物不定期发布,推荐通过 RSS 订阅:https://anotherdayu.com/feed/

IMG_1488.jpg

「微信备份」

以前每到临近过年的时候,我都会整理聊天记录,然后删除微信,再重新下载一遍。

这样做很爽快,但偶尔也会希望浏览过去的历史记录。

今年准备备份一下,先尝试的是 oh-my-wechat,带年度总结,但目前不兼容微信新版本,图片显示加载失败。

然后尝试了老牌的 WechatExporter ,流程与 Oh-my-wechat 相似,稳定性不错,顺利完成了备份。

我在云盘中存了一份完整版,并在 DEVONthink 中存了一份「没有多媒体文件的 html 备份」,这样一年的聊天记录仅有 70 mb,方便索引。

另外,Untag 推荐的 wechatDataBackup 似乎更简单易用。但我没有 windows 系统的设备,未能测试。

|

「Dynamicland」

Dynamicland 是一个独特的计算环境项目,它将计算机变成了一个实体场所。在这里,计算不是隐藏在虚拟世界中,而是以实物形式存在,人们可以直接用手触摸和操作。它是一个非营利性研究实验室,目标是发明一种新型计算形式,让普通社区成员也能轻松使用和创造。该项目由前苹果界面设计师 Bret Victor 参与研究,致力于让人们能在真实世界中协作,共同探索想法。

感兴趣的朋友可以听这一期播客:EP90: Dynamicland 2024 – 一天世界

|

「Colorado police give away free AirTags to cut car crime」

科罗拉多州的一个警察局目前会免费赠送一张包含汽车登记证的 AirTag,并附加一张贴纸,以说明该车辆正被警察局追踪。感觉这种追踪设备挺适合警局和保险公司合作,批量部署。

|

「名字能影响面部特征吗?」

这篇研究文章探讨了名字是否能够影响人的面部特征。研究采用了多种方法,包括社会观察者评估和机器学习算法,以验证「自我实现预言」效应,即人们的面部特征随着时间的发展会趋于与其名字相关的社会刻板印象相符。

|

「Engineering Toxoplasma gondii secretion systems for intracellular delivery of multiple large therapeutic proteins to neurons」

很有趣的研究,研究者利用基因工程改造刚地弓形虫(Toxoplasma gondii),使其能够穿透血脑屏障,将治疗性蛋白质递送至大脑神经元。这一技术为解决中枢神经系统疾病治疗中的药物递送难题提供了新思路。

|

「Forgetting as a form of adaptive engram cell plasticity」

文章提出,遗忘并非记忆本身的消失,而是记忆印迹细胞(engram cells)从“可激活状态”转变为“不可激活状态”的过程。记忆信息仍存储于大脑中,但缺乏触发其提取的“钥匙”(如特定环境线索)。这一观点挑战了传统认为遗忘是信息丢失的观点,将其重新定义为神经可塑性的表现形式

|

「Ubuntu 是什么意思?」

Ubuntu is an ancient African word meaning ‘humanity to others’. It also means ‘I am what I am because of who we all are’. The Ubuntu operating system brings the spirit of Ubuntu to the world of computers.

Ubuntu 是一个古老的非洲词,意思是“对他人的人道”。它还意味着“我之所以成为我,是因为我们都是我”。 Ubuntu 操作系统将 Ubuntu 的精神带入了计算机世界。

|

「A systematic review and multivariate meta-analysis of the physical and mental health benefits of touch interventions」

这篇 meta 分析表明,触摸能改善身体和心理的多种指标,如减轻疼痛、焦虑和抑郁。

|

「宝可梦自走棋 PokemonAutoChess」

这款由粉丝制作,为粉丝服务。网页即可开玩,开源且非盈利。所有版权归宝可梦公司所有。另外,「宝可梦大集合」最近也出自走棋了,挺好玩的。

你如何打包你的日常生活

作者 Dayu
2025年1月15日 20:57

今天阳光很舒服,在常德河边的小咖啡店喝了杯热可可,尝了一块苹果肉桂巴斯克。

店名很有趣,叫「木又寸」,合起来是「树」,英文名 Be a Tree。

.png

工作日店内挺安静,身后椅子上有一只猫咪懒洋洋的晒太阳,心情好的时候会在我们脚下漫步。

WechatIMG649 Large.jpeg

答题

店内有一些藏书,随手翻看着一本,叫《日和手贴—打包你的人生》。

开头是一篇「群访」,标题是「你如何打包你的日常生活」,共有四个问题。

心情很好,顺手答一下:

1.你的包里是凌乱的还是井井有条的?

旅行开始的时候井井有条,但拿取东西的次数多了后,会变的凌乱。

包内有 7 个分区,所以只要不装的太满,还是能快速找到自己要的东西。

2.平时会背怎样的包?

经常背电脑,双肩包更舒适,目前背的是 Bellroy Classic Backpack plus v2,舒适度很高,这三年陪我去了很多地方。耐用性也不错,远看跟新包一样。

不带电脑的时候,我会背一个小斜挎包,装手机、钱包、纸巾。

3.出门时包里会装些什么?

  • 电脑 – MacBook M2 Pro
  • 一加数码收纳包
  • 手机电脑充电线、Anker 65w 氮化镓3口充电器
  • Anker Type-C 扩展坞
  • Lightning to SD Card Camera Reader
  • 充电宝 – Oisle 便携磁吸充电宝
  • EDC 收纳袋 – 近期生病较多,放了一些日常使用的药物
  • AirTag – 快速找包
  • 粗苯卡片包
  • Keith 400ml 钛水壶
  • Cuben 购物袋
  • HeroClip 多功能挂钩
  • Snow Peak X JINS 夹片墨镜
  • 相机 – GR3 (大部分时间会带)

4.理想的包是什么样的?

分区合理,耐看,不花哨,面料耐用。最好是黑色,20-24L,太大不适合日常通勤,太小适用范围太小。我只想备 3 款包:城市日常通勤包、徒步包和斜挎小包。

另外,年初徒步旅行经历大雨,不便打伞,背包没多久就湿透了,差点弄坏相机。所以下一个背包,我会选有防雨性能的,比如 Aer City Pack Pro Ultra。Aer 经典款背包唯一的缺点就是自重有点重,而这款是新材料,线下试过一次,很轻,也耐看。

现在这个包还能背好多年,防水不算日常需求,几年后包坏了再考虑换。

下午,河边人逐渐多了起来,店内又来几桌客人,挺热闹,但也不适合看书了。

收拾收拾回家!

嘻嘻哈哈又一年 2024

作者 Dayu
2025年1月12日 23:27

或许最近,你会看到很多人开始分享自己在 2024 年做到了很多事情。
但如果你在 2024 年唯一做到的事情,就是成功坚持了下来,走完了这一整年。
我想和你说,没关系的,每人有各自不同的生活和经历。放松心态,找到属于自己的路,继续前行吧。

Chipsy & Elfwreck

0

关联:2023,这一年发布的文字就是我的年终总结

自 2021 年开始写博客,2024 年是我坚持写作的第四年,这一年我发布了 83 篇博客,共计 61,602 字 。

照例贴上主页截图,纪念一下。

CleanShot 2025-01-12 at 22.04.06@2x.png

1

年初闭关几个月赶出了毕业论文,跌跌撞撞的博士毕业。

拿到毕业证书后很久都没缓过来。

找到了契合的博后职位,但入职和签证流程折腾了好几个月,至今没走完。

在导师介绍下,兼职做学术期刊编辑,挣生活费。

希望 25 年能顺利入职。

2

这一年生了太多次病,咽炎、肠胃炎、腰伤、甲流… 浑浑噩噩的度过了下半年。

刚毕业的时候,充满干劲,计划了很多项目,但这半年状态实在不好,少有顺利进行的。

希望入职前能调整好状态。

3

年初去英国探望女友,完成了人生中第一次中距离徒步旅行

然后回归异地,做彼此的电子宠物。

年末,女友也完成了毕业答辩,终于回国。

25 年 1 月,我们领证了。

随女友回老家。来过两次,但她看着我这个小胖墩在她屋里敲电脑,总觉得像在做梦。

确实,我高兴的像做梦一样,总看着她傻笑。

4

工作之后,感觉少有机会和父母出游。趁着还有闲暇,下半年陪他俩飞了两次日本,北海道东京和箱根。淡季人少,玩的很开心。

高中同学的女儿满周岁,我有幸被夫妻俩信任,成了小家伙的干爹。

和朋友一起完成了第一个 WordPress 插件:NeoDB Integration

设计了一个博客相关的问卷,评论区有很多有趣的答复。

开启了一个聊天活动,共和 11 位朋友线上交流。

完成了美国心脏协会的 HeartSaver First Aid CPR AED 课程,希望在某个时刻,能够给自己多一份勇气,并且保护自己,帮助他人。

5

11 月份博客被攻击过一段时间,维护后,暂时安全。

这一年中,我最喜欢的博客是 那些脱口而出的思考秋夜、白葡萄酒和面包

祝大家身体健康!

PIVOT Vol.11 推荐几个macOS软件

作者 Dayu
2025年1月12日 21:34

本刊物不定期发布,推荐通过 RSS 订阅:https://anotherdayu.com/feed/

IMG_1488.jpg

推荐几个最近用着很舒服的 macOS 软件!

Mailmate,朋友推荐的一款 macOS IMAP 电子邮件客户端,日常价格为每 3 个月 10 美元,前几天可以 1 美元购买 3 个月的使用权限(已过期),就试了试,结果非常惊喜。付费期限结束后,会自动转为免费版,似乎也够日常使用(还未测试)。很踏实的设计风格,比 Apple mail 和 Spark 细节好很多。如下图,如果邮件中提到了 attachment,但没有添加附件,还会提醒。

telegram-cloud-photo-size-5-6334830467156657640-x.jpg

Kinopio,一款画板软件,风格比较独特,可以分享页面,并嵌入网页,示例:第一次中距离徒步 Yr Wyddfa。从 Obsidian 转出后,偶有画板需求,但不想再额外使用一个笔记软件,就会用 Excalidraw,但 Excalidraw 稍有些粗糙。Kinopio 则刚刚好,网页版轻量化,还能导出为 Obsidian 的 JSON Canvas file format 格式和 PDF,易于储存和索引。

CleanShot 2025-01-12 at 19.08.38@2x.png

new file menu,为 macOS 右键菜单增加新建文件的功能。类似的软件有很多,但部分在系统更新后失效,这款则比较稳定简单。

Trickster,快速索引近期访问的文件,优点是能索引 Devonthink 等软件内部的文件。

CleanShot 2025-01-12 at 21.17.34@2x.png

codepiper,自动复制 macOS 中的短信验证码,很易用。

Rapidmg,macOS 安装 DMG 文件时的拖拽流程比较累赘,这个软件则省去了该步骤。

FluentRead,Firefox插件,类似于沉浸式翻译,优点是开源,设置界面简洁舒适。缺点是目前没有一键全网页翻译,只有段落翻译快捷键。

第一次中距离徒步 Yr Wyddfa

作者 Dayu
2025年1月10日 10:13

这是一篇拖了 1 年的游记。

24 年初,去英国探望女友,去了威尔士坎布里亚山脉的斯诺登山(Snowdon)徒步旅行,威尔士语叫 Yr Wyddfa。这是威尔士第一高山,英国第二高山,相对高度 1038 米。

我俩平日很少锻炼,最多在公园和乡间徒步,这是第一次爬原生态的徒步路线。

image.png

小雨转暴雨

早餐吃的是青旅的英式自助餐,味道不错!

选了一个中等难度的线路:Yr Wyddfa (Snowdon) via Miners’ Track and Pyg Circular。全程12.1km,上山是难度比较高的 Pyg Track,下山则走简单一些的 Miners’ Track。

出发的时候还没雨,走到山脚开始有稀稀落落的小雨。

我们准备的不够充分,没带防雨的冲锋衣和徒步鞋,穿着比较日常的衣物,但初生牛犊不怕虎,决定冒雨登山。

走了半小时左右,雨大了起来。山路也从还算平坦的路线,转成了有坡度的碎石路,且雨天路滑,危险了许多。

这段路程需要手脚并用才能前行,跟景区爬楼梯大不相同,第一次感受到了野外徒步的魅力。

这时外套和书包已经湿透,但本着来都来了的态度,我们还是义无反顾的继续。

IMG_0365 Large.jpeg

大雾

大雨后是大雾,能见度很低,登山过程中少了很多享受美景的机会。

浑身湿透,饥寒交迫,我也没太多心思享受美景,只想赶快登顶。女友的状态好一些,很开心的拍照。

好在还能看到心形湖。

IMG_7448.jpeg

这个阶段有些煎熬,因为人已经开始疲倦,但仅走了1/4,前路漫漫,看不到尽头。明显感到体能不支,跟不上那些劲头十足的徒步者,渐渐落到了队尾。

还有一些游客带着宠物,狗狗爬得比我俩顺畅的多。

telegram-cloud-photo-size-4-5764953826703559316-y.jpg

登顶

跌跌撞撞的爬到了山顶,风更大了,还有积雪,能见度几乎为零。

实在太冷,拍了几张照片留念,就匆忙下山。

冬季往返小火车(Snowdon Mountain Railway)停运,只能硬着头皮继续下山。

这个阶段,我们俩更疲倦了,双腿酸疼,还有些憋尿。

只能互相鼓励着前行!

中间休息多次,但每次都不敢久坐,怕体温下降,就再也站不起来了。这时开始有些后怕,应该多做些准备再登山。

下山的风景很好~

IMG_0373.jpeg

真不容易

最后用了 7 个多小时走完全程, Alltrails 软件显示 6 小时,似乎没有把休息的时间算进去。

回到 YHA 青旅后,赶紧洗了个热水澡。意外的是我们都没有感冒,总的来说还算顺利!

IMG_7501.JPG

这次如果不是雨天,路线其实并不困难。

聊起这次的经历,女友想起了一句话:旅行是一种延长生命的方式。生命长度以「富有情感的新鲜经历」作为度量。日常生活中的固定状态,有太多重复的模式,很多经历仿佛被折叠。而旅行时我们敏感又清醒,每一分每一秒,都积极的感受着。更直接的是,这次旅行太苦了,两个人一起走过来,会一直记得!

此后,我对徒步旅行越来越感兴趣,一点点买装备,为下次徒步旅行做准备!

IMG_0348.jpeg

Kinopio

最近很喜欢用 Kinopio,这是一个画板软件,免费功能基本够用,可以分享画板,并嵌入网页。

我用画板整理了此次旅行线路,效果如下:

致谢:审稿人+摄影师,徒步时是女友,现在是家属的小西瓜!

补一句看 Links 视频时听到的话。

为什么要去想这些,比谁高、比谁快比谁厉害,这是山,这不是社会。无论走到哪个高度,是不是登顶,山都会回馈你,它会给你,这份只属于你的感受。悲观者总是正确,乐观者正在前行。

室内吸烟室

作者 Dayu
2025年1月9日 20:08

前几天跟一位久居日本的老友吃饭,他有肠胃炎,席间跑了几趟厕所,回来直抱怨里头烟味熏人,难受得很。

我听着他的抱怨,感同身受,因为我一直深受慢性咽炎的困扰,异味重就会咳得厉害。

日本大部分区域都设有室外和室内的吸烟室,标识明晰。吸烟者一眼就能找到,既方便了他们,又最大程度减少了二手烟对他人的影响。

我们俩在上海都没看到过吸烟室的标识。当然,我们都不是吸烟者,对这些设施不敏感。于是我们咨询了商场服务台,确实没有设置室内吸烟室,有室外吸烟室,但没有引导标识。

之后的几天只要经过商场,我都会问问室内吸烟室,结果新老商场都仅有室外吸烟区域,且都没有标识。又联系了一位在上海多家商场工作过的朋友,他去过的商场中仅吾悦广场有室内吸烟室。

这些室外吸烟区大多仅有一个烟灰缸,没有顶棚,更别提空调,一下雨,就无法使用。这可能是一部分人转而跑去厕所的原因。

一部分机场会设置室内吸烟室,但一些被设在了公务舱休息室内,普通旅客就享受不了这些便利。

为什么没有室内吸烟区?

对这种现象,我们俩都比较疑惑。设置室内吸烟室,并给予清晰引导,其实会同时提升吸烟者和非吸烟者的消费体验,且成本并不会很高,为何少有设置室内吸烟区的商场呢?

带着疑问,我简单检索了相关资料,发现《公共场所卫生管理条例实施细则》规定,“室内公共场所禁止吸烟”。吸烟点应当满足以下条件:

  1. 室外区域
  2. 不得靠近人群密集区域和行人必经的主要通道;
  3. 符合消防安全;
  4. 设置明显的指引标识;
  5. 配置烟灰缸等盛放烟灰的器具,并设置吸烟有害健康的警示标识。

但其实有一些商场是有室内吸烟室的,所以其中的边界令人感到困惑。

另外,前几年有一例室内公共场所控烟环境公益诉讼案件,涉案商场因在室内设吸烟室,被判赔偿 140 万元环境修复费用、服务功能损失费。

难怪现在少有商场设置室内吸烟区。

但根据这个案件的细节,该商场室内吸烟区和母婴区邻近,且排风换气设施不佳。可能这才是判决的核心原因。

如果要设置室内吸烟区,那么将其设置在合理的位置,并配备强力的换气系统,确实是基础。

其实,对于我们这些不吸烟的人来说,公共场所禁烟力度越大,舒适度越高。但凡事都讲究个度,步子迈得太大,不考虑吸烟群体的实际需求,往往会适得其反。

既然无法完全禁烟,且烟民数量巨大,那么多一些室内吸烟室,其实很好,要互相理解。

这几年上海很多商场都在推二次元和宠物友好这些概念,但对大部分消费者来说,干净的厕所和空气似乎优先级更高一些。

以我母亲为例,外出的时候她都尽量不上厕所。每次去陆家嘴逛街,如果有需求,都会转到国金的卫生间。最后,我们在国金就餐的次数似乎也变多了,印象也更好些。

急救培训

作者 Dayu
2024年12月25日 20:34

目前国内急救培训主要有两类:

  • 美国心脏协会(AHA,American Heart Association),技能证明类证书,非政府组织,学费为 800-1000 元。优势是小班授课,有充分的联系和沟通时间,证书可在大多数国家通用。
  • 红十字会组织的急救培训,政府公益性质,课程设置稍微简单一些,大部分是免费授课。核心部分两者相通。如无出国需求,考红十字会的即可。

想着既然感兴趣,就学最完整的版本。另外,马上要出国工作 2 年,对国际范围覆盖有需求,就报名了适用范围更广的 AHA 课程。

起初,我还陷入过一个误区,以为获取 AHA 或红十字会证书之后,才能获得「好人法」的救助豁免权。但实际上根据 2021 年 1 月 1 日起实施的中华人民共和国民法典第 184 条,因自愿实施紧急救助行为造成受助人损害的,救助人不承担民事责任。

即原则上自愿的,无任何酬劳的急救都是免责的。

所以学习和考证,是为了做更充足的准备,以便在需要的时刻保护自己,帮助他人。

给自己多一份勇气。

AHA

我学习的是针对大众的 AHA HeartSaver First Aid CPR AED 课程,一天可以学完,有三场实践考核和一场笔试。心肺复苏(CPR)和自动体外除颤器(AED)是培训的重点,还包括很多生活中常见的急救知识。

知识量很大,以视频课程、教师讲解和现场实践为主,上了一天课头晕晕的,仿佛回到了高中。

同场次有 6 名学员,其中 2 位马拉松爱好者,2 位健身爱好者,一位很精神的初中生,和我。其中有一位练的相当出色的女健身老师,AHA 证书可以抵一些他们从业的学分,也能增加自身的专业程度。

比较有收获的是实践部分,有假人、AED 培训设备等,挺还原事发现场。

小缺点是课程设计虽然经典,且能让所有人获得足够的信息,但确实陈旧了一些,大部分时间在看录像带,体验欠佳。国外 AHA 课程允许学员先在家中通过网络课程学习视频内容,随后前往 AHA 培训中心进行实践测试,最终获得认证。这样更方便安排时间,人性化很多!

IMG_2560.jpeg

AED 地图

目前国内寻找附近AED的方法主要有以下几种:

  • 最近的地铁站;
  • 在大商场的话,快速联系保安;
  • 微信小程序里搜:AED 急救地图(左);
  • 微信-我-服务-城市服务-搜索「AED网点查询」(右),信息较多!目前测试了几次,离开微信之后,总是加载不出来;
  • 高德、百度地图等软件中搜索 AED,信息较少。
CleanShot 2024-12-25 at 20.01.38@2x.png

国外的我则找到了这一款软件 Life Saver,等以后试试看!

IMG_2593.PNG

对了,今年刚好是美国心脏协会成立 100 周年。

祝大家身体健康!

WordPress 插件-NeoDB Integration 书影音展示页面

作者 Dayu
2024年12月20日 10:59

将 NeoDB 书影音记录整合到 WordPress 中 实现了将 NeoDB 观影记录添加到 WordPress 页面中,展示页面:NeoDB 书影音

但流程较为复杂,本文将 Cloudflare worker 和 functions.php 整合成了 WordPress 插件,进一步简化流程。

本人无相关代码经验,插件由 ChatGPT 协助生成,时代真的变了。

使用方法

NeoDB API Developer Console 中点击Test Access Token,并 Generate 一个 NeoDB Bearer Token,示例:Th2121_qs-8agMAlSrkE_tzBbcvjsdkjtlCtr9QHX321312312Ytzo8_YmOxjxg

在终端(Terminal)或命令提示符(Command Prompt)中输入以下代码,将 YOUR_TOKEN 替换为 NeoDB Bearer Token。

curl -H "Authorization: Bearer YOUR_TOKEN" https://neodb.social/api/me

下载 NeoDB Integration 插件: https://github.com/DayuGuo/NeoDB-wordpress-Integration/releases/tag/gotest

在 WordPress 中安装并激活该插件。

在 Settings-NeoDB Settings 中输入 NeoDB Bearer Token。

在 WordPress 页面或文章中,使用以下短代码来显示数据:{neodb_page},使用时请将{}符号,换成[]。

Settings-NeoDB Settings 中可调整显示的内容、手动更新和清理数据库。

效果示例

https://anotherdayu.com/neodb/

另,附上我的 NeoDB主页:https://neodb.social/users/anotherdayu/,和 mastodon 账号:https://mastodon.social/@anotherdayu

参考资料

将 NeoDB 书影音记录整合到 WordPress 中

作者 Dayu
2024年12月20日 00:08

朋友们,已将该功能整合成一个WordPress插件,可直接看这篇 WordPress 插件-NeoDB Integration 书影音展示页面,更简单易用。

这两篇文章合在一起,是我第一次使用 ChatGPT 协助制作 WordPress 插件的心路历程。

NeoDB 是一个开源免费的书影音收藏社区平台,详情见:NeoDB | 书影音标记 – 豆瓣、GoodReads 和 Google Book 的替代品

本文参考 hcplantern 的 将 NeoDB 记录整合到 Hugo 中 ,实现了将 NeoDB 观影记录添加到 WordPress 页面中,展示页面:NeoDB 书影音

获取 NeoDB Bearer Token

NeoDB API Developer Console 中点击Test Access Token,并 Generate 一个 NeoDB Bearer Token,示例:Th2121_qs-8agMAlSrkE_tzBbcvjsdkjtlCtr9QHX321312312Ytzo8_YmOxjxg

在终端(Terminal)或命令提示符(Command Prompt)中输入以下代码,将 YOUR_TOKEN 替换为 NeoDB Bearer Token。

curl -H "Authorization: Bearer YOUR_TOKEN" https://neodb.social/api/me

设置 Cloudflare worker

注册 Cloudflare worker,点击 Create,创建一个 worker。

最初会展示一个 Hello World 基础案例,点击 Continue to project – Settings – Variables and Secrets。

添加一个环境变量(Environment Variables):

  • Type:text
  • Variable name:NEODB_TOKEN
  • Value:NeoDB Bearer Token,示例:H13121_qs-8agMAlSrkE_tzBbcvjsdkjtlCtr9QHX321312312Ytzo8_YmOxjxg

点击右上角的 Edit code,删除 worker.js 中全部代码,并将 hcplantern 提供的代码(如下)复制黏贴进去。

const myBearer = NEODB_TOKEN; // Assuming 'NEODB_TOKEN' is set in your Cloudflare Worker's environment variables

addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
try {
console.log(myBearer)
const url = new URL(request.url);
const category = url.pathname.substring(1);

// Optionally, handle query parameters (e.g., page number)
const page = url.searchParams.get('page') || '1';
// Available values : wishlist, progress, complete
const type = url.searchParams.get('type') || 'complete';

let dbApiUrl = `https://neodb.social/api/me/shelf/${type}?category=${category}&page=${page}`;
const response = await fetch(dbApiUrl, {
method: 'get',
headers: {
'Accept': 'application/json',
'Authorization': `Bearer ${myBearer}`
}
});

// Check if the response from the API is OK (status code 200-299)
if (!response.ok) {
throw new Error(`API returned status ${response.status}`);
}

// Optionally, modify or just forward the API's response
const data = await response.json();
return new Response(JSON.stringify(data), {
headers: { 'Content-Type': 'application/json' },
status: response.status
});

} catch (error) {
// Handle any errors that occurred during the fetch
return new Response(error.message, { status: 500 });
}
}const myBearer = NEODB_TOKEN; // Assuming 'NEODB_TOKEN' is set in your Cloudflare Worker's environment variables

addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
try {
console.log(myBearer)
const url = new URL(request.url);
const category = url.pathname.substring(1);

// Optionally, handle query parameters (e.g., page number)
const page = url.searchParams.get('page') || '1';
// Available values : wishlist, progress, complete
const type = url.searchParams.get('type') || 'complete';

let dbApiUrl = `https://neodb.social/api/me/shelf/${type}?category=${category}&page=${page}`;
const response = await fetch(dbApiUrl, {
method: 'get',
headers: {
'Accept': 'application/json',
'Authorization': `Bearer ${myBearer}`
}
});

// Check if the response from the API is OK (status code 200-299)
if (!response.ok) {
throw new Error(`API returned status ${response.status}`);
}

// Optionally, modify or just forward the API's response
const data = await response.json();
return new Response(JSON.stringify(data), {
headers: { 'Content-Type': 'application/json' },
status: response.status
});

} catch (error) {
// Handle any errors that occurred during the fetch
return new Response(error.message, { status: 500 });
}
}

然后点击 Deploy 部署即可。

注意在这一步中,需要复制保留左侧 Preview 下方的网址,示例 https://xyz-hall-ohxu.user.workers.dev/

WordPress Shortcode

在 WordPress 管理后台,导航到“外观” -> “主题编辑器”。

找到并编辑当前主题的 functions.php 文件。

将以下代码添加到 functions.php 文件中。这段代码创建了一个名为 neodb 的短代码。

注意:将代码中的 https://your-worker-url/ 替换为 Cloudflare worker 中的 https://xyz-hall-ohxu.user.workers.dev/

function neodb_shortcode($atts) {
$atts = shortcode_atts(
array(
'category' => 'book',
'type' => 'complete',
),
$atts,
'neodb'
);

$category = $atts['category'];
$type = $atts['type'];

$url = sprintf('https://your-worker-url/%s?type=%s', $category, $type);

$response = wp_remote_get($url);
if (is_wp_error($response)) {
return '数据获取失败';
}

$body = wp_remote_retrieve_body($response);
$data = json_decode($body, true);

if (empty($data['data'])) {
return '没有找到相关数据';
}

ob_start();
?>
<div class="item-gallery">
<?php foreach (array_slice($data['data'], 0, 10) as $value): ?>
<?php $item = $value['item']; ?>
<div class="item-card">
<a class="item-card-upper" href="<?php echo esc_url($item['id']); ?>" target="_blank" rel="noreferrer">
<img class="item-cover" src="<?php echo esc_url($item['cover_image_url']); ?>" alt="<?php echo esc_attr($item['display_title']); ?>">
</a>
<div class="rate">
<?php if (!empty($item['rating'])): ?>
<span><b><?php echo esc_html($item['rating']); ?></b>🌟</span>
<br>
<span class="rating-count"><?php echo esc_html($item['rating_count']); ?>人评分</span>
<?php else: ?>
<span>暂无🌟</span>
<br>
<span class="rating-count"><?php echo esc_html($item['rating_count']); ?>人评分</span>
<?php endif; ?>
</div>
<h3 class="item-title"><?php echo esc_html($item['display_title']); ?></h3>
</div>
<?php endforeach; ?>
</div>
<style>
.item-gallery {
display: flex;
padding: 0 1rem;
overflow-x: scroll;
align-items: baseline;
}
.item-card {
display: flex;
flex-direction: column;
flex: 0 0 17%;
margin: 0 0.5rem 1rem;
border-radius: 5px;
transition: transform 0.2s;
width: 8rem;
}
.item-card:hover {
transform: translateY(-5px);
}
.rate {
text-align: center;
}
.rating-count {
font-size: 0.8rem;
color: grey;
}
.item-cover {
width: 100%;
min-height: 3rem;
border: 2px solid transparent;
}
.item-title {
font-size: 1rem;
text-align: center;
margin: 0;
}
</style>
<?php
return ob_get_clean();
}
add_shortcode('neodb', 'neodb_shortcode');

使用代码

在 WordPress 页面或文章中,使用以下短代码来显示数据:

CleanShot 2024-12-20 at 00.09.10@2x.png

book 可以替换为 movie, tv, podcast, music, game, performance,展示更多数据。

type 可选 wishlist 和 complete,展示想看和看过的内容。

效果示例:https://anotherdayu.com/neodb/

CleanShot 2024-12-19 at 23.56.56@2x.png

另,附上我的 NeoDB主页:https://neodb.social/users/anotherdayu/,和 mastodon 账号:https://mastodon.social/@anotherdayu

好好吃饭 意大利肉酱面

作者 Dayu
2024年12月9日 13:21

对意大利肉酱面最初的回忆可能是萨利亚和必胜客,萨利亚的味道很寡淡,必胜客的则浓一些。

后来吃了一次「镰仓PASTA」,才知道意大利面原来可以这么好吃。有点可惜的是几年前上海的镰仓陆陆续续关门了。

之前有一段时间自己住,偶尔会简单的做意大利面充饥,但谈不上好吃。

最近开始想要好好做做意大利面,发现意大利肉酱面其实是个慢烧料理,长时间的炖煮才能让风味融合。

拿着基础菜谱,先简单实验了一下。

  • 肉馅 1:1 组合了猪肉和牛肉,煸炒后待用
  • 用炒肉馅的底油煎软洋葱碎,然后与肉馅混合
  • 放入胡萝卜碎和芹菜碎,再加入一点黄油,混合均匀
  • 放入新鲜西红柿和意面酱
  • 加盐、糖、黑胡椒和料酒
  • 小火炖煮90分钟

味道比以前好了许多,但感觉还是不够浓郁。

隔夜再烹饪时,我稍留了一些煮面水,再加了一些牛奶,和意面、酱料一同收汁。

酱料裹的更均匀,也更浓郁了。

但这次的肉馅感觉太瘦了,脂肪不够,所以肉的味道不够香。另外,即使加了两个西红柿,番茄味还是不够突出,酱料的层次也不够丰富。

下次煮酱料的时候,想加点培根碎、浓缩番茄膏和肉高汤,炒肉馅的时候耐心些,煎出焦化层,把料酒换成红酒,出锅时再加点芝士和牛奶收汁。

整理一下新菜谱,下次待用:

  • 肉馅1:1混合猪肉和牛肉,煎出焦化层后盛出待用
  • 用炒肉馅的底油煎培根碎和洋葱
  • 放入胡萝卜碎和芹菜碎,再加入一点黄油,混合均匀
  • 放入新鲜西红柿、意面酱和番茄膏
  • 加盐、糖、黑胡椒、红酒和肉高汤,可以尝试加少量月桂叶、牛至和迷迭香
  • 小火炖煮90分钟
  • 快出锅时,加入罗勒、芝士和牛奶,大火收汁至酱料浓稠

想做出好吃的食物还是得耐心。

另外,最近在尝试 Reeder 作者出品的菜谱软件——Mela,一如既往的舒服。

可 Self-host 的 mealie-recipes/mealieTandoorRecipes/recipes 似乎也是不错的选择。

祝大家有个好胃口!

被烹饪的数据 Cooking Data

作者 Dayu
2024年12月7日 20:47


大模型的好坏,与数据质量息息相关,目前的数据大多已投入模型中,如何获得优质的真实世界数据将成为长期的课题。

我平时会做一部分数据分析,喜欢人类学,明年又有可能参与非洲的研究项目。Crystal Biruk 写的这本 Cooking Data 则包含了这些我参与和热爱的内容。前段时间薄荷实验在招这本书的翻译,我甚至都心动了。

本文是 Cooking Data 读后感。

幻想中的数据

作为学院派的研究者,我们其实没有很多机会参与完整的现场调查和数据收集,平时将拿到手的数据称为 raw data,并认为该数据应该是「干净且客观的」,偶尔遇到数据质量差的数据,则会心生抱怨。

这本书的标题则直接指出,「干净的数据」这一概念是虚构的,是远离现场的人们所想象的。数据必然被「多次烹饪」,无法避免的与社会和文化环境交织在一起。

然而基于数据的决策系统,已经被广泛应用于政策制定,所以梳理和反思数据产生的全流程是必要的。

CleanShot 2024-12-07 at 15.24.13@2x.png

文化盲点

全员多语种的专家团队是任何一个大项目都负担不起的,需要翻译专家从中协调。然而,即使 ChatGPT 等大语言模型提升了翻译的下限,也远远不够,这是大部分全球健康项目数据质量的根源性问题。

将高质量数据标准方案翻译成其他语言本身就面临很大挑战,即使是 WHO 官方翻译的中文文件,有时我阅读起来都怪怪的,最后直接看英文,才能完全理解。这不仅是逐字翻译的问题,而是叙事习惯和结构的问题,这些方案和标准需要是易于理解和执行的。

另外,不同语言体系中,对特定专业词汇的解释会有细微差异,仅仅是找到相似的其他语言替代词并不足够,有时需要创建新的词组,以确保含义的一致性。与此同时,又增加了表述的复杂性。

有时我们会假定数据驱动的一些学科,是植根于新时代的理性产物,纯科学、非文化。但这种假设是被视野所局限的,忽略了文化背景特殊性。

传统人口学倾向于将数据生产看作一个线性、标准化的流水线。然而,实际上每个数据点的形成都更像是一个有机的、动态的生命周期。数据并非简单、重复性的工业产物,而是通过一系列的交易、经历和关系后形成的。这种观点挑战了简化数据处理为工业化生产的思维模式,强调了数据的复杂性。

不对等

在研究项目中,不同职能的工作者,如项目设计、数据收集、分析、传播,之间的权力关系是不对等的。以作者的非洲马拉维现场为例,研究者在处理数据的时候,会对马拉维当地的平均知识水平产生偏见,并将数据分析中遇到的困难,转嫁为数据采集的质量较差。

这些不对称在追求方法学严谨的数据时被放大,并在欧美主导项目的背景下,引出了种族、新殖民主义、城乡不对称等残留问题。每个维度都值得更多的讨论和研究,但这种复杂性有时会让人们望而却步。

礼物

现场调查者常会准备小礼品以助调研顺利,最初会选用糖,但袋装糖的成本较高,在高气温环境运输不方便,并会占据更多运输空间。另外,有些因摄入糖或食用油而生病的受访者会因此抱怨。

与之相似的是,现场工作人员拒绝赠送空水瓶。因为有孩子装水喝完,如果出事,会与村民关系恶化。

外来者本就会被警惕和观察,任何小问题都会被放大。

肥皂则是一个经过实践检验的最佳选择,简单、方便、干净。

但礼物这个概念本身就会引起不平等,因为同一项目的不同调查点可能有的发放礼物,有的没有。没有获得礼物的村民则会觉得不公平。

随机抽样也会造成,仅有被调查的人收到了礼物,形成幸运的内部人和不幸的外部人之间的不平衡。

这些方面都是我以前没有考虑到的,而确实是长期项目所需要关注的。

与当地人和谐相处,才能避免基层调查者和受访者的流失,保证回访的数据质量。

这几年翻译成中文的人类学书籍越来越丰富了,真不错!

剑玉 Kendama

作者 Dayu
2024年12月7日 17:21

剑玉(けん玉、Kendama),是一种源于日本或法国的民间游戏,由三皿一刺一绳一球组成。19 年的时候手痒买了一个,后来断断续续的玩着,越来越喜欢。

CleanShot 2024-12-07 at 17.02.49@2x.png

前几天在东京,特意去了涩谷附近的剑玉店,氛围很国际化,甚至店内是英文交流。一个老哥疯狂炫技,眼睛都要跟不上了。

各种异性、大型、小型的剑玉也让人目不暇接。东西很多,但价格略高,且我能接收的价位中,没有淘宝的选品看上去精致。

于是人处东京,淘宝激情下单,买了一款咖啡豆元素的国产剑玉。

这两天终于到手,比之前买的基础款稍大一些,枫木剑柄,白蜡木的球。黏性漆和稍大的大小皿,感觉更容易上手一些。线稍长,还需要一点时间适应。小缺点是剑柄和球上的文字有些多,如果都去掉,会更简约好看。

.png

这两年看电脑的时间太多了,需要一些不用眼的小活动,间歇性休息一下,剑玉就是很好的选择。

它的基础动作并不难,很适合和朋友一起体验。之前去露营的时候,我带了剑玉和飞盘,挺欢乐的。

目前我只能玩一些基础动作,连招对我来说还太难了,之后打算好好修炼一下!

❌
❌