普通视图

发现新文章,点击刷新页面。
昨天以前Another Dayu

你如何打包你的日常生活

作者 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,这是一个画板软件,免费功能基本够用,可以分享画板,并嵌入网页。

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

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

室内吸烟室

作者 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

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

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

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

迷失东京 Day 2 东京都写真美术馆和根津美术馆

作者 Dayu
2024年12月6日 12:32

东京都写真美术馆

买了两张票,一个是 Alec Soth 的个展,另一个是 The Gaze of the Present(日本当代摄影展)。

IMG_2409.jpeg

上一次看 Alec Soth 是在上海摄影艺术中心(SCoP),现在 SCOP 已经关门了,有些伤感。

这个展馆比 SCOP 大很多,内容也更丰富一些,但布展结构似乎没有 SCOP 那么自在,比较严肃传统。

日本当代摄影展则囊括了多名日本当代摄影师,小田黑惠美、菅野小百合、千贺健二、神奈川真吾、原田佑希。

二楼是购物区,有很多摄影书,看的很过瘾。

四楼则是图书馆,挺安静的,如果不是旅行,可以在这呆上一整天。

近几年,上海在艺术展布展方面越来越棒了,比如 Fotografiska、浦美、西岸美术馆。感觉以前上海的美术展会倾向于量大管饱,少了些对小而精的追求。Fotografiska 则有了一些新的尝试,票价也确实贵一些。

日本商业和艺术结合的会更紧密,很多小型艺术展都在商区之内,且质量很高。上海 k11 也有类似的规划,但还是少了些。看着西岸附近规划逐渐成熟,感觉以后类似的尝试会越来越多。

IMG_2410.jpeg

根津美术馆

隈研吾操刀,竹木墙外是表参道,闹中取静,选品和光线都很细腻。

展馆外有很大一片庭院,枫叶季美极了。

单论观展体验可能是这次日本之行中最好的。

IMG_2415.jpeg

结束

逛完根津美术馆,就要回国了,下次想去神保町逛逛。

目前使用的自托管服务

作者 Dayu
2024年12月6日 09:52

趁着黑五,新购置了配置高些的 VPS。折腾一番后,整理了目前自托管的服务。

第一个 VPS (Bandwagon)托管了 2 个项目 wordpress(建站) 和 Umami(数据统计),保持全球稳定的线路,和博客的稳定性:

第二个 VPS(Racknerd) 托管了 11 个项目:

  • Freshrss,RSS 阅读器,目前还安装了两个扩展:TranslateTitlesCN(谷歌翻译标题) 和 Auto Refresh(自动刷新)。日常我会使用 Reeder 登录 freshrss 账号阅读。Freshrss 因是网页端的,所以也很适合配合 immersive translate 使用。
  • wewe-rss,生成微信公众号订阅源,实际使用还挺稳定的,最后订阅了 27 个微信公众号。
  • rsshub,为其他网站生成RSS源,自建的更稳定些。
  • RSS-Bridge,订阅部分 rsshub 无法订阅的内容。本想用来订阅 instagram,但不稳定。不过功能确实挺强,便留下观察。与rsshub有很多互补之处,比如 rsshub 如果要订阅 telegram channel 比较复杂,RSS-Bridge 目前则比较简单。经费充裕的话,可以尝试 thefeedreaderbot,使用 webshare 的动态代理 ip,能够躲过 Block.
  • AdGuardHome,DNS 去广告服务,配合浏览器插件uBlock Origin,效果很好。
  • n8n,工作流自动化平台。
  • calibre-web,在线电子书库管理系统。
  • laber,跨越付费墙。
  • FileCodeBox,文件分享。
  • qBittorrent Web UI,BT 下载客户端的 Web 界面,可以远程管理和控制BT下载任务。
  • NextChat,以前叫 ChatGPT-Next-Web,ChatGPT 网页端界面,专门部署给家人使用。

更多自部署软件可参考:awesome-selfhostedTop 3 BEST applications you’ve decided to self-host? 。想轻量级省心的可以试试 YunoHost

个人倾向于将关键的非隐私类文件托管于信誉较好的大平台,如 Dropbox 和 1Password,所以没有使用自托管云盘和密码软件。

迷失东京 Day 1 Saul Leiter、FUJIFILM、安藤忠雄、Banksy 和 YOSIGO

作者 Dayu
2024年12月5日 16:59

Beauty in the Overlooked Ordinary

Saul Leiter 是我开始街头摄影时就喜欢的摄影师,《All about Saul Leiter》则是我买的第一本摄影书。

没有提前计划,来东京前一天搜展讯的时候,搜到了它,这就是缘分。

Art Cruise Gallery 是商场里的一个小小的展区,几分钟就能逛完。好在经典的几张作品都在,免费的展,也不能期待太多。

出门时买了《Forever Saul Leiter》,一红一黄,凑齐了两本。

IMG_2366.jpeg

FUJIFILM

上海富士 XSpace 是我很喜欢的去处,来东京之后没有找到同名的空间,但找到了富士旗舰店—六本木的 FUJIFILM SQUARE。

一进门是富士、滨田英明和迪士尼合作的特展,日式小清新的风格,主角是米奇米妮。比较商业化的主题,头套模特,很难捕捉到其中的情绪,感觉没有挖掘出滨田英明的优势。往里走有富士老相机的展柜和一组老照片特展,还有现售相机的陈列柜。

感觉还是国内的 XSpace 经营的更细腻一些,空间更大,讲座和活动也更多。

IMG_2355.jpeg

Pooploop

FUJIFILM SQUARE 隔壁是三得利美术馆,但当下主题不是很感兴趣,就直接去了安藤忠雄设计的 21 21 design sight,灵感来源与三宅一生,也算是梦幻联动。

经典的清水混凝土风格和公园融为一体,70%空间隐匿于地下。

门票是一张蓝色的贴纸,刚好和我那天的外套一个颜色,喜欢这种淡淡的巧合。

展览名称是 pooploop,与排泄、废物、发酵、循环等相关,恰好是我很感兴趣的领域。布展质量很高,逛起来也舒适。

小缺点是展馆太小,不尽兴。

逛完之后,在公园里坐了很久,享受了那本《Forever Saul Leiter》。

秋冬交际之时,东京的天气真是很舒服,站起来伸个懒腰继续逛。

IMG_2374.jpeg

THE NATIONAL ART CENTER, TOKYO

出了 21 21 design sight,稍走10分钟,就是国立新美术馆。

一楼的两个展有很鲜明的对照,一个是大学生群展,另一个是个人艺术家的群展。

个人艺术家那边,每个展位个性都很鲜明,逛得眼花缭乱。

大学生那边则是整齐的平面海报设计,逛起来舒适度高一些。个人对更喜欢大学生那边鲜活的力量感,和偏近现代的风格。

个人感觉群展多,也说明当地艺术生态很健康,喜欢这种热闹的感觉。

Banksy

去看 YOSIGO 的路上,刚好遇到了一个小小的 Banksy 个展。

Banksy 是一位匿名的英国涂鸦艺术家。年初的时候刚好去了他的故乡布里斯托,看了几幅他的街头涂鸦。

感觉冥冥中与他有些缘分,就逛了下。

3幅画 + 一段视频 + 一个标志性的红气球,300日元。价格算不上贵,但内容是真的有点少。

YOSIGO

YOSIGO 就在 Banksy 的楼上,是我喜欢的风格。

西班牙摄影师,喜欢捕捉地中海沿岸的风景和人文场景。

内容很丰富,有多个分区,拍摄对象各有不同,但艺术风格是统一的。

门票刚好和我的钱包同一颜色,一天之后有两次类似的巧合,让人心生愉悦。

IMG_2393.jpeg

如果你近期在东京想逛展,我会推荐:21 21 design sight – Pooploop 和 YOSIGO。

这两个布展质量都很高,逛得很享受。

那些脱口而出的思考

作者 Dayu
2024年12月5日 15:02

0

前几天和朋友谈起自己性格上的一些转变。

提到「表达自己想吃什么」,这一点,对我而言很重要。

说出这句话时,我其实也没有想清楚。

1

以前跟朋友出门玩或吃饭,我都会说随便,但我真的不在意吗?

那不是在谦让,也非在讨好。

实际上,我似乎觉得我的观点不重要,「自己也不重要」。并让自己变得能够尽可能适应身边的环境,让自己的口味尽可能随便,有更高的包容度。

害怕给他人带来麻烦,担心自己的选择会被否定。我在逃避选择的责任,逃避可能的冲突,逃避表达后的不确定感。

这对我而言,这意味着一种安全感。

我不是没有观点,而是害怕有自己的观点。

表达自己想吃什么,其实代表我开始认为「自己是重要的」,是值得被自己,被身边的人认真对待。

当我开始表达自己的需求和偏好时,实际上是在肯定自我存在的价值。

2

知道自己想吃什么,也很重要。

这意味着,开始认真对待内心的声音,与自己的感官和情绪建立连结,耐心观察每一个微小的需求。

记日记和写博客之后,感觉我越来越能理解自己,了解自身的喜好。

「自我人类学」是很好的实践模版。作者以人类学的视角观察和分析自己的生活,在个人田野笔记中捕捉即时的思想和情感,播下自我发现的种子。

写作和觉察相辅相成,帮助我们在生活中,一点一滴地找回与自己对话的能力。

3

当你真诚地面对生命,不再逃避,不再妥协。

你会发现,你即是你的思绪,你的恐惧,你的习性。没有一个独立于此的「你」在改变自己,观察者即是被观察的对象,你就是这个世界本身。

祝好,

我的朋友们。

Calibre-web 数据库路径和下载权限 500 Internal Server Error 问题

作者 Dayu
2024年11月25日 14:23

最近用 Docker 搭建了 Calibre-Web(书籍管理阅读平台),出现了一些问题,以下是解决方案。

Calibre 数据库路径

先是进入网页界面中,需要填写 Calibre 数据库路径,该路径需要进入 Docker 容器内部,创建数据库,并添加写入权限。

先查看容器内目录结构,并进入 bin。

docker exec -it calibre-web sh

ls /

cd bin

创建一个空的数据库。

calibredb add --empty --with-library /books

如果上面的命令成功,则设置正确的权限。

chmod -R 777 /books

初始化数据库。

calibredb add --empty --with-library /books

退出容器。

exit

OPDS

支持 OPDS 的阅读器,能更方便的下载和阅读 Calibre-web 中的书籍。

OPDS link 的正确格式是:http(s)://username:password@ip/hostname:port/opds

ip/hostname:port,也可以是网站域名。

iOS 中推荐 Cantook

CleanShot 2024-11-25 at 14.15.29@2x.png

下载权限问题

在绑定 OPDS 阅读器的时候,我发现无法正常下载书籍,网页版也有相同问题,但仍可以阅读。报错:500 Internal Server Error。

这部分报错是比较新的问题,在 Github issue 中找到了解决方案。与 PUID/PGID 相关,应使用运行 Docker 的用户的 ID,这样可以确保容器内外的权限一致。

重新回到 docker-compose.yml 中,将这两者都设为 1000,再重启 docker 即可解决。

services:  
  calibre-web:    
    environment:      
      - PUID=1000      
      - PGID=1000

2024年的付费墙

作者 Dayu
2024年11月25日 11:55

免责声明:本文仅用于教育目的。作者不认可或鼓励任何不道德或非法活动。使用此工具的风险由您自行承担。

12ft 是一个帮助用户绕过在线付费墙的插件,2023年被投诉下线之后,这些可以作为替代品:

考虑到工具的稳定性和长期性,我日常使用的是 Webpage archive 、自托管的 Ladder 和 Ublock origin(Firefox版)。

目前使用的 WordPress 插件

作者 Dayu
2024年11月24日 15:59

以下是我目前使用的WordPress插件,共 11 个:

  • UpdraftPlus,核心备份插件,免费版支持定期备份到 Google Drive。近期迁移了一次,安装好WordPress和该插件,再关联一下 Google 账号即可备份成功,体验很好。
  • Blocksy 主题 + 插件,目前在使用的主题,免费版够用,可自定义选项多,颜值高。
  • Polylang,多语言插件,免费版功能齐全,中英文界面可同时 SEO 索引,增强博客覆盖面。
  • Antispam Bee,屏蔽广告评论。
  • Post SMTP,邮件发送插件,更简单的配置 SMTP。
  • Wenprise Better Emails,提供邮件模板,美化邮件。
  • WP Super Cache,网站缓存插件,提升网站加载速度。
  • WPS Hide Login,安全插件,可以自定义WordPress登录页面URL。
  • Rank Math SEO,SEO 优化插件,增强搜索引擎可见度。
  • Meow Gallery,图片画廊插件。
  • Juicer,社交媒体聚合插件,能为国内用户展示 Twitter 时间线。

目前已有足够的舒适度,之后会偏重稳定性,于是关闭了插件和主题的自动更新。除了安全性更新,尽量不动。

除了 Blocksy,都用的免费版。但 Blocksy 其实也没用到几个付费功能,只是比较喜欢,且长期使用,支持一下。

在 Jack 的帮助下,最近管理面板换成了 1Panel,舒适度比 AMH 要高一些,操作也更简单。

截图留念!

CleanShot 2024-11-24 at 15.52.48@2x.png
❌
❌