-
·
Copilot is for productivity
GitHub Copilot is a powerful tool that has been integrated into many IDEs, with the most notable integration currently found in VSCode. The biggest impact lies in its productivity features. In many applications, you can chat with an AI about your code, and it can generate code, documentation, unit tests, and comments—often within a chat…
-
·
Patterns over Languages
In today’s world, there seems to be an intense focus on the programming language used for development. Some individuals even take a militant stance about their language of choice. While there are valid reasons why certain languages shine in specific contexts—such as the ecosystems and infrastructure built around them—I believe we often place too much…
-
·
Talent vs Qualifications
This is a challenging subject because there are general rules about hiring qualifications, and then there are exceptions to those rules. Most people enter the programming field through degrees or diplomas. I’m self-taught and deeply passionate about software. By the time I discovered my calling, I was living independently and taking care of my family.…
-
·
crs-template
Introduction I’ve developed a new client-side template that incorporates several core features I’ve refined over the years to support intent-driven development: This is all packaged in a updated version of crs-framework. Getting Started To get started, open your browser and go to the GitHub page: https://github.com/caperaven/crs-template. Click the “Use this template” button (green button at…
-
·
Rust, mapping between result types
I encountered a problem where my function uses,Result<Value, String>, but I also use Hugging Face Candle and std::fs::read, both of which have their own result types. For example, std::fs::read returns io::Result<Vec<u8>>. This means you can’t simply use the standard ? syntax to return the result. There are two ways to handle this: 2. Or, you…
-
·
Naming your code
Introduction In this post, we will explore the importance of naming in your code, encompassing functions, parameters, variables—essentially anything that requires a name. Many junior developers often struggle with effective naming. Our goal here is to provide guidelines and best practices for creating meaningful names. Why Naming is Important The primary reason naming is crucial…
-
·
Rust code coverage
Introduction An important part of development is writing tests. When I started, things like unit tests didn’t even exist. Now, I can’t imagine doing development without them. I’m a strong believer in test-driven development (TDD). While I don’t strictly adhere to writing tests before implementation, I’ve learned that tests are not just about ensuring quality—they’re…
-
·
Rust, fighting the borrow checker
This post is about my experience battling the Rust borrow checker during compilation. This is a common issue, especially for those with a strong OOP background. Spoiler alert: If you are struggling with the borrow checker, you are likely doing something wrong. Specifically, you might be thinking about your code structure in the wrong way.…
-
·
Understanding Advanced Rust Data Structures
In this blog post, we’ll dive deep into a Rust code snippet that showcases some of Rust’s powerful features for managing complex data structures in a concurrent environment. Code Breakdown We’ll start with the trait definition and then look at how it’s used in a struct. Trait Definition Struct Definition Detailed Explanation Let’s break down…
-
·
UI Automation
Introduction UI automation refers to testing of the user interface using automated systems instead of manual user testing. This is achieved through automation instructions that interacts with the user interface and ensuring that the response from the client is what was expected. The current mindset around automation is giving instructions on what to do.Click on…