Попробовал, наконец, классную математическую настольную игру "Машина Тьюринга".
На самом деле не столько игра, сколько головоломка, которую вы можете решать в одиночку, совместно или соревнуясь. Она совершенно гениально сделана, и я не до конца понимаю, как именно, но она работает и приносит много удовольствия.
Каждая задача в игре — трехзначное число с цифрами 1..5, зашифрованное в наборе карточек. Карточки двух видов: выражение и его валидатор. Выражение, например, может быть таким: "Вторая цифра меньше трех". Вы выдвигаете гипотезу, каким именно будет число-ответ. А дальше происходит магия — каждое такое число собирается из трёх перфокарт с отверстиями, вы прикладываете к сборке валидатор, и в единственном оставшемся отверстии видете бинарный результат: истина или ложь. Таким образом, получаете информацию о том, справедливо ли выражение для загаданного числа.
Ход за ходом вы должны выбирать самые эффективные гипотезы и выражения, которые отсекут больше всего неверных вариантов. В какой-то момент информации для однозначного ответа становится достаточно. Чем меньше ходов вы потратили, тем лучше.
Если вы нерд и любите фокусы с цифрами, то это прям мастхэв. Играется очень приятно, и вызывает неподдельный кайф каждый раз, когда вы собираете из кусочков ответ, хотя за мгновение до этого может казаться, что до решения ещё очень далеко.
Если же вы не фанат подобного, то подарите коробку знакомому математику, он будет рад!
#games
[$] A visualizer for BPF program state
BPF 验证器非常复杂,它需要检查 BPF 程序执行可能经过的每一条路径。其判断程序是否安全是基于程序的整个生命周期,而非简单的局部因素,这意味着验证失败的原因并不总是显而易见的。
在 2025 年东京 Linux Plumbers 大会上,Ihor Solodrai 和 Jordan Rome 介绍了他们正在构建的 **BPF 验证器可视化工具**。该工具旨在让诊断验证失败的过程变得更加容易。
通过这个可视化工具,开发者可以更直观地理解验证器的内部状态和决策过程,从而更快地定位和修复 BPF 程序中的问题。
原文链接:https://lwn.net/Articles/1050585/
相关资源:演示文稿 | 项目仓库
#Linux#BPF#内核开发#调试工具
#AIGC
Read more
[$] BPF comes to io_uring at last
Linux 内核的异步 I/O 接口 io_uring 通过两个共享环形缓冲区与用户空间通信:提交队列用于发送请求,完成队列则存放结果。尽管共享内存减少了大量开销,但内核仍需切换至用户空间以处理完成事件并提交后续工作,这仍会产生开销。
Pavel Begunkov 提交的补丁集旨在最小化这一开销。它允许开发者使用 BPF 程序扩展 io_uring 的事件循环,使程序能直接响应完成事件并提交后续工作项,无需切换至用户空间。该补丁集已开发很长时间,现已被内核社区接受。
这一改进将进一步提升 io_uring 的高性能 I/O 处理能力。
原文链接:https://lwn.net/Articles/1062286/
#Linux#内核#io_uring#BPF#性能优化
#AIGC
Read more
#go#bpf#cncf#cni#containers#ebpf#k8s#kernel#kubernetes#kubernetes_networking#loadbalancing#monitoring#networking#observability#security#troubleshooting#xdp
Cilium is an eBPF-based tool for Kubernetes that delivers fast networking, deep visibility, and strong security. It creates simple Layer 3 networks across clusters, handles load balancing to replace kube-proxy, enforces identity-based policies from L3 to L7 (like HTTP or DNS rules), supports service mesh with encryption, and offers Hubble for real-time traffic monitoring. Stable versions like v1.18.6 run on AMD64/AArch64. You gain scalable performance, easier policy management without IP hassles, better troubleshooting, and higher efficiency for large cloud-native apps, cutting costs and boosting reliability.
https://github.com/cilium/cilium