Author Archive

eTrex32x上的中文openstreetmap支持

很久之前入手了一个Garmin的eTrex32x作为爬山爱好的辅助,按现在评论电子产品的角度,算是个功能单一,响应极慢,界面也不太美观的史前产品,但是因为手持GPS现在又完全竞争不过手机APP,从实用的角度出发,确实是个很尴尬的产品线,最近些年完全没有升级。

虽然Garmin后面有推出新的GPSMAP 67和eTrex SE之类 ,但是eTrex SE居然是个黑白屏,分辨率且不说,屏占比堪比早期诺基亚,真不明白它的用户群体是哪些。与其买这些,就不如买产品线还在更新Edge系列的码表了,看上去观察还差不多。

当前Garmin的主要地图来源还是openstreetmap(除了它自家那些死贵又不怎么更新的地图),但是Garmin有很多设备是默认没有中文等语言的,所以大部分人下载的还是英文(拼音)地图,但拼音的问题就是实在是太难读了,与日文设备上的片假名有得一拼(以前有些软件没有中文改日文是因为汉字在,经常比英文好读,但是现在往往一片片的片假名,简直就是灾难)。

回到正题,虽然网络上的大部分openstreetmap下载只提供拼音地图,但是官方网站上的地图默认都是显示当地语言的,所以也是有中文的地图下载,以下是主要的地图下载网站,不需要注册就能下载世界各地(大部分)的地图:

https://alternativaslibres.org/en/downloads.php

之前测试,下载到设备上的中文地图也可以识别,但是所有的字符其实都没有显示,得到了一张没有文字的地图。最近重新折腾的时候发现其实很多Garmin设备的语言显示其实是字库问题,字库载入了就可以显示中文,于是开始了找资料的过程。

参考资料:Garmin 64S(理论上64系列、62系列都可用)的汉化、地图安装等资源和教程

从以上信息,中文化有两部分,一个是字库支持,也就是006-d0952-05.bin这个文件,一个是chinese.gtt这个界面汉化,这个呢我其实不太需要,就不去研究了。

从搜索的结果来看,这个bin文件在Garmin的系统中是有定义的。

006-D0952-01.bin – Chinese symbols
006-D0952-02.bin – Japanese True Type Font
006-D0952-03.bin – Korean True Type Font
006-D0952-04.bin – Thai True Type Font
006-D0952-05.bin – Arabic Bold True Type Font
006-D0952-06.bin – Arabic True Type Font
006-D0952-07.bin – Hebrew Bold True Type Font
006-D0952-08.bin – Hebrew True Type Font
006-D0952-09.bin – Vietnam Bold True Type Font
006-D0952-10.bin – Vietnam True Type Font

但是为什么我们要命名为006-D0952-05.bin这个看上来是作为阿拉伯文字的字库呢,也从网上能找到答案

Modern “On the Trail” devices (Astro, Dakota, Edge 800, eTrex 20/30, GPSMAP 62/78, Montana, Oregon, Rino 6xx) only recognize the font files 05 and 06.
The 3.xx firmwares for GPSMAP 62/78, and all FWs for GPSMAP 62c/sc also can use the fonts 07 and 08.

所以命名为006-D0952-05.bin显然是没有问题的,然而上面链接中提供的006-D0952-05.bin链接已经失效了,使用这个文件名搜索,可以得到另外一个网友制作的繁体中文版的字库

GarminChinesePack

经过测试简体中文它也能显示,但是会缺少很多字,比如正常是XX大街,可能在地图上你就只能找到“大街”这两个字,甚至都不会有乱码或方框来提醒字型缺失。所以还得继续查找 。

从其他的网上资源,有以下的新的知识Get.

006-D0952-*.bin files in ExtData folder are simple TTF (TrueType) font files XORed with 0x76 byte, in the very end, zero character is added, and then the filename without an extension.

所以事实上,我们就可以自己来制作所需要的字库文件,最常用易读的还是“中文雅黑”,所以按照以下的说明,先使用系统里的雅黑字体

Adding Japanese language to an eTrex 30 unit

这其中只需要一个工具是是xor,用它来生成Garmin的字库文件。

xor msyh.ttf 006-D0952-05.bin 0x76

然而一开始就想到一个可能的问题是雅黑字体其实因为字库过于全面,它是个很大的字体,超过20M,Garmin这类的旧设备很可能根本就吃不消,但是先要一试再说。

试验结果:NG

具体过程就略过了,结果就是说打开设备变得非常卡,不知是其他原因还是确实因为这个字库,系统还自动重启了一次,字体也没有正常显示,所以还得另找字体。

网上的各种字体很多,而完整的字体文件通常都很大,其中下载了一个所谓的精简字库的雅黑字体,只包含了3000+的常用字,大小仅1M,经过测试其实是可以的(也验证以上的方式是正确的),看到的所有文字都显示正常,然而3000的常用字确实还是偏小,作为地图中的字符很可能不太全面,所以还得另找合适的字体。

最终找到合适而且开源的字体居然是阿里巴巴的开源字体。

阿里巴巴普惠体3.0

Alibaba PuHuiTi 3.0 – 55 RegularGB18030-2022 (实现级别1+实现级别2)

这个黑体和雅黑差别不大,而且实现级别1/2已经覆盖了绝大部分汉字(8.13M),而实现级别3(20.7M)大小就和雅黑几无区别了。

具体过程这里忽略,结果就是,确实可用,系统也没有再出现卡死/自动重启的现象,所有字符也都能显示。

而地图中生僻字的会不会有不在字库的问题呢?其实根本不会有。。。因为alternativaslibres.org提供的中文地图即使是不那么生僻的字,它也经常没有准确的生成出来,而是变成了一个’?’代替,尽管你在openstreetmap网站上看到是正常的字符。而这并不是字库可以解决的问题,而是alternativaslibres.org自身提供的地图中并没有包含这个字符 ,它原生就是一个?号。

这个问题大概是不会解决的吧,除非自己制作一个openstreetmap地图文件,然而这显然已经不在个我的知识范围,或许有其他网站能提供更好的中文地图下载,然而这个的影响,实在小到可以忽略,因为地名中生僻字能生到不被显示的微乎其微,不影响实际体验。

压缩包使用中文密码的问题及解决

偶尔下载些压缩包,经常遇到的问题是解压出来的文件名乱码,想来也是因为因为使用英文系统的原因,之前往往还有界面显示异常,现在大概因为UTF-8流行,渐渐少了些。

但是遇到有人爱好用中文作为密码,就到了一个新问题,在英文系统中不管你是

  1. 直接输入中文
  2. 复制中文字符

都是没办法正常解压的,因为在UTF-8和GBK这两套编码下其实是两个密码,上网搜文章有几种其他的办法参考下文

压缩包使用中文密码带来的问题

因为一个压缩包去做这么麻烦的事显然不太值得,然后尝试在线网站解码,直接转换为GBK编码,虽然看上去还可以无损转回,却并没有什么用,仍然提示密码错误。

各种尝试以后,还是有了一个有效的办法

  1. 把中文字符作为内容保存在一个TXT文件,用诸如Editplus保存这个文件为GB18030(GBK)编码,关闭编辑器。
  2. 用Notepad++之类的编辑器打开这个文件,好死不死Notepad++不支持GBK编码,所以它以ANSI编码显示出来一堆乱码
  3. 复制这堆乱码到解压软件,正常解压

也算是一个莫名其妙的解决方法

Category: IT  Tags: , , , ,  Leave a Comment

PT-P710BT标签打印机开箱

作为一个工具爱好,自然少不了打印机这个工具,日常的打印机基本上没有需求,但是标签打印机这个东西却是个可以同时满足工具爱好和整理需求的玩具。

淘宝上的打印机价格变化不大,总在800左右,京东上更贵一些,1000-1200左右,黑色的居多,而亚马逊往往会便宜一些,看在个人的颜色喜好,入手了白色的版本。

大小稍微超出了预期,从参数页看感觉尺寸要小一些,然而质感还是不错的。

其他的细节就没有什么特别的了,24mm以下的色带都能兼容,miniUSB的充电口在这个时候确定有些老了,然而这是个发售多年的产品,就不能强求。而且,几乎所有的标签机都还是这个接口

采用的电池大概率是18650重新封装,但是拆卸是不太可能了,除非等它有坏的那一天。

Brother在同类的打印机有好几款,为什么选择这一款可以做个比较

型号PT-P710BTPT-P300BTPT-P700PT- P750W
色带尺寸(Max)24mm12mm24mm24mm
USBYESYESYESYES
蓝牙YESNONONO
WifiNONONOYES*
供电方式PA-BT-005AAA*6AA*6BA-E001/AA*6
价格(Amazon)700+350+550+950+
备注WIFI仅在额外购买的锂电支持

虽然P700看上去更便宜一点,而P750W还支持Wifi,但是实际上一方面蓝牙其实还算好用,支持Wifi的P750W还需要另外购买不菲的专用电池,使用AA电池的话则是不能支持Wifi的。

另外打印终端常用的还是APP,有两种APP可以选择:P-Touch Design&Print 2和 Brother iPrint&Label。

一开始看上去前者更被推荐(?),然而实际第二个更好用的,不仅插入时间/二维码更方便,打印对称线标还有默认的模板,强烈推荐后者。

最后说到标签纸,机器是附带有原来的24mm样品标签带的,淘宝上的标签也还算便宜。买过好几种比较,差别并不大,区别在三个方面吧。

  • 分辨率:不同的标签墨点浓度会有点差别,但不仔细基本看不出来
  • 底色:原厂的白色其实不是纯白,而是略有些象牙白,这点国产的第三方色带都看上去有些惨白
  • 粘性:这个就很难对比了,肯定是有差别的,主要在长时间后怎样保持粘性

一番比较下来反而淘宝淘工厂最便宜的看上去还最好一些,一分钱一分货在这方面就很难判断了,除非买原厂,而且有些不同商家的发货地址居然是一样的,大概有很多都是纯贴牌的。

Snow peak GL-140 试验

最近有了个新东西,虽然不是很亮,颜色是足够暖的。

Category: 其他  Leave a Comment

爬贺兰山记

清理未完成的文章的时候,看到了这篇一半的日记,时候过去许久,决定还是写完罢

-—

八月份出差了一次银川,事情无多,时间又少,就趁着周五的时间去爬了下贺兰山的滚钟口。

临去前也在网上下了些功课,当时大小景点有不少个,最受推荐的是个影视城,然而所谓大话西游的经典场景对自已完全不感冒,其他两个景点又有点嫌远,兼爬山也能算上自己无限的几个爱好之一,就还是爬山罢。

决定了地点以后,就看看交通方式了,百度地图了下居然还是有公交车到的,然而看上去就只有一趟,现在出发就显示首班车未开出,过半个小时出发就显示末班车已过?那就看下打车费用,滴滴显示四十多块,那就还是心理可以承受的范围,去肯德基吃了个早餐,随即打车出发,这里就挖下了大坑,最后才发现。

打车出了城,一路上车少人少,道上两边的树倒是种的不错,不过半个小时到了目的点,贺兰山口其实也还有些风景,从景点山口向城里望去,中间大概就隔了一层寸草不生的戈壁,还联系着一条绿色的公路。

景点的门票相对不算贵,相对江南的某些公园景点动不动就五六十,爬个山三十块还是比较经济了,进了景区大门能看到这一边的山口,还有营业的电瓶车,吝惜如我当然还是拿出了相机步行。

大路旁看了了杂草中摆了几只骆驼,于是抄了个近路。

近路上明显的水流冲积的痕迹,大概银川这边在雨季还是个相当麻烦的存在。

到山脚下以后,朝市区望去还是一片平原,另外顺着公路的一带树林,除此之外就有点像不毛之地了。

爬山的人并不是很多,偶尔能看到零零散散的几个,路边还有工人在进行车道修整,像以往一样,看看有没有小路到山顶,到目前可见的山顶,也就没有管地图的轨迹,直接抄近路往山顶方向,走着走着就没有路了,只能手脚并用往上攀爬,不像普通的山坡,却有点像短的山崖,还好并不是悬崖,顺着崖边的树枝,也就花了些时间到了山顶,这时候才发现,山顶东边原来是有条路的,这就大概是古代行军需要向导的原因吧,了解路线是事半功倍的效用。

山顶上恐高尤其严重,尽管扶在巨石边,还是不免脚酸,排了几张照片后就此结束,朝其他方向进发,看地图东北边有小路,但北面偏西是条峡谷,虽然看上去并没有路,并不妨碍找小点的山坡下降,只是下起的小雨有些碍事。

峡谷这边并没有手机信号,看来这种并不高的山对信号的阻挡也是明显的,一路上走了一两小时,只遇到了两只山羊,不知道是山民放养的还是哪里来的,看地图上想要到的地方是一个亭子,也就出来找路,这时候发现到小路的位置写着“请勿进入”之类的文字,时间太久已经不记得了,终于是走到正常的道路了。

再顺着正常的山路走到了山间的亭子,一路上稍微有了几个人,在亭子上休息了一会,虽然亭子边写着危险请勿穿越之类,看到崖下的西南方向似乎可以到另外一个亭子,看着一路上高一点的山崖大概不过两米左右,就决定从这里下山了,这一路就稍微危险一点,因为身后其实是不能回头的,虽然能大概一路往下,往上回去的信心却是完全没有的,遇到难走的路也只能另找出路下去,回到上面的亭子是不可能了。

回想到这里,其实当初带个GPS就好了,还可以记录好一路的路径,供现在回忆也是不错的,当然这是后话了,一路上有有惊无险,还是走到了下面的亭子上,不意外的是又反而穿过的请勿穿越的牌子。

待续。。。

Category: Personal, Travel  Tags:  Leave a Comment

松下SR-PNG501故障维修记录

2014年松下电压力锅首次发售时买的,经过了8年基本功能还是正常好用的很,但是最近经常在使用过程中出现盖未关好的报警,而有时已经是在压力锁定的状态,根据找到的说明书:

显然如果作业中没有人试图来推动开盖,就是上盖的感应器出问题了。

但是一开始犯了错误,以为是上面图中[开盖按钮]有问题,试图在不打开盖的情况下将就下修复,垫一下按钮之类的,但是效果并不稳定,严格来说并没有什么效果,只是偶尔的错觉。

再次放假回来后重新开拆折腾,这一次检查到了行程开关,怀疑是因为变形以后行程不到位,用力弯了弯,然而没有效果。只有拆开看了。

上盖并不是很好拆,分离以后可以看到是“东南”的行程开关,用万用表测试按压到位后导通电阻不好,就确定问题点了,淘宝上查找对应的型号便宜得很,只是到货时间就得几天了。

回过来一想,这是个行程开关,完全是机械式的,不太可能因为老化的原因失效,那就拆开来看呗,相关的图片没有保存,其实也很简单,好在于这个行程开关并不是胶封,而是可以直接打开的,打开以后发现在故障原因:油污覆盖。各种炖肉炖汤以后的油渍积累在开关内部,因为开关外壳并不是密封的,就导致它极容易被污染,虽然从某种意义上来说也方便了它的维护,但是总而言之会导致电压力锅极其容易故障,尽管现在网络搜索很难获得有效内容,也还是有搜索到不少人遇到了类似问题,算是一个严重的设计缺陷吧。

疫情时代的苏联政治笑话

经常看到的一个苏联政治笑话,终于在疫情时代变得更合适了(本来想说后疫情时代,但是经过这三年,并没有看到走向‘后’疫情时代的样子,大概疫情时代这才算是刚刚开始)

内务人民委员部的一间牢房里关了三个人,彼此间谈起坐牢的原因。

第一个人说:“我因为反对党委书记彼得罗夫。”

第二个人说:“我因为支持彼得罗夫。”

第三个人说:“我就是彼得罗夫。”

起因是前几天会刚开的时候,一天一堆业务在微信朋友圈里面拍马屁,当时只是觉得这些人真是兼顾爱国爱党爱领导

然而正好开会闭幕时候发生了件不大不小的事,上面这个朋友圈就显得有点不合时宜了

不过还是想不到,改革开放四十多年过去,又要重新出发,另一个苏联笑话可能过一阵子就也会更合时宜一些了

来了一个格鲁吉亚代表团。

他们被斯大林接见,谈话,然后离开,斯大林开始找他的烟斗,找不到。他叫贝利亚。

“追代表团,找找谁拿了我的烟斗。”他说。

贝利亚赶忙去追代表团。五分钟后,斯大林在一堆纸下找到了他的烟斗。

他叫贝利亚:“瞧,我找到我的烟斗了。”

“太晚了,”贝利亚说,”代表团中的半数已经承认他们拿了你的烟斗,另外一半在审讯中死掉了。

 

RI(Reserved Instance)重新订阅

中午休息收到AWS的邮件,本月扣费5美元,一开始想是流量超了?不至于啊。

一查账单发现,RI过期三个月,血亏交了三个月的on demand费率。。。

重新购买默认推荐是Savings plan,但是这个Savings plan看了半天没明白,即使在很多地方说是比RI要更便宜,然而算下来却更贵,最终是大约琢磨明白,仍然购买了原来的RI套餐,以下就现在使用的t3a.nano简单比较一下Savings plan相对于RI的优缺点,这里就不比较两种saving plan 的区别了,仅根据EC2 Instance 3年全付这种最经济的方式来比较

Saving plan优点

  • 灵活
    • 如果购买Compute Savings Plans,只需要确定租约年限(1年/3年)以及租约方式(All upfront, partial upfront, no upfront)就可以按你计划的费用(按t3.nano US-west-2 的价格是每小时0.0021美元)来预交整年的费用,而这期间如果有需要转换区域或者变更Instance类型,都没有关系,比如我想要更换到新加坡,对应的t3a.nano 是0.0026美元,那我只需要每小时额外付(0.0026-0.0021)*0.0059/0.0047,虽然算上来会比直接订新加坡的对应RI要贵,但是如果是有明确的转区或升级机器的需要,就等于之前购买的Instance并没有浪费,而是折价退给了AWS再按折扣价买了新的机器,还是很划算的.总价是55.19美元.
    • 如果购买EC2 Instance Savings plan,就需要确定Region和机器大类(比如说t3a),但是相应的每小时价格会更便宜一些(按t3.nano US-west-2 的价格是每小时0.0018美元).总价是47.30美元.

RI(Reserved Instance)的优点

  • 更便宜那么一点点
    • 如果你的需要确实不会变化,RI确实是能便宜那么一点点的,虽然和EC2 Instance Savings Plan极其接近.总价是46.00美元.
  • 简单
    • 不需要看每小时的费用对比,按现在用的Instance 付费就行了

然后,根据自己的用途,对转区和升级机器的要求基本为0,但是合理的说,购买EC2 Instance Savings Plan仅比RI贵那么1.3美元,按使用风险来评估Saving plan是更好的选择.

然而RI胜在简单,而且确实够用了.

顺便把Snapshot Achieve掉,一个月还能省些钱

[维护日志]2022年夏的WordPress主题修改

一直以来用着的这个主题,已经有很多年了,虽然一直没有更新过,主题自带的一些广告链接都差不多过期,于是想着修改模板文件去掉他们。

很快找到其中一个对应的函数是theme_sb_credit(),然而注释掉以后虽然死掉的链接没有了,页面的部分颜色背景却出现了缺失,看来作者还是花了些功夫来保护广告。

然后找到原网站,主题的下载已经失效了,只能SSH上来把主题文件下载下来,全局搜索却并没有发现theme_sb_credit()的函数定义,很明显这肯定是主题的内部函数,那问题在哪里呢?

来回检查一番,终于发现template.php的内容有些奇怪,全部是没有规律的字符串,然而最后一句是eval(base64_decode(…))这样的格式,google一番原来是BASE64混淆代码的方法,然后一解码居然有好多层,解到最后一层从函数名到变量全部是

$v_9tzZsblbSQ9=$v_RZwY3ct1vbs-$v_llLtriW4Xx4;

这样的格式,试着将变量名重命名,却发现最后一个函数是将字符串逐字重新编码的方式,明显就超出了自己手动分析的能力范围,也就睡下了等第二天再说。

然后第二天再打开,想到另一个办法,php技能等同于0,显然手动解码不现实,不是像BASE64一样的通用解码也在网上找不到相应的在线工具。

但是php在线工具是有很多的,这样的话,直接用echo 显示语句代替eval执行语句,不就解开了么。

于是,在解决了没有添加<? php ?p>这样的错误以后,代码就直接解码出来了,用它代替原来的BASE64数据,打开主页目测一切正常,想改什么就简单了。

不过,使用混淆代码的办法来保护开源内容,还是有点怪怪的。

Category: Blog  Tags: , ,  Leave a Comment

[杂记]很久未更新的日志

很久没有更新日志,但是从最近网上搜索的经历而言,随着大平台的封闭化,小网站的逐渐倒闭,搜索出来的除了各种收费项目,就是毫无意义的内容农场。

所以,还是写点东西吧,作为记性一般的人,可以作为以后的参考。

比如维修经历,折腾东西的过程之类 。

Category: Daily  Leave a Comment