News Aggregator


Migrating Retrofit To Ktor

Aggregated on: 2023-09-01 13:31:38

Communication between Android applications and servers is a critical aspect of application development, and choosing the right tool to perform this communication is fundamental. Until now, retrofit has been the standard for excellence.However, in recent years, an interesting alternative has emerged: Ktor Client. This library, developed by JetBrains entirely in Kotlin, offers a more modern and flexible way to make HTTP requests without relying on annotations, with a simpler and easier-to-understand syntax. Its plugins, such as authentication and serialization, exist as external dependencies, so you can install only the ones you need, making it a lightweight library. It is also cross-platform.

View more...

Rust and Scylla DB for Big Data

Aggregated on: 2023-09-01 13:01:38

Do you ever wonder about a solution that you know or you wrote is the best solution, and nothing can beat that in the years to come? Well, it’s not quite how it works in the ever-evolving IT industry, especially when it comes to big data processing. From the days of Apache Spark and the evolution of Cassandra 3 to 4, the landscape has witnessed rapid changes. However, a new player has entered the scene that promises to dominate the arena with its unprecedented performance and benchmark results. Enter ScyllaDB, a rising star that has redefined the standards of big data processing. The Evolution of Big Data Processing To appreciate the significance of ScyllaDB, it’s essential to delve into the origins of big data processing. The journey began with the need to handle vast amounts of data efficiently. Over time, various solutions emerged, each addressing specific challenges. From the pioneering days of Hadoop to the distributed architecture of Apache Cassandra, the industry witnessed a remarkable evolution. Yet, each solution presented its own set of trade-offs, highlighting the continuous quest for the perfect balance between performance, consistency, and scalability.  You can check here at the official website for benchmarks and comparisons with Cassandra and Dynamo DB.

View more...

Journey of AI to Generative AI and How It Works

Aggregated on: 2023-08-31 23:16:37

In the last few years, cutting-edge technologies and services have drastically changed their directions, dynamics, and use cases. It is quite evident that the recent wave of global technology adoption by industries is overwhelmed by Artificial Intelligence (AI) and its various flavors.  AI is becoming increasingly woven into the fabric of our everyday lives, changing the way we live and work. This article discusses the basics of AI/ML, its usage, the evolution of Generative AI, Prompt Engineering, and LangChain. What Are AI and ML? AI is the capability of simulating human intelligence and thought processes such as learning and problem-solving. It can perform complex tasks that historically could only be done by humans. Through AI, a non-human system uses mathematical and logical approaches to simulate the reasoning that people use for learning new information and making decisions.

View more...

Top Trends in AI-Based Application Testing You Need To Know

Aggregated on: 2023-08-31 22:46:37

Engineering managers understand better than most the relentless pace at which the world of AI is evolving. You're likely tasked with integrating this technology into your offerings and making sure it all functions seamlessly to advance your business. Thankfully, with these AI advancements, new approaches to testing, automation, and quality assurance (QA) are also emerging, opening new doors to AI application testing.

View more...

Temporal Paradoxes: Multitasking at Its Finest

Aggregated on: 2023-08-31 22:46:37

When computing started, it was relatively easy to reason about things as a single series of computations. It didn't take long, though, before we introduced the ability to compute more than one thing at a time. These days, we take for granted computers' ability to multitask. We know that it's because we have multiple cores, CPUs, and servers. Yet somehow, "single-threaded" things like JavaScript and Python are also able to "do more than one thing at a time." How? There are two different concepts at play here, often at the same time, often confused, yet entirely distinct: Parallelism and Concurrency.

View more...

Introduction to ESP32 for Beginners Using the Xedge32 Lua IDE

Aggregated on: 2023-08-31 22:16:37

What Is the ESP32? The ESP32 is an incredible microcontroller developed by Espressif Systems. Based on its predecessor's legacy, the ESP8266, the ESP32 boasts dual-core processing capabilities, integrated Wi-Fi, and Bluetooth functionalities. Its rich features and cost-effectiveness make it a go-to choice for creating Internet of Things (IoT) projects, home automation devices, wearables, and more. What Is Xedge32? Xedge32, built upon the Barracuda App Server C Code Library, offers a comprehensive range of IoT protocols known as the "north bridge." Xedge32 extends the Barracuda App Server's Lua APIs and interfaces seamlessly with the ESP32's GPIOs, termed the "south bridge." 

View more...

Coding Once, Thriving Everywhere: A Deep Dive Into .NET MAUI’s Cross-Platform Magic

Aggregated on: 2023-08-31 22:01:37

Developed by Microsoft, the .NET MAUI (multi-platform app UI) is an open-source framework to build native mobile and desktop applications for multiple platforms, including Android, iOS, macOS, Windows, and more, and that too, using a single codebase. Unlike the Xamarin forms, where developers have to maintain a separate codebase for each targeted platform.  An Overview of .NET Framework If you are aware of what .NET framework is and how it works, then you can skip this section and jump to “How It Works.”

View more...

Time-Travel Debugging Production Code

Aggregated on: 2023-08-31 21:46:37

Normally, when we use debuggers, we set a breakpoint on a line of code, we run our code, execution pauses on our breakpoint, we look at values of variables, and maybe the call stack, and then we manually step forward through our code's execution. In time-travel debugging, also known as reverse debugging, we can step backward as well as forward. This is powerful because debugging is an exercise in figuring out what happened: traditional debuggers are good at telling you what your program is doing right now, whereas time-travel debuggers let you see what happened. You can wind back to any line of code that is executed and see the full program state at any point in your program’s history. History and Current State It all started with Smalltalk-76, developed in 1976 at Xerox PARC.  It had the ability to retrospectively inspect checkpointed places in execution. Around 1980, MIT added a "retrograde motion" command to its DDT debugger, which gave a limited ability to move backward through execution. In a 1995 paper, MIT researchers released ZStep 95, the first true reverse debugger, which recorded all operations as they were performed and supported stepping backward, reverting the system to the previous state. However, it was a research tool and not widely adopted outside academia.

View more...

Deploy Kubernetes Resources in a Controlled and Orderly Manner

Aggregated on: 2023-08-31 20:31:37

When deploying Kubernetes resources in a cluster, it is sometimes necessary to deploy them in a specific order. For example, a Custom Resource Definition (CRD) must exist before any custom resources of that type can be created. Sveltos can help you solve this problem by allowing you to specify the order in which Kubernetes resources are deployed.

View more...

The Ultimate Guide To Building Front-End Web Applications From Scratch

Aggregated on: 2023-08-31 20:31:37

Today’s competitive environment has made it vital for businesses to optimize their user experiences with improved customer service to capture market segments. Using web applications that you can customize to communicate directly with consumers from their browsers, regardless of their device, is one of the best ways to capture the attention in the market. These are examples of web applications that include social networking sites, educational products, online stores, photos, video, text editors, games, and reservation systems. The user interacts with the organization more actively than they do on a standard informational website since they are more complex than standard informational sites. Moreover, the capabilities of web applications are becoming more competent in replacing desktop software and sometimes even surpassing them. No doubt, the capabilities of a web application have already advanced vastly in the past few years. 

View more...

Simplifying Your Kubernetes Infrastructure With CDK8s

Aggregated on: 2023-08-31 20:16:37

Of late, I have started to pen down summaries of my talks for those not interested in sitting through a 45-minute video or staring at slides without getting much context. Here is one for AWS DevDay Hyderabad 2023 where I spoke about "Simplifying Your Kubernetes Infrastructure With CDK8s." CDK for Kubernetes, or CDK8s is an open-source CNCF project that helps represent Kubernetes resources and application as code (not YAML!).

View more...

Creating Conversational Intelligence: Machine Learning's Impact on Personalized Automated Texting

Aggregated on: 2023-08-31 19:31:37

In the evolving digital landscape, where customer interactions are increasingly digital-first, automated texting has emerged as a pivotal channel for businesses to engage with their customers. The challenge, however, lies in delivering personalized experiences at scale. Enter conversational intelligence—a realm where machine learning (ML) plays a transformative role. This article delves into how ML shapes conversational intelligence, enabling automated texting to go beyond scripted responses and understand context, sentiment, and user intent more effectively. Understanding Conversational Intelligence at Scale In the realm of automated texting, understanding context, intent recognition, and sentiment analysis are paramount. Imagine a scenario where a user asks, "What's the weather like today?" While a simple query, it requires the chatbot to understand the user's intent—to obtain weather information—while also considering the context, such as the user's location. Additionally, gauging the sentiment is crucial; a user expressing frustration about a delayed delivery needs a different response than one inquiring about product availability.

View more...

A Comprehensive Comparison of AWS Step Functions and AWS MWAA

Aggregated on: 2023-08-31 19:16:37

Workflow automation tools play a pivotal role in today's dynamic digital landscape. They help streamline routine tasks, eradicate human errors, and increase productivity. With the help of workflow automation, organizations can automate processes, allowing teams to focus on strategic tasks. Whether it's data processing, application integration, or system monitoring, these tools provide scalable solutions to meet diverse needs. Amazon Web Services (AWS) offers a plethora of services geared towards automating process workflows. AWS Step Functions and AWS Managed Workflow for Apache Airflow (MWAA) are two such prominent services. Step Functions is a serverless workflow service that allows developers to coordinate multiple AWS services into serverless workflows. On the other hand, MWAA is a managed orchestration service for Apache Airflow, which is an open-source platform used to programmatically author, schedule, and monitor workflows. These robust tools have revolutionized businesses across sectors by simplifying complex processes and enhancing operational efficiency. In this article, I will delve into a comprehensive comparison between these two powerful tools, exploring their features, cost implications, ease of use, integration capabilities, and more.

View more...

Send Your Logs to Loki

Aggregated on: 2023-08-31 19:01:37

One of my current talks focuses on Observability in general and Distributed Tracing in particular, with an OpenTelemetry implementation. In the demo, I show how you can see the traces of a simple distributed system consisting of the Apache APISIX API Gateway, a Kotlin app with Spring Boot, a Python app with Flask, and a Rust app with Axum. Earlier this year, I spoke and attended the Observability room at FOSDEM. One of the talks demoed the Grafana stack: Mimir for metrics, Tempo for traces, and Loki for logs. I was pleasantly surprised how one could move from one to the other. Thus, I wanted to achieve the same in my demo but via OpenTelemetry to avoid coupling to the Grafana stack.

View more...

Introducing Klone: Open-Source Remote debugging Tool for Kubernetes Services

Aggregated on: 2023-08-31 18:31:37

At ZeroK, every time an issue occurred in our staging environment, we would manually reproduce the issue in the local development environment to debug. For this, we'd manually set up mocks to emulate the behavior of dependencies or update the local DB. Additionally, keeping these mocks up to date was a pain, especially as the dependent services are being continuously updated with rapid development cycles. Sometimes, the error would be caused specifically by the behavior of a dependent service, and the reproduction would be harder. In these instances, we'd dig through logs to find the specific response or coordinate with the owner of the dependent service to understand the reason, which would further delay debugging.

View more...

Prompt Engineering Is Not a Thing

Aggregated on: 2023-08-31 18:01:37

The rise of large language models like OpenAI's GPT series has brought forth a whole new level of capability in natural language processing. As people experiment with these models, they realize that the quality of the prompt can make a big difference to the results and some people call this “prompt engineering.” To be clear: there is no such thing. At best it is “prompt trial and error.” Prompt “engineering” assumes that by tweaking and perfecting input prompts, we can predict and control the outputs of these models with precision.

View more...

CockroachDB TIL: Volume 13

Aggregated on: 2023-08-31 17:16:37

Previous Articles Volume 1 Volume 2 Volume 3 Volume 4 Volume 5 Volume 6 Volume 7 Volume 8 Volume 9 Volume 10 Volume 11 Volume 12 Topics Topic 1: Diagnose certificate-based authentication Topic 2: Differences between cockroach and psql clients for client verification of server certificates Topic 3: Capture the node and the CA certificate expiration programmatically Topic 4: Check the client certificate expiration Topic 1: Diagnose Certificate-Based Authentication I was using CockroachDB Serverless with a product called PolyScale.ai for an article I was writing and I ran into a strange issue with certificate-based AuthN. When you provision the instance of their service, it provides a client connection string. I used the connection string to connect:

View more...

Applications and SaaS Plugins: Data Exfiltrations

Aggregated on: 2023-08-31 15:46:37

Since most security administrators have little insight into cloud-to-cloud connections, monitoring and protecting data throughout these communications is challenging. This article will examine the issue and potential remedies.  What Exactly Is a ‘Plug-In’ in a SaaS System? A plug-in SaaS System typically refers to a software component through which the functionalities or capabilities of a SaaS application are increased. It is developed in a way that it will easily complement the SaaS app through which it is connected and serves users as an add-on functionality.

View more...

Harnessing Security by Adopting Zero Trust Architecture

Aggregated on: 2023-08-31 14:16:37

Over the past several years, Zero Trust Architecture (ZTA) has gained increased interest from the global information security community. Over the years, several organizations have adopted Zero Trust Architecture (ZTA) and experienced considerable security improvements. One such example is Google, which implemented a BeyondCorp initiative embodying ZTA principles. The tech giant removed trust assumptions from its internal network, focusing instead on verifying users and devices for every access request, regardless of their location. This transformation has allowed Google to offer its workforce more flexibility while maintaining robust security.  We also see relevant guidelines emerging from commercial entities and government bodies. Specifically, a memorandum was released detailing recommendations for US agencies and departments on how to transition to a "Zero Trust" architecture. 

View more...

Introduction to the Heap Data Structure

Aggregated on: 2023-08-31 12:46:37

Data structures are essential for computer science, as they provide a way to organize and store data efficiently. A heap data structure is a tree-based data structure that is widely used in computer science for its efficiency and versatility. In this article, we will explore the heap data structure in depth, including its properties, types, and applications. Properties of Heap Data Structure A heap data structure is a complete binary tree that satisfies the heap property. The heap property is that for every node in the heap, the key of the parent node is either greater than or equal to (in a max heap) or less than or equal to (in a min-heap) the keys of its children. This property ensures that the maximum (in a max heap) or minimum (in a min-heap) element is always at the root of the tree.

View more...

Part 3: Transforming MongoDB CDC Event Messages

Aggregated on: 2023-08-31 12:46:37

In our last blog post, we introduced a reference implementation for capturing change data capture (CDC) events from a MongoDB database using Debezium Server and Memphis.dev. At the end of the post, we noted that MongoDB records are serialized as strings in Debezium CDC messages like so: Python { "schema" : ..., "payload" : { "before" : null, "after" : "{\\"_id\\": {\\"$oid\\": \\"645fe9eaf4790c34c8fcc2ed\\"},\\"creation_timestamp\\": {\\"$date\\": 1684007402978},\\"due_date\\": {\\"$date\\": 1684266602978},\\"description\\": \\"buy milk\\",\\"completed\\": false}", ... } }

View more...

Streamlined Infrastructure Deployment: Harnessing the Power of Terraform and Feature Toggles

Aggregated on: 2023-08-30 21:16:37

As technology continues to evolve at a rapid pace, organizations are constantly seeking ways to streamline their infrastructure deployment processes for optimal efficiency. One approach that has gained significant traction in recent years is the use of feature toggles. Feature toggles, also known as feature flags or feature switches, are a powerful technique that allows developers to control the release of new features or changes in their applications or infrastructure. In the context of Terraform, an infrastructure-as-code tool, feature toggles offer immense benefits by enabling teams to manage and deploy infrastructure changes with ease. Benefits of Using Feature Toggles in Terraform Using feature toggles with Terraform offers several benefits that enhance the efficiency, safety, and flexibility of your infrastructure deployment process. Some of the key benefits include:

View more...

Understanding RDS Costs

Aggregated on: 2023-08-30 21:01:37

In today's business landscape, offloading database management is a game-changer. AWS's Relational Database Service (RDS) is a top choice for hosting PostgreSQL databases in the cloud. However, estimating RDS costs can be complex due to its feature-rich nature and potential pricing surprises. Scaling your PostgreSQL database efficiently with RDS requires a deep dive into pricing nuances. Before we explore this, let's clarify why using a managed solution like RDS is beneficial. Why Choose a Managed PostgreSQL Database Like RDS? RDS simplifies scaling, eliminating manual instance provisioning. Beyond scalability, RDS offers critical reliability features like replication and backup, which are crucial for data availability and disaster recovery. RDS also supports advanced deployment strategies, enhancing application reliability.

View more...

Building Trust in Data: The Critical Role of Data Quality Engineering in the Digital Age

Aggregated on: 2023-08-30 20:46:37

"Bad data costs businesses in the U.S. over $600 billion a year." This staggering estimate by IBM highlights the colossal risks posed by poor data quality, ranging from erroneous analytics to customer dissatisfaction and regulatory non-compliance. Yet despite multimillion-dollar technology investments, data quality remains a persistent pain point. As organizations increasingly become data-centered, establishing trust and accountability in data is no longer optional. This is where the fast-emerging field of Data Quality Engineering (DQE) comes in. DQE provides the technical capabilities and governance to ingest, manage, and analyze quality data that lives up to the maxim “garbage in, garbage out.”  This article demystifies DQE and provides business leaders with an actionable guide to leverage it for competitive advantage.

View more...

Using the OpenAPI Generator To Build Out an Integration Test Client

Aggregated on: 2023-08-30 20:46:37

So, you have written a new API, maybe as much as doing the CRUD endpoints, maybe even some unit tests to boot.  Now, to gain a little more confidence, integration tests are required to test slices of the new logic. This requires the developer to create a client to access and call the endpoints, as you would in Postman, for instance, and call the new functionality with one's all-encompassing test criteria.

View more...

Top 10 Programming Languages for Software Development

Aggregated on: 2023-08-30 20:16:37

Programming languages are the building blocks of software development, enabling developers to create applications, websites, and other digital solutions. The choice of programming language can greatly impact the efficiency, scalability, and functionality of a project. In this guide, we will explore the top 10 programming languages for software development, highlighting their strengths, use cases, and popularity within the tech industry. 1. Python Python is renowned for its simplicity and readability, making it an ideal choice for both beginners and experienced developers. Its versatile nature allows developers to create web applications, data analysis tools, artificial intelligence (AI) algorithms, and more. Python's vast library ecosystem, including frameworks like Django and Flask, accelerates development by providing pre-built components.

View more...

Types of Test Cases in Software Testing

Aggregated on: 2023-08-30 20:16:37

The type of test case is used to differentiate the usage of test cases at each stage in the testing life cycle. Discover which type of test case to use for which purpose. You need to consider all the different types of testing and filter the test cases best suited for helping you to test that uses for its base achieve the highest quality product.

View more...

How To Use ChatGPT API in Python for Your Real-Time Data

Aggregated on: 2023-08-30 20:01:37

OpenAI’s GPT has emerged as the foremost AI tool globally and is proficient at addressing queries based on its training data. However, it can not answer questions about unknown topics: Recent events after Sep 2021 Your non-public documents Information from past conversations This task gets even more complicated when you deal with real-time data that frequently changes. Moreover, you cannot feed extensive content to GPT, nor can it retain your data over extended periods. In this case, you need to build a custom LLM (Language Learning Model) app efficiently to give context to the answer process. This piece will walk you through the steps to develop such an application utilizing the open-source LLM App library in Python. The source code is on GitHub (linked below in the section "Build a ChatGPT Python API for Sales").

View more...

MLOps Is Overfitting. Here’s Why

Aggregated on: 2023-08-30 19:46:37

VC surveys show there are hundreds of companies active today that define themselves as being part of the MLOps category.  MLOps systems provide the infrastructure that allows ML practitioners to manage the lifecycle of their work from development to production in a robust and reproducible manner. MLOps tools may cover E2E needs or focus on a specific phase (e.g., Research/Development) or artifact (e.g., Features) in the process.

View more...

Software Engineering in the Age of Climate Change: A Testing Perspective

Aggregated on: 2023-08-30 19:46:37

As the global community grapples with the urgent challenges of climate change, the role of technology and software becomes increasingly pivotal in the quest for sustainability. There exist optimization approaches at multiple levels that can help: Algorithmic efficiency: Algorithms that require fewer computations and resources can reduce energy consumption. A classic example here is optimized sorting algorithms in data processing. Cloud efficiency: Cloud services are energy-efficient alternatives to on-premises data centers. Migrating to cloud platforms that utilize renewable energy sources can significantly reduce the carbon footprint. Code optimization: Well-optimized code requires less processing power, reducing energy demand. Code reviews focusing on efficient logic, unit testing, and integration testing can lead to cleaner, greener software. Energy-aware architectural design: Energy-efficient design principles can be incorporated into software architecture. Ensuring, for example, that software hibernates when inactive or scales resources dynamically can save energy. Distributed, decentralized, and centralized options like choreography and orchestration can be evaluated. Renewable energy: Data centers and computing facilities can be powered with renewable energy sources to minimize reliance on fossil fuels and mitigate emissions. Green Software Standards: Industry standards and certifications for green software design can drive developers to create energy-efficient solutions. In this article, we will focus on code optimization via software testing. Software testing, a fundamental component of software development, can play a significant role in mitigating the environmental impact of technology. We explore the intersection of software testing and climate change, highlighting how testing can contribute to a more sustainable technological landscape. We begin by summarizing the role of software in the energy footprint of a number of industries. We then explore basic types of software testing that can be applied, giving specific examples. These types are by no means exhaustive. Other types of testing may well be used according to the energy optimization scenario.

View more...

AWS PrivateLink and SAP on AWS Deployments

Aggregated on: 2023-08-30 19:16:37

AWS provides its services to millions of customers and thousands of SAP customers. Today, one of the key challenges that customers face is network security while data is transferred over the internet. Although data is encrypted and various network protocols are developed today to reduce the surface area that can be exploited by attackers, it is still a risk since the tools available to hackers get advanced every single day as well.  Another mechanism by which this risk is totally eliminated is to avoid exposure to the internet altogether for specific use cases and rely on a trusted AWS backbone network for all data transfers. Traditionally, this is achieved by creating VPCs in AWS and establishing VPC peering, which allows non-overlapping private network ranges to be able to communicate with each other. Another available feature was VPC endpoints. This basically provides a mechanism to connect to AWS services, like S3 object storage, without requiring the customer to communicate over the internet. 

View more...

Deep Learning Frameworks Comparison

Aggregated on: 2023-08-30 19:01:37

In the ever-evolving world of artificial intelligence, developers are often confused when choosing the right deep learning framework. Whether it’s TensorFlow’s extensive documentation, backed by the power of the Google Brain Team, or PyTorch’s dynamic computational graph, courtesy of Facebook’s AI Research lab, the choice is seldom straightforward. Some frameworks shine in semantic segmentation, while others are GPU benchmark tests. An expedition will take us through the complexities of TensorFlow, PyTorch, Keras, Caffe, and the Microsoft cognitive toolkit. We’ll explore speed comparisons, delve into open-source contributions, and even present a handy comparison table for quick insights. As we navigate this landscape, remember that the best tool often aligns with one’s needs rather than the consensus. Let’s get started with this comparison analysis guide designed for developers that want to optimize their AI projects. TensorFlow In the grand arena of deep learning and artificial intelligence, TensorFlow stands tall, bearing the legacy of its creators, the illustrious Google Brain Team. At its heart, TensorFlow isn’t just about tensor operations; it’s about enabling developers with a versatile canvas where core concepts translate to tangible AI applications.

View more...

Navigating Technical Debt in DevOps: The Delicate Balance of Innovation and Stability

Aggregated on: 2023-08-30 18:46:37

Technical debt is a term that's increasingly being used in the world of DevOps, but what exactly does it mean? Essentially, it's the accumulation of small development deficiencies that will require rework down the line. It can arise from a variety of causes, such as the pressure to deliver new features quickly, which might result in your team having to sacrifice the cleanliness and polish of the code. But these small pieces of incomplete code, like monetary debt, accrue interest over time, manifesting as challenges in software modifications or difficulties in adding new features. Causes of Technical Debt One of the main causes of technical debt is the disconnect between the development and business sides of an organization. Development teams often feel the pressure to maintain a high feature velocity, sometimes at the cost of proper service planning. Not planning for the end of the service lifecycle, for example, can result in what is called "senile services." These are services that may not be doing much but remain critical to business operations and can produce more technical debt later on. They might be challenging to migrate, or they may be the product of unknown shadow or zombie APIs. The result is that your development could be held up by more efficient ways of working, thus incurring more technical debt. Symptoms of Excessive Technical Debt Without careful monitoring, technical debt can slow down your development and deployment processes, degrade your product quality, and limit your ability to innovate in a changing market. Some signs of excessive technical debt can include increasing cost and/or time to fix the technical debt, a consistent increase in the time taken for each release and deployment, and higher rates of employee turnover due to frustration from working on legacy systems and dealing with frequent breakages. When is Ignoring Technical Debt Acceptable? While the negative impacts of technical debt are real, it is not always necessary, or even practical, to address it immediately. There are a few scenarios where it makes sense to let debt accumulate. For example, if the cost of addressing technical debt is significantly higher now than in the future, if the debt is not impacting your immediate and short-term business needs, or if you have an emergency release like a major security vulnerability fix. Keeping the big picture in mind when making the right tradeoffs is critical, and well-managed technical debt can be an effective tool to shorten the lead time, allowing for the prioritization of important deployments. This brings us to a key point: the context that separates “good” technical debt, which lets us ship, and “bad” technical debt, which needs attention. This separation comes down to understanding the actual impact on customers and the team. Ignoring some technical debt isn’t so bad after all, so long as you have shared context to guide your decisions. When Ignoring Technical Debt Becomes a Challenge Ignoring technical debt becomes problematic when it starts to impede an organization's ability to function effectively. When this happens, it's a clear sign that you need to address the debt and start with a clean slate. If unaddressed, accumulated technical debt can result in poor business performance and lost revenue, as the technical debt essentially becomes a financial debt. As a result, the product and brand’s image may suffer, leading to lost opportunities. Managing Technical Debt Managing technical debt requires a proactive and collaborative approach. Here are some strategies that could help: Identify the types of debt: Not all technical debt is created equal. Distinguish between the debt you accept at the moment as something to fix later on and the inadvertent debt you discover Analyze and automate: Analyze the origins of your debt and look for ways to tighten workflows or automate certain tests and processes. This can help reduce common errors and hidden bugs, preventing them from snowballing into technical debt. Develop new policies and standards: These should clarify when debt makes sense and when it causes unacceptable damage. For instance, releasing an immediate security patch could be considered acceptable, while allowing errors that will eventually cause considerable downtime would not. Communicate the cost: It's crucial that decision-makers and the DevOps team understand the implications of technical debt on product quality and developer retention. When another high-speed deadline comes your way, ensure that these key stakeholders are aware of the risks. If they fully understand the potential cost, they might be more likely to adjust delivery dates or provide funding for additional developers. In conclusion, technical debt, when managed effectively, can be a tool for optimizing delivery speed and innovation in the short term. However, it is essential to strike a balance and not let it accumulate to the point where it begins to degrade product quality, slow down development, or harm team morale. By proactively identifying, analyzing, managing, and communicating about technical debt, DevOps teams can navigate this challenging aspect of software development and maintain the health of their infrastructure.

View more...

Rocket.rs API Demo Implementing Header-Based API Key Protection

Aggregated on: 2023-08-30 18:46:37

Check out the latest Rocket Documentation. This is the first in a series of tutorials on working with Rocket.

View more...

Human-AI and ML Collaboration in Risk Assessment for Smart Infrastructure

Aggregated on: 2023-08-30 18:16:37

In today's world of interconnected smart infrastructure, the importance of accurately evaluating risks cannot be overstated. It is crucial to ensure the safety, resilience, and sustainable operation of urban systems. The combination of human expertise, artificial intelligence (AI), and machine learning (ML) offers great potential for developing a strong and adaptable risk assessment framework. This description explores the collaborative synergy between humans, AI, and ML in the assessment of risks related to smart infrastructure. It introduces an innovative approach that combines human intuition, data analysis powered by AI, and machine learning algorithms. This study aims to investigate the efficacy of integrating human insights, AI-driven predictions, and machine learning algorithms to enhance the accuracy, real-time responsiveness, and adaptability of risk assessment in smart infrastructure projects. By examining this collaborative approach, the research seeks to shed light on how human-AI-ML collaboration can revolutionize the way risks are identified, analyzed, and mitigated within the context of smart infrastructure. Cloud service providers in India are indeed playing a pivotal role in the modern landscape, especially in the context of risk assessment, data management, and the evolution of smart infrastructure.

View more...

Diagnose CPU Spikes in a Non-Intrusive Manner

Aggregated on: 2023-08-30 18:01:37

In this post, we are going to discuss a non-intrusive approach (i.e., an approach that doesn’t add any noticeable overhead to the application) to diagnose CPU spikes. Thus, you can use this approach in your production environment to troubleshoot CPU spikes. Works on all JVM languages:

View more...

Three Blazor App Examples You Can Use Right Away

Aggregated on: 2023-08-30 18:01:37

Blazor sample apps provide a good starting point when building a new Blazor Server/WebAssembly project (especially for the first time). They can be used in various scenarios after adjusting and customizing them to match your specific needs. From supplying code examples to documentation, facilitating copying examples into local test apps, or demonstrating some of the best Blazor practices, you can learn and benefit significantly from a Blazor app example. However, finding a good sample that matches your app requirements or scenario can be challenging sometimes. Some Blazor project examples are easy to get started with and fine-tune because they are kept up to date so that you can use them as a foundation immediately. Others you may find a bit overwhelming due to things like:

View more...

Introducing Puppygram, Powered by Courier Inbox, Next.js, and Inngest

Aggregated on: 2023-08-30 18:01:37

An in-app notification center is an essential component of any modern app, but they're time-consuming and complicated to build from scratch. What if you want to launch something quickly and easily? Where do you start?   I decided to use Courier Inbox to build something light years away from a product inbox. I thought long and hard about what to build and, perhaps sensing my creative block, my dog Otto came up and asked for his afternoon walk.

View more...

A Comprehensive Guide to Hyperparameter Tuning: Exploring Advanced Methods

Aggregated on: 2023-08-30 17:46:37

Hyperparameter tuning is an essential practice in optimizing the performance of machine learning models. This article provides an in-depth exploration of advanced hyperparameter tuning methods, including Population-Based Training (PBT), BOHB, ASHA, TPE, Optuna, DEHB, Meta-Gradient Descent, BOSS, and SNIPER. Before delving into these methods, let's establish a foundational understanding of hyperparameters, their distinction from model parameters, and their role within the machine learning lifecycle. What Are Hyperparameters? How Do They Differ From Model Parameters? In the realm of machine learning, model parameters are internal variables that a model learns from training data, such as the weights and biases of a neural network. Hyperparameters, on the other hand, are external settings that govern the learning process itself. These settings are determined before training and include factors like learning rates, batch sizes, and the number of hidden layers. While model parameters adapt through training, hyperparameters remain fixed throughout the training process. 

View more...

Part 2: Change Data Capture (CDC) For MongoDB With Debezium and Memphis.dev

Aggregated on: 2023-08-30 15:46:37

This is part two of a series of blog posts on building a modern event-driven system using Memphis.dev. Our last blog post introduced a reference implementation for capturing change data capture (CDC) events from a PostgreSQL database using Debezium Server and Memphis.dev. By replacing Apache Kafka with Memphis.dev, the solution substantially reduced the operational resources and overhead – saving money and freeing developers to focus on building new functionality.

View more...

Navigating Resistance To Change in Digital Transformation: Insights for CIO Strategies

Aggregated on: 2023-08-30 13:46:36

The modern digital business landscape demands enterprises to undergo digital transformation to remain competitive and relevant. However, the digital transformation journey isn’t a bed of roses and brings challenges, one of the most daunting being resistance to change. Undoubtedly, CIOs are at the forefront of innovation, and they’re the ones who can swiftly navigate the digital revolution by adopting cutting-edge technologies. However, most of them are resistant to significant changes. And this isn’t a good sign from a growth perspective! 

View more...

101 Guide To Develop Software for Beginners

Aggregated on: 2023-08-30 13:46:36

Introduction to Software Development What Is Software Development? Software development is the process of creating, designing, and maintaining computer programs that perform specific tasks or functions. It involves various stages, including planning, coding, testing, and deployment, to ensure that the software meets the desired objectives and requirements. Importance of Software in the Modern World In today's digital era, software plays a crucial role in almost every aspect of our lives. From communication to entertainment, transportation to healthcare, software is at the core of it all. It enables us to automate processes, streamline operations, and enhance productivity. Without software, we would not be able to enjoy the convenience and efficiency that we have become accustomed to.

View more...

Design Patterns

Aggregated on: 2023-08-29 22:46:36

Design patterns provide a fundamental foundation to building maintainable and scalable software. Understanding how the patterns work, why they provide a benefit, and when to use them helps to ensure that software is built from reusable object-oriented components. In this Refcard, we will dive into the concepts that underpin design patterns, look at the 23 Gang of Four (GoF) patterns that brought about the proliferation of design patterns, and review some common patterns that have evolved since the GoF patterns were published.

View more...

Real Device Cloud Testing: All You Need to Know

Aggregated on: 2023-08-29 21:01:36

In the rapidly evolving world of software development, delivering high-quality applications across various devices and platforms is essential for success. With the growing number of devices, operating systems, and versions in the market, it has become increasingly challenging to ensure that applications function flawlessly across all environments. This is where device testing comes into play. Real device cloud testing enables device testing by leveraging a cloud-based infrastructure that provides access to an extensive collection of real devices.

View more...

Supercharging Productivity in Microservice Development With AI Tools

Aggregated on: 2023-08-29 21:01:36

Building APIs and their related components is often a tedious task, especially when dealing with complex data models and architectures like microservices. Repetitive coding, setting up the configurations, and the overhead of building unit tests can quickly become time-consuming. Here's how AI tools, like ChatGPT, can be a game-changer.  Harnessing AI Tools (Chat GPT) In API Development To understand the capabilities of ChatGPT, let's dive into a hands-on example. We're tasked with developing a REST API to manage users' Personally Identifiable Information (PII). The process entails:

View more...

Edge Computing for Real-Time Data Processing in Utility IT Operations

Aggregated on: 2023-08-29 21:01:36

In today's fast-paced world, where data is generated at an exponential rate, it has become crucial for utility companies to efficiently manage and process vast amounts of data in real time. Traditional cloud computing architectures often face challenges when it comes to latency, bandwidth limitations, and increased network traffic. This is where edge computing comes into play, providing a solution to these challenges and revolutionizing utility IT operations. What Is Edge Computing? Edge computing can be defined as a distributed computing paradigm that brings computation and data storage closer to the location where it is needed, rather than relying on a centralized cloud data center. In the context of utility IT operations, edge computing involves deploying computing resources at the edge of the network, closer to the devices generating the data. This allows for real-time data processing and analysis, reducing latency and improving overall operational efficiency.

View more...

Bridging AI and Ethics: Comprehensive Solutions in Healthcare Implementation

Aggregated on: 2023-08-29 20:46:36

In the rapidly evolving landscape of healthcare, Artificial Intelligence (AI) has emerged as a transformative force, promising to reshape the industry with its potential to improve diagnostics, personalize patient care, and streamline administrative tasks. AI Chatbots, like the UK-based Babylon Health's chatbot, can provide round-the-clock patient support, answering queries and even helping with symptom checking.  However, as we stand on the precipice of this new frontier, it's crucial that we don't lose sight of the ethical considerations that accompany these technological advancements. 

View more...

Time Series Analysis: VARMAX-As-A-Service

Aggregated on: 2023-08-29 20:16:36

VARMAX-As-A-Service is an MLOps approach for the unification and reuse of statistical models and machine learning models deployment pipelines. It is the first of a series of articles that will be built on top of that project, representing experiments with various statistical and machine learning models, data pipelines implemented using existing DAG tools, and storage services, both cloud-based and alternative on-premises solutions.  But what is VARMAX and statistical models in general and how are they different from machine learning models?

View more...

Calculate Array Formulas in a PMS

Aggregated on: 2023-08-29 20:16:36

Picture this: You're looking at your project management software, and you're like, "Wait, do array formulas even belong here?" I mean, we usually think of formulas as those things that just add or subtract numbers, right? Well, hold that thought. Because here's the deal: when you've got a bunch of tasks in a project, each doing its own thing, you need to be the master of metrics to succeed. That’s where array formulas swoop in to save the day. In this blog post, I'm going to show you how these fancy formulas can jazz up your data game. 

View more...

Avoid Smart Contract Hacks With Fuzz Testing

Aggregated on: 2023-08-29 20:01:36

Quite possibly, nothing in web3 is more critical — and difficult to do well — than smart contract testing. For individual developers and small teams, the requisite testing tools are often too expensive and hard to use. Fortunately, a new breed of testing techniques is emerging, ones that are both affordable and accessible. In my previous article, I talked about one of the most popular techniques: fuzzing. Fuzzing is a dynamic testing technique capable of identifying errors and vulnerabilities that standard tests don’t typically identify. I also talked about how one of the most powerful fuzzing tools — Diligence Fuzzing — just released support for one of the most powerful development frameworks: Foundry. This combination complements your manual audits by providing new vulnerability detection techniques that you can use to avoid costly contract rewrites. 

View more...