漫游泰北

自2018年五一节的泰北清迈行,草草的出了照片后就一直忙于御花园项目,期间又计划云南行,一直到国庆,终于有闲下来的时间,想着没事就补充下这篇游记,所以已经隔了正好5个月。

这次的清迈之旅也是第一次异国自驾游,前期做好准备后,后面省了很多沟通成本。通常情况下,我会画出一个思维导图,将每一天的大致行程规划好,主要记录要去的地方,耗时,住宿地方。本次的行程如下图所示(点击打开大图):

机票和签证都是让同事在旅行社的朋友办好的,由于订的较晚,实际上出发时间延后了一天,倒也无碍。本次行程一共三人,都倾向闲游,除了几个特别想去的游玩项目,其余的都是一些普通景点,还有一些沿路会经过的观景点(viewpoint)。

住宿都是同事在Airbnb上预定的,我只要求有停车位,安静即可,其余无所谓。第一晚的Villa 422确实超乎我们的预计,后面一家Exclusice Lanna Style Residence稍逊了一点,后面会提到。

租车是在租租车平台订的,丰田致炫。需准备大陆驾照和驾照翻译件,承租公司是当地的YESAWAY,接待我们的是一个当地的小伙子,会一点中文,服务非常好,提前告知了航班号,到点就在门口接了,给了一辆红色的车,感觉很惊喜,可能在国内租习惯了白色的车吧。这辆车在后面还发生了一点小插曲,后面提到。

由于预定的别墅老板娘也亲自开车来接了,于是让她们先上了老板娘的车,先去看看,也好给点时间熟悉下右舵车和左行(受英国影响),一切准备好后已经是晚上8点多了,实际上第一次开右舵车最大的问题是雨刮和转向灯经常搞错,由于是晚上,小路上容易跑去右侧,及时纠正下,其他到还好,跟着Google Map导航,顺利将车开到住宿的地方。

Villa 422 是一个靠近郊区的带小院子的独栋别墅,距离古城也就6~7公里,里面布局非常好,两室两卫两厅,院子里有一个大大的停车位,厨房里各种炊具齐全,于是后来我们决定早晚餐都自己做了(同行有会做饭的妹子很重要~~)附近的7-11便成了常去的点,这边的7-11包含了一日三餐所需,同时路边摊上也有非常多实惠的特色配菜,特别的是塑料袋装的熟食,老农家买些水果。这样早晚餐就基本解决了,实惠同时又能体验到当地的生活方式。



既然来了清迈,古城一定是不能错过的了,起初以为古城停车不方便,实际上方便的很,我们甚至就经常停在塔佩门的那条街上,只要路边没划线,不妨碍通行就可以了,还不用停车费,像这样:

随后就是慢悠悠到处转,吃吃喝喝看佛寺,标志性的契迪龙寺等等,对于一个无宗教信仰者而言,唯有尊敬。不可错过的Lila Thai Massage,对于一个常年运动,肌肉发达的人来说,按着疼死了,巴不得快点结束,最后却又舒服的睡着了,怎么评价好呢。

清迈夜市也是比较有趣的文化,虽然没赶上周末的盛大,也还是找了一处固定的夜市,各种奇趣好玩的东西,甚至发现不少中国曾经火爆后来又消失的东西,例如上1号干电池的金属手电。这个夜市也本次自驾游唯一次出了停车费的地方,20泰铢,折合人命币5元不到,物价之低,满满的幸福感。

古城西边素贴山上的双龙寺,蒲屏宫由于去的晚了已经关门,途径一个观景台恰逢下起了阵雨,在车上等了一会,拍了这张清迈夜景:

第二天,准备出发时发现,放在屋檐下的鞋被打湿了,而且还在下着小雨,只好一双人字拖去了Jungle Flight(丛林飞跃),预定的是最长的套餐,结果因为下雨,损坏了部分轨道,只好少飞了几个点,后来也退了差价,感觉还是很不错的。雨中的丛林,大雾弥漫,看不清终点,飞跃起来特别刺激,带相机肯定是不行的,犹豫了一下还是决定带着手机,每次飞的时候确保手机安全即可。几个小时下来,累的不行,滑轮贱出的泥水非常细腻,身上完全没感觉,下来后照镜子才发现满脸的泥,深入皮肤皱纹,洗了好久才弄掉。





穿拖鞋开车实在不安全,于是决定,去商场买买买,直接导航到了Central Festival,清迈最大的购物中心,我是直奔目的地CROCS,万能的洞洞鞋,蹩脚的英语要到了10%的优惠,总体和国内差不多,一楼的超市买了一小盒Lanna红茶,吃个便饭。自然菇凉们逛起来是没有时间限制了,于是约定,我先去古城看看夜景,好了再来接她们,两不误。
Central Festival有一栋4层楼的停车场,不收费,超级赞。

接下来就是出片最多的古城夜景了,下着小雨,飞驰的摩托党,昏黄的路灯,古典兰纳式建筑,随处可见的涂鸦,让人有足够的理由在此停留。不一一张贴了,直接去相册看吧。因为这场意外的下雨,便没去夜间动物园了,回到住所好好的休息了一晚。

第四天,出发清莱,沿着118号公路前行,沿路穿过多个国家森林公园,重峦叠嶂,视野特别舒服。这边公园一般没有气派的大门,有的只有简单木头搭建,旁边挂块牌子标注下,很容易就错过。泰国的高速也是非常适合自驾游,很少有限速的标志,非封闭式管理,最左侧留给摩托车道。常常遇到开着90、100的速度,前面突然遇到十字路口,一个红灯停下来。掉头、拐弯的都特别礼让直行,这点特别棒。经过白庙,蓝庙,也是属于打卡景点,不过白庙旁边的白庙博物馆值得一看,里面很多佛教文化展出。黑庙由于时间关系,也没精力去看了。

在清莱入住的Villa 是特意挑选的具有兰纳风格别墅,而实际到达一看,有点吓到了,其布局是一间较大的大厅,四周再设立卫生间、厨房。装修色调暗沉,柱子上挂的小灯台,永远照不亮的角落,住着有种莫名的恐惧感,而且两间客房还是分开的,一番摸索熟悉后还是安心的睡了。

别墅由佣人打理,倒也挺好说话的,虽然语言不通。门口的水池正好在翻新,院子里树木栽种的过于密集,导致道路狭小。院子后面是一大片田园,早晨起来看看很是舒心。

清莱地处偏乡,吃的玩的都不多,两天的晚餐都是在院子附近的一个自助火锅店吃的,没有招牌,就是老农自家屋前搭建的,别看环境差,吃的可是丰富极了,肉类蔬菜俱全,才99泰铢一人,这可是自助啊~~~~(好吧,这两段居然没有拍照片)



第五天,出发到美塞,美塞泰国最北边的小镇,紧邻缅甸,一条蜿蜒的洛克河为国届线。这边比较有名是逛集市,很多缅甸的东西能在这看到。口岸附近的道路基本都是集市。之前做攻略得知可以将护照押在泰国口岸,然后去缅甸一日游,只要在口岸下班前回来即可。后来一问才知现在不允许这样操作了。我对集市的乐趣在于拍照,而不是去讨价还价买买买。于是又开始了分开旅行,看了看地图,可以沿着边境线上山走。想着山上应该有观景点能看到缅甸境内,于是驾车穿过热闹的集市,走向了一个不知名的佛寺(Wat Phra That Doi Wao)。

山顶确实能看到一部分缅甸,但也没什么区别。寺庙前休息,碰到一位老和尚在抽烟,于是过去打个招呼示意能不能拍张照,他赶紧扔了烟头,正襟危坐起来,用泰式英语说了一大堆,也没怎么记住,随身携带的物件给我展示了一遍,还给了我两个石头雕刻的小乌龟,大概是寓意保平安什么的,不要包起来,直接扔包里就好。

随后沿着边境线1149号公路继续前行,得知前面有一些viewpoint,可以去看看,却需要进过一个边境检查站,说明来意以后,很大方的让我通过了,并且告知前方20多公里有很漂亮的观景台,果然摄影是最好的通行证。过了这个检查站,道路的右侧属于缅甸,左侧属于泰国,大概前行10多公里,还有一个检查站,就又回到泰国境内了。拦起来的障碍物告诉我应该是可以右行了,并且18点前要回来。


沿着这条崎岖而又神秘的公路一直前行,道路上只有我一辆车,抛锚了咋办,大概也不会有第二个游客这么玩吧。。过了第二个检查站后到了一个山头的小村落,也就是要找的viewpoint,没多少人,山头却布满了大大小小的咖啡店,景观都很不错,后来选择了一家叫71 Coffee View店坐下了,这是一个日出绝佳方位,可惜没办法逗留到第二天了。不吹牛,我能在这安静的坐一整天,解决了午餐和休息,也拍了很多照片,不虚此行。

location: https://goo.gl/maps/3FUkqXUxJr32

实际上通往这里的道路很多,算是误入其中吧,也有了不一样的收获。现在回头来看,1149号公路还有很多个观景点,时间关系就没再前行了,下山后顺利和她们会合,继续前往金山角。关于金三角的传奇故事就不在复述了,网上一大堆,如今的金三角已经是一个公园了,建设的非常完善,流淌着黄泥水的湄公河,远处的日落,一片祥和。

第六天,最后一天,一早起来,工人正在修缮水池,顺手拿了管子把车洗了一遍,工人递过来一块麂皮布,比毛巾好使,在国内租车可从来没说洗过再还的,哈哈。一路从清莱开到清迈机场,由于担心误机,开的比平时快了点,致炫这时候就动力就有点吃紧了,超车无力。

后来快到机场的时候遇到查车,恰好这台车“行驶证”过期两天,被拦下,停到一边,微信语音给了YESAWAY工作人员,他们居然在和警察砍价,最后罚款由500砍到了200泰铢,我这边先代付了之后签字走人,这也就是之前说的小插曲,实际也影响不大。到了机场他们也表示歉意,并准备了新的“行驶证”贴上去。这张手写的罚单你们感受一下:

就这样结束了6天的泰北行,总的来讲,泰国的物价,车行礼仪,各种服务,佛教文化体现都非常满意,期待下次泰南之旅。

御 MAVIC 2 和 Nikon Z

御 MAVIC 2 和 Nikon Z 在这个月可以说吊足了大家的口味,都是相对升级跨越比较大的产品,也是最值得期待的数码装备了。各种泄露图,渲染图总让人遐想连篇。

尼康也终于换上了更大口径的卡扣,让这块用了 60 多年的 F 卡扣成了“历史”,这得打个引号,虽然我个人是觉得很大几率会普及到单反上。

事实上佳能也是在进入数码时代后果断的加大了卡扣直径,使得大光圈的镜头的设计有了更大的余地,大口径,短法兰距,轻松转接其他厂家的镜头。后起之秀的索尼也是在这上面沾了不少光。

虽然早已不再用尼康的机器,但还是挺想看到一个老牌企业的自我变革,可能还是对索尼的不稳定感到担忧吧。

Mavic 2 经过一次“跳票”后总算是在今晚发布了,官方可没说跳票,但海报是真的啊。还是比较期待的,虽然前两个 Pro 1 和 Air 都非常的让人失望,具体可以看之前的文章。

这次的 Mavic 2 最大亮点无疑是摄像头了,Pro 版哈苏加持,1英寸底,对于摄影爱好者来说无疑是巨大惊喜,基本上可以甩开手机几条街了。当然还得看具体调校,目前刚发布,没看到网友实拍很难下结论。

Zoom 版的光学变焦对拍视频非常有帮助,制造空间压缩感,虚化都非常好,两者的色彩模式居然还不一样,术业有专攻了。很明显两个产品的定位就清晰了,一个面向静态的拍照,一个面向动态的视频。

而和前一代的 Pro 1 相比,体积大了一点点,重量重了不少,最高飞行速度提升不少,这对有限的续航来说,能更快进入拍摄状态。略高一点点的电池,相同的续航,工作环境温度可以到最低-10°,意味着严寒地方也具备飞行能力了。全向感知,提升了室内飞的安全性,总的来说非常值得买入。

写一遍水文,怀念下这么多年的数码之路。

https://www.dji.com/cn/mavic-2/info#specs

http://www.nikon.com.cn/sc_CN/product/mirrorless/z-7

ThreeTen Extra 时间日期处理利器

  最近一些需求有对多个时间区间进行判断,例如交集之类的,而2个时间区间可以多达13种情况,实现起来特别容易绕晕,正好找到这样一个工具类可以满足需求,只需要一个方法便可计算出结果,很方便。ThreeTen 的设计里面 Instant 表示时间点,Interval 表示时间段,使用Interval即可对区间进行判断。

  例如:判断是否有交集(Overlaps)

Instant startA = Instant.parse("2018-08-01T00:00:00Z");
Instant stopA = Instant.parse("2018-08-10T00:00:00Z");
Instant startB = Instant.parse("2018-07-30T00:00:00Z");
Instant stopB = Instant.parse("2018-08-02T00:00:00Z");

Interval areaA = Interval.of(startA, stopA);
Interval areaB = Interval.of(startB, stopB);
boolean flag1 = areaA.overlaps(areaB);

  同样的,还有是否邻接、包含、相等、之前,之后等等。当然,除了Interval,还有别的类可以用,非常强大。官方文档也非常详细。

  官网链接:https://www.threeten.org/threeten-extra/index.html

  Maven

<dependency>
    <groupId>org.threeten</groupId>
    <artifactId>threeten-extra</artifactId>
    <version>1.4</version>
</dependency>

新玩具:探险家 Columbus V-990 MarkII

  之前的 Holux M-241 Plus 出了点小状况,使用量过大后读取非常缓慢,甚至无法读出,只好做退货处理,不清楚是不是个例,且不兼容 MacOS 也是诸多的不便。

  正好当时有个备选方案就是探险家系列,当时没有第一考虑主要是因为所搜到的资料都是很多年以前的,以为其停产或者是不再升级了。尤其是一段蓝牙导航的演示还停留在 iOS 6 越狱的界面,实在是寒颤。后来在其官网发现还出了新品 Columbus V-1000 手表式记录仪,其 Columbus V-990 和 V-900 也都升级到最新的 MTK3339 芯片,于是果断下手。

  先是买了Columbus V-1000,主要看中有块 LED 小屏幕,能及时知道工作状态,microUSB 连接口也比 miniUSB 方便不少。但随后发现内置的 300mA 电池实在不耐用,官方宣称 16 小时,实际上 7 小时就只剩一格电了,在一次徒步中只好插着充电宝走,实在是尴尬。而且由于内置模式比较多,操作上也比较复杂,计算日出日落居然还会卡顿,只好作罢,和客服沟通推荐后换了 V-990。

  Columbus V-990 和之前用过的 Holux M-1000 很类似,开机后就自动记录的,无需多余设置,状态灯一目了然,通过microSD 卡支持高达 5000w 点的记录,可以说非常强悍了。内置 1000mA 电池,能连续记录 36+ 小时(还没有实测),但应该偏差不大。更有意思的是 V-990 的USB口仅是充电功能,读取轨迹都是通过 SD 卡来交换,基本上很好的避免了因PC系统更新换代,而没有驱动和App支持。而对应的轨迹管理软件《时光相册 Pro》也是基于 RouteConverter 这款开源的轨迹转换工具二次开发,采用Java编写,支持全平台使用。

  实测中发现 V-990 的普通数据模式可以用 RouteConverter 读取,而专家数据模式只能用《时光相册 Pro》读取。如果需要配置机器的数据模式和超速报警等功能需要用老版本的《时光相册》,这里需要使用JDK 1.7或以下版本,而 Pro 版要求JDK 1.8以上,早已脱节。但基本上也用不着老版本了,默认的配置也已经够用,默认普通数据模式,关闭超速报警等。

  这里不得不提一下接收机的USB的连接模式,像 Columbus V-1000 的设计是必须要通过 USB 连接线来导出轨迹,这要求连接PC之前接收机不能处于轨迹记录中,否者极容易出现数据错误。而 V-990 只需要记住关机拔卡就行,和使用手机习惯一致,不容易出错。

  参考地址:
http://cbgps.com/index.htm
http://www.routeconverter.com/home/en

Podam 一个Pojo填充随机值利器

  开发中常常遇到需要Mock数据来测试功能是否完整,手动一个一个填数据有点浪费时间,最近找到这样一个小工具,非常方便的给Pojo类所有字段填上随机值,非常好用,这里推荐下。

官网:https://mtedone.github.io/podam/

使用方法:

1、添加Maven依赖

<dependency>
    <groupId>uk.co.jemos.podam</groupId>
    <artifactId>podam</artifactId>
    <version>7.1.1.RELEASE</version>
</dependency>

2、基础使用

public class Case {
    private Long id;
    private Long applyId;
    private Long billId;
    // get/set ......
}

PodamFactory factory = new PodamFactoryImpl();
Case case = factory.manufacturePojo(Case.class);

  就这样简单的调用,case这个对象的三个字段都是随机值了,基本上满足测试需求,当然Podam远不止这么简单。