MoreRSS

site iconDayu | 大宇修改

喜欢写博客和摄影,喜欢折腾服务器、体验数码产品、看书、看剧。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Dayu | 大宇的 RSS 预览

那个从不看球的人开始看球

2026-07-07 03:57:00

过去几十年,我大概只凑热闹看过个位数场次球赛,但最近天天看赛程,期待着晚上看球。

时差是一个很重要的原因。在欧洲看世界杯,大多数比赛都在下班后,偶尔才需要熬夜。

最初的是苏格兰闯入世界杯,想支持一下。对来自格拉斯哥的罗伯逊印象很深,看了很多他和利物浦的故事。

后来又想,既然自己人在英格兰,那也看看英格兰吧。于是看了两场英格兰的比赛,开始留意哈利·凯恩和赖斯。

小红书也算是一个契机。今年它买了世界杯转播权,所以一直给我推送相关视频。那段时间,我刷到了很多哈兰德的表情包和集锦,自然而然地开始看挪威队的比赛。

就这样,看的比赛慢慢多了起来。

看葡萄牙对克罗地亚的时候,我开始了解莫德里奇,那个从战火中走出来的中场大师。

看法国队比赛的时候,我认识了坎特。那个和球队气质有些格格不入的人。务实、低调,却在球场上无处不在。也是从他开始,我才慢慢注意到,足球并不只是前锋和进球,还有中场、后腰、防守、覆盖和拦截。

看佛得角和阿根廷的时候,和朋友们不由自主的鼓掌恍惚,感觉隔壁邻居都能听到。难得熬夜看球,看的热血沸腾,真精彩啊。

佛得角其实不只是门将出色,只是他比较显眼。佛得角的阵型布置和高效的回防效率,压缩了对手的进攻空间,但他们也从不放弃进攻的可能性。这种教练和球员的决心和执行力才是这个球队最大的魅力

追着这些球员和球队的轨迹,我又看了很多纪录片和集锦。慢慢意识到,自己也许并不是单纯喜欢看球,而是喜欢故事。

而绿茵场上,最不缺的就是故事和传奇。

在现场见证故事发生,是一种无以伦比的诱惑和乐趣。

很多平时不看球的人会看世界杯,除了比赛本身好看,可能还有一个原因:它让人短暂地进入一种全球共同关注、共同记忆、共同感动的氛围里。

在同一个夜晚,世界上许多陌生人一起等待、紧张、欢呼、遗憾。哪怕我并不是一个真正懂球的人,也会被这种共同经历打动。

也许这就是世界杯的魅力,一种独特的浪漫。

Plog 7 乱序生活

2026-07-06 03:45:00

英国的盛夏,热的睡不着,结果隔壁养老院着火了…

好久没去动物园,还挺开心的。

Cotswolds 的微缩小镇,在 Bourton-on-the-Water 闲逛是真的很舒服,不愧为英国最美乡村。

玛莎和 Kew Garden 联名的饮料,好喝!

第一次看到这么小的南瓜。

意料之外好吃的薯片,特别上头!

落日的美好,照片拍不出。

划了次船,一直在转圈圈,最后腰酸背痛。

一直想玩一次万智牌,看到有降世神通版的新手套装,忍不住入手了。

御三家(万智牌、游戏王、宝可梦)里,我会喜欢万智牌的美术和质感。但宝可梦卡牌买的最多,对战视频游戏王看的最多,日常炉石玩的最久。

呵,男人!

真杂啊,忍不住吐槽自己。

附近公园里一颗奇怪的树。

买了 Meta 和雷朋联名的智能眼镜,挺有趣的,但日常佩戴还是略重。等体验几个月之后,应该也会写一篇博客。

卡卡颂可能是我这两年最喜欢的桌游之一。美术做的很舒服,喜欢这种拼图类的。

玩法没有很强的对抗性,但又有足够的策略性,很有趣。

这套西游记的侧封真漂亮。

新买的杯子,喜欢!

这一年弄碎了两个喜欢的杯子,不知道这个能坚持多久…

闪现巴黎!

Flan 应该是我在法国最喜欢的甜点,焦糖表层,内馅大量的香草籽,配上解腻的饼皮,真好呀。

人群之中的那抹微笑。

巴塞罗那的圣家堂是真的震撼呀。

卢浮宫JoJo周边,太酷啦!

格鲁吉亚美食卡里饺。

还是更喜欢小笼包,想回国了。

家里的新成员 Henry!

没想到第一次看万青是在伦敦。

喜欢这件短袖,求链接!

预约半年之后,Analogue Pocket 终于到了。

来的有些突然,还没把配件和卡带买好,希望下半年能腾出空来。

试着留了次胡子。

Bear Blog Theme: Vermilion

2026-07-05 05:47:00

最近给博客换了一套适配 Bear Blog 的自制主题,取名 Vermilion(朱砂)。

正文用衬线字体窄栏排版,行距放宽,适合中英文混排阅读,背景模拟了泛黄旧书的质感。

截图留念:

完整 CSS:

/* ============================================================  
   Vermilion — Bear Blog theme from https://anotherdayu.com/  
   Eggshell-gray paper / ink text / cinnabar seal accents / narrow airy column  
   Usage: paste into Dashboard → Themes → Edit theme CSS  
   ============================================================ */  

:root {  
  --paper: #f4f3ef;        /* Sketch paper: cool-toned eggshell gray */  
  --ink: #2d2b28;          /* Ink: warm gray-black, not pure black */  
  --ink-soft: #6e6a63;     /* Secondary text: dates, footer */  
  --cinnabar: #a6392e;     /* Cinnabar: seal red */  
  --hairline: #dcd8d0;     /* Thin divider lines */  
  --code-bg: #eceae4;      /* Code blocks: half a shade darker than the paper */  
  /* Paper grain: SVG noise, faint dark speckle in light mode */  
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)'/%3E%3C/svg%3E");  
}  

@media (prefers-color-scheme: dark) {  
  :root {  
    --paper: #242220;      /* Night paper: warm gray-black */  
    --ink: #d8d4cb;  
    --ink-soft: #8f8a80;  
    --cinnabar: #cf6a58;   /* Cinnabar brightened one step */  
    --hairline: #3b3833;  
    --code-bg: #2e2b28;  
    /* Switch to faint light speckle so grain stays visible on a dark base */  
    --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)'/%3E%3C/svg%3E");  
  }  
}  

/* ---------- Base typography: narrow, airy column ---------- */  

body {  
  background-color: var(--paper);  
  background-image: var(--grain);   /* Overlay the paper grain texture */  
  color: var(--ink);  
  font-family: Georgia, "Iowan Old Style", "Noto Serif SC",  
    "Source Han Serif SC", "Songti SC", SimSun, serif;  
  font-size: 1.125rem;  
  line-height: 1.9;  
  max-width: 650px;  
  margin: 0 auto;  
  padding: 2.5rem 1.5rem;  
  -webkit-font-smoothing: antialiased;  
  overflow-wrap: break-word;        /* Long URLs / words won't break the narrow layout */  
  -webkit-text-size-adjust: 100%;   /* Prevent font inflation on mobile landscape */  
}  

p {  
  margin: 1.4em 0;  
}  

/* ---------- Blog title: a cinnabar seal as the signature ---------- */  

.title h1 {  
  font-size: 1.5rem;  
  font-weight: 600;  
  letter-spacing: 0.04em;  
  color: var(--ink);  
  display: inline-block;  
}  

/* Signature element: small cinnabar seal square after the title */  
.title h1::after {  
  content: "";  
  display: inline-block;  
  width: 0.55em;  
  height: 0.55em;  
  margin-left: 0.45em;  
  background: var(--cinnabar);  
  border-radius: 1px;  
  vertical-align: baseline;  
}  

.title h1 a,  
.title h1 a:visited {  
  color: inherit;  
  text-decoration: none;  
}  

/* ---------- Nav: small quiet text, no divider ---------- */  

nav {  
  font-size: 0.9rem;  
  letter-spacing: 0.05em;  
  margin-bottom: 2.5rem;  
}  

nav a {  
  color: var(--ink-soft);  
  text-decoration: none;  
  margin-right: 1.2em;  
}  

nav a:hover {  
  color: var(--cinnabar);  
}  

/* ---------- Heading hierarchy: distinguished by size and weight ---------- */  

h1, h2, h3, h4 {  
  line-height: 1.5;  
  letter-spacing: 0.02em;  
  margin-top: 2.2em;  
  margin-bottom: 0.6em;  
}  

h1 {  
  font-size: 1.6rem;  
  font-weight: 700;  
}  

h2 {  
  font-size: 1.3rem;  
  font-weight: 600;  
}  

h3 {  
  font-size: 1.05rem;  
  font-weight: 600;  
}  

/* ---------- Links: thin cinnabar underline ---------- */  

a {  
  color: var(--ink);  
  text-decoration: underline;  
  text-decoration-color: var(--cinnabar);  
  text-decoration-thickness: 1px;  
  text-underline-offset: 3px;  
}  

a:hover {  
  color: var(--cinnabar);  
}  

/* ---------- Post list: alignment as separation — two columns and whitespace, no divider lines ---------- */  

.blog-posts {  
  list-style: none;  
  padding: 0;  
}  

.blog-posts li {  
  display: flex;  
  align-items: baseline;  
  gap: 1.2em;  
  padding: 0.3em 0;  
}  

/* Fixed-width dates form a tidy left column; titles align into the right column */  
.blog-posts li span {  
  flex-shrink: 0;  
  min-width: 6.5em;  
  font-size: 0.85rem;  
  color: var(--ink-soft);  
  font-variant-numeric: tabular-nums;  
}  

.blog-posts li a {  
  text-decoration: none;  
}  

.blog-posts li a:hover {  
  color: var(--cinnabar);  
}  

/* ---------- Tags: no underline, quiet gray text ---------- */  

.tags a {  
  text-decoration: none;  
  color: var(--ink-soft);  
  font-size: 0.85rem;  
}  

.tags a:hover {  
  color: var(--cinnabar);  
}  

/* ---------- Blockquote: cinnabar left rule ---------- */  
blockquote {  
  margin: 1.6em 0;  
  padding: 0.2em 0 0.2em 1.2em;  
  border-left: 2px solid var(--cinnabar);  
  color: var(--ink-soft);  
}  

/* ---------- Horizontal rule ---------- */  

hr {  
  border: none;  
  border-top: 1px solid var(--hairline);  
  margin: 2.5em auto;  
  width: 60%;  
}  

/* ---------- Code ---------- */  

.highlight, .code, pre, code {  
  font-family: "SF Mono", Menlo, Consolas, "Sarasa Mono SC", monospace;  
  font-size: 0.88em;  
  background: var(--code-bg);  
  border-radius: 3px;  
}  

code {  
  padding: 0.15em 0.4em;  
}  

pre {  
  padding: 1em 1.2em;  
  overflow-x: auto;  
  line-height: 1.7;  
  border: 1px solid var(--hairline);  
}  

pre code {  
  padding: 0;  
  background: none;  
}  

/* ---------- Images and tables ---------- */  

img {  
  max-width: 100%;  
  border-radius: 2px;  
}  

table {  
  border-collapse: collapse;  
  width: 100%;  
  font-size: 0.95em;  
}  

th, td {  
  padding: 0.5em 0.8em;  
  border-bottom: 1px solid var(--hairline);  
  text-align: left;  
}  

th {  
  font-weight: 600;  
  border-bottom-width: 2px;  
}  

/* ---------- Sub-headings (h2/h3): gray # prefix; h1 and blog title stay clean ---------- */  

.post h2::before,  
.page h2::before,  
.post h3::before,  
.page h3::before {  
  content: "# ";  
  color: var(--ink-soft);  
  opacity: 0.6;  
  font-weight: 400;  
}  

/* ---------- Post page: date under the title ---------- */  

.post time,  
time {  
  font-size: 0.85rem;  
  color: var(--ink-soft);  
  letter-spacing: 0.03em;  
}  

/* ---------- Inputs and buttons: search box, subscribe form ---------- */  

/* Covers the common #searchInput search plugin, native search/text inputs,  
   and the email field on the subscribe page */  
input[type="text"],  
input[type="search"],  
input[type="email"],  
#searchInput {  
  font-family: inherit;  
  font-size: 0.95rem;  
  color: var(--ink);  
  background: transparent;  
  border: 1px solid var(--hairline);  
  border-radius: 3px;  
  padding: 0.5em 0.9em;  
  width: 100%;  
  max-width: 100%;  
  box-sizing: border-box;  
  outline: none;  
  transition: border-color 0.15s ease;  
  -webkit-appearance: none;   /* Strip default iOS input chrome */  
}  

#searchInput {  
  margin-bottom: 1.5em;  
}  

input::placeholder {  
  color: var(--ink-soft);  
  opacity: 0.7;  
}  

/* Focus: the border wakes up in cinnabar, echoing the link underlines */  
input[type="text"]:focus,  
input[type="search"]:focus,  
input[type="email"]:focus,  
#searchInput:focus {  
  border-color: var(--cinnabar);  
}  

/* Remove the default clear (x) button so the field stays quiet */  
input[type="search"]::-webkit-search-decoration,  
input[type="search"]::-webkit-search-cancel-button {  
  -webkit-appearance: none;  
}  

button:not(.upvote-button),  
input[type="submit"] {  
  font-family: inherit;  
  font-size: 0.9rem;  
  letter-spacing: 0.03em;  
  color: var(--ink-soft);  
  background: transparent;  
  border: 1px solid var(--hairline);  
  border-radius: 3px;  
  padding: 0.45em 1.2em;  
  cursor: pointer;  
  transition: color 0.15s ease, border-color 0.15s ease;  
}  

button:not(.upvote-button):hover,  
input[type="submit"]:hover {  
  color: var(--cinnabar);  
  border-color: var(--cinnabar);  
}  



/* ---------- Footer ---------- */  

footer {  
  margin-top: 3.5rem;  
  padding-top: 1.2rem;  
  border-top: 1px solid var(--hairline);  
  font-size: 0.85rem;  
  color: var(--ink-soft);  
}  

footer a {  
  color: var(--ink-soft);  
}  

/* Hide the "Made with Bear" attribution (the last span in the footer).  
   Note: only allowed for paid Bear accounts or contributors —  
   free accounts hiding it will get their styles reset by the platform. */  
footer span:last-child {  
  display: none;  
}  

/* ---------- Mobile ---------- */  

@media (max-width: 600px) {  
  body {  
    padding: 1.4rem 1.1rem;  
    font-size: 1.05rem;  
    line-height: 1.85;  
  }  

  /* Scale the heading hierarchy down one step so narrow screens don't feel crowded */  
  .title h1 { font-size: 1.3rem; }  
  h1 { font-size: 1.35rem; }  
  h2 { font-size: 1.15rem; }  
  h3 { font-size: 1.05rem; }  

  h1, h2, h3 { margin-top: 1.8em; }  

  /* Enlarge nav tap targets for thumbs */  
  nav {  
    margin-bottom: 1.8rem;  
  }  

  nav a {  
    display: inline-block;  
    padding: 0.4em 0;  
    margin-right: 1.4em;  
  }  

  /* Post list: date wraps above the title, row spacing increases */  
  .blog-posts li {  
    flex-direction: column;  
    gap: 0.1em;  
    padding: 0.6em 0;  
  }  

  /* Tighter code-block padding, smoother horizontal scrolling */  
  pre {  
    padding: 0.8em 1em;  
    font-size: 0.85em;  
    -webkit-overflow-scrolling: touch;  
  }  

  /* Wide tables scroll horizontally instead of breaking the page */  
  table {  
    display: block;  
    overflow-x: auto;  
    white-space: nowrap;  
  }  

  hr { width: 100%; }  
}  


.upvote-count {  
  display: none;  
}  

.upvote-button:disabled::after {  
  content: 'liked!';  
}  

我的背包

2026-06-25 05:06:00

背包可能是除了电脑之外,我最看重的通勤装备。过去用的是 Bellroy,起了换包的念头,是因为几次大雨把包淋透之后,开始有点担心里面的电子产品。英国的雨来的太不讲道理。

新背包现在用了 10 个月,非常满意,是 21L 的 Able Carry Daily Plus。这个容量很适合通勤,不会显得臃肿,也足够放下日常所需。

它的外观比较内敛,但又与常规电脑包不同,没那么中规中矩,保留了一些辨识度。

我比较喜欢它的几个地方:

  • 用料扎实,电脑仓有离地间隙,能比较随意的放在地上。
  • X-Pac材料,防水。
  • 空包立体,不塌。这点很容易被忽视,不仅是为了外观好看。我的长期体验是硬挺、立体的包能把物品固定得更贴近背部,减少下坠和左右晃动,重心更稳定,所以背起来会稍微省力一些。
  • 肩带厚实,综合背负体验好。
  • 收纳位足够,快取袋很深,日常拿东西比较方便。
  • 隐藏式水壶仓,也可以放雨伞。背包外观比较整齐圆润。
  • 相比于 Aer,国内没那么多假货,能比较放心的在淘宝买。

主力设备是 MacBook Pro M2 Pro,偶尔会带上 iPad mini 看书。

因为更看重电脑防护,所以我没有选择轻量化背包,而是把减重放在内部收纳上。现在会尽量使用 Cuben Fiber 材料的小物件,既轻,也不太吸水,清理起来比较方便,还能多一道防水层保护电子产品。

  • EDC 小袋子
  • 下班后买菜用的购物袋。比起织物的购物袋,cuben 清理更方便,能比较放心的放一些海鲜和肉类。
  • 数码产品收纳袋
  • 餐具袋(一个叉勺)
  • 钱包(特别满意!可以塞卡、纸币和硬币)

一些小物件:

  • Leatherman 十合一工具剪
  • Kaweco Liliput Ballpoint Pen with Cap Black 圆珠笔
  • 人工泪眼滴液
  • WUBEN G5 Rechargeable Torch 手电筒,晚上回家有一些没有路灯的路段。 这款手电筒能挂在背包上,警示后方,也能挂在肩带上照亮前路,偶尔还能顶替自行车灯。 TypeC 充电口,很实用。
  • CNOC Outdoors ThruBottle 1000 户外水瓶,1L 刚好喝一天。
  • 运动围脖套和手套,冬天风大的时候很需要。
  • Snow Peak X JINS 磁吸夹片眼镜,配有磁吸墨镜夹片。
  • Patagonia Houdini jacket,轻薄,还轻度防雨。春秋换季的时候会随身携带。
  • EuroSchirm 风暴伞,据说能扛住英国的妖风。陪了我一年半之后还是报废了。

以前总想一包多用,既希望它能完美应对高频的日常通勤,又希望它能兼顾偶尔一次的短途旅行。为此我买过大包、小包,甚至还尝试过背着徒步包通勤。

后来才明白,我总是把低频需求想得太重要。一个包当然可以尽量多用,但它首先应该服务于最高频的需求,而不是偶尔出现的那一次旅行。

告别摄影

2026-06-24 01:08:00

期望

韩炳哲在《爱欲之死》里聊到:如果说有一样东西需要对当今社会日益频繁发生的「失望」负责,那么它不是不断升华的想象力,而是不断提高的期望值。

过去,人们先经历,再留下记忆和图像。现在,我们还没有真正进入一个地方,就已经在观看它最漂亮的样子:最好的光线,最干净的构图,最适合发布的角度。

经验反过来变成照片的生产过程。

现实

现实从来不是这样。

天气可能不好,街道可能杂乱,行人可能很多,展览可能普通,餐厅可能拥挤,人可能疲惫,关系也可能尴尬。这些并不是现实的瑕疵,而是现实原本的质地。

图像世界和网络会把这些东西过滤掉,留下「最好」的瞬间,传播那些易于展示和观看的一面。

所以我们真正拿来比较的,并不是现实和想象,而是现实的完整经验,和图像筛选之后的理想片段。

当现实的粗糙感被抹平,世界就像是说明书,不再体验,而是在核对;不再认真相处磨合,而是确认对方是否符合某个清单。

告别

摄影和其他艺术不同的地方也在于此。照片看起来最接近现实,却也最容易暴露现实的不可抵达。

摄影用最接近现实的方式,提醒我们现实无法被真正占有。

既像证据,又像告别。

中、日、英、法的摄影展馆

2026-06-23 18:58:00

这几年陆续去了几个摄影艺术中心:上海摄影艺术中心、Fotografiska、东京都写真美术馆、伦敦 The Photographers’ Gallery,以及巴黎 MEP。它们都以摄影为核心,但给人的感觉很不同。

上海

上海摄影艺术中心(SCOP)现在已经停业,是我摄影爱好的起点。在上海摄影和艺术市场还没那么蓬勃的时候,为爱好者们撑起了一片港湾,让更多人认识到摄影不仅是新闻、纪实、旅行… 又在西岸逐渐商业化成熟的时候,默默退出。

这种退场本身,也像是上海艺术生态变化的一部分。

它在上海的贵价平替,或许是苏州河边的 Fotografiska,有夜上海的感觉。展览、餐厅、酒吧、商店、灯光、社交氛围,尽在其中。它的布展确实一流,观展体验可能是这几个地方里最好的,灯光精致,空间细心,节奏也很顺。但它的票价和消费门槛,也让它和普通摄影爱好者之间拉开了距离。观战人群相对比较年轻潮流。

日本

东京都写真美术馆风格严肃传统,有一种系统性:收藏、展览、研究、历史,分门别类。观展人群也很丰富,各个年龄段都有,其中老年观众相对较多。

日本的摄影文化本来就深,这个展馆是成熟摄影艺术市场的模样,有大量本土摄影师的作品。它不需要急着证明摄影是不是艺术,因为这个问题似乎早已被社会接受了。

上海 SCOP 对很多摄影艺术爱好者来说更像是启蒙,Fotografiska 则是发展的必经之路,开始商业化,东京都写真美术馆则可能是未来中国摄影展馆的模样。它不那么精致,但有足够的沉淀,也与社会达成了共识::摄影是一种值得长期保存、研究和观看的艺术形式。

英国

The Photographers’ Gallery 在伦敦中心的一角,周围是商业、游客、剧院、咖啡馆和街头人流,可以在逛街、散步、喝咖啡之间走进去,看一组影像,然后带着思考回到街上。

我去过三次,感觉内容都很当代,共性是有「讨论感」,与公共社会议题结合的很紧密。

其中一次还看到了博客圈很知名的 Internet Phone Book。这本书收录了几百个个人网站,包括设计师、开发者、写作者、策展人和教育者… 用一种很慢、很旧式的方式,保存那些被平台和算法遮住的个人互联网。

法国

MEP(Maison Européenne de la Photographie),中文可以译为欧洲摄影之家。与东京都写真美术馆一样很系统完整,但给人的感觉不那么严肃,更放松舒适。它也没有试图讨论和启发些什么,几个策展都在淡淡的展示历史和现实。

它的视频摄影展是我这两年看过最喜欢的,不矫揉造作,故弄玄虚,静静的能看很久。

这种平和让我舒适,摄影不仅是一种视觉刺激,而是一个日常化的艺术形式,是一种需要被保存、研究、重读的现代文化。

我平时大多还是在亚洲和英语文化圈活动,MEP 的纪念品商店给了我不少惊喜,在那里看到了很多以前不熟悉的摄影集。

其中我最喜欢的是 Éric Tabuchi 和 Nelly Monnier 的《ARN / Atlas des Régions Naturelles》,于是买了其中一本。

ARN 是一个长期摄影档案项目,记录法国约 450 个“自然区域 / pays”。不像德国的类型学摄影那样清冷,它更松更杂,关心的是人们生活得日常,那些很难被旅游叙事命名的地方,如何构成一个国家的纹理。索引网站也做的很漂亮。