A story about AF_XDP, network namespaces and a cookie
A crash in a development version of flowtrackd (the daemon that powers our Advanced TCP Protection) highlighted the fact that libxdp (and specifically the AF_XDP part) was not Linux network namespace aware. This blogpost describes the debugging journey to find the bug, as well as a fix.
As an open-source maintainer, I always put effort into documenting all known edge cases so that users know how to fix problems. So, whenever users report incompatibilities, we highlight them in our documentation. Still, I realized this approach wasn’t working when users came to our Slack asking for help with problems we had already documented.
What every developer should know about GitHub CODEOWNERS
We decided to test all possible scenarios to identify how GitHub’s CODEOWNERS file can be configured and misconfigured. The bottom line is that what seems to be configured properly misbehaves with different settings. This blog post highlights these scenarios and provides tips to mitigate them.
Jakob Nielsen's 10 general principles for interaction design. They are called "heuristics" because they are broad rules of thumb and not specific usability guidelines.
Beyond Usability: Designing With Persuasive Patterns — Smashing Magazine
You probably have a great product. You’ve done your usability deeds and you have a few core customers who regularly use your product. However, it just doesn’t stick out from the competition. It has a **high bounce rate**, only few users return, users abandon your product faster than you would like and, in general, users never get far enough to experience all that your product has to offer.
One of the most popular languages for infrastructure-as-code is becoming Typescript. AWS CDK, Hashicorp CDK, Pulumi, and more support Typescript as a first-class citizen. How did we go from writing frontend components to cloud development kits? A technical look at the requirements of infrastructure-as-code languages.
* A strongly typed system is
It has been almost two years since infrastructure software maker Progress Software spent $220 million to buy Chef, the open source automation tech vendor
Fixing the Next Thousand Deadlocks: Why Buffered Streams Are Broken and How To Make Them Safer
I am fortunate enough to work on a production Rust service (a real one, not cryptocurrency nonsense). Rust virtually eliminates the kinds of stupid bugs and gotchas that are endemic in other languages, making it much easier to develop and maintain our project. Unfortunately, Rust is substantially less capable when it comes to preventing the common issues involved in async programming. In fact, async programming is substantially harder to get right in Rust than in something like Javascript, due to the decision to make task spawning explicit for performance reasons.
Product-Engineering Collaboration – Getting Past Waterfall
XKCD #1425 I was reading a book on a lazy Sunday afternoon when I learnt something that completely changed the way I looked at one of the iconic movies from my childhood – Toy Story. This was…
Why Design Thinking is a box office hit for open source teams
For the past several years, Design Thinking has been providing a way to enhance problem solving within teams, to ensure learning goals are met, and to increase team engagem
The Importance of Design in Tech & Business - 3DPhacktory
Think of your top five favourite products — Your Apple iPhone? Your Bose speakers? Your Apple macbook? Your Nike runners? You might be wondering what all of these products have in common. Despite the fact that they serve purposes that are either technology based, comfort based, health based etc., they all share the common feature of […]
The Implicit Driver Of Resilience: The Neuroscience of Self-Renewal - Resilience Tech Report
Draft concept for Resilience Tech Report 2023 Technologies for achieving greater resilience have risen due to macroscopic shifts in climate change and societal disruptions that are worsening. In the inaugural #ResilienceTech Report, Maeda highlighted the industries built around how businesses, individuals, and countries meet these rising challenges. The 2022 report's unfortunate takeaway was that despite
Booz Allen Hamilton's eight fundamental questions to diagnose enterprise resilience: Are the complexity of the extended enterprise and major earnings drivers across it transparent? Are interdependencies understood and interdependence risks identified? What programs are in place to ensure the viability of earnings drivers? Are these programs fully aligned with corporate strategy and objectives, and do