MoreRSS

site iconJustZht修改

在美国的开发者,97年,现在做一些代码和设计的东西。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

JustZht的 RSS 预览

2026.9.27

2026-09-27 17:22:04

IMG_3261

周六的时候给 E39 买的车机到了,因此下午就在装。拆开中控,把 Business CD 机拔出来,发现上任车主自己接线搞了一个蓝牙盒子,放现在也是过气的东西了。于是把他的逻辑走线直接给剪了,留着他之前接出来的 12V 线和接地线备用。接着准备把 CarPlay 车机接上去,发现排线不对,这台 E39 中控是 40 pin 的口,而卖家发货的是另外一种。于是只好暂停作业,留着中控空着,然后下单了线明天到。不过至少把坏掉的折叠杯架换成好的了,以及把扶手区已经老化的硬塑料储物槽也换成了原厂件。
然后我就这样留着中控台一个大洞开去 24 Hour Fitness,洞里面是各种走线,卡槽,和海绵。透过走线还能看到已经有点生锈的车架。
过去的这一周白天基本就是 Cayman 上班,至于 Expedition 早在周一就被我扔去了 Apple Park 停车场给 E39 腾出家里的位置。晚上就是开 E39 出门,一方面趁着车少的时候练习下换挡,另一方面既然开出来了可以去之前一直交钱但没去的健身房,一举两得。然后今天晚上从健身房出来我又去 Steve 家门口的 24 小时洗车店,给车彻底洗了个遍。然后我从那边开回来,在高速上 525i 其实一点也不算慢,属于那种不自觉就开快的车。然后我就这样从 85 转 280 一路开回去,然后下了高速的时候我突然意识到,似乎除开倒车影像这个需求外,这个车也并不是很需要装 CarPlay,我这几天就靠着手机开得好好的,也不需要听音乐,就安静开车,然后听发动机的转速声。

周五的时候和老板摊牌了,他刚休假回来,回来发现我进度缓慢并且行踪捉摸不定,我遂提及自己 NIW 挂了,不是很有动力工作,需要一周才能回到打鸡血的状态。老板自然说能理解,问我有什么可以帮的。有什么能帮的呢,似乎这件事情也出乎他能掌控的范围,而真正的出路可能也并不涉及到他。五月初 NIW 刚被 RFE 的时候,我当时写:

比以往任何时候都更想去夏威夷,然后在烧鸟店里喝啤酒,即使被要求在店里当众朗读移民局给说我作为杰出人才证据不足的拒信我也无所谓。

现在这句话大体还是成立的,夏威夷仍然是个去多少次都不错的地方,烧鸟店里喝啤酒我可以干一辈子,而移民局不承认我是国家杰出人才的拒信,对我来说仍然只是一张体现世界荒谬的废纸罢了,不应该让律师在视频会议里朗读给我,而应该由我在脱口秀现场朗读给大家:我从一个千军万马考取功名,提高一分干掉千人的国度,来到另外一个国度,然后我仍然被量化,仍然被新的国度要求证明自己是值得的,而我骄傲地和移民局说,“每个人用的苹果设备里的液态玻璃是我写的!”,来尝试以此获得这个移民制度里官僚的认可,就好像高中的时候,我骄傲地在语文作文里写文不对题的杂文,来尝试获得阅卷老师的认可。我当然可以问,高考作文有意义吗?似乎在后面的人生里,并没有什么意义,我都忘了我写了什么,因此某个国度授予的“国家杰出人才”身份,似乎也一样,在人生里没有什么意义。

周四的时候去看了 Mei Ehara 的音乐会。SF 城里停车停了半天,然后验完票,进去是一个很小的 live house。没看完就走了,因为怕停车场到时候关了,那样我只能打车回家。买了两张黑胶。

周三的时候和朋友说:最近在干的两件刻奇的事情,第一个是:尝试在一个 CPU 速度只有 168 MHz,没有 GPU,1 bit 屏幕的机器上重写包含基于噪声的过程生成,quadtree 的地形,手动rasterization 的 Epoch 游戏,第二个是:尝试在一台 2001 年出产,内饰老化,转向灯偶尔接地不良,跑了 17 万英里,没有屏幕只有 CD 机的老宝马 E39 上日常手动挡通勤。
要论刻奇的点,这两件事情都有种无可救药的浪漫在里面,他人听了,自是会觉得这两件事情是自嗨,象征意义比实际意义更大些 - 毕竟掌机游戏机已经式微,玩家群体比电脑和主机端要小太多,而湾区堵车的路况,一直踩离合腿也会抽筋 - 因此这两件事情更适合做成广告。广告里的生活,并不总是现实的。但一个人若是硬是要去过广告里的生活,一本正经地把广告画报当成操作手册,这件事情就会比刻奇还要有趣些。毕竟,真要说回来,“移民到一个自由国度”本身也是一个象征意义比实际意义更大些的事情,而同样有一堆人一本正经地把国家宣传机器的内容当成崇高理念来着,相比之下,写低性能游戏机游戏和开手动挡车虽然仍然很 cringy,但至少似乎还算真诚一些。

2026.9.22

2026-09-23 12:14:29

最近都干了啥?

  • 周六和阳哥吃了四川菜。虽然都一直在湾区,但估计有三四年没见着面,然后见我他说我胖了,我说是,上学的时候的我估计要比现在轻十公斤。
  • 周日下午见了 FB Marketplace 上的一个私人卖家看了辆 2002 年的手动挡 BMW 525i。和卖家聊的挺开心,都是喜欢车的人。不过他对交易的部分比较谨慎,坚持要现金,于是拖到了周一银行开门我取了钱。刚好 Maki 刚从加拿大回湾区,和 Youyou 三个人先去吃了家港式餐厅,然后去见卖家办最后的手续。
  • 然后交接完,我让 Maki 坐我车里,方便我万一手动挡开熄火了她可以帮我按警示灯。然后 Youyou 开着他的车跟在我后面。Youyou 的是辆 G30 550i,而我开着比他那款老二十年的 E39 525i,一前一后从 San Mateo 开上 280。一路车辆不多,高速上档位也不用怎么换,因此倒是没什么大问题,反而是最后开到家门口停车的时候我在停车位上熄火了。
  • 今天下了班,坐 525i 里面做一些基本的准备工作,研究下有哪些需要修或者需要换。然后翻手套箱的时候翻到了一份包装完好的 BMW Audiophile Demonstration Disc,是那种完全没拆封的,随车赠送的音响演示 CD,算是那个年代特有的东西了,因此我非常自豪地去 Discogs 上标记了拥有这份 CD。但估计不会拆,大概率周末我定的 CarPlay 车机就要到了,到时候 CD 机就会被我拆下来。
  • 这辆车查了下 VIN 发现具体出厂日期是 2001 年十月八号,因此下下周就算是二十五岁了,比我小四岁。并没有完成“买一辆和我一样老的车一起度过三十岁”的额外心愿,不过这台 525i 仍然是辆老式设计风格,车漆状态尚可,离合器咬合点位置特别高,车灯发雾,有一堆东西要修,但我又没有任何心理负担的的手动挡练习车。
  • 对肇事逃逸的催收工作还在慢慢走,首先是找人给他送了下下个月重新上庭展示资产材料的传票,然后扣他工资的材料也在提交中,估计下周能签发。算起来距离肇事逃逸发生已经快一年了,今天是第 339 天,也多亏肇事人是个逃避责任的人,整个流程里的各种机构也都是草台班子,我被迫不断 escalate,得以走了一整个流程,和警察打交道,和保险公司打交道,和肇事人的代理律师打交道,和小额法庭的法官打交道,和负责文书递交的诉讼员打交道,之后我估计还会和对方公司的人事会计就扣工资打交道,然后和加州保险局的人就投诉对方保险公司打交道。
  • 中间各种流程其实说起来一点意思也没有,和朋友吃饭的时候他们更愿意听我说 cannonball 路上发生的有趣事情,或者最近又在和哪个女生聊天,而不是我又去填了这个表,然后回了那个邮件。我到头来也只是想要看到对方承担责任,本着敢撞我的车我就会一直搞下去的心态一定要看到对方付出些什么。
  • 说到责任不责任的,和朋友吃饭那天撞见了前女友。然后吃完回去翻了下分手前最后收到的短消息,说我碰到事情就怂,就甩锅。短消息大约是气头上发的,这份指控究竟现在在对方心里有多少虚实我也不得知了,我也没兴趣在这里辩护自己到底怂不怂。只是觉得,我在这里写肇事逃逸的那个人有多么逃避责任,随后想起来我曾经在另外一个地方有人在指控我逃避责任,因此我会突然问自己那么一句,我现在怂了吗。不管是出于在意他人评价也好,曾经感情上的意难平也好,还是就单纯的发问也好,似乎前女友的这句指控和其他无数所有曾经的指控一起,成为了一直看着我的眼睛,即使我已经忘了无数指控里具体的形状,也不再在乎那些具体的人和事情,但那些诘问已经内化成了我对自己发难的一部分。

2026.9.16

2026-09-17 06:04:12

现在是下午两点四十,我坐在电脑前等着 process server 给我回电话 - 至少他们给我回的邮件是这么说的,‘call back with you shortly’ - “稍后回电”。
然后十分钟前我在等电话的时候无聊去刷了下 USCIS 的网页,然后 NIW 的结果也出来了。所以今天是大世界线收束的一天:

  • 回国面签最后没抢到,原本定的就是抢到九月十五为止,昨天黄牛给退钱了。大概率今年也不会回去了这样,继续在美国苟着,或者不管第三方国家面签的限制直接去日本,就当玩了。
  • 差不多一个多月前寄了张 Global Forever 邮票的明信片回国,今天收到消息说寄到了。
  • NIW RFE 出结果,拒了。给公司的移民律所写邮件,大意思是比较失望但目前这个不确定性非常大的时代也没什么好抱怨的,等 USCIS 给他们的回信看看具体拒绝的原因是什么,能不能和我透露。
  • 因为 NIW 挂了,苹果的身份选择又很少,要么 PERM 要么 NIW,不然 H1B 结束就只能跑去第三国比如英国一直待着,因此跑路算是某种可以放在台面上的选项了。
  • 苹果的升职还没确定,虽然和老板们都打过招呼,不至于给我什么意外,但正式的升职流程也要九月底十月初才开始,只是移民流程卡成这样,似乎我也没什么好留下来的理由,不如换家钱给的多的公司或者身份好办一些的地方了。
  • 还好今天请假了,原因是我去法院办理强制执行,一个表是让对方回到法院庭审下提交他的资产证明,因为他在诉讼结束后没有按照流程给我寄他的名下资产,另外一个表是直接去对方辖区的法院提交克扣工资补偿我的申请。拿到法院的盖章后我还在联系 process server,因为需要专门的人去递交这些表格 - 而这就回到我开头在等电话了,等电话的时候又刷到 NIW 的结果,想说还好今天请假了,不然收到这些消息,这下午在公司也是无心上班。
  • 然后这周末流程也排满了,至少周日晚上能去 SF 听场 Deca Joins 的音乐会。以及可能去看一辆手动档的 E39,不是 M5,也不是 540,只是一台 525,不过如果作为 Cayman 和 Expedition 之外的第三辆车,倒是挺好的选择,解决了“小车太小,大车太大”的问题。音乐会和第三辆车,姑且也算是世界线收束的一部分。

2026.9.13

2026-09-14 10:38:27

playdate3

Epoch 最近的一些进展。加了黑洞,额外的飞船,星门,以及一些有的没的。

刚从 Sea Ranch 开回来。周末和朋友在北边呆了两天,大家都带着电脑,基本上就是找家风景好看的 Airbnb 然后写代码。除此之外依然无事发生,不过临界点终于快到了,明天是肇事逃逸判决缓冲期结束的第一天,没什么意外的话我就可以准备向对方公司申请克扣工资的流程。然后报了一个手动挡的班,下周末有三个小时可以练习换挡,坡上启停,之类的,虽然这样的故事听起来没有“我两手空空,去 SF 城里买了一辆只比我小一岁的手动挡 Z3,然后一边开一边学,在城里熄火好几次,最后成功上高速开回家”那么精彩,但至少给了我点具体的事情做。

然后买到了 DUNE 3 IMAX 70mm 的票,而且不同的场次和座位买了两次,一次圣诞节前一次新年后 - 所以我会去看两次 DUNE 3 了。在 Sea Ranch 的礼品店里买了包咖啡豆,但我并不是个高级趣味的人,也不会手作咖啡,只是觉得,总算是有点出来玩的心情了,在礼品店买个东西先。

另:忘了差不多八年前的博客里我写:“如果我财富自由了,我就去写 Unity 版本的 Epoch”:

“你财富自由了准备干嘛呀”。
“我估计就去写 Epoch 了,有钱有时间,不用担心饿死”
“那你为啥不直接雇上几十个人帮你写”
“不不不,这个项目就是要靠自己写把整个宇宙都模拟下来,才有那种感觉”

然后这周末在海边的房子里写更加低清的 Playdate 版本 Epoch,有种快要财富自由的感觉了。

2026.9.10

2026-09-10 17:13:53

playdate2

Epoch Playdate 版本的一些开发截图

晚上十点多的时候突发奇想买了张十点半的 Akira 4K 重映票,刚看完回到家。可能是这周过的比较颓废的原因,周末没出去玩,周一放假就只跑了个山,周二请病假,周三糊糊涂涂地在家上班,因此这个电影也看得我感觉像是什么 fever dream。电影结束,屏幕上开始在不停出现的各种宇宙背景上滚制作人员字幕,我站起来,看到还有人坐在椅子上,不知道是在等放完还是单纯不想动,但我先走了。

在 fb marketplace 上看到两台不错且便宜的手动挡车,一台 2.8 Z3 一台 3.0 Z4,挺适合买一台拿来学手动挡,缓解下无聊的,因为到目前为止仍然无事发生,小额法庭的赔付期限还没到,回国面签的名额也没抢到,升职的事情流程上还在等,我也没做什么比较有意思的事情,可能除了最近在写 Epoch 的 Playdate 版本之外。似乎人生没意义的话,就只能自己创造意义了。

如果真的买了的话我估计就把这辆车停 AP。门口没什么多的车位,AP 中短期停车政策也比较宽松,因此可以上班开一辆过去,然后开另外一辆回家。目前还是想等小额法庭的赔付到账了我再去折腾,但也有可能哪天实在想找点事情做就去买,其实已经给 Z3 的卖家发了消息但没回我,而 Z4 我又不是特别想要因此暂时还在等。感觉我又在躁郁症的边缘了。

然后 Epoch 的 Playdate 版本原本是 Quadtree 写的,手动 z sorting 三角形比较慢,靠近地面绘制要 60ms 起,而且因为我之前给每个三角形只填充一个特定的 dithering pattern,因此地形细节是和三角形数直接挂钩的。长周末的时候让 AI 换了个 Voxel Space 的实现,类似于渲染云会用到的 Ray Marching,但如此对渲染角度又有其他比较麻烦的限制,而且也不是特别快,还在让 AI 折腾。但不管如何,Epoch 最后真在 Playdate 上发布的话,应该是第一个 3D 效果的,过程生成的,可以直接从太空飞到地面上的太空游戏了。

然后淘宝转运的给 Cayman 的方向盘套到了,因此自己花了两天重新缝上了一个皮的,替换掉去年缝的那个翻毛皮的套。然后去大统华开业好久了周末终于去了一次,买了点零食。然后把新一季的 Grand Tour 看了,这一集是 Throttle House 的两个主持人和另外一个人一起 co host,感觉还不错。

2026.9.6

2026-09-06 20:02:00

playdate

labor day 长周末,原本要开一号公路的计划因为封路泡汤,在家没啥事情,捡起来今年一月份在做的 epoch 的 Playdate 版本,想优化下逻辑。
Playdate 是一个非常弱的机器,也没有 GPU,因此所有渲染都可以说是 software based,没有硬件加速。这个系统用来做 2D 游戏还可以,但 epoch 是一个全三维的,过程生成的,可以从太空飞到地面的游戏,这已经不是简单的一层盖一层填充绘制可以解决的事情了。因此 epoch 的 Playdate 版本在一月份的时候实现了一套 quadtree,renderer 在软件段手动构建每个 quad,接着做 z sorting,只留下面对相机最近的那些三角形,然后计算 normal 和光线的夹角,最后调用 Playdate 的 API 给每个三角形填充一个 dithering pattern,我写了 8 个 pattern,对应从最亮到最暗的着色,1 bit 屏幕也只能靠如此来获得光照的错觉了。
这套设计虽然跑起来效果还不错,但着实消耗资源,贴地飞行的时候只有 10 fps,因此在让 AI 帮我看看有什么优化的地方。
除此之外,考虑到 epoch 最后总要有个剧情,不管是 Playdate 还是以后要重做的 Unity 版本,而我也需要在做渲染之外 bootstrap 一些相关的系统,不然 epoch 永远只是个 tech demo。因此刚才写了一版初稿,差不多能支撑起 epoch 的 Playdate 版本差不多四到五个小时的游玩时间,结尾也能留着主角继续在开放世界里做随机生成的通马桶任务:

帝国在衰落,但仍然是整个人类所殖民的宇宙里最强的政权,旗舰无数,荣光与骄傲。但,如同无数历史上的帝国一样,不可避免的尽头和分裂总要到来,即使听起来遥不可及。传统议会,贸易商人,世袭贵族,雇佣兵,巨型企业,乃至新生的小型势力,夹杂在一起,聆听着帝国的低语。
男主曾是帝国的老兵。传奇的战斗经历,一人击落敌对旗舰,等等。帝国的宣传机器曾经把他作为战争英雄大肆宣传。但男主终究对体系失望,离开军队,自我流放到偏远矿区,给一个挖矿公司当雇佣兵,打打海盗,偶尔跑跑腿,做做任务。
偏远星区没有帝国中心的繁华。这里鱼龙混杂,也有其他国家的船只通行。电台里偶尔播报着其他星区的叛乱,军队的镇压,或者议会的决策。
然后某天,盟国统领来帝国进见,途径这个星区。男主被雇佣去护航,或者至少作为本地保安部队清理星区。
盟国的旗舰出现,各式护航舰队出现,来到这拥挤的小星区,电台嘈杂。男主从来没见过能自我跃迁的旗舰。人类仅有的太空历史,都是依赖巨大的星门完成各地的传送。星门像是港口一样,曾经是帝国全星系投射影响力的跳板,是控制的核心。但盟国很明显发明了新的技术,可以让舰队绕过星门,完成自我跃迁。盟国是来展示力量的,当帝国衰落,联盟的承诺也岌岌可危。
盟国在此地收买人心,整备完毕,准备跳去帝国中心。旗舰巨大的引擎发动,耀眼到在星球上投下了影子。但突然,整个星区都黑了下来。一个巨大的石碑凭空腾挪过来。石碑之大,恒星都为之黯淡,舰队都只是灰尘。一道巨大光芒,然后巨大沉寂。黑洞出现,把盟国统领,护航船只,都撕得粉碎。巨构石碑随之离去,留下熄灭的恒星,和满目的残骸。
男主也被黑洞吸入其中,但并没有死去,他在他的船内看到了不少奇怪的景象,有的地方全是巨大的巨构石碑,像是废弃的停车场一样。有的地方像是敌国的试验场。有的地方像是远古文明的广播站。男主最后被甩出来,落到了一片荒芜的空间里,地图的另一端。
自此,巨大的黑洞拦着一半人类已知的星域。随着星图改变的,还有权利的分配。帝国的战事开始,盟国开始发送通牒,舰队开始哗变。阴谋论,内战,蔓延银河的混乱开始。男主所在的偏远地方还没有被这些疯狂思潮波及。他熟悉这一片新的星区,和这里的人建立联系,做任务,维修自己的飞船,逐渐得到当地人的认可。
然后,帝国的某一派终于找来 - 阴谋论终于传到这里的眼线,男主作为目睹巨构石碑的灾变幸存者,被作为内战的导火索推向前台。男主只能为自己而战。他杀出舰队的封锁,却又走投无路,只能再次飞向黑洞。最后,本地势力的指挥官为了自己的信条,引爆了所在的旗舰,重创了追赶男主的帝国舰队。而男主,通过黑洞再次穿越,途中看到了更多的巨构。
这些巨构石碑,是上古文明的造物。人类了解不多,只知道是某种维持宇宙平衡的器物,而他的造物主早已灭绝。但这些巨构石碑仍然工作,并成为了各方势力秘密研究的对象。
男主通过黑洞被甩到帝国的主星区。这里看似仍然繁华,但衰败已经开始侵袭,帝国已经事实上无法掌握广阔的疆土。男主在这里获得保皇派的支持,和阴谋派以及敌国决一死战。无数引擎发光发亮,大炮巨舰,主城星球被轰击得体无完肤。紧要关头,巨构石碑再次出现,无差别攻击所有人。石碑的投影笼罩了所有人,但石碑并不关心帝国的兴衰,以及人类的生死。
男主开着飞船冲向巨构石碑,在密密麻麻的内部管道中飞到中心。在那里男主阅读上古文明留下来的材料,意识到这些体型能和小行星抗衡的巨大造物,其实只是他们的扫地机器人而已 - 星际跃迁会遗留对空间的影响,可以说是星际时代的汽车尾气。而上古文明舰队的规模之大,他们的一次简单迁徙,会令整个星区扭曲。因此这些巨构石碑,只是他们用来监控空间重力,改造星区,恢复生态的自动设施而已。当初盟国旗舰,因为启动了新型引擎影响了空间尾气的浓度,触发了石碑的标记。没有什么对盟国统领的刺杀,没有什么敌国的阴谋,人类文明只是被卷入高级文明的扫地机器人的蝼蚁,费米悖论的实践者而已。
获得宇宙运作原理,知晓如何驾驶所有巨构从而毁灭全人类的男主,像是获得核威慑一般,迫使所有人类放下武器。战争结束了。没有英雄,没有复仇,只有脆弱而新生的联盟。巨构不止能够毁灭世界,也能改造世界,是人类文明阶级跃迁的关键踏板。因此体系的宣传机器再次启动,男主不单单是结束战争的关键人物,更是神的祭司。他自知自己并不信任任何政府,也无法接受自己和任何一派交好,因此流放自己,改名换姓回到星图的另外一端,继续简单的生活,完成开放世界剩下的其他任务。这个世界重新和平,直到下一次人类毁灭自我的尝试。