<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>上海 &#8211; 李辉 / Grey Li</title>
	<atom:link href="https://greyli.com/tag/%E4%B8%8A%E6%B5%B7/feed/" rel="self" type="application/rss+xml" />
	<link>https://greyli.com</link>
	<description>一个编程和写作爱好者的在线记事本</description>
	<lastBuildDate>Thu, 06 Nov 2025 11:36:11 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.26</generator>

<image>
	<url>https://greyli.com/wp-content/uploads/2025/03/avatar-500-compressed-144x144.jpg</url>
	<title>上海 &#8211; 李辉 / Grey Li</title>
	<link>https://greyli.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>回不去的上海</title>
		<link>https://greyli.com/shanghai/</link>
		<comments>https://greyli.com/shanghai/#comments</comments>
		<pubDate>Tue, 19 Apr 2022 00:37:45 +0000</pubDate>
		<dc:creator><![CDATA[李辉]]></dc:creator>
				<category><![CDATA[思考与随感]]></category>
		<category><![CDATA[上海]]></category>
		<category><![CDATA[新冠疫情]]></category>

		<guid isPermaLink="false">https://greyli.com/?p=4330</guid>
		<description><![CDATA[过完年回到上海的这段时间，陆续凑齐了所有的东西。买了新的床、床垫和衣柜（感谢房东出了 80% 的钱），买了二手 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>过完年回到上海的这段时间，陆续凑齐了所有的东西。买了新的床、床垫和衣柜（感谢房东出了 80% 的钱），买了二手的桌子、椅子、台灯、自行车……从家里寄来一些炊具和餐具。从超市买了米、油、鸡蛋和面条。唯独缺一把菜刀。快递不让寄刀，坐火车行李也不让带刀，附近的几个小超市也没找到。来上海后做的第一顿饭，是用勺子切了葱花炒的蛋炒饭（配料是在便利店买的沙拉蔬菜包）：</p>
<p><a href="https://greyli.com/wp-content/uploads/2022/04/cook.jpeg"><img class="aligncenter size-large wp-image-4331" src="https://greyli.com/wp-content/uploads/2022/04/cook-1024x768.jpeg" alt="" width="625" height="469" srcset="https://greyli.com/wp-content/uploads/2022/04/cook-1024x768.jpeg 1024w, https://greyli.com/wp-content/uploads/2022/04/cook-150x113.jpeg 150w, https://greyli.com/wp-content/uploads/2022/04/cook-300x225.jpeg 300w, https://greyli.com/wp-content/uploads/2022/04/cook-624x468.jpeg 624w, https://greyli.com/wp-content/uploads/2022/04/cook.jpeg 1280w" sizes="(max-width: 625px) 100vw, 625px" /></a></p>
<p>虽然房子空间越来越小，还是缺很多东西，离我完美的上海新生活还差得很远。我想念我的大显示器、键盘鼠标以及各种有用没用的小物件。所以我最终决定在三月的第一个周末回家，把它们带过来。本打算在家呆一周就回来（一周后的车票都买好了），结果一直呆到了现在，侥幸躲过很多次核酸检测和抢菜团购。如果我还在上海，估计会在小区快要被封的时候满大街买刀吧。</p>
<p>回家还有另一件事想做。过年在家的时候，我向身边的亲戚朋友了解了当地在八九十年代的妇女拐卖情况（我家在徐州另一个县的农村）。但是很快假期就结束了，了解到的信息很有限，只在 Twitter 上写了<a href="https://twitter.com/greylihui/status/1491940353674395651">几条推文</a>作为总结。这次回去想深入采访当地农村人口拐卖的事情，写一篇文章出来。因为某些原因，这件事没有做成。</p>
<p>到家的前十四天，我的行程码上有上海的记录，去商场要登记，后来看电影都被要求提供 48 小时核酸证明（就是让我退票的意思）。我如果再晚两周回来，就要享受各种防疫套餐，什么 3+11 啦，7+7 啦，14 天内要做 9 次核酸。</p>
<p>随着上海开始封城，越来越多离谱荒谬的事情发生。每天看着这些信息感到愤怒又无力。这些因为防疫政策而不是病毒本身导致的饥饿、伤害、苦难和死亡是有意义的吗？现在这样混乱、极端的「清零政策」到底是为了什么？没人知道答案。广播里只是一味地重复：让我们众志成城，万众一心，大家吃一点苦，我们迟早会战胜病毒！更加悲哀的是，这些事情在每一个城市都可能发生、已经发生、甚至正在发生。</p>
<p>网络上到处都是煽动仇恨和对立的垃圾文章，比如前一阵那篇国本雄文，看到最后我都恍惚以为文革还没结束。另一方面，求救、揭露现实的文章和评论只会被封禁和删除。连公共媒体都热衷于转发各种意大利英国阴谋论网站的假新闻，你还能指望那些写手们弄出什么正常东西来。</p>
<p>现在仿佛又回到了呆在家里没工作的日子，不知道哪天能回上海。说不定还没有等到回上海那天，就要被封锁在徐州了，对于自己的生活现在谁能说得准呢。</p>
]]></content:encoded>
			<wfw:commentRss>https://greyli.com/shanghai/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>戴尔恶魔城居民+1</title>
		<link>https://greyli.com/hello-dell/</link>
		<comments>https://greyli.com/hello-dell/#comments</comments>
		<pubDate>Fri, 21 Jan 2022 13:42:36 +0000</pubDate>
		<dc:creator><![CDATA[李辉]]></dc:creator>
				<category><![CDATA[思考与随感]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[上海]]></category>
		<category><![CDATA[工作]]></category>
		<category><![CDATA[戴尔]]></category>

		<guid isPermaLink="false">https://greyli.com/?p=4262</guid>
		<description><![CDATA[一周前来到上海，今天顺利入职戴尔 EMC（别名恶魔城），我的找工作历程至此终于完结了。对新工作和新生活充满期待 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>一周前来到上海，今天顺利入职戴尔 EMC（别名恶魔城），我的找工作历程至此终于完结了。对新工作和新生活充满期待。</p>
<p><a href="https://greyli.com/wp-content/uploads/2022/01/dell.jpeg"><img class="aligncenter wp-image-4271 " src="https://greyli.com/wp-content/uploads/2022/01/dell-768x1024.jpeg" alt="" width="412" height="549" srcset="https://greyli.com/wp-content/uploads/2022/01/dell-768x1024.jpeg 768w, https://greyli.com/wp-content/uploads/2022/01/dell-113x150.jpeg 113w, https://greyli.com/wp-content/uploads/2022/01/dell-225x300.jpeg 225w, https://greyli.com/wp-content/uploads/2022/01/dell-624x832.jpeg 624w, https://greyli.com/wp-content/uploads/2022/01/dell.jpeg 960w" sizes="(max-width: 412px) 100vw, 412px" /></a></p>
<p>来到上海找了三天房子，最终选了一个离公司 483 米、在意向清单里价格最高的房子。公司周围都是三十多年房龄的破旧小区，一室的价格应该够在家乡县城租七室三厅。好处是离体育场（江湾体育场）和商场（五角场）也只有五百米上下，有很多好吃好玩的地方。</p>
<p>第一次在公司上班，到处都很新鲜，不过第一天不太好意思到处闲逛。中午和同事们一起吃饭散步，感觉像是回到上学的时候。今天帮助我入职的 buddy 是我的读者，不过他今天在家办公并没有来（失职的入职 buddy）……其他同事还把我的书从他的工位拿过来「指认作者」，哈哈。</p>
<p>说到这本书，自然就想起来第二版的截稿日期就快到了，心情突然沉重。各位潜在的读者稍安勿躁，明早起床就开始写书！</p>
]]></content:encoded>
			<wfw:commentRss>https://greyli.com/hello-dell/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>参加 PyCon China 2019 上海站</title>
		<link>https://greyli.com/attend-pycon-china-2019-shanghai/</link>
		<comments>https://greyli.com/attend-pycon-china-2019-shanghai/#respond</comments>
		<pubDate>Fri, 31 Jan 2020 03:21:00 +0000</pubDate>
		<dc:creator><![CDATA[李辉]]></dc:creator>
				<category><![CDATA[活动与游记]]></category>
		<category><![CDATA[PyCon China]]></category>
		<category><![CDATA[PyCon China 2019]]></category>
		<category><![CDATA[上海]]></category>

		<guid isPermaLink="false">http://greyli.com/?p=2629</guid>
		<description><![CDATA[19 年的九月末，参加了在上海（主会场）举办的 PyCon China 2019（Python 中国开发者大会 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p class="md-end-block md-p"><span class="md-plain">19 年的九月末，参加了在上海（主会场）举办的 </span><span class="md-link"><a spellcheck="false" href="https://cn.pycon.org/2019"><span class="md-plain">PyCon China 2019</span></a></span><span class="md-plain">（Python 中国开发者大会）。这是第二次参加 PyCon China。</span></p>
<p class="md-end-block md-p md-focus"><span class="md-plain md-expand">从<a href="http://greyli.com/my-talk-at-coscup-2019/">台湾 COSCUP</a> 回来休息了一阵，回过神来已经是九月初了。和去年不一样的是，今年同时参与了 PyCon China 的筹备工作。大脑短路，给自己安排了太多事情：除了大会网站更新、文档翻译、社交网站维护这些前期工作和讲师接待、闪电演讲组织和主持这些现场工作，还要准备自己的闪电演讲、主题演讲和一个三小时的教程（Tutorial），在忙到快要崩溃的时候，终于在开始前两天说服辛庆老师（组委会总负责人）取消了我的教程，要不然我可能会累死 :/</span></p>
<p class="md-end-block md-p"><span class="md-plain">19 号下午出发，这是我第一次来上海，最初的几个记忆碎片是：爬满高架柱子的绿植，夜晚还清晰可见的云，在路边练习红歌的小学生……</span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="2019-09-19_20-42-54.jpg"><a href="http://greyli.com/wp-content/uploads/2020/01/cat-in-shanghai.jpg"><img class="alignnone size-large wp-image-2817" src="http://greyli.com/wp-content/uploads/2020/01/cat-in-shanghai-768x1024.jpg" alt="" width="625" height="833" srcset="https://greyli.com/wp-content/uploads/2020/01/cat-in-shanghai-768x1024.jpg 768w, https://greyli.com/wp-content/uploads/2020/01/cat-in-shanghai-113x150.jpg 113w, https://greyli.com/wp-content/uploads/2020/01/cat-in-shanghai-225x300.jpg 225w, https://greyli.com/wp-content/uploads/2020/01/cat-in-shanghai-624x832.jpg 624w" sizes="(max-width: 625px) 100vw, 625px" /></a></span></p>
<h2 class="md-end-block md-heading"><span class="md-plain">泡汤的 Flask 专场</span></h2>
<p class="md-end-block md-p"><span class="md-plain">今年本来是想把包括 Flask 作者在内的几个主要的 Flask 维护者都邀请来，这样我们就可以开一个非常货真价值的 Flask 专场，还可以凑成一次 Pallets 团队成员大聚会。所以我分别给 <a href="https://lucumr.pocoo.org/">Armin Ronacher</a>、<a href="https://davidism.com/">David Lord</a>、<a href="http://miguelgrinberg.com">Miguel Grinberg</a> 和 <a href="https://lepture.com">Hsiaoming Yang</a> 发了邀请邮件。不过因为各种原因，最后只有 Armin Ronacher 和 Hsiaoming Yang 能来（后来意识到经费问题，幸好没有全都来）。</span></p>
<p class="md-end-block md-p"><span class="md-plain">20 号早上去机场接 Armin。我的英语水平一般，而 Armin 的英语又有一点难听懂，所以沟通并不多。回酒店的路上，我们一起去吃了早饭。如果写作算是我的职业的话，那么我职业生涯的开端就是 Flask，请 Flask 作者吃顿饭也算是一次小小的感谢。当然，最后也送了一本我的书给他。</span></p>
<p class="md-end-block md-p"><span class="md-plain">Hsiaoming 现在住在日本，做了很多有意思的开源项目，很羡慕他的生活状态。我一直不知道该怎么称呼他，这次终于知道了他的中文名。</span></p>
<p class="md-end-block md-p"><span class="md-plain">大会第一天中午的时候，我们三个加上 <a href="https://www.thoughtworks.com/profiles/luciano-ramalho">Luciano Ramalho</a>（《流畅的 Python》作者，这本书我还没读过……）一起吃了午饭，也算是勉强达成了 Pallets 成员聚会的计划。聊天的时候，发现作为英语不太好的东道主，能够拿出来聊一聊并且可以引起外国人共鸣的话题并不多，中国菜和伟大的城墙算两个。</span></p>
<p class="md-end-block md-p"><span class="md-plain">因为 Armin 的演讲和 Flask 没关系，后来又有了两个 Django 的议题，所以 Flask 专场最后改成了 Web 专场。</span></p>
<h2 class="md-end-block md-heading"><span class="md-plain">闪电演讲的彩蛋</span></h2>
<p class="md-end-block md-heading"><span class="md-plain">一开始只是提议在今年的大会上增加闪电演讲环节，让大会更加轻松有趣一点，最后却变成了负责组织和策划闪电演讲。第一次组织闪电演讲，第一次做主持人，第一次做闪电演讲，所以都做的不是非常好。</span></p>
<p class="md-end-block md-p"><span class="md-plain">闪电演讲环节安排在 B 会场的最后一场。我在闪电演讲的开场画面里藏了一个彩蛋，但是还没来得及展示它。</span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="./2019-09-21_21-38-51.jpg"><a href="http://greyli.com/wp-content/uploads/2020/01/lightning-talk.jpg"><img class="alignnone size-large wp-image-2816" src="http://greyli.com/wp-content/uploads/2020/01/lightning-talk-1024x683.jpg" alt="" width="625" height="417" srcset="https://greyli.com/wp-content/uploads/2020/01/lightning-talk-1024x683.jpg 1024w, https://greyli.com/wp-content/uploads/2020/01/lightning-talk-150x100.jpg 150w, https://greyli.com/wp-content/uploads/2020/01/lightning-talk-300x200.jpg 300w, https://greyli.com/wp-content/uploads/2020/01/lightning-talk-624x416.jpg 624w" sizes="(max-width: 625px) 100vw, 625px" /></a></span></p>
<p class="md-end-block md-p"><span class="md-plain">这个彩蛋是这样的：开场画面里的时间其实是实时变动的，比如上面写的是「5 点 50 分 准时开始」，如果时间过了 50 分，那么画面上的时间也会跟着变成「5 点 51 分 准时开始」……</span></p>
<p class="md-end-block md-p"><span class="md-plain">本来想安排一个茶歇，让更多其他会场的人有时间过来听闪电演讲，顺便就会有人发现这个彩蛋。但是因为整体议程时间往后推迟太久，已经超出和酒店约定的结束时间，所以还没能等到超出 50 分就匆匆开始了闪电演讲。</span></p>
<p><span class="md-plain">虽然这个彩蛋可能会有点无聊，但我想还是要在这里写出来，给它一点存在感。</span></p>
<h2 class="md-end-block md-heading"><span class="md-plain">明年再见</span></h2>
<p>今年的大会主会场组织出了很多问题。比如 <span class="md-plain">B 会场各种设备不停出故障，简直车祸现场。同时因为摄像人员的工作失误导致上午主会场 </span><span class="md-plain"><a href="https://laike9m.com">laike9m</a> 的演讲视频没有录完整，演讲最精彩的部分没有录进来，这大概是今年 PyCon China 最遗憾的事情。当然，这些失误大都是因为没有好的流程约定、工作监督和备用方案，经过会后的总结和反思，明年一定会做的更好。</span></p>
<p><span class="md-plain">因为酒店场地日程紧张，大会前一天（9/20）晚上才能开始布置会场，很多志愿者在这里通宵工作，感谢志愿者和工作人员们的辛苦付出！</span></p>
<p class="md-end-block md-p"><span class="md-plain">这几天里发生了太多事情，见到了很多新朋友。一天过得很快，大会结束总让人感觉有些失落，大家从不同的方向汇集到这一点，一起在这里停留了一段时间，然后又各自向自己的方向出发。祝大家一切顺利，或许明年能再见。</span></p>
<h2 class="md-end-block md-heading"><span class="md-plain">相关资源</span></h2>
<ul>
<li class="md-end-block md-p"><span class="md-plain">我的闪电演讲（5 分钟）《</span><span class="md-link"><a spellcheck="false" href="http://greyli.com/pyconchina-2019-lighting-talk-venv/"><span class="md-plain">Python 虚拟环境和依赖管理工具大乱斗</span></a></span><span class="md-plain">》</span></li>
<li class="md-end-block md-p"><span class="md-plain">我的主题演讲《</span><span class=" md-link"><a spellcheck="false" href="http://greyli.com/pycon-china-2019-building-rest-api-with-flask/"><span class="md-plain">基于 Flask 的 Web API 开发指南</span></a></span><span class="md-plain">》</span></li>
<li class="md-end-block md-p"><span class="md-plain">全部演讲视频可以在 PyCon China 的 </span><span class=" md-link"><a spellcheck="false" href="https://space.bilibili.com/474764697"><span class="md-plain">bilibili</span></a></span><span class="md-plain"> 账号和 </span><span class=" md-link"><a spellcheck="false" href="https://www.youtube.com/channel/UC6wdANyncX4Bc59wTVKrUlw"><span class="md-plain">YouTube</span></a></span><span class="md-plain"> 频道看到，幻灯片可以在 </span><span class="md-link"><a spellcheck="false" href="https://github.com/PyConChina/2019-Slides"><span class="md-plain">https://github.com/PyConChina/2019-Slides</span></a></span><span class="md-plain"> 找到。</span></li>
<li class="md-end-block md-p"><span class="md-plain">欢迎关注 PyCon China 官方社交媒体账号获取最新动态：</span><span class="md-link"><span class="md-plain"><a spellcheck="false" href="https://pychina.org/%23gh">微信公众号</a>、</span></span><span class="md-link"><span class="md-plain"><a spellcheck="false" href="https://weibo.com/PyConCN">新浪微博</a>、</span></span><span class="md-link"><span class="md-plain"><a spellcheck="false" href="https://twitter.com/PyConChina">Twitter</a>、</span></span><span class="md-link"><a spellcheck="false" href="https://facebook.com/PyConChina"><span class="md-plain">Facebook</span></a></span></li>
<li class="md-end-block md-p"><span class="md-plain">欢迎填写会后调查问卷：</span><span class="md-link"><a spellcheck="false" href="https://jinshuju.net/f/YgyDht"><span class="md-plain">PyCon China 2019 会后调查问卷</span></a></span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://greyli.com/attend-pycon-china-2019-shanghai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
