News AggregatorTransforming Customer Feedback With Automation of Summaries and Labels Using TAG and RAGAggregated on: 2024-10-15 13:51:30 In today’s data-driven landscape, businesses encounter a vast influx of customer feedback through reviews, surveys, and social media interactions. While this information can yield invaluable insights, it also presents a significant challenge: how to distill meaningful data from an overwhelming amount of information. Advanced analytics techniques are revolutionizing our approach to understanding customer sentiment. Among the most innovative are Table-Augmented Generation (TAG) and Retrieval-Augmented Generation (RAG), which enable businesses to derive complex insights from thousands of reviews simultaneously using natural language processing (NLP). This article delves into the workings of TAG and RAG, their implications for data labeling and Text-to-SQL generation, and their practical applications in real-world scenarios. By providing concrete examples, we illustrate how these technologies can enhance data analysis and facilitate informed decision-making, catering to both seasoned data scientists and newcomers to the field. View more...Writing Great Code: The Five Principles of Clean CodeAggregated on: 2024-10-14 23:51:30 One of the finest ways to make the code easy to read, maintain, and improve can be done by writing clean code. Clean code helps to reduce errors, improves the code quality of the project, and makes other developers and future teams understand and work with the code. The well-organized code reduces mistakes and maintenance a lot easier. 1. Use Meaningful Names Clean code should have meaningful names that describe the purpose of variables, functions, and classes. The name itself should convey what the code does. So, anyone who is reading it can understand its purpose without referring to any additional documentation. View more...The Battle of Data: Statistics vs Machine LearningAggregated on: 2024-10-14 22:51:30 The goal of the paper is to investigate the fields of statistics and machine learning and look at the differences, similarities, usage, and ways of analyzing data in these two branches. Both branches of science allow interpreting data, however, they are based on different pillars: statistics on mathematics and the other on computer science – the focus of machine learning. Introduction Artificial intelligence together with machine learning is presently the technologically advanced means of extracting useful information from the raw data that is changing every day around us. On the contrary, statistics — a very old field of research of over 3 centuries — has always been regarded as a core discipline for the interpretation of the collected data and decision-making. Even though both of them share one goal of studying data, how the goal is achieved and where the focus is varies in statistics and machine learning. View more...Amazon Redshift Workload Management (WLM): A Step-by-Step GuideAggregated on: 2024-10-14 21:51:30 As a database administrator or data engineer working with Amazon Redshift, it's crucial to manage resources effectively to handle different workloads. Amazon Redshift's Workload Management (WLM) feature lets you define how queries are prioritized and how resources like CPU and memory are allocated. This guide will walk you through setting up WLM step by step, making it easy for newbies to get started. What Is Workload Management (WLM)? WLM allows Amazon Redshift to handle multiple concurrent queries by allocating resources to query queues. You can create custom queues, allocate memory, and set concurrency limits for specific workloads, ensuring that critical queries run efficiently even under heavy loads. View more...Hello, K.AI: How I Trained a Chatbot of Myself Without CodingAggregated on: 2024-10-14 20:51:30 Generative AI (GenAI) enables many new use cases for enterprises and private citizens. While I work on real-time enterprise-scale AI/ML deployments with data streaming, big data analytics, and cloud-native software applications in my daily business life, I also wanted to train a conversational chatbot for myself. This blog post introduces my journey without coding to train K.AI, a personal chatbot that can be used to learn in a conversational pace format about data streaming and the most successful use cases in this area. Yes, this is also based on my expertise, domain knowledge, and opinion, which is available as public internet data, like my hundreds of blog articles, LinkedIn shares, and YouTube videos. Hi, K.AI: Let's Chat The evolution of Generative AI (GenAI) around OpenAI's chatbot ChatGPT and many similar large language models (LLM), open source tools like LangChain and SaaS solutions for building a conversational AI led me to the idea of building a chatbot trained with all the content I created over the past years. View more...Decoding DORA: EU's Unified Approach to ICT Risk GovernanceAggregated on: 2024-10-14 19:51:29 As financial services become increasingly digitized, the need for robust operational resilience has grown more critical. The Digital Operational Resilience Act (DORA), set to take effect on January 17, 2025, aims to establish a unified framework for Information and Communication Technology (ICT) risk management across the European Union's financial sector. This new regulation will significantly impact how banks, insurers, and other financial entities approach their digital risks. DORA represents an important step in regulatory evolution, designed to address the growing complexities of the digital financial landscape. But what does this mean for financial institutions? And how can organizations prepare for this shift in regulatory expectations? View more...How to Set up OAuth JWT Flow and mTLS in the Salesforce Connector for a MuleSoft AppAggregated on: 2024-10-14 18:51:29 In the first part of this series, we set up a Mule app and a Salesforce Connected app for the OAuth JWT bearer token flow. In this second part, we’ll go through the required steps to set up mutual TLS between the Mule app and the Salesforce Connected App we created in that first post. Create a New Profile in Salesforce for mTLS If the Profile you used in Part 1 of this guide (linked earlier) is the definitive one that you’ll use for this Mule app, skip this step. Go to Setup > Profiles. Click on New Profile. View more...Serverless Computing and GraphQL: Modern App DevelopmentAggregated on: 2024-10-14 17:51:29 In this article, I will guide you through the process of creating a serverless GraphQL API using TypeScript, AWS Lambda, and Apollo Server. Serverless Computing Serverless computing is a cloud-computing execution model where cloud providers automatically manage the infrastructure for running applications. In this model, developers write code, and the cloud provider takes care of running, scaling, and maintaining the servers, meaning developers don't need to worry about server management, infrastructure provisioning, or scaling. The term "serverless" doesn't mean that there are no servers involved, but rather that the server management tasks are abstracted away from developers. AWS Lambda is a serverless compute service provided by Amazon Web Services (AWS) that allows you to run code without provisioning or managing servers View more...CI/CD Pipelines in the Cloud: How Cloud Hosting Is Accelerating Software DeliveryAggregated on: 2024-10-14 16:51:29 In the fast-evolving world of software engineering, one of the most transformative innovations is the combination of Continuous Integration (CI) and Continuous Deployment (CD) pipelines with cloud hosting. This powerful integration has revolutionized the way developers deploy, test, and update software, allowing for faster delivery, improved scalability, and enhanced collaboration. By utilizing cloud hosting platforms, software engineering teams can now automate processes that once took weeks, turning them into streamlined workflows. Let’s explore how CI/CD pipelines in the cloud are accelerating software delivery, with insights backed by research and industry trends. The Power of CI/CD in Software Engineering Continuous Integration and Continuous Deployment (CI/CD) are critical for modern software development, driving automation from code integration to deployment. In traditional settings, deployment often required manual effort, introducing the risk of human error, delays, and inconsistencies. CI/CD pipelines automate these processes, enabling developers to integrate code changes more frequently and deploy updates to production environments seamlessly. View more...What We Learned About Secrets Security at AppSec Village at DEF CON 32Aggregated on: 2024-10-14 15:51:29 If you grew up in the US, chances are you have a memory of going to summer camp. Even if you didn't attend one yourself, the camp experience of going away from home, learning all sorts of arts and crafts, meeting new best friends, and going on memorable adventures is baked into pop culture and media. Every August, the largest hacker summer camp on earth takes place in the heat of Las Vegas. This year marked the thirty-second iteration of DEF CON. DEF CON can be hard to explain without experiencing it. Yes, there are speaking tracks, official workshops, and multiple capture-the-flags (CTFs), but there is so much more. No other conference contains so many sub-conferences and community-led events. Even attendees who have been going for years say they still don't think they have experienced everything on offer. View more...Unleashing the Power of Gemini With LlamaIndexAggregated on: 2024-10-14 14:51:29 Large language models (LLMs) like Google's Gemini are revolutionizing how we interact with information, but harnessing their power for your own applications can seem daunting. That's where LlamaIndex comes in, providing a simple yet powerful framework to leverage LLMs like Gemini. This tutorial will guide you through a practical example, using the Python code snippet as a starting point, to demonstrate how to seamlessly integrate Gemini's LLM and embedding capabilities into your projects using LlamaIndex. View more...Mutable vs. Immutable: Infrastructure Models in the Cloud EraAggregated on: 2024-10-14 13:51:29 In the world of infrastructure management, two fundamental approaches govern how resources are deployed and maintained: mutable and immutable infrastructure. These approaches influence how updates are made, how infrastructure evolves, and how consistency is ensured across different environments. Mutable infrastructure refers to systems that can be changed or updated after they’ve been initially deployed. This means that configuration changes, software updates, or patches can be applied directly to existing infrastructure resources without replacing them entirely. For instance, a server can be updated by installing new software, tweaking its settings, or increasing its resources. While the server itself stays the same, its configuration evolves over time. View more...Chain of Thought Prompting for LLMsAggregated on: 2024-10-11 22:06:28 The advent of ChatGPT and Large Language Models has already affected education. With mixed results and a spectrum of ethical acceptability, students can use chat-tuned LLMs to plan, as a starting point for research, to edit and suggest stylistic or grammatical improvements, or even as a ghostwriter to write assignments. The well-known non-profit Khan Academy offers its own personalized tutor, Khanmigo, developed in partnership with OpenAI to guide learners using an inductive approach. But despite impressive capabilities in many domains, even the largest and most advanced LLMs exhibit surprising failures, especially in math. If LLMs are prone to glaring mistakes befitting learning students themselves, how can they be expected to act as a trustworthy teaching tool by Khan Academy? View more...An Overview of TCPCopy for BeginnersAggregated on: 2024-10-11 20:06:28 With the rapid development of Internet technology, server-side architectures have become increasingly complex. It is now difficult to rely solely on the personal experience of developers or testers to cover all possible business scenarios. Therefore, real online traffic is crucial for server-side testing. TCPCopy [1] is an open-source traffic replay tool that has been widely adopted by large enterprises. While many use TCPCopy for testing in their projects, they may not fully understand its underlying principles. This article provides a brief introduction to how TCPCopy works, with the hope of assisting readers. Architecture The architecture of TCPCopy has undergone several upgrades, and this article introduces the latest 1.0 version. As shown in the diagram below, TCPCopy consists of two components: tcpcopy and intercept. tcpcopy runs on the online server, capturing live TCP request packets, modifying the TCP/IP header information, and sending them to the test server, effectively "tricking" the test server. intercept runs on an auxiliary server, handling tasks such as relaying response information back to tcpcopy. View more...Test-Driven Generation: Adopting TDD Again, This Time With Gen AIAggregated on: 2024-10-11 17:06:27 You know, over the past few years, software development has gone through some pretty exciting changes. New tools and methodologies have popped up, all aiming to make our lives easier, streamline processes, and boost code quality. One of the big players in this space has been Test-Driven Development (TDD). If you're not familiar, TDD is where developers write test cases for functionality before they actually write the code. It's a neat idea, but let's be real — TDD can be tough to get the hang of! From my own experiences, I gotta admit: TDD is hard! It demands time, practice, and a whole lot of discipline to master. But here's the thing — the rise of Generative AI is opening up some awesome new possibilities to make this technique even better. By combining 1) TDD, 2) Pair Programming, and 3) Generative AI, I want to introduce you to a new approach: Test-Driven Generation (TDG). View more...Network Guardians: Crafting a Spring Boot-Driven Anomaly Detection SystemAggregated on: 2024-10-11 15:06:27 We’re going to set out on a mind-blowing tour around network security. Upon considering the nearness and risk posed by cyber threats in this epoch, it is important to prevent the threats so that they do not cause irreversible damage within the network. This three-part article series will take you through the process of developing a network anomaly detection system using the Spring Boot framework in a robust manner. The series is organized as follows: Part 1: We’ll concentrate on the foundation and basic structure of our detection system, which has to be created. Part 2: The second volume deals with how to assist in controlling the diffusion of sensitive network information as it targets advanced techniques for actively monitoring the network at the present time. Part 3: In the last part, machine learning methods will be applied to the developed system, including algorithms, which will increase the system's performance in terms of accuracy and ability to detect anomalies. By the end of this series, you will have acquired quite a lot of knowledge in developing a strong-based network anomaly detection system using Spring Boot and making use of technologies to improve your organization’s security level. View more...Automating PMO Meetings With n8n AutomationAggregated on: 2024-10-10 23:06:27 In today's world data and time are two of the most valuable things. The power of data is always in the news, but what about time? There are a ton of operations that are still being done manually which can easily be automated. Today, I am going to talk about one of those manual tasks that take an eternity to be completed. Yes, I am talking about the prep for PMO meetings. But you may ask: how can you automate it? Well, here is how I did it using n8n automation. View more...MariaDB Vector Edition: Designed for AIAggregated on: 2024-10-10 21:06:27 As a solutions architect with over two decades of experience in relational database systems, I recently started exploring MariaDB's new Vector Edition to see if it could address some of the AI data challenges we're facing. A quick look seemed pretty convincing, especially with how it could bring AI magic right into a regular database setup. However, I wanted to test it with a simple use case to see how it performs in practice. In this article, I will share my hands-on experience and observations about MariaDB's vector capabilities by running a simple use case. Specifically, I will be loading sample customer reviews into MariaDB and performing fast similarity searches to find related reviews. View more...Augmenting the Client With HTMXAggregated on: 2024-10-10 19:06:27 This post is part of a series comparing different ways to implement asynchronous requests on the client to augment the latter. So far, I described the process with Vue.js and Alpine.js. Both are similar from the developers' point of view: they involve JavaScript. In this post, I'll focus on HTMX, whose approach is quite different. View more...Operationalize a Scalable AI With LLMOps Principles and Best PracticesAggregated on: 2024-10-10 17:06:27 Organizations are fully adopting Artificial Intelligence (AI) and proving that AI is valuable. Enterprises are looking for valuable AI use cases that abound in their industry and functional areas to reap more benefits. Organizations are responding to opportunities and threats, gain improvements in sales, and lower costs. Organizations are recognizing the special requirements of AI workloads and enabling them with purpose-built infrastructure that supports the consolidated demands of multiple teams across the organization. Organizations adopting a shift-left paradigm by planning for good governance early in the AI process will minimize AI efforts for data movement to accelerate model development. In an era of rapidly evolving AI, data scientists should be flexible in choosing platforms that provide flexibility, collaboration, and governance to maximize adoption and productivity. Let's dive into the workflow automation and pipeline orchestration world. Recently, two prominent terms have appeared in the artificial intelligence and machine learning world: MLOps and LLMOps. View more...Custom Domains for HTTP/2 on HerokuAggregated on: 2024-10-10 15:06:27 Several months ago, Heroku announced HTTP/2 support from browser to router. This is pretty awesome, as it means our Heroku applications can now reap the benefits of multiplexing and stream prioritization. It looks like Heroku’s roadmap will eventually get HTTP/2 all the way to the dyno, which means we’ll get gRPC down the road, too. Sweet. But, as I read the announcement more closely, I noticed something that’s worth paying attention to: View more...Leveraging Seekable OCI: AWS Fargate for Containerized MicroservicesAggregated on: 2024-10-10 00:06:27 AWS Fargate's Seekable OCI (SOCI) introduces significant performance enhancement for containerized applications by enabling lazy loading of Docker container images. This reduces startup time for Fargate tasks, particularly for large container images, and makes it ideal for applications that need rapid scaling. AWS Fargate is a serverless compute engine that offers many different capabilities: View more...Observability for BrowsersAggregated on: 2024-10-09 23:06:27 Browser agents are essential tools for monitoring and observability in modern web applications, especially with the increasing complexity of both Single Page Applications (SPAs) and traditional multi-page sites. A browser agent operates within a user’s browser, collecting data on performance metrics, errors, user interactions, and network requests, providing real-time insights into the application’s behavior. For SPAs, browser agents face unique challenges due to the dynamic nature of page transitions, which occur without full reloads. This makes tracking performance metrics, memory leaks, and state changes over time more complex, as data needs to persist and update continuously without the typical page lifecycle events seen in multi-page applications. Conversely, in traditional multi-page websites, challenges arise around data loss due to ephemeral web pages, where navigating away from a page could result in the loss of unsent data. View more...Microservice Proliferation: Too Many MicroservicesAggregated on: 2024-10-09 22:06:27 Microservices architecture promotes the development of applications, as suites of small, independent, loosely coupled services. Because of its numerous advantages (e.g., scalability, reliability, faster development cycles, easier maintenance of individual services, etc., detailed in this article), it has gained significant traction in the software industry lately and organizations are building their applications following microservices architecture. However, it comes with a few pitfalls as well. Recently while working on a use case at work, I observed the other side of microservices architecture, i.e., microservices proliferation. This article is an attempt to detail the pitfalls associated with the excessive creation of microservices (microservices proliferation), offering insights on their causes, implications, and potential strategies for mitigation. View more...The Importance Of Verifying Your GitHub Environment’s Security ControlsAggregated on: 2024-10-09 21:06:27 Security is a top priority of every company. It’s not surprising: source code, the most critical asset of any organization, should be under reliable protection — especially in view of constantly rising threats. Ransomware, infrastructure outages, vulnerabilities, and other threats can strike your GitHub repository at any time. Organizations, especially those that operate in the most regulated industries, can face a few main challenges regarding their GitHub data protection. The first one, we have already mentioned — it’s the value of the data stored in the repositories. The second one is their ability to forecast any event of failure and take proactive measures to make sure that their data is available and recoverable in any event of failure. View more...Decoding LLM Parameters, Part 2: Top-P (Nucleus Sampling)Aggregated on: 2024-10-09 19:06:27 LLM Parameters Like any machine learning model, large language models have various parameters that control the variance of the generated text output. We have started a multi-part series to explain the impact of these parameters in detail. We will conclude by striking the perfect balance in content generation using all of these parameters discussed in our multi-part series. Welcome to the second part, where we discuss another well-known parameter, "Top-P." View more...Modify JSON Data in Postgres and Hibernate 6Aggregated on: 2024-10-09 18:06:27 This is another article in the series related to supporting the Postgres JSON functions in a project using the Hibernate framework with version 6. The topic for the article is modification operations on JSON records. As in the previous article, it is worth mentioning that Postgres might now have such comprehensive operations as other NoSQL databases like MongoDB for JSON modification (although, with the proper function constructions, it is possible to achieve the same effect). It still suits most projects that require JSON modification. Plus, with transaction support (not support in a NoSQL database at such a level), it is a pretty good idea to use Postgres with JSON data. Of course, NoSQL databases have other benefits that might suit better projects. There are generally many articles on Postgres' support for JSON. This article focuses on integrating this support with the Hibernate 6 library. View more...Being the Glue: Managing a Zero-to-One Software Project Across Multiple TeamsAggregated on: 2024-10-09 17:06:27 In software engineering, the role of a “Glue” is vital yet often overlooked. This term refers to the person who connects various teams, ensuring that a complex project with many moving parts comes together seamlessly. If you’re leading a zero-to-one software project that spans more than a couple of teams, your role as the Glue becomes even more critical. This article explores strategies for managing team dependencies, scheduling demos, building alignments, and adapting to pivots while maintaining focus on user needs. 1. Managing Team Dependencies When working across multiple teams, managing dependencies is one of the biggest challenges. Each team might have its own goals, timelines, and constraints, which can create friction if not carefully coordinated. Here’s how to effectively manage these dependencies: View more...DocAI: PDFs/Scanned Docs to Structured DataAggregated on: 2024-10-09 16:06:27 Problem Statement The "why" of this AI solution is very important and prevalent across multiple fields. Imagine you have multiple scanned PDF documents: View more...Introducing the New Dapr Jobs API and Scheduler ServiceAggregated on: 2024-10-09 15:06:26 The Dapr 1.14 release last month included many new capabilities and was feature-packed. This included the addition of a new Jobs API and Scheduler control plane service for managing jobs. Over the years, the Dapr project was often requested to include a Jobs API. The Scheduler service enables this and is designed to address the performance and scalability improvements on Actor reminders and the Workflow API. In this post, I am going to deep dive into the details of how the Scheduler service was designed and its implementation to give you some background. Prior to v1.14 if you wanted to schedule a job, you could use the Cron binding component to implement recurring jobs on a regular defined schedule; for example, automating database backups, sending out recurring email notifications, running routine maintenance tasks, data processing, and ETL, running system updates and batch processing. However, the binding approach lacked in the areas of durability and scalability, and more importantly, could not be combined with other Dapr APIs. For example, another frequent request is to be able to have delayed messages for pub/sub, and there will undoubtedly be other delayed job scenarios that will emerge. View more...Optimizing IoT Performance in Industrial EnvironmentsAggregated on: 2024-10-09 14:06:26 Internet of Things (IoT) devices have become common in industrial environments, giving users better visibility, control, and capabilities. However, making the IoT product work well requires knowing how to optimize software and hardware-related aspects. 1. Ensure the IoT Device Has Adequate Hardware People must first consider how they will use the IoT device and then evaluate whether it has the appropriate hardware capabilities to meet relevant current and future needs. A good starting point is to examine the storage, memory, and processing performance and verify that it aligns with the proposed use cases. View more...The Art of Full Stack DebuggingAggregated on: 2024-10-09 13:06:26 Full stack development is often likened to an intricate balancing act, where developers are expected to juggle multiple responsibilities across the front end, back end, database, and beyond. As the definition of full-stack development continues to evolve, so too does the approach to debugging. Full stack debugging is an essential skill for developers, as it involves tracking issues through multiple layers of an application, often navigating domains where one’s knowledge may only be cursory. In this blog post, I aim to explore the nuances of full-stack debugging, offering practical tips and insights for developers navigating the complex web of modern software development. Notice that this is an introductory post focusing mostly on the front-end debugging aspects. In the following posts, I will dig deeper into the less familiar capabilities of front-end debugging. View more...Redefining Java Object EqualityAggregated on: 2024-10-08 23:06:26 Equality in Java Object equality is often a hot topic for assessing concepts and one of the pillars (the other is- hashCode()) of how many of the implementations of Collection Frameworks work. We check equality by providing our own implementation for the method public booleanjava.lang.Object#equals(java.lang.Object other). According to Oracle documentation, the following mandates should be adhered to: It is reflexive: For any non-null reference value x, x.equals(x) should return true. It is symmetric: For any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true. It is transitive: For any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true. It is consistent: For any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects are modified. For any non-null reference value x, x.equals(null) should return false. Please note that there exist a few more related to using it along with hashCode(), but we do not discuss them here for brevity, assuming the readers are already aware of them. View more...Starting to Care About SecurityAggregated on: 2024-10-08 22:06:26 In my last post, I discussed the issue of getting people to care about security, and how it’s largely due to a focus on security behaviors rather than security outcomes. In this post, I’m picking up where I left off, and will talk about… Forging a Path Forward Obviously, the point of sharing this post (and the last one) is to do more than just complain about the situation. This will only be useful if it offers ideas and suggestions for approaching the problem differently and moving past it to a more successful outcome. So, what actionable advice do I have? View more...Enhancing Performance With Data Modeling: Techniques and Best Practices for Optimization in SnowflakeAggregated on: 2024-10-08 21:06:26 Snowflake is a powerful cloud-based data warehousing platform known for its scalability and flexibility. To fully leverage its capabilities and improve efficient data processing, it's crucial to optimize query performance. Understanding Snowflake Architecture Let’s briefly cover Snowflake architecture before we deal with data modeling and optimization techniques. Snowflake’s architecture consists of three main layers: View more...Cloud Cost Optimization: New Strategies for the AI EraAggregated on: 2024-10-08 20:06:26 In today's volatile economic landscape, enterprises are scrutinizing their cloud bills more than ever. Platform teams are at the forefront of this challenge, tasked with finding innovative ways to optimize usage and drive down costs. To gain insights into this evolving field, we spoke with Kapil Thangavelu, co-founder and CTO of Stacklet and the creator and lead maintainer of Cloud Custodian. Let's dive into his perspectives on the latest trends in cloud cost optimization. The Changing Landscape of Cloud Costs Q: What's different about the cloud cost outlook today compared to recent years, from your point of view? View more...Understanding the Differences Between Rate Limiting, Debouncing, and ThrottlingAggregated on: 2024-10-08 19:06:26 When developing, we often encounter rate limiting, debouncing, and throttling concepts, such as debouncing and throttling in the front end with event listeners and rate limiting when working with third-party APIs. These three concepts are at the core of any queueing system, enabling us to configure the frequency at which functions must be invoked over a given period. While this definition sounds simple, the distinction between the three approaches can take time to grasp. If my Inngest function is calling the OpenAI API, should I use rate limiting or throttling? Similarly, should I use debouncing or rate limiting if my Inngest Function is performing some costly operation? View more...PostgreSQL Everywhere and for EverythingAggregated on: 2024-10-08 18:06:26 PostgreSQL is one of the most popular SQL databases. It’s a go-to database for many projects dealing with Online Transaction Processing systems. However, PostgreSQL is much more versatile and can successfully handle less popular SQL scenarios and workflows that don’t use SQL at all. In this blog post, we’ll see other scenarios where PostgreSQL shines and will explain how to use it in these cases. How It All Started Historically, we focused on two distinct database workflows: Online Transaction Processing (OLTP) and Online Analytical Processing (OLAP). View more...Security at the Onset: Stabilizing CSPM and DevSecOpsAggregated on: 2024-10-08 17:06:26 The time for rapid technology development and cloud computing is perhaps the most sensitive time when security issues are of great importance. It is here that security will have to be injected into a process right from the beginning — be it software development or cloud infrastructure deployment. Two concepts that are very influential in doing so are CSPM and DevSecOps. Don't worry if these terms seem complicated — all they really mean is the inclusion of security within how companies build and manage their cloud environments and software pipelines. View more...Jenkins in the Age of Kubernetes: Strengths, Weaknesses, and Its Future in CI/CDAggregated on: 2024-10-08 16:06:26 What Is Jenkins, and Why Does It Matter? In the world of software development, speed and efficiency are everything. That's where Jenkins, a popular open-source automation server, steps in. Jenkins plays a key role in streamlining workflows by automating the building, testing, and deployment of code — tasks that would otherwise take up countless developer hours. But why does Jenkins matter in the larger context of DevOps and CI/CD (Continuous Integration/Continuous Deployment)? Well, if you're part of a development team, you're likely familiar with these terms. DevOps aims to break down barriers between development and operations teams, enabling faster, more reliable software releases. CI/CD pipelines, in turn, automate the process of integrating new code and delivering updates to users, minimizing downtime and reducing errors. View more...Secret Management and RotationAggregated on: 2024-10-08 15:06:26 Secrets are the keys to manage and enhance the security of a software application. Secret keys play a pivotal role in the authentication, authorization, encryption/decryption, etc. of data flowing through the application. There are various types of secrets and few of them are: Encryption/Decryption keys: Keys to encrypt/decrypt data at various levels; e.g., REST, database, etc. API keys: Keys to provide access to an exposed API Credentials: Keys to provide credentials; e.g., database connection strings SSH keys: Keys to provide SSH communication to server Passwords: Keys to store passwords It is very important to store these keys and ensure safety of the stored keys. A compromised key could lead to data leak, system compromise, etc., and to raise the security bar, it is required to ensure the secrets' rotation and expiry. A manual secret rotation is cumbersome and challenging problem to solve. In this post, I will discuss about implementing an automated key rotation for AWS Secrets Manager. View more...The Shift Left Architecture: From Batch and Lakehouse to Data StreamingAggregated on: 2024-10-08 14:06:26 Data integration is a hard challenge in every enterprise. Batch processing and Reverse ETL are common practices in a data warehouse, data lake, or lakehouse. Data inconsistency, high compute costs, and stale information are the consequences. This blog post introduces a new design pattern to solve these problems: the Shift Left Architecture enables a data mesh with real-time data products to unify transactional and analytical workloads with Apache Kafka, Flink, and Iceberg. Consistent information is handled with streaming processing or ingested into Snowflake, Databricks, Google BigQuery, or any other analytics/AI platform to increase flexibility, reduce cost, and enable a data-driven company culture with faster time-to-market building innovative software applications. Data Products: The Foundation of a Data Mesh A data product is a crucial concept in the context of a data mesh that represents a shift from traditional centralized data management to a decentralized approach. View more...What Is a Performance Engineer and How to Become One: Part 1Aggregated on: 2024-10-08 13:06:26 Nowadays, many performance testers with many years of experience in IT have a lot of confusion and are still confused about the technologies they worked with and were used in their projects for years. A performance engineer is actually a professional performance testing and engineering expert with in-depth knowledge of many load-testing tools like LoadRunner, JMeter, Neoload, Gatling, K6, etc., and must have extensive experience in specialized skills. Most performance engineers have spent years submitting RFPs, developing scripts, executions, analysis, monitoring and tuning, and researching their specific projects/product domains and have gained a very high level of expertise in it. Performance engineers use the mastery of their experience to provide observations and recommendations with appropriate fixes that will improve the performance of private and public companies/stakeholders with many business requirements they work. They help them to resolve issues, blockers, and everything that will help to improve application/system performance to meet SLAs, and challenges and advance business interests. Performance engineers can work in all fields, cutting-edge technologies like Java, Python, IoT, cloud, blockchain, microservices, SAP, AI, Salesforce, etc., and domains that are likely to be more in demand in fast-developing sectors like BFSI, healthcare, e-commerce, insurance, and many more. Performance testing and engineering have become challenging for any performance guru when they use new technologies every time and all of us with many years of experience will have to spend lots of time. For example, if we are adding a new cloud to the existing architecture or doing performance testing for an SAP application or microservices application with the Go language, working on new technologies for measuring performance on migration and new domains may require you to put in months of formal study, do POCs, acquire advanced/best practices and expert opinions, participate in continuous learning, and gain extensive experience actually to test and fix performance. View more...Transformation to Agile PrimitivesAggregated on: 2024-10-07 23:21:25 TL;DR: A Guide to Escape Agile Framework Fatigue Undergoing a transformation to Agile Primitives from a botched [insert your failed agile framework of choice here] isn’t about adopting another framework; it’s about returning to core principles that empower teams and deliver real value. (Please note: If you haven’t read the article on Agile Primitives, please do so now.) This journey requires leaders to model desired behaviors, embrace vulnerability, and foster a culture where failure is a learning opportunity. Middle management should be engaged as enablers, not obstacles. It’s not a quick fix but a commitment to genuine agility through people-centric practices. View more...Mastering AI Agents: How Agentic Design Patterns Make Agents SmarterAggregated on: 2024-10-07 22:21:25 "What's the point of agents? Why use something like AutoGen when I can code it myself?" Sounds familiar? If you have ever thought about this, you're not alone. I hear this all the time. And I know exactly where this is coming from. In this post, we’re going to dive into the world of agentic design patterns — a powerful approach that goes beyond simple code. These patterns can help you build AI systems where agents don’t just complete tasks; they delegate, verify, and even work together to tackle complex challenges. Ready to level up your AI game? Let’s go! View more...Integrate Spring Boot With jOOQ, Liquibase, and TestcontainersAggregated on: 2024-10-07 21:21:25 In this blog, you will learn how to get started with jOOQ, Liquibase, and Testcontainers. You will create a basic Spring Boot application and integrate the aforementioned techniques including a test setup. Furthermore, you will use Spring Boot Docker Compose support to run the application in no time. Enjoy! 1. Introduction The starting point for this blog was to get more acquainted with jOOQ, a database-first approach instead of using an Object Relation Mapper (ORM) framework. Being able to just write SQL including typesafety is very appealing and interesting. However, during the setup of the application, some extra requirements popped up. Note that these requirements are my own requirements and choices — these are not imposed by jOOQ. View more...Natural Language SQL Query ApplicationAggregated on: 2024-10-07 20:21:25 In today's data-driven world, the ability to query databases effectively is a crucial skill. However, for many, the steep learning curve of SQL (Structured Query Language) can be a significant barrier. Imagine a world where you could simply ask, “Show me all employees with a salary above $50,000,” and instantly get the results without writing a single line of SQL code. This isn't just a dream — it's possible with the integration of cutting-edge technologies such as React, Node.js, PostgreSQL, and the AI-powered capabilities of OpenAI. In this blog, we’ll walk you through building a powerful and intuitive web application that converts natural language into SQL queries and retrieves data from a PostgreSQL database. This tool empowers users of all technical levels to interact with complex datasets seamlessly, bypassing the traditional complexities of database querying. View more...In-House Model Serving Infrastructure for GPU FlexibilityAggregated on: 2024-10-07 19:21:25 As deep learning models evolve, their growing complexity demands high-performance GPUs to ensure efficient inference serving. Many organizations rely on cloud services like AWS, Azure, or GCP for these GPU-powered workloads, but a growing number of businesses are opting to build their own in-house model serving infrastructure. This shift is driven by the need for greater control over costs, data privacy, and system customization. By designing an infrastructure capable of handling multiple GPU SKUs (such as NVIDIA, AMD, and potentially Intel), businesses can achieve a flexible and cost-efficient system that is resilient to supply chain delays and able to leverage diverse hardware capabilities. This article explores the essential components of such infrastructure, focusing on the technical considerations for GPU-agnostic design, container optimization, and workload scheduling. Why Choose In-House Model Serving Infrastructure? While cloud GPU instances offer scalability, many organizations prefer in-house infrastructure for several key reasons: View more...Functional Programming Principles Powering Python’s itertools ModuleAggregated on: 2024-10-07 18:21:25 Understanding some of the concepts of functional programming that form the basis for the functions within the itertools module helps in understanding how such functions work. These concepts provide insight into the way the module functions operate and their conformance with regard to the paradigm that makes them powerful and efficient tools in Python. This article is going to explain some concepts related to functional programming through specific functions of the itertools module. The article can't possibly talk about all the methods in detail. Instead, it will show how the ideas work in functions like: takewhile dropwhile groupby partial Higher-Order Functions (HOF) A higher-order function is a function that does at least one of the following: View more...Get Ready for Android 15: Must-Have Testing Strategies for Effective UpdatesAggregated on: 2024-10-07 17:21:25 Google has recently released the fourth and final version of Android 15 beta, also known by the internal codename of Vanilla Ice Cream. This update introduces enhanced privacy, intuitive gestures, and seamless smart home integration. Google is also prioritizing performance, battery life, and AI-powered features for a personalized user experience. While the official release date remains unannounced, it’s expected to arrive between September and October, following the timeline of last year’s Android 14 launch. View more... |
|
|