summaryrefslogtreecommitdiff
path: root/content/weekly/15.md
blob: d827016cdef988ec1fdea67b2ea8bbe82c4e0f2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
+++
title = "稻草人周刊 Vol.15"
subtitle = "如何反驳"
description = "讨厌广告的原因、所有的说服都是自我说服、AI 与社会问题、自动继续时代、如何反驳"
tags = [
    "AI",
    "互联网文化",
    "经济学",
    "Web",
]
date = 2025-02-10T12:01:40
draft = false
toc = true
aliases = [ "/posts/weekly/稻草人周刊-vol-15/", "/posts/稻草人周刊-vol-15/", "/posts/weekly/15",]

+++

> [!note] 🔖
> 你正在阅读 [稻草人周刊](/categories/稻草人周刊/),一个读者的自述,每周一更新。

## 🏃 这周做了什么?

1. 我建立了一个 Telegram 群组,名为「418·亡者茶话会」,用作本博客的讨论群,[点此加入](https://t.me/teaparty418/)。你可以在这里分享有趣的书籍、文章、链接、项目等等,或者对本博客的内容进行讨论。我很期待能在这里发生一些有意思的讨论,如果可行,之后的周刊可能会增设一个「这周群里在聊什么?」的栏目。
1. 博客修修剪剪做了些更新。
   1. 添加了 [Pagefind](https://pagefind.app) 搜索功能,你可以在[所有文章页面](/posts/)和[分类页面](/categories/)使用
   1. 在[关于页面](/about/)添加了一个 Letterbird 表单,你可以直接在关于页面发送电子邮件给我
   1. 做了些减法
      1. 移除了首页的专栏和各种链接
      1. 页脚只在首页显示
      1. 在内容页用面包屑导航替代页眉

   1. 微调一些样式

1. 开始学习 Lua 语言和 Love2D 游戏引擎。[^2]

## 🔍 有趣的话题

### 讨厌广告的原因又增加了

> [!note] 📖
> 相关阅读:[Tracking Myself Down Through in App Ads](https://timsh.org/tracking-myself-down-through-in-app-ads/)

很多免费 App 为了盈利,会在应用内添加广告,最常见的应该是游戏里看广告复活或者奖励翻倍的设计。然而,在使用这样的 App 时,设备数据和很多个人信息会被发送给广告提供商和内容提供商,因为他们需要了解用户需求来推送适宜的广告。这些人有办法通过 ID 确定哪些请求产生自同一人。

在这些个人数据中,还包括比较敏感的位置信息,因为位置也是决定推送什么广告的考虑因素。这篇文章的在梳理清楚个人数据通过广告流动的方向后,通过监控网络流量查看发送给广告商的数据,成功地用广告找到了自己的位置。他发现,**如果你一直使用有这些广告的 App,他们甚至能跟踪你五秒前的位置**。

开发者并不知情,没有参与这些隐私数据的收集和售卖,他们只是安装了广告商的 SDK。在 iOS 中设置**要求 App 不跟踪**,也只是隐藏了一个全局 ID 的共享,信息难以跨应用、跨开发商共享而已,你的隐私信息依然被暴露了。

如此一来,广告就不只是吵眼睛了,还是一个巨大的隐私安全隐患。个性化对用户来说没有好处,只能让广告商赚更多的钱。在选择 App 时,应该尽量用好用的开源软件或者付费 App 代替有广告的免费 App 以获取更好的体验;如果技术允许,你也可以使用能够拦截广告的 DNS 服务器,阻止与广告商的服务器建立连接。

不过,用户也要意识到,自己没法完全避免个人信息泄露,要接受事实。

### 所有的说服都是自我说服

> [!note] 🔉
> 相关播客:[来都来了 No.222](https://podcasts.apple.com/cn/podcast/%E6%9D%A5%E9%83%BD%E6%9D%A5%E4%BA%86-%E5%90%AC%E4%BA%86%E5%86%8D%E8%B5%B0/id1512932915?i=1000687908734)

在这期播客最后,嘉宾提出了一个我认为很有意思的观点——所有的说服都是自我说服。他指出,说服其实不是让人相信某个东西是真的,而是让人相信某个东西和他早就相信的一个东西是同一个东西。

### AI 聊天界面不是好的编程工具

> [!note] 📖
> 相关阅读:[Chat is a bad UI pattern for development tools](https://danieldelaney.net/chat/)

作者认为,用 LLM 编程、创造软件的现有问题在于,聊天界面并不适合用来描述软件。软件就像法律条文,而不是像散乱的、没有语法结构的聊天语句。

作者认为下一代的 AI 编程,应该是通过精心编写的**文档**生成软件,真正地将**人类语言**作为一种编程语言。

### AI 让我变成文盲程序员

> [!note] 📖
> 相关阅读:[AI Illiterate Programmers](https://nmn.gl/blog/ai-illiterate-programmers)

自己写代码的时间变少了,编程能力下降是自然的,这很好理解。作者指出,他的情绪也受到了影响,以前,解决新问题是编程的乐趣,而现在,如果 AI 不能在五分钟内给出解决方案,他就会感到沮丧。我深有同感。

完全放弃 AI 编程有些激进,作者的打算是,每周实行一天「无 AI 日」。

[科技爱好者周刊 Vol.336](https://www.ruanyifeng.com/blog/2025/02/weekly-issue-336.html) 下的评论中有人指出,AI 似乎带来了很多负面情绪,这可能不是 AI 的问题,而是社会问题。就算你不是程序员,但习惯了在生活中使用 AI,我想你也可以尝试在固定时间里限制自己使用 AI,看看你的生活会有什么不同。

### 「自动继续」时代

> [!note] 📖
> 相关阅读:[The Era of Tab Continuation](https://allenpike.com/2025/tab-continuation-completion)

大部分人应该都在编辑器里使用过「Tab 补全」这个功能,输入前几个字符,编辑器就会预测你要输入什么词,按下 Tab 键就可以自动补全。这篇文章的作者指出,如今 AI 已经能通过更多的输入、更准确地预测做个下一步的行动,预测结果已经不局限于补全一个词、一句话,而是能够自动书写很长一段内容,尤其是编程时自动编写代码。

作者的观点是,未来很有可能是 Tab Continuation 的时代。一些大科技公司会构建跨 App 甚至跨平台的预测补全功能。和 Tab 补全一样,Tab Continuation 会更规范化,甚至会有独立的产品供开发者使用。

### 如何反驳

> [!note] 📖
> 相关阅读:[How To Disagree - Paul Graham](https://www.paulgraham.com/disagree.html)

硅谷创业之父 Paul Graham 的文章,很难想象这是 2008 年的内容,其中的许多观点放在如今的互联网上也非常受用。我认为在互联网上与人交流的人都需要读一读 Paul Graham 的理论。

文章将反对(Disagreement)分为六个层级。

- DH0. Name-calling(骂人)
- DH1. Ad Hominem(人身攻击)
- DH2. Responding to Tone(回应语气)
- DH3. Contradiction(简单矛盾)
- DH4. Counterargument(反方论述)
- DH5. Refutation(驳斥)
- DH6. Refuting the Central Point(驳斥中心点)

层级越低,越不理智,越不能被视作好的反对言论。Paul Graham 认为最好的反驳应该是 DH6,要尽量不带情绪地驳斥对方的中心点。常见的格式是这样的:

> 作者的主要论点似乎是 ……,他是这样写的:
>
> > (引用)
>
> 但这是不对的,因为 ……

中心点不一定是主要观点,也可以是对方论述的基石。

不过,反对不能是为了反对而反对,不是带有攻击性的。反对是因为评论者自己真的有不认可的观点,想要与作者交流,而不是为了把对方击垮。这篇文章里还有很多充满智慧的言词,建议大家都去读一读原文。

## 💡 新知复盘

### 自我羊群效应

这一概念由行为经济学家 Dan Ariely 及其团队首次提出。

「羊群效应」指人们跟随多数人所作出的决定而行动,而「自我羊群效应」指人们跟随自己先前已经做过的决定和最初的印象而行动。

这和本期周刊前面的「所有的说服都是自我说服」串联了起来,说服就是利用对方的已有印象,让对方想要去做一件新的事情。

### CI/CD

~~是的,敲了这么久的代码还没学过这个概念,学校也不教啊(~~

CI 指 Continous Integration(持续集成),指在**开发阶段**不断地把新代码合并到主分支,通常包括编译、自动化测试和质量检查等步骤。

CD 分两个部分,指 Continous Delivery(持续交付)和 Continous Deployment(持续部署)。持续交付指通过 CI 检查后,将代码打包并部署到预生产环境;持续部署指,通过 CI/CD 之后,手动或自动将改动部署到生产环境。

GitHub Actions 就常常被用来做 CI/CD。如果你使用 Vercel 和 Cloudflare Pages 这类的部署平台,你的网站在上线之前也会自动运行 CI/CD。

### JavaScript Temporal

JavaScript 中的 Date 对象是从旧的 Java 中复制粘贴的,API 设计有缺陷。Java 在之后解决了 Date 对象的很多问题,但 JavaScript 30 年来一直没有修复。JavaScript 开发者不得不使用一些第三方库来处理时间日期。

现在,一个新的 API 即将改变 JavaScript 中处理时间日期的方式,这个对象叫做 Temporal,可以完全取代 Date。Temporal 能够计算持续时间,处理时间点(有时区或没有时区)、时间戳,获取当前时间,处理不同历法。

Temporal 目前还在测试阶段,拭目以待吧。

## 🗣️ 碎碎念

- 写的怪谈作品被做成[视频](https://www.bilibili.com/video/BV1HJFre3EPA/)了,好开心!

- 塔罗牌里的星币九有点像各种意义上的修剪花园,比如收拾房间、修改博客主题…… 并且在修建过程中不会抓狂,能达到一种自洽的状态。

- 周五早上一醒发现已经是上班时间,本想着已经迟到了那就不慌了吧,结果学生打了个视频电话问我,这下不得不立刻出门了。因为前一天收到一个破损的包裹要退货,于是中午骑车去驿站,结果一看学校放假期间,驿站要下午一点才开门,来早了半个小时(隔壁驿站都知道把营业时间写 App 上你怎么不改啊,可恶),带着包裹回去的时候又在路口摔了一跤,旁边还有两个阿姨盯着看…… 回去一看,今天的日运是「命运之轮」的逆位,没想到会以这么直接的倒霉显化出来。

- 我发现抽每日运势并不一定会导致「自我实现的预言」,反而会有适当的外归因让我感到自洽。比如周五那天的破事本来足够我郁闷一下午了,看到日运是命运之轮逆位的那一刻,觉得合理,反而心态变好了。

- 这期周刊 AI 含量似乎有点高。

- 最烂的一局 Wordle,这一个词要猜四次也太倒霉了[^1]

![](https://img.eltr.ac/uPic/2025/02/image-20250203213047653.png "SHAME it is")

## 🐈

发现一个乐评博主,在翻他的视频时无意发现他有一块和我一样的桌布。

![](https://img.eltr.ac/uPic/2025/02/PixPin_2025-02-07_22-59-12.png)

[^1]: 虽然明明排除了 R 还要猜 Share 确实是我的问题🥹
[^2]: ~~蛇年学的第一门新编程语言居然不是 Python~~