Category Archives: Tech

caj格式转pdf

Update: 现在有一个在线工具:https://caj2pdf.cn/en,挺好用。但只支持.caj后缀,如果是其他后缀的cnki文档,试着改为.caj看看结果,没准有惊喜。Oct 26, 2022

CAJ 是中国知网的一种文献格式,要求安装CAJViewer 才能阅读。我偏爱pdf格式。所以不想在自己的机器上安装CAJViewer。下载到的caj 格式(比如学位论文只提供caj格式),需要一种第三方的工具来实现caj 到pdf 的转换。caj2pdf 正是这样的工具。

  • 下载caj2pdf

从其github 官网(https://github.com/JeziL/caj2pdf)打包下载zip文件,解压缩到目标目录。

Continue reading

非完美方案:Sandboxie中运行腾讯会议/Imperfect solution for running Tencent Meeting in Sandboxie

Sandboxie v5.51.3 (64 bit)

在Sandboxie Classic中创建一个新的Sandbox(比如tencentmeeting),选择从None中创建。下载腾讯会议最新安装程序,安装到刚创建的tecentmeeting沙盒里。可以正常启动腾讯会议。直到试图共享屏幕时,会出现黑屏,共享失败。

大概原因是该沙盒禁止了里面的程序访问屏幕共享(screen sharing)的相关class。在此链接有人建议了类似问题。具体是在tencentmeeting沙盒上右键进入 Sandbox Settings,切换到 Resource Access > Window Access,点Add添加一项,内容是*。保存后重启腾讯会议再试。此外,建议在 Configure > Edit Configuration中,在 [tencentmeeting] 下面增加对蓝牙的支持,即添加一行 OpenBluetooth=y,以添加对蓝牙设备的支持。在我的机器上,由于连接了蓝牙设备也会导致共享屏幕不成功。保存后,Configure > Load Configuration 将修改的配置重载进来,再打开腾讯会议再试。在我的测试中,多数时候能够成功共享屏幕,但偶尔仍然可能失败。

Imperfect workaround: Right click the new sandbox running Tencent Meeting and enter Sandbox Settings. Go to Resource Access > Window Access. Click Add to add a new item providing an asterisk (*) as its name. Apply this modification. Open Tencent Meeting to test screen sharing. In addition, if any bluetooth device is used, append “OpenBluetooth=y” under the section of [tencentmeeting], the name of the sandbox holding Tencent Meeting, in the configuration file which can be edited via Configure > Edit Configuration. Without this enabled in my computer, screen sharing of Tencent Meeting also fails. In my testing, it can work at most times with those modifications but still occasionally fails.

Word 交叉引用如何只保留图表编号

对于涉及大量图表,在写作过程中可能会调整次序时,交叉引用十分有帮助,使得正文里出现的编号与图表实际编号保持一致,而不需要手动去逐个调整。

但在正文插入图表的交叉引用时,有几个可选项是:全部caption;只有标记和编号(only label and number);只有题注文本(only caption text);页码;如上/如下。我们通常插入一个图时要选择Only label and number)选项,这时在正文会出现: Figure 1. 字样。

有时候我们会有同时引用多个图或表的需求。比如 as seen in Figures 2 – 4。这时候我们需要另一个选项是只保留编号,但Word提供的对话框里并没有。

Continue reading

Syndicate posts to wordpress.com sites

I also have a site on wordpress.com. You know, wordpress.com is blocked in China, so I just used that site as a backup. It works perfectly in my last devastation of data loss. I recovered my lost posts from this backup site.

However, there is a problem. When I post a blog, I have to do it twice. One on nanzt.info and the other on nanzt.wordpress.com. I have to feel lucky I have only two mirror sites. Therefore, I decided to test this plugin, namely Push syndication. The latest version v2.1 is only availale on github.com. (There is a 2.1-wp branch, grab it as a zip file, and upload to your own-hosted website.)

Be aware, this version from the github only works with php 7.1. The reason is the scripts contain a function named mcrypt_*, which has been deprecated in php 7.2+.

Continue reading

在notepad++里利用正则表达式移除非正常换行

有时候txt文字被特意地按列数(比如每行80字)进行了换行,比如在第80列后插入一个回车行,这样做原本目的是方便在移动设备上进行阅读。

但如果要移除这些非正常换行,一般手段不容易做。我们可以借助notepad++提供的正则表达式来达到此目的。

下面这个方法的前提是能够区分开正常段落开始行和其他被强行换行的句子。比如正常段落开始有空字符进行表达,比如缩进空格、或者有tab字符。如果不具备这个条件,这个方法就不可行。

1 确认正确段落前有合适空字符(如空格缩进或tab等),以表示是段落开始。

2 在notepad++ 的replace 框里:

find what: (.+)(\R)(?!\s)
replace with: $1

3 点击 Replace All

使用v2rayN 登录Tor Browser

v2rayN是实现了vmess 和最新的vless协议的Windows 端客户端。Tor Browser (TB)提供匿名上网保护。TB无法在中国使用。开启v2rayN全局代理后,可以访问Google。但安装Tor后,设置上v2rayN 的local proxy,却无法登录上去。主要原因在于v2rayN 里的sniffing的设置。步骤:

  1. v2rayN 设置里找到监听端口(比如是1082)。记下这个端口,这是TB 登录时 proxy配置时需要的。
  2. v2rayN 端口处右边有个sniffing选项,默认是打勾的,需要取消。
  3. TB登录时,配置proxy 打勾,type是 socks 5,ip 是127.0.0.1,端口是1082(根据第1步对应修改)。
  4. Connect TB,应该可以了。
  5. 不用TB时,记得把sniffing 选项打勾回来。

摘一段来自网络的解释:v2ray 的sniffing功能,是为了检测http和tls流量中的域名并把它提取出来交给vps解析,然后把这些流量的数据包的目的地址重写为解析所得的地址。其本意是解决域名(DNS)污染的问题,但因为Tor 连接用了一些不寻常的方式(比如域名和ip不匹配等),所以此功能反而会使连接失败。

为WordPress网站添加新域名

昨天为我们小组网站增加了一个新域名,过程比较繁琐,大概记录一下流程,方便下次需要参考,也方便朋友们参阅。

  1. 购买新域名。原域名是permalab.nanzt.info,使用的是个人博客nanzt.info 的子域名。新域名 (domain)是 permalab.science,我很喜欢.science 后缀。域名从 alldomains.hosting 购买。原因是从一个比价网站(domcomp.com)推荐这个价格低(唯一的考虑因素)。的确比 namecheap, namesilo 等要便宜一点。一口气买了五年。
  2. 将dns service 迁移到 cloudflare。我不想用 alldomains自己的域名解释服务,cloudflare提供了额外的域名保护。所以在cloudflare里添加了 permalab.science 站点,将dns记录迁移(自动)到 cloudflare,这里的关键是要在 alldomains 里将它自己提供的nameserver 移掉,添加 cloudflare 提供的两个nameserver。成功后,便是 cloudflare 提供域名解释了。至此与 alldomains无关了。
  3. 修改域名记录。在cloudflare里编辑 permalab.science 的域名记录,添加或者修改节域名的A记录,指到网站所在ip地址;添加www 的CNAME记录,指到 permalab.science。
Continue reading

利用Sandboxie 限制某程序访问指定目录的方法

某程序被报道在后台遍历访问 AppData\Local 目录,可能存在收集浏览器浏览历史等行为。网上有帖子利用一些安全软件来限制该程序的访问权限。我是强制将该程序从Sandboxie 里启动的,并添加了访问限制。具体作法是:

  • 在Sandboxie Control 里建立一个sandbox,比如命令为 KuKu
  • 在该Sanbox 的Settings > Program Start > Forced Programs,里添加该程序名,如 KuKu.exe 或者 teem.exe, ok确定。这样,凡启动KuKu.exe或 teem.exe 都会进入该 Sandbox
  • Settings > Resource Access > File Access > Blocked Access,点击Add,敲入 %localappdata%,会增加一项叫 %Local AppData%\, Ok 确定。

注意,在Sandboxie 里可能无法直接启动该程序,可参考该链接

重要邮件避免填写QQ 邮箱或者购买自QQ邮件系统的单位邮箱

最近收到一名学生申请考博士的信,我不管有没有名额,都会及时回信感谢对方的信任,并告知相关情况。我们也都是学生过来的,理解做学生的心情,如果没有名额或者条件不符,也要及时告知,对方好及时与其他老师联系。

但这次回了信后,却很快收到一个退信,是我以前没有留意到的。退信说:

bizmx2.qq.com rejected your message to the following email addresses:

[email protected] ([email protected])

Your message couldn’t be delivered. When Office 365 tried to send the message, the external email server returned the error below. This is probably due to a problem or policy setting on the recipient’s email system.

Continue reading

Windows 10 蓝屏 DRIVER POWER STATE FAILURE 的解决方案

Update (Apr 27, 2021): 似乎可以通过关闭网络信号的形式绕过这个问题。离开办公室前,把laptop wifi置于关闭,然后laptop sleep,到家正常启来laptop后,再把wifi打开,没有发生因为此问题导致的蓝屏。在右侧taskbar 的wifi icon有开关wifi 的按钮。

Update (Dec 9, 2020): 今天蓝屏重现,从sleep唤醒,插入AC电源,蓝屏。另外发现好像是在我把笔记本给办公室拿回家后打开发生的。问题是出在iscsi是逃不了了。

大概是几周前,thinkpad x270开始蓝屏,一般是在sleep 唤醒之后几分钟内,突然蓝屏。提示的信息是 Driver Power State Failure,代码是 9f,并且在蓝屏后不会重启。

在网上简单搜索,发现这个问题是与设备驱动的供电有关,一般是某设备驱动需要变化电源状态,但没有成功,就出现这个蓝屏。所以我怀疑的是否电源管理的问题,将几个power plan 里的Battery 和Plug-in下的USB, wifi, PCI express 等都设为 maximum performance。但问题继续存在。

我在Event Viewer 里查看最早出现蓝屏的时间,以及蓝屏出现前后的错误,发现前后出现了一些 iSCSIPrt 的错误。我用bluescreenview 这个小工具检查了一下DMP file, 提示 Caused by ntoskrnl.exe,这等于没说,因为 ntoskrnl 是win最核心的代码,不可能是其本身的问题。

从网上深度搜索,有报告各种原因,但与我的情况不一致,或者对应修改后还是无法解决。

最后一招就是看看蓝屏时存储的DMP文件本身,看有没有线索。安装Windows Toolkit,只需要里面的WinDbg 工具即可。全部的windows toolkit很大,我们通过其提供的在线安装程序,在里面只选择 Windows Debugger (WinDbg) 就可以,很快就完成安装。

Continue reading