News AggregatorSecure Golden Images: A Blueprint for Vulnerability ManagementAggregated on: 2024-10-18 18:36:32 In environments with AWS Cloud workloads, a proactive approach to vulnerability management involves shifting from traditional patching to regularly deploying updated Secure Golden Images. This approach is well-suited to a modern Continuous Integration and Continuous Delivery (CI/CD) environment, where the goal is rapid, automated deployment — and doing this with AMIs (Amazon Machine Images) ensures that every instance benefits from consistent security updates. Creating the Golden Image The first step to securing your EC2 environment is building a Secure Golden Image (SGI) —a pre-configured AMI that serves as the baseline for deploying secure EC2 instances. An SGI should include: View more...Entity Creation With Asynchronous Pipelines in Distributed SystemsAggregated on: 2024-10-18 16:36:32 Creating entities asynchronously in distributed systems presents challenges and benefits, especially for large enterprises seeking scalability, fault tolerance, and efficient user experiences. Asynchronous (async) pipelines for entity creation decouple services, handle failures gracefully, and minimize latency. These qualities enable enterprises to maintain flexible, high-performing systems as they scale. Let's explore the benefits, challenges, and solutions to build an effective pipeline in depth. Benefits of Asynchronous Pipelines in Entity Creation Graceful Failure Handling In complex distributed systems, certain tasks in the entity creation process are non-critical. Async pipelines allow failure isolation, meaning failures in non-critical tasks won’t disrupt the entire process. These tasks can either be retried or ignored, allowing the pipeline to continue smoothly. View more...How to Choose a Server Stack at Product LaunchAggregated on: 2024-10-18 13:36:32 Choosing the perfect server stack for launching a product is a decision that carries a lot of weight. This choice influences not just the initial deployment but the long-term adaptability and efficiency of your app. If you're a senior developer or leading a team, you shoulder the responsibility of these architecture decisions, sifting through a sea of languages and frameworks to find the perfect fit for your project's unique needs. Your task here is to make an important choice, one that will hold up as your project evolves and expands. I am Grigorii Novikov, a Senior Backend Developer with years of experience in sculpting and rolling out software architectures. Throughout my career, I've been faced with plenty of critical decisions on server stack selection. Each decision has added layers to my understanding of how to align technology with the requirements of a growing project. In this article, I will share with you some of those hard-earned insights, helping you pick a server stack that will fit your project's current needs and support its future growth. I invite you to explore with me the ins and outs of making tech decisions that pave the way for success, making sure your project stands on a ground ripe for growth, flexibility, and innovation. View more...Three Habits of Highly Effective Observability TeamsAggregated on: 2024-10-17 22:36:31 As organizations adopt microservices and containerized architectures, they often realize that they need to rethink their approach to basic operational tasks like security or observability. It makes sense: in a world where developers – rather than operations teams – are keeping applications up and running, and where systems are highly distributed, ephemeral, and interconnected, how can you take the same approach you have in the past? From a technology perspective, there has been a clear shift to open source standards, especially in the realm of observability. Protocols like OpenTelemetry and Prometheus, and agents like Fluent Bit, are now the norm – according to the 2023 CNCF survey, Prometheus usage increased to 57% adoption in production workloads, with OpenTelemetry and Fluent both at 32% adoption in production. But open source tools alone can’t help organizations transform their observability practices. As I’ve had the opportunity to work with organizations who have solved the challenge of observability at scale, I’ve seen a few common trends in how these companies operate their observability practices. Let's dig in. View more...Should You Use AI Code Review Tools?Aggregated on: 2024-10-17 21:36:31 Artificial intelligence (AI) is entering various industries, offering numerous advantages to fields like software coding and development. Today, many development teams have adopted AI code review tools and noticed how much faster they catch errors and improve code quality. Yet, with any new technology, there are questions about its limitations, especially with security and accuracy. Understanding AI Code Review Tools AI coding tools are software solutions that leverage artificial intelligence to analyze and improve code. Traditionally, code reviews require peers or senior developers to conduct this process manually, but it can be time-consuming and prone to human oversight. View more...GitHub Copilot Security and Privacy Concerns: Understanding the Risks and Best PracticesAggregated on: 2024-10-17 20:36:31 AI-powered code completion tools like GitHub Copilot, co-developed by GitHub and OpenAI, likely need no introduction. Developers are rapidly embracing this evolving technology to aid them in their work. Copilot and other Large Language Model (LLM) based coding assistants suggest lines of code and entire functions, saving a lot of time looking up specific formulations or helping scaffold common structures in the code. It is also great for helping a team write documentation. However, is Copilot secure? As beneficial as it may be, it also comes with significant security and privacy concerns that individual developers and organizations must be aware of. As Frank Herbert put it in "God Emperor of Dune" (the 4th book in the Dune saga): View more...Web GenAI Microservices Creation: An OverviewAggregated on: 2024-10-17 19:36:31 This article will show you how to use GenAI from your browser to create and run a microservice in about a minute. Here is what you'll learn: Provide a prompt to a cloud-based microservice appliance, and you get a system with a running database, a web app, and an API. Collaborate with stakeholders using the web app. Iterate instantly, to get the requirements right. Download the created project, and customize it in your IDE to build out the system using Python and Rules — 40x more concise than code. All of this is open source. No runtime or license fees. Microservices Creation: Get the Requirements Right We've all seen many projects fail due to difficulties in getting the requirements right. Let's explore that. View more...8 Best Practices for Automation TestingAggregated on: 2024-10-17 18:36:31 Automated testing has emerged as a reliable and efficient alternative to manual testing. We heard testers vouching for a less time-consuming and more accurate testing option, which would help them excel timely delivery of quality products. Automation testing is not just an automated approach to testing, it has also been recognized as a viable solution for enhancing reliability and efficiency in the software domain. View more...Vaadin: The Battery-Included, Server-Side AJAX FrameworkAggregated on: 2024-10-17 17:36:31 I've written a lot about Vaadin. I was so enthusiastic that I wrote the first book about it (besides the Book of Vaadin), its updated edition for Vaadin 7, and a companion website. Still, I'm amazed that so many people in the JVM world have never heard of it. In this post, I'd like to introduce Vaadin in the context of AJAX and SSR. View more...Containers vs. Virtual Machines: Key Differences and Use CasesAggregated on: 2024-10-17 13:51:31 With all this buzz around technology, there is a discussion around containers versus virtual machines (VMs). Containers and VMs are both virtualization technologies that package computing environments housing various IT components and isolate them from the underlying system. However, these tools have separate strengths and weaknesses, making them suitable for different applications. By distinguishing between containers and VMs, you can deploy applications faster, streamline troubleshooting processes, allocate resources more efficiently, and maintain system security. View more...Automate Azure Databricks Unity Catalog Permissions at the Catalog LevelAggregated on: 2024-10-17 01:51:31 Disclaimer: All the views and opinions expressed in the blog belong solely to the author and not necessarily to the author's employer or any other group or individual. This article is not a promotion for any cloud/data management platform. All the images and code snippets are publicly available on the Azure/Databricks website. What Is Unity Catalog in Databricks? Databricks Unity Catalog is a data cataloging tool that helps manage and organize data across an organization in a simple, secure way. It allows companies to keep track of all their data, making it easier to find, share, and control who can access it. Unity Catalog works across different cloud storage systems and lets teams manage permissions, governance, and data access from one place, ensuring data is used safely and efficiently. View more...Enhancing Agile Software Development Through Effective Visual ContentAggregated on: 2024-10-16 21:51:31 Agile has emerged as one of the go-to approaches for software development teams worldwide in recent years. According to Statista, it’s second only to DevOps/DevSecOps and beats other approaches like Waterfall and Lean methodology. This is not unsurprising. Organizations are increasingly looking to stay competitive, and Agile’s emphasis on collaboration, iteration, customer involvement, and delivering value early resonates with fast-paced teams. View more...An Interview About Navigating the Cloud-Native EcosystemAggregated on: 2024-10-16 19:51:31 In this interview with Julian Fischer, CEO of the cloud computing and automation company anynines GmbH, we explore the evolving landscape of cloud-native technologies with a strong focus on the roles of Kubernetes and Cloud Foundry in modern enterprise environments. About the Interviewee The interviewee, Julian Fischer, has extensive experience in Cloud Foundry and Kubernetes ops. Julian leads anynines in helping organizations operate applications at scale. Under his guidance, they're also pioneering advancements in managing data services across many Kubernetes clusters via the open-source Klutch project. View more...Artificial Intelligence and Machine Learning in Cloud-Native EnvironmentsAggregated on: 2024-10-16 18:51:31 In our industry, few pairings have been as exciting and game-changing as the union of artificial intelligence (AI) and machine learning (ML) with cloud-native environments. It's a union designed for innovation, scalability, and yes, even cost efficiency. So put on your favorite Kubernetes hat and let's dive into this dynamic world where data science meets the cloud! Before we explore the synergy between AI/ML and cloud-native technologies, let’s set a few definitions. View more...How to Convert HTML to DOCX in JavaAggregated on: 2024-10-16 17:51:31 There's a far smaller audience of folks who understand the intricacies of HTML document structure than those who understand the user-friendly Microsoft (MS) Word application. Automating HTML-to-DOCX conversions makes a lot of sense if we frequently need to generate well-formatted documents from dynamic web content, streamline reporting workflows, or convert any other web-based information into editable Word documents for a non-technical business audience. Automating HTML-to-DOCX conversions with APIs reduces the time and effort it takes to generate MS Word content for non-technical users. In this article, we'll review open-source and proprietary API solutions for streamlining HTML-to-DOCX conversions in Java, and we'll explore the relationship between HTML and DOCX file structures that makes this conversion relatively straightforward. View more...DevoxxGenie: Your AI Assistant for IntelliJ IDEAAggregated on: 2024-10-16 16:51:31 DevoxxGenie is a fully Java-based LLM code assistant plugin for IntelliJ IDEA, designed to integrate with local LLM providers and cloud-based LLMs. In this blog, you will learn how to get started with the plugin and get the most out of it. Enjoy! Introduction AI coding assistants are getting more and more attention. Multiple cloud services are available and IDEs provide their own services. However, with this approach, you are tied to a specific vendor and most of the time, these services are cloud based only. What should you do when your company policy does not allow you to use these cloud-based services? Or what do you do when a new, more accurate model is released? When using IntelliJ IDEA, you can make use of the DevoxxGenie plugin, created by Stephan Janssen, founder of the Devoxx conference. The plugin allows you to choose between several cloud based and local LLMs. You are not tied to a specific cloud vendor or a specific model. This is important because every few weeks a new model is released, which outperforms previous ones. View more...Introduction to Next.js Middleware: How It Works With ExamplesAggregated on: 2024-10-16 15:51:31 Let's talk about routing in Next.js. Today, we will talk about the one of most powerful things: middleware. Middleware in Next.js offers a powerful and flexible way both to intercept requests from the server and control request flow (redirects, URL rewriting) and globally enhance features like authentication, headers, and cookie persistence. Creating Middleware Let's create a Middleware Next.js application. First of all, we'll create a new file for middleware like middleware.js or middleware.ts, in the src folder. Middleware in Next.js then needs to allow you fine control over where it will be active (ie custom matcher configuration, or using isXXX functions) View more...Building an Interactive Chatbot With Streamlit, LangChain, and BedrockAggregated on: 2024-10-16 14:51:31 In the ever-evolving landscape of AI, chatbots have become indispensable tools for enhancing user engagement and streamlining information delivery. This article will walk you through the process of building an interactive chatbot using Streamlit for the front end, LangChain for orchestrating interactions, and Anthropic’s Claude Model powered by Amazon Bedrock as the Large Language Model (LLM) backend. We'll dive into the code snippets for both the backend and front end and explain the key components that make this chatbot work. Core Components Streamlit frontend: Streamlit's intuitive interface allows us to create a low-code user-friendly chat interface with minimal effort. We'll explore how the code sets up the chat window, handles user input, and displays the chatbot's responses. LangChain orchestration: LangChain empowers us to manage the conversation flow and memory, ensuring the chatbot maintains context and provides relevant responses. We'll discuss how LangChain's ConversationSummaryBufferMemory and ConversationChain are integrated. Bedrock/Claude LLM backend: The true magic lies in the LLM backend. We'll look at how to leverage Amazon Bedrock’s claude foundation model to generate intelligent and contextually aware responses. Chatbot Architecture Conceptual Walkthrough of the Architecture User interaction: The user initiates the conversation by typing a message into the chat interface created by Streamlit. This message can be a question, a request, or any other form of input the user wishes to provide. Input capture and processing: Streamlit's chat input component captures the user's message and passes it on to the LangChain framework for further processing. Contextualization with LangChain memory: LangChain plays a crucial role in maintaining the context of the conversation. It combines the user's latest input with the relevant conversation history stored in its memory. This ensures that the chatbot has the necessary information to generate a meaningful and contextually appropriate response. Leveraging the LLM: The combined context is then sent to the Bedrock/Claude LLM. This powerful language model uses its vast knowledge and understanding of language to analyze the context and generate a response that addresses the user's input in an informative way. Response retrieval: LangChain receives the generated response from the LLM and prepares it for presentation to the user. Response display: Finally, Streamlit takes the chatbot's response and displays it in the chat window, making it appear as if the chatbot is engaging in a natural conversation with the user. This creates an intuitive and user-friendly experience, encouraging further interaction. Code Snippets Frontend (Streamlit) Python import streamlit import chatbot_backend from langchain.chains import ConversationChain from langchain.memory import ConversationSummaryBufferMemory import boto3 from langchain_aws import ChatBedrock import pandas as pd # 2 Set Title for Chatbot - streamlit.title("Hi, This is your Chatbott") # 3 LangChain memory to the session cache - Session State - if 'memory' not in streamlit.session_state: streamlit.session_state.memory = demo.demo_memory() # 4 Add the UI chat history to the session cache - Session State if 'chat_history' not in streamlit.session_state: streamlit.session_state.chat_history = [] # 5 Re-render the chat history for message in streamlit.session_state.chat_history: with streamlit.chat_message(message["role"]): streamlit.markdown(message["text"]) # 6 Enter the details for chatbot input box input_text = streamlit.chat_input("Powered by Bedrock") if input_text: with streamlit.chat_message("user"): streamlit.markdown(input_text) streamlit.session_state.chat_history.append({"role": "user", "text": input_text}) chat_response = demo.demo_conversation(input_text=input_text, memory=streamlit.session_state.memory) with streamlit.chat_message("assistant"): streamlit.markdown(chat_response) streamlit.session_state.chat_history.append({"role": "assistant", "text": chat_response}) View more...Event-Driven vs Event-Sourced: A Common MisunderstandingAggregated on: 2024-10-16 13:51:31 In today’s world of software development, systems containing some sort of event constructs are increasing in popularity. While this is primarily driven by message-based communication mechanisms, events are also used in different scopes and contexts. The frequent use of the term “event” leads to confusion, which is often observed in discussions about various software architectures among people who are new to these concepts. The terms “event-driven” and “event-sourced” are often used interchangeably, while in reality, the two are very different concepts. In this article, we are going to explore the key characteristics of each, explain how they differ, and how they complement each other. We will focus on clarifying the key differences, not a deep dive into each concept. Before we dive in, let’s clarify the definition of an “event” in both event-driven and event-sourced systems. An event is an immutable record describing something that has happened in the past. Therefore, the data that an event contains cannot be changed. Immutability and description of the past are fundamental characteristics of events. View more...Mastering Date-Time APIs: Challenges With Java's Calendar and JDK Date/Time APIsAggregated on: 2024-10-15 23:36:30 In this article, we'll address four problems covering different date-time topics. These problems are mainly focused on the Calendar API and on the JDK Date/Time API. Disclaimer: This article is an abstract from my recent book Java Coding Problems, Second Edition. View more...Acting Like We Care About SecurityAggregated on: 2024-10-15 22:36:30 This will be my last entry on the topic for a while. For context, I introduced the idea that folks don’t care about security, they care about outcomes in this post; and then I began exploring ways we, as IT practitioners, can shift the focus to the results and therefore contextualize the actions needed as something other than “security for the sake of security.” In this post, I’m continuing with that line of discussion. What can we DO to make our environments more secure, and how can we get our colleagues to understand and want to do it? Focus on Actual Risks and Realistic Outcomes (or: Don’t let “perfect” be the enemy of “good”) View more...How to Simplify Complex Conditions With Python's Match StatementAggregated on: 2024-10-15 21:36:30 Pattern matching is a programming technique that involves comparing a value against a pattern and extracting information from the value if it matches the pattern. Instead of writing lengthy code, conditional checks, pattern matching enables a concise and readable way to identify the value matching the pattern. While pattern matching is rooted in functional programming, it can be used both functional and non-functional styles. Benefits of pattern matching include: View more...AI Strategies for Enhanced Language Model PerformanceAggregated on: 2024-10-15 20:36:30 Artificial Intelligence (AI) and language models are transforming various fields, including natural language processing, automated customer support, and data analysis. A critical challenge that these models face is the ability to perform compositional reasoning — an essential skill for understanding and combining different pieces of information to solve complex problems. This article explores the concept of compositionality, the challenges associated with it, and advanced strategies to improve language models' ability to reason compositionally. Understanding Compositionality in AI Compositionality refers to the ability of AI models to combine simple concepts to form complex ideas or solutions. For instance, answering a question like "Who was the U.S. President when the Eiffel Tower was completed?" requires understanding separate facts and combining them to arrive at the answer. While language models have made significant progress in understanding individual facts, they often struggle with tasks that require them to combine these facts in a coherent manner. View more...Domain-Driven Design: Manage Data With Jakarta Data and JNoSQLAggregated on: 2024-10-15 19:36:30 Managing data access in Domain-Driven Design (DDD) applications can be challenging, especially when working with different database types, like relational and NoSQL. This article explores how leveraging tools like JNoSQL and Jakarta Data helps simplify data access, making it easier to implement domain-focused repositories, integrate ubiquitous language, and naturally align business semantics with your code. Understanding DDD vs. DAO Before diving into the practical implementation details, it's essential to clarify the distinction between Domain-Driven Design (DDD) and the Data Access Object (DAO) pattern. Understanding this difference will help recognize the value of domain-focused repositories in DDD applications. View more...Data at Rest Encryption: Protecting Stored DataAggregated on: 2024-10-15 18:36:30 Securing sensitive information is more critical than ever. One of the key defenses in data protection is data at rest encryption, a method that safeguards information stored on devices such as hard drives, databases, and servers. Unlike data in transit, which is actively moving through networks, data at rest is idle, yet just as vulnerable to breaches. From personal devices to enterprise storage systems, encryption ensures that even if unauthorized access occurs, the data remains unreadable without the appropriate decryption keys. An alarming 53% of companies left more than 1,000 sensitive files and folders unencrypted, accessible to all employees. This article explores the various methods of encrypting data at rest, helping you understand the strengths and limitations of each approach to better protect your stored information. View more...Oracle CloudWorld 2024: Key Takeaways for Developers, Engineers and ArchitectsAggregated on: 2024-10-15 16:51:30 Oracle CloudWorld 2024 showcased a range of innovations and strategic shifts that will significantly impact the work of developers, engineers, and architects across industries. From AI integrations to multi-cloud strategies, Oracle is positioning itself as a key enabler of digital transformation. Here are the most important takeaways for technical professionals: 1. AI Integration Across the Stack Artificial intelligence was undoubtedly the star of CloudWorld 2024, with Oracle emphasizing its integration throughout its product suite. For developers and engineers, this means having access to powerful AI capabilities without building them from scratch. View more...Vector Search: The Hottest Topic in Information RetrievalAggregated on: 2024-10-15 15:51:30 My name is Bohdan Snisar. With 13 years in the software industry, I’ve transitioned from a software engineer to a software architect, gaining a deep understanding of the software development lifecycle and honing my problem-solving skills. My expertise spans Java, Go, Big Data pipelines, vector-based search, machine learning, relational databases, and distributed systems, with significant contributions at companies like Revolut and Wix. At Revolut, I played a pivotal role in developing infrastructure for Bloomberg integration, creating a transparent and traceable interface for trading terminals that became a vital data source. This experience highlighted the growing need for advanced data handling and retrieval techniques, leading me to explore the potential of vector search. View more...VACUUM In Postgres DemystifiedAggregated on: 2024-10-15 14:51:30 Let’s see what is VACUUM in PostgreSQL, how it’s useful, and how to improve your database performance. Storage Basics Before diving into vacuuming, it's important to first understand the fundamentals of data storage in PostgreSQL. While we’ll explain how data is represented internally, we won’t cover every aspect of storage, such as shared memory or buffer pools. View more...Transforming 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... |
|