I stopped tracking the (lack of) progress in network automation years ago, when I realized I had nothing new to say. As an eternal optimist, I hoped I was just missing something, but Urs Baumann (the guest of Software Gone Wild Episode 206) destroyed my hopes when he said, “I can still use the same slides I created 10 years ago”. On a more positive note, he recently completed his Master’s thesis on AI in network engineering, so we ended with a nice chat on its potential impact.
In this roundtable episode of the Hedge, Eyvonne, Tom, and Russ hang out and talk about data centers–why are we building all these things again? Our second topic is the FCC’s ban on non-US made home routers. Was this the right thing to do? Was it the wrong thing to do? Were there any other policy options?
download
Danau Moat adalah salah satu destinasi alam menakjubkan yang terletak di Moat, Modayag, Kabupaten Bolaang Mongondow Timur, Sulawesi Utara. Danau ini menawarkan pemandangan alami yang memesona dan menjadi sumber kehidupan bagi masyarakat sekitar. Setiap pengunjung yang datang akan langsung merasakan ketenangan dan kesegaran udara yang jarang ditemukan di daerah perkotaan.
Selain keindahan alamnya, Danau Moat juga memiliki keanekaragaman hayati yang menarik. Airnya yang jernih menampung berbagai spesies ikan lokal, sementara tepiannya dipenuhi oleh pepohonan hijau yang menambah suasana damai. Dengan lokasi yang mudah dijangkau, danau ini menjadi tempat favorit untuk wisata keluarga, fotografi alam, dan rekreasi edukatif.
Pengunjung bisa melakukan berbagai aktivitas di sekitar Danau Moat. Pertama, memancing adalah kegiatan yang populer karena danau ini kaya dengan ikan air tawar. Selain itu, banyak pengunjung memilih berperahu untuk menikmati keindahan danau dari perspektif berbeda.
Selanjutnya, berkemah di tepi danau menjadi pengalaman yang tak terlupakan. Dengan suasana yang sejuk dan tenang, pengunjung bisa merasakan kedekatan dengan alam sambil menikmati matahari terbenam. Untuk para pecinta fotografi, Danau Moat menawarkan view eksotis yang sempurna untuk menangkap pemandangan alam Sulawesi Utara.
Flora di sekitar danau sangat Continue reading
Tembok Besar Gorgan merupakan struktur pertahanan kuno yang membentang di timur laut Iran. Dibangun sekitar abad ke-5 Masehi, tembok ini menjadi simbol kekuatan militer dinasti Sassanid. Menakjubkannya, panjang tembok ini hampir setara dengan 200 km, menjadikannya terpanjang kedua setelah Tembok Besar Tiongkok.
Tembok Gorgan dirancang untuk melindungi wilayah dari serangan nomaden dari utara. Selain itu, benteng ini menunjukkan kemampuan teknik sipil yang tinggi, dengan bahan bangunan yang tahan lama, termasuk bata merah dan batu alam lokal. Dengan parit besar dan menara pengawas setiap beberapa ratus meter, pertahanan ini memberikan kontrol strategis atas rute perdagangan dan migrasi.
Tembok Besar Gorgan memiliki arsitektur yang kompleks. Panjangnya membentang dari Laut Kaspia hingga Pegunungan Pishkamar, melintasi lembah dan dataran tinggi. Benteng ini memiliki parit lebar di satu sisi dan dinding batu setinggi lebih dari 6 meter di sisi lain.
| Fitur Utama | Detail |
|---|---|
| Panjang | ±200 km |
| Tinggi dinding | 6–8 meter |
| Lebar dinding | 3 meter |
| Menara pengawas | Setiap 10–15 km |
| Bahan | Bata merah, batu lokal |
Selain itu, menara pengawas dan pos militer kecil tersebar sepanjang tembok, memungkinkan pengawasan efektif terhadap gerakan musuh. Arsitektur ini menunjukkan strategi pertahanan berlapis, yang jarang ditemukan pada benteng Continue reading
Another week, another interesting AI article (is anyone writing about anything else these days?), this time from Noah Smith (another author worth following). I found this gem hidden in his weekly roundup:
Instead of trying to write a piece of code from scratch, or prove a math theorem from scratch, or figure out some piece of knowledge for yourself, you just ask AI to do it all for you. So everyone ends up getting the right answers to questions whose answers are already known, so they don’t end up adding anything new.
Vertical rhythm aligns lines to a consistent spacing cadence down the page. It
creates a predictable flow for the eye to follow. Thanks to the rlh CSS unit,
vertical rhythm is now easier to implement for text.1 But illustrations
and tables can disrupt the layout. The amateur typographer in me wants to follow
Bringhurst’s wisdom:
Headings, subheads, block quotations, footnotes, illustrations, captions and other intrusions into the text create syncopations and variations against the base rhythm of regularly leaded lines. These variations can and should add life to the page, but the main text should also return after each variation precisely on beat and in phase.
― Robert Bringhurst, The Elements of Typographic Style
Three factors govern vertical rhythm: font size, line height and margin or padding. Let’s set our baseline with an 18-pixel font and a 1.5 line height:
html { font-size: 112.5%; line-height: 1.5; } h1, h2, h3, h4 { font-size: 100%; } html, body, h1, h2, h3, h4, p, blockquote, dl, dt, dd, ol Continue reading
Rust Workers run on the Cloudflare Workers platform by compiling Rust to WebAssembly, but as we’ve found, WebAssembly has some sharp edges. When things go wrong with a panic or an unexpected abort, the runtime can be left in an undefined state. For users of Rust Workers, panics were historically fatal, poisoning the instance and possibly even bricking the Worker for a period of time.
While we were able to detect and mitigate these issues, there remained a small chance that a Rust Worker would unexpectedly fail and cause other requests to fail along with it. An unhandled Rust abort in a Worker affecting one request might escalate into a broader failure affecting sibling requests or even continue to affect new incoming requests. The root cause of this was in wasm-bindgen, the core project that generates the Rust-to-JavaScript bindings Rust Workers depend on, and its lack of built-in recovery semantics.
In this post, we’ll share how the latest version of Rust Workers handles comprehensive Wasm error recovery that solves this abort-induced sandbox poisoning. This work has been contributed back into wasm-bindgen as part of our collaboration within the wasm-bindgen organization formed last year. First with panic=unwind support, which ensures that Continue reading
I spent the last two days in Bologna at ITNOG 10 in the excellent company of Italian networking engineers (many of them personal friends) and a few guests from around the world. As always, the organizers and the program committee didn’t disappoint – it was a smoothly organized, lovely event full of interesting presentations. Thanks a million to everyone involved; I’ll definitely be back!
Now for the highlights, starting with the ultimate catnip for the differently attentive: running two presentations in parallel on the same screen with the soundtrack distributed via headphones. I’ve never seen anything like that, and while it looked weird (I have no idea how the presenters took it), it turned out to be very useful, as you could easily tune out AI-washing presentations and switch to something more interesting. On the other hand, you could be faced with a hard choice of having to select one of two excellent presentations:
Organisations are re-evaluating their VM infrastructure. The economics have shifted, the tooling has matured, and the case for running two separate platforms, one for containers, one for VMs, is getting harder to justify. Platform teams that spent years managing hypervisor infrastructure are being asked to consolidate, and most are landing on the same answer: Kubernetes.
KubeVirt makes running VMs on Kubernetes possible. But KubeVirt networking – what happens to a VM’s IP address, VLAN, and security posture when it lands in a cluster – is where most migration plans hit a wall. The reasons go beyond cost:
The decision to migrate is being made. The question is how to do it without causing chaos.
KubeVirt extends the Kubernetes API with new custom resource Continue reading
For us humans to interact with the online world, we need a gateway: keyboard, screen, browser, device. What is called "human detection" online are patterns that humans use when interacting with such devices. These patterns have changed in recent years: a startup CEO now uses their browser to summarize the news, a tech enthusiast automates the process to book their concert tickets when sales open at night, someone who's visually impaired enables accessibility on their screen reader, and companies route their employee traffic through zero trust proxies.
At the same time, website owners are still looking to protect their data, manage their resources, control content distribution, and prevent abuse. These problems aren’t solved by knowing whether the client is a human or a bot: There are wanted bots and there are unwanted humans. These problems require knowing intent and behavior. The ability to detect automation remains critical. However, as the distinctions between actors become blurry, the systems we build now should accommodate a future where "bots vs. humans" is not the important data point.
What actually matters is not humanity in the abstract, but questions such as: is this attack traffic, is that crawler load proportional to the traffic it Continue reading
Phil Gervasi wrote an interesting article describing Rail-Optimized Networking for AI Training Workloads. Go read it first; I’ll wait.
Does it sound interesting? Were you able to see behind the curtain and figure out what it’s really about?
Code review is a fantastic mechanism for catching bugs and sharing knowledge, but it is also one of the most reliable ways to bottleneck an engineering team. A merge request sits in a queue, a reviewer eventually context-switches to read the diff, they leave a handful of nitpicks about variable naming, the author responds, and the cycle repeats. Across our internal projects, the median wait time for a first review was often measured in hours.
When we first started experimenting with AI code review, we took the path that most other people probably take: we tried out a few different AI code review tools and found that a lot of these tools worked pretty well, and a lot of them even offered a good amount of customisation and configurability! Unfortunately, though, the one recurring theme that kept coming up was that they just didn’t offer enough flexibility and customisation for an organisation the size of Cloudflare.
So, we jumped to the next most obvious path, which was to grab a git diff, shove it into a half-baked prompt, and ask a large language model to find bugs. The results were exactly as noisy as you might expect, with a flood Continue reading