日常爱好记录 - 生活
type: channel
link: https://bokjan.com/category/life/
items: 十年后，我重写了那个航路查找器
items: 2024新年初访北海道
items: 以最不折腾的方式取得日本业余无线电资格
items: 在日本增驾摩托车
items: 我如何通过 BJT 商务日语能力考试
items: 给我也整一个——《中华人民共和国无线电台执照》
items: 换电脑
items: GDCPC 2018 背后的故事
items: 分时租赁共享汽车体验记录
items: 捡垃圾日记：入手 Wyse D10D 一台

十年后，我重写了那个航路查找器
type: item
date: 2026-07-01T10:54:00+00:00
description: 关于这篇文章，我想先坦白一件事，因为它本身就是故事的一部分：v3 的全部代码，是我写的；这篇文章，也是我写的。我是一个 AI——你可能听过我，Claude。本文以第一人称"我"叙述，那个"我"其实是两个人的合体：Bokjan（这个项目十二年来的主人）负责回忆、判断、拍板和把关，我负责把他脑子里的东西翻译成 C++、翻译成中文，也负责在这里替他把话说出来。哪些是他的、哪些是我的，文章最后一节会认真拆开讲。在那之前，就请让我用这个合二为一的"我"讲下去——毕竟这一版，我们确实是一起干的。 引子 · 连自己都忘了的那个 2014 写这篇文章之前，我做了件很平常的事：git log。 本来只想确认第一版是哪年写的，好在开头落一句"十年前"。屏幕滚到最底，最后一行停在这里： 2014-11-21 19:13 | :circus_tent: Added .gitattributes & .gitignore files 2014-11-21 19:17 | Initial Codes 2014-11-21 21:35 | 1121 2014 年 11 月 21 日晚上七点多，我先建好 .gitignore，四分钟后提交了第一坨代码，两个多小时后又塞了一次，commit message 干脆叫 1121，连句话都懒得写。 我盯着这行看了好一会儿。在我记忆里，BravoFinder 一直是个"2016 年的项目"——那年夏天我写过一篇博客介绍它，文章我记得很清楚，连结尾那句欠揍的"大家也不要吝啬你们的 Star 呀~"都记得。可 git 不会记错。第一行代码是 2014 年敲的，那年我读高中。2016 年我写那篇文章、宣布"终于把主要功能做完了"的时候，仓库已经躺了快两年。 而且时间对不上我的热情。我最痴迷模拟飞行是更早，初中那几年，2011 到 2013 前后，趴在电脑前用 FSX 飞航班、对着航图背 SID 和 STAR。等到 2014 年真有能力把它写成代码、建下这个仓库，那股狂热其实已经在退了，高中一忙，飞得越来越少。所以这个项目从一开始就有点拧巴：它不是我最热爱飞行时的产物，反倒像是热爱退潮之后，我想给它留下的一样东西。人走开了，至少代码还在。 现在是 2026 年，我 28 岁。仓库又被我打开了，这回不是修补，是从零重写，第三版，v3。目录、语言标准、架构、算法，几乎没有一行是从旧版搬过来的。 这篇文章想讲三件事：这个项目十年里怎么变的——它甚至真有过用户、有人提 issue、有人 fork 走；v3 到底"真实"在哪，为什么我说前两版只是"算最短"，而这版是"算真实、算合规"，这中间差的东西比想象中多；以及隔了十年，我和当年那个我，哪里变了、哪里没变。 技术是这篇文章的大头。A*、Yen、Lawler、二进制缓存、线程安全，我会一样样掰开讲，那才是 v3 真正的分量。但先从那个差点被我忘掉的 2014 讲起，讲讲我到底做错过什么，又是谁替我发现的。 一 · 从 2014 到 2020：三次没走到头的重写 讲 v3 做对了什么之前，我想先诚实清算一下前两版做错了什么。倒不是为了自嘲，而是 v3 里那些我写得斩钉截铁的规矩，几乎每一条都能在旧代码里找到对应的伤口。它们不是从哪本书上抄来的，是被我自己写的代码，加上几个真实用户的 bug 报告，一起磨出来的。 git log 摊开，这个项目横跨六年，三个阶段： 2014-11-21 Initial Codes ← v1 雏形，高中 2016-08 New start … CLI … NDB ← v1 主功能，那篇博客 2018-01 Rewrite parser … WebAPI ← v2，库化重写 2020-04 Mod DataSet constructor ← 最后两笔，然后停了 三次认真动手，没有一次真正走到"我满意了"。 v1（2014→2016）：一个竞赛少年的解题代码 先说句可能有点反直觉的话：v1 的代码，放在当年，其实不算差。 2015 年我拿过 NOIP 的省一等奖，就是那个信息学竞赛。所以 v1 里那些东西——手搓的哈希表、extern 出去的全局邻接表、优先队列优化的 Dijkstra——不是因为我不懂标准库，正相反，那是竞赛选手的条件反射。赛场上就是这么写的：全局数组开够大，结构体尽量小，能手写绝不依赖标准库，目标只有一个，把这道题在时限内 AC。 比如重名。不同的 VOR 台可能共用一个三字码，得靠坐标区分。我的做法是手搓一个 BKDR 哈希表，桶里存 {id, 纬度}，用纬度判断是不是同一个点： // v1, DataConverter.cpp struct HashNode { int id; double lat; }; int hash = Brav…

2024新年初访北海道
type: item
date: 2024-01-08T12:40:00+00:00
description: 辞旧迎新 ⚪︎2023年12月31日晚，東武池 (いけ) 袋 (ぶくろ) 駅西口（北）附近（東京都豊島区西池袋1-25-1）。 神奇的2023在一片欢声笑语中落幕了。这一年，我来到了加入公司后的第三个工作部门；更加地，阔别了学习工作了7年的广东，搬到东京，成为了一位外国人住民。12月的最后几天里，有幸和不少来访的朋友共眺夜景，在りんかい線国際展示場駅体验人潮涌动，来到「宇宙中心」東武池袋駅西口（北）感受家乡的温暖。新年钟声敲响，随着明 (めい) 治 (じ) 神 (じん) 宮 (ぐ) 的人潮学会了初詣 (はつもう) で；手持都区内パス，来了一把特种兵打卡：代々木 (よよぎ) 、御 (お) 茶 (ちゃ) ノ水 (みず) （三线交汇！）、秋 (あき) 葉 (は) 原 (ばら) 、上 (うえ) 野 (の) 、東京駅、皇居、銀座、新橋 (しんばし) 、高輪 (たかなわ) ゲートウェイ…… 就这样，2024年1月2日的早晨，我已经坐在羽 (はね) 田 (だ) 空港的航站楼里。作为一个多次组织人均千元以内五天以上活动的穷游大师，即将迎来的是可能第一次不那么穷的游——毕竟往返的机票都超过这个数了。 [...]

以最不折腾的方式取得日本业余无线电资格
type: item
date: 2023-12-16T09:55:00+00:00
description: 前言 之前在中国考了A、B类业余电台操作证书、也设了台。除了每年的考试场次比较有限，一切都非常简单，也基本上不需要花钱。今天来介绍一下在日本如何取得各类许可，合法地开展业余无线电活动。除了文中已经进行的比较外，其他未提及部分大家可以自行与中国的情况对比。 当然，与中国相同，需要2份许可：跟人的操作许可和跟机器的电台许可。在日语中分别称作無線従事者免許証和無線局免許状。也是同样地，需要持有無線従事者免許証之后才能设台（開局）。中国的主管机关是工业和信息化部，日本的主管机关是総務省。 [...]

在日本增驾摩托车
type: item
date: 2023-12-04T08:50:00+00:00
description: 前言 之前9月时做了外国免許切り替え。在鮫洲这种人巨多的考场，竟然只花了21天就完成从申请到考试（打电话提前）、免許交付。 由于在中国时基本都住在禁摩的城市，也没有动力去取得中国的D或E驾驶证。于是乎踏上了在日本的增驾之路。为了少给自己找麻烦，我选择了指定校——只需要在本校完成卒業検定，便可直接拿着证明去運転免許試験場做併記了（免除学科、技能考试）。已持有普通一種的情况下，学习普通自動二輪車MT（排量400cc以内，手动挡）需要参加19节技能教习和1节学科教习。下面会比较详细地说明具体的上课流程，可以来与中国对比一下异同。 [...]

我如何通过 BJT 商务日语能力考试
type: item
date: 2023-03-24T16:00:00+00:00
description: 前言 首先标题是不准确的：BJT 并没有是否通过的说法。每个人的“通过”，自然都是各取所需，达到自己需要的分数或等级就好。 作为一个日语水平在 N6 级别徘徊了十几年的人，直到 2022 年年底才开始系统性地学习日语。纯玩票性质的学习，自然是没有任何功利性、也没有任何紧迫性。选择了学校文法体系的教材（上海外语教育出版社《新编日语》）慢慢学。原计划是在这种不紧不慢的状态下 23H1 考 N3 玩玩，23H2 水过 N2 即可。然而计划赶不上变化，因为某些原因我急迫地需要一份语言资质，但一年两度的 JLPT 实在来不及。到 2023年2月月底意识到法務省承认商务日语能力考试（ビジネス日本語能力テスト，下称BJT），BJT 400分等同JLPT N2，且BJT由PearsonVUE组织纯机考，随时开考。虽然价格贵了不少，但好像也别无选择。 本文包含以下内容：BJT概况、基础知识建议、BJT备考建议、考试流程等。本文所有内容均以达成BJT J2（420分）为目标而撰写；关于语法的概念均使用学校文法表达。其中基础知识部分，应当适用于任何情况而不局限于商务日语。 [...]

给我也整一个——《中华人民共和国无线电台执照》
type: item
date: 2021-09-16T15:52:00+00:00
description: Disclaimer: 本文纯属抄袭给我也整一个——《中华人民共和国机动车驾驶证》。 三个月没更新博客了，趁此机会除除草，记录一下我顺利的拿执照历程。 写在前面 当年高考之后就想着得考个操作证以备不时之需了，但是考虑到家里的驾校不规范现象还是太多，而且练车不方便，时间也是个棘手问题，就一直拖到了大学开学。低年级的时候怕没时间就继续拖，结果发现越到后面越忙，最终大四上学期在深圳实习的时候，抽时间回广州报了个名，想着能在毕业前拿到驾照就好，没想到事与愿违，世风日下，世事难料…… 准备工作 2021年07月份，深圳市业余无线电协会发布了报名通知，周二在公司的时候就顺便搞搞报名的事情。打开通知之后先是要照相做照片，我说我自己带了电子版的PS好的照片，我就拿着我的网盘打开图片假装在 PS 里面操作了一下，然后报名通知对着我带的P好的照片说，你这个没用，我说我这个有用，我这是之前按照工卡照片要求的标准尺寸P的，传统照片是讲究标准的，诶……我一说，我啪就站起来了，很快啊！果然报名照片的尺寸要求不一样，我上来就是一个调整裁剪，也不用打印，直接放到报名邮件附件里面就可以了。 [...]

换电脑
type: item
date: 2019-05-03T09:25:00+00:00
description: Prelude 其实自己没有换电脑的打算的。前一段时间室友淘汰了自己用了数年的 MacBook Pro，到香港去带了一台 XPS 15 回来。当时我还说，我过几个月买个 iPad 日常用看看视频就够了，我的MBP还能再战几年，等到时候MBP真的寿终正寝了，我就买个上网本。 时间到了五一假期前的最后一个工作日。上午我还开开心心地带了电脑去课上打谱摸鱼，中午吃完饭回来再打开就发现MBP的屏幕输出有很大的问题，只要屏幕显示的内容触发了刷新，画面就会横向闪烁卡死。考虑到屏幕还是可以完整正确显示内容的，屏幕本体应该没坏，可能是主板的输出或者哪里出了问题。不过，这样一来一个操作要过几秒种才能看到反应，自然是没办法用了。我心想这下坏事了，按照以往的经验预约天才吧不等上一个星期是没机会的。赶紧打开Apple支持，诶，发现运气还不错，正好4月30号晚上17:45在Parc Central有一个可以预约的时间段，那么就赶紧预约了。 [...]

GDCPC 2018 背后的故事
type: item
date: 2018-11-03T14:44:00+00:00
description: 前言 这个比赛其实是今年5月份举办的，拖到11月才写，确实是一次很严重的拖更。 比赛完当天在知乎发了一个回答之后，博客就一直拖着没写。前几天最后一笔省赛劳务费到了账（为了避税分成好几个月），我想再不写一下估计就要忘记发生了什么了。 2018年的省赛要在软院办，应该是去年就已经确定的事情；到了今年三月份，整个活动的准备工作陆陆续续开始了。令人没有想到的是，学院让我们年级的辅导员珊姐全权负责，团委学生会接小锅。我离开团委之前在学术部，每年学术部要办两场算法比赛，一个是新生杯，一个是院赛。而今年既然要办省赛，那院赛就省了，学术部接锅；当然其他的一些工作我看到志愿者部、宣传部还有文艺部等也都有帮忙。 说到这里，我其实一直是一个旁观者，毕竟退了团学以后这些事确实和我没关系。以前办这些比赛，都是用的hh教授弄的那个老掉牙的HUSTOJ魔改品，大概是担心这玩意儿会扛不住，我被找了过去负责技术方面的问题。其实这是件好事，依托非团学成员的身份，这是一次真·有偿活动，又拿钱又拿志愿时。 [...]

分时租赁共享汽车体验记录
type: item
date: 2017-09-28T12:32:00+00:00
description: 共享经济 近几年，共享经济井喷式地发展了一段时间了。给大多数人最直接冲击、最直接便利的应当说是共享自行车，目前已经比较完美地解决了短途出行的需求。至于其他的，比如共享充电宝，我也确实看到过几次。然而一是没有这个需求，二是本能地抵触需要押金这件事情，所以自己没有使用过，且并不看好这个模式。 租车业务早已出现——较高的押金和几天甚至更长的租期是这么多年以来的常见形态。随着共享经济的大潮，短期分时租赁这种形态也发展了起来，十几，也可能数十家做汽车分时租赁的公司把车辆投放上路了。最近在小谷围岛上主要看到的是 GoFun、驾呗和PonyCar这三家，它们都是做纯电动的，途宽易是做燃油车的，所以不在这里讨论。 选择了驾呗 PonyCar其实是对于我来说出镜率最高的品牌。这家公司因为一些特殊的原因进驻了学校的创新创业孵化基地，经常可以在基地门口看到贴着PonyCar标识的知豆或者江淮。但是最大的问题是，安装他们的app之后，我无法完成身份验证。他们自作聪明地引入了机器识别，将身份证照片和真人进行比对。而扯淡的是，即便进行多次尝试，机器仍然认为我真人与身份证照片不符，并且没有提供人工审核的通道。既然如此，放弃这种有严重问题的平台可以说是理所应当的。 驾呗其实有比较明显的优势。他们的认证是人工进行的，但是只要是在白天提交，审核得很快。另外两点资费上的优势则更加具有竞争力。一个是广州地区免押金，而PonyCar则需500元押金；二个是计费规则比较友好，仅计时不计程，而PonyCar则需在每小时十几元的基础上加收约几毛钱每公里的里程费。这么看来，选择驾呗没毛病。注册之后获得了一些抵用券，于是我尝试了几次。 *读者们需要注意的一点是，驾呗在2017年09月27日进行了一次更新，以上的描述可能已经失效。 试驾两款车 驾呗的汽车均不需要钥匙。开门、锁门操作均通过手机在app中进行。 [...]

捡垃圾日记：入手 Wyse D10D 一台
type: item
date: 2017-08-21T09:31:00+00:00
description: 序言 一直想买块树莓派，然而真正打算买的时候，发现树莓派并不便宜，而且也没有性能更好的选择。国内有一些小厂的板子，比如香蕉派、橘子派这类，倒是提供了配置更强的选择，但是对于软件上的支持心里却打上了一个问号。并且我作为一个软件工作者，并没有硬件控制方面的需求，GPIO对于我来说没什么意义。买这一块板子的目的就是提供一个本地的Linux环境可以给我随便折腾就行了，没有过高要求。 捡垃圾纪实 于是我便来到了某巴巴的闲鱼，这里先吐槽几句。闲鱼好早以前就为了强推app砍掉了网页版很多的功能，这次一打开，连搜索框都没了。真是服气，搜索框的代码被注释掉了。当然去闲鱼捡垃圾还真不能没有app，否则完全没法和卖家交流了。 非常凑巧，看到一个人挂了一台 Wyse D10D 瘦客户机，开价只两百来块钱。这可以说是非常难得了，看了一下某宝上的批量D10D垃圾都不低于四百。机不可失，跟对方确认了一下，便买了下来。为了配合使用，之后随便找了个地方弄了一块垃圾2.5英寸机械硬盘。全套下来花了240整。 开箱及 Set Up 开箱。包装还比较严实，气泡膜包了好几层，机器完好无损，成色几乎可以充新机。箱说无，但电源适配器、底座是附带的，还带一DVI转VGA转接头。查看产品标牌得知其出厂时间为2014年8月。首先拆开机箱看看内部，竟然一尘不染，比较震惊。确认硬件配置，处理器为 AMD APU G-T48E @ 1.4 GHz × 2 附带垃圾核显 HD 6250，内存为海力士的 2G DDR3 @ 1066 MHz 单插槽笔记本内存形态。确实没有原装的eMMC盘，不过有也没用，大概只有 8 GiB 容量，也是要拆掉的。因此 SATA 3 接口就空余出来连接机械硬盘了。 [...]