微软 Outlook consumer 消费者电子邮件业务最近加强了对大批量发信方的安全要求,具体来说此前只会导致邮件被放入垃圾邮件箱的 SPF/DKIM/DMARC 问题现在会无条件退信,错误代码 550; 5.7.515,这一改动是在 5 月 5 日生效的,收件方无法通过任何方式绕过这一问题,包括将发件方加入可信发件人列表
https://support.microsoft.com/en-us/topic/fix-ndr-error-550-5-7-515-in-outlook-com-34cfe8f8-6fbf-457e-9e8b-9e4dbaf4e0ef → https://techcommunity.microsoft.com/blog/microsoftdefenderforoffice365blog/strengthening-email-ecosystem-outlook%E2%80%99s-new-requirements-for-high%E2%80%90volume-senders/4399730
目前已知 QQ 邮箱 @qq.com 不满足这一要求,可以认为腾讯其他相关的服务也不满足,尚未就此事联系腾讯客服(我要睡觉)
https://support.microsoft.com/en-us/topic/fix-ndr-error-550-5-7-515-in-outlook-com-34cfe8f8-6fbf-457e-9e8b-9e4dbaf4e0ef → https://techcommunity.microsoft.com/blog/microsoftdefenderforoffice365blog/strengthening-email-ecosystem-outlook%E2%80%99s-new-requirements-for-high%E2%80%90volume-senders/4399730
目前已知 QQ 邮箱 @qq.com 不满足这一要求,可以认为腾讯其他相关的服务也不满足,尚未就此事联系腾讯客服(我要睡觉)
Resurrecting a dead torrent tracker and finding 3M peers https://kianbradley.com/2025/06/15/resurrecting-a-dead-tracker.html
Chips and Cheese
AMD’s CDNA 4 Architecture Announcement
#ChipAndCheese
Telegraph | source
(author: Chester Lam)
AMD’s CDNA 4 Architecture Announcement
#ChipAndCheese
Telegraph | source
(author: Chester Lam)
Arch Linux: Recent news updates
Transition to the new WoW64 wine and wine-staging
We are transitioning the wine and wine-staging package to a pure wow64 build. This change removes the dependency on the multilib repository for wine and wine-staging.
The main reason for this is to align with upstream Wine development, which simplifies packaging and the dependency chain.
Potential Issues:
● OpenGL Performance: A known limitation of the new WoW64 mode is reduced performance for 32-bit applications that use OpenGL directly
● Breaking Changes: Existing 32-bit prefixes needs to be recreated
If you are facing issues with 32 bit prefixes, please recreate these and reinstall the application.
source
(author: Peter Jung)
Transition to the new WoW64 wine and wine-staging
We are transitioning the wine and wine-staging package to a pure wow64 build. This change removes the dependency on the multilib repository for wine and wine-staging.
The main reason for this is to align with upstream Wine development, which simplifies packaging and the dependency chain.
Potential Issues:
● OpenGL Performance: A known limitation of the new WoW64 mode is reduced performance for 32-bit applications that use OpenGL directly
● Breaking Changes: Existing 32-bit prefixes needs to be recreated
If you are facing issues with 32 bit prefixes, please recreate these and reinstall the application.
source
(author: Peter Jung)
Metcalfe’s Law against Brooks’ Law
Guido van Rossum, Python’s creator, recently said: “We have a huge community, but relatively few people, relatively speaking, are contributing meaningfully.”
This highlights a paradox.
Software thrives on the network effect, or Metcalfe’s Law, where a system’s value scales with the square of its users. Linux excels because its vast user base fuels adoption, documentation, and compatibility everywhere.
But larger teams don’t build better software—often the reverse. Brooks’ Law, from Fred Brooks’ The Mythical Man-Month, shows that adding people increases communication overhead, slowing progress. The Pareto Principle (80/20 rule) also applies: a small minority drives most meaningful contributions. Great software often stems from a single visionary or a small, cohesive team, not a crowd.
The network effect applies primarily to users, not necessarily to creators.
source
Chips and Cheese
AMD’s Pre-Zen Interconnect: Testing Trinity’s Northbridge
#ChipAndCheese
Telegraph | source
(author: Chester Lam)
AMD’s Pre-Zen Interconnect: Testing Trinity’s Northbridge
#ChipAndCheese
Telegraph | source
(author: Chester Lam)
Jemalloc Postmortem https://jasone.github.io/2025/06/12/jemalloc-postmortem/
杰哥的{运维,编程,调板子}小笔记
在鸿蒙电脑上的虚拟机内启动 Linux¶
背景¶
最近在研究鸿蒙电脑,群友 @Fearyncess 摸索出了,如何在鸿蒙电脑上的虚拟机内启动 Linux,而不是 Windows。在此做个复现并记录。
方法¶
目前鸿蒙的应用市场上有两家虚拟机,我用 Oseasy 虚拟机,但是理论上铠大师也是可以的。
首先需要在 U 盘上,把一个 UEFI arm64 的 Linux 安装盘写进去。我用的是 Ventoy + Debian Installer,理论上直接写例如 Debian 发行版的安装 ISO 也是可以的。
然后把 U 盘插到鸿蒙电脑上,打开 Windows 虚拟机,直通到虚拟机里面,保证虚拟机里面可以看到 U 盘。
接着,进入 Windows 磁盘管理,缩小 Windows 的 NTFS 分区,留出空间。注意 Windows 启动的时候会自动 growpart,所以装 Debian 前,不要回到 Windows。装好以后,可以继续用 Windows。
接着,重启 Windows,同时按住 Escape,进入 OVMF 的界面,然后选择 Boot Manager,从 U 盘启动,然后就进入 Ventoy 的界面了。
剩下的就是正常的 Linux 安装过程了,分区的时候,注意保留 Windows 已有的 NTFS,可以和 Windows 用同一个 ESP 分区。网络的话,配置静态 IP 是 172.16.100.2,默认网关是 172.16.100.1 即可。重启以后,在 grub 界面,修改 linux 配置,在 cmdline 一栏添加
source
在鸿蒙电脑上的虚拟机内启动 Linux¶
背景¶
最近在研究鸿蒙电脑,群友 @Fearyncess 摸索出了,如何在鸿蒙电脑上的虚拟机内启动 Linux,而不是 Windows。在此做个复现并记录。
方法¶
目前鸿蒙的应用市场上有两家虚拟机,我用 Oseasy 虚拟机,但是理论上铠大师也是可以的。
首先需要在 U 盘上,把一个 UEFI arm64 的 Linux 安装盘写进去。我用的是 Ventoy + Debian Installer,理论上直接写例如 Debian 发行版的安装 ISO 也是可以的。
然后把 U 盘插到鸿蒙电脑上,打开 Windows 虚拟机,直通到虚拟机里面,保证虚拟机里面可以看到 U 盘。
接着,进入 Windows 磁盘管理,缩小 Windows 的 NTFS 分区,留出空间。注意 Windows 启动的时候会自动 growpart,所以装 Debian 前,不要回到 Windows。装好以后,可以继续用 Windows。
接着,重启 Windows,同时按住 Escape,进入 OVMF 的界面,然后选择 Boot Manager,从 U 盘启动,然后就进入 Ventoy 的界面了。
剩下的就是正常的 Linux 安装过程了,分区的时候,注意保留 Windows 已有的 NTFS,可以和 Windows 用同一个 ESP 分区。网络的话,配置静态 IP 是 172.16.100.2,默认网关是 172.16.100.1 即可。重启以后,在 grub 界面,修改 linux 配置,在 cmdline 一栏添加
modprobe.blacklist=vmwgfx
,这样就能启动了。内核版本是 Debian Bookworm 的 6.1。6.12 的版本会起不来。source
Visualize and debug Rust programs with a new lens https://firedbg.sea-ql.org/
杰哥的{运维,编程,调板子}小笔记
在 HarmonyOS 5 上运行 Fortran 程序¶
背景¶
前段时间把 SPEC CPU 2017 移植到了鸿蒙 5 上:https://github.com/jiegec/SPECCPU2017Harmony,由于 SPEC CPU 2017 里有不少 Fortran 程序,所以就研究了一下怎么编译 Fortran 代码,最终搞成了,在这里记录一下。
过程¶
HarmonyOS 5 的工具链用的是 LLVM 15,自带的编译器是 clang,那个时候还没有 LLVM flang。但是,经过实际测试,使用新版本的 flang,也是可以的,只是需要做一些额外的操作。例如 flang 有自己的 runtime(类比 libgcc 和 LLVM 的 compiler-rt),需要交叉编译一个 arm64 的版本,下面是仓库中 build-flang.sh 的内容:
核心就是以 aarch64-linux-ohos 为 target,编译出三个
参考 [flang] fatal Fortran runtime error,就知道是编译器版本和 runtime 不兼容的问题了。
编译好了 fortran runtime 之后,就可以用 flang-new-20 编译 fortran 代码了。这里给出 CMake 的配置方式,主要涉及到需要用的编译选项:
这里的相对路径,其实就是要找到新编译出来的 flang runtime,以及 HarmonyOS command line tools 里面的一些库,具体路径需要根据实际情况来调整,这里只是一个样例。
到这里,就可以在 HarmonyOS 5 上运行 Fortran 程序了。其实还可以考虑研究一下 GFortran,或许也是能实现的,但目前还没有去做进一步的尝试。
source
在 HarmonyOS 5 上运行 Fortran 程序¶
背景¶
前段时间把 SPEC CPU 2017 移植到了鸿蒙 5 上:https://github.com/jiegec/SPECCPU2017Harmony,由于 SPEC CPU 2017 里有不少 Fortran 程序,所以就研究了一下怎么编译 Fortran 代码,最终搞成了,在这里记录一下。
过程¶
HarmonyOS 5 的工具链用的是 LLVM 15,自带的编译器是 clang,那个时候还没有 LLVM flang。但是,经过实际测试,使用新版本的 flang,也是可以的,只是需要做一些额外的操作。例如 flang 有自己的 runtime(类比 libgcc 和 LLVM 的 compiler-rt),需要交叉编译一个 arm64 的版本,下面是仓库中 build-flang.sh 的内容:
#!/bin/sh# build missing libraries for aarch64-linux-ohos target# assume llvm-project is cloned at $HOME/llvm-projectset -x -emkdir -p flangexport PATH=~/command-line-tools/sdk/default/openharmony/native/llvm/bin:$PATHDST=$PWD/flangcd $HOME/llvm-projectgit checkout main# match hash in flang-new-20 --versiongit reset 7cf14539b644 --hardcd libunwindrm -rf buildmkdir -p buildcd buildcmake .. -G Ninja \ -DCMAKE_C_FLAGS="-target aarch64-linux-ohos -fuse-ld=lld" \ -DCMAKE_C_COMPILER="clang" \ -DCMAKE_CXX_FLAGS="-target aarch64-linux-ohos -fuse-ld=lld" \ -DCMAKE_CXX_COMPILER="clang++"ninjacp lib/libunwind.a $DST/cd ../../cd flang/lib/Decimalrm -rf buildmkdir -p buildcd buildcmake .. -G Ninja \ -DCMAKE_C_FLAGS="-target aarch64-linux-ohos -fuse-ld=lld -fPIC" \ -DCMAKE_C_COMPILER="clang" \ -DCMAKE_CXX_FLAGS="-target aarch64-linux-ohos -fuse-ld=lld -fPIC" \ -DCMAKE_CXX_COMPILER="clang++"ninjacp libFortranDecimal.a $DST/cd ../../../../cd flang/runtimerm -rf buildmkdir -p buildcd buildcmake .. -G Ninja \ -DCMAKE_C_FLAGS="-target aarch64-linux-ohos -fuse-ld=lld -fPIC" \ -DCMAKE_C_COMPILER="clang" \ -DCMAKE_CXX_FLAGS="-target aarch64-linux-ohos -fuse-ld=lld -fPIC" \ -DCMAKE_CXX_COMPILER="clang++"ninjacp libFortranRuntime.a $DST/cd ../../../ls -al $DST
核心就是以 aarch64-linux-ohos 为 target,编译出三个
.a
文件,之后再链接上就可以了。需要注意的是,runtime 版本和 flang 版本需要一致。为了偷懒,直接用的是 LLVM APT 提供的 flang-new-20 的 binary,那么它是会随着 apt upgrade 而更新的,这个时候就需要重新编译一次 flang runtime,然后链接到程序里。如果版本不对上,可能遇到一些问题:fatal Fortran runtime error(/home/jiegec/llvm-project/flang/runtime/descriptor.cpp:74): not yet implemented: type category(6)
参考 [flang] fatal Fortran runtime error,就知道是编译器版本和 runtime 不兼容的问题了。
编译好了 fortran runtime 之后,就可以用 flang-new-20 编译 fortran 代码了。这里给出 CMake 的配置方式,主要涉及到需要用的编译选项:
set(CMAKE_Fortran_COMPILER_FORCED TRUE)set(CMAKE_Fortran_COMPILER "flang-new-20")set(CMAKE_Fortran_FLAGS "-target aarch64-linux-ohos -fuse-ld=lld -L ${CMAKE_CURRENT_SOURCE_DIR}/../../../../flang -nostdlib -L ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../command-line-tools/sdk/default/openharmony/native/sysroot/usr/lib/aarch64-linux-ohos -lc -lm -L ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../command-line-tools/sdk/default/openharmony/native/llvm/lib/clang/15.0.4/lib/aarch64-linux-ohos/ -lclang_rt.builtins -lFortranRuntime -lFortranDecimal")enable_language(Fortran)
这里的相对路径,其实就是要找到新编译出来的 flang runtime,以及 HarmonyOS command line tools 里面的一些库,具体路径需要根据实际情况来调整,这里只是一个样例。
到这里,就可以在 HarmonyOS 5 上运行 Fortran 程序了。其实还可以考虑研究一下 GFortran,或许也是能实现的,但目前还没有去做进一步的尝试。
source
杰哥的{运维,编程,调板子}小笔记
鸿蒙电脑 MateBook Pro 开箱体验¶
购买¶
2025.6.6 号正式开卖,当华为线上商城显示没货的时候,果断去线下门店买了一台回来。购买的是 32GB 内存,1TB SSD 存储,加柔光屏的版本,型号 HAD-W32,原价 9999,国补后 7999。
开箱¶
由于用了国补,需要当面激活,就在店里直接激活了,所以没有体验到鸿蒙系统的扫码激活功能,有点可惜。激活前的第一次开机需要插电,直接按电源键是没有反应的。激活过程也很简单,联网,创建用户,登录华为账号,就可以了。包装盒里还有 140W 单口 Type-C 电源适配器,体积挺小的。此外附赠了一条 Type-C to Type-C 的线,还有一个 Type-C 有线耳机,外加一个 Type-A 母口加 Type-C 公口的线,可以用来接 Type-A 公口的外设。此外还有快速指南和一个超纤抛光布。
外形上,就是 MateBook X Pro 加了一个 HarmonyOS 的标识,上手很轻,不愧是不到一公斤的笔记本,对于习惯用 MacBookAir 轻薄本的我来说,是很大的一个亮点。
未完待续¶
source
鸿蒙电脑 MateBook Pro 开箱体验¶
购买¶
2025.6.6 号正式开卖,当华为线上商城显示没货的时候,果断去线下门店买了一台回来。购买的是 32GB 内存,1TB SSD 存储,加柔光屏的版本,型号 HAD-W32,原价 9999,国补后 7999。
开箱¶
由于用了国补,需要当面激活,就在店里直接激活了,所以没有体验到鸿蒙系统的扫码激活功能,有点可惜。激活前的第一次开机需要插电,直接按电源键是没有反应的。激活过程也很简单,联网,创建用户,登录华为账号,就可以了。包装盒里还有 140W 单口 Type-C 电源适配器,体积挺小的。此外附赠了一条 Type-C to Type-C 的线,还有一个 Type-C 有线耳机,外加一个 Type-A 母口加 Type-C 公口的线,可以用来接 Type-A 公口的外设。此外还有快速指南和一个超纤抛光布。
外形上,就是 MateBook X Pro 加了一个 HarmonyOS 的标识,上手很轻,不愧是不到一公斤的笔记本,对于习惯用 MacBookAir 轻薄本的我来说,是很大的一个亮点。
未完待续¶
source
#TIL
GhostScript
How to avoid AIGC Detection on your arts homework (assuming your teacher doesn't know what is OCR and have no time digging into what happened)
GhostScript
How to avoid AIGC Detection on your arts homework (assuming your teacher doesn't know what is OCR and have no time digging into what happened)
gs -o vector.pdf -sDEVICE=pdfwrite -dNoOutputFonts input.pdf
How Compiler Explorer Works in 2025 — Matt Godbolt’s blog
https://xania.org/202506/how-compiler-explorer-works
https://xania.org/202506/how-compiler-explorer-works