十年老GPS,开源逆向工程续命记

2025-07-26

作者以10欧元淘到一台2015年生产的Navman Bike 1000自行车电脑,发现其地图更新已停止,属于典型的计划报废。但作者通过逆向工程发现设备运行Windows CE 6.0系统,并利用Total Commander和开源导航软件NaVeGIS,结合OpenStreetMap数据,成功为其安装了最新的地图,甚至还运行了DOOM游戏。这篇文章展现了开源软件和逆向工程的强大力量,让过时设备焕发新生,并引发了对电子产品计划报废和可持续性的思考。

阅读更多
科技

Kubernetes原生高可用MQTT代理部署方案

2025-05-18

本文介绍了如何在Kubernetes上使用Eclipse Mosquitto搭建高可用MQTT代理。该方案利用Deployment、Service、ConfigMap和RBAC等核心Kubernetes组件,以及Traefik IngressRouteTCP实现外部MQTT流量的暴露。通过主从两个Mosquitto Broker,以及自定义的故障转移控制器,实现了轻量级、自愈的故障转移机制,将停机时间缩短至5秒,保证消息的持续可用性。即使主节点宕机,次要Broker也能够快速接管,保证消息的无缝传递。

阅读更多
开发

OpenVMS迎来了47岁生日礼物:Beta版包管理器VSP

2025-03-17

历经47年,支持4种不同CPU架构的OpenVMS操作系统终于迎来了自己的包管理器VSP!虽然目前仍处于Beta阶段,存在依赖关系解析不完整、缺乏更新管理和私有仓库支持等不足,但它已能显著简化软件安装流程,节省大量时间。VSP通过简单的命令即可搜索、下载和安装软件,彻底告别手动下载、解压和安装的繁琐步骤。未来改进方向包括自动化依赖处理、更新升级功能以及私有仓库支持,以媲美现代包管理器(如APT、YUM、DNF)。

阅读更多
开发 VSP

记录所有 C++ 析构函数:一种简易的运行时追踪方法

2024-09-22

本文介绍了一种利用 GCC 运行时插桩来记录 C++ 析构函数的方法,以便于在大型多线程代码库中处理关机问题。文章指出,在应用程序无法正常关闭,出现段错误或无异常终止的情况下,传统的内存泄漏检测工具 Valgrind 无法使用。作者通过记录所有析构函数并在代码停止后触发 SIGTRAP 以使用 GDB 进行调试,最终解决了问题。

阅读更多
42