Blog
Notes from building api0 and our Rust tools: AI agents, MCP, Azure integration and Rust itself.
Filter by topic
Showing 6 of 65 articles • Page 7 of 11
AI in Companies Isn't 50 Use Cases. It's 3 Things.
Most generative and agentic AI projects fit into three categories: agents for customers, integration layers for systems, and copilots for employees. Here is why that lens beats a list of fifty use cases.
Your Logic Apps Are a Graph, and the Azure Portal Only Shows You a List
Past a dozen workflows, an Azure Logic Apps estate stops being a list and becomes a graph connected by Service Bus queues and Event Grid topics. Here is why the portal cannot show you that graph, and what to do about it.
How Far Did That Order Get? Tracing a Correlation ID Across Cosmos DB
A customer says their order never arrived. You have a correlation id and an Azure Cosmos DB account with more containers than anyone remembers. Here is why the empty results matter more than the full ones.
GC Pauses and Latency: The Hidden Cost of High-Level Languages
Java, Python, and JavaScript offer convenience, but garbage collection introduces unpredictable latency. Explore how runtime memory management affects performance in real systems.
C Gives You Control, But at What Cost?
C avoids garbage collection and gives manual memory control, but opens the door to dangerous bugs. Explore real-world memory issues and why they matter.
Rust: Memory Safety Without Garbage Collection
Rust gives you the performance of C with memory safety enforced at compile time. Learn how ownership and borrowing eliminate entire bug classes.
How does ownership prevent memory leaks and data races?
How the ownership rules close off memory leaks and data races before the program ever runs, and where they stop short.
Stack vs. Heap in Rust: Where Does Your Data Live?
What actually decides whether a value lands on the stack or the heap in Rust, and what each choice costs you at runtime.
How does Rust ensure memory safety without a garbage collector?
Ownership, borrowing and lifetimes give Rust memory safety at compile time, with no collector and no runtime pauses to budget for.
How does Cow<'a, B> (Copy-on-Write) work in Rust?
Cow<'a, B> lets a function borrow when it can and allocate only when it must. How copy-on-write works and when it pays for itself.
Understanding the Drop Trait in Rust
How the Drop trait works, when the destructor runs, and why implementing it by hand is rarer than it looks.
How Rust's Ownership and Borrowing Ensure Safe Concurrency
Ownership and borrowing rule out data races at compile time. What Send and Sync add, and why Rc can't cross a thread boundary.