Articles in the Programming category

  1. Counting Lines of Code by Language in a Code Repository

    Posted on in programming

    Understanding the composition of a codebase can provide valuable insights: Which languages dominate the repository? Where might maintenance efforts be concentrated? Counting lines of code by language is a common task when assessing project complexity, preparing for audits, or reporting progress in multi-language environments.

    In this article, we’ll explore …

  2. Counting Bazel Targets by Top-Level Directory

    Posted on in programming

    When working with large Bazel code repositories, it’s not always clear how targets are distributed across directories. Understanding how many targets each top-level directory contains can help gauge complexity, identify hotspots, or guide refactoring efforts.

    While Bazel itself doesn’t have a direct command to provide a “count of …

  3. Protobuf in Rust: Integrating Another Language into the gRPC Ecosystem

    Posted on in programming

    We’ve now built similar RPC setups using Thrift and Protobuf/gRPC in Java and Python. Following the pattern established with Thrift, let’s integrate Rust into our Protobuf/gRPC ecosystem. Rust’s performance and safety features make it a popular choice for high-performance back-ends, and this exercise will show …

  4. Getting Started with Thrift: Building a Java Server and Python Client

    Posted on in programming

    In our first article, we introduced Thrift and Protobuf and laid out our plan to build cross-language client/server applications. Now, it’s time to dive into a hands-on example with Thrift. In this article, we’ll define a simple service using Thrift’s IDL, implement a server in Java …

  5. Introduction to Thrift and Protobuf: Laying the Foundation for Cross-Language RPC

    Posted on in programming

    Modern distributed systems often span multiple programming languages, architectures, and runtimes. As services grow in complexity and scale, developers turn to powerful serialization frameworks and RPC (Remote Procedure Call) mechanisms that streamline inter-service communication. Two such technologies, Thrift and Protobuf, have emerged as popular solutions.

    This article sets the stage …

  6. Comparing Thrift and Protobuf: Choosing the Right Data Serialization Framework

    Posted on in programming

    As modern distributed systems become increasingly complex, developers rely on efficient, language-agnostic communication mechanisms to ensure seamless interactions between services. Two popular solutions for defining data structures and enabling efficient communication are Thrift and Protobuf. Both originated at tech giants—Thrift at Facebook and Protobuf at Google—and both aim …

  7. Hermeticity Best Practices for Open Source Projects

    Posted on in programming

    Open source projects thrive on collaboration, transparency, and reliability. As contributors from around the world work together, ensuring consistent and reproducible builds becomes crucial. Hermeticity plays a vital role in achieving this consistency. In this article, we'll explore best practices for implementing hermeticity in open source projects, helping maintainers and …

  8. Overcoming Challenges to Achieve Hermeticity in Large Codebases

    Posted on in programming

    Achieving hermeticity in software development brings numerous benefits, such as reproducibility, reliability, and security. However, implementing hermetic builds in large codebases can be a daunting task. In this article, we'll explore the common challenges developers face when striving for hermeticity in complex or legacy systems and provide practical solutions to …

  9. Implementing Hermetic Builds in Your CI/CD Pipeline

    Posted on in programming

    In the world of software development, consistency and reliability are paramount. One way to achieve these qualities is by implementing hermetic builds in your Continuous Integration/Continuous Deployment (CI/CD) pipeline. Hermetic builds ensure that your software builds are isolated, reproducible, and environment-independent. In this article, we'll guide you through …

  10. Comparing GitHub Copilot and Amazon Q Developer: Which AI Coding Assistant Is Right for You?

    Posted on in programming

    The landscape of software development is continuously evolving, and artificial intelligence is playing a significant role in this transformation. Two AI-powered coding assistants have recently captured the attention of developers worldwide: GitHub Copilot and Amazon Q Developer (formerly known as Amazon CodeWhisperer). These tools aim to enhance developer productivity by …

  11. Comparing Python's Quart vs FastAPI: Which Async Framework Is Right for You?

    Posted on in programming

    In the ever-evolving landscape of Python web frameworks, two names have been gaining significant attention: Quart and FastAPI. Both are modern, asynchronous frameworks designed to handle the demands of today's web applications. If you're a software engineer like me, always looking to optimize performance and developer productivity, you might be …

Slaptijack's Koding Kraken