Leveraging expect in Tokio Tasks: A Cautionary Tale for Rustaceans
Rust is renowned for its focus on safety and concurrency, making it a popular choice for systems programming and high-performance applications. One of the most powerful libraries for handling asynchronous operations in Rust is Tokio. However, like any powerful tool, it must be used carefully to avoid pitfalls that can undermine its advantages. One such…
Supporting and Inspiring Junior Developers: Effective Strategies
Being a Junior software developer in your first job can be an overwhelming experience. You can feel like an imposter, even though you were hired on the strength of your limited experience and knowledge. It’s easy to feel out of your depth. The stress levels can be high, even if your team is making sure…
Exploring Circular Queues in Rust: A Practical Implementation
Introduction: In the world of programming, data structures play a crucial role in optimizing the efficiency of algorithms and managing data. One such versatile data structure is the circular queue, known for its ability to efficiently manage a fixed-size collection of elements. In this blog post, we’ll delve into a practical implementation of a circular…
Automating Programs with Input Redirection and Process Substitution in Bash
In the world of scripting and automation, Bash remains a popular choice for its flexibility and power. When working with interactive programs that require multiple user prompts, input redirection and process substitution become invaluable tools. These techniques allow you to automate tasks that would otherwise require manual input, making your scripts more efficient and reliable.…
Building a Flashable Linux Image
Creating a flashable Linux image can be a valuable task when you want to distribute a pre-configured environment or system for various purposes. In this blog post, we’ll walk you through the process of building a flashable Linux image using a set of commands. These commands, when executed, will create a Linux image with an…
“Failed to Configure Keyring: Unexpected End of JSON Input” Error in Consul
Introduction Consul is a powerful tool for service discovery and configuration management, widely used in modern microservices architectures. However, like any software, it can sometimes throw unexpected errors. One such error is “Failed to configure keyring: unexpected end of JSON input.” This error message can be mystifying, but it often has a straightforward cause: a…
Solving the “Root Resource Was Present, but Now Absent” Error in Terraform Plugins
Terraform is a powerful infrastructure-as-code tool that allows developers to define and provision infrastructure resources using a declarative configuration language. When developing custom Terraform plugins or providers, you might encounter a cryptic error message: “Root resource was present, but now absent.” This error can be puzzling, but it often boils down to a common issue…
Hosting your own ubuntu github action runner
Github actions are really cool, the workflow syntax is easy to grok and there are tonnes of pre-built actions out there you can used to build your code. The free tier is a little limited on the number of hours you get. If you’re stuck trying to debug a deployment or build issue that doesn’t…
Kotlin code coverage in CI/CD
I ran in to a few problems with CI/CD for code coverage in kotlin recently. The toolchain I was using was kotlin kover gradle github actions Kover does have a JaCoCo output format which would have enabled using the JaCoCo-report action, however I kept hitting a stack trace when trying to use the JaCoCo output…
Object storage backend on OVH with terraform
When configuring the swift backend for terraform using OVH, I ran in to the following error: I was using a pretty standard configuration Exactly as the documentation states, here. This is caused by a problem alluded to in the comment of this issue on github. As I was using the same configuration for my resources…
Something went wrong. Please refresh the page and/or try again.
Follow My Blog
Get new content delivered directly to your inbox.
