编译 libmagic.dll

libmagic 是由 file 命令提供的一个开源库,用于检测文件的类型,最新版本为 5.46,发布于 2024年 11 月。PyPI 上有一个名为 python-magic-bin 的包提供了编译好的 Windows 二进制版本,然而最后一次更新已是 8 年前。Scoop 的 main 仓库中也包含了一个由第三方编译的 file 命令,版本号为 5.45,但没有提供 libmagic 的动态链接库。此外,5.45 的 Magic 文件版本是 19,而 5.46 已经升级到 20,两者不兼容。看来是时候考虑自己编译一个 Windows 版本了。

……

用 Dufs 搭建简易网盘

需要在老破小 VPS 上部署一个简单的网盘服务。由于服务器配置很低,程序越小巧越好。具体需求如下:

  • 单一可执行文件
  • 不依赖外部组件
  • 配置简单
  • 支持 WebDAV

找到两个符合要求的开源项目,分别是 Go 语言编写的 webdav,以及 Rust 语言编写的 dufs。后者除了支持 WebDAV 以外,还提供了一个网页管理界面。因此最后决定选择 dufs

……

已安装 .NET 运行时,但程序仍提示未安装

运行一个 C# 编写的程序,弹出如下提示:

dotnet

实际上系统已经安装 .NET Runtime 8.0,不过还是尝试通过错误消息中的链接下载 .NET Desktop Runtime 8.0 并重新安装。再次运行程序,仍然提示以上错误。

……

一些命令行下的文件管理工具

本文介绍了 12 款命令行下的文件管理工具

泄露程序执行记录的 Windows Shim 缓存

Windows Shim 是一种让新操作系统能兼容旧程序的技术。顾名思义,Shim 会在应用程序和操作系统之间增加一层处理逻辑,比如拦截和修改 API 调用的参数和返回值,模拟旧的操作系统,实现兼容应用程序的目的。

由于并非所有的程序都需要进行兼容处理,Windows 为此提供了一个名为 Application Compatibility Database (应用程序兼容性数据库)的数据库,通常简写为 SDB,其中保存了需要兼容的程序清单,以及需要进行的兼容性操作。然而,每次创建进程都要查询数据库会损耗性能,Windows 将查询结果缓存在内存中。该缓存被称作 Application Compatibility Cache,大小为 1024 条,并且在每次系统关机时写入注册表作为持久化保存。正是由于这个特性,导致泄露了用户程序执行记录。

……

吴语中的古僻字

[piq] 匕:用刀子切成薄片。

[gaq] 劜:拥挤。如:“车子里哪能介劜的啦?”

[moq] 木:木讷,迟钝。

[mhi] 咪:少,小。比如“一咪咪”:一点点。正字为“少”左右翻转,也作“弥”。

[phoq] 圤:读音如“扑”。量词,堆。比如:“一圤烂泥”。又转音为“泡”,如:“一泡屙”。

[haogn] 夯:读音如hang。用力打击,又引申为尽力,拼命做某事。如:“我夯了三大碗饭下去。”

……

泄露 Windows 资源管理器浏览记录的 Shell Bags

Windows 资源管理器会记住用户访问过的每个文件夹的视图细节,包括窗口大小、视图模式、排序方式、图标大小、分组依据等。这个特性有点类似 macOS 系统里的 .DS_store 文件夹。这些文件夹的视图信息会被保存在注册表中,我们根据微软对这组注册表项的命名,将该特性称作 Shell Bags。一些 Windows 取证工具利用该特性,可以提取出用户的访问历史,包括已删除的文件夹、网络文件夹和可移动存储设备文件夹。

……

省长王昭之死

原载于《炎黄春秋》2010 年第 10 期。作者:尹曙生

“王青天”青海纠“左”

1958至1961年,青海省以省委第一书记高峰为首的领导班子,在经济、文化非常落后的少数民族地区强制推行“大跃进”。在牧区,将民主革命和社会主义革命一步走,向共产主义过渡,引起社会极大震动,使青海人民吃尽苦头。1957年底统计青海人口265万,到1962年降到205万,减少60万。减去从劳改单位释放回内地的5万多人,还有50多万。除小部分逃到新疆等地外,至少饿死45万人,占全省人口近五分之一。

……

中国的后发劣势

本文为杨小凯 2002 年在天则所的一次演讲。原文:https://finance.ifeng.com/a/20140714/12712605_0.shtml

今天讲的题目是”后发劣势”,这个题目也许不太适合很多人的口味,因为现在国内都在讲”后发优势”。我讲的后发劣势在西方研究的人也不多,有一位过世的经经济学家叫沃森,他在财政联邦主义、政治经济学等领域很有建树,”后发劣势”概念就是他提出来的。他提出的英文名称叫”Curse To The Late Comer”,就是”对后来者的诅咒”。他的意思就是说,落后国家由于发展比较迟,所以有很多东西可以模仿发达国家。模仿有两种形式,一种是模仿制度,另一种是模仿技术和工业化的模式。由于是后发国家,所以可以在没有在基础制度的情况下通过技术模仿实现快速发展。为什麽说”诅咒”呢?就是说落后国家由于模仿的空间很大,所以可以在没有好的制度的条件下,通过对发达国家技术和管理模式的模仿,取得发达国家必须在一定制度下才能取得的成就。特别是落后国家模仿技术比较容易,模仿制度比较困难,因为要改革制度会触犯一些既得利益,因此落后国家会倾向于技术模仿。但是,这样做的落后国家虽然可以在短期内取得非常好的发展,但是会给长期的发展留下许多隐患,甚至长期发展可能失败。

……

为什么你总是会在微信里发错消息

最近,江苏常州的一个镇党委书记被免职。事件的起因是这位龚书记将私密消息错误发送到了微信工作群里。

龚书记

这已经不是第一起因为用户将私密消息错发到微信群里而酿成的惨案了。而此类惨案之所以层出不穷,完全是因为微信产品设计上的「坏」和「蠢」。

首先,在 iOS 平台上,点击微信的通知消息,在打开微信 APP 后,并不会进入通知消息所在的会话上下文,而是停留在之前的会话或会话列表。这并非操作系统的限制,而是微信产品故意为之,亦或者是它们根本不在乎。

……