October 25, 2024Ardan Labs
From the Ardan Community
Introduction: Welcome to Episode 4 of Fearless Concurrency in Rust! In this episode, we explore how Rust’s ownership and borrowing rules impact multithreaded programming, focusing on the complexities of managing memory in a concurrent environment. We’ll break down how Rust’s strict borrowing and ownership model ensures safety and prevents common pitfalls like data races and undefined behavior, making it an ideal choice for building reliable multithreaded applications.
Thread Safety and Ownership: Managing variables across threads using Rust’s ownership rules.
Continue reading Introduction Everybody knows JSON, it’s a simple serialization format and the default format for REST APIs. Like many other topics, there are fine points you should know in order to work with JSON more effectively and avoid common mistakes.
In this article we’ll explore some big picture aspects and some low level details of using JSON.
Serialization Before diving into JSON, I’d like to take a look at serialization in general and discuss common mistakes I’ve seen my customers make.
Continue readingOctober 18, 2024Ardan Labs
From the Ardan Community
Introduction: Welcome to Episode 2 of JSON for Engineers! In this episode, we explore the unique characteristics of JSON as a schema-less format, discussing both its benefits and challenges. You’ll learn how JSON’s flexibility, while enabling rapid development, can create issues when working with strongly-typed languages like Go. Additionally, we’ll cover the differences between JSON and more compact binary formats, and how to handle JSON’s broader use in web applications.
Continue reading October 11, 2024Ardan Labs
From the Ardan Community
Introduction: Welcome to Episode 3 of the Fearless Concurrency series! In this episode, Herbert explores advanced threading techniques in Rust, focusing on scoped threads and the Rayon library to help developers build more efficient and parallelized applications. This episode is packed with practical insights on when and how to use different threading models to optimize performance and handle complex workloads.
Scoped Threads: Ensuring safe access to shared data with guaranteed lifetimes for concurrent threads.
Continue reading October 04, 2024Ardan Labs
From the Ardan Community
Introduction: Welcome to Episode 1 of JSON for Engineers! In this first episode, Miki Tebeka dives into the fundamentals of serialization, with a special focus on JSON, one of the most widely-used data formats in software engineering. Miki draws from his extensive development experience to explain how JSON fits into the bigger picture of data interchange and serialization, laying the groundwork for engineers to use it effectively in real-world applications.
Continue reading September 27, 2024Ardan Labs
From the Ardan Community
Introduction: Welcome to Episode 2 of the Fearless Concurrency in Rust series! In this episode, Herbert Wolverson dives into the fundamentals of threading in Rust, demonstrating how to use Rust’s threading capabilities effectively while maintaining safety. The focus is on using std::thread to spawn threads, preventing data races, and ensuring efficient, reliable multithreaded execution.
Creating Threads in Rust: How to spawn and manage operating system threads using std::thread::spawn.
Handling Data Races: Rust’s borrow checker and ownership system preventing unsafe data access across threads.
Continue reading September 20, 2024Ardan Labs
From the Ardan Community
Introduction: Welcome to the final episode of our Intro to Generative AI series! In this episode, Daniel Whitenack takes the concepts you’ve been learning and shows you how to apply advanced techniques like message chaining and factuality scoring to make your AI-driven systems smarter and more reliable. This session will help you understand how to create workflows that combine multiple models, ensuring your AI can provide accurate, context-aware responses and make decisions grounded in real data.
Continue reading September 13, 2024Ardan Labs
From the Ardan Community
Introduction: In Episode 1 of the Fearless Concurrency in Rust series, Herbert Wolverson introduces the foundational concept of threads in programming, tracing their origins and evolution while demonstrating how Rust handles concurrency in a safer, more manageable way. He explores the history of threads and their role in enabling programs to perform multiple tasks simultaneously, comparing Rust’s threading model with traditional approaches in C++ and Go.
Thread Basics and History: Understanding how threads function within operating systems and their development over time.
Continue reading September 06, 2024Ardan Labs
From the Ardan Community
Introduction: In Episode 6 of the Intro to Generative A.I. series, Daniel shifts the focus from basic search techniques to more dynamic, on-the-fly AI applications. He demonstrates how to enhance AI-driven interactions by integrating real-time data retrieval and multi-turn conversations, pushing beyond static data sources to create more responsive and context-aware systems.
Implementing real-time parsing and AI search of live websites. Enhancing chatbots with the ability to handle and respond to ongoing conversations.
Continue reading August 23, 2024Ardan Labs
From the Ardan Community
Introduction: Welcome to Episode 5 of our Intro to Generative AI series! In this episode, Daniel explores practical techniques for enhancing AI models’ ability to handle large volumes of text data effectively. He addresses the challenges developers face when working with extensive content, such as entire web pages or internal documents, and provides actionable strategies to optimize the retrieval and processing of relevant information.
Context Handling: Splitting large text into manageable chunks while preserving context.
Continue reading