-
Notifications
You must be signed in to change notification settings - Fork 0
/
13-questions-test-your-ignorance.html
236 lines (164 loc) · 15.5 KB
/
13-questions-test-your-ignorance.html
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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
<!DOCTYPE html>
<html>
<head>
<!-- [[! Document Settings ]] -->
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- [[! Page Meta ]] -->
<title>13个问题测试你对这个世界的无知有多严重</title>
<meta name="description" content="与机器,人,神共舞 - 编程,读书,思考,旅行,与机器对话,与人交谈,对神发问,探索,体验人生美丽的风景" />
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="/assets/images/favicon.ico" >
<!-- [[! Styles'n'Scripts ]] -->
<link rel="stylesheet" type="text/css" href="/assets/css/screen.css" />
<link rel="stylesheet" type="text/css"
href="//fonts.googleapis.com/css?family=Merriweather:300,700,700italic,300italic|Open+Sans:700,400" />
<link rel="stylesheet" type="text/css" href="/assets/css/syntax.css" />
<!-- [[! Ghost outputs important style and meta data with this tag ]] -->
<link rel="canonical" href="/" />
<meta name="referrer" content="origin" />
<link rel="next" href="/page2/" />
<meta property="og:site_name" content="与机器,人,神共舞" />
<meta property="og:type" content="website" />
<meta property="og:title" content="与机器,人,神共舞" />
<meta property="og:description" content="编程,读书,思考,旅行,与机器对话,与人交谈,对神发问,探索,体验人生美丽的风景" />
<meta property="og:url" content="/" />
<meta property="og:image" content="/assets/images/cover1.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="与机器,人,神共舞" />
<meta name="twitter:description" content="编程,读书,思考,旅行,与机器对话,与人交谈,对神发问,探索,体验人生美丽的风景" />
<meta name="twitter:url" content="/" />
<meta name="twitter:image:src" content="/assets/images/cover1.jpg" />
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Website",
"publisher": "Tao's Page",
"url": "/",
"image": "/assets/images/cover1.jpg",
"description": "编程,读书,思考,旅行,与机器对话,与人交谈,对神发问,探索,体验人生美丽的风景"
}
</script>
<meta name="generator" content="Jekyll 3.0.0" />
<link rel="alternate" type="application/rss+xml" title="与机器,人,神共舞" href="/rss.xml" />
</head>
<body class="home-template nav-closed">
<div class="nav">
<h3 class="nav-title">Menu</h3>
<a href="#" class="nav-close">
<span class="hidden">Close</span>
</a>
<ul>
<li class="nav-home " role="presentation"><a href="/">Home</a></li>
<li class="nav-about " role="presentation"><a href="/about.html">About</a></li>
<li class="nav-fables " role="presentation"><a href="/tag/machine/">Machine</a></li>
<li class="nav-speeches " role="presentation"><a href="/tag/human/">Human</a></li>
<li class="nav-fiction " role="presentation"><a href="/tag/god/">God</a></li>
<li class="nav-author " role="presentation"><a href="/author/hetao/">Author</a></li>
</ul>
<a class="subscribe-button icon-feed" href="/vocab.html">Apps</a>
</div>
<span class="nav-cover"></span>
<div class="site-wrapper">
<!-- [[! Everything else gets inserted here ]] -->
<!-- default -->
<!-- The comment above "< default" means - insert everything in this file into -->
<!-- the [body] of the default.hbs template, which contains our header/footer. -->
<!-- Everything inside the #post tags pulls data from the post -->
<!-- #post -->
<header class="main-header post-head no-cover">
<nav class="main-nav clearfix">
</nav>
</header>
<main class="content" role="main">
<article class="post tag-god">
<header class="post-header">
<h1 class="post-title">13个问题测试你对这个世界的无知有多严重</h1>
<section class="post-meta">
<!-- <a href='/'>Tao He</a> -->
<time class="post-date" datetime="2021-04-22">22 Apr 2021</time>
<!-- [[tags prefix=" on "]] -->
on
<a href='/tag/god'>God</a>
</section>
</header>
<section class="post-content">
<p>在Factfulness这本书中作者一开头就抛出13个对事实认知的问题,以此测试读者对这个世界的认知,因为我已经读完了这本书,我觉得这些问题值得将其单列出来,有兴趣的可以做做这些测试题,文末附有答案,相信我你的成绩不一定好过大猩猩,问题列表如下:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
1. In all low-income countries across the world today, how many girls finish primary school?
A: 20 percent B: 40 percent C: 60 percent
2. Where does the majority of the world population live?
A: Low-income countries B: Middle-income countries C: High-income countries
3. In the last 20 years, the proportion of the world population living in extreme poverty has …
A: almost doubled B: remained more or less the same C: almost halved
4. What is the life expectancy of the world today?
A: 50 years B: 60 years C: 70 years
5. There are 2 billion children in the world today, aged 0 to 15 years old. How many children will there be in the year 2100, according to the United Nations?
A: 4 billion B: 3 billion C: 2 billion
6. The UN predicts that by 2100 the world population will have increased by another 4 billion people. What is the main reason?
A: There will be more children (age below 15) B: There will be more adults (age 15 to 74) C: There will be more very old people (age 75 and older)
7. How did the number of deaths per year from natural disasters change over the last hundred years?
A: More than doubled B: Remained about the same C: Decreased to less than half
8. There are roughly 7 billion people in the world today. Which map shows best where they live? (Each figure represents 1 billion people.)
9. How many of the world’s 1-year-old children today have been vaccinated against some disease?
A: 20 percent B: 50 percent C: 80 percent
10. Worldwide, 30-year-old men have spent 10 years in school, on average. How many years have women of the same age spent in school?
A: 9 years B: 6 years C: 3 years
11. In 1996, tigers, giant pandas, and black rhinos were all listed as endangered. How many of these three species are more critically endangered today?
A: Two of them B: One of them C: None of them
12. How many people in the world have some access to electricity?
A: 20 percent B: 50 percent C: 80 percent
13. Global climate experts believe that, over the next 100 years, the average temperature will …
A: get warmer B: remain the same C: get colder
</code></pre></div></div>
<p>Here are the correct answers:</p>
<p>1: C, 2: B, 3: C, 4: C, 5: C, 6: B, 7: C, 8: A, 9: C, 10: A, 11: C, 12: C, 13: A</p>
</section>
<footer class="post-footer">
<!-- Everything inside the #author tags pulls data from the author -->
<!-- #author-->
<!-- Add Disqus Comments -->
</footer>
</article>
</main>
<aside class="read-next">
<!-- [[! next_post ]] -->
<a class="read-next-story no-cover" href="/resolve-online-problem">
<section class="post">
<h2>客户端线上问题应对小记</h2>
<p>今年三四月份我所在的App项目经历了不少我之前很少遇到的情况,回看这些无论是突发状况,还是隐匿得让人无法发觉的细节导致的问题,都非常有借鉴意义,也是很大的教训,难能可贵的经验,有必要用一小文记录下。 两个月的时间,经历了一次线上crash激增,一次新发版本用户无法播放视频的集中反馈,和一次OOM和ANR持续上涨。下面分别复盘这三次惊魂时刻。 先来说说线上crash突然激增,那天上午的时候突然native崩溃曲线陡升,而我们App最近的一个版本已经全量好多天了,native崩溃一直都是一个相对稳定的曲线,这使我们一头雾水,因为firebase对native崩溃的捕获很不好,更加导致我们焦急万分,我负责App的整体质量,当时更是如热锅上的蚂蚁。着急归着急,也不能乱了阵脚,先开始排除活动或广告下发的影响,于是赶紧联系了市场的同学,让他们确定最近是否有活动或广告投放,询问后发现并没有,但是得知最近的确有买量的操作,并且DAU有上涨的趋势,于是怀疑是不是因为买量导致native崩溃激增,但是后来查看firebase后台,native崩溃大多发生在低端机器上,这就说不过去了,难道买到的量都是低端机器?于是很快推翻了这个怀疑。开始分版本分析,很快发现,近几个版本的native崩溃上涨曲线基本都能吻合,说明这是一个外部环境变化导致的崩溃,而不是某一个版本引入的新崩溃,在firebase有限的native崩溃信息中,还是发现了 libmonochrome.so这个信息,当看到这个so的时候,直觉告诉我是广告导致的没跑了,但是问题来了,最近并没有增加广告的投放,广告又如何使native崩溃激增呢?直到我们搜到这条新闻:[谷歌正在修复Android系统WebView组件引发的应用崩溃问题](https://www.cnbeta.com/articles/tech/1105323.htm)一切才豁然开朗,是因为Google推送的webview组件更新有bug,导致了大面积的崩溃,于是我们果断的关闭了广告的投放,到晚上八点的时候,native崩溃曲线终于回归了正常。 再来说说集中反馈,事情是这样的,我们新发布了一个版本,在放量不到20%时,一天内集中收到好几个用户反馈视频不能播放,从用户提供的截图可以看出视频进度条还在动,但是并未渲染出视频,这个问题与之前我们已知的黑屏问题不同,显然是一个新问题。在没有任何头绪的情况下,就只能通过对比此版本与上个版本的diff来寻找蛛丝马迹,看完所有的diff后还是很让人疑惑,因为真的没有修改任何与播放器相关的代码,就连可能影响播放器的代码也没有,那这个版本到底有什么不同呢?在第二次对比diff的时候,广告sdk的升级改动引起了我的注意,我大胆猜想,难不成是这导致的,如果非要找个嫌疑人的话,只能是它了,于是赌上客户端组的声誉,告知市场广告sdk有问题,新版本去除更新重新发版,放量后再未出现此问题反馈,也是神奇,猜测广告sdk使用了opengl,可能影响到了播放器的视频渲染。 最后说下OOM和ANR持续上涨得情况,这可以说是一次线上事故,是因为使用第三方库不当和第三方工具本身的问题合力导致的,这次问题是在版本全量后几天后才逐步暴露出来的,坏就坏在这个问题是逐步积累,然后雪球越滚越大最后导致了严重的问题。因为firebase不能统计到有些OOM的崩溃,期初的几天我们还奇怪为什么在没有新增崩溃的情况下,崩溃率竟然一直在涨,于是尽快分析firebase的数据,但仍旧没有什么有用的线索,因为我们一直习惯于在firebase后台看崩溃,在Google Play Console看ANR,因此一直以来的习惯是没有人去GPC去看崩溃,直到在一次看ANR的时候不经意间看到了一个之前未发现的崩溃,显示为OOM问题,至此,问题浮出水面,是全量的这个版本在使用第三方库的时候,未注意到第三方库有一个每次操作如果是在主线程调用的话都新建线程的逻辑,导致了严重的OOM,再加上同一版本也接入了xCrash和BoostMultiDex,因此到底是谁导致了OOM和ANR,已然纠缠不清,版本已发出xCrash和BoostMultiDex已无法绕过,但是导致OOM的这个rtt上报却有开关,可以动态关闭,于是在关闭几天后,崩溃率逐步恢复正常,ANR也恢复正常,因此可以断定rtt上报应该是罪魁祸首。这是一个失误导致的大问题,教训深刻,既暴露了我们工程对线程的管理不善,也暴露出firebase可能漏报了很多我们不知道的OOM崩溃,也就说实际的OOM可能比我们现在看到的还要严重。 这三次线上问题,都已经过去了,App的崩溃率和ANR也恢复正常,但是教训却很深刻,经过几天的认真复盘和思考,总结出如下经验和教训: * 一个问题激增时不一定是App本身的代码导致的,但也需要及时诊断和定位,不能倾向于从用户设备和DAU变化找问题 * 诊断问题要聚焦,不要受一些外部因素干扰 * 当问题发生时,倾向于App本身有问题,而不是找外部原因,不要被误导诊断方向...</p>
</section>
</a>
<!-- [[! /next_post ]] -->
<!-- [[! prev_post ]] -->
<a class="read-next-story prev no-cover" href="/read-sapiens">
<section class="post">
<h2>重读Sapiens</h2>
<p>两年前读过《人类简史》的中译本,去年年终和今年年初一口气读完了《未来简史》和《今日简史》的英文版,就一直惦记着干脆把《人类简史》的英文版再读一遍,今年过年时本来想一鼓作气读完,但是中间又读了《The Black Swan》,就一直没顾上,最近坐地铁通勤,断断续续终于又读了一遍,不得不说,再读英文版,依旧有新的收获。不管从写史的风格,思路,框架,格局,还是文笔,都是一等一的杰作。 且看开篇这个段落: Years Before the Present 13.5 billion Matter and energy appear. Beginning...</p>
</section>
</a>
<!-- [[! /prev_post ]] -->
</aside>
<!-- /post -->
<footer class="site-footer clearfix">
<section class="copyright"><a href="/">与机器,人,神共舞</a> © 2024</section>
</footer>
</div>
<!-- [[! Ghost outputs important scripts and data with this tag ]] -->
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<!-- [[! The main JavaScript file for Casper ]] -->
<script type="text/javascript" src="/assets/js/jquery.fitvids.js"></script>
<script type="text/javascript" src="/assets/js/index.js"></script>
<!-- Add Google Analytics -->
<!-- Google Analytics Tracking code -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-78960009-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>