<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FFI on AI VOID</title><link>https://ai-blog.noorshomelab.dev/tags/ffi/</link><description>Recent content in FFI on AI VOID</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 20 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-blog.noorshomelab.dev/tags/ffi/index.xml" rel="self" type="application/rss+xml"/><item><title>Advanced Topics: Unsafe Rust and FFI</title><link>https://ai-blog.noorshomelab.dev/rust-guide/advanced-unsafe-ffi/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/rust-guide/advanced-unsafe-ffi/</guid><description>&lt;h1 id="advanced-topics-unsafe-rust-and-ffi"&gt;Advanced Topics: Unsafe Rust and FFI&lt;/h1&gt;
&lt;p&gt;Rust&amp;rsquo;s strict compile-time safety guarantees are foundational. However, there are scenarios where these guarantees need to be circumvented to achieve specific goals, such as interacting with hardware, operating system features, or code written in other languages. This is where &lt;code&gt;unsafe&lt;/code&gt; Rust and the Foreign Function Interface (FFI) come into play.&lt;/p&gt;
&lt;p&gt;Entering an &lt;code&gt;unsafe&lt;/code&gt; block means you are telling the compiler, &amp;ldquo;I know what I&amp;rsquo;m doing, and I guarantee that this code is memory-safe.&amp;rdquo; The compiler will trust you. It is your responsibility to ensure that &lt;code&gt;unsafe&lt;/code&gt; code &lt;em&gt;actually&lt;/em&gt; upholds Rust&amp;rsquo;s memory safety guarantees.&lt;/p&gt;</description></item><item><title>Chapter 12: Advanced Rust Patterns, FFI, and Ecosystem Exploration</title><link>https://ai-blog.noorshomelab.dev/rust-mastery-2026/advanced-patterns-ffi-ecosystem/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/rust-mastery-2026/advanced-patterns-ffi-ecosystem/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Welcome to the final chapter of our Rust journey! You&amp;rsquo;ve come a long way, mastering the fundamentals, understanding Rust&amp;rsquo;s unique ownership system, tackling concurrency, and building robust, error-proof applications. Throughout this guide, we&amp;rsquo;ve emphasized Rust&amp;rsquo;s safety guarantees, which help prevent entire classes of bugs at compile time. But what happens when you need to step outside these guarantees for specific, highly optimized tasks or to interact with code written in other languages?&lt;/p&gt;</description></item><item><title>Chapter 10.1: Platform Specific Features (FFI &amp;amp; Channels)</title><link>https://ai-blog.noorshomelab.dev/flutter-latest-version-and-production-things-chapters/chapter-10-1-platform-features-slug/</link><pubDate>Sun, 23 Nov 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/flutter-latest-version-and-production-things-chapters/chapter-10-1-platform-features-slug/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Flutter, with its promise of &amp;ldquo;write once, run anywhere,&amp;rdquo; often handles most cross-platform complexities seamlessly. However, real-world applications frequently encounter scenarios where direct interaction with underlying platform-specific APIs or existing native codebases is indispensable. This is where Flutter&amp;rsquo;s mechanisms for platform interoperability come into play: &lt;strong&gt;Platform Channels&lt;/strong&gt; and the &lt;strong&gt;Foreign Function Interface (FFI)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Platform Channels provide a robust, asynchronous messaging system for communicating between Dart code and platform-specific code (Kotlin/Java for Android, Swift/Objective-C for iOS). FFI, on the other hand, offers a direct, synchronous way for Dart code to call C/C++ libraries, providing lower-level access and often higher performance for computationally intensive tasks or integration with existing native libraries. Understanding both is crucial for building powerful, production-ready Flutter applications that leverage the full capabilities of their host platforms.&lt;/p&gt;</description></item></channel></rss>