News Aggregator


The Art of Landing a DevRel Role

Aggregated on: 2023-07-11 16:46:08

In this week's episode of Dev Interrupted, we’re focusing on the increasingly valuable role of DevRels. Francesco Ciulla, Developer Advocate at the open-source daily.dev community — which has more than 100,000 daily active users — joins us for a DevRel deep dive. Listen as Francesco explains how a career change in his thirties set him on a path towards becoming a developer, being hired by the European Space Agency and, eventually, landing a role as a developer advocate, crediting much of his success on his ability to leverage social media to advance his career. 

View more...

Fortifying Networks: Unlocking the Power of ML, AI, and DL for Anomaly Detection

Aggregated on: 2023-07-11 16:16:08

Artificial Intelligence: Definition and Practical Applications Artificial intelligence (AI) refers to the development of computer systems that can perform tasks that typically require human intelligence. It involves the creation of algorithms and models that enable machines to perceive and interpret information, reason, make decisions, learn from data, and interact with their environment. AI encompasses various techniques, including machine learning, natural language processing, computer vision, and robotics. The uses of artificial intelligence are vast and continue to expand across various industries. In healthcare, AI is utilized for disease diagnosis, drug discovery, personalized medicine, and patient monitoring. In finance, AI algorithms assist in fraud detection, risk assessment, and algorithmic trading. In the realm of transportation, AI is driving advancements in autonomous vehicles and optimizing traffic flow. Additionally, AI finds applications in areas such as manufacturing, customer service, agriculture, climate modeling, gaming, and personalization of user experiences. Overall, artificial intelligence enhances efficiency, enables data-driven decision-making, and tackles complex problems across sectors, contributing to advancements and improvements in numerous fields.

View more...

Creating a Better StackOverflow With ChatGPT

Aggregated on: 2023-07-11 15:46:08

By now, you've probably heard the news about OpenAI turning off internet searches on ChatGPT. At AINIRO, we believe that software evolution by itself is a higher purpose, so we created AINIRO Oracle, the Search Engine that uses ChatGPT to answer questions. To understand our motivation, imagine the following use case where you want to find the answer to the following question:

View more...

SAAS Security: 6 Best Practices and Strategies

Aggregated on: 2023-07-11 14:16:08

The rise of cloud computing and SaaS (Software as a Service) has dramatically reshaped the digital landscape, offering companies numerous benefits like scalability, cost-efficiency, and flexibility. In fact, the five largest SaaS companies in the U.S. have a combined market capitalization of $742.4 billion USD. The second largest SaaS company in the U.S. list, Salesforce serves over 150,000 customers across the globe, with customers from industries not limited to professional services, manufacturing, retail, banking, finance, media, life sciences, insurance, and real estate, to name a few. However, these benefits at this scale also come with a load of security challenges, making SaaS security an integral part of operations and IT. By following some best practices and strategies, organizations can better combat security risks and mitigate potential threats. A recent incident that I discovered that created waves across the SaaS security landscape was the Salesforce data leaks earlier this year. An alarming number of companies, including banks, governmental agencies, and healthcare providers, were unwittingly leaking sensitive and private information due to a misconfiguration in public Salesforce Community websites. The security flaw allowed unauthenticated users to access records typically reserved for logged-in users. One such case was discovered in the state of Vermont, where at least five different Salesforce Community sites were found to expose sensitive data such as full names, Social Security numbers, addresses, phone numbers, emails, and bank account numbers of users and the general public. This was especially concerning for a Pandemic Unemployment Assistance program. Vermont's Chief Information Security Officer Scott Carbee stated that the flawed sites were hastily created in response to the COVID-19 pandemic and thus did not undergo a standard security review.

View more...

Databases Used in Modern Software Development

Aggregated on: 2023-07-11 13:01:08

A database is an organized collection of data stored and accessed electronically. Databases are widely used in businesses, organizations, and institutions to manage data efficiently. A database is a collection of data organized to allow for easy retrieval, modification, and management of the data. Databases are used extensively in the field of computing for various purposes, such as online transaction processing, data warehousing, customer relationship management, and more. There are different types of databases, each with its strengths and weaknesses. In this article, we will explore the different types of databases and some of the newer types of databases that have emerged in recent years. Relational Databases Relational databases are the most widely used type of database. They are based on the relational model, which organizes data into tables or relations. Each table consists of rows and columns, with each row, representing a record and each column representing a field or attribute. The relations between the tables are established using keys, which are used to link the data in different tables. SQL (Structured Query Language) is the standard language used to interact with relational databases. Some of the popular relational databases are:

View more...

Implementation Architecture of Istio and API Gateway

Aggregated on: 2023-07-11 04:16:08

With the advent of microservices, cloud, and containers, architects and the DevOps team need to reimagine and rethink how to simplify the network complexity and achieve zero-trust network security before one is in deep waters.  There are limitations to API gateways in the app modernization journey when we consider Istio versus API gateways. However, this article will discuss different scenarios to implement Istio with your existing API gateway infrastructure.

View more...

MQTT Reason Code Introduction and Quick Reference

Aggregated on: 2023-07-11 03:46:08

Reason Code The primary purpose of a Reason Code in MQTT is to provide more detailed feedback to the client and server. For example, we can feed back the Reason Code corresponding to the wrong username or password to the client in the CONNACK packet, so that the client can know why it cannot connect. Reason Code in MQTT 3.1.1 Although MQTT 3.1.1 already supports Reason Codes, it doesn't define many available Reason Codes. In fact, they are very limited.

View more...

The Art of Community Building With Postman's Head of Developer Relations, Joyce Lin

Aggregated on: 2023-07-11 03:31:08

What does building an engaged community really mean for your business? When we look at a company like Postman with over 20 million active users and one of the most passionate groups of evangelizers in tech, we find that Postman's story is really a story of community success. In fact, after product-market fit, community has become a must-have for any startup looking to survive.  But community building is a tricky thing, so where and how do you start?

View more...

Introduction to Array Data Structures

Aggregated on: 2023-07-10 21:01:08

Introduction One of the most frequently utilized data structures in computer science is arrays. They are used to store a group of identical data-type elements, such as integers, characters, or strings. Arrays offer a practical method for efficiently and compactly storing and accessing data. We will delve deeply into the properties, functions, and uses of the array data structure in this article. What Is an Array? An array is a collection of elements of the same data type, arranged in a contiguous block of memory. Each element in the array is identified by an index or a position within the array. The index of the first element is typically 0, and the index of the last element is n-1, where n is the number of elements in the array.

View more...

Addressing Bias in Facial Recognition Systems: A Novel Approach

Aggregated on: 2023-07-10 19:46:08

Facial recognition systems have gained significant popularity and are being widely used across various applications, such as law enforcement, mobile phones, and airports. However, recent studies have highlighted the presence of bias in these systems, leading to differential performance among different demographic groups. The implications of bias in facial recognition systems are concerning, as they can perpetuate systemic inequalities and have adverse effects on individuals' lives.  Bias in facial recognition systems can have detrimental effects in real-world scenarios. Here is a notable case study that exemplifies the potential consequences of biased facial recognition technology:

View more...

Create Your Own ChatGPT Application Using Spring Boot

Aggregated on: 2023-07-10 18:16:08

In this blog, I will try to explain how to integrate with OpenAI chat completion APIs to use them and create your own version of ChatGPT. This will utilize the classic Spring Boot app with core Java and OpenAI chat completion API. We will expose a REST endpoint that will take the query from the end user in the form of requestParam, process it, and return the response in human-readable text format.

View more...

Angular v16: A New Era of Angular Development

Aggregated on: 2023-07-10 18:01:08

Angular v16, the latest major release of the Angular framework, introduces a number of exciting new features and improvements. These features are designed to make Angular development more efficient, scalable, and secure. Rethinking Reactivity One of the most significant changes in Angular v16 is the introduction of a new reactivity model. The new model is designed to be more efficient and scalable while also providing a simpler mental model for developers.

View more...

How DevOps Teams Can Boost Kubernetes Performance

Aggregated on: 2023-07-10 18:01:08

Kubernetes (also called K8s) remains the most in-demand container for developers. Originally developed by engineers at Google, K8s has achieved global fame as the go-to solution for hosting across on-premise, public, private, or hybrid clouds. Insights from Statista show the Kubernetes market share of the public cloud went from 16% in 2021 to 45% in 2022. Another report on the state of Kubernetes in 2022 by VMware revealed that the adoption of Kubernetes has skyrocketed among large enterprises with 1,000 employees or more— from 27% in 2018 to 48% in 2020.   However, despite its rise in popularity, some challenges persist, disallowing DevOps teams from reaping the full benefits of building cloud-native applications with K8s. How do they walk the tightrope and deliver their best projects? Let’s take a quick trip together.

View more...

Choosing the Right Data Transfer Protocol for Efficient Cloud Migration

Aggregated on: 2023-07-10 17:16:08

In today's rapidly evolving digital landscape, cloud migration has become a strategic imperative for businesses seeking enhanced scalability, flexibility, and cost efficiency. However, a successful cloud migration heavily relies on efficient and secure data transfer from on-premises infrastructure to the cloud environment. Choosing the right data transfer protocol plays a pivotal role in ensuring a smooth and optimized migration process. In this blog, we will explore the importance of selecting the appropriate data transfer protocol and provide insights into choosing the right protocol for efficient cloud migration.  1. Understanding Data Transfer Protocols To make an informed decision about the right data transfer protocol, it's essential to understand the various options available. Here are some common protocols: 

View more...

How To Use GitLab for Simultaneous Execution of Jobs (Part 2)

Aggregated on: 2023-07-10 16:31:08

In part one of this series — How To Use GitLab for Simultaneous Execution of Jobs — the reader was introduced to the basics of GitLab, as well as continuous integration and continuous deployment/delivery. In this part of the series, the reader will learn how to solve the bottlenecks discussed in part 1 of this series by executing the jobs in parallel

View more...

Designing High-Performance APIs

Aggregated on: 2023-07-10 16:31:08

Welcome back to our series on API design principles for optimal performance and scalability. In our previous blog post, we explored the importance of designing high-performance APIs and the key factors that influence API performance. Today, we continue our journey by delving into the specific API design principles that contribute to achieving optimal performance and scalability. In this article, we will build upon the concepts discussed in the previous blog post. If you haven't had the chance to read it yet, we highly recommend checking it out to gain a comprehensive understanding of the foundational aspects of API performance optimization.

View more...

A Step-By-Step Guide to Data Migration: Unlocking Distributed Database Potential With ShardingSphere

Aggregated on: 2023-07-10 16:31:08

As the business continues to develop, the volume of data and concurrency reach a certain level. Traditional standalone databases may experience performance, scalability, and availability issues. In response to this, the industry has proposed NoSQL solutions to address these problems through data sharding and horizontal scaling. However, NoSQL databases usually do not support transactions and SQL. Apache ShardingSphere is a distributed database ecosystem that provides data migration solutions to facilitate the smooth transition of traditional single-node databases to ShardingSphere. It allows the conversion of standalone databases into distributed databases and enhances the original database through capabilities such as data sharding, elastic scaling, and encryption.  In this blog post, we will delve into ShardingSphere's data migration function and provide you with a comprehensive, step-by-step guide on how to build a distributed database. Assuming little prior knowledge, we'll explore the intricacies of data migration, allowing you to leverage ShardingSphere's power for seamless database transitions. Data Migration With ShardingSphere: A Closer LookLet's now explore one of the core features of ShardingSphere — data migration — and gain insights into its functionality and benefits. Whether it is for database upgrades or backups, you can directly use the built-in data migration functionality in ShardingSphere-Proxy. There is no need to introduce additional modules so that the project's development and maintenance process can be simplified. In this section, we'll focus on using MySQL as the target database and provide a step-by-step demonstration of the entire migration process. Scope of Data Migration SupportCurrently, ShardingSphere data migration supports the following database types: MySQL PostgreSQL openGauss Furthermore, ShardingSphere facilitates data migration across homogeneous and heterogeneous databases that support the aforementioned protocols. This flexibility allows businesses to seamlessly migrate data between different database systems, regardless of their underlying architecture. Supported Database Versions and Configuration ExamplesTo ensure compatibility, ShardingSphere provides data migration support for various database versions. The table below showcases the database versions and offers configuration examples for a smooth migration: Database Supported Version

View more...

Is ChatGPT Outsmarting Us? An Exploration Through the Lens of the Turing Test

Aggregated on: 2023-07-10 16:01:08

Artificial Intelligence (AI) has been a driving force behind numerous technological advancements, propelling us toward a future that was once the realm of science fiction. At the heart of these advancements lies a profound question: Can machines think? This query, raised by Alan Turing, the pioneering British mathematician and computer scientist, has served as a benchmark for evaluating the progress of AI. One of the latest entrants in the arena of AI, pushing the boundaries of what machines can do, is ChatGPT, an advanced language model developed by OpenAI. It's a digital interlocutor capable of generating human-like text based on the input it receives. It can draft emails, write code, create poetry, and even provide tutoring in a variety of subjects. 

View more...

10 Game-Changing Software Development Trends You Need To Know in 2023

Aggregated on: 2023-07-10 15:31:08

In the fast-paced world of technology, staying ahead of the curve is crucial for software developers and businesses alike. To maintain a competitive edge, it is essential to be aware of the latest trends and advancements in the field of software development. In this comprehensive article, we will explore the top 10 game-changing software development trends that you need to know in 2023. By embracing these trends, you can enhance your skills, deliver cutting-edge solutions, and drive innovation in the industry. 1. Artificial Intelligence and Machine Learning Artificial Intelligence (AI) and Machine Learning (ML) continue to revolutionize the software development landscape. From predictive analytics to natural language processing, AI-powered solutions are becoming increasingly prevalent. In 2023, we can expect a surge in AI and ML adoption, enabling developers to build intelligent applications that can learn, adapt, and make informed decisions. By leveraging AI and ML technologies, businesses can automate processes, gain valuable insights from data, and enhance user experiences.

View more...

API and Database Performance Optimization Strategies

Aggregated on: 2023-07-10 15:16:08

In today's fast-paced digital landscape, performance optimization plays a pivotal role in ensuring the success of applications that rely on the integration of APIs and databases. Efficient and responsive API and database integration is vital for achieving high-performing applications. Poorly optimized performance can lead to sluggish response times, scalability challenges, and even user dissatisfaction. By focusing on performance optimization, developers can enhance the speed, scalability, and overall efficiency of their applications. This not only leads to improved user satisfaction but also lays the foundation for future growth and success. Investing time and effort in optimizing performance upfront can prevent performance bottlenecks, reduce maintenance costs, and provide a solid framework for handling increased user loads as the application scales.

View more...

Visualize Real-Time Data With Python, Dash, and RisingWave

Aggregated on: 2023-07-10 15:16:08

Real-time data is important for businesses to make quick decisions. Seeing this data visually can help make decisions even faster. We can create visual representations of data using various data apps or dashboards. Dash is an open-source Python library that provides a wide range of built-in components for creating interactive charts, graphs, tables, and other UI elements. RisingWave is a SQL-based streaming database for real-time data processing. This article will explain how to use Python, Dash, and RisingWave to make visualizations of real-time data. How To Visualize Data in Real-Time We know that real-time data is data that is generated and processed immediately, as it is collected from different data sources. Sources can be typical databases such as Postgres or MySQL, and message brokers like Kafka. A real-time data visualization consists of a few steps: first, we ingest, then process, and finally show this data in a dashboard.

View more...

REST vs. SOAP: A Comprehensive Guide to Their Differences

Aggregated on: 2023-07-10 14:31:08

APIs (Application Programming Interfaces) are the backbone of modern web development, enabling communication and data exchange between different software systems. Commonly used types of APIs are REST (Representational State Transfer), SOAP (Simple Object Access Protocol), and, more recently, GraphQL and AsyncAPI. In this blog, we will dive into the differences between REST and SOAP APIs, exploring their functionality, security, performance, and ease of use.  What Is SOAP? SOAP was introduced in 1998 by Dave Winer, Don Box, Bob Atkinson, and Mohsen Al-Ghosein as an alternative to the more complex distributed object technologies such as CORBA and DCOM.

View more...

How To Scan GCP Storage Files for Threats Using Go

Aggregated on: 2023-07-10 14:31:08

As enterprise cloud storage solutions steadily gain momentum across global markets, the anti-virus and malware security policies deployed to protect these pay-per-scale services become more and more robust. Naturally, the taller the castle wall becomes, the higher the siege ladder is built to climb it, but the perpetual battle between threat actors and cloud security practitioners appears to march us ever closer toward a safer digital future. That said, the catastrophic damage from successful cloud storage attacks cannot be understated, and the evolution of this attack vector should never be underestimated. Public, private, and hosted cloud storage services are all extremely worthwhile targets for threat actors, playing host to valuable data that moves frequently between user devices, and a variety of potent attack vectors are regularly explored to penetrate networks through these locations. Threat actors can leverage well-known techniques like phishing to goad users into saving and storing malicious content in a public location, and they can disguise malware very effectively in direct client upload scenarios through built-in file features like Office macros or PDF password-protection measures.  

View more...

The Expensive Folly of the Oversized Product Backlog

Aggregated on: 2023-07-10 14:31:08

Some product owners believe that a comprehensive product backlog is the best way to accomplish the product goal and be fully transparent simultaneously — never let a possibly valuable idea slip away. However, a comprehensive backlog may quickly become an oversized product backlog with unintended side effects. Learn more about an oversized product backlog’s negative impact on innovation, your Scrum team’s ability to create value, and your relationship with stakeholders.

View more...

Can Distributed Tracing Replace Logging?

Aggregated on: 2023-07-10 13:31:08

Monitoring, Logging, and Tracing are often highlighted as the three fundamental pillars of a contemporary Observability framework. Conventional wisdom suggests that all three pieces of technology are equally critical and have their own place in the Observability stack. As more of the world shifts to the cloud, containerized, and distributed systems, will one of these pillars end up becoming more critical than the other? We predict that this will most likely be the case. In this article, we compare the roles of two of these Observability pillars, Distributed Tracing vs. Logging, and see which best suits the needs of an increasingly cloud-native world.

View more...

Building a MongoDB-Powered RESTful Application With Quarkus and Eclipse JNoSQL

Aggregated on: 2023-07-10 04:31:07

In the rapidly evolving world of modern application development, the adoption of NoSQL databases has gained significant traction due to their flexible data models and scalability advantages. However, integrating NoSQL databases seamlessly into an application can sometimes be complex, requiring specialized knowledge and intricate configurations. Enter Eclipse JNoSQL and Quarkus, two powerful technologies that, when combined, simplify the integration process and enable developers to leverage the capabilities of NoSQL databases effortlessly. Eclipse JNoSQL is an open-source framework that provides a standardized API and tools for working with NoSQL databases. It offers a unified programming model that abstracts the complexities of various NoSQL databases, allowing developers to write code agnostic to the underlying database technology. JNoSQL supports a wide range of NoSQL databases, including MongoDB, Cassandra, Couchbase, and more, making it an excellent choice for building flexible and scalable applications.

View more...

Introduction to Cloud Database

Aggregated on: 2023-07-09 22:01:07

Introduction Cloud databases are the future of data storage and management. With the advancement of technology, businesses and organizations have recognized the need to store data on the cloud. The cloud database is a type of database that is stored on a cloud computing platform. It allows businesses to store, manage, and access data remotely without the need for physical servers. In this article, we will discuss cloud databases in detail, including their benefits, types, and challenges. What is a Cloud Database? A cloud database is a database that is hosted on a cloud computing platform, such as Amazon Web Services, Microsoft Azure, or Google Cloud Platform. It enables users to store, manage, and access data through the Internet. The data is stored in a remote server, which eliminates the need for physical servers in the user’s location. Cloud databases are accessible from anywhere with an internet connection, making them an ideal solution for businesses with remote teams or with employees working from home.

View more...

Chat GPT Impact on the Software Sector

Aggregated on: 2023-07-09 21:01:07

Quick Summary Another major advancement in the field of artificial intelligence is the emergence of Chat GPT, a language model developed by OpenAI. Chat GPT, based on the GPT-3.5 architecture, is revolutionizing the IT industry in several ways such as by increasing efficiency and decreasing costs by automating tasks traditionally done by humans. It also reduces human error in more mundane situations that are increasingly being automated. Introduction The short answer is that Chat GPT is essentially a chatbot and uses Artificial Intelligence (AI) to automate customer response. This article will help you understand Chat GPT, the reasons behind its hype, and how it can be useful for your business.

View more...

Comparing NATS and Kafka: Understanding the Differences

Aggregated on: 2023-07-09 20:16:07

Messaging systems are game-changers in modern software development, enabling communication between different components of a system. They also help tackle the challenge of processing a high volume of data efficiently while ensuring reliable service delivery, real-time data processing, and secure data transfer between systems. As messaging systems for modern applications continue to evolve, NATS and Kafka have emerged as part of the most popular options in the market today. Both NATS and Kafka are open-source and have gained a lot of traction due to their reliability, efficiency, and scalability. However, there are several differences between the two, and deciding upon the appropriate messaging system can considerably impact your application. In this article, we will explore the differences between NATS and Kafka in terms of category ranking features, limitations, use cases, and capabilities.

View more...

How the Healthcare and Genomics Industry Innovates With Machine Learning and AI

Aggregated on: 2023-07-09 20:01:07

In recent years, artificial intelligence (AI) has played a more increasingly important role in the field of genomics, the study of an organism's genetic material. With the advancements in AI and machine learning, scientists can now analyze vast amounts of genomic data more accurately and efficiently than ever before. This has led to a wealth of new insights into the workings of our genetic code and has enabled the development of novel therapies for genetic diseases and healthcare innovations. In this article, we discuss some key application areas and how AI is transforming genomics, leading to rapid breakthroughs in the healthcare and drug discovery field.

View more...

Jason Arbon: 'In a Million Years, Super-Powerful Computers Will Honor the Testers of Our Time'

Aggregated on: 2023-07-09 19:31:07

Jason Arbon is the CEO and founder of test.ai, a company with over $30 million in funding by various investors. Their customers include major companies such as Microsoft, Google, Fortnite, and Epic Games. Despite the success, the team has decided to sell the majority of the company, and are currently working on a new secret venture, creatively named testers.ai. We’ve discussed the use of AI in testing, the somewhat unfair manual QA vs. automation QA struggle, the risks faced by testers with new technologies developing exponentially and why Jason doesn’t allow kids to scare AI from his Google account. 

View more...

What Is Envoy Gateway, and Why Is It Required for Kubernetes?

Aggregated on: 2023-07-08 23:01:07

Envoy proxy, the data plane of Istio service mesh, is used for handling east-west traffic ( service-to-service communication within a data center). However, to make Istio manage a network of multicloud applications, Envoy was configured as a sidecar proxy for handling north-south traffic (traffic in and out of data centers). It was observed that application developers found it difficult to configure Envoy proxy as an API gateway and ingress controller. This was time-consuming, which led the community to use Kubernetes Gateway API as a part of the Envoy project and eventually build Envoy Gateway.

View more...

Unlock the Power of GitHub: Automate Your Contributions With GraphQL

Aggregated on: 2023-07-08 22:31:07

GitHub contributions refer to the activities and contributions made by users within the GitHub platform. They are a way to track and quantify a user's involvement and contributions to repositories, projects, and the GitHub community. GitHub provides various metrics to measure and showcase a user's contributions. Automating GitHub contributions can offer several benefits, including efficiency and time savings, accurate and consistent tracking, real-time visibility, data-driven insights, motivation, and recognition. It optimizes efficiency, fosters collaboration, and enhances transparency within development teams, ultimately contributing to improved productivity and project outcomes. In this article, we will explore how you can automate your team's GitHub contributions using GraphQL. What Is GitHub GraphQL API? GitHub GraphQL is a query language and API (Application Programming Interface) that allows developers to retrieve and manipulate data from GitHub in a flexible and efficient manner. It is an alternative to the traditional REST (Representational State Transfer) API provided by GitHub.

View more...

Introduction to NoSQL Databases

Aggregated on: 2023-07-08 22:16:07

The evolution of databases has been remarkable over the years. The traditional relational databases dominated the industry for several decades. However, with the growth of the internet, social media, and big data, NoSQL databases have gained popularity due to their ability to handle large amounts of unstructured and semi-structured data. In recent years, NoSQL databases have gained immense popularity due to their ability to handle large amounts of data and their flexibility in data modeling. NoSQL, which stands for "not only SQL," is a term used to describe a class of non-relational databases that provide a flexible data model and can scale horizontally to handle large amounts of data.  NoSQL databases are designed to be highly scalable and flexible, making them ideal for handling large amounts of data in real-time. They offer a variety of data storage models such as key-value, document-oriented, column-family, and graph databases. In this article, we will explore the different types of NoSQL databases and their advantages over traditional relational databases.

View more...

4 Rules for Leading Dev Teams in Tough Economic Times

Aggregated on: 2023-07-07 21:46:06

It shouldn’t be a surprise that the outlook for many tech companies in 2023 is not rosy. With layoffs across the industry, we’re all going through a challenging time - whether you’re a dev or not.The last 14 years have been an unprecedented boom time - but economic conditions will eventually challenge all companies. How do we, as leaders, handle these challenges?I sat down with Michael Stahkne, VP of the platform at Circle CI; Lewis Tuff, VP of engineering at Blockchain.com; Carolyn Vo, partner & head of engineering at Oliver Wyman, for a panel at Dev Interrupted's conference to answer that exact question. Here’s how these leaders described what effective leadership looks like in uncertain times. 1. Increase the Quality and Frequency of Communication Some people will see this as counterintuitive. If times are tough, don’t you need more time to get work done? However, stellar communication is one critical way to lead effectively in both prosperous times and times of crisis.

View more...

Patterns To Make Synchronous Communication in Microservices Resilient

Aggregated on: 2023-07-07 18:46:06

Microservices have become a popular architectural approach for building large-scale, complex systems. While asynchronous communication is often preferred in microservices, there are cases where synchronous communication is necessary. However, relying on synchronous communication introduces challenges related to resilience. This blog post will explore patterns that help make synchronous communication in microservices more resilient, ensuring system stability and fault tolerance.  Circuit Breaker  The Circuit Breaker pattern is a crucial pattern in making synchronous communication in microservices more resilient. It acts as a safety mechanism that monitors the availability and responsiveness of dependent services. The Circuit Breaker maintains a state based on the success or failure of previous requests.

View more...

6 Must-Have Software Metrics for Engineering Managers

Aggregated on: 2023-07-07 17:01:06

"How is the release pipeline going?" is a common CTO-EM conversation today. However, whether the two tech leaders find a common language to answer this question- that's what we will talk about.  A common pattern across engineering managers is their struggle in quantifying 'real' metrics on engineering work. Mostly, it is about the difference in priorities for EM vs. C-suite; the other times, it is about disagreements over 'what' needs to be measured- the product, process, or both.  

View more...

Partitioning Historical Data Into Daily Parquet Files in Azure Data Lake Using Azure Data Factory and Azure Notebook

Aggregated on: 2023-07-07 16:46:06

When working with historical data, it is often necessary to partition the data into daily files based on a key column for efficient storage and querying. Azure Data Factory (ADF) provides a powerful data integration service, while Azure Notebook offers an interactive environment for data exploration and analysis. In this article, we will guide you through the process of partitioning historical data into daily Parquet files using Azure Data Factory and an Azure Notebook. This approach allows for easy execution and customization of the partitioning functionality. Prerequisites Before proceeding, ensure you have the following:

View more...

CI/CD Pipeline With CircleCI for React Native

Aggregated on: 2023-07-07 16:46:06

The CI/CD is a process that automates the build, test, and deployment. Different CI/CD (continuous integration and continuous delivery) tools are available such as Jenkins, Circle CI, and GitHub actions.  React Native is a leading component-based mobile application framework that uses JavaScript (or typescript) to build native-like mobile applications which can be published to the Apple store and Android store.This article briefly describes how to build a CI/CD pipeline for React Native with CircleCI. You can follow these general steps:

View more...

Building News Sentiment and Stock Price Performance Analysis NLP Application With Python

Aggregated on: 2023-07-07 16:16:06

In this tutorial, I will explore a fintech idea that combines news sentiment analysis and stock trading to make news more actionable for algorithmic trading. This tutorial presents a step-by-step guide on how to engineer a solution that leverages market data API and a sentiment score to demonstrate any correlation between news sentiment and stock price performance. Traders thrive on having instant access to information that enables them to make quick decisions. Consider a scenario where a trader can promptly identify and access news that directly impacts the performance of their stocks, referred to as investor sentiment. However, reading through articles and discerning the content can be time-consuming and may result in missed opportunities. Imagine if traders could receive immediate notifications within their order management software (OMS) whenever a stock they want to trade receives positive media coverage, which could potentially influence the stock price. This idea also presents the opportunity of automating buy/sell decisions by integrating real-time news sentiment scoring into algorithmic strategies. 

View more...

AI Code Intentions

Aggregated on: 2023-07-07 16:16:06

Any modern IDE includes Code Intentions that allow you to perform some predefined actions on your code based on a context. For example, for a  for statement, there can be several intentions like Convert to while, Reverse order, Use Streams, etc. The use of Intentions is very handy as it allows us to perform quick refactoring or do some manipulation with the code.  Intentions are pretty hard to develop, so they are usually hard-coded and bundled with the IDEs by respective IDEs vendors. In some IDEs, it is possible to develop your own Intentions, but it is not so easy as it requires good knowledge of an IDE platform, writing lots of code, developing plug-ins to deploy your Intentions, etc.

View more...

Sticky Sessions With Apache APISIX — The Demo

Aggregated on: 2023-07-07 16:01:06

Last week, we described the concept behind sticky sessions: you forward a request to the same upstream because there's context data associated with the session on that node. However, if necessary, you should replicate the data to other upstreams because this one might go down. In this post, we are going to illustrate it with a demo. The Overall Design Design options are limitless. I'll keep myself to a familiar stack, the JVM. Also, as mentioned in the previous post, one should only implement sticky sessions with session replication. The final design consists of two components: an Apache APISIX instance with sticky sessions configured and two JVM nodes running the same application with session replication.

View more...

Fix AttributeError: 'NoneType' Object Has No Attribute 'Shape'

Aggregated on: 2023-07-07 16:01:06

NumPy is a popular tool for computing numbers involving matrices, arrays, and math functions. The shape attribute of a NumPy array returns a tuple showing the array's dimensions. And when it comes to reshaping and manipulating NumPy arrays, the attribute is crucial. Below is how the shape attribute function:

View more...

Dynamic Entity Graphs in Spring Data JPA

Aggregated on: 2023-07-07 15:46:06

JPA and its implementation, Hibernate, is the most popular way to access relational data in Java applications. From the very beginning, data access optimization has been one of the main goals of Hibernate developers. One such optimization is eliminating unnecessary database queries, which significantly impact performance. For example, when dealing with related entities, such as master-detail relationships, we need to decide whether we need to fetch details. The simplest solution would be to mark associated entity fields with the EAGER fetch type. However, this is highly ineffective since we don’t always need associated entities. While LAZY fetching helps to avoid extra queries, it is essential to remember to fetch additional detail entities strictly within the transaction. Also, this may cause the N+1 query problem. The Entity Graph specification was introduced in JPA 2.1, offering developers fine-grained control over how entities and their related data are fetched from the database. With entity graphs, developers can define explicit fetch plans, reducing the N+1 query problem and eliminating the need for manual JOIN clauses. This feature empowers developers to optimize data retrieval efficiently.

View more...

How I Learned To Love Autonomous Generative AI Versus Auto-Complete

Aggregated on: 2023-07-07 15:46:06

New generative AI for code tools help developers do their jobs more quickly with less effort by synthesizing code. ChatGPT and other LLM approaches have made this kind of generative AI accessible to a broad general audience. Developers are flocking to it. But too often overlooked are the fundamental differences between generative AI for code tools, and those differences inform which approach is better for your developer tasks. Under the covers, generative AI for code tools fall into two basic categories: transformer-based large language models (e.g., Copilot, ChatGPT), and reinforcement learning-based systems (RL).

View more...

The Significance of Deep Storage in Apache Druid

Aggregated on: 2023-07-07 15:16:06

The phrase “deep storage” refers to the long-term storage system used by Apache Druid, where past data segments are preserved for durability and retrieval in the future. Druid stores data in files called segments, and deep storage is the place where segments are stored. Even though Druid’s native integration with Apache Kafka (can read here how to integrate Druid with Kafka) and Amazon Kinesis, which allows query-on-arrival at millions of events per second, low latency ingestion, etc., and eventually enables us to fully exploit the potential of streaming data, the deep storage mechanism added another advantage of data durability. Impressively, it’s a type of storage that Apache Druid does not offer. Druid’s Deep storage guarantees long-term data persistence even if data is deleted from the live cluster after compaction. This ensures data longevity and offers data loss protection. In short, Druid stores data in files called segments, and the compaction in Druid can be defined as the process where small segments are merged into larger segments to boost the query performance after data is ingested into Druid. Historical processes of Druid cache data segments on local disk and serve queries from that cache as well as from an in-memory cache. Thus, Druid never needs to access deep storage during a query and helps it offer the best query latencies possible. Additionally, it means that we need to have enough disc space for the data we intend to load across all of our historical servers.

View more...

Evolving DORA Metrics: Discussing Emerging Trends and Advancements in DORA Metrics, Such as Incorporating Security and Quality Metrics Into the Assessment Framework

Aggregated on: 2023-07-07 15:01:06

In the fast-paced world of software development, DevSecOps principles have emerged as a crucial approach for organizations to streamline their software delivery processes, improve collaboration between teams, and achieve faster time-to-market. In this context, the DevSecOps Research and Assessment (DORA) metrics have become essential tools for measuring and evaluating the effectiveness of DevSecOps implementations. This article explores the evolving trends and advancements in DORA metrics, specifically focusing on incorporating security and quality metrics into the assessment framework. Understanding DORA Metrics DORA metrics refer to a set of key performance indicators (KPIs) that provide insights into the performance and efficiency of software development and delivery processes. They enable organizations to assess their DevSecOps practices, identify areas for improvement, and measure the impact of changes over time. The assessment framework comprises a comprehensive set of metrics that cover various aspects, including deployment frequency, lead time for changes, time to restore service, and change failure rate.

View more...

What Do Agile Coaches Do? How Can They Improve Your Software Development Projects?

Aggregated on: 2023-07-07 15:01:06

The software development industry is evolving rapidly, and it is essential for companies to have a well-structured and efficient process in place to ensure successful project completion. Agile methodologies are very popular among software development companies in recent years due to their flexibility and adaptability to changing requirements. Agile coaches play a crucial role in helping organizations implement and optimize Agile practices. This article will explore the responsibilities of Agile coaches and how they can significantly enhance your software development projects. 

View more...

Unleashing Business Innovation Through the Power of Kubernetes

Aggregated on: 2023-07-07 14:46:06

In the dynamic landscape of the digital economy, businesses are perpetually seeking the latest technologies to stay one step ahead of their competitors. Harnessing the power of innovation is a paramount business strategy. In this context, Kubernetes, an open-source platform, has emerged as a groundbreaking tool, revolutionizing the way businesses manage, scale, and deploy applications. This powerful orchestrator has ushered in a new era of agility and efficiency in IT infrastructure, making it an indispensable asset in the ever-changing, fast-paced business world. The Genesis and Purpose of Kubernetes Kubernetes, initially developed by Google and now maintained by the Cloud Native Computing Foundation, is a system specifically designed to manage containerized applications in a clustered environment. It provides a robust framework for these systems to run smoothly and efficiently, allowing businesses to shift their focus from managing infrastructure to creating value. This significant shift in focus is the key differential of Kubernetes, marking it as a game-changer in the realm of information technology.

View more...

Test Approach Tutorial: A Comprehensive Guide With Examples and Best Practices

Aggregated on: 2023-07-07 14:46:06

A test approach involves a clear grasp of the fundamental testing principles, objectives, and a clear test strategy. The starting point usually identifies the types of testing a project would require. This includes acceptance, integration, system, unit testing, and so on. As we know, testing is one of the most critical aspects of the Software Development Life Cycle. It goes without saying, but the final software product has to meet set quality standards. So, to achieve this goal, it's vital to have a well-thought-out, defined, and fully-structured testing approach.

View more...