2024-07-05

Dbgview与小狼毫输入法冲突

今天在调试一段代码的时候,偷懒用了OutputDebugString,于是想打开Dbgview看输出。双击了没反应,试了试dbgview64,还是没反应。有点奇怪,心说是不是旧版本不能用了,看看SysInternals有没有新版本可以下载,点开Chrome,发现Chrome启动也没反应了。心里有点慌,想开任务管理器看看到底怎么回事,结果任务管理器也打不开,这才真的有点发慌了。

一番折腾没有效果,包括找了别的电脑RDP远程桌面过来,也进不了桌面,还把主机卡在登录界面进不去了。还好右下角的重启按钮还是有反应,而且没让我等多久。
重启完以后,第一时间去开任务管理器,然后重来了一遍。之前以为是偶然现象,确实很久没重启了,但发现这次Dbgview还是卡住,还是只能重启。反复折腾了几次,都是如此。上网一搜,还真有人遇到类似问题,一看「对方」——小狼毫。

这和我的情况对上号了,我也在用这个小狼毫作为输入法。于是我把这个输入法的主进程WeaselServer.exe杀掉以后再去开Dbgview,工作得非常正常。于是案子算是破了。
接下来我好好调查了一番这个事情。除了原Github贴子反馈的事情,我还发现了一些情况:

如果先有WeaselServer.exe,再去启动Dbgview.exe,Dbgview就会卡住,界面出不来。如果事先开着任务管理器,就会看到Dbgview.exe进程出现,并未「无响应」,CPU占用率也不高。此时如果杀掉了WeaselServer.exe,系统会立刻恢复正常。杀掉Dbgview.exe也行,但系统恢复要慢上一点,似乎在等待着什么。

如果是先有Dbgview.exe,再去启动WeaselServer.exe,则会在Dbgview上看到大约100条左右的日志出现。多也没有很多,而且后续并没有更多的日志出现。
诡异而关键的一点来了:此时DbgView也能在界面上通过鼠标正常操作,只是不能碰键盘。如果一动键盘,哪怕仅仅单独碰了一下Ctrl或Shift键,都会导致DbgView无响应。

而只要Dbgview.exe开始卡住,接下来Windows里面就会无法新建进程。在别的已经启动的进程里面,也不能去碰键盘,一碰就卡。包括任务管理器,我前几次被迫重启,就是栽在这里——我实在是太喜欢用快捷键了。

在测试时,有碰到过一次Process Explorer能够「例外」,也就是说操作键盘不会被卡住。但接下来我想要再重现,发现它的「防护结界」失效了。所以目前还算是没找到规律。

这问题看上去是Dbgview.exe和WeaselServer.exe这两个进程在键盘消息的处理方面有所冲突。原Github贴主提到的「过滤掉“.cc:”相关日志」的临时解决方案,并不能解决我遇到的问题。我试过,即使让DebugView停止Capture也不行。不过,只要注意启动顺序,并能忍住不要去用键盘,就还暂时可以让它们俩一起工作,相安无事。

我不知道作者会不会去修正这个问题,以及什么时候修正。有点担心,恐怕他缺乏足够的动力和精力去做这种事情。现在真的没什么好输入法可以用了么?

2024-07-04

两个关于「日本人」的小故事

最近,苏州的日本校车刺杀事件作为一个新闻热点,随着胡友平女士的离世,慢慢进入平复期。
相关的讨论已经很多了,我也无意再去发表一些观点和看法。今天只是简单地分享一下两件跟「日本人」有关,对我感触比较深的事情。两个小故事,也不代表和说明什么,随便看看吧。

没来由的恨意

许多年以前,当时我还在厦门工作。公司里有位女同事,我们都叫她小王。
小王是一个比较朴实的人,心直口快,没什么城府。她有一次跟我们聊天,说起她上一份工作时,特别提到同事里面有一位是日本人,跟她关系很要好。

『他后来回国了,临别的时候,还送了我一套茶具呢!』

小王说这话的时候,是颇有一些骄傲自豪的情绪在里面的。
然而,紧接着她又说:

『但是我一直告诉他,我很恨日本人。跟你个人无关,我就是恨日本人。』
『他临走的时候还哭了,问这是为什么。』
『我告诉他说,我也不知道,但是就是恨。我这一辈子都不会喜欢日本人。』

我们也有点纳闷,问她是不是祖上有什么前辈,在二战日军侵华的时候死在日本人手上?她说并没有,而且强调说她真的不知道为什么。
说到这里,她眼里应该有迷惘,但我并没有看到。我看到的,还是骄傲自豪。

再后来,小王肚子大了,辞职回家生孩子去了。我们后来再也没见到她,只是偶尔在看见路边的大肚婆时,不约而同地猛然互相问起「小王生了男孩还是女孩」这档子事来。

你们为什么叫我「日本人」?

大学时候,有一位同学,成都本地人,姓李,住我斜对面寝室。大家平时都叫他「日本人」。叫得顺了口,俨然已经成了他的绰号。最开始这样叫的,大概率是他同寝室的同学,估计从来没有人问过为什么。

有一天中午,我在寝室边吃饭边玩游戏。他寝室的同学估计都不在,自己大概也忘了带钥匙,开不了门,于是跑来我这边「串门」,很随意地逛逛。

我也用他的「日本人」绰号称呼他,跟他打招呼。
然而那一天不知道是不是他过得不太顺心。总之不知道怎么回事,他一下子就爆发了:

『我不知道你们为什么都要叫我「日本人」,我又没得罪你们,你们为什么要这样子对我?』

这话的语气,我可能不一定能准确形容。总之用「抱怨」可能是有点避重就轻了。他的火气很明显,看起来完全不是在调侃或开玩笑。这个情绪一定在他心里被压抑了很久。我心中一「咯噔」,完了,今天要在我这里「爆炸」了?

我心中闪过了无数个念头。
要说他像不像日本人?身高应该有超过一米八,也算仪表堂堂,家世应该也不错。有一次他女朋友跑来学校找他,闯到教室来打听。挺不错的女孩儿,配得上他,后来他还被我们集体起哄。
要说他哪里像日本人?如果鼻子下面留上一撮希特勒小胡子,戴上黑色圆形小眼镜,再配上他那标志性的「狞笑」,倒是真的有点像抗日神剧里面的日本军官。
不过……
表面上我是不动声色,捏鼠标的手也没动过,只是白了他一眼,然后缓缓说道:

『谁让你成天嘴上都是「说的是呢」、「说的是呢」?』

我觉得我肯定是抓住了我那无数个念头中,最好的那一个。这个短语也的确是他的口头禅。我甚至觉得我真的Get到了第一个称他「日本人」的那个人心中的Point。

估计我和他都是「恍然大悟」。他接下来的表情,我只能想到四个字:「回嗔作喜」。

『说的是呢,原来是这个原因啊。』他嬉皮笑脸地坐到我旁边来,『哎,你说这个日语也真是有意思哈。你看,「说的是呢」,这几个字换成中文也是这个意思。你说这日语是不是就是当年学的中国话……』

我附和着他后面的喋喋不休,心想着这次危机应该算是解除了吧。

2024-07-03

从KuaiCheDao搬迁至Nube.sh

之前为了让太太看Netflix,经人介绍在KuaiCheDao上买了一个SJC的VPS。价格不算非常便宜,但也还好,而且「质量」的确不错。带宽和速度都不错,当时说是家宽,用下来感觉跟其它VPS提供商的东西的确有些不一样。自己的VPS,IP地址比较爱惜,后续很多时候都派上了不小的用场,包括AI。

前些天,收到了邮件,说这个VPS即将关闭,在7月后就没法续费了。替代方案是迁移去Nube.sh。
说起Nube.sh,我知道是同一个老板折腾出来的东西,想从VPS变成Cloud,也就是向Vultr之类看齐,貌似费了不少劲。之前他一直没弄好Nube.sh的SJC地域,我也就没去关注。现在要强制迁移KuaiCheDao上的客户,想必是已经搞定了。于是周末我就去尝试把VPS迁移了。

先说说这个Nube.sh本身吧。
打开页面,就直接提示我用Google账号登录。我懒得注册,直接允许了,确实比较省事。
控制台比较简单,功能或许尚算够用。地域的选择位于页面上方中部,感觉属于框架的部分。我一开始没看到,疑惑了半天结果还是下错了单。而且一旦下单就立即开始部署,说起来也算是太过「流畅」,但这种既没有「确认」界面,而且页面下方还有用户没明确选择的项目也没给提示的UI设计,结果就是我稀里糊涂$0.02一键就出去了。这个必须吐槽一下。

老板给了$0.2的授信额度,可以用于摸索和测试,包括测试IP和网络的情况。基本上这个额度够用了。
最小的实例一小时才$0.0027,月租不到$2,额外的IP和存储费用还不到$0.3。流量每G只要$0.0009,按原来KuaiCheDao的额度2TB计算相当于$1.8。而且Nube.sh这边算Outgoing不算Incoming,反正比阿里云便宜多了。
当然,现阶段价格有折扣。恢复正常以后,按照KuaiCheDao我原来的VPS规格算下来大约是一个月$5不到。相比起来,费用方面还是会更便宜一些。不过可想而知,老板肯定能更方便地超售。

IPv6用起来貌似没遇到太多问题,目前能正常用。KuaiCheDao那边曾经遇到过问题,而且修好以后还有过反复,后来我索性把IPv6给禁用掉了。
拿到的IPv4地址也看了一下。type也是hosting,不是isp,有些遗憾。虽然VPS肯定是在SJC,但IP是香港的Cogant,不过用ipinfo去看确实是在SJC没错。
我KuaiCheDao的VPS地址印象以前中是isp,现在发现也变hosting了。用起来倒是还没什么感觉,反正太太现在更多的都是看我下载到本地的片子,而不是在线看Netflix了。试了一下ChatGPT可以用,那就还算OK。

测试完成后,用银联卡充了$10。VPS部署完先放了起来,等我KuaiCheDao到期后就把线路切换过去。
只希望这个Nube.sh不要像KuaiCheDao那样被人攻击。

2024-07-01

微软更新弄丢了我的VS2013窗口布局

早上来公司,打开电脑显示屏,发现似乎有些不一样。周五下班时挂着在运行抓Dump的一个程序,不见了。

心中一喜,还以为抓住Dump了。再一看,Visual Studio不对劲。心一沉,去Windows日志里面一看,果然今天早上1点多的时候,机器被重启了。再去看Windows更新日志,果然,今天凌晨安装了KB5039299,然后就被微软自动重启了。

微软还挺贼,重启完了以后,还把我的应用程序都给「恢复原状」。包括像Chrome和Visual Studio。可里面的工作状态终究是没法真的恢复,而且把虚拟机也给我关了,简直气死我了。我已经想尽了办法阻止它自动重启,而且也禁止了Windows在登录时重启应用,可这货在这一点上简直比中国AI还蠢,横竖不听,我行我素。

别的我就忍了,大不了当作周末断过电。可微软还干了一件出格的事情:它把我的VS2013的窗口布局给重置掉 了。我一共开了6个VS2013,其中5个都被重置过了。我小心翼翼地最后关闭那个看上去没被重置的VS2013窗口,然而没用,新打开的都是那种资源管理器在右边的布局形态。

记得以前也处理过类似的事情,后来发现有捷径。在网上搜了一阵子,总算捡回了记忆。

工具 -> 导入和导出设置
从「工具」菜单中选择「导入和导出设置」,然后选择「导入选定的环境设置」,再接下来选择「否,仅导入新设置,覆盖我的当前设置」。
最近没有备份过,但我对工作环境并没有什么特别的定制,所以重新选Visual C++就好。如果对于习惯的开发环境特别在意,平时还是注意导出并备份吧。保存路径在自己动手的过程中就可以看到。

还是更习惯VC++的传统窗口布局
我还是更习惯传统的资源管理器在左边的那种VC++的窗口布局方式,可能也有一些老筒子跟我是一样的习惯吧?

每个周一都很忙,真希望微软不要再添乱了。