News Aggregator


End-To-End Automated Testing of a Home Robot Using April Tags

Aggregated on: 2023-08-17 04:16:29

In my previous article, I gave an overview of robotics software design, and what are the different approaches to testing we could do, and how we can approach testing at different layers. In this article, I will explain how to perform E2E automated testing for a home robot.  Challenges in End-To-End Automation Challenges in robotic automation are plenty. The complexity of the software stack itself makes this type of automation super challenging. Testing could be done at any different layer, starting from the front end all the way to the low layer. End-to-end becomes difficult as it introduces a newer challenge with respect to the 3D space. Testing within a 3D space involving real home features is challenging too. Top of all, there are no specific tools and technology available to automate the testing process. This is a space that requires an immense understanding of the problem and great expertise in solving this challenge. Don't worry. I will share my experience here to help you understand and provide an overview of how things could be done.

View more...

The Power of Caching: Boosting API Performance and Scalability

Aggregated on: 2023-08-17 03:46:28

Caching is the process of storing frequently accessed data or resources in a temporary storage location, such as memory or disk, to improve retrieval speed and reduce the need for repetitive processing. Benefits of Caching Improved performance: Caching eliminates the need to retrieve data from the original source every time, resulting in faster response times and reduced latency. Reduced server load: By serving cached content, the load on the server is reduced, allowing it to handle more requests and improving overall scalability. Bandwidth optimization: Caching reduces the amount of data transferred over the network, minimizing bandwidth usage and improving efficiency. Enhanced user experience: Faster load times and responsiveness lead to a better user experience, reducing user frustration and increasing engagement. Cost savings: Caching can reduce the computational resources required for data processing and lower infrastructure costs by minimizing the need for expensive server resources. Improved availability: Caching can help maintain service availability during high-traffic periods or in case of temporary server failures by serving content from the cache. Types of Caching Client-Side Caching Client-side caching refers to the process of storing web resources, like HTML pages, CSS files, JavaScript scripts, and images, on the user's device, typically in their web browser. The purpose of client-side caching is to speed up web page loading by reducing the need to fetch resources from the web server every time a user visits a page.

View more...

Exploring Seamless Integration: Jakarta Data and Jakarta Persistence in Jakarta EE 11 With Open Liberty

Aggregated on: 2023-08-16 23:16:28

In the ever-evolving landscape of enterprise Java, the seamless interaction between various specifications plays a pivotal role in shaping the architecture of modern applications. One such integration that garnered significant attention is between Jakarta Data and Jakarta Persistence, the latest evolution of the former Java Persistence API (JPA). The integration of Jakarta Data and Jakarta Persistence brings forth a unified approach to handling data, making application development more efficient, flexible, and aligned with the demands of contemporary software design. In this article, we embark on a journey to delve into the intricacies of integrating Jakarta Data and Jakarta Persistence within the Jakarta EE 11 framework. We’ll explore how this integration is a foundation for developing robust and scalable applications. To illustrate the concepts in action, we’ll leverage Open Liberty, an open-source application server that supports the latest Jakarta EE specifications.

View more...

Boosting Model Interoperability and Efficiency With the ONNX Framework

Aggregated on: 2023-08-16 23:16:28

The rapid growth of artificial intelligence and machine learning has led to the development of numerous deep learning frameworks. Each framework has its strengths and weaknesses, making it challenging to deploy models across different platforms. However, the Open Neural Network Exchange (ONNX) framework has emerged as a powerful solution to this problem. This article introduces the ONNX framework, explains its basics, and highlights the benefits of using it. Understanding the Basics of ONNX What Is ONNX?  The Open Neural Network Exchange (ONNX) is an open-source framework that enables the seamless interchange of models between different deep learning frameworks. It provides a standardized format for representing trained models, allowing them to be transferred and executed on various platforms. ONNX allows you to train your models using one framework and then deploy them using a different framework, eliminating the need for time-consuming and error-prone model conversions.

View more...

Top 10 Microservices Frameworks

Aggregated on: 2023-08-16 23:01:28

Microservices are a type of service-oriented architecture that is used to develop multifunctional and complex applications. Instead of creating a complete software unit, developers can add small services to create software. Is it confusing to know what framework to use for creating applications with microservices? Find out what the latest frameworks have to offer. When you have chosen the framework, hire dedicated developers that build high-performance, scalable applications.

View more...

Choosing an OLAP Engine for Financial Risk Management: What To Consider?

Aggregated on: 2023-08-16 23:01:28

From a data engineer's point of view, financial risk management is a series of data analysis activities on financial data. The financial sector imposes its unique requirements on data engineering. This post explains them with a use case of Apache Doris and provides a reference for what you should take into account when choosing an OLAP engine in a financial scenario.  Data Must Be Combined The financial data landscape is evolving from standalone to distributed, heterogeneous systems. For example, in this use case scenario, the fintech service provider needs to connect the various transaction processing (TP) systems (MySQL, Oracle, and PostgreSQL) of its partnering banks. Before they adopted an OLAP engine, they were using Kettle to collect data. The ETL tool did not support join queries across different data sources, and it could not store data. The ever-enlarging data size at the source end was pushing the system toward latency and instability. That's when they decided to introduce an OLAP engine.

View more...

Mastering AWS Cost Management and Optimization

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

Amazon Web Services (AWS) provides a powerful and flexible cloud platform, but it's essential to manage and optimize your costs effectively to maximize the value of your investment. In this blog, we will explore various tips and techniques for optimizing AWS costs, including monitoring usage, setting budgets, and leveraging cost-effective services. By implementing these strategies, you can ensure that your AWS infrastructure remains efficient, cost-effective, and aligned with your business goals. Let's have a look at all strategies one by one.

View more...

Java ZGC Algorithm Tuning

Aggregated on: 2023-08-16 22:01:28

ZGC is a specialized garbage collector that focuses on managing large heaps and minimizing pauses in Java applications. It tackles the challenges of garbage collection in scenarios where memory-intensive workloads and consistent response times are vital. Leveraging concurrent processing capabilities and advanced algorithms, ZGC offers an effective solution for optimizing performance in modern Java applications. In this post, we will explore techniques to tune ZGC for enhanced performance specifically. However, if you want to learn more basics of Garbage Collection tuning, you may watch this JAX London conference talk. ZGC Tuning Parameters ZGC, a garbage collector in Java, takes a different approach to tuning by minimizing the number of exposed JVM parameters. Unlike traditional garbage collectors that require fine-grained adjustments, ZGC focuses on optimizing the management of large heap sizes while providing efficient garbage collection with minimal configuration overhead. This streamlined approach allows developers to primarily focus on one key JVM parameter for tuning: the heap size. 

View more...

Building a Real-Time IoT Application With Solace Technology

Aggregated on: 2023-08-16 21:31:28

As a software developer who lives with his aging parents, I was worried about their well-being and wanted to ensure that they were safe and secure at all times. So, I created an IoT application that would help me monitor their activities in real time and alert me in case of any emergency. I started by installing sensors in different parts of the house to monitor temperature, humidity, and sound levels. I then used Solace technology to build an IoT application that would use the data from these sensors to alert me in case of any abnormal activity. I connected the sensors to the Solace messaging platform, which would send messages to my smartphone whenever there was a change in the sensor data. For instance, when the temperature in the house dropped below a certain level, I received an alert on my phone, prompting me to check on my parents’ heating system.

View more...

Three Best React Form Libraries

Aggregated on: 2023-08-16 21:31:28

How can we simplify work as our React project's forms become increasingly intricate? Creating and handling forms in React can be challenging and time-consuming. Fortunately, third-party libraries can help. Many exceptional form libraries are available that can simplify the process and make React form development more efficient and enjoyable. The primary question then becomes which form of library is the best. In this blog post, we'll discuss three of the top React form libraries that every React developer should know.

View more...

MySQL Multi-Source Replication

Aggregated on: 2023-08-16 21:16:28

MySQL replication is a powerful feature that allows you to copy and synchronize data from one server to another. In this guide, we will explore the concept of multi-source replication in MySQL and learn how to configure and manage this advanced replication technique. Whether you are a seasoned database administrator or a beginner in the world of MySQL, this article will provide you with a deep understanding of multi-source replication and its benefits. What Is Multi-Source Replication? Multi-source replication in MySQL enables a replica server to receive data from multiple source servers. Imagine a scenario where you have a replica server at your workplace and several source servers located in different locations. With multi-source replication, you can directly gather data from these source servers and consolidate it on your replica server.

View more...

FeatureFlag 101

Aggregated on: 2023-08-16 21:16:28

In the dynamic landscape of modern software applications, catering to millions of users is a norm, and multiple teams work on various components concurrently. With the Agile development approach, new features are continuously onboarded to enhance application capabilities. However, releasing these features to all users simultaneously can lead to potential issues, such as exposing buggy features, performance regressions, and user dissatisfaction. The Role of Feature Flags To mitigate these risks and ensure a smoother rollout, the use of feature flags has become instrumental. Feature flags, also known as feature toggles, act as conditional switches that enable or disable specific functionality in an application without requiring redeployment. By serving as gatekeepers, feature flags allow developers to grant access to new features gradually, targeting specific user groups.

View more...

“Auth” Demystified: Authentication vs Authorization

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

One of the most widely held misconceptions is that authorization and authentication are the same, or something your identity provider does. It also doesn't help that certain authentication vendors blur the line by offering their versions of access controls. But, the reality is that authentication and authorization are two distinct processes with vastly different challenges and architectural needs.  Authentication is a solved problem. We have well-defined standards, protocols, and established vendors that offer off-the-shelf solutions. Authorization, on the other hand, is far from solved. There are no standard protocols or frameworks, so every app must build its own system. To make matters worse, authorization is a complex problem, one that requires a distributed systems architecture with real time access checks to get right. Read on for all the details. 

View more...

Deploy MuleSoft App to CloudHub2 Using GitHub Actions CI/CD Pipeline

Aggregated on: 2023-08-16 20:01:28

In this post, I will provide a step-by-step guide on deploying a MuleSoft application to CloudHub2 using GitHub Actions. Prerequisites GitHub account and basic knowledge of git. Anypoint Platform account. Anypoint Studio and basic knowledge of MuleSoft. Before we start, let's learn about GitHub Actions. GitHub Actions is a versatile and powerful automation platform provided by GitHub. It enables developers to define and automate workflows for their software development projects. With GitHub Actions, you can easily set up custom workflows to build, test, deploy, and integrate your code directly from your GitHub repository.

View more...

Scriptless Testing in a Mobile World

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

For years, organizations have aligned their mobile testing strategy around two methods. Increasing headcount during development phases to dedicate to manual tests.  Leveraging developers to create code-based test scripts. The problem? Both of these methods involve a considerable amount of time and resources. Two things that they just don’t have.

View more...

Securely Managing, Distributing, and Scaling Secrets Across Multiple Kubernetes Clusters

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

A secret is any piece of information that you want to keep confidential, such as API keys, passwords, certificates, and SSH keys. Secret Manager systems store your secrets in a secure, encrypted format, and provide you with a simple, secure way to access them. Here are some of the benefits of using Secret Manager:

View more...

Blueprint for Seamless Software Deployment: Insights by a Tech Expert

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

As an average user, choosing the right software can be a challenge. However, how you deploy the software can make a significant difference in its effectiveness. The process of deploying software involves making a tool ready for use in a way that ensures it is optimized, secure, and compatible. Software varies in its purpose and performance; the deployment process must be tailored to its specific requirements.

View more...

How To Install Istio Using Helm Chart

Aggregated on: 2023-08-16 16:31:28

Istio service mesh helps DevOps engineers and architects manage the network and security of distributed applications without touching the application code. In a previous blog, we explained How to get started with Istio in Kubernetes in 5 steps, where Istio’s command line tool, Istioctl, is used to install Istio. Here, let us see the steps to install Istio using Helm chats.

View more...

Prompt Engineering: Retrieval Augmented Generation(RAG)

Aggregated on: 2023-08-16 16:16:28

The field of Natural Language Processing (NLP) has seen significant breakthroughs with the advent of transformer-based models like GPT-3. These language models have the ability to generate human-like text and have found diverse applications such as chatbots, content generation, and translation. However, when it comes to enterprise use cases where specialized and customer-specific information is involved, traditional language models might fall short. Fine-tuning these models with new corpora can be expensive and time-consuming. To address this challenge, we can use one of the techniques called “Retrieval Augmented Generation” (RAG). In this blog, we will explore how RAG works and demonstrate its effectiveness through a practical example using GPT-3.5 Turbo to respond to a product manual as an additional corpus.

View more...

Introducing findjava, a Tool to Simplify JRE Selection for Java Applications

Aggregated on: 2023-08-16 14:46:28

Some time ago, I wrote an article about distributing Java command-line applications and how difficult it is to locate the proper java binary to run your application with. But let’s have a quick refresher on the problem before going further. The Problem When distributing a Java application via package managers, your application should rely on one of the Java Runtime Environments (a.k.a. JRE) provided by the package manager. Ensuring the correct JRE will be installed as a dependency of your application is the job of the package manager.

View more...

Kubernetes Workload Management Using Karpenter

Aggregated on: 2023-08-16 13:31:28

What if we didn’t have to worry about configuring Node Groups or right-sizing compute resources beforehand in our Kubernetes infrastructure? You read it right, Karpenter does not use Node Groups to manage the workload. Instead, it uses Launch Templates for nodes and manages each instance directly without configuring any orchestration mechanism. Karpenter allows you to take full advantage of the cloud’s flexibility. Before Karpenter, Kubernetes users had to use Amazon EC2 Auto Scaling Groups and the Kubernetes Cluster Autoscaler or some custom script cron job to dynamically adjust their cluster compute capacity. In this article, we will cover in detail how to improve the efficiency and cost of running workloads in Kubernetes using Karpenter. What Is Karpenter? Karpenter is an open-source provisioner tool that can quickly deploy Kubernetes infrastructure with the right nodes at the right time. It significantly improves the efficiency and cost of running workloads on a cluster. It automatically provisions new nodes in response to un-schedulable pods.

View more...

5 Strategies for Strengthening MQTT Infrastructure Security

Aggregated on: 2023-08-16 03:31:28

Our previous articles of this series explored various methods to safeguard IoT devices from cyberattacks, including encryption, authentication, and security protocols. However, it is crucial to acknowledge that regular updates and maintenance are equally vital to ensure the ongoing security of IoT devices. Moreover, with the increasing migration of systems and services to the cloud, the security of the underlying operating system assumes even greater significance. This article provides a comprehensive overview of strategies to enhance operating system security from multiple perspectives. Regularly Updating the Operating System and Software Maintaining up-to-date operating systems and software is crucial to uphold system security. Newer versions of operating systems and software often address security issues, fix bugs, and improve overall security performance. Thus, timely updates can significantly reduce the risk of system attacks.

View more...

DARPA Taps Hackers to Fortify Critical Software Against Cyber Threats

Aggregated on: 2023-08-16 03:16:28

The urgency of securing vulnerable software infrastructure is at the heart of an ambitious new DARPA program — the AI Cyber Challenge (AIxCC). Through competitions engaging top security talent, AIxCC aims to spur innovative tools that automatically detect and patch flaws at scale. As highlighted in Perri Adams, DARPA AIxCC Program Manager's announcement at BlackHat 2023, modern life increasingly depends on software, yet this vast codebase represents a prime attack surface for malicious actors. Recent years exposed the pressing need for advanced capabilities to lock down our software foundations.

View more...

Top Three Methods for iOS Development on Linux

Aggregated on: 2023-08-16 00:01:28

iOS development has long been associated with Apple's ecosystem and Xcode, which is only available for macOS. However, with the growing popularity of iOS apps, developers using Linux have sought ways to perform iOS development on their preferred operating system. While the process is more complex than on macOS, there are several effective ways to carry out iOS development on Linux. In this blog, we will explore the three best methods to achieve this, empowering Linux developers to create remarkable iOS applications without needing a Mac. 1. Cross-Platform Mobile App Development Tools: One of the most effective ways to perform iOS development on Linux is by using cross-platform mobile app development tools. These tools allow developers to write code once and deploy it on multiple platforms, including iOS. Some of the popular cross-platform tools are:

View more...

Flutter: Paving the Way or Just a Passing Trend?

Aggregated on: 2023-08-16 00:01:28

As the demand for feature-rich and high-performance apps increases, developers are constantly exploring new frameworks and tools to build better applications efficiently. One such technology that has gained significant attention in recent years is Flutter. In this blog, we will delve into the world of Flutter to determine whether it is truly paving the way for the future of app development or if it's merely a passing trend. Introduction to Flutter Flutter, developed by Google, is an open-source UI software development kit (SDK) used for building natively compiled applications for mobile, web, and desktop platforms from a single codebase. It enables developers to create stunning and high-performance applications with a rich set of pre-designed widgets, expressive UIs, and smooth animations. Flutter's "hot reload" feature allows developers to see changes in real-time, making the development process faster and more efficient.

View more...

Driving DevOps Excellence: Implementing Service Level Objectives (SLOs) For Your DevOps Team

Aggregated on: 2023-08-16 00:01:28

In today's fast-paced world of software development, when continuous deployment and frequent releases are the norm, DevOps teams are essential to facilitating smooth communication between development and operations. In a previous blog post on LinkedIn, I talked about the importance of Service Level Objectives (SLOs) for the testing team to improve the overall product quality. On top of that, let's look at how adding SLOs to your DevOps team can improve productivity, dependability, and client happiness. The Role of SLOs for DevOps Teams Aligning DevOps Goals with Business Objectives:  SLOs help DevOps teams coordinate their efforts with business objectives. The DevOps team can concentrate on delivering real business value by setting precise performance indicators, such as deployment success rates or infrastructure provisioning timeframes.

View more...

Azure DevOps Pipeline for Oracle Integration Cloud

Aggregated on: 2023-08-15 23:31:28

Large enterprises nowadays operate in multi-cloud environments where company data and enterprise applications are distributed in different clouds due to organization security policy. IT operations under such multi-cloud ecosystems need a seamless DevOps platform where the source Code residing at one cloud layer can easily be deployed to another cloud where the enterprise application is hosted. Hence the current DevOps pipeline should address the cross-boundary continuous integration and continuous delivery challenges.  As part of the business requirement, this work is aimed to successfully build an Azure DevOps pipeline to deploy the code from Azure Repos (used as our source code repository) to Oracle Integration Cloud (used as our enterprise application host platform) as per the following architecture diagram.

View more...

Take Your Data Science Career to the Next Level With SDS™ Certification: A Complete Guide

Aggregated on: 2023-08-15 23:16:28

Who Is a Senior Data Scientist (SDS™)? A senior data scientist plays a critical role in leading the analytics and data department, providing advanced expertise in mathematical and statistical concepts, overseeing the work of junior data scientists, and ensuring that projects are delivered according to requirements. Organizations rely on these professionals for insights that can help them gain a competitive edge by improving efficiency, cost-effectiveness, and speed. They occupy the highest echelon of organizational hierarchy and are often entrusted with spearheading the business intelligence function in many organizations. They are expected to possess a wide-ranging knowledge base and extensive skill sets, enabling them to undertake the following key responsibilities: Facilitating the capturing and utilization of big data across business functions and organizational departments to enhance outcomes. Overhauling or creating data management infrastructure within organizations from scratch. Leading internal DevOps teams or external developers in developing and deploying data analytics and business intelligence applications and modules. Empowering departmental leaders with the requisite functional knowledge and insights, enabling them to adopt an agile and proactive approach. Contributing to the development of a strong data ownership and governance framework within the organization. Additionally, they prepare non-technical reports that outline the successes and limitations of projects and offer recommendations on leveraging valuable data insights to shape business strategies. Staying up-to-date with the latest trends and developments in data science is also crucial to ensure that the department remains competitive and relevant.

View more...

A Beginner’s Guide To Building Microservices With AWS Lambda

Aggregated on: 2023-08-15 23:01:28

When used to construct microservices, AWS Lambda provides a route to craft scalable and flexible cloud-based applications. AWS Lambda supports code execution without server provisioning or management, rendering it an appropriate choice for microservices architecture. This beginner guide will delineate the steps in building microservices with AWS Lambda. Building Microservices With AWS Lambda Let's dive into the process of building microservices using AWS Lambda:

View more...

Debugging as a Process of Isolating Assumptions

Aggregated on: 2023-08-15 23:01:28

Debugging is an integral part of any software development process. It's a systematic hunt for bugs and mistakes that may be hidden in the intricate lines of your code. Much like a hunter and its prey, it requires a precise method and a set of specific tools. Let's delve deeper into the fascinating process of isolating assumptions to effectively debug your code. Before I proceed with this week's post, if you have friends who are learning to code… I published a new book for Java beginners with no prior knowledge (for learning programming from scratch). Each chapter also has an accompanying video, and I think there’s no book quite like it for beginners. I would appreciate spreading the word on this.

View more...

The Journey Through Number Types

Aggregated on: 2023-08-15 21:16:28

This part of the "Math Behind Software" series will be focused solely on math. I am going to present to you a few types of numbers that you can find all around and I bet that you never thought that they may even exist. Let's start with the Armstrong numbers. Numbers Armstrong Number In general, an Armstrong number (or narcissistic number) is a number n in a given number base (number of unique digits used to represent the number – the most common base currently is decimal system) b which can be expressed as a sum of its digits raised to the power of b.

View more...

How To: Run an OSS Wordle Clone With Docker Compose

Aggregated on: 2023-08-15 21:01:28

Wordle took the internet by storm after its release in late 2021. For many, it’s still a morning ritual that pairs seamlessly with a cup of coffee and the start of a work day. As a DevOps engineer, is there a single better way to warm up your mind other than puzzling out a Docker Compose file and then indulging in the world’s favorite word game? Well, the jury’s still out on that one, but this tutorial can let you see for yourself. Why Write a Docker Compose File? Even in an application with a single Dockerfile, a Docker Compose file can be a useful asset. Working from a Dockerfile often requires lengthy build and run commands, which can be migrated into a Compose file. This way, you aren't copying and pasting complex commands on every new build. Instead, your entire application builds and runs with just docker compose up. This is even more valuable when using an application with multiple Dockerfiles: you no longer need to individually build and run each Dockerfile.

View more...

What Is Cross-Origin Resource Sharing (CORS): Explanation and How To Handle It

Aggregated on: 2023-08-15 20:31:28

Let’s start with a quick and easy overview of what CORS really is. CORS stands for Cross-Origin Resource Sharing. It is a mechanism that allows resources to be requested from an application running on a different domain than the one from which they originated. In other words, it enables web pages to access data and resources from other domains.

View more...

Authentication vs. Authorization: What's the Difference?

Aggregated on: 2023-08-15 18:31:28

Although they are often conflated with each other, Authentication and Authorization, represent two fundamentally different aspects of security that work together in order to protect sensitive information. In this blog, we will go over some of the key differences between the two. The Foundation: What Is Authentication? Authentication is the process of verifying the identity of a user or entity attempting to gain access to a system or resource. It answers the fundamental question, “Who are you?” to ensure that the individual or device claiming access is, indeed, who they say they are. This identity verification process serves as the initial gatekeeper, protecting against unauthorized entry and mitigating threats like unlicensed access.

View more...

A Comparison of eBPF Observability vs. Agents and Sidecars

Aggregated on: 2023-08-15 17:46:28

The observability landscape is witnessing a radical transformation today. The central driver of this shift is eBPF (extended Berkeley Packet Filter), a technology that is revolutionizing how we observe and monitor systems. In an earlier post, we took a detailed look at the technology of eBPF and its implications for observability. In this article, we will compare eBPF-based instrumentation with other instrumentation methods like code agents and sidecars and see which best suits the needs of observability today. Before we dive in, let’s briefly revisit eBPF.

View more...

Build Type Class in Scala 3

Aggregated on: 2023-08-15 17:46:28

In this blog, we will learn how to build a type class in Scala 3. I have already written about what are types of classes in Scala. If you want to learn in detail, follow this blog post Starting with Type Classes in Scala, and if you want to learn about Contextual Abstraction in Scala 3 – Given and Using. Now let’s dive into the process of creating a type class in Scala 3 step by step. 1. Define the Type Class Trait Start by defining a trait that represents the behavior you want to abstract as a type class. This trait will typically declare one or more methods that define the desired functionality.

View more...

RVAsec 2023: Improving Ourselves, Our Security, and Our Community

Aggregated on: 2023-08-15 14:31:28

Richmond, Virginia, has a vibrant and storied history. While Edgar Allan Poe is more associated with Baltimore, he actually grew up in Richmond, home to the Edgar Allan Poe Museum. Richmond was also home to Maggie Lena Walker, the first woman to own a bank. It is also where Patrick Henry gave his famous "Give me liberty or give me death" speech. While nobody declared anything so revolutionary this year, many security professionals did gather to share ideas and opinions at RVAsec 2023, taking place June 13 and 14.This year marked the 12th gathering and the largest attendance for the event to date, with 740 tickets sold. This year there was a capture-the-flag, lock-picking village, and an extremely fun casino-themed after-party. 28 speakers presented on a wide range of topics, including your author. All the sessions were recorded and will be available on the RVAsec website. Here are just a few highlights from this year's event.

View more...

Understanding the Life Cycle Phases of the Extreme Programming Development Model

Aggregated on: 2023-08-15 14:16:28

Extreme programming (XP) is a specialist programming strategy that enables coders to quickly incorporate changes in the final build. This specialist technique prioritizes efficient code delivery through shorter development cycles and periodic releases. It emphasizes client feedback and allows programmers to build higher-quality software products through customer observations. This software delivery model was developed in the ’90s by Kent Beck. This framework enables software engineers to deliver software at a sustainable rate. It takes its name from the idea that the best elements of traditional software development (such as pair programming, TDD, and CI) are taken to an extreme level.  

View more...

Introduction to Software Testing of Home/Industry Robots

Aggregated on: 2023-08-15 03:16:28

In this article, I aim to debunk how to approach the testing of robotics software. Robotics involves intricate microprocessors, embedded systems, and diverse software stacks. Software quality engineers play a crucial role in testing these intricate software components to ensure seamless functionality and performance. I will explore the different software stacks utilized in robotics and shed light on the essential testing methodologies used by software quality engineers in this dynamic and evolving field. Robotics Software Design In the world of robotics, the key items in software design are hardware, microprocessors, embedded systems, sensors, and software. The software piece is heavily reliant on the performances of all the above components. To elaborate more on the software design, it can comprise so many things starting from the low-level platform and kernel design to middleware layers to the more user-facing app layers. Understanding these layers is super critical to write a test automation design for these components.

View more...

REST APIs: Simplicity, Flexibility, and Adoption

Aggregated on: 2023-08-15 03:16:28

In the realm of modern web development, APIs (Application Programming Interfaces) play a crucial role in facilitating seamless communication and data exchange between different software systems. Among these APIs, REST (Representational State Transfer) API has emerged as a dominant force, revolutionizing the way web applications are built and integrated. Its profound significance lies in its simplicity, flexibility, and scalability, making it the go-to choice for developers in today's web landscape. REST APIs follow a stateless, client-server architecture and utilize standard HTTP methods like GET, POST, PUT, and DELETE for interactions. Its resource-oriented design represents data and functionality as unique URLs, enabling developers to build robust, interconnected applications without complex communication protocols.

View more...

ELT Is Dead, and EtLT Will Be the End of Modern Data Processing Architecture

Aggregated on: 2023-08-15 03:01:28

When talking about data processing, people often abbreviate it as “ETL.” However, if we look closely, data processing has undergone several iterations from ETL, ELT, XX ETL (such as Reverse ETL, Zero-ETL) to the currently popular EtLT architecture. While the Hadoop era mainly relied on ELT (Extract, Load, Transform) methods, the rise of real-time data warehouses and data lakes has rendered ELT obsolete. EtLT has emerged as the standard architecture for real-time data loading into data lakes and real-time data warehouses. Let’s explore the reasons behind the emergence of these architectures, their strengths and weaknesses, and why EtLT is gradually replacing ETL and ELT as the global mainstream data processing architecture, along with practical open-source methods. ETL Era (1990–2015) In the early days of data warehousing, Bill Inmmon, the proponent of data warehousing, defined it as a data storage architecture for partitioned subjects, where data was categorized and cleaned during storage. During this period, most data sources were structured databases (e.g., MySQL, Oracle, SQLServer, ERP, CRM), and data warehouses predominantly relied on OLTP databases (e.g., DB2, Oracle) for querying and historical storage. Handling complex ETL processes with such databases proved to be challenging. To address this, a plethora of ETL software emerged, such as Informatica, Talend, and Kettle, which greatly facilitated integrating complex data sources and offloading data warehouse workloads.

View more...

Supercharging Data Analytics With SQL in S4 HANA and Domo: A Machine Learning Perspective

Aggregated on: 2023-08-15 02:31:28

In today's digital age, data is the new oil. It fuels decision-making and drives business growth. Among the many technologies available, four stand out: SQL, Machine Learning, S4 HANA, and Domo. When used together, they can unlock powerful insights and give businesses a competitive edge. Understanding the Basics SQL is a programming language designed for managing databases. It forms the backbone of many data operations. On the other hand, Machine Learning, a subset of artificial intelligence, automates the creation of analytical models. It's a powerful tool that allows systems to learn from experience without explicit programming.

View more...

Generative AI Project Lifecycle

Aggregated on: 2023-08-15 02:31:28

Starting a generative AI project, particularly one involving large language models (LLMs), requires a multitude of well-coordinated steps and a broad range of skills. Here, we delve deep into the lifecycle of such projects, underlining the process and the necessary adaptations in the traditional software development roles. The Generative AI Project Lifecycle Embarking on a Generative AI project is a journey of discovery and innovation, but understanding its lifecycle can help you navigate the way more effectively. From the spark of the initial idea to the continuous monitoring post-deployment, every step in this journey holds significance. In this blog, we present a comprehensive view of the Generative AI project lifecycle, shedding light on each phase and the intricate processes within them. This section will provide a roadmap, enabling teams and individuals to envision the broader picture and intricacies involved in realizing a Generative AI project.

View more...

Integration Testing of Non-Blocking Retries With Spring Kafka

Aggregated on: 2023-08-15 02:16:28

Kafka Non-Blocking Retries Non Blocking retries in Kafka are done via configuring retry topics for the main topic. An Additional Dead Letter Topic can also be configured if required. Events will be forwarded to DLT if all retries are exhausted. A lot of resources are available in the public domain to understand the technicalities.  Kafka Consumer Non-Blocking Retry: Spring Retry Topics Spring Retry Kafka Consumer What To Test? It can be a challenging job when it comes to writing integration tests for the retry mechanism in your code. 

View more...

How To Use Amazon SageMaker for Machine Learning

Aggregated on: 2023-08-15 02:01:28

Machine learning is now a critical tool for businesses and researchers aiming to glean meaningful insights from their data. Amazon SageMaker, a fully managed service from Amazon Web Services (AWS), stands as a robust platform for constructing, training, and deploying machine learning models on a large scale.  In this article, I will delve into using Amazon SageMaker to maximize the benefits of machine learning in your projects.

View more...

Adherence to Legacy Systems, Processes, and Practices

Aggregated on: 2023-08-15 01:31:28

Administrative overreach and micromanagement in Scrum mainly arise from clinging to legacy systems and traditional (management) practices, leading to rigidity and misapplication of Agile principles. The excessive control by stakeholders and the management level stifles creativity and adaptability, disrupting planning and hindering a Scrum team’s growth. Moreover, these categories from the Scrum anti-patterns taxonomy often emphasize an unbalanced focus on short-term gains, neglecting long-term strategy, value creation, and the essential alignment among all stakeholders to succeed in uncertainty. Learn how these Scrum anti-patterns categories manifest themselves and how they affect value creation for customers and the long-term sustainability of the organization.

View more...

What Is a Service Mesh and Why Is It Needed for Kubernetes?

Aggregated on: 2023-08-15 00:46:28

Enterprises nowadays are keen on adopting a microservices architecture, given its agility and flexibility. Containers and the rise of Kubernetes — the go-to container orchestration tool — made the transformation from monolith to microservices easier for them. However, a new set of challenges emerged while using microservices architecture at scale:

View more...

JWT Token Authentication Using the .Net Core 6 Web API

Aggregated on: 2023-08-15 00:16:28

In this article, we are going to discuss JWT Token authentication and implementation using .NET Core API 6. Before looking into this blog, visit my previous blog: Introduction and Details about JWT Token Authentication and Authorization, to understand the basics and details of JWT Token Authentication and Authorization and how things work using JWT.

View more...

Getting Ready for Interviews in Software Engineering

Aggregated on: 2023-08-14 20:16:28

Prerequisite Begin by selecting a programming language that you feel comfortable with and that you will use for your interviews. It can be any language, such as Java or Python, as long as you have a solid understanding and knowledge of it. Data Structures and Algorithms Acquiring a thorough understanding of popular data structures and algorithms is crucial. I recommend picking up a book like “Data Structures and Algorithms in Java” by Robert Lafore and mastering the fundamentals of data structures and algorithms. Although interviewers may not frequently ask you to implement them, practicing and comprehending their runtime and space complexities is essential.

View more...

The 6 Pillars of Effective Cloud Security

Aggregated on: 2023-08-14 20:16:28

Cloud security is a top priority for several organizations right now; no doubt about that. However, many companies still find themselves grappling in the dark when it comes to implementing effective cloud security controls. This article addresses challenges businesses might have when deploying cybersecurity for the cloud by focusing on the six most important pillars for successful strategizing and implementation.

View more...