Каждый Новый Год, как вы помните, я пытаюсь придумать какую-то новую технологическую фишечку к празднику. Идея вот этого у меня возникла еще год назад, но ни времени, ни знаний для реализации толком не было. В этот же раз поставил себе цель обязательно разобраться и добить. Демка на видео, без звука будет непонятно.
Из недостатков, конечно, нужно калибровать под каждые светодиоды то, как визуально будет выглядеть тот или иной цвет. Я этого не делал, поэтому попадание не чтоб прям идеальное, особенно для сложных сцен типа «осенний лес».
Из крутого внезапно узнал, что ESP32 двухъядерная! Не знаю, как я это пропустил в своё время. Но тут прям можно одним потоком читать сеть, а другим драйвить ленту и не делать паузы.
В целом мне всё равно нравится. Работает под управлением DeepSeek. В первой версии был GigaChat, он отвечает где-то вдвое быстрее, но слишком часто предлагает цвета совершенно мимо того, что я назвал.
Репозиторий с не слишком аккуратным кодом, если кому не лень будет возиться :) С наступающим!
#dev@clockstackwheels#gadgets@clockstackwheels#diy@clockstackwheels
[$] 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