News AggregatorHow Federal Agencies Are Achieving Zero Trust With AutomationAggregated on: 2024-10-23 19:51:35 “Never trust, always verify.” This key principle has been ingrained into the cybersecurity lexicon since Forrester first popularized the concept of zero trust in 2009. Since then, zero trust has emerged as one of the most important frameworks in modern cybersecurity programs. For government agencies, the shift to zero trust is both crucial and inevitable. Tasked with protecting vital national infrastructure and driving scientific innovation, agencies are increasingly waking up to the fact that traditional security practices no longer cut it in today’s escalating, and increasingly complex, threat landscape. View more...Minimizing Latency in Kafka Streaming Applications That Use External API or Database CallsAggregated on: 2024-10-23 18:51:35 Kafka is widely adopted for building real-time streaming applications due to its fault tolerance, scalability, and ability to process large volumes of data. However, in general, Kafka streaming consumers work best only in an environment where they do not have to call external APIs or databases. In a situation when a Kafka consumer must make a synchronous database or API call, the latency introduced by network hops or I/O operations adds up and accumulates easily (especially when the streaming pipeline is performing an initial load of a large volume of data before starting CDC). This can significantly slow down the streaming pipeline and result in the blowing of system resources impacting the throughput of the pipeline. In extreme situations, this may even become unsustainable as Kafka consumers may not be able to commit offsets due to increased latency before the next polling call and get continuously rebalanced by the broker, practically not processing anything yet incrementally consuming more system resources as time passes. This is a real problem faced by many streaming applications. In this article, we’ll explore some effective strategies to minimize latency in Kafka streaming applications where external API or database calls are inevitable. We’ll also compare these strategies with the alternative approach of separating out the parts of the pipeline that require these external interactions into a separate publish/subscribe-based consumer. View more...RAG Systems: A Brand New Architecture ToolAggregated on: 2024-10-23 17:51:35 Let’s cut to the chase: Retrieval-Augmented Generation (RAG) systems are reshaping how we approach AI-driven information processing. As architects, we need to understand the nuts and bolts of these systems to leverage their potential effectively. What’s RAG? At its core, a RAG system enhances the capabilities of LLMs by integrating them with external knowledge sources. This integration allows the model to pull in relevant information dynamically, enabling it to generate responses that are not only coherent but also factually accurate and contextually relevant. The main components of a RAG system include: View more...Understanding Server Error (5XX) in Azure Services: A Deep Dive Into Azure Logic AppsAggregated on: 2024-10-23 16:51:35 Encountering 5XX errors in Azure services? These are server SKU issues such as high CPU and memory. We will focus on how design challenges in workflows as well can lead to 5XX response codes and the steps to mitigate them. Applies to: Azure Logic Apps (Consumption + Standard) What Are 5XX Errors? A 5XX response code indicates a server-side error. When dealing with a chain of servers, an issue in one server — such as downtime — can cause cascading failures, resulting in 5XX errors. In the context of Azure Logic Apps, understanding the nuances of these errors is crucial. View more...Leveraging Event-Driven Data Mesh Architecture With AWS for Modern Data ChallengesAggregated on: 2024-10-23 15:51:35 In today's data-driven world, businesses must adapt to rapid changes in how data is managed, analyzed, and utilized. Traditional centralized systems and monolithic architectures, while historically sufficient, are no longer adequate to meet the growing demands of organizations that need faster, real-time access to data insights. A revolutionary framework in this space is event-driven data mesh architecture, and when combined with AWS services, it becomes a robust solution for addressing complex data management challenges. The Data Dilemma Many organizations face significant challenges when relying on outdated data architectures. These challenges include: View more...Building Predictive Analytics for Loan ApprovalsAggregated on: 2024-10-23 14:51:35 In this short article, we'll explore loan approvals using a variety of tools and techniques. We'll begin by analyzing loan data and applying Logistic Regression to predict loan outcomes. Building on this, we'll integrate BERT for Natural Language Processing to enhance prediction accuracy. To interpret the predictions, we'll use SHAP and LIME explanation frameworks, providing insights into feature importance and model behavior. Finally, we'll explore the potential of Natural Language Processing through LangChain to automate loan predictions, using the power of conversational AI. The notebook file used in this article is available on GitHub. View more...Advice for Anyone Who Wants to Be a DeveloperAggregated on: 2024-10-23 13:51:35 My friend was contemplating a career change, possibly into game development or software engineering. I thought hard about what advice to give. The following is my opinion, which is biased towards what I know and do. TL;DR: Head over to Kotlin’s interactive website to execute and edit code. That’s it — you’re coding. View more...How to Use Retrieval-Augmented Generation (RAG) LocallyAggregated on: 2024-10-22 23:51:35 In this blog post, we'll explore how to use Retrieval-Augmented Generation (RAG) for building more effective and engaging conversational AI applications. We'll cover the basics of RAG, its benefits, and provide step-by-step instructions on how to develop your own RAG mechanism for local use. What Is RAG? RAG (Reinforcement-based Generation) combines the strengths of two prominent approaches in natural language processing (NLP): retrieval-based models and generation-based models. In traditional generation-based methods, AI systems generate text from scratch using pre-trained patterns and rules. However, this approach often leads to limited creativity, a lack of context-specific knowledge, and poor coherence. View more...Close Site Search Indexing via Kubernetes HAProxy IngressAggregated on: 2024-10-22 22:51:35 In Kubernetes, Ingress resources are frequently used as traffic controllers, providing external access to services within the cluster. Ingress is essential for routing incoming traffic to your service; however, there may be scenarios in which you want to prevent search engines from indexing your service's content: it might be a development environment or something else. This blog post will walk you through the process of blocking your site's indexing on Kubernetes Ingress using robots.txt file, preventing search engine bots from crawling and indexing your content. View more...Implement Hibernate Second-Level Cache With NCacheAggregated on: 2024-10-22 21:51:35 In this tutorial, we'll explore implementing a second-level cache in Hibernate using NCache. We'll set up a Java application with Hibernate. Then we'll configure NCache as the second-level cache. Finally, we'll test the implementation to see how caching reduces the database load and improves performance. View more...Languages for Domain Experts, Not Just for ProgrammersAggregated on: 2024-10-22 20:51:34 Productivity has improved each time programming languages have raised the level of abstraction. This trend continues today with languages that narrow the scope they address — referred to as domain-specific languages (DSLs). However, many of these DSLs are built by developers for developers and tend to concentrate on the solution domain, like code. Even better results can be achieved when a DSL is closely aligned with the problem domain — raising abstraction beyond the code. Such languages foster collaboration, enable domain experts to verify and validate their designs, and, in many cases, allow the generation of code, configurations, tests, reports, and more. View more...Calling a Client Via Spring @schedule Cron JobAggregated on: 2024-10-22 20:06:34 In this article, a cron job will be set up that will run parametrically in a certain period using Spring's scheduling feature. Period information will be adjustable parametrically from the application.properties file. Overview In the example, parameter information is given to run every minute. View more...PHP Opcode: Improve Application Performance Without Changing Your CodeAggregated on: 2024-10-22 19:06:34 The PHP opcode generated by the PHP engine is strongly influenced by the way you write your code, not only in terms of the number of statements to accomplish a task. Clearly, it matters a lot, and I think it’s obvious to you. What could be less obvious is that even the syntax of the code can completely change the generated opcode causing a lot of overhead for the machine’s CPU to execute the exact same code. View more...Fast Flow Conf 2024: Shaping the Future of Platforms and TeamsAggregated on: 2024-10-22 18:06:34 I had great fun at the recent Fast Flow Conference. This conference focuses on the approach and methodologies described in Team Topologies by Matthew Skelton and Manuel Pais, and it brings together an eclectic mix of folks from platform engineering, product management, engineering management, business analysis, agile coaching, and more. The presentations were amazing, and all our chats at the booth and around the venue were super interesting. I’ve tried to summarise my key learning below, and you can find links to all of the talk recordings via the Fast Flow Conf website. View more...“Let’s Cook!”: A Beginner's Guide to Making Tasty Web ProjectsAggregated on: 2024-10-22 17:06:34 When I was a child, I loved making pancakes with my grandmother. As time went on, I became a web developer, and now, instead of pancakes, I create various web projects with my colleagues. Every time I start a new project, I’m haunted by one question: How can I make this development "tasty" not only for the user but also for my colleagues who will work on it? This is a crucial question because over time, the development team may change, or you might decide to leave the project and hand it over to someone else. The code you create should be clear and engaging for those who join the project later. Moreover, you should avoid a situation where the current developers are dissatisfied with the final product yet have to keep adding new "ingredients" (read: functions) to satisfy the demands of the "restaurant owner." Important note: Before I describe my recipe, I want to point out that methods can vary across different teams and, of course, they depend on their preferences. However, as we know, some people have rather peculiar tastes, so I believe it's essential to reiterate even the simplest truths. Selecting the Ingredients: Choose Your Technology Stack Before you start cooking a dish, you usually check what ingredients you already have. If something is missing, you go to the store or look for alternative ways to acquire them, like venturing out to pick them up in the woods. The web development process is similar: before starting your work on a new project, you need to understand what resources you currently have and what you want to achieve in the end. To prepare for creating your technological masterpiece, it helps to answer a series of questions: View more...Symbolic and Connectionist Approaches: A Journey Between Logic, Cognition, and the Future Challenges of AIAggregated on: 2024-10-22 16:06:34 This article explores two major approaches to artificial intelligence: symbolic AI, based on logical rules, and connectionist AI, inspired by neural networks. Beyond the technical aspects, the aim is to question concepts such as perception and cognition and to reflect on the challenges that AI must take up to better manage contradictions and aim to imitate human thought. Preamble French researcher Sébastien Konieczny was recently named EuAI Fellow 2024 for his groundbreaking work on belief fusion and inconsistency management in artificial intelligence. His research, focused on reasoning modeling and knowledge revision, opens up new perspectives to enable AI systems to tend to reason even more reliably in the face of contradictory information, and thus better manage the complexity of the real world. View more...Platform Engineering: A Strategic Response to the Growing Complexity of Modern Software ArchitecturesAggregated on: 2024-10-22 15:06:34 From monolithic applications to microservices and cloud-based architectures, the software development landscape is in constant change. These transitions have brought unprecedented opportunities but have also introduced significant complexities. Enter platform engineering: a strategic approach to managing the intricate infrastructure requirements of modern software systems. This opinion piece will explore how platform engineering is solving the challenges of today’s software architectures, its evolution, and the way industry giants like Netflix, Google, Microsoft, and Apple are leveraging it to streamline their operations. Finally, we’ll take a look at what the future holds for platform engineering. The Evolution of Software Architectures: From Monoliths to Microservices Software engineering has come a long way since the days of monolithic applications, where a single, unified codebase governed the entire system. While monolithic structures allowed for centralized management, they were often rigid and difficult to scale. As business needs evolved, software systems required greater agility, leading to the rise of microservices — smaller, independent units of functionality that could be developed, deployed, and scaled individually. View more...AI/ML Innovation in the Kubernetes EcosystemAggregated on: 2024-10-22 13:51:34 As organizations put artificial intelligence and machine learning (AI/ML) workloads into continuous development and production deployment, they need to have the same levels of manageability, speed, and accountability as regular software code. The popular way to deploy these workloads is Kubernetes, and the Kubeflow and KServe projects enable them there. Recent innovations like the Model Registry, ModelCars feature, and TrustyAI integrations in this ecosystem are delivering these improvements for users who rely on AI/ML. These, and other improvements, have made open source AI/ML ready for use in production. More improvements are coming in the future. Better Model Management AI/ML analyzes data and produces output using machine learning "models," which consist of code, data, and tuning information. In 2023, the Kubeflow community identified a key requirement to have better ways of distributing tuned models across large Kubernetes clusters. Engineers working on Red Hat's OpenShift AI agreed and started work on a new Kubeflow component, Model Registry. View more...Tracing With OpenTelemetry and JaegerAggregated on: 2024-10-21 23:36:34 Tracing, a critical component, tracks requests through complex systems. This visibility reveals bottlenecks and errors, enabling faster resolutions. In a previous post of our Go web services series, we explored observability’s significance. Today, we focus on tracing. Jaeger collects, stores, and visualizes traces from distributed systems. It provides crucial insights into request flows across services. By integrating Jaeger with OpenTelemetry, developers can unify their tracing approach, ensuring consistent and comprehensive visibility. This integration simplifies diagnosing performance issues and enhances system reliability. In this post, we’ll set up Jaeger, integrate it with OpenTelemetry in our application, and explore visualizing traces for deeper insights. Motivation What we are working towards is a Jaeger dashboard that looks like this: View more...Serverless NLP: Implementing Sentiment Analysis Using Serverless TechnologiesAggregated on: 2024-10-21 22:36:34 In this article, I will discuss building a sentiment analysis tool using AWS serverless capabilities and NLTK. I will be using AWS lambda to run sentiment analysis using the NLTK-vader library and AWS API Gateway to enable this functionality as an API. This architecture eliminates the need for any server management while providing on-demand scalability and cost-efficiency. Before we dive in, ensure that you have the following: View more...Ditch the Unfinished Action ItemsAggregated on: 2024-10-21 21:36:34 TL; DR: Unfinished Action Items: How to Make Retrospectives Useful If your team consistently creates action items during Retrospectives but rarely completes them, you’re not alone. Unfinished action items are a major productivity killer and lead to stalled progress. This article highlights five actionable practices to ensure Retrospective tasks get done, including limiting action items in progress, assigning clear ownership, and adding a reviewing progress in every Retrospective. The key to real improvement isn’t in creating long lists — it’s in following through. By treating Retrospective action items with the same importance as other Sprint tasks, your team can finally break the cycle of unfinished improvements and see real, beneficial change, individually and at the team level. View more...How to Implement Client-Side Load Balancing With Spring CloudAggregated on: 2024-10-21 20:36:34 It is common for microservice systems to run more than one instance of each service. This is needed to enforce resiliency. It is therefore important to distribute the load between those instances. The component that does this is the load balancer. Spring provides a Spring Cloud Load Balancer library. In this article, you will learn how to use it to implement client-side load balancing in a Spring Boot project. Client and Server Side Load Balancing We talk about client-side load balancing when one microservice calls another service deployed with multiple instances and distributes the load on those instances without relying on external servers to do the job. Conversely, in the server-side mode, the balancing feature is delegated to a separate server, that dispatches the incoming requests. In this article, we will discuss an example based on the client-side scenario. View more...Automate Private Azure Databricks Unity Catalog CreationAggregated on: 2024-10-21 19:36:34 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 Databricks? Databricks is a powerful platform that helps people work with large amounts of data easily. It allows companies to store, process, and analyze their data in one place. View more...PostgreSQL 17: A Major Step Forward in Performance, Logical Replication, and MoreAggregated on: 2024-10-21 18:36:34 After a successful 3rd beta in August 2024, the PostgreSQL development group released the GA version on September 26th. Recently, I blogged about some of the key logical replication features that you'll see in PostgreSQL 17. In this blog, I'll describe a couple of new performance features that you'll find in Postgres 17 as well as another important logical replication feature that I didn't cover in my earlier blog of this series. PostgreSQL has grown remarkably over the years, and with each major release, it has become a more robust, reliable, and responsive database for both mission-critical and non-mission-critical enterprise applications. The global and vibrant PostgreSQL community is contributing to PostgreSQL's success, diligently ensuring that all changes are carefully scrutinized and reviewed before they are added to the project source code. It is also very encouraging to see big technology names like Microsoft, Google, Apple, and others investing in Postgres by developing in-house expertise and giving back to the open-source community. View more...Tech Trends 2024: Highlights on the Current Tech Industry From a DeveloperAggregated on: 2024-10-21 17:36:34 I have attended several events this year, and I’m constantly keeping my ear to the ground for the latest topics and trends in technology. As a developer focused mostly on data and database industries, I feel that this year has seen a massive expansion of data and efficiency use cases and interest. In this post, I’ll highlight some of the trends I’ve seen throughout 2024, especially in the data, graph, and analytics technology spaces. Whether you are simply curious about what is happening in technology industries or looking to put together interesting topics for papers or presentations, this post will include the greatest hits. View more...Hybrid Search: A New Frontier in Enterprise SearchAggregated on: 2024-10-21 16:36:34 In the business landscape, information is crucial for an organization. Not only this but finding the right information at the right time is even more important. This is where enterprise search comes in handy. Earlier traditional enterprise search engines fell short in understanding the context of user queries. These search engines used keyword matching to find results. Post that, vector search became the next promising solution that considered the context of the user query, providing more relevant results. View more...Enhancing Observability in iOS Applications: Key InsightsAggregated on: 2024-10-21 15:51:34 My name is Siarhei Misko, an iOS Team Lead with over eight years of experience. Today, I want to walk you through the essential topic of observability in mobile applications, focusing on iOS. We are going to take a closer look at how we can implement observability more easily and why it is so important to improve app performance and provide a better user experience. Why Observability Matters The very fundamental question is: how do we ensure our application is stable and working fine? Conventionally, the answer would point to testing. We fire up QA tests by using various test cases, test environments, and on specific devices. The thing is, these tests are synthetic and mostly remain incapable of reflecting real-world scenarios. In the real world, applications go through much more complex environments, and here is where observability bridges the gap between test conditions and real-world functionality. View more...Dust: Open-Source Actors for JavaAggregated on: 2024-10-21 14:51:34 Virtual Threads Java 21 saw the supported introduction of virtual threads. Unlike regular Java threads (which usually correspond to OS threads), virtual threads are incredibly lightweight, indeed an application can create and use 100,000 or more virtual threads simultaneously. This magic is achieved by two major changes to the JVM: View more...How To Secure Your Raspberry Pi and Enable Safe, Resilient UpdatesAggregated on: 2024-10-21 13:51:34 The venerable Raspberry Pi has been around for over a decade (officially created in 2009) and it has become a standard in many robotics, home automation, and other types of uses, especially for “makers” and other tinkerers. But it has also made serious inroads into the professional and enterprise world — just more quietly. It’s a capable, reliable, and powerful single-board computer (SBC) with a robust user community. For all its strengths, it does have a few notable weaknesses. The biggest one is security. Not because the SBC itself is insecure, and not because the Operating System (OS) is insecure (it runs Linux, which can be very well secured). The most vulnerable part of the Raspberry Pi is the fact that it boots and runs off of a micro SD card. View more...Securing Cloud-Native Applications: A CISO’s Perspective on Broken Access ControlAggregated on: 2024-10-18 21:36:32 When we talk about security in cloud-native applications, broken access control remains one of the most dangerous vulnerabilities. The OWASP Top 10 lists it as the most prevalent security risk today, and for good reason: the impact of mismanaged permissions can lead to catastrophic outcomes like data breaches or ransomware attacks. For CISOs, addressing broken access control isn't just a technical challenge—it’s a strategic priority that touches nearly every aspect of an organization’s security posture. As part of my job as the VP of Developer Relations in Permit.io, I consulted with dozens of CISOs and security engineers leaders, from small garage startup founders to Fortune 100 enterprise security staff. This article will try to provide the most comprehensive perspective I gathered from these chats, guiding you in considering broken access control challenges in cloud-native applications. View more...How to Use Self Join and With Clause in OracleAggregated on: 2024-10-18 20:36:32 The Oracle WITH clause is one of the most commonly used techniques to simplify the SQL source code and improve performance. In Oracle SQL, the 'WITH' clause also known as a Common Table Expression (CTE) is a powerful tool which is also used to enhance the code readability. WITH is commonly used to define temporary named result sets, also referred to as subqueries or CTEs as defined earlier. These temporary named sets can be referenced multiple times within the main SELECT SQL query. The CTEs are like virtual tables and are very helpful in organizing and modularizing the SQL code. View more...Solving a Common Dev Grievance: Architecture DocumentationAggregated on: 2024-10-18 19:36:32 The global developer population is expected to reach 28.7 million people by 2024, surpassing the entire population of Australia. Among such a large group, achieving unanimous agreement on anything is remarkable. Yet, there's widespread consensus on one point: good technical documentation is crucial and saves considerable time. Some even consider it a cornerstone of engineering success, acting as a vital link between ideas, people, and visions. View more...Secure 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... |
|