News Aggregator


Platform Engineering Essentials

Aggregated on: 2024-10-31 17:51:40

Platform engineering aims to enhance the developer experience through the establishment of secure environments, automated and self-service tools, and streamlined workflows. However, as technology and cyber threats continue to evolve, the integration of automation, security, and AI will be vital to the success of these platforms. In this Refcard, you will learn more about the value of platform engineering, including best practices, tools, core capabilities, how to align business goals, and more.

View more...

Boosting Efficiency: Implementing Natural Language Processing With AWS RDS Using CloudFormation

Aggregated on: 2024-10-31 17:51:40

Natural Language Processing (NLP) is revolutionizing how organizations manage data, enabling the automation of text-intensive tasks such as analyzing customer feedback, monitoring sentiment, and recognizing entities. NLP can yield significant insights from extensive datasets when integrated with AWS Relational Database Service (RDS) for efficient data storage and retrieval. This article outlines the comprehensive configuration of an NLP-enabled AWS RDS environment utilizing AWS CloudFormation templates (CFT), accompanied by an in-depth cost and performance analysis to illustrate the benefits of NLP. Advantages of Implementing NLP NLP empowers organizations to do the following:

View more...

Exploring AI-Powered Web Development: OpenAI, Node.js, and Dynamic UI Creation

Aggregated on: 2024-10-31 15:36:40

In the rapidly advancing world of web development, artificial intelligence (AI) is paving the way for new levels of creativity and efficiency. This article takes a deep dive into the exciting synergy between OpenAI's robust API, the flexibility of Node.js, and the possibilities for creating dynamic user interfaces. By examining how these technologies work together, we'll uncover how they can transform our approach to both web development and UI development. Dynamic UI Creation Dynamic UI Creation involves generating user interfaces that can adapt dynamically based on factors like user input, data, or context. In AI-driven UI generation, this concept is elevated by using artificial intelligence to automatically create or modify UI elements.

View more...

Faster Startup With Spring Boot 3.2 and CRaC, Part 2

Aggregated on: 2024-10-31 13:36:40

This is the second part of the blog series “Faster Startup With Spring Boot 3.2 and CRaC," where we will learn how to warm up a Spring Boot application before the checkpoint is taken and how to provide configuration at runtime when the application is restarted from the checkpoint. Overview In the previous blog post, we learned how to use CRaC to start Spring Boot applications ten times faster using automatic checkpoints provided by Spring Boot 3.2. It, however, came with two significant drawbacks:

View more...

Java Is Greener on Arm

Aggregated on: 2024-10-30 22:21:39

Even those not particularly interested in computer technology have heard of microprocessor architectures. This is especially true with the recent news that Qualcomm is rumored to be examining the possibility of acquiring various parts of Intel and Uber is partnering with Ampere Computing.  Hardware and software are evolving in parallel, and combining the best of modern software development with the latest Arm hardware can yield impressive performance, cost, and efficiency results.

View more...

Multimodal RAG Is Not Scary, Ghosts Are Scary

Aggregated on: 2024-10-30 21:21:39

I just gave a talk at All Things Open and it is hard to believe that Retrieval Augmented Generation (RAG) now seems like it has been a technique that we have been doing for years.  There is a good reason for that, as over the last two years it has exploded in depth and breadth as the utility of RAG is boundless. The ability to improve the results of generated results from large language models is constantly improving as variations, improvements, and new paradigms are pushing things forward.

View more...

How to Get Plain Text From Common Documents in Java

Aggregated on: 2024-10-30 20:21:39

In this article, we’ll learn how to extract plain text strings from a few of the most common file types (PDF, DOCX, XSLX, PPTX) we can expect to deal with on a day-to-day basis as programmers in an enterprise environment.   We’ll briefly review when to use plain text extraction methods over Optical Character Recognition (OCR) text extraction methods, and we’ll discuss some use cases for retrieving plain text in a real-world scenario. Ultimately, we’ll cover a few open-source APIs that are perfect for handling plain text extraction on a one-off basis, at the end we’ll demonstrate a proprietary API that saves time by automatically detecting each different file type before extracting plain text content.

View more...

Implementing LSM Trees in Golang: A Comprehensive Guide

Aggregated on: 2024-10-30 19:21:39

Log-Structured Merge Trees (LSM trees) are a powerful data structure widely used in modern databases to efficiently handle write-heavy workloads. They offer significant performance benefits through batching writes and optimizing reads with sorted data structures. In this guide, we’ll walk through the implementation of an LSM tree in Golang, discuss features such as Write-Ahead Logging (WAL), block compression, and BloomFilters, and compare it with more traditional key-value storage systems and indexing strategies. We’ll also dive deeper into SSTables, MemTables, and compaction strategies for optimizing performance in high-load environments. LSM Tree Overview An LSM tree works by splitting data between an in-memory component and an on-disk component:

View more...

Challenges and Ethical Considerations of AI in Team Management

Aggregated on: 2024-10-30 18:21:39

Having spent years in the SaaS world, I've seen how AI is transforming team management. But let's be honest — it's not all smooth sailing. There are real challenges and ethical dilemmas we need to unpack. So, let’s cut through the noise and get into what it really means to bring AI into the mix for managing teams. The Double-Edged Sword of Efficiency First things first: AI is a powerhouse when it comes to efficiency. It can crunch numbers, analyze patterns, and make predictions faster than any human ever could. Sounds great, right? Well, yes and no.

View more...

Navigating API Challenges in Kubernetes

Aggregated on: 2024-10-30 17:21:39

Kubernetes has become the standard for container orchestration. Although APIs are a key part of most architectures, integrating API management directly into this ecosystem requires careful consideration and significant effort. Traditional API management solutions often struggle to cope with the dynamic, distributed nature of Kubernetes. This article explores these challenges, discusses solution paths, shares best practices, and proposes a reference architecture for Kubernetes-native API management. The Complexities of API Management in Kubernetes Kubernetes is a robust platform for managing containerized applications, offering self-healing, load balancing, and seamless scaling across distributed environments. This makes it ideal for microservices, especially in large, complex infrastructures where declarative configurations and automation are key. According to a 2023 CNCF survey, 84% of organizations are adopting or evaluating Kubernetes, highlighting the growing demand for Kubernetes-native API management to improve scalability and control in cloud native environments. However, API management within Kubernetes brings its own complexities. Key tasks like routing, rate limiting, authentication, authorization, and monitoring must align with the Kubernetes architecture, often involving multiple components like ingress controllers (for external traffic) and service meshes (for internal communications). The overlap between these components raises questions about when and how to use them effectively in API management. While service meshes handle internal traffic security well, additional layers of API management may be needed to manage external access, such as authentication, rate limiting, and partner access controls.

View more...

Compliance Automated Standard Solution (COMPASS), Part 7: Compliance-to-Policy for IT Operation Policies Using Auditree

Aggregated on: 2024-10-30 16:21:39

(Note: A list of links for all articles in this series can be found at the conclusion of this article.) In Part 4 of this multi-part series on continuous compliance, we presented designs for Compliance Policy Administration Centers (CPAC) which are typically part of larger platforms known in the industry under various names such as Cloud-Native Application Protection Platform (CNAPP), Cloud Security Posture Management (CSPM), Cloud Workload Protection Platforms (CWPP), or Cloud Infrastructure Entitlement Management (CIEM), bundled into those platforms to facilitate the management of the compliance artifacts connecting the Regulatory Policies expressed programmatically as Compliance-as-Code with technical policies implemented as Policy-as-Code. The separation of Compliance-as-Code and Policy-as-Code is purposeful, as different personas (see Part 1) need to independently manage their respective responsibilities according to their expertise; e.g., compliance controls and parameters selection, crosswalks mapping across regulations for compliance and auditor experts, or runtime evidence collectors and checks implementation for code developers or security focals.

View more...

Hot Class Reload in Java: A Webpack HMR-Like Experience for Java Developers

Aggregated on: 2024-10-30 15:21:39

In the world of software development, time is everything. Every developer knows the frustration of waiting for a full application restart just to see a small change take effect. Java developers, in particular, have long dealt with this issue. But what if you didn’t have to stop and restart every time you updated a class? Enter Hot Class Reload (HCR) in Java — a technique that can keep you in the flow, reloading classes on the fly, much like Hot Module Reload (HMR) does in JavaScript. In this guide, we’ll walk through how to implement HCR and integrate it into your Java development workflow. By the end, you’ll have a powerful new tool to reduce those long, unproductive restart times.

View more...

How to Create a Pokémon Breeding Gaming Calculator Using HTML, CSS, and JavaScript

Aggregated on: 2024-10-30 14:21:39

Gaming calculators can provide quick and useful features for gamers, such as calculating stats, damage, or compatibility between in-game elements. In this guide, I'll walk you through creating a simple, yet interactive Pokémon Breeding Calculator using HTML, CSS, and JavaScript. This project will fetch data from an API and determine if two Pokémon can breed based on their egg groups.  You can see a live version of this calculator on Game On Trend (Pokemon Breeding Calculator).

View more...

Snowflake Cortex Analyst: Unleashing the Power of Conversational AI for Text-to-SQL

Aggregated on: 2024-10-30 13:21:39

Conversational AI Conversational AI refers to technologies that enable humans to interact with machines using natural language, either through text or voice. This includes chatbots, voice assistants, and other types of conversational interfaces. Conversational AI for SQL refers to natural language interfaces that enable users to interact with databases using everyday language instead of writing SQL code. This technology allows non-technical users to query and analyze data without requiring extensive SQL knowledge.

View more...

Beginners Guide to SwiftUI State Management

Aggregated on: 2024-10-30 12:21:39

State management is a fundamental concept in app development that involves tracking and updating data that influences the user interface. In SwiftUI, this is particularly crucial due to its declarative nature. To effectively leverage SwiftUI’s capabilities, it’s essential to grasp the various approaches to state management and why they are necessary. This article will delve into the intricacies of state management in SwiftUI. We’ll explore different strategies that programmers can employ to utilize Apple’s powerful state management APIs. Before diving into SwiftUI-specific techniques, let’s examine the broader context of UI programming and understand why state management is indispensable.

View more...

Inside the World of Data Centers

Aggregated on: 2024-10-29 22:21:39

The computing requirements of algorithms have increased dramatically over the past two decades. In particular, machine learning (ML) algorithms have experienced a growth in computing resource demand that exceeds Moore’s Law. While Moore's Law predicts a doubling of processing power every two years, since 2012, ML algorithms have been doubling in computational demands every 3-4 months (“AI and Compute,” 2018). As a result, running these algorithms on a single computer is nearly impossible or prohibitively expensive. A more practical approach is to break down these algorithms into smaller chunks, and then use many commodity computers to run these smaller blocks. To illustrate this, imagine we are training a machine learning model on a dataset with 1 million entries. Instead of using one computer to process the entire dataset, we could break it into 10 blocks of 100K entries each. We would then use 10 computers, each running the training algorithm on the subset of 100K entries. (Note: For simplicity, I've omitted the step of combining the results from these machines, as it’s beyond the scope of this article.)

View more...

Increase Model Flexibility and ROI for GenAI App Delivery With Kubernetes

Aggregated on: 2024-10-29 21:21:39

As with past technology adoption journeys, initial experimentation costs eventually shift to a focus on ROI. In a recent post on X, Andrew Ng extensively discussed GenAI model pricing reductions. This is great news, since GenAI models are crucial for powering the latest generation of AI applications. However, model swapping is also emerging as both an innovation enabler, and a cost saving strategy, for deploying these applications. Even if you've already standardized on a specific model for your applications with reasonable costs, you might want to explore the added benefits of a multiple model approach facilitated by Kubernetes. A Multiple Model Approach to GenAI A multiple model operating approach enables developers to use the most up-to-date GenAI models throughout the lifecycle of an application. By operating in a continuous upgrade approach for GenAI models, developers can harness the specific strengths of each model as they shift over time. In addition,  the introduction of specialized, or purpose-built models, enables applications to be tested and refined for optimal accuracy, performance and cost. 

View more...

Front End Debugging, Part 1: Not Just Console Log

Aggregated on: 2024-10-29 20:21:39

As a Java developer, most of my focus is on the backend side of debugging. Front-end debugging poses different challenges and has sophisticated tools of its own. Unfortunately, print-based debugging has become the norm in the front-end. To be fair, it makes more sense there as the cycles are different and the problem is always a single-user problem. But even if you choose to use Console.log, there’s a lot of nuance to pick up there. Instant Debugging With the debugger Keyword A cool, yet powerful tool in JavaScript is the debugger keyword. Instead of simply printing a stack trace, we can use this keyword to launch the debugger directly at the line of interest. That is a fantastic tool that instantly brings your attention to a bug. I often use it in my debug builds of the front end instead of just printing an error log.

View more...

How to Enhance the Performance of .NET Core Applications for Large Responses

Aggregated on: 2024-10-29 19:21:39

Problem Statement Our API/application uses the Newtonsoft.Json serializer on .NET Core 3 or above, and our response payloads are larger in size. How do we use the .NET code properties and settings to improve API performance? Possible Case Where You Could Have Started Facing the Performance Issue This issue could have started when you upgraded your API to .NET Core 3.0 or above with the Newtonsoft.Json serializer, or when you created your API with .NET Core 3 or above and using the Newtonsoft.Json serializer.

View more...

Enhance User Experience With a Formatted Credit Card Input Field

Aggregated on: 2024-10-29 18:21:39

In this article, I will guide you on how to create a credit card input by extending existing ZK components. Moreover, I'll apply a customized ZK JavaScript widget to format the card numbers in groups of four digits, improving readability and user experience. Additionally, we'll integrate a custom JavaScript widget to ensure that only numeric input is accepted. This guide is ideal for web developers needing a dedicated input field for credit card information. Using the ZK UI Framework as an example, I’ll walk you through creating a well-structured, readable credit card input box.

View more...

Dapr and Service Meshes: Better Together

Aggregated on: 2024-10-29 17:21:39

There are many reasons why Kubernetes is a popular container runtime platform for distributed applications. One of these reasons is the portability and flexibility that it provides to IT architects. However, the difficulties of service discovery, infrastructure reliability, and security are known challenges that result from these benefits. From challenges, opportunities are created, and many tools have risen to mitigate common problems faced by teams that benefit from containerized applications on Kubernetes. A service mesh is a pattern that aims to mitigate some of these challenges when architecting an application on Kubernetes. By providing a dedicated service layer to facilitate service discovery and how applications share information with each other, they provide security, tracing, monitoring, and traffic control. 

View more...

Unifying SecOps and Observability for Enhanced Cloud Security in Azure

Aggregated on: 2024-10-29 16:21:39

As someone who has worked in various areas of Azure for almost a decade, I have witnessed its constant evolution and the rise of increasingly sophisticated security risks. This calls for a unified approach to modern cloud security, where integrating Security Operations, aka "SecOps," into observability becomes essential. SecOps bridges the gap between security and operations, ensuring real-time threat detection, mitigation, and compliance. With the growing value and vulnerability of data, SecOps is crucial in safeguarding applications, preventing unauthorized access, and maintaining the integrity of sensitive information. Why SecOps Is Important   In today’s cloud-centric environment, applications handle vast amounts of sensitive data, making SecOps critical to protect this information from breaches, unauthorized access, and cyber threats. SecOps ensures that every facet of security — from encryption to access control — is built into the operational workflow. Incorporating SecOps into the operations workstream guarantees that security is not an afterthought, but a continuous process that safeguards both the data and the integrity of business applications.

View more...

Top Takeaways From Devoxx Belgium 2024

Aggregated on: 2024-10-29 15:21:39

In October 2024, I visited Devoxx Belgium and again it was an awesome event! I learned a lot and received quite some information which I do not want to withhold from you. In this blog, you can find my takeaways from Devoxx Belgium 2024! Introduction Devoxx Belgium is the largest Java conference in Europe. This year, it was already the 21st edition. As always, Devoxx is being held in the fantastic theatres of Kinepolis Antwerp. Each year, there is a rush on the tickets. Tickets are released in several batches, so if you did not have a ticket during the first batch, you will get another chance.

View more...

Harnessing the Power of Distributed Databases on Kubernetes

Aggregated on: 2024-10-29 14:21:39

Cloud-native technologies have ushered in a new era of database scalability and resilience requirements. To meet this demand, enterprises across multiple industries, from finance to retail, to healthcare, are turning to distributed databases to safely and effectively store data in multiple locations.  Distributed databases provide consistency across availability zones and regions in the cloud, but some enterprises still question whether they should run their distributed database in Kubernetes. 

View more...

AWS Redshift Data Sharing: Unlocking the Power of Collaborative Analytics

Aggregated on: 2024-10-29 13:21:39

What Is AWS Redshift Data Sharing? As a data engineer, most of my time will be spent constructing data pipelines from source systems to data lakes, databases, and warehouses. In the cloud world, the databases/warehouses are usually isolated in a private subnet in a VPC, and sharing the data will be a challenge. One of the pain points is to have this data distributed to several teams in the organization. Data can be shared by exporting into files, but this increases the concerns of security, data duplication, and maintenance of these export pipelines.  I was delighted to find that we have a utility in AWS Redshift that will let you share the data between two Redshift clusters without building any ETL infrastructure. AWS Redshift data sharing allows you to securely share live, read-only data between different Redshift clusters within or across AWS accounts and regions. It eliminates the need for data duplication and helps multiple stakeholders access the same dataset, allowing different departments, teams, or external partners to collaborate and derive insights from shared data. By sharing specific databases, schemas, tables, or views from the Producer Cluster to one or more Consumer Clusters, organizations can significantly reduce the complexity of their data pipelines.

View more...

How to Copy Text to Clipboard Using React.js

Aggregated on: 2024-10-29 12:21:39

In this article, we will learn how to copy text to Clipboard using React.js. Using this, we can copy any text to the clipboard and paste it anywhere. You can check my previous articles, in which we discussed React.js and its basic components from the below-mentioned links.

View more...

Filtering Java Collections via Annotation-Driven Introspection

Aggregated on: 2024-10-28 22:21:38

Since Java 8, the programming workload of iterating over collections and selecting a subcollection (filtering) based on defined constraints (predicates) has been considerably simplified using the new Stream API. Despite this new feature, some scenarios can still overwhelm developers by requiring them to implement a significant amount of very specific code to meet the filtering conditions. A common example in enterprise systems is the need to filter: ". . . a collection where each object is an element of a large graph and the attributes to be considered in the filters belong to distinct objects."

View more...

So, You Want a Career in DevOps? Here's Where to Begin

Aggregated on: 2024-10-28 21:21:38

Once during an interview for a senior DevOps position, I had an amusing experience. I had covered everything the interviewer expected, anticipating their questions, when boredom suddenly swooped in. To switch things up, I handed a marker to the two engineers at the interview who were assessing my knowledge and asked them to explain how their DevOps processes were organized. As they walked me through the setup, I started asking why certain decisions were made. The engineers and the interviewer were surprised but raised no objections.  I got that job. Yet, the lesson between the lines is that there are no ready-made templates for job interviews, and unexpected twists are inevitable — especially for a DevOps position. 

View more...

Lifecycle Microservices With GenAI Tools

Aggregated on: 2024-10-28 20:21:38

Lifecycle Development With AI We have seen a huge shift in the way developers and consultants are using Generative AI (GenAI) tools to create working microservices. A new tool named WebGenAI begins the process with a simple prompt to create a complete API microservice with a running React-Admin user interface and has the ability to iterate and add new features or even logic. WebGenAI is built on top of the existing Python open-source framework ApiLogicServer.  The entire project can be downloaded as runnable Python code or a Docker container to use locally. It also pushes each iteration to GitHub and you can run the application using Codespaces. This is usually where the beginning of the full microservice lifecycle starts.

View more...

Refining Automated Testing: Balancing Speed and Reliability in Modern Test Suites

Aggregated on: 2024-10-28 19:21:38

Traditionally, automated tests are classified as unit tests, integration tests, and end-to-end tests. This classification is based on the scope of a test, though the distinction between the different types is not always clear. Unit tests have a narrow scope and usually exercise a single method or class. Integration tests validate the interaction between different components. End-to-end tests often exercise complete user flows on a platform or web application, involving several disparate systems. As a codebase grows, slow and flaky tests start affecting developer productivity. It’s instructive to examine test suites from another dimension — speed and determinism.

View more...

How to Repair Corrupt MySQL Database Tables Step-by-Step

Aggregated on: 2024-10-28 18:21:38

In the modern world, companies are not solely dependent on a specific database server platform. There are many database platforms available that are adequate to handle moderate workloads and client requirements of high availability and disaster recovery. MySQL is one of those database platforms which provides a lot of features and high performance. Just like other RDBMS, MySQL is also prone to database and table corruption. The recent outage caused by Microsoft and CrowdStrike also impacted MySQL database servers. Due to operating system failures, the tables of the database or entire databases get corrupted.

View more...

Kumologica Container Inside AWS ECS Fargate

Aggregated on: 2024-10-28 17:21:38

We have seen multiple examples and use cases of building a low code API using Kumologica and running it on AWS lambda and on Azure function. In this article, we will be taking through the build and deployment of a simple hello world service Docker container inside AWS Elastic Container Service (ECS) Fargate. Photo by Chris Linnett Architecture Based on the design defined in the diagram (Figure 1), we will be building Kumologica applications as a Docker container. Once the Docker image is ready, we will push it into the AWS Elastic Container Registry (ECR). ECR holds all the Docker images. The Elastic Container Service is an AWS container management platform. The workload availability, scaling, and network are managed by ECS. In order to deploy a workload to ECS, an ECS task definition needs to be created, which will define the Docker image that needs to be used, the name of the service, and the type of launch. In this case, we will be choosing the launch type as Fargate. 

View more...

How to Design Event Streams, Part 1

Aggregated on: 2024-10-28 16:21:38

Event streaming is becoming increasingly common in the world today. An event is a single piece of data that describes, as a snapshot in time, something important that happened in your business. We record that data to an event stream (typically using an Apache Kafka topic), which provides the basis for other applications and business processes to respond and react accordingly — also known as event-driven architecture (EDA). Event-driven architectures (EDA) rely extensively on events. To be successful with EDA, you’ll need to know how to properly design your events because this will significantly affect not only what you can do today, but also tomorrow.

View more...

Advanced CI/CD Pipeline Optimization Techniques Using GitHub Actions

Aggregated on: 2024-10-28 15:21:38

Continuous Integration and Continuous Deployment (CI/CD) pipelines are crucial for modern software development. This article explores advanced techniques to optimize these pipelines, enhancing efficiency and reliability for enterprise-level operations. Parallelization Using Matrix Builds GitHub Actions CI tests using the matrix strategy to run jobs in parallel:

View more...

Using AUTHID Parameter in Oracle PL/SQL

Aggregated on: 2024-10-28 14:21:38

In Oracle, the AUTHID clause is a powerful option to manage DB security and access control. It defines who is considered a current user for execution purposes within stored procedures and functions. This article explores the basics of AUTHID, different settings, and how to use it effectively. About AUTHID The AUTHID clause specifies whether the current user for authorization checks is the owner of the procedure or function (AUTHID DEFINER) or the user who invokes it (AUTHID CURRENT_USER).

View more...

AI-Driven Intent-Based Networking: The Future of Network Management Using AI

Aggregated on: 2024-10-28 13:21:38

We are living in a world where the internet is an inseparable part of our lives, and with the growth of Cloud computing and increased demand for AI/ML-based applications, the demand for network capacity is unstoppable. As networks scale exponentially, classical topologies and designs are struggling to keep in sync with the rapidly evolving demands of the modern IT infrastructure. Network management is getting complex due to the sheer amount of network infrastructure and links. AI-driven intent-based networking emerges as a potential solution, promising to reshape our approach to network management — but is it truly the solution to this problem it claims to be? Let’s dive into its details to understand how intent-based networking will be shaping the future of network management. What Is Intent-Based Networking? Traditional intent-based networking (IBN) evolved from software-defined networking (SDN). SDN is a very popular approach in network automation where software-defined controllers and APIs communicate with the physical Infrastructure. IBN is a natural progression of SDN that combines intelligence, analytics, machine learning, and orchestration to automate network management. It translates high-level business intent into network policies to configure the underlying network. IBN abstracts the complex part of underlying hardware, and network configuration to allow users to express their desired intent in natural language. 

View more...

The Power of Market Disruption: How to Detect Fraud With Graph Data

Aggregated on: 2024-10-28 12:21:38

In previous articles, I’ve mentioned my short career in the music industry. Let me tell a quick story about something really cool that happened while playing keyboards on a new artist project in 1986.  Emerging from the solo section of the first song on the album, sound engineer Alan Johnson had a cool idea that would catch the listener’s attention. The idea focused on a backward sound effect where Alan flipped the audio reels. (Here’s a YouTube video to better explain.)

View more...

12 Expert Tips for Secure Cloud Deployments

Aggregated on: 2024-10-25 22:06:36

According to the Thales 2024 Cloud Security Study, 31% of cyberattacks prioritize SaaS applications, followed closely by 30% targeting cloud storage and 26% aimed at cloud management infrastructure. Cloud resources have become the prime targets for hackers — no surprise, considering the vast amount of data companies are now storing there. And these aren’t just small-scale incidents. In June 2023, Toyota Motor Corporation issued an apology for a major data breach due to a cloud misconfiguration, potentially exposing the information of millions of customers. Whether you're managing sensitive customer data or operating critical business applications, securing your cloud deployment isn’t a luxury — it’s essential. This guide offers 12 cloud security tips for AWS, Google Cloud, and Azure to safeguard your environment.

View more...

Exploring Foundations of Large Language Models (LLMs): Tokenization and Embeddings

Aggregated on: 2024-10-25 19:06:36

Have you ever wondered how various Gen AI tools like ChatGPT or Bard efficiently answer all our complicated questions? What goes behind the scenes to process our question and generate a human-like response with the size of data in magnitudes? Let’s dive deep. In the era of Generative AI, natural language processing plays a crucial role in how machines understand and generate human language. The applications for this cut through various implementations like smart chatbots, translation, sentimental analysis, developing knowledge basis, and many more. The central theme in implementing this Gen AI application is to store the data from various sources and query those to generate human language responses. But how does this work internally? In this article, we will explore concepts of tokenization and embeddings, which play a vital role in understanding human queries and converting knowledge bases to generate responses.

View more...

Reactive Kafka With Spring Boot

Aggregated on: 2024-10-25 16:06:36

Event-driven architectures are at the core of modern, scalable systems. Reactive Kafka, when combined with Spring Boot and WebFlux, offers a powerful approach to building non-blocking, high-throughput services. In this article, we’ll focus on building generic, easily configurable consumers and producers, managing dead letter topics (DLT), and writing integration tests with Testcontainers. To demonstrate these principles, I’ve created a microservice, bootiful-reactive-kafka, which processes user-related events from an external system. While this microservice is simple, it illustrates key concepts that you can apply to more complex real-world use cases. 

View more...

Right-Sizing GPU and CPU Resources For Training and Inferencing Using Kubernetes

Aggregated on: 2024-10-25 14:06:36

The rapid rise of AI services has created a massive demand for computing resources, making efficient management of those resources a critical challenge. While running AI workloads with Kubernetes has come a long way, optimizing scheduling based on dynamic demand continues to be an area for improvement. Many organizations face constraints related to the cost and availability of GPU clusters worldwide and often rely on the same compute clusters for inference workloads and continuous model training and fine-tuning.    AI Model Training and Model Inferencing in Kubernetes Training typically requires far more computational power than inferencing. On the other hand, inferencing is far more frequent than training as it is used to make predictions repeatedly across many applications. Let’s explore how we can harness the best of what the cloud has to offer with advances in Kubernetes to optimize resource allocation by prioritizing workloads dynamically and efficiently based on need. 

View more...

Understanding the Differences Between Repository and Data Access Object (DAO)

Aggregated on: 2024-10-24 22:51:36

Repository and Data Access Object (DAO) play crucial roles in software development and data handling. However, their purposes and contexts differ, especially when we consider how they relate to the business logic of an application. Let’s explore the key differences between these concepts, where they originate, and when you should choose one. About Repository and Data Access Object (DAO) Patterns The Repository pattern originates from Domain-Driven Design (DDD), as described by Eric Evans in his book, "Domain-Driven Design: Tackling Complexity in the Heart of Software." Repositories are not just about managing data; they encapsulate business logic, ensuring that operations adhere to the Ubiquitous Language of the domain.

View more...

Summary of the AJAX Frameworks Comparison

Aggregated on: 2024-10-24 20:51:36

In previous weeks, I've analyzed several libraries and frameworks that augment the client with AJAX capabilities. Vue.js Alpine.js HTMX Vaadin In this post, I'll compare them across several axes.

View more...

High-Speed Real-Time Streaming Data Processing

Aggregated on: 2024-10-24 18:51:35

From data ingestion to reporting, the primary goal is to convert data into actionable information. Online data is growing at a much faster rate than data processing speeds. For businesses to stay competitive, data must be readily available for making informed decisions as early as possible. Live data streaming software is becoming a vital part of data infrastructures to get data to processing systems as early as possible. While different streaming software are available, it is crucial to understand the domain context and available infrastructure. Each business use case is unique and should be treated with white-glove treatment. The critical thing to remember is that cheap, fast, and good will never make a feasible combination. The affordable solution may be quick but not good; a fast solution may be good but not cheap, and so on. An ideal example of this concept would be real-time streaming data processing. 

View more...

Accelerating Connection Handshakes in Trusted Network Environments

Aggregated on: 2024-10-24 16:51:35

In this article, I aim to discuss modern approaches used to reduce the time required to establish a data transmission channel between two nodes. I will be examining both plain TCP and TLS-over-TCP.  What Is a Handshake? First, let’s define what a handshake is, and for that, an illustration of the TCP handshake serves very well:

View more...

Ending Microservices Chaos: How Architecture Governance Keeps Your Microservices on Track

Aggregated on: 2024-10-24 14:51:35

A microservices architecture is the gold standard for building scalable web applications. Gartner estimates that 74% of organizations use microservices for their web applications, with another 23% planning to use them soon.  If you’re an IT leader, architect, or developer, you might have experienced the faster deployments, better fault isolation, and easier scaling that come with microservices. 

View more...

Good Refactoring vs Bad Refactoring

Aggregated on: 2024-10-23 23:51:35

I've hired a lot of developers over the years. More than a few of them have come in with a strong belief that our code needed heavy refactoring. But here's the thing: in almost every case, their newly refactored code was found by the other developers to be harder to understand and maintain. It also was generally slower and buggier too. Now, don't get me wrong. Refactoring isn't inherently bad. It's a crucial part of keeping a codebase healthy. The problem is that bad refactoring is, well, bad. And it's surprisingly easy to fall into the trap of making things worse while trying to make them better.

View more...

Will GenAI Force Coders to Switch Careers?

Aggregated on: 2024-10-23 22:51:35

The world of software engineering is on the cusp of a transformation, driven largely by the rapid advancement of Generative AI (GenAI). The AWS CEO recently suggested that developers might stop coding within two years as AI takes over coding tasks. Is this an accurate prediction? Will GenAI really force coders to abandon their careers?  The answer isn't straightforward. GenAI will no doubt automate many coding jobs, which will cut down the need for some positions. However, it won't make software engineers a thing of the past. It's similar to how automation changed fields like manufacturing. GenAI will cause a shift, but not a total replacement. We'll still need software engineers — though in a more advanced and specialized way. They'll focus on jobs that AI can't handle by itself.

View more...

Automate Web Portal Deployment in Minutes Using GitHub Actions

Aggregated on: 2024-10-23 21:51:35

In today's fast-paced development environment, automating the deployment process is crucial for maintaining efficiency and reducing human error. GitHub Actions has emerged as a powerful tool for implementing continuous integration and continuous deployment (CI/CD) pipelines, particularly for web applications. This article explores how to leverage GitHub Actions to deploy a feedback portal seamlessly and efficiently. The Power of GitHub Actions GitHub Actions is more than just a CI/CD tool; it's a complete automation platform that allows developers to create custom workflows for building, testing, and deploying their applications. These workflows are triggered by specific events in your GitHub repository, such as pushes, pull requests, or scheduled tasks.

View more...

Data Architectures With Emphasis on Emerging Trends

Aggregated on: 2024-10-23 20:51:35

In this emerging Generative AI era as a data architect, it is your responsibility to keep a tap on the emerging architectures that cater to Generative AI. From data management to data governance to data lineage, architectures need to emerge to handle volumes of data. In this article, you learn about emerging data architectures like data mesh, Generative AI, and Quantum-based along with the existing architectures like Data Fabric. The article will conclude by showing the key differences between the existing and the emerging data architectures.

View more...