1936 公里新疆自驾之旅

从喧闹城市飞到广袤新疆——期待已久的毕业旅行! 行前准备 租车 之所以选择租车自驾而不是跟团或者包车,主要是考虑到行程安排的灵活自由。自己开车穿越沙漠绿洲草原雪山各种地形,随时停下车来和路边的动物打招呼、和奇特的地貌合影,我想这些体验足以掩盖自驾游的疲惫。 由于新疆城市之间距离都比较远,为了增加容错,这次招募同伴时凑到了三本驾照,然后准备租一辆七座商务车/SUV,最终选定的车型是别克 GL8(上路之后发现新疆满大街都是同款车型),事实证明完全能胜任新疆的路况。 接着花了不少时间横向比较了几个常见的租车平台,不同平台在不同地区倾斜的资源不太一样,所以价格还是有一定差距的。有意思的是,取车的时候我发现某某平台上的不同品牌其实都在同一个门店里,共用一个停车场,简单贴牌罢了。 选车的时候因为担心车况定义不明确,特意筛选了 2020 款的 GL8 车型,这样拉满也就一年的损耗。之后发现这个决定非常正确,提到的车外观基本没什么划痕,公里数 13500km,简单看了下玻璃水、防冻液、机油都正常,于是就拍视频留证,签合同提车。 关于租车,还有一点遗憾就是租车公司一般都是乞丐版的车型,而 2020 款的乞丐版 GL8 不仅没有天窗,还阉割掉了定速巡航功能,跑新疆这种大长途就辛苦了。 其他一些供参考的信息:开车途中时刻关注油箱余量、胎压;新疆地区的加油站都需要乘客下车,司机持身份证接受检查后进站加油;GL8 这辆车一周开下来的平均油耗大约 8.5L;国道省道两边不要随意停车,偶尔会有专门的停车区;连续下坡要小心刹车片过热造成的性能衰减。 路线 大致轨迹:乌鲁木齐-北屯-禾木-喀纳斯-布尔津-克拉玛依-奎屯-乌鲁木齐 旅行路线我们大致参考了某个旅行社的推荐方案,出发前两周连续开了好几天会议做了点调整,整体不算特别紧凑,如果时间再加两天也可以把赛里木湖伊宁那一段加上。最终实际走的行程跟计划偏差不大,只是因为主观/客观原因略有小变动:克拉玛依去奎屯的路上多体验了一段省道;独库公路迟迟不开通,临时决定去石河子市里转了一圈。反过来讲,这也是包车的好处,行程可以随时调整。 防疫 新疆现在(2021.06)的防疫政策还是很严,而且每个地方的具体政策不一样,变化也会很快,不放心的可以提前几天电话咨询一下,网上能找到各地的防疫电话。按照我们这次的经历,城市之间的检查站一般来说持有绿色“行程码”就行,严格一些的会要求乘客下车当场做核酸。 Day 1 乌鲁木齐→北屯 一行六人在 Day 0 晚上陆续抵达乌市,在机场提车之后下榻宾馆休整。这次所有的宾馆都是提前订的,这个时间节点还没到新疆旅游最热门的时候,宾馆的整体价格基本在三百/双人间上下。 按照计划,Day 1 一早我们进城采购一点长途开车路上的补给。由于租到的车是外地牌照,早晚高峰的时候还得注意一下乌市的限行规则。新疆虽然统一使用北京时间,但整体生活作息会比我们晚 2 小时左右,一般晚上 10 点才天黑。我们早上 9 点在华润万家停好车时,大部分沿街的店铺都还没开门。 十一点左右我们离开市区开上高速,窗外的景色一下就开阔起来,远处连绵的应该就是天山山脉,西侧的沙漠也有名字——古尔班通古特。一路上的地貌不断变化,远处的高速路面因为海市蜃楼消失在天边,开近之后又逐渐如游戏般加载出来;一些奇形怪状的云看起来像是贴图错误,光线的明暗变化让远处的雪山背景显得有些不真实;空中总有一些逆着风悬停的大鸟,偶尔也能看见骑着摩托赶牛赶羊的牧民。都是来自城市里的我们很少能见到的景象。 从乌鲁木齐到北屯大约五百公里,我们边开边玩,大约晚上八点到达北屯,在这个新疆最北的城市找了家当地的乡村馕坑肉吃晚饭。 Day 2 北屯→布尔津→禾木 第二天的计划是从北屯开到禾木,早上九点出发,大约十一点半到达布尔津,一个以旅游作为支柱产业的小县城。 继续北上,大约一点开始有连续的上坡和下坡,一眼望不到头的直道变成了盘山公路,这就是阿尔泰山脉了。路两旁的绿色开始明显变多,有些明显的植被垂直变化规律,猛烈的阳光穿过云层在草地上移动,牛羊也开始成群结队出现。 注意中途会经过布尔津喀纳斯机场,是个无人机禁飞区。 沿途可以看到成群的牛羊,它们不需要牧民指挥也能熟练过马路,这时候大小车辆都得停下等待,默契地不按喇叭怕惊了羊群。 来禾木村和喀纳斯景区之前,建议仔细看一看下面这份 官方公众号提供的这份导览地图,一个喀纳斯景区的面积可能比得上一座城市,所以旅游前一定要规划好基本的行程。在大约五月到十月左右的旅游旺季,禾木、喀纳斯景点都只能坐区间车进出。于是我们把车停在门票站后,还得提着行李坐大巴,大约一小时车程。 禾木被誉为“神的自留地”,曾经是一个只有百来户人家的小村落。在这个大河谷里,原木垒起的木屋散布村中,冰川融水流过村前,禾木桥对岸是大片白桦林,成群大鸟在空中盘旋。只能说风景过于梦幻,镜头不知道往哪摆。 景区内的饭店都是统一价格,经典菜品包括土火锅、大盘鸡,基本都没什么性价比可言。这样的价格一方面是垄断,一方面是客流,旅游旺季只有短短几个月,在淡季的时候据说很多民宿老板都会关门歇业回到大城市。 我们的计划是在禾木村中的民宿住一晚,而很多旅行团都是坐区间车当日来回,所以晚间的客流量一下就少了很多。新疆主要是温带大陆性气候,昼夜温差较大,“早穿皮袄午穿纱,围着火炉吃西瓜”。前两天在城市里温差变化没那么明显,而傍晚的禾木温度就开始明显下降了。回去加了一件毛衣,爬山登上了观景台,木栈道连接着新村和老村,在观景台上可以一览禾木村全景。 这段时间刚好是满月,晚上只有零星几颗星星。也有人说一两个月后的深秋是禾木最美的季节,也是个小小的遗憾。 Day 3 禾木→喀纳斯 早晨初升的太阳洒在河谷,清净而温暖,我们在靠近村落的树林中看马儿吃草,听当地鸟儿的方言,没有看到经典项目“晨雾”略有遗憾(很有可能起得不够早)。 民宿的房东一早就在院子里打理植物,和她闲聊得知她来自湖南,她说第一次来到禾木的时候就知道自己会留下来,即使交通不便,各种物资都要提前订,仍然选择在这里开间民宿看四季更替。 大约十二点出发坐车回到门票站,下一站喀纳斯,和禾木村一样的,需要把车停在贾登峪门票站,然后坐区间车到景区的公交中心换乘。 喀纳斯湖是中国最深的冰碛堰塞湖,湖上有游船项目,但体验下来感觉不值这个票价。为了方便举着小旗的旅游团,景区内有各种公交线路在打卡点之间穿梭,看起来只适合那些“上车睡觉下车拍照”的观光客,一心想远离各种人造景观的我选择备好装备徒步穿越。 虽然四处都是狂野而原始的气息,但在这儿徒步基本没啥困难,开着高德地图拿好指南针,只管直线穿越就是了。冰凉的河水颜色随着深浅变化着,穿过一片树林远处又是另一片树林;走在一片空旷的草地上时背后传来渐近的马蹄声,一对父子策马经过,儿子可能只有八九岁但显然是个好骑手了。 今晚仍然是在喀纳斯景区内住宿。喀纳斯景区的住宿分为老村和新村,老村就在换乘中心旁边,或许比较方便,但住宿比较难订;新村离换乘中心比较远,需要换乘区间车前往,但一晚住下来感觉非常清净,整体体验还是不错的。 在民宿边的天璇餐厅饱餐一顿之后,我们六个人在新村附近信步游荡,用脚切实丈量这儿的土地,雪山和森林不再是背景板一样遥不可及的景色了,我猜这比沿着木栈道打卡拍照有意思多了。 相比较而言,禾木村已经完全是一个为旅游而生的村寨了,喀纳斯还保留了不少未开发的自然气息,至少夜里听到的是马嘶牛叫而不是一些劲爆舞曲。如果下次再来的话可能会选择在淡季的时候直飞布尔津,然后在喀纳斯连住几晚。 Day 4 喀纳斯→布尔津 早餐是在天璇餐厅吃的第三顿饭了,原计划坐车上山的我们受到店里小伙的诱惑,精简行李改成徒步上山。...

July 15, 2021

Zotero,我的跨平台文献管理解决方案

选择 Zotero 的原因 最早使用的文献管理软件是 Mendeley,虽然读的文献不多,但也逐渐发现它的几个关键问题:同步很慢,非常慢,特别是遇到那种图片多的大长篇总要折腾好久;此外,Mendeley 的 PDF 标注功能不是基于标准 PDF 格式,无法在其他平台上浏览;最后,跨平台的同步并不方便。 明确自己的需求之后,经过一些横向比较,最终选择了 Zotero,其优势在于:开源、轻巧;Chrome/Firefox 插件非常非常便捷;简单折腾即可实现跨平台文献管理;官方论坛活跃。存在的缺陷:需要一定的学习成本;不内置 PDF 阅读器(这可能也是优点)。 迁移与安装 从 Mendeley 中导出数据的时候发现其 PDF 上的标注格式全乱了,而且 Mendeley 从 1.19 版本开始加密本地数据库了,无法用其他方式读取,在 GitHub 找到不少从 Mendeley 到 Zotero 的导出工具都需要降级到 1.18,相当复杂。不过好在之前的笔记也不算多,干脆直接丢弃了,保留 PDF 文件重新导入 Zotero,这次换到开源软件应该能规避这类潜在的问题。 Zotero 的安装可以参考官网,最权威的学习资料一定是 官方文档。 掌握基本使用方式之后,这里重点提一下 Zotero 的同步逻辑,主要分为两部分: 数据同步(包括文献库的条目、笔记、链接、标签) 免费无限制 文件同步(包括 PDF 文档、音频文件、视频文件、图片等) 免费 300MB 空间或使用第三方 WebDAV 网盘 在“编辑>首选项>同步”中注册并登陆 Zotero 账号后即可实现数据同步,下文主要介绍下文件同步的方案。 使用坚果云实现文件同步 这里可以任选一种网盘用来同步论文 PDF 等文件,坚果云的优势在于国内网络下速度不错、支持 WebDAV、不限容量限流量、增量备份很适合做笔记,关键是在 iPad 上同步比 Onedrive 快很多。 具体步骤如下:首先将“文件同步”选项下的两个复选框取消勾选,即不使用 Zotero 同步 PDF 文件;注册并安装坚果云,在 Zotero “高级>文件和文件夹”中把“链接附件的根目录”改为坚果云中同步的文件夹。类似地在其他 PC 上配置就可以实现多台 PC 之间同步了。...

June 14, 2021

短路、字典、浅拷贝、驻留,Python 的一些奇妙特性

最近刷题的时候遇到的几个奇妙特性。 短路特性 Python有一种短路特性,意思就是只要能确定与或非表达式的结果,后面的运算就会被忽略。更多例子可以参考如下,来自 python 的“短路”,Python(二手博客,找不到出处了)。 False or 5 # 输出 5 #False 删除线格式 为假,在 or 中,x 为假—>输出 y 5 or False # 输出 5 #5 为真,在 or 中,x 为真—>输出 x 0 or False # 输出 False # 0 是假 True or 3 # 输出 True #True 为真 2 or True # 输出 2 #2 为真 0 or True # 输出 True #0 为假 True or False # 输出 True #True 为真 True and 4 # 输出 4 #True 为真,在 and 中,x 为真—>输出 y 1 and True # 输出 True #1 为真 False and 1 # 输出 False #False 为假,在 and 中,x 为假—>输出 x 1 and False # 输出 False 0 and True # 输出 0 not 3 # 输出 False #3 为真,在 not 中,x 为真—>输出 False not 0 # 输出 True 写代码的时候,某一处需要进行两个条件的“与”判断,其中一个是非常耗时的in判断,一开始没有在意and前后的顺序,而回头再看的时候想起了这个特性。...

May 24, 2021

EE364a 凸优化学习笔记

课程介绍 EE364a 课程主页:提供了教材和 slides、往年试卷等资料 Convex Optimization edX 课程页面:可以跳转 YouTube 用双语字幕插件学习,同时提供了课程讨论区 CVXPY:一个基于 Python 的凸优化库 Lecture 1 Introduction Mathematical optimization 最优化 优化问题:在一些约束的情况下,最小化一个目标函数 记法:$f_0(x) → min\ s.t.; f_i(x) \le b_i$ 把 min 和 s.t. 当做 attribute 属性名而不是单词 $x$:优化变量/决策变量 $f_0$:目标函数 决策如何 irritate 刺激 $f_i$:约束 另一种 interpretation 就是资源 $b_i$就是 budget 举三个例子: 投资 约束:预算、最大最小份额 目标:风险或者回报 电路设计 约束:制造工艺、频率、空间 目标:最小功率 机器学习 约束:先验知识、参数之间的耦合 目标:优秀的模型 一般的最优化问题,不是导数为零那么简单,方法都有些妥协(时间复杂度、不是总能找到解) 例外:一些经典问题,如最小二乘、线性规划、凸优化 Quiz The symbol x* usually denotes a solution Least-squares and linear programming 最小二乘和线性规划 最小二乘也叫 regression 回归 时间复杂度和$n^2k$成正比,$k$可以是案例数量、数据数量,$n$可以是特征、回归量 一个成熟的算法,200 年了...

March 30, 2021

《塞尔达传说 荒野之息》:游戏背后的艺术

2019 年 7 月入手了《塞尔达传说 荒野之息》卡带,到现在游戏时间断断续续 100+h 却一直没有去挑战最终 boss——冒险如此引人入胜,以至于我刻意回避主线剧情,不愿意让这场旅行结束。塞尔达传说也确实没有让我失望,每一次打开游戏都会给我新的惊喜。 前天下午,我在海拉鲁平原驯马的时候,意外触发了主线,找到了塞尔达公主的最后一段回忆——《绝望》。 公主的回忆——绝望 这一次我没忍住眼泪,丢下滑稽的怪物头套,换上最正式的装备,带上四英杰武器,直奔城堡。一路屠杀,打败盖侬,解救公主,是的就是这么快,盖侬城堡的谜题对于这位身经百战的勇者来说早已不是难题,紧接着就是片尾、鸣谢…… 而在这个时候,我发现游戏进度并不能保存,重开游戏发现唯一的变化只是附在存档页面上的一个小小的白色五角星。再次跑进城堡,盖侬还在,四英杰仍然在神兽体内,公主还是没有被拯救。 我好像突然失去了继续游戏的动力。曾经以为,通关之后可以在二周目去看看修复后城堡的辉煌,到公主房间里偷看日记,在没有守护者的大草原上骑马,去宁静和谐的一始村看看到底有没有我的房子,去找那些沉迷于勇者神话的 NPC 夸夸我。但这些期待原来只是幻想,一次次试炼都是徒劳,游戏的结局已经无法改变。 THE END 于是就这样,意外地结束了海拉鲁大地上的旅行。 为什么会喜欢《塞尔达传说》 终于放下剧情之后,我开始思考塞尔达这款游戏究竟有什么魔力。 看了 【中字】塞尔达传说 荒野之息 开发纪录片全三部合集,我尝试跟着开发者的思路,开始解剖这款游戏。 自由 “开放世界”这个概念好像有点烂大街,但《塞尔达传说 荒野之息》真的不一样。 如 游戏开发方式的改变,造就了《塞尔达传说 荒野之息》 这篇文章提到的,在 CEDEC 2017 游戏开发者大会演讲中,来自任天堂的藤林秀麿和米津真抛出“引力”、“大地图三角形法则”、“3 把尺”三大概念。 首先介绍的是“因为大所以显眼”,也就是基于尺寸的引力。 远远就能看到的独特地形,刺激着玩家的探索欲望,让他们觉得“也许有什么东西在那”,所以具有很强的引力。同样地,塔也是从远处就能看到的设施,因为对获取游戏世界广范围信息来说非常有用,所以也会吸引喜欢探索的玩家。 尺寸产生的引力的大小 另一方面,对于一心想要“提升自己在游戏世界里的体力”的玩家来说,打通后能够得到心之碎片的祠或许有着更强的引力。而想要“得到更强力的战斗装备”的玩家,则会认为得到稀有武器机会较高的怪物要塞(敌人基地)具有更强的引力。 对于一心想变强的玩家来说,引力的大小大致如图 此外在游戏世界进入夜晚之后,会发光的设施会变得更加显眼,因此引力也会有所变化。 晚上会发光的东西更加显眼。从“被光线所吸引”这层意思上看,玩家或许跟虫子类似!? 地图中的地形起伏基本都参考了三角法则,大概这就是常常让我感到“柳暗花明又一村”的奥秘;“3 把尺”指的是距离感、密度感、时间感,为了设计一个合理的“世界”,开发者参考了真实地图中便利店、邮筒的密度,各种旅游景点的游玩时间,好像真的能想象到他们拿着地图在京都四处测绘的样子。 关于关卡流程的设计,还找到了另一篇更专业的文章——运用关卡结构图分析《旷野之息》的关卡设计。 游戏其实和解决问题是密不可分的,Jesse Schell 在《游戏设计艺术》一书中就把游戏定义为“以一种嬉戏态度进行的解决问题的活动”。所有游戏里面都包含着许多问题让玩家去解决。如果问题只能按照设计者预设的答案来解决,玩家其实只是在被动地寻找唯一的解,这就可能会让获得成就感变得困难。甚至玩家会一直失败,造成了卡关。《旷野之息》的制作人藤林秀麿在 2017 的 GDC 的演讲上就提出: 希望把一直以来的被动游戏模式,转变为玩家自己的主动的游戏方式。 玩家尝试着使用自己思考得出的答案去解决问题,只要游戏给予积极的反馈,那无疑是对玩家努力的肯定,所以玩家获得的成就感也就更为强烈。而玩家获得了成就感后,也会主动去寻找下一个问题并继续思考解决。 就像《旷野之息》的技术导演堂田卓宏在 2017 的 GDC 上说的: 希望大家可以靠想象力享受各种解谜,希望大家能够享受“啊啊,我真是天才!”的瞬间。 这就是《旷野之息》带给玩家的解决问题的快感。 交互 交互,元素与元素之间的交互,我觉得是塞尔达最核心的部分。这些交互一方面充满游戏魔幻色彩,“冰箭”“法杖”“古代科技”,很多操作逻辑都从此展开,很多游戏乐趣也来源于此;另一方面这些交互细节又很真实,偶尔会蹦出一些创造性的想法,随手一试却发现真的可以实现。 简单列举一些元素交互: 火:点燃草地制造上升气流、通过火把的火焰判断风向、用金属武器和打火石制造篝火、一觉醒来篝火被雨水浇熄、点燃木制武器制造伤害加成、火山的高温岩石可以烤熟食物。 电:手持金属武器会被雷劈、把金属武器丢在怪物脚下大喊雷公助我、电属性箭在雨天能产生范围伤害、用属性武器在河里电鱼。 水:下雨天 NPC 都会抱着头跑回屋里、雪山顶上推下去的石头会滚成大雪球、火属性攻击在雪山上能产生更高伤害、裸泳比穿着普通衣服速度会更快。...

February 21, 2021